Skip to content

Commit 6df6702

Browse files
RobinMalfaitadamwathan
authored andcommitted
ensure that we can handle nested selectors
1 parent c5d89b5 commit 6df6702

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

src/components/ClassTable.js

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@ function getUtilities(plugin) {
3434
plugin()({
3535
addUtilities,
3636
addBase() {},
37-
matchUtilities: (matches, { values, variants, respectPrefix, respectImportant }) => {
37+
matchUtilities: (matches, { values }) => {
3838
let modifierValues = Object.entries(values)
3939

4040
let result = Object.entries(matches).flatMap(([name, utilityFunction]) => {
4141
return modifierValues
4242
.map(([modifier, value]) => {
4343
let declarations = utilityFunction(value, {
44-
includeRules(rules, options) {
45-
addUtilities(rules, options)
44+
includeRules(rules) {
45+
addUtilities(rules)
4646
},
4747
})
4848

@@ -57,7 +57,23 @@ function getUtilities(plugin) {
5757
.filter(Boolean)
5858
})
5959

60-
addUtilities(result, { variants, respectPrefix, respectImportant })
60+
for (let obj of result) {
61+
for (let key in obj) {
62+
let deleteKey = false
63+
for (let subkey in obj[key]) {
64+
if (subkey.includes('&')) {
65+
result.push({
66+
[subkey.replace(/&/g, key)]: obj[key][subkey],
67+
})
68+
deleteKey = true
69+
}
70+
}
71+
72+
if (deleteKey) delete obj[key]
73+
}
74+
}
75+
76+
addUtilities(result)
6177
},
6278
config: () => ({
6379
mode: 'aot',

0 commit comments

Comments
 (0)