scopeRule function
StyleRule
scopeRule(
- StyleRule rule
)
Implementation
@visibleForTesting
StyleRule scopeRule(StyleRule rule) {
return switch (rule) {
NestedStyleRule(:final selector, :final ownStyles, :final children) => NestedStyleRule(
_scopeSelector(selector),
ownStyles,
children.map(scopeRule).toList(),
),
BlockStyleRule(:final selector, :final styles) => BlockStyleRule(
selector: _scopeSelector(selector),
styles: styles,
),
// Recurse into at-rules because they don't have a selector of their own
MediaStyleRule(:final query, :final rules) => MediaStyleRule(
query: query,
styles: rules.map(scopeRule).toList(),
),
SupportsStyleRule(:final condition, :final rules) => SupportsStyleRule(
condition: condition,
styles: rules.map(scopeRule).toList(),
),
LayerStyleRule(:final name, :final rules) => LayerStyleRule(
name: name,
styles: rules.map(scopeRule).toList(),
),
_ => rule,
};
}