AngleSharp by Florian Rappl

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

.NET API 1,171,968 bytes

 CssTransitionTimingFunctionProperty

More information available at: https://developer.mozilla.org/en-US/docs/CSS/transition-timing-function
using AngleSharp.Css; using AngleSharp.Css.Values; using AngleSharp.Extensions; using System.Collections.Generic; namespace AngleSharp.Dom.Css { internal sealed class CssTransitionTimingFunctionProperty : CssProperty, ICssTransitionTimingFunctionProperty, ICssProperty { internal static readonly IValueConverter<ITimingFunction> SingleConverter = Converters.TransitionConverter; internal static readonly IValueConverter<ITimingFunction[]> Converter = SingleConverter.FromList(); internal static readonly ITimingFunction Default = Map.TimingFunctions[Keywords.Ease]; private readonly List<ITimingFunction> _functions; public IEnumerable<ITimingFunction> TimingFunctions => _functions; internal CssTransitionTimingFunctionProperty(CssStyleDeclaration rule) : base(PropertyNames.TransitionTimingFunction, rule, PropertyFlags.None) { _functions = new List<ITimingFunction>(); Reset(); } public void SetTimingFunctions(IEnumerable<ITimingFunction> functions) { _functions.Clear(); _functions.AddRange(functions); } internal override void Reset() { _functions.Clear(); _functions.Add(Default); } protected override bool IsValid(ICssValue value) { return Converter.TryConvert(value, SetTimingFunctions); } } }