CssVisibilityProperty
Information can be found on MDN:
https://developer.mozilla.org/en-US/docs/Web/CSS/visibility
using AngleSharp.Css;
using AngleSharp.Extensions;
namespace AngleSharp.Dom.Css
{
internal sealed class CssVisibilityProperty : CssProperty, ICssVisibilityProperty, ICssProperty
{
internal static readonly IValueConverter<Visibility> Converter = Map.Visibilities.ToConverter();
internal static readonly Visibility Default = Visibility.Visible;
private Visibility _visiblity;
public Visibility Visibility => _visiblity;
internal CssVisibilityProperty(CssStyleDeclaration rule)
: base(PropertyNames.Visibility, rule, PropertyFlags.Inherited | PropertyFlags.Animatable)
{
Reset();
}
public void SetVisibility(Visibility visibility)
{
_visiblity = visibility;
}
internal override void Reset()
{
_visiblity = Default;
}
protected override bool IsValid(ICssValue value)
{
return Converter.TryConvert(value, SetVisibility);
}
}
}