AngleSharp by Florian Rappl

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

.NET API 1,171,968 bytes

 CssTransitionPropertyProperty

More information available at: https://developer.mozilla.org/en-US/docs/CSS/transition-property
using AngleSharp.Css; using AngleSharp.Extensions; using System.Collections.Generic; namespace AngleSharp.Dom.Css { internal sealed class CssTransitionPropertyProperty : CssProperty, ICssTransitionPropertyProperty, ICssProperty { internal static readonly IValueConverter<string> SingleConverter = Converters.AnimatableConverter; internal static readonly IValueConverter<string[]> Converter = SingleConverter.FromList().Or(Keywords.None, new string[0]); internal static readonly string Default = Keywords.All; private readonly List<string> _properties; public IEnumerable<string> Properties => _properties; internal CssTransitionPropertyProperty(CssStyleDeclaration rule) : base(PropertyNames.TransitionProperty, rule, PropertyFlags.None) { _properties = new List<string>(); } public void SetProperties(IEnumerable<string> properties) { _properties.Clear(); _properties.AddRange(properties); } internal override void Reset() { _properties.Clear(); _properties.Add(Default); } protected override bool IsValid(ICssValue value) { return Converter.TryConvert(value, SetProperties); } } }