Skip to content

Commit

Permalink
refactor group and peer variants to use matchVariant API
Browse files Browse the repository at this point in the history
  • Loading branch information
RobinMalfait committed May 17, 2022
1 parent 24fec23 commit d588816
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions src/corePlugins.js
Expand Up @@ -60,7 +60,7 @@ export let variantPlugins = {
})
},

pseudoClassVariants: ({ addVariant }) => {
pseudoClassVariants: ({ addVariant, matchVariant }) => {
let pseudoVariants = [
// Positional
['first', ':first-child'],
Expand Down Expand Up @@ -132,21 +132,21 @@ export let variantPlugins = {
})
}

for (let [variantName, state] of pseudoVariants) {
addVariant(`group-${variantName}`, (ctx) => {
let result = typeof state === 'function' ? state(ctx) : state

return `:merge(.group)${result} &`
})
}
matchVariant(
{
group: (state, ctx) => {
let result = typeof state === 'function' ? state(ctx) : state

for (let [variantName, state] of pseudoVariants) {
addVariant(`peer-${variantName}`, (ctx) => {
let result = typeof state === 'function' ? state(ctx) : state
return `:merge(.group)${result} &`
},
peer: (state, ctx) => {
let result = typeof state === 'function' ? state(ctx) : state

return `:merge(.peer)${result} ~ &`
})
}
return `:merge(.peer)${result} ~ &`
},
},
{ values: Object.fromEntries(pseudoVariants) }
)
},

directionVariants: ({ addVariant }) => {
Expand Down

0 comments on commit d588816

Please sign in to comment.