AngleSharp by Florian Rappl

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

.NET API 1,189,376 bytes

 CssPaddingProperty

Information can be found on MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/padding
using AngleSharp.Css; using AngleSharp.Extensions; using System; using System.Collections.Generic; using System.Linq; namespace AngleSharp.Dom.Css { internal sealed class CssPaddingProperty : CssShorthandProperty { private static readonly IValueConverter<Tuple<ICssValue, ICssValue, ICssValue, ICssValue>> Converter = Converters.LengthOrPercentConverter.Val().Periodic(); internal CssPaddingProperty(CssStyleDeclaration rule) : base(PropertyNames.Padding, rule, PropertyFlags.None) { } protected override bool IsValid(ICssValue value) { return Converter.TryConvert(value, delegate(Tuple<ICssValue, ICssValue, ICssValue, ICssValue> m) { Get<CssPaddingTopProperty>().TrySetValue(m.Item1); Get<CssPaddingRightProperty>().TrySetValue(m.Item2); Get<CssPaddingBottomProperty>().TrySetValue(m.Item3); Get<CssPaddingLeftProperty>().TrySetValue(m.Item4); }); } internal override string SerializeValue(IEnumerable<CssProperty> properties) { CssPaddingTopProperty cssPaddingTopProperty = properties.OfType<CssPaddingTopProperty>().FirstOrDefault(); CssPaddingRightProperty cssPaddingRightProperty = properties.OfType<CssPaddingRightProperty>().FirstOrDefault(); CssPaddingBottomProperty cssPaddingBottomProperty = properties.OfType<CssPaddingBottomProperty>().FirstOrDefault(); CssPaddingLeftProperty cssPaddingLeftProperty = properties.OfType<CssPaddingLeftProperty>().FirstOrDefault(); if (cssPaddingTopProperty == null || cssPaddingRightProperty == null || cssPaddingBottomProperty == null || cssPaddingLeftProperty == null) return string.Empty; if (!cssPaddingTopProperty.HasValue || !cssPaddingRightProperty.HasValue || !cssPaddingBottomProperty.HasValue || !cssPaddingLeftProperty.HasValue) return string.Empty; return CssShorthandProperty.SerializePeriodic(cssPaddingTopProperty, cssPaddingRightProperty, cssPaddingBottomProperty, cssPaddingLeftProperty); } } }