getStylesForSelector method

Map<String, String> getStylesForSelector(
  1. String selector
)

Get styles for a specific selector (e.g., ".markdown-body", ".markdown-body h1")

Implementation

Map<String, String> getStylesForSelector(String selector) {
  if (_ruleCache.containsKey(selector)) {
    return _ruleCache[selector]!;
  }

  final styles = <String, String>{};

  for (final rule in _stylesheet.topLevels) {
    if (rule is css.RuleSet) {
      _matchAndExtractStyles(rule, selector, styles);
    } else if (rule is css.MediaDirective) {
      for (final mediaRule in rule.rules) {
        if (mediaRule is css.RuleSet) {
          _matchAndExtractStyles(mediaRule, selector, styles);
        }
      }
    }
  }

  _ruleCache[selector] = styles;
  return styles;
}