Skip to content

Commit e986461

Browse files
committed
fix(preset-wind4): resolve w/h size from theme spacing
close #4693
1 parent 139c3f4 commit e986461

File tree

1 file changed

+19
-13
lines changed
  • packages-presets/preset-wind4/src/rules

1 file changed

+19
-13
lines changed

packages-presets/preset-wind4/src/rules/size.ts

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,29 @@ function getPropName(minmax: string, hw: string) {
1616
function getSizeValue(theme: Theme, hw: string, prop: string) {
1717
let v: string | undefined
1818

19-
if (theme.container?.[prop]) {
20-
themeTracking('container', prop)
21-
v = generateThemeVariable('container', prop)
19+
const keys: (keyof Theme)[] = ['container', 'spacing']
20+
for (const key of keys) {
21+
if ((theme[key] as Record<string, any>)?.[prop]) {
22+
themeTracking(key, prop)
23+
v = generateThemeVariable(key, prop)
24+
break
25+
}
2226
}
2327

24-
switch (prop) {
25-
case 'fit':
26-
case 'max':
27-
case 'min':
28-
v = `${prop}-content`
29-
break
30-
case 'screen':
31-
v = hw === 'w' ? '100vw' : '100vh'
32-
break
28+
if (!v) {
29+
switch (prop) {
30+
case 'fit':
31+
case 'max':
32+
case 'min':
33+
v = `${prop}-content`
34+
break
35+
case 'screen':
36+
v = hw === 'w' ? '100vw' : '100vh'
37+
break
38+
}
3339
}
3440

35-
if (h.number(prop) != null) {
41+
if (!v && h.number(prop) != null) {
3642
themeTracking(`spacing`)
3743
v = `calc(var(--spacing) * ${h.number(prop)})`
3844
}

0 commit comments

Comments
 (0)