AngleSharp by AngleSharp

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

.NET API 1,223,680 bytes

 CssKeyframesRule

Represents an @keyframes rule.
using AngleSharp.Extensions; using AngleSharp.Parser.Css; using System.IO; using System.Linq; namespace AngleSharp.Dom.Css { internal sealed class CssKeyframesRule : CssRule, ICssKeyframesRule, ICssRule, ICssNode, IStyleFormattable { private readonly CssRuleList _rules; private string _name; public string Name { get { return _name; } set { _name = value; } } public CssRuleList Rules => _rules; ICssRuleList ICssKeyframesRule.Rules { get { return _rules; } } internal CssKeyframesRule(CssParser parser) : base(CssRuleType.Keyframes, parser) { _rules = new CssRuleList(this); } public void Add(string ruleText) { CssKeyframeRule rule = base.Parser.ParseKeyframeRule(ruleText); _rules.Add(rule); } public void Remove(string key) { CssKeyframeRule rule = Find(key); _rules.Remove(rule); } public CssKeyframeRule Find(string key) { return _rules.OfType<CssKeyframeRule>().FirstOrDefault((CssKeyframeRule m) => key.Isi(m.KeyText)); } public override void ToCss(TextWriter writer, IStyleFormatter formatter) { string rules = formatter.Block(Rules); writer.Write(formatter.Rule("@keyframes", _name, rules)); } ICssKeyframeRule ICssKeyframesRule.Find(string key) { return Find(key); } protected override void ReplaceWith(ICssRule rule) { CssKeyframesRule cssKeyframesRule = rule as CssKeyframesRule; _name = cssKeyframesRule._name; base.ReplaceWith(rule); } } }