@@ -2,6 +2,7 @@ import _ from 'lodash'
22import postcss from 'postcss'
33import selectorParser from 'postcss-selector-parser'
44import generateVariantFunction from '../util/generateVariantFunction'
5+ import prefixSelector from '../util/prefixSelector'
56
67function generatePseudoClassVariant ( pseudoClass , selectorPrefix = pseudoClass ) {
78 return generateVariantFunction ( ( { modifySelectors, separator } ) => {
@@ -20,14 +21,17 @@ function ensureIncludesDefault(variants) {
2021 return variants . includes ( 'default' ) ? variants : [ 'default' , ...variants ]
2122}
2223
23- const defaultVariantGenerators = {
24+ const defaultVariantGenerators = config => ( {
2425 default : generateVariantFunction ( ( ) => { } ) ,
2526 'group-hover' : generateVariantFunction ( ( { modifySelectors, separator } ) => {
2627 return modifySelectors ( ( { selector } ) => {
2728 return selectorParser ( selectors => {
2829 selectors . walkClasses ( sel => {
2930 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+ )
3135 } )
3236 } ) . processSync ( selector )
3337 } )
@@ -42,12 +46,12 @@ const defaultVariantGenerators = {
4246 last : generatePseudoClassVariant ( 'last-child' , 'last' ) ,
4347 odd : generatePseudoClassVariant ( 'nth-child(odd)' , 'odd' ) ,
4448 even : generatePseudoClassVariant ( 'nth-child(even)' , 'even' ) ,
45- }
49+ } )
4650
4751export default function ( config , { variantGenerators : pluginVariantGenerators } ) {
4852 return function ( css ) {
4953 const variantGenerators = {
50- ...defaultVariantGenerators ,
54+ ...defaultVariantGenerators ( config ) ,
5155 ...pluginVariantGenerators ,
5256 }
5357
0 commit comments