diff --git a/.changeset/dirty-cooks-pump.md b/.changeset/dirty-cooks-pump.md new file mode 100644 index 00000000..6183f747 --- /dev/null +++ b/.changeset/dirty-cooks-pump.md @@ -0,0 +1,5 @@ +--- +'arui-scripts': patch +--- + +Добавляется css префикс к каждому селектору, чтобы не терялась специфичность, когда селекторы перечесляются через запятую diff --git a/packages/arui-scripts/src/plugins/postcss-prefix-selector.ts b/packages/arui-scripts/src/plugins/postcss-prefix-selector.ts index ff4472ce..ded59af0 100644 --- a/packages/arui-scripts/src/plugins/postcss-prefix-selector.ts +++ b/packages/arui-scripts/src/plugins/postcss-prefix-selector.ts @@ -8,8 +8,6 @@ type PostCssPrefixOptions = { const VisitedRule = Symbol('VisitedRule'); -const ROOT_SELECTOR = ':root'; - type RootWithVisitedRule = Root & { [VisitedRule]?: boolean; }; @@ -51,18 +49,8 @@ const postCssPrefix: PluginCreator = (options) => { return; } - rule.selectors = rule.selectors.map((selector) => { - /** - * Оборачивам только самим префиксом без :root. - * Позволяет инкапсулировать css переменные под классом. - * В таком случае они будут доступны в модулях приложений после использования флага keepCssVars. - */ - if (selector === ROOT_SELECTOR) { - return prefix; - } - - return `${prefix}${selector}`; - }); + // Добавляем префикс к каждому селектору, чтобы не терялась специфичность + rule.selectors = rule.selectors.map((selector) => `${prefix}${selector}`); }); }, };