AngleSharp by Florian Rappl

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

.NET API 1,168,384 bytes

 CssKeyframeRule

Represents a CSS @keyframe rule.
using AngleSharp.Extensions; using AngleSharp.Parser.Css; namespace AngleSharp.Dom.Css { internal sealed class CssKeyframeRule : CssRule, ICssKeyframeRule, ICssRule { private readonly CssStyleDeclaration _style; private IKeyframeSelector _selector; public string KeyText { get { return _selector.Text; } set { IKeyframeSelector keyframeSelector = CssParser.ParseKeyText(value, null); 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() : base(CssRuleType.Keyframe) { _style = new CssStyleDeclaration(this); } protected override void ReplaceWith(ICssRule rule) { CssKeyframeRule cssKeyframeRule = (CssKeyframeRule)rule; _selector = cssKeyframeRule._selector; _style.Clear(); _style.SetDeclarations(cssKeyframeRule._style); } protected override string ToCss() { return KeyText + " " + _style.ToCssBlock(); } } }