AngleSharp by Florian Rappl

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

.NET API 1,171,968 bytes

 CssTransformProperty

More information available at MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/transform
using AngleSharp.Css; using AngleSharp.Css.Values; using AngleSharp.Extensions; using System.Collections.Generic; namespace AngleSharp.Dom.Css { internal sealed class CssTransformProperty : CssProperty, ICssTransformProperty, ICssProperty { internal static readonly ITransform[] Default = new ITransform[0]; internal static readonly IValueConverter<ITransform[]> Converter = Converters.TransformConverter.Many(1, 2147483647).Or(Keywords.None, Default); private readonly List<ITransform> _transforms; public IEnumerable<ITransform> Transforms => _transforms; internal CssTransformProperty(CssStyleDeclaration rule) : base(PropertyNames.Transform, rule, PropertyFlags.Animatable) { _transforms = new List<ITransform>(); } public void SetTransforms(IEnumerable<ITransform> transforms) { _transforms.Clear(); _transforms.AddRange(transforms); } internal override void Reset() { _transforms.Clear(); _transforms.AddRange(Default); } protected override bool IsValid(ICssValue value) { return Converter.TryConvert(value, SetTransforms); } } }