AngleSharp by Florian Rappl

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

.NET API 1,172,480 bytes

 CssBorderRightProperty

More information available at: https://developer.mozilla.org/en-US/docs/Web/CSS/border-right
using AngleSharp.Css; using System; using System.Collections.Generic; namespace AngleSharp.Dom.Css { internal sealed class CssBorderRightProperty : CssShorthandProperty, ICssBorderProperty, ICssProperty, ICssBorderWidthProperty, ICssBorderStyleProperty, ICssBorderColorProperty { private readonly CssBorderRightColorProperty _color; private readonly CssBorderRightStyleProperty _style; private readonly CssBorderRightWidthProperty _width; public Length Width => _width.Width; public Color Color => _color.Color; public LineStyle Style => _style.Style; internal CssBorderRightProperty(CssStyleDeclaration rule) : base(PropertyNames.BorderRight, rule, PropertyFlags.Animatable) { _color = Get<CssBorderRightColorProperty>(); _style = Get<CssBorderRightStyleProperty>(); _width = Get<CssBorderRightWidthProperty>(); } protected override bool IsValid(ICssValue value) { return CssBorderProperty.Converter.TryConvert(value, delegate(Tuple<ICssValue, ICssValue, ICssValue> m) { _width.TrySetValue(m.Item1); _style.TrySetValue(m.Item2); _color.TrySetValue(m.Item3); }); } internal override string SerializeValue(IEnumerable<CssProperty> properties) { if (!IsComplete(properties)) return string.Empty; return string.Format("{0} {1} {2}", new object[3] { _width.SerializeValue(), _color.SerializeValue(), _style.SerializeValue() }); } } }