AngleSharp by Florian Rappl

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

.NET API 1,172,480 bytes

 CssBoxShadowProperty

Information can be found on MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow
using AngleSharp.Css; using AngleSharp.Css.Values; using AngleSharp.Extensions; using System.Collections.Generic; namespace AngleSharp.Dom.Css { internal sealed class CssBoxShadowProperty : CssProperty, ICssBoxShadowProperty, ICssProperty { internal static readonly Shadow[] Default = new Shadow[0]; internal static readonly IValueConverter<Shadow[]> Converter = Converters.ShadowConverter.FromList().Or(Keywords.None, Default); private readonly List<Shadow> _shadows; public IEnumerable<Shadow> Shadows => _shadows; internal CssBoxShadowProperty(CssStyleDeclaration rule) : base(PropertyNames.BoxShadow, rule, PropertyFlags.Animatable) { _shadows = new List<Shadow>(); } public void SetShadows(IEnumerable<Shadow> shadows) { _shadows.Clear(); _shadows.AddRange(shadows); } internal override void Reset() { _shadows.Clear(); _shadows.AddRange(Default); } protected override bool IsValid(ICssValue value) { return Converter.TryConvert(value, SetShadows); } } }