@unocss/transformer-directives 0.58.3 → 0.58.4

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
@@ -107,21 +107,22 @@ async function parseApply({ code, uno, offset, applyVariable }, node, childNode)
107
107
  return;
108
108
  for (const i of utils) {
109
109
  const [, _selector, body2, parent] = i;
110
- const selector = _selector?.replace(core.regexScopePlaceholder, " ") || _selector;
111
- if (parent || selector && selector !== ".\\-") {
110
+ const selectorOrGroup = _selector?.replace(core.regexScopePlaceholder, " ") || _selector;
111
+ if (parent || selectorOrGroup && selectorOrGroup !== ".\\-") {
112
112
  let newSelector = cssTree.generate(node.prelude);
113
- if (selector && selector !== ".\\-") {
114
- const selectorAST = cssTree.parse(selector, {
115
- context: "selector"
113
+ if (selectorOrGroup && selectorOrGroup !== ".\\-") {
114
+ const ruleAST = cssTree.parse(`${selectorOrGroup}{}`, {
115
+ context: "rule"
116
116
  });
117
117
  const prelude = cssTree.clone(node.prelude);
118
118
  prelude.children.forEach((child) => {
119
- const parentSelectorAst = cssTree.clone(selectorAST);
120
- parentSelectorAst.children.forEach((i2) => {
121
- if (i2.type === "ClassSelector" && i2.name === "\\-")
122
- Object.assign(i2, cssTree.clone(child));
119
+ const selectorListAst = cssTree.clone(ruleAST.prelude);
120
+ const classSelectors = new cssTree.List();
121
+ selectorListAst.children.forEach((selectorAst) => {
122
+ classSelectors.appendList(selectorAst.children.filter((i2) => i2.type === "ClassSelector" && i2.name === "\\-"));
123
123
  });
124
- Object.assign(child, parentSelectorAst);
124
+ classSelectors.forEach((i2) => Object.assign(i2, cssTree.clone(child)));
125
+ Object.assign(child, selectorListAst);
125
126
  });
126
127
  newSelector = cssTree.generate(prelude);
127
128
  }
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { expandVariantGroup, notNull, regexScopePlaceholder, cssIdRE, toArray } from '@unocss/core';
2
- import { generate, parse, clone, walk } from 'css-tree';
2
+ import { generate, parse, clone, List, walk } from 'css-tree';
3
3
  import { transformThemeFn, hasThemeFn } from '@unocss/rule-utils';
4
4
 
5
5
  function handleThemeFn({ code, uno, options }, node) {
@@ -103,21 +103,22 @@ async function parseApply({ code, uno, offset, applyVariable }, node, childNode)
103
103
  return;
104
104
  for (const i of utils) {
105
105
  const [, _selector, body2, parent] = i;
106
- const selector = _selector?.replace(regexScopePlaceholder, " ") || _selector;
107
- if (parent || selector && selector !== ".\\-") {
106
+ const selectorOrGroup = _selector?.replace(regexScopePlaceholder, " ") || _selector;
107
+ if (parent || selectorOrGroup && selectorOrGroup !== ".\\-") {
108
108
  let newSelector = generate(node.prelude);
109
- if (selector && selector !== ".\\-") {
110
- const selectorAST = parse(selector, {
111
- context: "selector"
109
+ if (selectorOrGroup && selectorOrGroup !== ".\\-") {
110
+ const ruleAST = parse(`${selectorOrGroup}{}`, {
111
+ context: "rule"
112
112
  });
113
113
  const prelude = clone(node.prelude);
114
114
  prelude.children.forEach((child) => {
115
- const parentSelectorAst = clone(selectorAST);
116
- parentSelectorAst.children.forEach((i2) => {
117
- if (i2.type === "ClassSelector" && i2.name === "\\-")
118
- Object.assign(i2, clone(child));
115
+ const selectorListAst = clone(ruleAST.prelude);
116
+ const classSelectors = new List();
117
+ selectorListAst.children.forEach((selectorAst) => {
118
+ classSelectors.appendList(selectorAst.children.filter((i2) => i2.type === "ClassSelector" && i2.name === "\\-"));
119
119
  });
120
- Object.assign(child, parentSelectorAst);
120
+ classSelectors.forEach((i2) => Object.assign(i2, clone(child)));
121
+ Object.assign(child, selectorListAst);
121
122
  });
122
123
  newSelector = generate(prelude);
123
124
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unocss/transformer-directives",
3
- "version": "0.58.3",
3
+ "version": "0.58.4",
4
4
  "description": "UnoCSS transformer for `@apply` directive",
5
5
  "author": "hannoeru <me@hanlee.co>",
6
6
  "license": "MIT",
@@ -33,8 +33,8 @@
33
33
  ],
34
34
  "dependencies": {
35
35
  "css-tree": "^2.3.1",
36
- "@unocss/core": "0.58.3",
37
- "@unocss/rule-utils": "0.58.3"
36
+ "@unocss/core": "0.58.4",
37
+ "@unocss/rule-utils": "0.58.4"
38
38
  },
39
39
  "devDependencies": {
40
40
  "magic-string": "^0.30.5"