@unocss/transformer-directives 0.26.1 → 0.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -306,21 +306,26 @@ async function transformDirectives(css, uno, filename) {
306
306
  return;
307
307
  const parentSelector = cssTree.generate(node.prelude);
308
308
  for (const i of utils) {
309
- const [, selector, body, parent] = i;
309
+ const [, _selector, body, parent] = i;
310
+ const selector = _selector?.replace(core.regexScopePlaceholder, " ") || _selector;
310
311
  if (parent) {
311
312
  const newNodeCss = `${parent}{${parentSelector}{${body}}}`;
312
313
  const insertNodeAst = cssTree.parse(newNodeCss);
313
314
  list.insertList(insertNodeAst.children, item);
314
315
  } else if (selector && selector !== ".\\-") {
315
- const pseudoClassSelectors = cssTree.parse(selector, {
316
+ const selectorAST = cssTree.parse(selector, {
316
317
  context: "selector"
317
- }).children.filter((i2) => i2.type === "PseudoClassSelector");
318
- const parentSelectorAst = cssTree.clone(node.prelude);
319
- parentSelectorAst.children.forEach((i2) => {
320
- if (i2.type === "Selector")
321
- i2.children.appendList(pseudoClassSelectors.copy());
322
318
  });
323
- const newNodeCss = `${cssTree.generate(parentSelectorAst)}{${body}}`;
319
+ const prelude = cssTree.clone(node.prelude);
320
+ prelude.children.forEach((child) => {
321
+ const parentSelectorAst = cssTree.clone(selectorAST);
322
+ parentSelectorAst.children.forEach((i2) => {
323
+ if (i2.type === "ClassSelector" && i2.name === "\\-")
324
+ Object.assign(i2, cssTree.clone(child));
325
+ });
326
+ Object.assign(child, parentSelectorAst);
327
+ });
328
+ const newNodeCss = `${cssTree.generate(prelude)}{${body}}`;
324
329
  const insertNodeAst = cssTree.parse(newNodeCss);
325
330
  list.insertList(insertNodeAst.children, item);
326
331
  } else {
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { expandVariantGroup, notNull } from '@unocss/core';
1
+ import { expandVariantGroup, notNull, regexScopePlaceholder } from '@unocss/core';
2
2
  import { parse, walk, generate, clone, List } from 'css-tree';
3
3
  import require$$0 from 'path';
4
4
  import 'crypto';
@@ -298,21 +298,26 @@ async function transformDirectives(css, uno, filename) {
298
298
  return;
299
299
  const parentSelector = generate(node.prelude);
300
300
  for (const i of utils) {
301
- const [, selector, body, parent] = i;
301
+ const [, _selector, body, parent] = i;
302
+ const selector = _selector?.replace(regexScopePlaceholder, " ") || _selector;
302
303
  if (parent) {
303
304
  const newNodeCss = `${parent}{${parentSelector}{${body}}}`;
304
305
  const insertNodeAst = parse(newNodeCss);
305
306
  list.insertList(insertNodeAst.children, item);
306
307
  } else if (selector && selector !== ".\\-") {
307
- const pseudoClassSelectors = parse(selector, {
308
+ const selectorAST = parse(selector, {
308
309
  context: "selector"
309
- }).children.filter((i2) => i2.type === "PseudoClassSelector");
310
- const parentSelectorAst = clone(node.prelude);
311
- parentSelectorAst.children.forEach((i2) => {
312
- if (i2.type === "Selector")
313
- i2.children.appendList(pseudoClassSelectors.copy());
314
310
  });
315
- const newNodeCss = `${generate(parentSelectorAst)}{${body}}`;
311
+ const prelude = clone(node.prelude);
312
+ prelude.children.forEach((child) => {
313
+ const parentSelectorAst = clone(selectorAST);
314
+ parentSelectorAst.children.forEach((i2) => {
315
+ if (i2.type === "ClassSelector" && i2.name === "\\-")
316
+ Object.assign(i2, clone(child));
317
+ });
318
+ Object.assign(child, parentSelectorAst);
319
+ });
320
+ const newNodeCss = `${generate(prelude)}{${body}}`;
316
321
  const insertNodeAst = parse(newNodeCss);
317
322
  list.insertList(insertNodeAst.children, item);
318
323
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unocss/transformer-directives",
3
- "version": "0.26.1",
3
+ "version": "0.26.2",
4
4
  "description": "UnoCSS transformer for `@apply` directive",
5
5
  "keywords": [
6
6
  "unocss",
@@ -31,13 +31,13 @@
31
31
  "module": "./dist/index.mjs",
32
32
  "types": "./dist/index.d.ts",
33
33
  "peerDependencies": {
34
- "@unocss/core": "0.26.1"
34
+ "@unocss/core": "0.26.2"
35
35
  },
36
36
  "dependencies": {
37
37
  "css-tree": "^2.0.4"
38
38
  },
39
39
  "devDependencies": {
40
- "@unocss/core": "0.26.1"
40
+ "@unocss/core": "0.26.2"
41
41
  },
42
42
  "scripts": {
43
43
  "build": "unbuild",