{"version":3,"file":"legacyNotSelectorLinter.mjs","sources":["../../../../../../packages/theme/cssinjs/linters/legacyNotSelectorLinter.ts"],"sourcesContent":["import type { Linter, LinterInfo } from './interface';\nimport { lintWarning } from './utils';\n\nfunction isConcatSelector(selector: string) {\n  const notContent = selector.match(/:not\\(([^)]*)\\)/)?.[1] || '';\n\n  // split selector. e.g.\n  // `h1#a.b` => ['h1', #a', '.b']\n  const splitCells = notContent.split(/(\\[[^[]*])|(?=[.#])/).filter(str => str);\n\n  return splitCells.length > 1;\n}\n\nfunction parsePath(info: LinterInfo) {\n  return info.parentSelectors.reduce((prev, cur) => {\n    if (!prev)\n      return cur;\n\n    return cur.includes('&') ? cur.replace(/&/g, prev) : `${prev} ${cur}`;\n  }, '');\n}\n\nconst linter: Linter = (_key, _value, info) => {\n  const parentSelectorPath = parsePath(info);\n  const notList = parentSelectorPath.match(/:not\\([^)]*\\)/g) || [];\n\n  if (notList.length > 0 && notList.some(isConcatSelector))\n    lintWarning('Concat \\':not\\' selector not support in legacy browsers.', info);\n};\n\nexport default linter;\n"],"names":[],"mappings":";;AAGA,SAAS,iBAAiB,QAAkB,EAAA;AAH5C,EAAA,IAAA,EAAA,CAAA;AAIE,EAAA,MAAM,eAAa,EAAS,GAAA,QAAA,CAAA,KAAA,CAAM,iBAAiB,CAAA,KAAhC,mBAAoC,CAAM,CAAA,KAAA,EAAA,CAAA;AAI7D,EAAA,MAAM,aAAa,UAAW,CAAA,KAAA,CAAM,qBAAqB,CAAE,CAAA,MAAA,CAAO,SAAO,GAAG,CAAA,CAAA;AAE5E,EAAA,OAAO,WAAW,MAAS,GAAA,CAAA,CAAA;AAC7B,CAAA;AAEA,SAAS,UAAU,IAAkB,EAAA;AACnC,EAAA,OAAO,IAAK,CAAA,eAAA,CAAgB,MAAO,CAAA,CAAC,MAAM,GAAQ,KAAA;AAChD,IAAA,IAAI,CAAC,IAAA;AACH,MAAO,OAAA,GAAA,CAAA;AAET,IAAA,OAAO,GAAI,CAAA,QAAA,CAAS,GAAG,CAAA,GAAI,GAAI,CAAA,OAAA,CAAQ,IAAM,EAAA,IAAI,CAAI,GAAA,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,CAAA;AAAA,KAClE,EAAE,CAAA,CAAA;AACP,CAAA;AAEA,MAAM,MAAiB,GAAA,CAAC,IAAM,EAAA,MAAA,EAAQ,IAAS,KAAA;AAC7C,EAAM,MAAA,kBAAA,GAAqB,UAAU,IAAI,CAAA,CAAA;AACzC,EAAA,MAAM,OAAU,GAAA,kBAAA,CAAmB,KAAM,CAAA,gBAAgB,KAAK,EAAC,CAAA;AAE/D,EAAA,IAAI,OAAQ,CAAA,MAAA,GAAS,CAAK,IAAA,OAAA,CAAQ,KAAK,gBAAgB,CAAA;AACrD,IAAA,WAAA,CAAY,0DAA4D,IAAI,CAAA,CAAA;AAChF;;;;"}