@godxjp/ui 19.6.0 → 20.1.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 (326) hide show
  1. package/README.md +8 -2
  2. package/dist/app/theme-axes.d.ts +2 -0
  3. package/dist/app/theme-axes.js +45 -0
  4. package/dist/components/charts/chart-cartesian.d.ts +2 -1
  5. package/dist/components/charts/chart-cartesian.js +52 -3
  6. package/dist/components/charts/chart-category-axis.d.ts +55 -0
  7. package/dist/components/charts/chart-category-axis.js +93 -0
  8. package/dist/components/charts/chart-frame.d.ts +10 -1
  9. package/dist/components/charts/chart-frame.js +19 -3
  10. package/dist/components/charts/compact-bar-trend.d.ts +1 -1
  11. package/dist/components/charts/compact-bar-trend.js +2 -0
  12. package/dist/components/charts/pie-chart.d.ts +1 -1
  13. package/dist/components/charts/pie-chart.js +12 -1
  14. package/dist/components/charts/recharts-peer.d.ts +49 -0
  15. package/dist/components/charts/recharts-peer.js +45 -0
  16. package/dist/components/data-display/card.d.ts +14 -3
  17. package/dist/components/data-display/card.js +22 -4
  18. package/dist/components/data-display/code-block.js +6 -2
  19. package/dist/components/data-display/collapsible.d.ts +23 -4
  20. package/dist/components/data-display/collapsible.js +119 -4
  21. package/dist/components/data-display/data-table.d.ts +39 -4
  22. package/dist/components/data-display/data-table.js +802 -270
  23. package/dist/components/data-display/descriptions.d.ts +27 -6
  24. package/dist/components/data-display/descriptions.js +58 -17
  25. package/dist/components/data-display/index.d.ts +5 -1
  26. package/dist/components/data-display/index.js +4 -0
  27. package/dist/components/data-display/legend.d.ts +15 -0
  28. package/dist/components/data-display/legend.js +11 -0
  29. package/dist/components/data-display/list-row.d.ts +10 -1
  30. package/dist/components/data-display/list-row.js +8 -2
  31. package/dist/components/data-display/popover.d.ts +60 -7
  32. package/dist/components/data-display/popover.js +268 -39
  33. package/dist/components/data-display/progress.d.ts +50 -2
  34. package/dist/components/data-display/progress.js +57 -9
  35. package/dist/components/data-display/range-timeline.d.ts +38 -0
  36. package/dist/components/data-display/range-timeline.js +161 -0
  37. package/dist/components/data-display/scroll-area.js +13 -2
  38. package/dist/components/data-display/service-launcher-card.js +10 -10
  39. package/dist/components/data-display/table.d.ts +11 -3
  40. package/dist/components/data-display/table.js +48 -18
  41. package/dist/components/data-display/tree-list.js +4 -9
  42. package/dist/components/data-entry/calendar.d.ts +2 -2
  43. package/dist/components/data-entry/calendar.js +79 -33
  44. package/dist/components/data-entry/cascader.d.ts +1 -1
  45. package/dist/components/data-entry/cascader.js +188 -24
  46. package/dist/components/data-entry/checkbox.d.ts +19 -6
  47. package/dist/components/data-entry/checkbox.js +55 -16
  48. package/dist/components/data-entry/choice-option.d.ts +1 -1
  49. package/dist/components/data-entry/color-picker.d.ts +1 -1
  50. package/dist/components/data-entry/color-picker.js +17 -5
  51. package/dist/components/data-entry/control-appearance.d.ts +64 -0
  52. package/dist/components/data-entry/control-appearance.js +39 -0
  53. package/dist/components/data-entry/control-surface.d.ts +61 -0
  54. package/dist/components/data-entry/control-surface.js +39 -0
  55. package/dist/components/data-entry/date-picker.d.ts +1 -1
  56. package/dist/components/data-entry/date-picker.js +344 -113
  57. package/dist/components/data-entry/date-range-picker.d.ts +2 -2
  58. package/dist/components/data-entry/date-range-picker.js +278 -140
  59. package/dist/components/data-entry/field.js +0 -1
  60. package/dist/components/data-entry/form-field.d.ts +1 -1
  61. package/dist/components/data-entry/form-field.js +39 -4
  62. package/dist/components/data-entry/form.d.ts +4 -0
  63. package/dist/components/data-entry/form.js +5 -3
  64. package/dist/components/data-entry/index.d.ts +7 -3
  65. package/dist/components/data-entry/index.js +10 -1
  66. package/dist/components/data-entry/input-otp.d.ts +1 -1
  67. package/dist/components/data-entry/input.d.ts +12 -34
  68. package/dist/components/data-entry/input.js +92 -24
  69. package/dist/components/data-entry/label.d.ts +3 -2
  70. package/dist/components/data-entry/label.js +23 -10
  71. package/dist/components/data-entry/month-picker.d.ts +2 -2
  72. package/dist/components/data-entry/month-picker.js +47 -10
  73. package/dist/components/data-entry/month-range-picker.d.ts +2 -2
  74. package/dist/components/data-entry/month-range-picker.js +51 -11
  75. package/dist/components/data-entry/number-input.d.ts +7 -0
  76. package/dist/components/data-entry/number-input.js +147 -98
  77. package/dist/components/data-entry/password-input.d.ts +1 -1
  78. package/dist/components/data-entry/radio.d.ts +1 -1
  79. package/dist/components/data-entry/radio.js +61 -13
  80. package/dist/components/data-entry/search-input.d.ts +1 -1
  81. package/dist/components/data-entry/search-input.js +16 -2
  82. package/dist/components/data-entry/search-select.d.ts +2 -2
  83. package/dist/components/data-entry/search-select.js +209 -78
  84. package/dist/components/data-entry/select.d.ts +22 -4
  85. package/dist/components/data-entry/select.js +215 -163
  86. package/dist/components/data-entry/slider.d.ts +9 -1
  87. package/dist/components/data-entry/slider.js +87 -9
  88. package/dist/components/data-entry/switch.d.ts +3 -0
  89. package/dist/components/data-entry/switch.js +29 -3
  90. package/dist/components/data-entry/textarea.d.ts +14 -56
  91. package/dist/components/data-entry/textarea.js +80 -33
  92. package/dist/components/data-entry/time-picker.d.ts +2 -2
  93. package/dist/components/data-entry/time-picker.js +333 -109
  94. package/dist/components/data-entry/time-range-picker.d.ts +5 -0
  95. package/dist/components/data-entry/time-range-picker.js +89 -0
  96. package/dist/components/data-entry/transfer.d.ts +1 -1
  97. package/dist/components/data-entry/transfer.js +99 -31
  98. package/dist/components/data-entry/tree-select-strategy.d.ts +1 -1
  99. package/dist/components/data-entry/tree-select.d.ts +1 -1
  100. package/dist/components/data-entry/tree-select.js +197 -92
  101. package/dist/components/data-entry/tree-utils.d.ts +1 -1
  102. package/dist/components/data-entry/tree-utils.js +7 -14
  103. package/dist/components/data-entry/upload-files.d.ts +2 -0
  104. package/dist/components/data-entry/upload-files.js +31 -0
  105. package/dist/components/data-entry/upload-request.d.ts +4 -0
  106. package/dist/components/data-entry/upload-request.js +53 -0
  107. package/dist/components/data-entry/upload-types.d.ts +28 -0
  108. package/dist/components/data-entry/upload-types.js +2 -0
  109. package/dist/components/data-entry/upload.d.ts +2 -2
  110. package/dist/components/data-entry/upload.js +482 -117
  111. package/dist/components/feedback/dialog.d.ts +105 -38
  112. package/dist/components/feedback/dialog.js +268 -193
  113. package/dist/components/feedback/overlay-close-focus.d.ts +31 -0
  114. package/dist/components/feedback/overlay-close-focus.js +31 -0
  115. package/dist/components/feedback/overlay-header-tone.d.ts +1 -1
  116. package/dist/components/feedback/sheet.d.ts +53 -11
  117. package/dist/components/feedback/sheet.js +150 -81
  118. package/dist/components/feedback/tooltip.d.ts +51 -7
  119. package/dist/components/feedback/tooltip.js +107 -25
  120. package/dist/components/general/button.d.ts +1 -1
  121. package/dist/components/general/button.js +7 -3
  122. package/dist/components/general/index.d.ts +1 -0
  123. package/dist/components/general/index.js +2 -0
  124. package/dist/components/general/logo.d.ts +17 -0
  125. package/dist/components/general/logo.js +22 -16
  126. package/dist/components/general/typography.d.ts +3 -0
  127. package/dist/components/general/typography.js +15 -1
  128. package/dist/components/general/visually-hidden.d.ts +3 -0
  129. package/dist/components/general/visually-hidden.js +9 -0
  130. package/dist/components/layout/app-launcher.d.ts +34 -0
  131. package/dist/components/layout/app-launcher.js +228 -0
  132. package/dist/components/layout/app-shell.d.ts +3 -1
  133. package/dist/components/layout/app-shell.js +69 -12
  134. package/dist/components/layout/aspect-ratio.js +0 -1
  135. package/dist/components/layout/auth-divider.js +0 -1
  136. package/dist/components/layout/breadcrumb.d.ts +14 -2
  137. package/dist/components/layout/breadcrumb.js +46 -4
  138. package/dist/components/layout/flex.d.ts +1 -1
  139. package/dist/components/layout/flex.js +41 -3
  140. package/dist/components/layout/index.d.ts +3 -0
  141. package/dist/components/layout/index.js +5 -1
  142. package/dist/components/layout/nav-surface.d.ts +26 -0
  143. package/dist/components/layout/nav-surface.js +17 -0
  144. package/dist/components/layout/org-switcher.d.ts +5 -1
  145. package/dist/components/layout/org-switcher.js +25 -4
  146. package/dist/components/layout/page-container.d.ts +1 -1
  147. package/dist/components/layout/page-container.js +5 -3
  148. package/dist/components/layout/responsive-grid.d.ts +16 -2
  149. package/dist/components/layout/responsive-grid.js +29 -2
  150. package/dist/components/layout/separator.js +0 -1
  151. package/dist/components/layout/sidebar.js +4 -1
  152. package/dist/components/layout/split-pane.d.ts +14 -1
  153. package/dist/components/layout/split-pane.js +26 -13
  154. package/dist/components/layout/topbar-item.d.ts +3 -0
  155. package/dist/components/layout/topbar-item.js +19 -5
  156. package/dist/components/layout/topbar.d.ts +1 -1
  157. package/dist/components/layout/topbar.js +27 -6
  158. package/dist/components/navigation/app-setting-picker.js +21 -2
  159. package/dist/components/navigation/app-setting-toggle.d.ts +16 -0
  160. package/dist/components/navigation/app-setting-toggle.js +96 -0
  161. package/dist/components/navigation/dropdown-menu.d.ts +227 -18
  162. package/dist/components/navigation/dropdown-menu.js +402 -118
  163. package/dist/components/navigation/index.d.ts +2 -0
  164. package/dist/components/navigation/index.js +2 -0
  165. package/dist/components/navigation/pagination-utils.d.ts +2 -1
  166. package/dist/components/navigation/pagination.d.ts +2 -2
  167. package/dist/components/navigation/pagination.js +155 -83
  168. package/dist/components/navigation/steps.d.ts +2 -2
  169. package/dist/components/navigation/steps.js +29 -4
  170. package/dist/components/navigation/tabs.d.ts +29 -16
  171. package/dist/components/navigation/tabs.js +374 -144
  172. package/dist/components/ui/accordion.d.ts +50 -5
  173. package/dist/components/ui/accordion.js +239 -33
  174. package/dist/components/ui/aspect-ratio.d.ts +23 -2
  175. package/dist/components/ui/aspect-ratio.js +15 -13
  176. package/dist/components/ui/avatar.d.ts +29 -4
  177. package/dist/components/ui/avatar.js +111 -25
  178. package/dist/components/ui/hover-card.d.ts +42 -4
  179. package/dist/components/ui/hover-card.js +183 -27
  180. package/dist/components/ui/input-otp.d.ts +26 -28
  181. package/dist/components/ui/input-otp.js +50 -7
  182. package/dist/components/ui/label.js +0 -1
  183. package/dist/components/ui/password-input.d.ts +36 -2
  184. package/dist/components/ui/password-input.js +27 -7
  185. package/dist/components/ui/rating.d.ts +25 -0
  186. package/dist/components/ui/rating.js +67 -27
  187. package/dist/components/ui/segmented.d.ts +12 -3
  188. package/dist/components/ui/segmented.js +17 -2
  189. package/dist/components/ui/separator.d.ts +12 -2
  190. package/dist/components/ui/separator.js +30 -9
  191. package/dist/components/ui/tag-input.d.ts +45 -0
  192. package/dist/components/ui/tag-input.js +109 -27
  193. package/dist/components/ui/toggle-group.d.ts +50 -5
  194. package/dist/components/ui/toggle-group.js +79 -20
  195. package/dist/components/ui/toggle.d.ts +31 -5
  196. package/dist/components/ui/toggle.js +42 -3
  197. package/dist/form/form-context.d.ts +29 -0
  198. package/dist/form/form-context.js +44 -4
  199. package/dist/form/form-field-array.d.ts +22 -0
  200. package/dist/form/form-field-array.js +50 -0
  201. package/dist/form/form-field-control.d.ts +2 -1
  202. package/dist/form/form-field-control.js +116 -40
  203. package/dist/form/form-root.d.ts +2 -1
  204. package/dist/form/form-root.js +142 -23
  205. package/dist/form/index.d.ts +3 -1
  206. package/dist/form/index.js +12 -1
  207. package/dist/i18n/messages/en.json +64 -5
  208. package/dist/i18n/messages/ja.json +64 -5
  209. package/dist/i18n/messages/vi.json +64 -5
  210. package/dist/inertia/index.d.ts +20 -0
  211. package/dist/inertia/index.js +60 -1
  212. package/dist/lib/control-styles.d.ts +25 -3
  213. package/dist/lib/control-styles.js +9 -3
  214. package/dist/lib/datetime/picker-format.d.ts +8 -0
  215. package/dist/lib/datetime/picker-format.js +54 -0
  216. package/dist/lib/slot.d.ts +32 -0
  217. package/dist/lib/slot.js +22 -0
  218. package/dist/lib/variants.d.ts +22 -3
  219. package/dist/lib/variants.js +56 -1
  220. package/dist/props/components/app.prop.d.ts +25 -1
  221. package/dist/props/components/charts.prop.d.ts +21 -0
  222. package/dist/props/components/data-display.prop.d.ts +72 -4
  223. package/dist/props/components/data-entry.prop.d.ts +718 -46
  224. package/dist/props/components/form.prop.d.ts +142 -4
  225. package/dist/props/components/general.prop.d.ts +17 -1
  226. package/dist/props/components/index.d.ts +3 -3
  227. package/dist/props/components/layout.prop.d.ts +281 -11
  228. package/dist/props/components/navigation.prop.d.ts +114 -4
  229. package/dist/props/registry.d.ts +397 -11
  230. package/dist/props/registry.js +526 -11
  231. package/dist/props/vocabulary/content.prop.d.ts +1 -1
  232. package/dist/props/vocabulary/data.prop.d.ts +179 -1
  233. package/dist/props/vocabulary/index.d.ts +5 -5
  234. package/dist/props/vocabulary/interaction.prop.d.ts +68 -3
  235. package/dist/props/vocabulary/layout.prop.d.ts +57 -1
  236. package/dist/props/vocabulary/navigation.prop.d.ts +40 -0
  237. package/dist/props/vocabulary/shared.prop.d.ts +33 -0
  238. package/dist/styles/badge-layout.css +2 -1
  239. package/dist/styles/card-layout.css +26 -4
  240. package/dist/styles/chart-layout.css +15 -0
  241. package/dist/styles/control.css +657 -15
  242. package/dist/styles/core.css +5 -2
  243. package/dist/styles/data-display-layout.css +313 -6
  244. package/dist/styles/data-entry-layout.css +13 -0
  245. package/dist/styles/focus-ring.css +4 -0
  246. package/dist/styles/index.css +5 -2
  247. package/dist/styles/layout.css +327 -4
  248. package/dist/styles/navigation-layout.css +227 -0
  249. package/dist/styles/shell-layout.css +369 -13
  250. package/dist/styles/table-layout.css +95 -6
  251. package/dist/styles/text-layout.css +10 -4
  252. package/dist/tokens/base.css +2 -1
  253. package/dist/tokens/components/badge.css +1 -0
  254. package/dist/tokens/components/chart.css +6 -0
  255. package/dist/tokens/components/control.css +79 -2
  256. package/dist/tokens/components/data-display.css +20 -0
  257. package/dist/tokens/components/descriptions.css +11 -0
  258. package/dist/tokens/components/flex.css +8 -0
  259. package/dist/tokens/components/navigation.css +55 -0
  260. package/dist/tokens/components/shell.css +53 -3
  261. package/dist/tokens/components/table.css +14 -0
  262. package/dist/tokens/foundation.css +2 -0
  263. package/dist/tokens/semantic/layout.css +9 -0
  264. package/docs/COMPONENTS.md +9 -3
  265. package/docs/CONSUMER-RULES.md +13 -0
  266. package/docs/DESIGN-AUTHORITY.md +145 -83
  267. package/docs/DEVELOPMENT.md +4 -3
  268. package/docs/FORMS.md +151 -6
  269. package/docs/FRAME-COVERAGE-REPORT.md +32 -17
  270. package/docs/README.md +15 -15
  271. package/docs/STANDARDS-vocabulary-tokens.md +1 -1
  272. package/docs/TESTING.md +15 -6
  273. package/docs/WHAT-BELONGS-HERE.md +179 -0
  274. package/docs/charts/cjk-category-axis.tsx +81 -0
  275. package/docs/data-display/card/index.tsx +22 -0
  276. package/docs/data-display/data-table/examples/antd-parity.tsx +257 -0
  277. package/docs/data-display/data-table/index.tsx +23 -0
  278. package/docs/data-display/descriptions.tsx +41 -0
  279. package/docs/data-display/legend.tsx +145 -0
  280. package/docs/data-display/progress.tsx +32 -0
  281. package/docs/data-display/scroll-area.tsx +31 -25
  282. package/docs/data-display/table.tsx +104 -45
  283. package/docs/data-display/timeline.tsx +41 -0
  284. package/docs/data-entry/date-picker.tsx +85 -0
  285. package/docs/data-entry/date-range-picker.tsx +26 -0
  286. package/docs/data-entry/form-dynamic-fields.tsx +199 -0
  287. package/docs/data-entry/form.tsx +74 -4
  288. package/docs/data-entry/input-otp.tsx +24 -0
  289. package/docs/data-entry/input.tsx +46 -1
  290. package/docs/data-entry/month-range-picker.tsx +1 -1
  291. package/docs/data-entry/segmented.tsx +1 -1
  292. package/docs/data-entry/select.tsx +29 -2
  293. package/docs/data-entry/switch.tsx +41 -0
  294. package/docs/data-entry/textarea.tsx +38 -0
  295. package/docs/data-entry/time-picker.tsx +85 -1
  296. package/docs/data-entry/time-range-picker.tsx +55 -0
  297. package/docs/data-entry/transfer.tsx +17 -0
  298. package/docs/data-entry/upload.tsx +56 -12
  299. package/docs/feedback/sheet.tsx +1 -1
  300. package/docs/feedback/tooltip.tsx +1 -1
  301. package/docs/general/activity.tsx +2 -2
  302. package/docs/general/button/index.tsx +14 -1
  303. package/docs/general/typography.tsx +14 -1
  304. package/docs/layout/app-launcher.tsx +151 -0
  305. package/docs/layout/app-shell-arrangements.tsx +225 -0
  306. package/docs/layout/app-shell.tsx +11 -0
  307. package/docs/layout/aspect-ratio.tsx +1 -1
  308. package/docs/layout/flex.tsx +50 -0
  309. package/docs/layout/responsive-grid.tsx +21 -1
  310. package/docs/layout/topbar.tsx +5 -9
  311. package/docs/navigation/app-setting-picker.tsx +37 -1
  312. package/docs/navigation/app-setting-toggle.tsx +111 -0
  313. package/docs/navigation/breadcrumb.tsx +48 -0
  314. package/docs/navigation/dropdown-menu.tsx +21 -0
  315. package/docs/navigation/pagination.tsx +52 -0
  316. package/docs/navigation/steps.tsx +37 -0
  317. package/docs/navigation/tabs.tsx +97 -1
  318. package/docs/query/button-refetch.tsx +1 -0
  319. package/package.json +28 -8
  320. package/scripts/_agent-setup.mjs +182 -3
  321. package/scripts/consumer-rule.md +98 -0
  322. package/scripts/guinea-pig-skill.md +322 -0
  323. package/scripts/init-guinea-pig.mjs +84 -0
  324. package/scripts/postinstall.mjs +13 -2
  325. package/scripts/ui-audit.mjs +351 -37
  326. /package/dist/tokens/{antd.generated.css → derived.css} +0 -0
@@ -157,6 +157,26 @@
157
157
  text-decoration-line: underline;
158
158
  }
159
159
 
160
+ .ui-button.ui-button--bare {
161
+ position: relative;
162
+ height: auto;
163
+ min-height: 0;
164
+ padding: 0;
165
+ border: 0;
166
+ background: transparent;
167
+ color: inherit;
168
+ font: inherit;
169
+ }
170
+
171
+ .ui-button.ui-button--bare::after {
172
+ content: "";
173
+ position: absolute;
174
+ inset: 0;
175
+ min-inline-size: var(--button-bare-target-size);
176
+ min-block-size: var(--button-bare-target-size);
177
+ margin: auto;
178
+ }
179
+
160
180
  .ui-button--default-size {
161
181
  height: var(--control-height);
162
182
  padding-inline: var(--control-padding-x);
@@ -174,10 +194,17 @@
174
194
  height: var(--control-icon-size-sm);
175
195
  }
176
196
 
177
- .ui-button [data-slot="badge"] {
178
- padding-block: 0;
179
- line-height: var(--line-height-tight);
180
- border-radius: var(--radius-sm);
197
+ .ui-button:is(
198
+ .ui-button--default,
199
+ .ui-button--destructive,
200
+ .ui-button--outline,
201
+ .ui-button--dashed,
202
+ .ui-button--secondary
203
+ )
204
+ [data-slot="badge"] {
205
+ --badge-space-y: 0;
206
+ --badge-line-height: var(--line-height-tight);
207
+ --badge-radius: var(--radius-sm);
181
208
  }
182
209
 
183
210
  .ui-button--lg {
@@ -268,8 +295,13 @@
268
295
  overflow-wrap: break-word;
269
296
  font-size: var(--control-font-size);
270
297
  line-height: var(--textarea-autogrow-line-height, var(--line-height-normal));
271
- padding-block: var(--control-multiline-padding-block);
272
- padding-inline: var(--control-padding-x);
298
+ padding-block-start: var(
299
+ --textarea-padding-block-start,
300
+ var(--control-multiline-padding-block)
301
+ );
302
+ padding-block-end: var(--textarea-padding-block-end, var(--control-multiline-padding-block));
303
+ padding-inline-start: var(--textarea-padding-inline-start, var(--control-padding-x));
304
+ padding-inline-end: var(--textarea-padding-inline-end, var(--control-padding-x));
273
305
  border: var(--control-border-width) solid transparent;
274
306
 
275
307
  min-block-size: max(
@@ -627,6 +659,7 @@
627
659
  cursor: default;
628
660
  user-select: none;
629
661
  align-items: center;
662
+ gap: var(--command-item-gap);
630
663
  border-radius: calc(var(--control-radius) - 2px);
631
664
  padding: var(--command-item-padding-y) var(--command-item-padding-x);
632
665
  font-size: var(--font-size-base);
@@ -784,6 +817,42 @@
784
817
  .ui-otp-input:disabled {
785
818
  cursor: not-allowed;
786
819
  }
820
+
821
+ .ui-otp-container:has(.ui-otp-input[data-size="xs"]) {
822
+ --control-height: var(--control-height-xs);
823
+ }
824
+ .ui-otp-container:has(.ui-otp-input[data-size="sm"]) {
825
+ --control-height: var(--control-height-sm);
826
+ }
827
+ .ui-otp-container:has(.ui-otp-input[data-size="lg"]) {
828
+ --control-height: var(--control-height-lg);
829
+ }
830
+
831
+ .ui-otp-container:has(.ui-otp-input[data-variant="filled"]) .ui-otp-slot,
832
+ .ui-otp-container:has(.ui-otp-input[data-variant="filled"])
833
+ .ui-otp-group[data-appearance="grouped"] {
834
+ border-color: var(--control-filled-border-color);
835
+ background: var(--control-filled-background);
836
+ }
837
+ .ui-otp-container:has(.ui-otp-input[data-variant="borderless"]) .ui-otp-slot,
838
+ .ui-otp-container:has(.ui-otp-input[data-variant="borderless"])
839
+ .ui-otp-group[data-appearance="grouped"] {
840
+ border-color: var(--control-borderless-border-color);
841
+ background: var(--control-borderless-background);
842
+ }
843
+
844
+ .ui-otp-container:has(.ui-otp-input[data-status="warning"]) {
845
+ --focus-ring-color: var(--warning);
846
+ }
847
+ .ui-otp-container:has(.ui-otp-input[data-status="warning"]) .ui-otp-slot,
848
+ .ui-otp-container:has(.ui-otp-input[data-status="warning"])
849
+ .ui-otp-group[data-appearance="grouped"] {
850
+ border-color: var(--control-status-warning-border-color);
851
+ }
852
+
853
+ .ui-otp-container:has(.ui-otp-input[readonly]) .ui-otp-slot {
854
+ cursor: default;
855
+ }
787
856
  .ui-otp-group {
788
857
  display: flex;
789
858
  align-items: center;
@@ -987,9 +1056,10 @@
987
1056
  gap: var(--space-2);
988
1057
  min-height: var(--control-height);
989
1058
  padding: var(--space-1) var(--control-padding-x);
990
- border: var(--control-border-width) solid hsl(var(--input));
1059
+
1060
+ border: var(--control-border-width) solid var(--control-surface-border-color);
991
1061
  border-radius: var(--control-radius);
992
- background: hsl(var(--background));
1062
+ background: var(--control-surface-background);
993
1063
  box-shadow: var(--control-shadow);
994
1064
  }
995
1065
  .ui-tag-input-disabled {
@@ -1038,6 +1108,11 @@
1038
1108
  width: 0.75rem;
1039
1109
  height: 0.75rem;
1040
1110
  }
1111
+
1112
+ .ui-tag-input-clear {
1113
+ flex-shrink: 0;
1114
+ margin-inline-start: auto;
1115
+ }
1041
1116
  .ui-tag-input-field {
1042
1117
  flex: 1;
1043
1118
  min-width: 6rem;
@@ -1076,14 +1151,50 @@
1076
1151
  max-inline-size: 100%;
1077
1152
  }
1078
1153
 
1079
- .ui-control[data-size="sm"] {
1154
+ .ui-control[data-size="sm"],
1155
+ .ui-control-surface[data-size="sm"] {
1080
1156
  --control-height: var(--control-height-sm);
1081
1157
  }
1082
1158
 
1083
- .ui-control[data-size="lg"] {
1159
+ .ui-control[data-size="lg"],
1160
+ .ui-control-surface[data-size="lg"] {
1084
1161
  --control-height: var(--control-height-lg);
1085
1162
  }
1086
1163
 
1164
+ .ui-control[data-size="xs"],
1165
+ .ui-control-surface[data-size="xs"] {
1166
+ --control-height: var(--control-height-xs);
1167
+ }
1168
+
1169
+ .ui-control-surface {
1170
+ border-color: var(--control-surface-border-color);
1171
+ background: var(--control-surface-background);
1172
+ }
1173
+
1174
+ .ui-control-surface[data-variant="filled"] {
1175
+ --control-shadow: var(--control-filled-shadow);
1176
+ border-color: var(--control-filled-border-color);
1177
+ background: var(--control-filled-background);
1178
+ }
1179
+
1180
+ .ui-control-surface[data-variant="borderless"] {
1181
+ --control-shadow: var(--control-borderless-shadow);
1182
+ border-color: var(--control-borderless-border-color);
1183
+ background: var(--control-borderless-background);
1184
+ }
1185
+
1186
+ .ui-control-surface[data-status="error"],
1187
+ .ui-control-surface[aria-invalid="true"] {
1188
+ border-color: var(--control-status-error-border-color);
1189
+ }
1190
+
1191
+ .ui-control-surface[data-status="warning"] {
1192
+ border-color: var(--control-status-warning-border-color);
1193
+ --focus-ring-color: var(--warning);
1194
+ --focus-outline-color: var(--warning);
1195
+ --focus-ring-glow-color: var(--control-status-warning-outline-color);
1196
+ }
1197
+
1087
1198
  .ui-number-input[data-size="sm"] {
1088
1199
  --control-height: var(--control-height-sm);
1089
1200
  }
@@ -1192,6 +1303,22 @@
1192
1303
  min-inline-size: var(--radix-popover-trigger-width);
1193
1304
  }
1194
1305
 
1306
+ .ui-search-select-panel[data-popup-match="content"] {
1307
+ min-inline-size: auto;
1308
+ }
1309
+
1310
+ .ui-search-select-panel[data-popup-match="fixed"] {
1311
+ min-inline-size: var(--search-select-panel-inline-size);
1312
+ inline-size: var(--search-select-panel-inline-size);
1313
+ }
1314
+
1315
+ .ui-search-select-selected-icon {
1316
+ display: inline-flex;
1317
+ align-items: center;
1318
+ margin-inline-start: auto;
1319
+ flex-shrink: 0;
1320
+ }
1321
+
1195
1322
  .ui-search-select-command {
1196
1323
  display: flex;
1197
1324
  min-block-size: 0;
@@ -1234,6 +1361,29 @@
1234
1361
  gap: var(--search-select-option-space-gap);
1235
1362
  }
1236
1363
 
1364
+ .ui-search-select-values {
1365
+ display: flex;
1366
+ min-inline-size: 0;
1367
+ flex: 1 1 0%;
1368
+ align-items: center;
1369
+ gap: var(--search-select-option-space-gap);
1370
+ overflow: hidden;
1371
+ }
1372
+
1373
+ .ui-search-select-value {
1374
+ display: inline-flex;
1375
+ max-inline-size: 100%;
1376
+ align-items: center;
1377
+ overflow: hidden;
1378
+ border-radius: var(--radius-sm);
1379
+ background: hsl(var(--secondary));
1380
+ padding: 0.0625rem var(--space-2);
1381
+ color: hsl(var(--secondary-foreground));
1382
+ font-size: var(--tag-input-chip-font-size);
1383
+ text-overflow: ellipsis;
1384
+ white-space: nowrap;
1385
+ }
1386
+
1237
1387
  .ui-search-select-option-text {
1238
1388
  display: flex;
1239
1389
  min-inline-size: 0;
@@ -1400,10 +1550,23 @@
1400
1550
  box-shadow: var(--shadow-md);
1401
1551
  }
1402
1552
 
1553
+ .ui-select-content[data-popup-match="fixed"] {
1554
+ min-width: var(--select-content-inline-size);
1555
+ width: var(--select-content-inline-size);
1556
+ }
1557
+
1403
1558
  .ui-select-viewport {
1404
1559
  padding: var(--menu-content-space-inset);
1405
1560
  }
1406
1561
 
1562
+ .ui-select-empty {
1563
+ padding-inline: var(--select-item-space-inline);
1564
+ padding-block: var(--select-empty-space-block);
1565
+ color: hsl(var(--muted-foreground));
1566
+ font-size: var(--menu-item-font-size);
1567
+ text-align: center;
1568
+ }
1569
+
1407
1570
  .ui-select-item,
1408
1571
  .ui-select-label {
1409
1572
  border-radius: var(--menu-item-radius);
@@ -1532,6 +1695,15 @@
1532
1695
  background: hsl(var(--accent));
1533
1696
  }
1534
1697
 
1698
+ .ui-time-picker-option[data-disabled] {
1699
+ opacity: var(--disabled-opacity);
1700
+ cursor: not-allowed;
1701
+ }
1702
+
1703
+ .ui-time-picker-option[data-disabled]:hover {
1704
+ background: transparent;
1705
+ }
1706
+
1535
1707
  .ui-time-picker-option[data-selected="true"] {
1536
1708
  background: hsl(var(--primary));
1537
1709
  color: hsl(var(--primary-foreground));
@@ -1542,10 +1714,28 @@
1542
1714
  }
1543
1715
 
1544
1716
  .ui-time-picker-footer {
1717
+ display: flex;
1718
+ flex-direction: column;
1719
+ gap: var(--time-picker-footer-space-gap);
1545
1720
  padding: var(--time-picker-footer-space-inset);
1546
1721
  border-block-start: 1px solid hsl(var(--border));
1547
1722
  }
1548
1723
 
1724
+ .ui-time-picker-footer-actions {
1725
+ display: flex;
1726
+ align-items: center;
1727
+ justify-content: space-between;
1728
+ gap: var(--time-picker-footer-space-gap);
1729
+ }
1730
+
1731
+ .ui-time-picker-footer-actions > :only-child:last-child {
1732
+ margin-inline-start: auto;
1733
+ }
1734
+
1735
+ .ui-time-picker-footer-actions > :first-child:not(:only-child) {
1736
+ margin-inline-end: auto;
1737
+ }
1738
+
1549
1739
  .ui-time-picker-popover {
1550
1740
  --popover-surface-inline-size: auto;
1551
1741
  --popover-space-inset: 0;
@@ -1556,10 +1746,6 @@
1556
1746
  --popover-space-inset: 0;
1557
1747
  }
1558
1748
 
1559
- .ui-control-inline-affix-pair-affixed {
1560
- padding-inline-end: var(--control-inline-affix-pair-space-inline-end);
1561
- }
1562
-
1563
1749
  .ui-time-picker-affix {
1564
1750
  display: inline-flex;
1565
1751
  align-items: center;
@@ -1777,6 +1963,86 @@
1777
1963
  }
1778
1964
  }
1779
1965
 
1966
+ .ui-calendar[data-bordered="true"] .ui-calendar-day,
1967
+ .ui-calendar[data-bordered="true"] .ui-calendar-weekday {
1968
+ border-inline-start: 1px solid hsl(var(--border));
1969
+ border-block-start: 1px solid hsl(var(--border));
1970
+ }
1971
+
1972
+ .ui-calendar[data-bordered="true"] .ui-calendar-week,
1973
+ .ui-calendar[data-bordered="true"] .ui-calendar-weekdays {
1974
+ border-inline-end: 1px solid hsl(var(--border));
1975
+ }
1976
+
1977
+ .ui-calendar[data-bordered="true"] .ui-calendar-weekday {
1978
+ background-color: hsl(var(--muted));
1979
+
1980
+ border-radius: 0;
1981
+ }
1982
+
1983
+ .ui-calendar[data-bordered="true"] .ui-calendar-grid {
1984
+ border-block-end: 1px solid hsl(var(--border));
1985
+ }
1986
+
1987
+ .ui-calendar[data-bordered="true"] .ui-calendar-day.invisible {
1988
+ visibility: visible;
1989
+ }
1990
+
1991
+ .ui-calendar[data-bordered="true"] .ui-calendar-day.invisible > * {
1992
+ visibility: hidden;
1993
+ }
1994
+
1995
+ .ui-calendar[data-bordered="true"] .ui-calendar-day-disabled {
1996
+ opacity: 1;
1997
+ }
1998
+
1999
+ .ui-calendar[data-bordered="true"] .ui-calendar-day-disabled .ui-calendar-day-button {
2000
+ opacity: var(--disabled-opacity);
2001
+ }
2002
+
2003
+ .ui-calendar[data-bordered="true"] .ui-calendar-week-number,
2004
+ .ui-calendar[data-bordered="true"] .ui-calendar-week-number-header {
2005
+ border-inline-start: 1px solid hsl(var(--border));
2006
+ border-block-start: 1px solid hsl(var(--border));
2007
+ }
2008
+
2009
+ .ui-calendar[data-bordered="true"] .ui-calendar-day-button {
2010
+ --button-radius: 0;
2011
+ inline-size: 100%;
2012
+ }
2013
+
2014
+ .ui-calendar[data-bordered="true"] .ui-calendar-week {
2015
+ margin-block-start: 0;
2016
+ }
2017
+
2018
+ .ui-calendar[data-bordered="true"] .ui-calendar-grid {
2019
+ margin-block-start: var(--calendar-grid-space-block-start);
2020
+ }
2021
+
2022
+ .ui-calendar[data-width="full"] {
2023
+ inline-size: 100%;
2024
+ }
2025
+
2026
+ .ui-calendar[data-width="full"] .ui-calendar-months {
2027
+ flex-direction: column;
2028
+ }
2029
+
2030
+ .ui-calendar[data-width="full"] .ui-calendar-month {
2031
+ inline-size: 100%;
2032
+ }
2033
+
2034
+ .ui-calendar[data-width="full"] .ui-calendar-weekday,
2035
+ .ui-calendar[data-width="full"] .ui-calendar-day {
2036
+ inline-size: auto;
2037
+ flex: 1 1 0;
2038
+ }
2039
+
2040
+ .ui-calendar[data-width="full"] .ui-calendar-day-button {
2041
+ inline-size: 100%;
2042
+
2043
+ max-inline-size: none;
2044
+ }
2045
+
1780
2046
  .ui-calendar-month {
1781
2047
  position: relative;
1782
2048
  display: flex;
@@ -1802,6 +2068,7 @@
1802
2068
  position: absolute;
1803
2069
  inset-inline: 0;
1804
2070
  inset-block-start: var(--calendar-nav-space-block-start);
2071
+ block-size: var(--control-height);
1805
2072
  z-index: 10;
1806
2073
  display: flex;
1807
2074
  align-items: center;
@@ -1820,6 +2087,8 @@
1820
2087
  }
1821
2088
 
1822
2089
  .ui-calendar-chevron {
2090
+
2091
+ fill: none;
1823
2092
  inline-size: var(--calendar-chevron-size);
1824
2093
  block-size: var(--calendar-chevron-size);
1825
2094
  }
@@ -1857,6 +2126,8 @@
1857
2126
  }
1858
2127
 
1859
2128
  .ui-calendar .ui-calendar-day-button {
2129
+
2130
+ color: inherit;
1860
2131
  inline-size: var(--control-height);
1861
2132
  block-size: var(--control-height);
1862
2133
  padding: 0;
@@ -1868,11 +2139,67 @@
1868
2139
  opacity: 1;
1869
2140
  }
1870
2141
 
1871
- .ui-calendar-day-disabled {
2142
+ .ui-calendar .ui-calendar-day.day-selected .ui-calendar-day-button,
2143
+ .ui-calendar .ui-calendar-day.day-selected .ui-calendar-day-button:hover,
2144
+ .ui-calendar .ui-calendar-day.day-selected .ui-calendar-day-button:focus {
2145
+ background-color: hsl(var(--primary));
2146
+ color: hsl(var(--primary-foreground));
2147
+ }
2148
+
2149
+ .ui-calendar .ui-calendar-day.day-today:not(.day-selected) .ui-calendar-day-button {
2150
+ box-shadow: inset 0 0 0 1px hsl(var(--primary));
2151
+ color: hsl(var(--text-primary));
2152
+ font-weight: var(--font-weight-medium);
2153
+ }
2154
+
2155
+ .ui-calendar .ui-calendar-day.day-outside:not(.day-selected) .ui-calendar-day-button {
1872
2156
  color: hsl(var(--muted-foreground));
2157
+ }
2158
+
2159
+ .ui-calendar .ui-calendar-day.day-range-middle.day-selected .ui-calendar-day-button,
2160
+ .ui-calendar .ui-calendar-day.day-range-middle.day-selected .ui-calendar-day-button:hover,
2161
+ .ui-calendar .ui-calendar-day.day-range-middle.day-selected .ui-calendar-day-button:focus,
2162
+ .ui-calendar .ui-calendar-day.day-range-middle .ui-calendar-day-button {
2163
+ background-color: hsl(var(--accent));
2164
+ color: hsl(var(--accent-foreground));
2165
+ border-radius: 0;
2166
+ }
2167
+
2168
+ .ui-calendar .ui-calendar-day.day-range-start:not(.day-range-end) .ui-calendar-day-button {
2169
+ border-start-end-radius: 0;
2170
+ border-end-end-radius: 0;
2171
+ }
2172
+
2173
+ .ui-calendar .ui-calendar-day.day-range-end:not(.day-range-start) .ui-calendar-day-button {
2174
+ border-start-start-radius: 0;
2175
+ border-end-start-radius: 0;
2176
+ }
2177
+
2178
+ .ui-calendar .ui-calendar-day.day-today:not(:has(button)) {
2179
+ box-shadow: inset 0 0 0 1px hsl(var(--primary));
2180
+ color: hsl(var(--text-primary));
2181
+ font-weight: var(--font-weight-medium);
2182
+ border-radius: var(--calendar-day-radius);
2183
+ }
2184
+
2185
+ .ui-calendar .ui-calendar-day.day-outside:not(:has(button)) {
2186
+ color: hsl(var(--muted-foreground));
2187
+ }
2188
+
2189
+ .ui-calendar .ui-calendar-day.day-selected:not(:has(button)) {
2190
+ background-color: hsl(var(--primary));
2191
+ color: hsl(var(--primary-foreground));
2192
+ border-radius: var(--calendar-day-radius);
2193
+ }
2194
+
2195
+ .ui-calendar-day-disabled {
1873
2196
  opacity: var(--disabled-opacity);
1874
2197
  }
1875
2198
 
2199
+ .ui-calendar .ui-calendar-day-disabled .ui-calendar-day-button {
2200
+ color: hsl(var(--muted-foreground));
2201
+ }
2202
+
1876
2203
  .ui-calendar-footer {
1877
2204
  display: flex;
1878
2205
  align-items: center;
@@ -2160,3 +2487,318 @@
2160
2487
  text-align: end;
2161
2488
  }
2162
2489
  }
2490
+
2491
+ @layer components {
2492
+
2493
+ .ui-control--filled {
2494
+ border-color: transparent;
2495
+ background-color: hsl(var(--control-variant-filled-background));
2496
+ }
2497
+
2498
+ .ui-control--filled:hover:not(:disabled):not([readonly]):not([data-disabled]) {
2499
+ background-color: hsl(var(--control-variant-filled-hover-background));
2500
+ }
2501
+
2502
+ .ui-control--borderless {
2503
+ border-color: transparent;
2504
+ background-color: transparent;
2505
+ box-shadow: none;
2506
+ }
2507
+
2508
+ .ui-control[data-status="warning"],
2509
+ .ui-control-multiline[data-status="warning"] {
2510
+ --focus-ring-color: var(--control-status-warning-border-color);
2511
+ --focus-outline-color: var(--control-status-warning-border-color);
2512
+ --focus-ring-glow-color: var(--control-status-warning-glow-color);
2513
+ --focus-ring-glow-alpha: var(--control-status-warning-glow-alpha);
2514
+ }
2515
+
2516
+ .ui-input[data-size="lg"] {
2517
+ --control-height: var(--control-height-lg);
2518
+ }
2519
+
2520
+ .ui-control-multiline[data-size="sm"] {
2521
+ --control-height: var(--control-height-sm);
2522
+ }
2523
+
2524
+ .ui-control-multiline[data-size="lg"] {
2525
+ --control-height: var(--control-height-lg);
2526
+ }
2527
+
2528
+ .ui-control-count {
2529
+ flex-shrink: 0;
2530
+ font-size: var(--control-count-font-size);
2531
+ color: hsl(var(--control-count-color));
2532
+ font-variant-numeric: tabular-nums;
2533
+ padding-inline-end: var(--control-count-space-inline);
2534
+ }
2535
+
2536
+ .ui-control-count[data-exceeded="true"] {
2537
+ color: hsl(var(--control-count-exceeded-color));
2538
+ }
2539
+
2540
+ .ui-textarea-count {
2541
+ position: absolute;
2542
+ inset-block-end: var(--textarea-count-inset-block-end);
2543
+ inset-inline-end: var(--textarea-count-inset-inline-end);
2544
+ padding-inline-end: 0;
2545
+ }
2546
+
2547
+ .ui-input-group {
2548
+ display: inline-flex;
2549
+ inline-size: 100%;
2550
+ align-items: stretch;
2551
+ }
2552
+
2553
+ .ui-input-addon {
2554
+ display: inline-flex;
2555
+ align-items: center;
2556
+ flex-shrink: 0;
2557
+ block-size: var(--control-height);
2558
+ padding-inline: var(--input-addon-padding-inline);
2559
+ font-size: var(--control-font-size);
2560
+ color: hsl(var(--input-addon-color));
2561
+ background-color: hsl(var(--input-addon-background));
2562
+ border: var(--control-border-width) solid hsl(var(--input));
2563
+ white-space: nowrap;
2564
+ }
2565
+
2566
+ .ui-input-group > [data-slot="input-addon-before"] {
2567
+ border-start-start-radius: var(--control-radius);
2568
+ border-end-start-radius: var(--control-radius);
2569
+ border-inline-end: 0;
2570
+ }
2571
+
2572
+ .ui-input-group > [data-slot="input-addon-after"] {
2573
+ border-start-end-radius: var(--control-radius);
2574
+ border-end-end-radius: var(--control-radius);
2575
+ border-inline-start: 0;
2576
+ }
2577
+
2578
+ .ui-input-group:has(> [data-slot="input-addon-before"]) .ui-input,
2579
+ .ui-input-group:has(> [data-slot="input-addon-before"]) .ui-input-affix-wrapper {
2580
+ border-start-start-radius: 0;
2581
+ border-end-start-radius: 0;
2582
+ }
2583
+
2584
+ .ui-input-group:has(> [data-slot="input-addon-after"]) .ui-input,
2585
+ .ui-input-group:has(> [data-slot="input-addon-after"]) .ui-input-affix-wrapper {
2586
+ border-start-end-radius: 0;
2587
+ border-end-end-radius: 0;
2588
+ }
2589
+
2590
+ .ui-input-group[data-size="sm"] {
2591
+ --control-height: var(--control-height-sm);
2592
+ }
2593
+
2594
+ .ui-input-group[data-size="lg"] {
2595
+ --control-height: var(--control-height-lg);
2596
+ }
2597
+
2598
+ .ui-number-input[data-controls="off"] .ui-number-input-field {
2599
+ padding-inline-end: var(--control-padding-x);
2600
+ }
2601
+
2602
+ .ui-switch[data-loading="true"] {
2603
+ cursor: progress;
2604
+ }
2605
+
2606
+ .ui-switch-spinner {
2607
+ inline-size: var(--switch-spinner-size);
2608
+ block-size: var(--switch-spinner-size);
2609
+ color: hsl(var(--primary));
2610
+ animation: spin 1s linear infinite;
2611
+ }
2612
+
2613
+ .ui-switch-content {
2614
+ flex: 1 1 auto;
2615
+ min-inline-size: calc(var(--switch-width) - var(--switch-thumb-size));
2616
+ order: 1;
2617
+ text-align: center;
2618
+ font-size: var(--switch-content-font-size);
2619
+ color: hsl(var(--primary-foreground));
2620
+ padding-inline: var(--switch-content-space-inline);
2621
+ line-height: 1;
2622
+ }
2623
+
2624
+ .ui-switch:has(.ui-switch-content)[data-state="unchecked"] {
2625
+ background: var(--switch-unchecked-background, hsl(var(--muted-foreground)));
2626
+ }
2627
+
2628
+ .ui-switch[data-state="unchecked"] .ui-switch-content {
2629
+ color: var(--switch-content-unchecked-foreground, hsl(var(--background)));
2630
+ }
2631
+
2632
+ .ui-switch[data-state="checked"] .ui-switch-content {
2633
+ order: 0;
2634
+ }
2635
+
2636
+ .ui-switch:has(.ui-switch-content) {
2637
+ inline-size: auto;
2638
+ min-inline-size: var(--switch-width);
2639
+ }
2640
+
2641
+ .ui-switch:has(.ui-switch-content) .ui-switch-thumb {
2642
+ flex: 0 0 auto;
2643
+ order: 0;
2644
+ transform: none;
2645
+ }
2646
+
2647
+ .ui-switch:has(.ui-switch-content)[data-state="checked"] .ui-switch-thumb {
2648
+ order: 1;
2649
+ }
2650
+
2651
+ .ui-slider[data-has-marks="true"] {
2652
+ margin-block-end: calc(var(--slider-mark-space-block-start) + var(--font-size-lg));
2653
+ }
2654
+
2655
+ .ui-slider-marks {
2656
+ position: absolute;
2657
+ inset-inline: 0;
2658
+ inset-block-start: 100%;
2659
+ margin-block-start: var(--slider-mark-space-block-start);
2660
+ block-size: 0;
2661
+ }
2662
+
2663
+ .ui-slider-mark {
2664
+ position: absolute;
2665
+ inset-inline-start: var(--slider-mark-offset-inline, 0%);
2666
+ transform: translateX(-50%);
2667
+ font-size: var(--slider-mark-font-size);
2668
+ color: hsl(var(--slider-mark-color));
2669
+ white-space: nowrap;
2670
+ }
2671
+
2672
+ .ui-slider-dot {
2673
+ position: absolute;
2674
+ inset-block-start: 50%;
2675
+ inset-inline-start: var(--slider-mark-offset-inline, 0%);
2676
+ inline-size: var(--slider-dot-size);
2677
+ block-size: var(--slider-dot-size);
2678
+ transform: translate(-50%, -50%);
2679
+ border-radius: var(--radius-pill);
2680
+ background: hsl(var(--slider-dot-background));
2681
+ border: var(--control-border-width) solid hsl(var(--slider-dot-border-color));
2682
+ }
2683
+
2684
+ .ui-slider-dot[data-active="true"] {
2685
+ border-color: hsl(var(--slider-dot-active-border-color));
2686
+ }
2687
+
2688
+ .ui-slider-tooltip {
2689
+ position: absolute;
2690
+ inset-block-end: 100%;
2691
+ inset-inline-start: 50%;
2692
+ transform: translateX(-50%);
2693
+ margin-block-end: var(--slider-tooltip-offset-block);
2694
+ padding-inline: var(--slider-tooltip-padding-inline);
2695
+ border-radius: var(--slider-tooltip-radius);
2696
+ background: hsl(var(--slider-tooltip-background));
2697
+ color: hsl(var(--slider-tooltip-color));
2698
+ font-size: var(--slider-tooltip-font-size);
2699
+ white-space: nowrap;
2700
+ opacity: 0;
2701
+ pointer-events: none;
2702
+ transition: opacity 150ms;
2703
+ }
2704
+
2705
+ .ui-slider-thumb:hover .ui-slider-tooltip,
2706
+ .ui-slider-thumb:focus-visible .ui-slider-tooltip,
2707
+ .ui-slider-tooltip[data-open="true"] {
2708
+ opacity: 1;
2709
+ }
2710
+
2711
+ .ui-rating-symbol {
2712
+ position: relative;
2713
+ display: inline-flex;
2714
+ }
2715
+
2716
+ .ui-rating-star-half {
2717
+ position: absolute;
2718
+ inset-block: 0;
2719
+ inset-inline-start: 0;
2720
+ inline-size: 50%;
2721
+ z-index: 1;
2722
+ background: transparent;
2723
+ border: 0;
2724
+ padding: 0;
2725
+ cursor: pointer;
2726
+ }
2727
+
2728
+ .ui-rating-star-half-filled {
2729
+ color: hsl(var(--warning));
2730
+ }
2731
+
2732
+ .ui-radio-button-bar {
2733
+ display: inline-flex;
2734
+ align-items: stretch;
2735
+ }
2736
+
2737
+ .ui-radio-button {
2738
+ display: inline-flex;
2739
+ align-items: center;
2740
+ justify-content: center;
2741
+ block-size: var(--control-height);
2742
+ padding-inline: var(--control-padding-x);
2743
+ font-size: var(--control-font-size);
2744
+ color: hsl(var(--choice-button-color));
2745
+ background: hsl(var(--choice-button-background));
2746
+ border: var(--control-border-width) solid hsl(var(--choice-button-border-color));
2747
+ border-inline-start-width: 0;
2748
+ cursor: pointer;
2749
+ }
2750
+
2751
+ .ui-radio-button:first-child {
2752
+ border-inline-start-width: var(--control-border-width);
2753
+ border-start-start-radius: var(--control-radius);
2754
+ border-end-start-radius: var(--control-radius);
2755
+ }
2756
+
2757
+ .ui-radio-button:last-child {
2758
+ border-start-end-radius: var(--control-radius);
2759
+ border-end-end-radius: var(--control-radius);
2760
+ }
2761
+
2762
+ .ui-radio-button[data-state="checked"] {
2763
+ color: hsl(var(--choice-button-selected-color));
2764
+ border-color: hsl(var(--choice-button-selected-border-color));
2765
+ }
2766
+
2767
+ .ui-radio-button-bar[data-button-style="solid"] .ui-radio-button[data-state="checked"] {
2768
+ color: hsl(var(--choice-button-solid-color));
2769
+ background: hsl(var(--choice-button-solid-background));
2770
+ border-color: hsl(var(--choice-button-solid-background));
2771
+ }
2772
+
2773
+ .ui-radio-button:disabled {
2774
+ cursor: not-allowed;
2775
+ opacity: var(--disabled-opacity);
2776
+ }
2777
+
2778
+ .ui-segmented[data-block="true"] {
2779
+ display: flex;
2780
+ inline-size: 100%;
2781
+ }
2782
+
2783
+ .ui-segmented[data-block="true"] > .ui-segmented-item {
2784
+ flex: 1 1 0;
2785
+ min-inline-size: 0;
2786
+ justify-content: center;
2787
+ }
2788
+
2789
+ .ui-segmented[data-orientation="vertical"] {
2790
+ flex-direction: column;
2791
+ }
2792
+
2793
+ .ui-segmented[data-orientation="vertical"] > .ui-segmented-item {
2794
+ justify-content: flex-start;
2795
+ }
2796
+
2797
+ .ui-segmented[data-size="sm"] {
2798
+ --control-height: var(--control-height-sm);
2799
+ }
2800
+
2801
+ .ui-segmented[data-size="lg"] {
2802
+ --control-height: var(--control-height-lg);
2803
+ }
2804
+ }