CssWordSpacingProperty
Information:
https://developer.mozilla.org/en-US/docs/Web/CSS/word-spacing
using AngleSharp.Css;
using AngleSharp.Extensions;
namespace AngleSharp.Dom.Css
{
internal sealed class CssWordSpacingProperty : CssProperty, ICssWordSpacingProperty, ICssProperty
{
internal static readonly Length? Default = null;
internal static readonly IValueConverter<Length?> Converter = Converters.LengthConverter.ToNullable().Or(Keywords.Normal, Default);
private Length? _spacing;
public bool IsNormal => !_spacing.HasValue;
public Length? Spacing => _spacing;
internal CssWordSpacingProperty(CssStyleDeclaration rule)
: base(PropertyNames.WordSpacing, rule, PropertyFlags.Inherited | PropertyFlags.Unitless | PropertyFlags.Animatable)
{
Reset();
}
private void SetSpacing(Length? spacing)
{
_spacing = spacing;
}
internal override void Reset()
{
_spacing = Default;
}
protected override bool IsValid(ICssValue value)
{
return Converter.TryConvert(value, SetSpacing);
}
}
}