@godxjp/ui 28.7.0 → 28.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/components/data-display/index.d.ts +2 -0
  2. package/dist/components/data-display/index.js +2 -0
  3. package/dist/components/data-display/marquee.d.ts +16 -0
  4. package/dist/components/data-display/marquee.js +155 -0
  5. package/dist/components/general/reveal.d.ts +23 -2
  6. package/dist/components/general/reveal.js +37 -7
  7. package/dist/components/general/typography.d.ts +4 -1
  8. package/dist/components/general/typography.js +14 -1
  9. package/dist/components/layout/affix.d.ts +86 -0
  10. package/dist/components/layout/affix.js +187 -0
  11. package/dist/components/layout/index.d.ts +4 -0
  12. package/dist/components/layout/index.js +4 -0
  13. package/dist/components/layout/legal-document-shell.js +4 -3
  14. package/dist/components/layout/masonry.d.ts +74 -0
  15. package/dist/components/layout/masonry.js +214 -0
  16. package/dist/components/layout/page-container.js +5 -20
  17. package/dist/components/navigation/anchor.d.ts +64 -0
  18. package/dist/components/navigation/anchor.js +284 -0
  19. package/dist/components/navigation/index.d.ts +4 -0
  20. package/dist/components/navigation/index.js +4 -0
  21. package/dist/components/navigation/mega-menu.d.ts +21 -0
  22. package/dist/components/navigation/mega-menu.js +526 -0
  23. package/dist/contracts/measurement.json +1 -1
  24. package/dist/i18n/messages/en.json +517 -0
  25. package/dist/i18n/messages/ja.json +513 -0
  26. package/dist/i18n/messages/vi.json +513 -0
  27. package/dist/lib/hooks.d.ts +68 -0
  28. package/dist/lib/hooks.js +52 -0
  29. package/dist/lib/platform.d.ts +14 -0
  30. package/dist/lib/platform.js +10 -1
  31. package/dist/lib/utils.d.ts +1 -1
  32. package/dist/lib/utils.js +3 -2
  33. package/dist/lib/variants.js +4 -1
  34. package/dist/props/components/data-display.prop.d.ts +95 -1
  35. package/dist/props/components/general.prop.d.ts +47 -3
  36. package/dist/props/components/layout.prop.d.ts +194 -0
  37. package/dist/props/components/navigation.prop.d.ts +263 -0
  38. package/dist/props/registry.d.ts +359 -4
  39. package/dist/props/registry.js +472 -3
  40. package/dist/props/vocabulary/index.d.ts +1 -1
  41. package/dist/props/vocabulary/interaction.prop.d.ts +39 -2
  42. package/dist/props/vocabulary/layout.prop.d.ts +1 -1
  43. package/dist/styles/base.css +47 -14
  44. package/dist/styles/card-layout.css +2 -2
  45. package/dist/styles/chart-layout.css +6 -6
  46. package/dist/styles/control.css +15 -10
  47. package/dist/styles/data-display-layout.css +22 -6
  48. package/dist/styles/density.css +6 -0
  49. package/dist/styles/dialog-layout.css +4 -1
  50. package/dist/styles/focus-ring.css +4 -1
  51. package/dist/styles/layout.css +92 -3
  52. package/dist/styles/motion.css +121 -1
  53. package/dist/styles/navigation-layout.css +397 -1
  54. package/dist/styles/shell-layout.css +28 -21
  55. package/dist/styles/text-layout.css +134 -15
  56. package/dist/tokens/base.css +5 -0
  57. package/dist/tokens/components/activity.css +13 -4
  58. package/dist/tokens/components/affix.css +7 -0
  59. package/dist/tokens/components/anchor.css +17 -0
  60. package/dist/tokens/components/attachments.css +1 -1
  61. package/dist/tokens/components/badge.css +1 -1
  62. package/dist/tokens/components/card.css +28 -7
  63. package/dist/tokens/components/chart.css +4 -1
  64. package/dist/tokens/components/chat-composer.css +4 -1
  65. package/dist/tokens/components/control.css +72 -33
  66. package/dist/tokens/components/conversations.css +4 -1
  67. package/dist/tokens/components/data-display.css +42 -15
  68. package/dist/tokens/components/data-entry.css +8 -2
  69. package/dist/tokens/components/descriptions.css +1 -1
  70. package/dist/tokens/components/feedback.css +8 -5
  71. package/dist/tokens/components/float-button.css +8 -2
  72. package/dist/tokens/components/form.css +1 -1
  73. package/dist/tokens/components/legal-document.css +12 -3
  74. package/dist/tokens/components/logo.css +15 -6
  75. package/dist/tokens/components/marquee.css +7 -0
  76. package/dist/tokens/components/masonry.css +6 -0
  77. package/dist/tokens/components/mega-menu.css +71 -0
  78. package/dist/tokens/components/navigation.css +37 -13
  79. package/dist/tokens/components/segmented.css +4 -1
  80. package/dist/tokens/components/separator.css +4 -1
  81. package/dist/tokens/components/shell.css +99 -31
  82. package/dist/tokens/components/table.css +11 -5
  83. package/dist/tokens/components/thought-chain.css +4 -1
  84. package/dist/tokens/components/toggle.css +4 -1
  85. package/dist/tokens/components/tree.css +1 -1
  86. package/dist/tokens/components/upload.css +21 -9
  87. package/dist/tokens/foundation.css +35 -30
  88. package/dist/tokens/semantic/layout.css +26 -5
  89. package/docs/COMPOSITION-VS-COMPONENT.md +19 -1
  90. package/docs/DESIGN-AUTHORITY.md +99 -18
  91. package/docs/FRAME-COVERAGE-REPORT.md +7 -2
  92. package/docs/TOKENS.md +16 -1
  93. package/docs/data-display/marquee.tsx +254 -0
  94. package/docs/foundation/_theme-editor-scope.ts +222 -0
  95. package/docs/foundation/density.tsx +12 -2
  96. package/docs/foundation/spacing.tsx +5 -0
  97. package/docs/foundation/theme-editor.tsx +645 -0
  98. package/docs/general/activity.tsx +65 -0
  99. package/docs/general/reveal.tsx +290 -22
  100. package/docs/general/typography.tsx +91 -1
  101. package/docs/layout/affix.tsx +209 -0
  102. package/docs/layout/masonry.tsx +291 -0
  103. package/docs/navigation/anchor.tsx +285 -0
  104. package/docs/navigation/mega-menu-panel.tsx +86 -0
  105. package/docs/navigation/mega-menu.tsx +254 -0
  106. package/docs/roadmap/website-components.md +779 -0
  107. package/docs/showcase/acme-website.tsx +75 -39
  108. package/docs/showcase/case4-login.tsx +10 -2
  109. package/docs/showcase/case5-shift-calendar.tsx +1 -1
  110. package/docs/showcase/case6-agency-handy.tsx +6 -6
  111. package/docs/showcase/futurelastic-web.tsx +89 -49
  112. package/docs/showcase/marketing-page.tsx +885 -0
  113. package/docs/showcase/table-expandable-rows.tsx +4 -1
  114. package/docs/showcase/table-footer-totals.tsx +12 -2
  115. package/docs/showcase/theme-customization.tsx +1259 -0
  116. package/package.json +6 -3
  117. package/scripts/brand-accent.generated.mjs +27 -0
  118. package/scripts/ui-audit.mjs +66 -0
  119. package/scripts/visual-audit-rules.mjs +46 -2
@@ -6,25 +6,67 @@
6
6
  }
7
7
 
8
8
  [data-slot="text"][data-size="2xs"] {
9
- font-size: var(--font-size-2xs);
9
+ font-size: var(
10
+ --font-size-2xs,
11
+ calc(var(--font-size-base) / var(--font-size-ratio) / var(--font-size-ratio))
12
+ );
10
13
  }
11
14
  [data-slot="text"][data-size="xs"] {
12
- font-size: var(--font-size-xs);
15
+ font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
13
16
  }
14
17
  [data-slot="text"][data-size="sm"] {
15
- font-size: var(--font-size-sm);
18
+ font-size: var(--font-size-sm, var(--font-size-base));
16
19
  }
17
20
  [data-slot="text"][data-size="md"] {
18
21
  font-size: var(--font-size-base);
19
22
  }
20
23
  [data-slot="text"][data-size="lg"] {
21
- font-size: var(--font-size-lg);
24
+ font-size: var(
25
+ --font-size-lg,
26
+ calc(var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio))
27
+ );
22
28
  }
23
29
  [data-slot="text"][data-size="xl"] {
24
- font-size: var(--font-size-xl);
30
+ font-size: var(
31
+ --font-size-xl,
32
+ calc(
33
+ var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio) *
34
+ var(--font-size-ratio)
35
+ )
36
+ );
25
37
  }
26
38
  [data-slot="text"][data-size="2xl"] {
27
- font-size: var(--font-size-2xl);
39
+ font-size: var(
40
+ --font-size-2xl,
41
+ calc(
42
+ var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio) *
43
+ var(--font-size-ratio) * var(--font-size-ratio)
44
+ )
45
+ );
46
+ }
47
+
48
+ [data-slot="text"][data-size="3xl"],
49
+ [data-slot="text"][data-size="4xl"],
50
+ [data-slot="text"][data-size="5xl"] {
51
+ line-height: var(--line-height-tight);
52
+ letter-spacing: var(--letter-spacing-tight);
53
+ }
54
+ [data-slot="text"][data-size="3xl"] {
55
+ font-size: var(
56
+ --font-size-3xl,
57
+ calc(
58
+ var(--font-size-display) / var(--font-size-display-ratio) / var(--font-size-display-ratio)
59
+ )
60
+ );
61
+ }
62
+ [data-slot="text"][data-size="4xl"] {
63
+ font-size: var(
64
+ --font-size-4xl,
65
+ calc(var(--font-size-display) / var(--font-size-display-ratio))
66
+ );
67
+ }
68
+ [data-slot="text"][data-size="5xl"] {
69
+ font-size: var(--font-size-5xl, var(--font-size-display));
28
70
  }
29
71
 
30
72
  [data-slot="text"][data-weight="regular"],
@@ -116,6 +158,7 @@
116
158
  [data-slot="text"][data-whitespace="pre-wrap"] {
117
159
  white-space: pre-wrap;
118
160
  overflow-wrap: break-word;
161
+ min-inline-size: 0;
119
162
  }
120
163
 
121
164
  [data-slot="text"][data-clamp] {
@@ -154,24 +197,100 @@
154
197
  letter-spacing: var(--letter-spacing-tight);
155
198
  line-height: var(--line-height-tight);
156
199
  }
157
- [data-slot="heading"][data-level="1"] {
158
- font-size: var(--heading-h1);
200
+
201
+ [data-slot="heading"][data-level="1"]:not([data-size]) {
202
+ font-size: var(
203
+ --heading-h1,
204
+ calc(
205
+ var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio) *
206
+ var(--font-size-ratio)
207
+ )
208
+ );
209
+ }
210
+ [data-slot="heading"][data-level="2"]:not([data-size]) {
211
+ font-size: var(
212
+ --heading-h2,
213
+ calc(var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio))
214
+ );
215
+ }
216
+ [data-slot="heading"][data-level="3"]:not([data-size]) {
217
+ font-size: var(--heading-h3, var(--font-size-base));
159
218
  }
160
- [data-slot="heading"][data-level="2"] {
161
- font-size: var(--heading-h2);
219
+ [data-slot="heading"][data-level="4"]:not([data-size]) {
220
+ font-size: var(
221
+ --heading-h4,
222
+ var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)))
223
+ );
224
+ }
225
+
226
+ [data-slot="heading"][data-size="2xs"] {
227
+ font-size: var(
228
+ --font-size-2xs,
229
+ calc(var(--font-size-base) / var(--font-size-ratio) / var(--font-size-ratio))
230
+ );
231
+ }
232
+ [data-slot="heading"][data-size="xs"] {
233
+ font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
234
+ }
235
+ [data-slot="heading"][data-size="sm"] {
236
+ font-size: var(--font-size-sm, var(--font-size-base));
237
+ }
238
+ [data-slot="heading"][data-size="md"] {
239
+ font-size: var(--font-size-base);
240
+ }
241
+ [data-slot="heading"][data-size="lg"] {
242
+ font-size: var(
243
+ --font-size-lg,
244
+ calc(var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio))
245
+ );
162
246
  }
163
- [data-slot="heading"][data-level="3"] {
164
- font-size: var(--heading-h3);
247
+ [data-slot="heading"][data-size="xl"] {
248
+ font-size: var(
249
+ --font-size-xl,
250
+ calc(
251
+ var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio) *
252
+ var(--font-size-ratio)
253
+ )
254
+ );
165
255
  }
166
- [data-slot="heading"][data-level="4"] {
167
- font-size: var(--heading-h4);
256
+ [data-slot="heading"][data-size="2xl"] {
257
+ font-size: var(
258
+ --font-size-2xl,
259
+ calc(
260
+ var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio) *
261
+ var(--font-size-ratio) * var(--font-size-ratio)
262
+ )
263
+ );
264
+ }
265
+ [data-slot="heading"][data-size="3xl"] {
266
+ font-size: var(
267
+ --font-size-3xl,
268
+ calc(
269
+ var(--font-size-display) / var(--font-size-display-ratio) / var(--font-size-display-ratio)
270
+ )
271
+ );
272
+ }
273
+ [data-slot="heading"][data-size="4xl"] {
274
+ font-size: var(
275
+ --font-size-4xl,
276
+ calc(var(--font-size-display) / var(--font-size-display-ratio))
277
+ );
278
+ }
279
+ [data-slot="heading"][data-size="5xl"] {
280
+ font-size: var(--font-size-5xl, var(--font-size-display));
168
281
  }
169
282
  }
170
283
 
171
284
  @layer components {
172
285
 
173
286
  [data-slot="heading"][data-level="5"] {
174
- font-size: var(--heading-h5);
287
+ font-size: var(
288
+ --heading-h5,
289
+ var(
290
+ --font-size-2xs,
291
+ calc(var(--font-size-base) / var(--font-size-ratio) / var(--font-size-ratio))
292
+ )
293
+ );
175
294
  }
176
295
 
177
296
  [data-slot="text"][data-disabled],
@@ -44,3 +44,8 @@
44
44
  @import "./components/conversations.css";
45
45
  @import "./components/float-button.css";
46
46
  @import "./components/draggable-panel.css";
47
+ @import "./components/masonry.css";
48
+ @import "./components/mega-menu.css";
49
+ @import "./components/marquee.css";
50
+ @import "./components/affix.css";
51
+ @import "./components/anchor.css";
@@ -12,10 +12,19 @@
12
12
 
13
13
  --activity-gap: var(--space-1);
14
14
 
15
- --activity-font-size-xs: var(--font-size-2xs);
16
- --activity-font-size-sm: var(--font-size-xs);
17
- --activity-font-size-md: var(--font-size-sm);
18
- --activity-font-size-lg: var(--font-size-lg);
15
+ --activity-font-size-xs: var(
16
+ --font-size-2xs,
17
+ calc(var(--font-size-base) / var(--font-size-ratio) / var(--font-size-ratio))
18
+ );
19
+ --activity-font-size-sm: var(
20
+ --font-size-xs,
21
+ calc(var(--font-size-base) / var(--font-size-ratio))
22
+ );
23
+ --activity-font-size-md: var(--font-size-sm, var(--font-size-base));
24
+ --activity-font-size-lg: var(
25
+ --font-size-lg,
26
+ calc(var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio))
27
+ );
19
28
 
20
29
  --activity-bar-width: 4rem;
21
30
  --activity-bar-radius: var(--radius-pill);
@@ -0,0 +1,7 @@
1
+
2
+ :root {
3
+
4
+ --affix-inset-block-start: 0px;
5
+
6
+ --affix-inset-block-end: 0px;
7
+ }
@@ -0,0 +1,17 @@
1
+
2
+ :root {
3
+
4
+ --anchor-ink-width: 2px;
5
+
6
+ --anchor-ink-color: initial;
7
+
8
+ --anchor-track-color: initial;
9
+
10
+ --anchor-item-padding-block: var(--space-1);
11
+
12
+ --anchor-item-padding-inline: var(--space-3);
13
+
14
+ --anchor-nested-padding-inline: var(--space-4);
15
+
16
+ --anchor-gap: var(--space-inline-lg);
17
+ }
@@ -7,7 +7,7 @@
7
7
  --attachments-placeholder-space-inset: var(--upload-dropzone-space-inset);
8
8
  --attachments-placeholder-radius: var(--upload-dropzone-radius);
9
9
  --attachments-placeholder-icon-size: var(--upload-dropzone-icon-size);
10
- --attachments-placeholder-title-font-size: var(--font-size-sm);
10
+ --attachments-placeholder-title-font-size: var(--font-size-sm, var(--font-size-base));
11
11
  --attachments-placeholder-description-font-size: var(--upload-dropzone-meta-font-size);
12
12
  --attachments-placeholder-gap: var(--space-2);
13
13
  --attachments-drop-overlay-background: initial;
@@ -6,7 +6,7 @@
6
6
  --badge-space-y: var(--space-1);
7
7
 
8
8
  --badge-radius: var(--radius-md);
9
- --badge-font-size: var(--font-size-xs);
9
+ --badge-font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
10
10
 
11
11
  --badge-line-height: calc(1 / 0.75);
12
12
 
@@ -20,7 +20,7 @@
20
20
  --card-title-font-size: var(--font-size-base);
21
21
  --card-title-line-height: var(--line-height-tight);
22
22
  --card-title-font-weight: var(--font-weight-semibold);
23
- --card-description-font-size: var(--font-size-sm);
23
+ --card-description-font-size: var(--font-size-sm, var(--font-size-base));
24
24
  --card-description-line-height: var(--line-height-normal);
25
25
 
26
26
  --card-background: initial;
@@ -47,13 +47,25 @@
47
47
 
48
48
  --card-featured-border-color: initial;
49
49
  --card-featured-ring-width: var(--stroke-hairline);
50
- --stat-card-label-font-size: var(--font-size-xs);
50
+ --stat-card-label-font-size: var(
51
+ --font-size-xs,
52
+ calc(var(--font-size-base) / var(--font-size-ratio))
53
+ );
51
54
  --stat-card-label-font-weight: var(--font-weight-medium);
52
55
  --stat-card-label-letter-spacing: 0.04em;
53
- --stat-card-value-font-size: var(--font-size-2xl);
56
+ --stat-card-value-font-size: var(
57
+ --font-size-2xl,
58
+ calc(
59
+ var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio) *
60
+ var(--font-size-ratio) * var(--font-size-ratio)
61
+ )
62
+ );
54
63
  --stat-card-value-line-height: 1.1;
55
64
  --stat-card-value-font-weight: var(--font-weight-semibold);
56
- --stat-card-hint-font-size: var(--font-size-xs);
65
+ --stat-card-hint-font-size: var(
66
+ --font-size-xs,
67
+ calc(var(--font-size-base) / var(--font-size-ratio))
68
+ );
57
69
  --stat-card-gap: var(--space-stack-xs);
58
70
  --stat-card-icon-size: var(--icon-size-2xl);
59
71
  --stat-card-icon-glyph-size: var(--icon-size-lg);
@@ -61,7 +73,10 @@
61
73
 
62
74
  --stat-card-icon-background: initial;
63
75
  --stat-card-icon-foreground: initial;
64
- --stat-card-delta-font-size: var(--font-size-xs);
76
+ --stat-card-delta-font-size: var(
77
+ --font-size-xs,
78
+ calc(var(--font-size-base) / var(--font-size-ratio))
79
+ );
65
80
 
66
81
  --card-service-launcher-space-gap: var(--space-stack-sm);
67
82
 
@@ -75,10 +90,16 @@
75
90
  --card-service-launcher-unavailable-icon-background: initial;
76
91
  --card-service-launcher-unavailable-icon-foreground: initial;
77
92
 
78
- --card-service-launcher-description-font-size: var(--font-size-xs);
93
+ --card-service-launcher-description-font-size: var(
94
+ --font-size-xs,
95
+ calc(var(--font-size-base) / var(--font-size-ratio))
96
+ );
79
97
  --card-service-launcher-description-line-height: var(--line-height-body);
80
98
 
81
- --card-service-launcher-metadata-font-size: var(--font-size-xs);
99
+ --card-service-launcher-metadata-font-size: var(
100
+ --font-size-xs,
101
+ calc(var(--font-size-base) / var(--font-size-ratio))
102
+ );
82
103
  --card-service-launcher-metadata-line-height: var(--line-height-normal);
83
104
 
84
105
  --card-service-launcher-cta-min-height: calc(var(--control-height-lg) * 4);
@@ -24,7 +24,10 @@
24
24
 
25
25
  --chart-trend-baseline-border: initial;
26
26
  --chart-trend-tick-gap: var(--space-1);
27
- --chart-trend-tick-font-size: var(--font-size-xs);
27
+ --chart-trend-tick-font-size: var(
28
+ --font-size-xs,
29
+ calc(var(--font-size-base) / var(--font-size-ratio))
30
+ );
28
31
 
29
32
  --chart-trend-footer-gap: var(--space-2);
30
33
  }
@@ -15,5 +15,8 @@
15
15
 
16
16
  --chat-composer-header-border: initial;
17
17
 
18
- --chat-composer-footer-font-size: var(--font-size-xs);
18
+ --chat-composer-footer-font-size: var(
19
+ --font-size-xs,
20
+ calc(var(--font-size-base) / var(--font-size-ratio))
21
+ );
19
22
  }
@@ -37,7 +37,7 @@
37
37
  --control-variant-filled-background: var(--muted);
38
38
  --control-variant-filled-hover-background: initial;
39
39
 
40
- --control-count-font-size: var(--font-size-sm);
40
+ --control-count-font-size: var(--font-size-sm, var(--font-size-base));
41
41
  --control-count-color: var(--muted-foreground);
42
42
 
43
43
  --control-count-exceeded-color: initial;
@@ -49,11 +49,17 @@
49
49
  --input-addon-color: var(--muted-foreground);
50
50
  --input-addon-padding-inline: var(--control-padding-x);
51
51
 
52
- --switch-content-font-size: var(--font-size-xs);
52
+ --switch-content-font-size: var(
53
+ --font-size-xs,
54
+ calc(var(--font-size-base) / var(--font-size-ratio))
55
+ );
53
56
  --switch-content-space-inline: var(--space-1);
54
57
  --switch-spinner-size: calc(var(--switch-thumb-size) - var(--space-1));
55
58
 
56
- --slider-mark-font-size: var(--font-size-xs);
59
+ --slider-mark-font-size: var(
60
+ --font-size-xs,
61
+ calc(var(--font-size-base) / var(--font-size-ratio))
62
+ );
57
63
  --slider-mark-color: var(--muted-foreground);
58
64
  --slider-mark-space-block-start: var(--space-2);
59
65
  --slider-dot-size: var(--slider-track-height);
@@ -62,7 +68,10 @@
62
68
  --slider-dot-active-border-color: initial;
63
69
  --slider-tooltip-background: var(--popover);
64
70
  --slider-tooltip-color: var(--popover-foreground);
65
- --slider-tooltip-font-size: var(--font-size-xs);
71
+ --slider-tooltip-font-size: var(
72
+ --font-size-xs,
73
+ calc(var(--font-size-base) / var(--font-size-ratio))
74
+ );
66
75
  --slider-tooltip-radius: var(--radius-sm);
67
76
  --slider-tooltip-padding-inline: var(--space-2);
68
77
  --slider-tooltip-offset-block: var(--space-2);
@@ -161,14 +170,29 @@
161
170
  var(--search-input-edge-inset) + var(--control-icon-size) + var(--control-gap)
162
171
  );
163
172
 
164
- --choice-description-font-size: var(--font-size-xs);
165
- --color-picker-hex-font-size: var(--font-size-xs);
166
- --command-group-heading-font-size: var(--font-size-xs);
167
- --search-input-label-font-size: var(--font-size-xs);
168
- --tag-input-chip-font-size: var(--font-size-xs);
169
- --toggle-sm-font-size: var(--font-size-xs);
170
- --toggle-xs-font-size: var(--font-size-xs);
171
- --button-sm-font-size: var(--font-size-xs);
173
+ --choice-description-font-size: var(
174
+ --font-size-xs,
175
+ calc(var(--font-size-base) / var(--font-size-ratio))
176
+ );
177
+ --color-picker-hex-font-size: var(
178
+ --font-size-xs,
179
+ calc(var(--font-size-base) / var(--font-size-ratio))
180
+ );
181
+ --command-group-heading-font-size: var(
182
+ --font-size-xs,
183
+ calc(var(--font-size-base) / var(--font-size-ratio))
184
+ );
185
+ --search-input-label-font-size: var(
186
+ --font-size-xs,
187
+ calc(var(--font-size-base) / var(--font-size-ratio))
188
+ );
189
+ --tag-input-chip-font-size: var(
190
+ --font-size-xs,
191
+ calc(var(--font-size-base) / var(--font-size-ratio))
192
+ );
193
+ --toggle-sm-font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
194
+ --toggle-xs-font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
195
+ --button-sm-font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
172
196
  }
173
197
 
174
198
  :root {
@@ -207,7 +231,7 @@
207
231
  --control-composite-field-space-gap: var(--space-2);
208
232
 
209
233
  --input-file-button-height: var(--band-height-sm);
210
- --input-file-button-font-size: var(--font-size-sm);
234
+ --input-file-button-font-size: var(--font-size-sm, var(--font-size-base));
211
235
 
212
236
  --search-select-panel-max-width: 32rem;
213
237
 
@@ -218,13 +242,16 @@
218
242
  --search-select-list-max-height: none;
219
243
  --search-select-footer-space-inset: var(--space-1);
220
244
  --search-select-option-space-gap: var(--space-2);
221
- --search-select-option-font-size: var(--font-size-sm);
222
- --search-select-option-sublabel-font-size: var(--font-size-xs);
245
+ --search-select-option-font-size: var(--font-size-sm, var(--font-size-base));
246
+ --search-select-option-sublabel-font-size: var(
247
+ --font-size-xs,
248
+ calc(var(--font-size-base) / var(--font-size-ratio))
249
+ );
223
250
  --search-select-status-space-inline: var(--space-2);
224
251
  --search-select-status-space-block: var(--space-3);
225
252
 
226
253
  --search-select-placeholder-space-block: var(--space-6);
227
- --search-select-status-font-size: var(--font-size-sm);
254
+ --search-select-status-font-size: var(--font-size-sm, var(--font-size-base));
228
255
  --search-select-spinner-size: 1rem;
229
256
 
230
257
  --cascader-column-min-width: 9rem;
@@ -234,7 +261,7 @@
234
261
  --cascader-option-space-inline: var(--space-3);
235
262
  --cascader-option-space-block: var(--space-2);
236
263
  --cascader-option-space-gap: var(--space-1);
237
- --cascader-option-font-size: var(--font-size-sm);
264
+ --cascader-option-font-size: var(--font-size-sm, var(--font-size-base));
238
265
  --cascader-option-icon-size: var(--icon-size-md);
239
266
 
240
267
  --cascader-result-space-inline: var(--space-2);
@@ -258,11 +285,14 @@
258
285
  --time-picker-panel-width-12h: 13rem;
259
286
  --time-picker-heading-space-inline: var(--space-1);
260
287
  --time-picker-heading-space-block: 0.375rem;
261
- --time-picker-heading-font-size: var(--font-size-xs);
288
+ --time-picker-heading-font-size: var(
289
+ --font-size-xs,
290
+ calc(var(--font-size-base) / var(--font-size-ratio))
291
+ );
262
292
  --time-picker-column-space-inset: var(--space-1);
263
293
  --time-picker-option-space-block: 0.375rem;
264
294
  --time-picker-option-radius: var(--radius-md);
265
- --time-picker-option-font-size: var(--font-size-sm);
295
+ --time-picker-option-font-size: var(--font-size-sm, var(--font-size-base));
266
296
  --time-picker-footer-space-inset: var(--space-2);
267
297
  --time-picker-footer-space-gap: var(--space-2);
268
298
 
@@ -272,7 +302,7 @@
272
302
  --tree-select-row-space-block: 0.375rem;
273
303
  --tree-select-row-space-inline-end: var(--space-2);
274
304
  --tree-select-row-radius: var(--radius-sm);
275
- --tree-select-row-font-size: var(--font-size-sm);
305
+ --tree-select-row-font-size: var(--font-size-sm, var(--font-size-base));
276
306
 
277
307
  --tree-select-depth-space-base: var(--space-2);
278
308
  --tree-select-depth-space-step: 1.25rem;
@@ -285,7 +315,7 @@
285
315
 
286
316
  --calendar-month-space-gap: var(--space-4);
287
317
  --calendar-caption-space-inline: var(--space-8);
288
- --calendar-caption-font-size: var(--font-size-sm);
318
+ --calendar-caption-font-size: var(--font-size-sm, var(--font-size-base));
289
319
  --calendar-nav-space-block-start: var(--space-3);
290
320
 
291
321
  --calendar-nav-space-inline: var(--calendar-space-inset);
@@ -294,9 +324,12 @@
294
324
 
295
325
  --calendar-grid-space-block-start: var(--space-3);
296
326
  --calendar-week-space-block-start: var(--space-2);
297
- --calendar-weekday-font-size: var(--font-size-xs);
327
+ --calendar-weekday-font-size: var(
328
+ --font-size-xs,
329
+ calc(var(--font-size-base) / var(--font-size-ratio))
330
+ );
298
331
  --calendar-weekday-radius: var(--radius-md);
299
- --calendar-day-font-size: var(--font-size-sm);
332
+ --calendar-day-font-size: var(--font-size-sm, var(--font-size-base));
300
333
  --calendar-day-radius: var(--radius-md);
301
334
  --calendar-chevron-size: var(--icon-size-md);
302
335
  --calendar-footer-space-gap: var(--space-2);
@@ -312,7 +345,7 @@
312
345
  --transfer-panes-space-gap: var(--space-3);
313
346
  --transfer-header-space-inline: var(--space-3);
314
347
  --transfer-header-space-block: var(--space-2);
315
- --transfer-header-font-size: var(--font-size-sm);
348
+ --transfer-header-font-size: var(--font-size-sm, var(--font-size-base));
316
349
  --transfer-header-space-gap: var(--space-2);
317
350
  --transfer-search-space-inset: var(--space-2);
318
351
  --transfer-list-space-inset: var(--space-1);
@@ -320,10 +353,13 @@
320
353
  --transfer-row-space-block: var(--space-2);
321
354
  --transfer-row-space-gap: var(--space-2);
322
355
  --transfer-row-radius: var(--radius-sm);
323
- --transfer-row-font-size: var(--font-size-sm);
356
+ --transfer-row-font-size: var(--font-size-sm, var(--font-size-base));
324
357
 
325
358
  --transfer-row-check-space-block-start: 0.125rem;
326
- --transfer-row-description-font-size: var(--font-size-xs);
359
+ --transfer-row-description-font-size: var(
360
+ --font-size-xs,
361
+ calc(var(--font-size-base) / var(--font-size-ratio))
362
+ );
327
363
  --transfer-empty-space-block: var(--space-8);
328
364
  --transfer-actions-space-gap: var(--space-2);
329
365
  --transfer-action-icon-size: var(--icon-size-md);
@@ -332,7 +368,7 @@
332
368
  --month-picker-grid-space-block-start: var(--space-3);
333
369
  --month-picker-grid-space-gap: var(--space-1);
334
370
  --month-picker-cell-space-inline: var(--space-4);
335
- --month-picker-nav-font-size: var(--font-size-sm);
371
+ --month-picker-nav-font-size: var(--font-size-sm, var(--font-size-base));
336
372
 
337
373
  --month-picker-nav-rest-alpha: var(--calendar-nav-rest-alpha);
338
374
  --month-picker-icon-size: var(--icon-size-md);
@@ -343,7 +379,7 @@
343
379
  --button-bare-target-size: initial;
344
380
  --button-xs-space-inline: var(--space-2);
345
381
  --button-xs-space-gap: var(--space-1);
346
- --button-xs-font-size: var(--font-size-xs);
382
+ --button-xs-font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
347
383
  --button-xs-icon-size: var(--icon-size-xs);
348
384
 
349
385
  --button-icon-space-inline-md: var(--space-3);
@@ -358,7 +394,10 @@
358
394
 
359
395
  --button-count-min-width: var(--space-4);
360
396
  --button-count-space-inline: var(--space-1);
361
- --button-count-font-size: var(--font-size-xs);
397
+ --button-count-font-size: var(
398
+ --font-size-xs,
399
+ calc(var(--font-size-base) / var(--font-size-ratio))
400
+ );
362
401
 
363
402
  --button-count-background: initial;
364
403
  --button-count-color: initial;
@@ -369,7 +408,7 @@
369
408
  --button-count-secondary-background: initial;
370
409
  --button-count-secondary-color: initial;
371
410
 
372
- --control-label-font-size: var(--font-size-sm);
411
+ --control-label-font-size: var(--font-size-sm, var(--font-size-base));
373
412
 
374
413
  --control-label-line-height: var(--line-height-normal);
375
414
 
@@ -377,11 +416,11 @@
377
416
 
378
417
  --control-label-disabled-alpha: 0.7;
379
418
 
380
- --control-surface-border-color: hsl(var(--input));
381
- --control-surface-background: hsl(var(--background));
419
+ --control-surface-border-color: initial;
420
+ --control-surface-background: initial;
382
421
 
383
422
  --control-filled-border-color: transparent;
384
- --control-filled-background: hsl(var(--muted));
423
+ --control-filled-background: initial;
385
424
  --control-filled-shadow: none;
386
425
 
387
426
  --control-borderless-border-color: transparent;
@@ -9,7 +9,10 @@
9
9
  --conversations-item-gap: var(--space-inline-sm);
10
10
  --conversations-item-padding-inline: var(--space-inline-sm);
11
11
  --conversations-item-radius: var(--radius);
12
- --conversations-item-font-size: var(--font-size-xs);
12
+ --conversations-item-font-size: var(
13
+ --font-size-xs,
14
+ calc(var(--font-size-base) / var(--font-size-ratio))
15
+ );
13
16
 
14
17
  --conversations-item-color: initial;
15
18
  --conversations-item-active-background: initial;