AngleSharp by AngleSharp

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

.NET API 1,213,440 bytes

 CssSupportsRule

Represents an @supports rule.
using AngleSharp.Css; using AngleSharp.Css.Conditions; using AngleSharp.Parser.Css; namespace AngleSharp.Dom.Css { internal sealed class CssSupportsRule : CssConditionRule, ICssSupportsRule, ICssConditionRule, ICssGroupingRule, ICssRule, IStyleFormattable { private CssCondition _condition; private static readonly CssCondition empty = new EmptyCondition(); public string ConditionText { get { return _condition.ToCss(); } set { CssCondition cssCondition = base.Parser.ParseCondition(value); if (cssCondition == null) throw new DomException(DomError.Syntax); _condition = cssCondition; } } public CssCondition Condition { get { return _condition; } set { _condition = (value ?? empty); } } public bool IsSupported => _condition.Check(); internal CssSupportsRule(CssParser parser) : base(CssRuleType.Supports, parser) { _condition = empty; } protected override void ReplaceWith(ICssRule rule) { base.ReplaceWith(rule); CssSupportsRule cssSupportsRule = rule as CssSupportsRule; ConditionText = cssSupportsRule.ConditionText; } internal override bool IsValid(RenderDevice device) { return true; } public override string ToCss(IStyleFormatter formatter) { string rules = formatter.Block(base.Rules); return formatter.Rule("@supports", ConditionText, rules); } } }