AngleSharp by AngleSharp

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

.NET API 1,230,336 bytes

 CssSupportsRule

Represents an @supports rule.
using AngleSharp.Css; using AngleSharp.Extensions; using AngleSharp.Parser.Css; using System.IO; using System.Linq; namespace AngleSharp.Dom.Css { internal sealed class CssSupportsRule : CssConditionRule, ICssSupportsRule, ICssConditionRule, ICssGroupingRule, ICssRule, ICssNode, IStyleFormattable, ICssRuleCreator { public string ConditionText { get { return Condition.ToCss(); } set { IConditionFunction conditionFunction = base.Parser.ParseCondition(value); if (conditionFunction == null) throw new DomException(DomError.Syntax); Condition = conditionFunction; } } public IConditionFunction Condition { get { return base.Children.OfType<IConditionFunction>().FirstOrDefault() ?? new EmptyCondition(); } set { if (value != null) { RemoveChild(Condition); AppendChild(value); } } } internal CssSupportsRule(CssParser parser) : base(CssRuleType.Supports, parser) { } internal override bool IsValid(RenderDevice device) { return Condition.Check(); } public override void ToCss(TextWriter writer, IStyleFormatter formatter) { string rules = formatter.Block(base.Rules); writer.Write(formatter.Rule("@supports", ConditionText, rules)); } } }