Properly handle pseudo-elements with group-hover variant

This commit is contained in:
Adam Wathan 2019-06-13 07:52:37 -04:00
parent 737f1ecde0
commit eeb2947204
2 changed files with 9 additions and 3 deletions

View file

@ -24,8 +24,13 @@ function ensureIncludesDefault(variants) {
const defaultVariantGenerators = {
default: generateVariantFunction(() => {}),
'group-hover': generateVariantFunction(({ modifySelectors, separator }) => {
return modifySelectors(({ className }) => {
return `.group:hover .${e(`group-hover${separator}${className}`)}`
return modifySelectors(({ selector }) => {
return selectorParser(selectors => {
selectors.walkClasses(sel => {
sel.value = `group-hover${separator}${sel.value}`
sel.parent.insertBefore(sel, selectorParser().astSync('.group:hover '))
})
}).processSync(selector)
})
}),
hover: generatePseudoClassVariant('hover'),