@godxjp/ui 28.8.0 → 28.10.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 (271) hide show
  1. package/agent/START-HERE.md +193 -0
  2. package/agent/anti-ai-tells.json +158 -0
  3. package/agent/components/Accordion.json +60 -0
  4. package/agent/components/AccountChip.json +59 -0
  5. package/agent/components/Actions.json +78 -0
  6. package/agent/components/Activity.json +80 -0
  7. package/agent/components/Affix.json +78 -0
  8. package/agent/components/Alert.json +65 -0
  9. package/agent/components/AlertDialog.json +109 -0
  10. package/agent/components/AlertDialogRoot.json +52 -0
  11. package/agent/components/Anchor.json +119 -0
  12. package/agent/components/AppLauncher.json +95 -0
  13. package/agent/components/AppProvider.json +105 -0
  14. package/agent/components/AppSettingPicker.json +88 -0
  15. package/agent/components/AppSettingToggle.json +70 -0
  16. package/agent/components/AppShell.json +159 -0
  17. package/agent/components/AreaChart.json +105 -0
  18. package/agent/components/AspectRatio.json +38 -0
  19. package/agent/components/Attachments.json +76 -0
  20. package/agent/components/AuthAccountSummary.json +64 -0
  21. package/agent/components/AuthDivider.json +35 -0
  22. package/agent/components/AuthFooter.json +48 -0
  23. package/agent/components/AuthIdentity.json +42 -0
  24. package/agent/components/AuthShell.json +108 -0
  25. package/agent/components/AuthStack.json +21 -0
  26. package/agent/components/Avatar.json +89 -0
  27. package/agent/components/Badge.json +96 -0
  28. package/agent/components/Banner.json +48 -0
  29. package/agent/components/BarChart.json +108 -0
  30. package/agent/components/BranchScopePicker.json +89 -0
  31. package/agent/components/Breadcrumb.json +54 -0
  32. package/agent/components/Button.json +133 -0
  33. package/agent/components/Calendar.json +259 -0
  34. package/agent/components/Callout.json +46 -0
  35. package/agent/components/Card.json +112 -0
  36. package/agent/components/CardBar.json +49 -0
  37. package/agent/components/CardContent.json +51 -0
  38. package/agent/components/Carousel.json +50 -0
  39. package/agent/components/Cascader.json +209 -0
  40. package/agent/components/CenteredShell.json +66 -0
  41. package/agent/components/ChatBubble.json +100 -0
  42. package/agent/components/ChatBubbleList.json +64 -0
  43. package/agent/components/ChatComposer.json +160 -0
  44. package/agent/components/ChatSuggestion.json +86 -0
  45. package/agent/components/Checkbox.json +68 -0
  46. package/agent/components/CheckboxGroup.json +96 -0
  47. package/agent/components/CodeBlock.json +64 -0
  48. package/agent/components/Collapsible.json +74 -0
  49. package/agent/components/ColorPicker.json +87 -0
  50. package/agent/components/Command.json +168 -0
  51. package/agent/components/CommandPalette.json +84 -0
  52. package/agent/components/CompactBarTrend.json +101 -0
  53. package/agent/components/Conversations.json +82 -0
  54. package/agent/components/CredentialReveal.json +93 -0
  55. package/agent/components/DataState.json +79 -0
  56. package/agent/components/DataTable.json +268 -0
  57. package/agent/components/DatePicker.json +275 -0
  58. package/agent/components/Descriptions.json +67 -0
  59. package/agent/components/Dialog.json +78 -0
  60. package/agent/components/DraggablePanel.json +106 -0
  61. package/agent/components/DropdownMenu.json +102 -0
  62. package/agent/components/EmptyState.json +83 -0
  63. package/agent/components/ErrorSurface.json +128 -0
  64. package/agent/components/FeatureList.json +43 -0
  65. package/agent/components/Field.json +64 -0
  66. package/agent/components/FilterBar.json +99 -0
  67. package/agent/components/Flex.json +153 -0
  68. package/agent/components/FloatButton.json +91 -0
  69. package/agent/components/Form.json +87 -0
  70. package/agent/components/FormErrors.json +51 -0
  71. package/agent/components/FormField.json +137 -0
  72. package/agent/components/FormFieldArray.json +39 -0
  73. package/agent/components/FormFieldControl.json +129 -0
  74. package/agent/components/FormRoot.json +122 -0
  75. package/agent/components/Heading.json +61 -0
  76. package/agent/components/HoverCard.json +55 -0
  77. package/agent/components/Icon.json +60 -0
  78. package/agent/components/InfiniteQueryState.json +58 -0
  79. package/agent/components/Input.json +122 -0
  80. package/agent/components/InputOTP.json +106 -0
  81. package/agent/components/Label.json +43 -0
  82. package/agent/components/LegalDocumentShell.json +102 -0
  83. package/agent/components/Legend.json +42 -0
  84. package/agent/components/LineChart.json +103 -0
  85. package/agent/components/Link.json +41 -0
  86. package/agent/components/ListRow.json +92 -0
  87. package/agent/components/Logo.json +85 -0
  88. package/agent/components/Marquee.json +91 -0
  89. package/agent/components/Masonry.json +82 -0
  90. package/agent/components/MasterDetail.json +95 -0
  91. package/agent/components/MegaMenu.json +120 -0
  92. package/agent/components/MobileShell.json +73 -0
  93. package/agent/components/NavList.json +63 -0
  94. package/agent/components/NumberInput.json +158 -0
  95. package/agent/components/OrgSwitcher.json +89 -0
  96. package/agent/components/OverlayPortalProvider.json +42 -0
  97. package/agent/components/PageContainer.json +181 -0
  98. package/agent/components/Pagination.json +132 -0
  99. package/agent/components/Paragraph.json +40 -0
  100. package/agent/components/PasswordInput.json +79 -0
  101. package/agent/components/PasswordStrength.json +51 -0
  102. package/agent/components/PermissionMatrix.json +81 -0
  103. package/agent/components/PieChart.json +99 -0
  104. package/agent/components/Popover.json +110 -0
  105. package/agent/components/PrefetchLink.json +65 -0
  106. package/agent/components/Progress.json +79 -0
  107. package/agent/components/Prose.json +57 -0
  108. package/agent/components/QrCode.json +62 -0
  109. package/agent/components/Radio.json +98 -0
  110. package/agent/components/RadioGroup.json +91 -0
  111. package/agent/components/RangeTimeline.json +80 -0
  112. package/agent/components/Rating.json +92 -0
  113. package/agent/components/ResizablePanel.json +69 -0
  114. package/agent/components/ResponsiveGrid.json +77 -0
  115. package/agent/components/Reveal.json +70 -0
  116. package/agent/components/ScrollArea.json +104 -0
  117. package/agent/components/SearchInput.json +98 -0
  118. package/agent/components/Segmented.json +96 -0
  119. package/agent/components/Select.json +397 -0
  120. package/agent/components/Separator.json +86 -0
  121. package/agent/components/ServiceCatalogCta.json +46 -0
  122. package/agent/components/ServiceLauncherCard.json +86 -0
  123. package/agent/components/ServiceRolePanel.json +83 -0
  124. package/agent/components/Sheet.json +85 -0
  125. package/agent/components/Sidebar.json +118 -0
  126. package/agent/components/Skeleton.json +57 -0
  127. package/agent/components/SkeletonArticle.json +71 -0
  128. package/agent/components/SkeletonAvatar.json +50 -0
  129. package/agent/components/SkeletonButton.json +57 -0
  130. package/agent/components/SkeletonForm.json +52 -0
  131. package/agent/components/SkeletonImage.json +37 -0
  132. package/agent/components/SkeletonInput.json +51 -0
  133. package/agent/components/SkeletonNode.json +42 -0
  134. package/agent/components/SkeletonRows.json +49 -0
  135. package/agent/components/SkeletonTable.json +45 -0
  136. package/agent/components/Slider.json +160 -0
  137. package/agent/components/SplitPane.json +66 -0
  138. package/agent/components/StatCard.json +83 -0
  139. package/agent/components/Steps.json +95 -0
  140. package/agent/components/Swatch.json +41 -0
  141. package/agent/components/Switch.json +81 -0
  142. package/agent/components/Table.json +112 -0
  143. package/agent/components/Tabs.json +158 -0
  144. package/agent/components/TagInput.json +105 -0
  145. package/agent/components/Text.json +201 -0
  146. package/agent/components/Textarea.json +126 -0
  147. package/agent/components/ThoughtChain.json +76 -0
  148. package/agent/components/Thumbnail.json +70 -0
  149. package/agent/components/TimePicker.json +200 -0
  150. package/agent/components/TimeRangePicker.json +90 -0
  151. package/agent/components/Timeline.json +47 -0
  152. package/agent/components/TimelineGrid.json +92 -0
  153. package/agent/components/Title.json +67 -0
  154. package/agent/components/Toaster.json +42 -0
  155. package/agent/components/Toggle.json +90 -0
  156. package/agent/components/ToggleGroup.json +102 -0
  157. package/agent/components/Toolbar.json +120 -0
  158. package/agent/components/Tooltip.json +110 -0
  159. package/agent/components/Topbar.json +83 -0
  160. package/agent/components/TopbarItem.json +79 -0
  161. package/agent/components/Transfer.json +141 -0
  162. package/agent/components/Tree.json +185 -0
  163. package/agent/components/TreeSelect.json +232 -0
  164. package/agent/components/TwoFactorSetup.json +79 -0
  165. package/agent/components/Typography.json +42 -0
  166. package/agent/components/Upload.json +221 -0
  167. package/agent/components/UploadCropDialog.json +60 -0
  168. package/agent/components/VisuallyHidden.json +20 -0
  169. package/agent/components/Welcome.json +65 -0
  170. package/agent/components/formatDate.json +46 -0
  171. package/agent/components/inertiaUpload.json +32 -0
  172. package/agent/components/useZodForm.json +39 -0
  173. package/agent/components-index.json +884 -0
  174. package/agent/components.json +15507 -0
  175. package/agent/index.json +56 -0
  176. package/agent/llms.txt +32 -0
  177. package/agent/patterns/account-recovery-settings.json +19 -0
  178. package/agent/patterns/async-data-state.json +20 -0
  179. package/agent/patterns/auth-recovery-panels.json +29 -0
  180. package/agent/patterns/badge-coloring.json +14 -0
  181. package/agent/patterns/common-fixes.json +16 -0
  182. package/agent/patterns/confirm-destructive.json +11 -0
  183. package/agent/patterns/data-table-page.json +18 -0
  184. package/agent/patterns/deferred-loading.json +12 -0
  185. package/agent/patterns/error-pages.json +28 -0
  186. package/agent/patterns/inertia-detail-page.json +13 -0
  187. package/agent/patterns/inertia-list-page.json +15 -0
  188. package/agent/patterns/inertia-persistent-layout.json +14 -0
  189. package/agent/patterns/organization-memberships.json +19 -0
  190. package/agent/patterns/page-sections.json +18 -0
  191. package/agent/patterns/settings-page-responsive.json +18 -0
  192. package/agent/patterns/settings-section-rows.json +23 -0
  193. package/agent/patterns/signup-form.json +13 -0
  194. package/agent/patterns/topbar-account-chip.json +18 -0
  195. package/agent/patterns/transactional-email.json +22 -0
  196. package/agent/patterns-index.json +323 -0
  197. package/agent/patterns.json +342 -0
  198. package/agent/rules.json +237 -0
  199. package/agent/tokens.json +8422 -0
  200. package/agent/vocabulary.json +198 -0
  201. package/dist/components/data-entry/input.js +8 -1
  202. package/dist/components/layout/flex.d.ts +2 -2
  203. package/dist/components/layout/flex.js +2 -0
  204. package/dist/components/ui/tag-input.d.ts +10 -0
  205. package/dist/components/ui/tag-input.js +35 -2
  206. package/dist/contracts/measurement.json +1 -1
  207. package/dist/i18n/messages/en.json +23 -1
  208. package/dist/i18n/messages/ja.json +21 -1
  209. package/dist/i18n/messages/vi.json +21 -1
  210. package/dist/lib/variants.js +4 -1
  211. package/dist/props/components/data-entry.prop.d.ts +21 -2
  212. package/dist/props/components/layout.prop.d.ts +42 -0
  213. package/dist/props/registry.d.ts +9 -0
  214. package/dist/props/registry.js +6 -0
  215. package/dist/props/vocabulary/layout.prop.d.ts +1 -1
  216. package/dist/styles/base.css +47 -14
  217. package/dist/styles/card-layout.css +6 -6
  218. package/dist/styles/chart-layout.css +6 -6
  219. package/dist/styles/control.css +41 -6
  220. package/dist/styles/data-display-layout.css +21 -6
  221. package/dist/styles/density.css +2 -0
  222. package/dist/styles/dialog-layout.css +4 -1
  223. package/dist/styles/focus-ring.css +4 -1
  224. package/dist/styles/layout.css +30 -3
  225. package/dist/styles/navigation-layout.css +3 -1
  226. package/dist/styles/shell-layout.css +27 -21
  227. package/dist/styles/table-layout.css +50 -9
  228. package/dist/styles/text-layout.css +94 -23
  229. package/dist/tokens/components/activity.css +13 -4
  230. package/dist/tokens/components/attachments.css +1 -1
  231. package/dist/tokens/components/badge.css +1 -1
  232. package/dist/tokens/components/card.css +28 -7
  233. package/dist/tokens/components/chart.css +4 -1
  234. package/dist/tokens/components/chat-composer.css +4 -1
  235. package/dist/tokens/components/control.css +69 -30
  236. package/dist/tokens/components/conversations.css +4 -1
  237. package/dist/tokens/components/data-display.css +42 -15
  238. package/dist/tokens/components/data-entry.css +8 -2
  239. package/dist/tokens/components/descriptions.css +1 -1
  240. package/dist/tokens/components/feedback.css +8 -5
  241. package/dist/tokens/components/float-button.css +8 -2
  242. package/dist/tokens/components/legal-document.css +12 -3
  243. package/dist/tokens/components/logo.css +15 -6
  244. package/dist/tokens/components/mega-menu.css +14 -5
  245. package/dist/tokens/components/navigation.css +37 -13
  246. package/dist/tokens/components/segmented.css +9 -2
  247. package/dist/tokens/components/separator.css +4 -1
  248. package/dist/tokens/components/shell.css +96 -31
  249. package/dist/tokens/components/table.css +13 -6
  250. package/dist/tokens/components/thought-chain.css +4 -1
  251. package/dist/tokens/components/toggle.css +4 -1
  252. package/dist/tokens/components/tree.css +1 -1
  253. package/dist/tokens/components/upload.css +21 -9
  254. package/dist/tokens/foundation.css +24 -30
  255. package/dist/tokens/semantic/layout.css +19 -5
  256. package/docs/COMPOSITION-VS-COMPONENT.md +41 -0
  257. package/docs/DESIGN-AUTHORITY.md +14 -0
  258. package/docs/DEVELOPMENT.md +81 -6
  259. package/docs/TOKENS.md +16 -1
  260. package/docs/data-entry/tag-input.tsx +37 -0
  261. package/docs/layout/flex.tsx +40 -0
  262. package/docs/roadmap/website-components.md +34 -0
  263. package/docs/showcase/case4-login.tsx +10 -2
  264. package/docs/showcase/case5-shift-calendar.tsx +1 -1
  265. package/docs/showcase/case6-agency-handy.tsx +6 -6
  266. package/docs/showcase/futurelastic-web.tsx +7 -9
  267. package/docs/showcase/marketing-page.tsx +61 -52
  268. package/docs/showcase/table-expandable-rows.tsx +4 -1
  269. package/docs/showcase/table-pagination.tsx +88 -18
  270. package/docs/showcase/theme-customization.tsx +25 -2
  271. package/package.json +8 -5
@@ -130,17 +130,38 @@
130
130
  --color-wa-sumi: var(--wa-sumi);
131
131
  --color-wa-nezu: var(--wa-nezu);
132
132
 
133
- --text-2xs: var(--font-size-2xs);
134
- --text-xs: var(--font-size-xs);
135
- --text-sm: var(--font-size-sm);
133
+ --text-2xs: var(
134
+ --font-size-2xs,
135
+ calc(var(--font-size-base) / var(--font-size-ratio) / var(--font-size-ratio))
136
+ );
137
+ --text-xs: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
138
+ --text-sm: var(--font-size-sm, var(--font-size-base));
136
139
  --text-base: var(--font-size-base);
137
- --text-lg: var(--font-size-lg);
138
- --text-xl: var(--font-size-xl);
139
- --text-2xl: var(--font-size-2xl);
140
+ --text-lg: var(
141
+ --font-size-lg,
142
+ calc(var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio))
143
+ );
144
+ --text-xl: var(
145
+ --font-size-xl,
146
+ calc(
147
+ var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio) *
148
+ var(--font-size-ratio)
149
+ )
150
+ );
151
+ --text-2xl: var(
152
+ --font-size-2xl,
153
+ calc(
154
+ var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio) *
155
+ var(--font-size-ratio) * var(--font-size-ratio)
156
+ )
157
+ );
140
158
 
141
- --text-3xl: var(--font-size-3xl);
142
- --text-4xl: var(--font-size-4xl);
143
- --text-5xl: var(--font-size-5xl);
159
+ --text-3xl: var(
160
+ --font-size-3xl,
161
+ calc(var(--font-size-display) / var(--font-size-display-ratio) / var(--font-size-display-ratio))
162
+ );
163
+ --text-4xl: var(--font-size-4xl, calc(var(--font-size-display) / var(--font-size-display-ratio)));
164
+ --text-5xl: var(--font-size-5xl, var(--font-size-display));
144
165
  }
145
166
 
146
167
  @layer base {
@@ -175,32 +196,44 @@
175
196
  }
176
197
 
177
198
  h1 {
178
- font-size: var(--heading-h1);
199
+ font-size: var(
200
+ --heading-h1,
201
+ calc(
202
+ var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio) *
203
+ var(--font-size-ratio)
204
+ )
205
+ );
179
206
  font-weight: var(--font-weight-medium);
180
207
  line-height: var(--line-height-tight);
181
208
  }
182
209
 
183
210
  h2 {
184
- font-size: var(--heading-h2);
211
+ font-size: var(
212
+ --heading-h2,
213
+ calc(var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio))
214
+ );
185
215
  font-weight: var(--font-weight-medium);
186
216
  line-height: var(--line-height-tight);
187
217
  }
188
218
 
189
219
  h3 {
190
- font-size: var(--heading-h3);
220
+ font-size: var(--heading-h3, var(--font-size-base));
191
221
  font-weight: var(--font-weight-medium);
192
222
  line-height: var(--line-height-tight);
193
223
  }
194
224
 
195
225
  h4 {
196
- font-size: var(--heading-h4);
226
+ font-size: var(
227
+ --heading-h4,
228
+ var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)))
229
+ );
197
230
  font-weight: var(--font-weight-medium);
198
231
  line-height: var(--line-height-tight);
199
232
  }
200
233
 
201
234
  h5,
202
235
  h6 {
203
- font-size: var(--font-size-xs);
236
+ font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
204
237
  font-weight: var(--font-weight-medium);
205
238
  line-height: var(--line-height-tight);
206
239
  }
@@ -264,13 +264,13 @@
264
264
  padding-bottom: var(--card-space-body-y);
265
265
  }
266
266
 
267
- [data-slot="card"]:has([data-slot="card-header"] [data-slot="card-action"])
268
- [data-slot="card-content"]:not([data-tight]):not([data-flush]) {
267
+ [data-slot="card-header"]:has([data-slot="card-action"])
268
+ + [data-slot="card-content"]:not([data-tight]):not([data-flush]) {
269
269
  padding-top: 0;
270
270
  }
271
271
 
272
- [data-slot="card"]:has([data-slot="card-header"] [data-slot="card-description"])
273
- [data-slot="card-content"]:not([data-tight]):not([data-flush]) {
272
+ [data-slot="card-header"]:has([data-slot="card-description"])
273
+ + [data-slot="card-content"]:not([data-tight]):not([data-flush]) {
274
274
  padding-top: var(--card-space-body-y);
275
275
  }
276
276
 
@@ -666,7 +666,7 @@
666
666
 
667
667
  [data-slot="service-launcher-skeleton-status"] {
668
668
  width: var(--card-service-launcher-skeleton-status-width);
669
- height: var(--font-size-xs);
669
+ height: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
670
670
  margin-inline-start: auto;
671
671
  }
672
672
 
@@ -674,7 +674,7 @@
674
674
  [data-slot="service-launcher-skeleton-metadata"],
675
675
  [data-slot="service-launcher-skeleton-action"] {
676
676
  width: 100%;
677
- height: var(--font-size-xs);
677
+ height: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
678
678
  }
679
679
 
680
680
  [data-slot="service-launcher-skeleton-action"] {
@@ -10,7 +10,7 @@
10
10
  }
11
11
 
12
12
  .ui-chart-title {
13
- font-size: var(--font-size-sm);
13
+ font-size: var(--font-size-sm, var(--font-size-base));
14
14
  font-weight: var(--font-weight-medium);
15
15
  color: hsl(var(--foreground));
16
16
  }
@@ -22,7 +22,7 @@
22
22
 
23
23
  .ui-chart .recharts-text,
24
24
  .ui-chart .recharts-legend-item-text {
25
- font-size: var(--font-size-xs);
25
+ font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
26
26
  fill: hsl(var(--muted-foreground));
27
27
  color: hsl(var(--muted-foreground));
28
28
  }
@@ -36,12 +36,12 @@
36
36
  border: 1px solid hsl(var(--border)) !important;
37
37
  background: hsl(var(--popover)) !important;
38
38
  color: hsl(var(--popover-foreground));
39
- font-size: var(--font-size-xs);
39
+ font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
40
40
  }
41
41
 
42
42
  .ui-chart-footer {
43
43
  margin-block-start: var(--chart-trend-footer-gap);
44
- font-size: var(--font-size-xs);
44
+ font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
45
45
  color: hsl(var(--muted-foreground));
46
46
  }
47
47
 
@@ -118,7 +118,7 @@
118
118
  overflow: hidden;
119
119
  font-size: var(--chart-trend-tick-font-size);
120
120
 
121
- line-height: var(--line-height-normal);
121
+ line-height: var(--line-height-normal);
122
122
  color: hsl(var(--muted-foreground));
123
123
  text-align: center;
124
124
  text-overflow: ellipsis;
@@ -131,7 +131,7 @@
131
131
  inset-inline-start: 0;
132
132
  visibility: hidden;
133
133
  margin-inline-end: var(--chart-category-axis-gap);
134
- font-size: var(--font-size-xs);
134
+ font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
135
135
  white-space: nowrap;
136
136
  pointer-events: none;
137
137
  }
@@ -100,7 +100,7 @@
100
100
 
101
101
  .ui-button {
102
102
  flex-shrink: 0;
103
- font-size: var(--font-size-sm);
103
+ font-size: var(--font-size-sm, var(--font-size-base));
104
104
  outline: none;
105
105
  }
106
106
 
@@ -560,7 +560,9 @@
560
560
 
561
561
  .ui-switch-thumb {
562
562
  pointer-events: none;
563
- display: block;
563
+
564
+ display: grid;
565
+ place-items: center;
564
566
  width: var(--switch-thumb-size);
565
567
  height: var(--switch-thumb-size);
566
568
  border-radius: var(--radius-pill);
@@ -859,7 +861,7 @@
859
861
  .ui-command-palette-meta {
860
862
  margin-inline-start: auto;
861
863
  color: hsl(var(--muted-foreground));
862
- font-size: var(--font-size-xs);
864
+ font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
863
865
  }
864
866
 
865
867
  .ui-command-palette-state {
@@ -878,7 +880,7 @@
878
880
  padding: var(--command-palette-hint-padding-y) var(--command-palette-hint-padding-x);
879
881
  color: hsl(var(--muted-foreground));
880
882
  font-family: var(--font-mono);
881
- font-size: var(--font-size-xs);
883
+ font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
882
884
  }
883
885
 
884
886
  .ui-search-input {
@@ -1195,8 +1197,13 @@
1195
1197
 
1196
1198
  .ui-segmented-item[data-state="checked"] {
1197
1199
  background: hsl(var(--segmented-item-selected-background));
1198
- box-shadow: var(--segmented-item-selected-shadow);
1200
+
1201
+ box-shadow:
1202
+ var(--segmented-item-selected-shadow),
1203
+ inset 0 0 0 1px hsl(var(--segmented-item-selected-border-color, var(--input)));
1199
1204
  color: hsl(var(--segmented-item-selected-color));
1205
+
1206
+ font-weight: var(--segmented-item-selected-font-weight);
1200
1207
  }
1201
1208
 
1202
1209
  .ui-segmented-item[data-disabled] {
@@ -1332,6 +1339,13 @@
1332
1339
  cursor: pointer;
1333
1340
  }
1334
1341
 
1342
+ .ui-toggle > svg,
1343
+ .ui-control-trigger > svg {
1344
+ inline-size: var(--control-icon-size);
1345
+ block-size: var(--control-icon-size);
1346
+ flex-shrink: 0;
1347
+ }
1348
+
1335
1349
  .ui-control-trigger:disabled,
1336
1350
  .ui-control-trigger[data-disabled] {
1337
1351
  cursor: not-allowed;
@@ -2102,6 +2116,13 @@
2102
2116
  color: hsl(var(--muted-foreground));
2103
2117
  }
2104
2118
 
2119
+ .ui-input-leading > svg,
2120
+ .ui-input-trailing > svg {
2121
+ inline-size: var(--control-icon-size);
2122
+ block-size: var(--control-icon-size);
2123
+ flex-shrink: 0;
2124
+ }
2125
+
2105
2126
  .ui-input-trailing {
2106
2127
  inset-inline-end: var(--control-inline-affix-inset-inline);
2107
2128
  }
@@ -2873,6 +2894,12 @@
2873
2894
  white-space: nowrap;
2874
2895
  }
2875
2896
 
2897
+ .ui-input-addon > svg {
2898
+ inline-size: var(--control-icon-size);
2899
+ block-size: var(--control-icon-size);
2900
+ flex-shrink: 0;
2901
+ }
2902
+
2876
2903
  .ui-input-group > [data-slot="input-addon-before"] {
2877
2904
  border-start-start-radius: var(--control-radius);
2878
2905
  border-end-start-radius: var(--control-radius);
@@ -2887,12 +2914,14 @@
2887
2914
 
2888
2915
  .ui-input-group:has(> [data-slot="input-addon-before"]) .ui-input,
2889
2916
  .ui-input-group:has(> [data-slot="input-addon-before"]) .ui-input-affix-wrapper {
2917
+ --input-radius-start: 0;
2890
2918
  border-start-start-radius: 0;
2891
2919
  border-end-start-radius: 0;
2892
2920
  }
2893
2921
 
2894
2922
  .ui-input-group:has(> [data-slot="input-addon-after"]) .ui-input,
2895
2923
  .ui-input-group:has(> [data-slot="input-addon-after"]) .ui-input-affix-wrapper {
2924
+ --input-radius-end: 0;
2896
2925
  border-start-end-radius: 0;
2897
2926
  border-end-end-radius: 0;
2898
2927
  }
@@ -2959,7 +2988,13 @@
2959
2988
  }
2960
2989
 
2961
2990
  .ui-slider[data-has-marks="true"]:not([data-orientation="vertical"]) {
2962
- margin-block-end: calc(var(--slider-mark-space-block-start) + var(--font-size-lg));
2991
+ margin-block-end: calc(
2992
+ var(--slider-mark-space-block-start) +
2993
+ var(
2994
+ --font-size-lg,
2995
+ calc(var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio))
2996
+ )
2997
+ );
2963
2998
  }
2964
2999
 
2965
3000
  .ui-slider-marks {
@@ -1159,19 +1159,31 @@
1159
1159
  }
1160
1160
 
1161
1161
  .ui-prose h1 {
1162
- font-size: var(--heading-h1);
1162
+ font-size: var(
1163
+ --heading-h1,
1164
+ calc(
1165
+ var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio) *
1166
+ var(--font-size-ratio)
1167
+ )
1168
+ );
1163
1169
  }
1164
1170
 
1165
1171
  .ui-prose h2 {
1166
- font-size: var(--heading-h2);
1172
+ font-size: var(
1173
+ --heading-h2,
1174
+ calc(var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio))
1175
+ );
1167
1176
  }
1168
1177
 
1169
1178
  .ui-prose h3 {
1170
- font-size: var(--heading-h3);
1179
+ font-size: var(--heading-h3, var(--font-size-base));
1171
1180
  }
1172
1181
 
1173
1182
  .ui-prose h4 {
1174
- font-size: var(--heading-h4);
1183
+ font-size: var(
1184
+ --heading-h4,
1185
+ var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)))
1186
+ );
1175
1187
  }
1176
1188
 
1177
1189
  .ui-prose :is(ul, ol) {
@@ -1220,7 +1232,7 @@
1220
1232
 
1221
1233
  .ui-prose :is(th, td) {
1222
1234
  border: var(--stroke-hairline) solid hsl(var(--border));
1223
- padding: var(--table-cell-padding-y) var(--table-cell-space-x);
1235
+ padding: var(--table-cell-padding-y) var(--table-cell-space-x, var(--space-section-active));
1224
1236
  text-align: start;
1225
1237
  vertical-align: top;
1226
1238
  }
@@ -2059,7 +2071,10 @@
2059
2071
 
2060
2072
  .ui-tree[data-size="xs"] {
2061
2073
  --tree-node-height: var(--control-height-xs);
2062
- --tree-node-font-size: var(--font-size-xs);
2074
+ --tree-node-font-size: var(
2075
+ --font-size-xs,
2076
+ calc(var(--font-size-base) / var(--font-size-ratio))
2077
+ );
2063
2078
  }
2064
2079
 
2065
2080
  .ui-tree[data-size="sm"] {
@@ -61,6 +61,8 @@
61
61
  --space-inline-sm: var(--space-2);
62
62
  --space-inline-md: var(--space-3);
63
63
  --space-inline-lg: var(--space-4);
64
+
65
+ --space-inline-xl: var(--space-6);
64
66
  --space-chrome-x: var(--space-6);
65
67
  --space-chrome-y: var(--space-4);
66
68
  --space-chrome-gap: var(--space-2);
@@ -163,7 +163,10 @@
163
163
  }
164
164
 
165
165
  [data-slot="dialog-title"] {
166
- font-size: var(--font-size-lg);
166
+ font-size: var(
167
+ --font-size-lg,
168
+ calc(var(--font-size-base) * var(--font-size-ratio) * var(--font-size-ratio))
169
+ );
167
170
  font-weight: var(--font-weight-semibold);
168
171
  line-height: var(--line-height-tight);
169
172
  letter-spacing: var(--letter-spacing-tight);
@@ -56,7 +56,10 @@
56
56
  .ui-otp-slot[data-active="true"],
57
57
  .ui-otp-group[data-appearance="grouped"]:has(.ui-otp-slot[data-active="true"]) {
58
58
  outline: var(--focus-ring-width) solid
59
- hsl(var(--focus-outline-color, var(--focus-ring-color, var(--ring))) / var(--focus-ring-opacity, 1));
59
+ hsl(
60
+ var(--focus-outline-color, var(--focus-ring-color, var(--ring))) /
61
+ var(--focus-ring-opacity, 1)
62
+ );
60
63
  outline-offset: var(--focus-ring-offset);
61
64
 
62
65
  transition:
@@ -142,6 +142,23 @@
142
142
  flex: none;
143
143
  }
144
144
 
145
+ .ui-flex[data-measure] {
146
+ margin-inline: auto;
147
+ inline-size: 100%;
148
+ }
149
+
150
+ .ui-flex[data-measure="narrow"] {
151
+ max-inline-size: var(--page-measure-narrow);
152
+ }
153
+
154
+ .ui-flex[data-measure="medium"] {
155
+ max-inline-size: var(--page-measure-medium);
156
+ }
157
+
158
+ .ui-flex[data-measure="wide"] {
159
+ max-inline-size: var(--page-measure-wide);
160
+ }
161
+
145
162
  .ui-flex[data-align="start"] {
146
163
  align-items: flex-start;
147
164
  }
@@ -218,6 +235,13 @@
218
235
  gap: var(--space-12);
219
236
  }
220
237
 
238
+ .ui-flex-gap-20 {
239
+ gap: var(--space-20);
240
+ }
241
+ .ui-flex-gap-24 {
242
+ gap: var(--space-24);
243
+ }
244
+
221
245
  .ui-flex[data-direction="row"].ui-flex-gap-xs {
222
246
  gap: var(--space-inline-xs);
223
247
  }
@@ -1693,13 +1717,16 @@
1693
1717
  }
1694
1718
  }
1695
1719
  .ui-separator[data-label-size="2xs"] .ui-separator-label {
1696
- font-size: var(--font-size-2xs);
1720
+ font-size: var(
1721
+ --font-size-2xs,
1722
+ calc(var(--font-size-base) / var(--font-size-ratio) / var(--font-size-ratio))
1723
+ );
1697
1724
  }
1698
1725
  .ui-separator[data-label-size="xs"] .ui-separator-label {
1699
- font-size: var(--font-size-xs);
1726
+ font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
1700
1727
  }
1701
1728
  .ui-separator[data-label-size="sm"] .ui-separator-label {
1702
- font-size: var(--font-size-sm);
1729
+ font-size: var(--font-size-sm, var(--font-size-base));
1703
1730
  }
1704
1731
  .ui-separator[data-label-size="md"] .ui-separator-label {
1705
1732
  font-size: var(--font-size-base);
@@ -441,7 +441,9 @@
441
441
  }
442
442
 
443
443
  .ui-pagination .ui-button svg,
444
- .ui-pagination .ui-pagination-link svg {
444
+ .ui-pagination .ui-pagination-link svg,
445
+
446
+ .ui-pagination .ui-pagination-ellipsis svg {
445
447
  inline-size: var(--pagination-icon-size);
446
448
  block-size: var(--pagination-icon-size);
447
449
  }
@@ -853,14 +853,18 @@
853
853
  grid-template-columns: var(--app-shell-nav-rail-width) minmax(0, 1fr);
854
854
  grid-template-areas: "navrail topbar" "navrail main" "navrail footer";
855
855
  }
856
- .app-root:where([data-sidebar="none"])[data-nav-rail][data-nav-rail-position="start"][data-topbar-span="full"] {
856
+ .app-root:where(
857
+ [data-sidebar="none"]
858
+ )[data-nav-rail][data-nav-rail-position="start"][data-topbar-span="full"] {
857
859
  grid-template-areas: "topbar topbar" "navrail main" "navrail footer";
858
860
  }
859
861
  .app-root:where([data-sidebar="none"])[data-nav-rail][data-nav-rail-position="end"] {
860
862
  grid-template-columns: minmax(0, 1fr) var(--app-shell-nav-rail-width);
861
863
  grid-template-areas: "topbar navrail" "main navrail" "footer navrail";
862
864
  }
863
- .app-root:where([data-sidebar="none"])[data-nav-rail][data-nav-rail-position="end"][data-topbar-span="full"] {
865
+ .app-root:where(
866
+ [data-sidebar="none"]
867
+ )[data-nav-rail][data-nav-rail-position="end"][data-topbar-span="full"] {
864
868
  grid-template-areas: "topbar topbar" "main navrail" "footer navrail";
865
869
  }
866
870
 
@@ -873,12 +877,12 @@
873
877
  minmax(0, 1fr)
874
878
  auto;
875
879
  }
876
- .app-root:where([data-sidebar="none"])[data-nav-rail][data-nav-rail-position="top"][data-topbar-span="full"] {
880
+ .app-root:where(
881
+ [data-sidebar="none"]
882
+ )[data-nav-rail][data-nav-rail-position="top"][data-topbar-span="full"] {
877
883
  grid-template-areas: "navrail" "topbar" "main" "footer";
878
884
  }
879
- .app-root:where([data-sidebar="none"])[data-nav-rail]:is(
880
- [data-nav-rail-position="bottom"]
881
- ) {
885
+ .app-root:where([data-sidebar="none"])[data-nav-rail]:is([data-nav-rail-position="bottom"]) {
882
886
  grid-template-columns: minmax(0, 1fr);
883
887
  grid-template-areas: "topbar" "main" "footer" "navrail";
884
888
  grid-template-rows:
@@ -888,7 +892,9 @@
888
892
  var(--app-shell-nav-rail-height);
889
893
  }
890
894
 
891
- .app-root:where([data-sidebar="none"])[data-nav-rail][data-nav-rail-position="bottom"][data-topbar-span="full"] {
895
+ .app-root:where(
896
+ [data-sidebar="none"]
897
+ )[data-nav-rail][data-nav-rail-position="bottom"][data-topbar-span="full"] {
892
898
  grid-template-areas: "topbar" "main" "footer" "navrail";
893
899
  }
894
900
  }
@@ -908,10 +914,7 @@
908
914
  display: none;
909
915
  }
910
916
 
911
- .app-root[data-nav-rail]:is(
912
- [data-nav-rail-position="top"],
913
- [data-nav-rail-position="bottom"]
914
- ) {
917
+ .app-root[data-nav-rail]:is([data-nav-rail-position="top"], [data-nav-rail-position="bottom"]) {
915
918
  grid-template-rows: var(--app-shell-bar-height) minmax(0, 1fr) auto;
916
919
  }
917
920
 
@@ -1325,16 +1328,11 @@
1325
1328
  }
1326
1329
 
1327
1330
  .ui-app-launcher-launchpad .ui-app-launcher-grid {
1328
- grid-template-columns: repeat(
1329
- auto-fit,
1330
- var(--app-launcher-launchpad-tile-inline-size)
1331
- );
1331
+ grid-template-columns: repeat(auto-fit, var(--app-launcher-launchpad-tile-inline-size));
1332
1332
  max-width: calc(
1333
1333
  var(--app-launcher-columns) *
1334
- (
1335
- var(--app-launcher-launchpad-tile-inline-size) +
1336
- var(--app-launcher-launchpad-grid-gap)
1337
- ) - var(--app-launcher-launchpad-grid-gap)
1334
+ (var(--app-launcher-launchpad-tile-inline-size) + var(--app-launcher-launchpad-grid-gap)) -
1335
+ var(--app-launcher-launchpad-grid-gap)
1338
1336
  );
1339
1337
  justify-content: start;
1340
1338
  gap: var(--app-launcher-launchpad-grid-gap);
@@ -1664,7 +1662,10 @@
1664
1662
  transparent
1665
1663
  )
1666
1664
  );
1667
- color: var(--sidebar-item-active-foreground, hsl(var(--primary-active, from hsl(var(--primary)) var(--primary-active-channels))));
1665
+ color: var(
1666
+ --sidebar-item-active-foreground,
1667
+ hsl(var(--primary-active, from hsl(var(--primary)) var(--primary-active-channels)))
1668
+ );
1668
1669
  font-weight: var(--font-weight-medium);
1669
1670
  }
1670
1671
 
@@ -1740,6 +1741,8 @@
1740
1741
  .sb-nav-group-trigger .sb-chevron {
1741
1742
  margin-inline-start: auto;
1742
1743
  flex: 0 0 auto;
1744
+ inline-size: var(--sidebar-nav-icon-size);
1745
+ block-size: var(--sidebar-nav-icon-size);
1743
1746
  opacity: 0.6;
1744
1747
  transition: transform 150ms ease;
1745
1748
  }
@@ -1781,7 +1784,10 @@
1781
1784
 
1782
1785
  .sb-nav-item--sub[data-active="true"] {
1783
1786
  background: transparent;
1784
- color: var(--sidebar-item-active-foreground, hsl(var(--primary-active, from hsl(var(--primary)) var(--primary-active-channels))));
1787
+ color: var(
1788
+ --sidebar-item-active-foreground,
1789
+ hsl(var(--primary-active, from hsl(var(--primary)) var(--primary-active-channels)))
1790
+ );
1785
1791
  font-weight: var(--font-weight-medium);
1786
1792
  }
1787
1793