CssPageBreakInsideProperty
Information can be found on MDN:
https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-inside
using AngleSharp.Css;
using AngleSharp.Extensions;
namespace AngleSharp.Dom.Css
{
internal sealed class CssPageBreakInsideProperty : CssProperty, ICssPageBreakInsideProperty, ICssProperty
{
internal static readonly BreakMode Default = BreakMode.Auto;
internal static readonly IValueConverter<BreakMode> Converter = Converters.Assign(Keywords.Auto, BreakMode.Auto).Or(Keywords.Avoid, BreakMode.Avoid);
private BreakMode _mode;
public BreakMode State => _mode;
internal CssPageBreakInsideProperty(CssStyleDeclaration rule)
: base(PropertyNames.PageBreakInside, rule, PropertyFlags.None)
{
Reset();
}
public void SetState(BreakMode mode)
{
_mode = mode;
}
internal override void Reset()
{
_mode = Default;
}
protected override bool IsValid(ICssValue value)
{
return Converter.TryConvert(value, SetState);
}
}
}