text: "use strict";
  var __importDefault = (this && this.__importDefault) || function (mod) {
      return (mod && mod.__esModule) ? mod : { "default": mod };
  };
  Object.defineProperty(exports, "__esModule", { value: true });
  const css_1 = __importDefault(require("css"));
  const class_name_1 = __importDefault(require("./class-name"));
  const ID_OR_CLASS_RE = /#[a-zA-Z0-9_-]+|\.-?[a-zA-Z0-9_][a-zA-Z0-9_-]*/g;
  const ADD_POSTFIX_REPLACEMENT = '$&' + class_name_1.default.postfix;
  function transformSelector(selector) {
      return selector.replace(ID_OR_CLASS_RE, ADD_POSTFIX_REPLACEMENT);
  }
  function addUIClassPostfix(rules) {
      for (const node of rules) {
          if (node.type === 'rule') {
              const rule = node;
              rule.selectors = rule.selectors && rule.selectors.map(transformSelector);
          }
          const nodeWithRules = node;
          if (nodeWithRules.rules)
              addUIClassPostfix(nodeWithRules.rules);
      }
  }
  function createShadowStylesheet(cssCode) {
      const ast = css_1.default.parse(cssCode, { silent: true });
      if (ast.stylesheet)
          addUIClassPostfix(ast.stylesheet.rules);
      return css_1.default.stringify(ast, { compress: false });
  }
  exports.default = createShadowStylesheet;module.exports = exports.default;
  
  