diff --git a/package.json b/package.json index 3f612209..80798644 100644 --- a/package.json +++ b/package.json @@ -145,6 +145,7 @@ "lint-staged": "^15.2.5", "postcss": "^8.4.38", "postcss-loader": "^8.1.1", + "postcss-prefix-selector": "^1.16.1", "postcss-preset-mantine": "^1.15.0", "prettier": "^3.3.1", "react": "^18.3.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fc14b5e9..77e6974b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -208,6 +208,9 @@ devDependencies: postcss-loader: specifier: ^8.1.1 version: 8.1.1(postcss@8.4.38)(typescript@5.4.5)(webpack@5.91.0) + postcss-prefix-selector: + specifier: ^1.16.1 + version: 1.16.1(postcss@8.4.38) postcss-preset-mantine: specifier: ^1.15.0 version: 1.15.0(postcss@8.4.38) @@ -11854,6 +11857,14 @@ packages: postcss-selector-parser: 6.1.0 dev: true + /postcss-prefix-selector@1.16.1(postcss@8.4.38): + resolution: {integrity: sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==} + peerDependencies: + postcss: '>4 <9' + dependencies: + postcss: 8.4.38 + dev: true + /postcss-preset-mantine@1.15.0(postcss@8.4.38): resolution: {integrity: sha512-OKPs6uoORSXlU/GFH1ZtFaslecHBPwuoSikdL5W3WKJm4ZPAQM0mw9x9m3toa/Mo1JhoBmYMM28i+zEdav5Edg==} peerDependencies: diff --git a/postcss.config.js b/postcss.config.js index 45c696e8..273c93c3 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -1,5 +1,15 @@ module.exports = { plugins: { 'postcss-preset-mantine': {}, + 'postcss-prefix-selector': { + prefix: '#jotai-devtools-root', + includeFiles: [/node_modules\/@mantine/], + transform(prefix, selector, prefixedSelector) { + if (selector.startsWith('html') || selector.startsWith('body')) { + return selector.replace(/^html|^body/, prefix); + } + return prefixedSelector; + }, + }, }, };