AngleSharp by Florian Rappl

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

.NET API 1,175,040 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 ICondition _condition; private static readonly ICondition empty = new EmptyCondition(); public string ConditionText { get { return _condition.Text; } set { ICondition condition = base.Parser.ParseCondition(value); 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(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); } } }