diff --git a/packages/core/src/utils/variantGroup.ts b/packages/core/src/utils/variantGroup.ts index fa2c6c10c0..056d9b3447 100644 --- a/packages/core/src/utils/variantGroup.ts +++ b/packages/core/src/utils/variantGroup.ts @@ -1,6 +1,6 @@ import type MagicString from 'magic-string' -export const regexClassGroup = /((?:[!\w+:_/-]|\[&?>?:?.*\])+?)([:-])\(((?:[~!\w\s:/\\,%#.$-]|\[.*?\])+?)\)(?!\s*?=>)/gm +export const regexClassGroup = /((?:[!@\w+:_/-]|\[&?>?:?.*\])+?)([:-])\(((?:[~!\w\s:/\\,%#.$-]|\[.*?\])+?)\)(?!\s*?=>)/gm export function expandVariantGroup(str: string, separators?: string[], depth?: number): string export function expandVariantGroup(str: MagicString, separators?: string[], depth?: number): MagicString diff --git a/test/variant-group.test.ts b/test/variant-group.test.ts index 705ae9cb6c..ab93a47297 100644 --- a/test/variant-group.test.ts +++ b/test/variant-group.test.ts @@ -47,4 +47,9 @@ describe('variant-group', () => { ] `) }) + + test('expand @', async () => { + expect(expandVariantGroup('@a:(c-d d-c)')).toEqual('@a:c-d @a:d-c') + expect(expandVariantGroup('!@a:(c-d d-c)')).toEqual('!@a:c-d !@a:d-c') + }) })