AngleSharp by Florian Rappl

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

.NET API 1,181,184 bytes

 CssKeyframeRule

Represents a CSS @keyframe rule.
using AngleSharp.Parser.Css; namespace AngleSharp.Dom.Css { internal sealed class CssKeyframeRule : CssRule, ICssKeyframeRule, ICssRule, IStyleFormattable { private readonly CssStyleDeclaration _style; private IKeyframeSelector _selector; public string KeyText { get { return _selector.Text; } set { IKeyframeSelector keyframeSelector = base.Parser.ParseKeyframeSelector(value); if (keyframeSelector == null) throw new DomException(DomError.Syntax); _selector = keyframeSelector; } } public IKeyframeSelector Key { get { return _selector; } set { _selector = value; } } ICssStyleDeclaration ICssKeyframeRule.Style { get { return _style; } } public CssStyleDeclaration Style => _style; internal CssKeyframeRule(CssParser parser) : base(CssRuleType.Keyframe, parser) { _style = new CssStyleDeclaration(this); } protected override void ReplaceWith(ICssRule rule) { CssKeyframeRule cssKeyframeRule = (CssKeyframeRule)rule; _selector = cssKeyframeRule._selector; _style.Clear(); _style.SetDeclarations(cssKeyframeRule._style.Declarations); } public override string ToCss(IStyleFormatter formatter) { string rules = _style.ToCss(formatter); return formatter.Style(KeyText, rules); } } }