@@ -9,7 +9,7 @@ export function updateAllClasses(selectors, updateClass) {
9
9
selectors . walkClasses ( ( sel ) => {
10
10
let updatedClass = updateClass ( sel . value , {
11
11
withPseudo ( className , pseudo ) {
12
- sel . parent . insertAfter ( sel , selectorParser . pseudo ( { value : `: ${ pseudo } ` } ) )
12
+ sel . parent . insertAfter ( sel , selectorParser . pseudo ( { value : `${ pseudo } ` } ) )
13
13
return className
14
14
} ,
15
15
} )
@@ -36,7 +36,7 @@ export function updateLastClasses(selectors, updateClass) {
36
36
37
37
let updatedClass = updateClass ( lastClass . value , {
38
38
withPseudo ( className , pseudo ) {
39
- lastClass . parent . insertAfter ( lastClass , selectorParser . pseudo ( { value : `: ${ pseudo } ` } ) )
39
+ lastClass . parent . insertAfter ( lastClass , selectorParser . pseudo ( { value : `${ pseudo } ` } ) )
40
40
return className
41
41
} ,
42
42
} )
@@ -51,11 +51,14 @@ export function updateLastClasses(selectors, updateClass) {
51
51
return result
52
52
}
53
53
54
- export function transformAllSelectors ( transformSelector , wrap = null ) {
54
+ export function transformAllSelectors ( transformSelector , { wrap, withRule } = { } ) {
55
55
return ( { container } ) => {
56
56
container . walkRules ( ( rule ) => {
57
57
let transformed = rule . selector . split ( ',' ) . map ( transformSelector ) . join ( ',' )
58
58
rule . selector = transformed
59
+ if ( withRule ) {
60
+ withRule ( rule )
61
+ }
59
62
return rule
60
63
} )
61
64
@@ -67,23 +70,35 @@ export function transformAllSelectors(transformSelector, wrap = null) {
67
70
}
68
71
}
69
72
70
- export function transformAllClasses ( transformClass ) {
73
+ export function transformAllClasses ( transformClass , { wrap , withRule } = { } ) {
71
74
return ( { container } ) => {
72
75
container . walkRules ( ( rule ) => {
73
76
let selector = rule . selector
74
77
let variantSelector = updateAllClasses ( selector , transformClass )
75
78
rule . selector = variantSelector
79
+ if ( withRule ) {
80
+ withRule ( rule )
81
+ }
76
82
return rule
77
83
} )
84
+
85
+ if ( wrap ) {
86
+ let wrapper = wrap ( )
87
+ wrapper . append ( container . nodes )
88
+ container . append ( wrapper )
89
+ }
78
90
}
79
91
}
80
92
81
- export function transformLastClasses ( transformClass , wrap = null ) {
93
+ export function transformLastClasses ( transformClass , { wrap, withRule } = { } ) {
82
94
return ( { container } ) => {
83
95
container . walkRules ( ( rule ) => {
84
96
let selector = rule . selector
85
97
let variantSelector = updateLastClasses ( selector , transformClass )
86
98
rule . selector = variantSelector
99
+ if ( withRule ) {
100
+ withRule ( rule )
101
+ }
87
102
return rule
88
103
} )
89
104
0 commit comments