AngleSharp by Florian Rappl

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

.NET API 1,229,312 bytes

 CssSupportsRule

Represents an @supports rule.
using AngleSharp.Css; using AngleSharp.Css.Conditions; using AngleSharp.Extensions; using AngleSharp.Parser.Css; namespace AngleSharp.Dom.Css { internal sealed class CssSupportsRule : CssConditionRule, ICssSupportsRule, ICssConditionRule, ICssGroupingRule, ICssRule { private ICondition _condition; private static readonly ICondition empty = new EmptyCondition(); public string ConditionText { get { return _condition.Text; } set { ICondition condition = CssParser.ParseCondition(value, null); if (condition == null) throw new DomException(DomError.Syntax); _condition = condition; } } public ICondition Condition { get { return _condition; } set { _condition = (value ?? empty); } } public bool IsSupported => _condition.Check(); internal CssSupportsRule() : base(CssRuleType.Supports) { _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; } protected override string ToCss() { return "@supports " + ConditionText + " " + base.Rules.ToCssBlock(); } } }