Skip to content

Commit

Permalink
fix(*): add css prefix for all selectors
Browse files Browse the repository at this point in the history
  • Loading branch information
Обмочевский Владислав Вячеславович authored and Обмочевский Владислав Вячеславович committed Dec 2, 2024
1 parent 54300a7 commit e6ff855
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 14 deletions.
5 changes: 5 additions & 0 deletions .changeset/dirty-cooks-pump.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'arui-scripts': patch
---

Добавляется css префикс к каждому селектору, чтобы не терялась специфичность, когда селекторы перечесляются через запятую
16 changes: 2 additions & 14 deletions packages/arui-scripts/src/plugins/postcss-prefix-selector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ type PostCssPrefixOptions = {

const VisitedRule = Symbol('VisitedRule');

const ROOT_SELECTOR = ':root';

type RootWithVisitedRule = Root & {
[VisitedRule]?: boolean;
};
Expand Down Expand Up @@ -51,18 +49,8 @@ const postCssPrefix: PluginCreator<PostCssPrefixOptions> = (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}`);
});
},
};
Expand Down

0 comments on commit e6ff855

Please sign in to comment.