AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.8.0" />

.NET API 1,171,968 bytes

 CssStyleSheet

Represents a CSS Stylesheet.
using AngleSharp.Network; using AngleSharp.Parser.Css; using System.Text; namespace AngleSharp.Dom.Css { internal sealed class CssStyleSheet : StyleSheet, ICssStyleSheet, IStyleSheet { private readonly CssRuleList _rules; private readonly TextSource _source; private ICssRule _ownerRule; private IConfiguration _options; public override string Type => MimeTypes.Css; internal CssRuleList Rules => _rules; ICssRuleList ICssStyleSheet.Rules { get { return _rules; } } public ICssRule OwnerRule { get { return _ownerRule; } internal set { _ownerRule = value; } } internal TextSource Source => _source; public string CssText { get { StringBuilder stringBuilder = Pool.NewStringBuilder(); foreach (ICssRule rule in _rules) { stringBuilder.AppendLine(rule.CssText); } return stringBuilder.ToPool(); } } internal IConfiguration Options { get { return _options ?? Configuration.Default; } set { _options = value; } } internal CssStyleSheet() : this(string.Empty) { } internal CssStyleSheet(string source) : this(new TextSource(source)) { } internal CssStyleSheet(TextSource source) { _source = source; _rules = new CssRuleList(); } public void RemoveAt(int index) { _rules.RemoveAt(index); } public int Insert(string rule, int index) { CssRule value = CssParser.ParseRule(rule, null); _rules.Insert(value, index, this, null); return index; } } }