Skip to content

Commit d1e00bf

Browse files
committed
fix(preset-wind4): escape css variables
close #4957
1 parent 840170e commit d1e00bf

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

packages-presets/preset-wind4/src/preflights/theme.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { CSSEntry, Preflight } from '@unocss/core'
22
import type { PreflightsTheme, PresetWind4Options } from '..'
33
import type { Theme } from '../theme/types'
4-
import { toArray, uniq } from '@unocss/core'
4+
import { escapeSelector, toArray, uniq } from '@unocss/core'
55
import { alphaPlaceholdersRE } from '@unocss/rule-utils'
66
import { compressCSS, detectThemeValue, getThemeByKey, themeTracking, trackedTheme } from '../utils'
77

@@ -92,7 +92,7 @@ export function theme(options: PresetWind4Options): Preflight<Theme> {
9292
}
9393
}
9494

95-
const resolvedDeps = deps.map(([key, value]) => (key && value) ? `${key}: ${value};` : undefined).filter(Boolean)
95+
const resolvedDeps = deps.map(([key, value]) => (key && value) ? `${escapeSelector(key)}: ${value};` : undefined).filter(Boolean)
9696
if (resolvedDeps.length === 0) {
9797
return undefined
9898
}

packages-presets/preset-wind4/src/utils/utilities.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { CSSEntries, CSSObject, CSSObjectInput, CSSValueInput, DynamicMatcher, RuleContext, StaticRule, VariantContext } from '@unocss/core'
22
import type { Theme } from '../theme'
3-
import { symbols, toArray } from '@unocss/core'
3+
import { escapeSelector, symbols, toArray } from '@unocss/core'
44
import { colorToString, getStringComponent, getStringComponents, isInterpolatedMethod, parseCssColor } from '@unocss/rule-utils'
55
import { SpecialColorKey } from './constant'
66
import { h } from './handlers'
@@ -52,7 +52,7 @@ export function directionSize(
5252
}
5353
else if (theme.spacing && size in theme.spacing) {
5454
themeTracking('spacing', size)
55-
return map[direction].map(i => [formatter(property, i), isNegative ? `calc(var(--spacing-${size}) * -1)` : `var(--spacing-${size})`])
55+
return map[direction].map(i => [formatter(property, i), isNegative ? `calc(var(--${escapeSelector(`spacing-${size}`)}) * -1)` : `var(--${escapeSelector(`spacing-${size}`)})`])
5656
}
5757

5858
v = h.bracket.cssvar.global.auto.fraction.rem(isNegative ? `-${size}` : size)

0 commit comments

Comments
 (0)