@@ -2,6 +2,7 @@ import _ from 'lodash'
2
2
import postcss from 'postcss'
3
3
import selectorParser from 'postcss-selector-parser'
4
4
import generateVariantFunction from '../util/generateVariantFunction'
5
+ import prefixSelector from '../util/prefixSelector'
5
6
6
7
function generatePseudoClassVariant ( pseudoClass , selectorPrefix = pseudoClass ) {
7
8
return generateVariantFunction ( ( { modifySelectors, separator } ) => {
@@ -20,14 +21,17 @@ function ensureIncludesDefault(variants) {
20
21
return variants . includes ( 'default' ) ? variants : [ 'default' , ...variants ]
21
22
}
22
23
23
- const defaultVariantGenerators = {
24
+ const defaultVariantGenerators = config => ( {
24
25
default : generateVariantFunction ( ( ) => { } ) ,
25
26
'group-hover' : generateVariantFunction ( ( { modifySelectors, separator } ) => {
26
27
return modifySelectors ( ( { selector } ) => {
27
28
return selectorParser ( selectors => {
28
29
selectors . walkClasses ( sel => {
29
30
sel . value = `group-hover${ separator } ${ sel . value } `
30
- sel . parent . insertBefore ( sel , selectorParser ( ) . astSync ( '.group:hover ' ) )
31
+ sel . parent . insertBefore (
32
+ sel ,
33
+ selectorParser ( ) . astSync ( prefixSelector ( config . prefix , '.group:hover ' ) )
34
+ )
31
35
} )
32
36
} ) . processSync ( selector )
33
37
} )
@@ -42,12 +46,12 @@ const defaultVariantGenerators = {
42
46
last : generatePseudoClassVariant ( 'last-child' , 'last' ) ,
43
47
odd : generatePseudoClassVariant ( 'nth-child(odd)' , 'odd' ) ,
44
48
even : generatePseudoClassVariant ( 'nth-child(even)' , 'even' ) ,
45
- }
49
+ } )
46
50
47
51
export default function ( config , { variantGenerators : pluginVariantGenerators } ) {
48
52
return function ( css ) {
49
53
const variantGenerators = {
50
- ...defaultVariantGenerators ,
54
+ ...defaultVariantGenerators ( config ) ,
51
55
...pluginVariantGenerators ,
52
56
}
53
57
0 commit comments