AngleSharp by Florian Rappl

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

.NET API 1,172,480 bytes

 CssAnimationDirectionProperty

More information available at: https://developer.mozilla.org/en-US/docs/CSS/animation-direction
using AngleSharp.Css; using AngleSharp.Extensions; using System.Collections.Generic; namespace AngleSharp.Dom.Css { internal sealed class CssAnimationDirectionProperty : CssProperty, ICssAnimationDirectionProperty, ICssProperty { internal static readonly IValueConverter<AnimationDirection> SingleConverter = Map.AnimationDirections.ToConverter(); internal static readonly IValueConverter<AnimationDirection[]> Converter = SingleConverter.FromList(); internal static readonly AnimationDirection Default = AnimationDirection.Normal; private readonly List<AnimationDirection> _directions; public IEnumerable<AnimationDirection> Directions => _directions; internal CssAnimationDirectionProperty(CssStyleDeclaration rule) : base(PropertyNames.AnimationDirection, rule, PropertyFlags.None) { _directions = new List<AnimationDirection>(); Reset(); } public void SetDirections(IEnumerable<AnimationDirection> directions) { _directions.Clear(); _directions.AddRange(directions); } internal override void Reset() { _directions.Clear(); _directions.Add(Default); } protected override bool IsValid(ICssValue value) { return Converter.TryConvert(value, SetDirections); } } }