diff --git a/packages/preset-mini/src/_rules/variables.ts b/packages/preset-mini/src/_rules/variables.ts index 81e132d894..64716ebf81 100644 --- a/packages/preset-mini/src/_rules/variables.ts +++ b/packages/preset-mini/src/_rules/variables.ts @@ -26,7 +26,7 @@ export const cssVariables: Rule[] = [ ] export const cssProperty: Rule[] = [ - [/^\[(--(\w|\\\W)+|[\w-]+):(.+)\]$/, ([match, prop,, value]) => { + [/^\[(--(\w|\\\W)+|[\w-]+):([^:].*)\]$/, ([match, prop,, value]) => { if (!isURI(match.slice(1, -1))) return { [prop]: h.bracket(`[${value}]`) } }], diff --git a/test/assets/preset-mini-targets.ts b/test/assets/preset-mini-targets.ts index 22bfe107c1..bae1b93d14 100644 --- a/test/assets/preset-mini-targets.ts +++ b/test/assets/preset-mini-targets.ts @@ -1067,6 +1067,7 @@ export const presetMiniNonTargets = [ '[name].[hash:9]', '["update:modelValue"]', '[https://en.wikipedia.org/wiki]', + '[Baz::class]', // escaped arbitrary css properties only allowed in css variables '[cant\~escape:me]', ]