@usefragments/ui 1.5.3 → 1.6.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 (497) hide show
  1. package/README.md +1 -1
  2. package/dist/assets/ui.css +8808 -5810
  3. package/dist/chart.cjs +7 -20
  4. package/dist/chart.js +7 -20
  5. package/dist/colorpicker.cjs +2 -1
  6. package/dist/colorpicker.js +2 -1
  7. package/dist/components/Accordion/Accordion.module.scss.cjs +8 -8
  8. package/dist/components/Accordion/Accordion.module.scss.js +8 -8
  9. package/dist/components/Alert/Alert.module.scss.cjs +12 -12
  10. package/dist/components/Alert/Alert.module.scss.js +12 -12
  11. package/dist/components/AppShell/AppShell.module.scss.cjs +14 -14
  12. package/dist/components/AppShell/AppShell.module.scss.js +14 -14
  13. package/dist/components/AppShell/index.cjs +5 -3
  14. package/dist/components/AppShell/index.d.ts +4 -2
  15. package/dist/components/AppShell/index.d.ts.map +1 -1
  16. package/dist/components/AppShell/index.js +5 -3
  17. package/dist/components/Avatar/Avatar.module.scss.cjs +17 -14
  18. package/dist/components/Avatar/Avatar.module.scss.js +17 -14
  19. package/dist/components/Avatar/index.cjs +100 -118
  20. package/dist/components/Avatar/index.d.ts +7 -5
  21. package/dist/components/Avatar/index.d.ts.map +1 -1
  22. package/dist/components/Avatar/index.js +100 -118
  23. package/dist/components/Badge/Badge.module.scss.cjs +19 -19
  24. package/dist/components/Badge/Badge.module.scss.js +19 -19
  25. package/dist/components/BentoGrid/BentoGrid.module.scss.cjs +14 -14
  26. package/dist/components/BentoGrid/BentoGrid.module.scss.js +14 -14
  27. package/dist/components/Box/Box.module.scss.cjs +152 -152
  28. package/dist/components/Box/Box.module.scss.js +152 -152
  29. package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.cjs +8 -8
  30. package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.js +8 -8
  31. package/dist/components/Button/Button.module.scss.cjs +14 -14
  32. package/dist/components/Button/Button.module.scss.js +14 -14
  33. package/dist/components/ButtonGroup/ButtonGroup.module.scss.cjs +15 -15
  34. package/dist/components/ButtonGroup/ButtonGroup.module.scss.js +15 -15
  35. package/dist/components/Card/Card.module.scss.cjs +18 -18
  36. package/dist/components/Card/Card.module.scss.js +18 -18
  37. package/dist/components/Chart/Chart.module.scss.cjs +15 -15
  38. package/dist/components/Chart/Chart.module.scss.js +15 -15
  39. package/dist/components/Chart/index.d.ts +7 -7
  40. package/dist/components/Chart/index.d.ts.map +1 -1
  41. package/dist/components/Checkbox/Checkbox.module.scss.cjs +9 -15
  42. package/dist/components/Checkbox/Checkbox.module.scss.js +9 -15
  43. package/dist/components/Checkbox/index.cjs +4 -6
  44. package/dist/components/Checkbox/index.d.ts.map +1 -1
  45. package/dist/components/Checkbox/index.js +4 -6
  46. package/dist/components/Chip/Chip.module.scss.cjs +15 -15
  47. package/dist/components/Chip/Chip.module.scss.js +15 -15
  48. package/dist/components/Chip/index.cjs +4 -5
  49. package/dist/components/Chip/index.d.ts +1 -1
  50. package/dist/components/Chip/index.d.ts.map +1 -1
  51. package/dist/components/Chip/index.js +2 -3
  52. package/dist/components/CodeBlock/CodeBlock.module.scss.cjs +22 -22
  53. package/dist/components/CodeBlock/CodeBlock.module.scss.js +22 -22
  54. package/dist/components/Collapsible/Collapsible.module.scss.cjs +9 -12
  55. package/dist/components/Collapsible/Collapsible.module.scss.js +9 -12
  56. package/dist/components/Collapsible/index.cjs +3 -2
  57. package/dist/components/Collapsible/index.d.ts +3 -3
  58. package/dist/components/Collapsible/index.d.ts.map +1 -1
  59. package/dist/components/Collapsible/index.js +3 -2
  60. package/dist/components/ColorPicker/ColorPicker.module.scss.cjs +16 -16
  61. package/dist/components/ColorPicker/ColorPicker.module.scss.js +16 -16
  62. package/dist/components/ColorPicker/index.d.ts.map +1 -1
  63. package/dist/components/Combobox/Combobox.module.scss.cjs +21 -27
  64. package/dist/components/Combobox/Combobox.module.scss.js +21 -27
  65. package/dist/components/Combobox/index.cjs +4 -4
  66. package/dist/components/Combobox/index.d.ts.map +1 -1
  67. package/dist/components/Combobox/index.js +4 -4
  68. package/dist/components/Command/Command.module.scss.cjs +11 -11
  69. package/dist/components/Command/Command.module.scss.js +11 -11
  70. package/dist/components/ConversationList/ConversationList.module.scss.cjs +11 -14
  71. package/dist/components/ConversationList/ConversationList.module.scss.js +11 -14
  72. package/dist/components/ConversationList/index.cjs +40 -44
  73. package/dist/components/ConversationList/index.d.ts +3 -3
  74. package/dist/components/ConversationList/index.d.ts.map +1 -1
  75. package/dist/components/ConversationList/index.js +40 -44
  76. package/dist/components/DataTable/DataTable.module.scss.cjs +32 -56
  77. package/dist/components/DataTable/DataTable.module.scss.js +32 -56
  78. package/dist/components/DataTable/index.d.ts +5 -4
  79. package/dist/components/DataTable/index.d.ts.map +1 -1
  80. package/dist/components/DatePicker/DatePicker.module.scss.cjs +33 -33
  81. package/dist/components/DatePicker/DatePicker.module.scss.js +33 -33
  82. package/dist/components/DatePicker/index.d.ts.map +1 -1
  83. package/dist/components/Dialog/Dialog.module.scss.cjs +14 -14
  84. package/dist/components/Dialog/Dialog.module.scss.js +14 -14
  85. package/dist/components/Drawer/Drawer.module.scss.cjs +31 -28
  86. package/dist/components/Drawer/Drawer.module.scss.js +31 -28
  87. package/dist/components/Drawer/index.cjs +1 -1
  88. package/dist/components/Drawer/index.js +1 -1
  89. package/dist/components/Editor/Editor.module.scss.cjs +23 -23
  90. package/dist/components/Editor/Editor.module.scss.js +23 -23
  91. package/dist/components/EmptyState/EmptyState.module.scss.cjs +12 -12
  92. package/dist/components/EmptyState/EmptyState.module.scss.js +12 -12
  93. package/dist/components/Field/Field.module.scss.cjs +8 -5
  94. package/dist/components/Field/Field.module.scss.js +8 -5
  95. package/dist/components/Field/index.cjs +10 -1
  96. package/dist/components/Field/index.d.ts +9 -2
  97. package/dist/components/Field/index.d.ts.map +1 -1
  98. package/dist/components/Field/index.js +10 -1
  99. package/dist/components/Fieldset/Fieldset.module.scss.cjs +3 -3
  100. package/dist/components/Fieldset/Fieldset.module.scss.js +3 -3
  101. package/dist/components/Form/Form.module.scss.cjs +5 -2
  102. package/dist/components/Form/Form.module.scss.js +5 -2
  103. package/dist/components/Form/index.cjs +6 -1
  104. package/dist/components/Form/index.d.ts +8 -3
  105. package/dist/components/Form/index.d.ts.map +1 -1
  106. package/dist/components/Form/index.js +6 -1
  107. package/dist/components/Grid/Grid.module.scss.cjs +54 -72
  108. package/dist/components/Grid/Grid.module.scss.js +54 -72
  109. package/dist/components/Grid/index.cjs +57 -77
  110. package/dist/components/Grid/index.d.ts +11 -11
  111. package/dist/components/Grid/index.d.ts.map +1 -1
  112. package/dist/components/Grid/index.js +57 -77
  113. package/dist/components/Header/Header.module.scss.cjs +33 -33
  114. package/dist/components/Header/Header.module.scss.js +33 -33
  115. package/dist/components/Header/index.cjs +2 -1
  116. package/dist/components/Header/index.d.ts.map +1 -1
  117. package/dist/components/Header/index.js +2 -1
  118. package/dist/components/Icon/Icon.module.scss.cjs +29 -8
  119. package/dist/components/Icon/Icon.module.scss.js +30 -9
  120. package/dist/components/Icon/index.cjs +30 -48
  121. package/dist/components/Icon/index.d.ts +6 -6
  122. package/dist/components/Icon/index.d.ts.map +1 -1
  123. package/dist/components/Icon/index.js +30 -48
  124. package/dist/components/IconButton/IconButton.module.scss.cjs +8 -8
  125. package/dist/components/IconButton/IconButton.module.scss.js +8 -8
  126. package/dist/components/Input/Input.module.scss.cjs +19 -25
  127. package/dist/components/Input/Input.module.scss.js +19 -25
  128. package/dist/components/Input/index.cjs +1 -2
  129. package/dist/components/Input/index.d.ts.map +1 -1
  130. package/dist/components/Input/index.js +1 -2
  131. package/dist/components/Link/Link.module.scss.cjs +10 -10
  132. package/dist/components/Link/Link.module.scss.js +10 -10
  133. package/dist/components/List/List.module.scss.cjs +19 -19
  134. package/dist/components/List/List.module.scss.js +19 -19
  135. package/dist/components/List/index.cjs +4 -7
  136. package/dist/components/List/index.d.ts.map +1 -1
  137. package/dist/components/List/index.js +4 -7
  138. package/dist/components/Listbox/Listbox.module.scss.cjs +9 -9
  139. package/dist/components/Listbox/Listbox.module.scss.js +9 -9
  140. package/dist/components/Loading/Loading.module.scss.cjs +30 -30
  141. package/dist/components/Loading/Loading.module.scss.js +30 -30
  142. package/dist/components/Loading/index.cjs +39 -67
  143. package/dist/components/Loading/index.d.ts +6 -6
  144. package/dist/components/Loading/index.d.ts.map +1 -1
  145. package/dist/components/Loading/index.js +39 -67
  146. package/dist/components/Main/Main.module.scss.cjs +7 -7
  147. package/dist/components/Main/Main.module.scss.js +7 -7
  148. package/dist/components/Markdown/Markdown.module.scss.cjs +1 -1
  149. package/dist/components/Markdown/Markdown.module.scss.js +1 -1
  150. package/dist/components/Menu/Menu.module.scss.cjs +16 -16
  151. package/dist/components/Menu/Menu.module.scss.js +16 -16
  152. package/dist/components/Menu/index.cjs +19 -61
  153. package/dist/components/Menu/index.d.ts +10 -10
  154. package/dist/components/Menu/index.d.ts.map +1 -1
  155. package/dist/components/Menu/index.js +19 -61
  156. package/dist/components/Message/Message.module.scss.cjs +18 -21
  157. package/dist/components/Message/Message.module.scss.js +18 -21
  158. package/dist/components/Message/index.cjs +15 -2
  159. package/dist/components/Message/index.d.ts.map +1 -1
  160. package/dist/components/Message/index.js +15 -2
  161. package/dist/components/NavigationMenu/NavigationMenu.module.scss.cjs +28 -28
  162. package/dist/components/NavigationMenu/NavigationMenu.module.scss.js +28 -28
  163. package/dist/components/Pagination/Pagination.module.scss.cjs +18 -9
  164. package/dist/components/Pagination/Pagination.module.scss.js +19 -10
  165. package/dist/components/Pagination/index.cjs +5 -2
  166. package/dist/components/Pagination/index.d.ts +3 -1
  167. package/dist/components/Pagination/index.d.ts.map +1 -1
  168. package/dist/components/Pagination/index.js +5 -2
  169. package/dist/components/Popover/Popover.module.scss.cjs +10 -10
  170. package/dist/components/Popover/Popover.module.scss.js +10 -10
  171. package/dist/components/Progress/Progress.module.scss.cjs +29 -32
  172. package/dist/components/Progress/Progress.module.scss.js +29 -32
  173. package/dist/components/Progress/geometry.cjs +30 -0
  174. package/dist/components/Progress/geometry.d.ts +8 -0
  175. package/dist/components/Progress/geometry.d.ts.map +1 -0
  176. package/dist/components/Progress/geometry.js +30 -0
  177. package/dist/components/Progress/index.cjs +40 -29
  178. package/dist/components/Progress/index.d.ts +4 -3
  179. package/dist/components/Progress/index.d.ts.map +1 -1
  180. package/dist/components/Progress/index.js +40 -29
  181. package/dist/components/Prompt/Prompt.module.scss.cjs +29 -29
  182. package/dist/components/Prompt/Prompt.module.scss.js +29 -29
  183. package/dist/components/Prompt/index.cjs +5 -4
  184. package/dist/components/Prompt/index.d.ts.map +1 -1
  185. package/dist/components/Prompt/index.js +5 -4
  186. package/dist/components/RadioGroup/RadioGroup.module.scss.cjs +15 -21
  187. package/dist/components/RadioGroup/RadioGroup.module.scss.js +15 -21
  188. package/dist/components/RadioGroup/index.cjs +7 -6
  189. package/dist/components/RadioGroup/index.d.ts.map +1 -1
  190. package/dist/components/RadioGroup/index.js +7 -6
  191. package/dist/components/ScrollArea/ScrollArea.module.scss.cjs +7 -22
  192. package/dist/components/ScrollArea/ScrollArea.module.scss.js +7 -22
  193. package/dist/components/ScrollArea/index.cjs +66 -42
  194. package/dist/components/ScrollArea/index.d.ts +3 -2
  195. package/dist/components/ScrollArea/index.d.ts.map +1 -1
  196. package/dist/components/ScrollArea/index.js +66 -42
  197. package/dist/components/ScrollArea/scroll-state.cjs +58 -0
  198. package/dist/components/ScrollArea/scroll-state.d.ts +16 -0
  199. package/dist/components/ScrollArea/scroll-state.d.ts.map +1 -0
  200. package/dist/components/ScrollArea/scroll-state.js +58 -0
  201. package/dist/components/Select/Select.module.scss.cjs +21 -21
  202. package/dist/components/Select/Select.module.scss.js +21 -21
  203. package/dist/components/Select/index.cjs +3 -2
  204. package/dist/components/Select/index.d.ts.map +1 -1
  205. package/dist/components/Select/index.js +3 -2
  206. package/dist/components/Separator/Separator.module.scss.cjs +13 -10
  207. package/dist/components/Separator/Separator.module.scss.js +13 -10
  208. package/dist/components/Separator/index.cjs +37 -38
  209. package/dist/components/Separator/index.d.ts +4 -4
  210. package/dist/components/Separator/index.d.ts.map +1 -1
  211. package/dist/components/Separator/index.js +37 -38
  212. package/dist/components/Sidebar/Sidebar.module.scss.cjs +43 -43
  213. package/dist/components/Sidebar/Sidebar.module.scss.js +43 -43
  214. package/dist/components/Sidebar/index.cjs +5 -3
  215. package/dist/components/Sidebar/index.d.ts +6 -1
  216. package/dist/components/Sidebar/index.d.ts.map +1 -1
  217. package/dist/components/Sidebar/index.js +5 -3
  218. package/dist/components/Skeleton/Skeleton.module.scss.cjs +50 -38
  219. package/dist/components/Skeleton/Skeleton.module.scss.js +50 -38
  220. package/dist/components/Skeleton/index.cjs +41 -55
  221. package/dist/components/Skeleton/index.d.ts +7 -7
  222. package/dist/components/Skeleton/index.d.ts.map +1 -1
  223. package/dist/components/Skeleton/index.js +41 -55
  224. package/dist/components/Slider/Slider.module.scss.cjs +12 -12
  225. package/dist/components/Slider/Slider.module.scss.js +12 -12
  226. package/dist/components/Stack/Stack.module.scss.cjs +25 -45
  227. package/dist/components/Stack/Stack.module.scss.js +25 -45
  228. package/dist/components/Stack/index.cjs +106 -101
  229. package/dist/components/Stack/index.d.ts +7 -7
  230. package/dist/components/Stack/index.d.ts.map +1 -1
  231. package/dist/components/Stack/index.js +106 -101
  232. package/dist/components/Switch/Switch.module.scss.cjs +32 -0
  233. package/dist/components/Switch/Switch.module.scss.js +32 -0
  234. package/dist/components/{Toggle → Switch}/index.cjs +9 -14
  235. package/dist/components/Switch/index.d.ts +37 -1
  236. package/dist/components/Switch/index.d.ts.map +1 -1
  237. package/dist/components/{Toggle → Switch}/index.js +5 -10
  238. package/dist/components/Table/Table.module.scss.cjs +18 -27
  239. package/dist/components/Table/Table.module.scss.js +18 -27
  240. package/dist/components/Table/index.d.ts +6 -5
  241. package/dist/components/Table/index.d.ts.map +1 -1
  242. package/dist/components/TableOfContents/TableOfContents.module.scss.cjs +15 -15
  243. package/dist/components/TableOfContents/TableOfContents.module.scss.js +15 -15
  244. package/dist/components/Tabs/Tabs.module.scss.cjs +12 -12
  245. package/dist/components/Tabs/Tabs.module.scss.js +12 -12
  246. package/dist/components/Tabs/index.cjs +2 -2
  247. package/dist/components/Tabs/index.js +2 -2
  248. package/dist/components/Text/Text.module.scss.cjs +93 -57
  249. package/dist/components/Text/Text.module.scss.js +93 -57
  250. package/dist/components/Text/index.cjs +14 -6
  251. package/dist/components/Text/index.d.ts +25 -15
  252. package/dist/components/Text/index.d.ts.map +1 -1
  253. package/dist/components/Text/index.js +14 -6
  254. package/dist/components/Textarea/Textarea.module.scss.cjs +26 -23
  255. package/dist/components/Textarea/Textarea.module.scss.js +26 -23
  256. package/dist/components/Textarea/index.cjs +5 -10
  257. package/dist/components/Textarea/index.d.ts.map +1 -1
  258. package/dist/components/Textarea/index.js +5 -10
  259. package/dist/components/Theme/context.cjs +39 -0
  260. package/dist/components/Theme/context.d.ts +21 -0
  261. package/dist/components/Theme/context.d.ts.map +1 -0
  262. package/dist/components/Theme/context.js +22 -0
  263. package/dist/components/Theme/index.cjs +14 -209
  264. package/dist/components/Theme/index.d.ts +4 -37
  265. package/dist/components/Theme/index.d.ts.map +1 -1
  266. package/dist/components/Theme/index.js +9 -204
  267. package/dist/components/{Theme → ThemeToggle}/ThemeToggle.module.scss.cjs +6 -6
  268. package/dist/components/ThemeToggle/ThemeToggle.module.scss.js +23 -0
  269. package/dist/components/ThemeToggle/index.cjs +115 -0
  270. package/dist/components/ThemeToggle/index.d.ts +21 -0
  271. package/dist/components/ThemeToggle/index.d.ts.map +1 -0
  272. package/dist/components/ThemeToggle/index.js +115 -0
  273. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.cjs +13 -13
  274. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.js +13 -13
  275. package/dist/components/ThinkingIndicator/index.cjs +34 -41
  276. package/dist/components/ThinkingIndicator/index.d.ts +4 -4
  277. package/dist/components/ThinkingIndicator/index.d.ts.map +1 -1
  278. package/dist/components/ThinkingIndicator/index.js +34 -41
  279. package/dist/components/Toast/Toast.module.scss.cjs +20 -20
  280. package/dist/components/Toast/Toast.module.scss.js +20 -20
  281. package/dist/components/Toggle/index.d.ts +2 -42
  282. package/dist/components/Toggle/index.d.ts.map +1 -1
  283. package/dist/components/ToggleGroup/ToggleGroup.module.scss.cjs +20 -20
  284. package/dist/components/ToggleGroup/ToggleGroup.module.scss.js +20 -20
  285. package/dist/components/ToggleGroup/index.cjs +3 -2
  286. package/dist/components/ToggleGroup/index.d.ts +2 -1
  287. package/dist/components/ToggleGroup/index.d.ts.map +1 -1
  288. package/dist/components/ToggleGroup/index.js +3 -2
  289. package/dist/components/Tooltip/Tooltip.module.scss.cjs +3 -3
  290. package/dist/components/Tooltip/Tooltip.module.scss.js +3 -3
  291. package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.cjs +1 -1
  292. package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.js +1 -1
  293. package/dist/data-table.cjs +12 -9
  294. package/dist/data-table.js +12 -9
  295. package/dist/datepicker.cjs +2 -1
  296. package/dist/datepicker.js +2 -1
  297. package/dist/index.cjs +100 -98
  298. package/dist/index.d.ts +2 -2
  299. package/dist/index.d.ts.map +1 -1
  300. package/dist/index.js +4 -2
  301. package/dist/markdown.cjs +1 -1
  302. package/dist/markdown.js +2 -2
  303. package/dist/measurements/generated.cjs +296 -0
  304. package/dist/measurements/generated.d.ts +261 -0
  305. package/dist/measurements/generated.d.ts.map +1 -0
  306. package/dist/measurements/generated.js +296 -0
  307. package/dist/measurements/index.d.ts +2 -0
  308. package/dist/measurements/index.d.ts.map +1 -0
  309. package/dist/measurements.cjs +6 -0
  310. package/dist/measurements.js +6 -0
  311. package/dist/recipes/popup.cjs +14 -0
  312. package/dist/recipes/popup.d.ts +4 -0
  313. package/dist/recipes/popup.d.ts.map +1 -0
  314. package/dist/recipes/popup.js +14 -0
  315. package/dist/recipes/table-chrome.cjs +18 -0
  316. package/dist/recipes/table-chrome.d.ts +10 -0
  317. package/dist/recipes/table-chrome.d.ts.map +1 -0
  318. package/dist/recipes/table-chrome.js +18 -0
  319. package/dist/table.cjs +5 -2
  320. package/dist/table.js +5 -2
  321. package/dist/utils/layout-spacing.cjs +27 -0
  322. package/dist/utils/layout-spacing.d.ts +5 -0
  323. package/dist/utils/layout-spacing.d.ts.map +1 -0
  324. package/dist/utils/layout-spacing.js +27 -0
  325. package/dist/utils/seed-derivation.cjs +4 -42
  326. package/dist/utils/seed-derivation.d.ts +4 -3
  327. package/dist/utils/seed-derivation.d.ts.map +1 -1
  328. package/dist/utils/seed-derivation.js +4 -42
  329. package/dist/utils/theme-presets.cjs +1 -0
  330. package/dist/utils/theme-presets.d.ts +3 -2
  331. package/dist/utils/theme-presets.d.ts.map +1 -1
  332. package/dist/utils/theme-presets.js +1 -0
  333. package/fragments.json +1 -1
  334. package/package.json +23 -4
  335. package/src/components/Accordion/Accordion.module.scss +31 -52
  336. package/src/components/Alert/Alert.module.scss +28 -44
  337. package/src/components/AppShell/AppShell.module.scss +6 -3
  338. package/src/components/AppShell/index.tsx +8 -4
  339. package/src/components/Avatar/Avatar.module.scss +22 -60
  340. package/src/components/Avatar/index.tsx +152 -146
  341. package/src/components/Badge/Badge.module.scss +51 -46
  342. package/src/components/BentoGrid/BentoGrid.module.scss +11 -32
  343. package/src/components/Box/Box.module.scss +253 -81
  344. package/src/components/Breadcrumbs/Breadcrumbs.module.scss +10 -11
  345. package/src/components/Button/Button.module.scss +52 -57
  346. package/src/components/ButtonGroup/ButtonGroup.module.scss +5 -5
  347. package/src/components/Card/Card.consumer-fixture.module.scss +8 -0
  348. package/src/components/Card/Card.module.scss +211 -175
  349. package/src/components/Chart/Chart.module.scss +28 -29
  350. package/src/components/Chart/index.tsx +40 -53
  351. package/src/components/Checkbox/Checkbox.module.scss +43 -64
  352. package/src/components/Checkbox/index.tsx +4 -9
  353. package/src/components/Chip/Chip.contract.json +4 -3
  354. package/src/components/Chip/Chip.module.scss +23 -34
  355. package/src/components/Chip/index.tsx +3 -4
  356. package/src/components/CodeBlock/CodeBlock.module.scss +102 -215
  357. package/src/components/Collapsible/Collapsible.module.scss +29 -63
  358. package/src/components/Collapsible/index.tsx +22 -26
  359. package/src/components/ColorPicker/ColorPicker.module.scss +42 -24
  360. package/src/components/ColorPicker/index.tsx +2 -1
  361. package/src/components/Combobox/Combobox.module.scss +60 -73
  362. package/src/components/Combobox/index.tsx +7 -5
  363. package/src/components/Command/Command.module.scss +47 -77
  364. package/src/components/ConversationList/ConversationList.module.scss +20 -78
  365. package/src/components/ConversationList/index.tsx +55 -59
  366. package/src/components/DataTable/DataTable.module.scss +76 -216
  367. package/src/components/DataTable/index.tsx +20 -25
  368. package/src/components/DatePicker/DatePicker.module.scss +54 -33
  369. package/src/components/DatePicker/index.tsx +2 -1
  370. package/src/components/Dialog/Dialog.module.scss +42 -66
  371. package/src/components/Drawer/Drawer.module.scss +93 -99
  372. package/src/components/Drawer/index.tsx +1 -1
  373. package/src/components/Editor/Editor.module.scss +115 -220
  374. package/src/components/EmptyState/EmptyState.module.scss +38 -85
  375. package/src/components/Field/Field.contract.json +2 -1
  376. package/src/components/Field/Field.module.scss +9 -11
  377. package/src/components/Field/index.tsx +27 -1
  378. package/src/components/Fieldset/Fieldset.module.scss +14 -6
  379. package/src/components/Form/Form.contract.json +10 -23
  380. package/src/components/Form/Form.module.scss +9 -4
  381. package/src/components/Form/index.tsx +22 -7
  382. package/src/components/Grid/Grid.module.scss +159 -63
  383. package/src/components/Grid/index.tsx +107 -126
  384. package/src/components/Header/Header.module.scss +25 -32
  385. package/src/components/Header/index.tsx +2 -1
  386. package/src/components/Icon/Icon.module.scss +16 -0
  387. package/src/components/Icon/index.tsx +74 -86
  388. package/src/components/IconButton/IconButton.module.scss +11 -21
  389. package/src/components/Input/Input.module.scss +67 -55
  390. package/src/components/Input/index.tsx +1 -2
  391. package/src/components/Link/Link.module.scss +8 -9
  392. package/src/components/List/List.module.scss +16 -21
  393. package/src/components/List/index.tsx +4 -10
  394. package/src/components/Listbox/Listbox.module.scss +26 -54
  395. package/src/components/Loading/Loading.module.scss +23 -33
  396. package/src/components/Loading/index.tsx +68 -97
  397. package/src/components/Main/Main.module.scss +3 -5
  398. package/src/components/Markdown/Markdown.module.scss +36 -184
  399. package/src/components/Markdown/index.tsx +2 -2
  400. package/src/components/Menu/Menu.module.scss +48 -133
  401. package/src/components/Menu/index.tsx +57 -89
  402. package/src/components/Message/Message.module.scss +52 -142
  403. package/src/components/Message/index.tsx +16 -6
  404. package/src/components/NavigationMenu/NavigationMenu.module.scss +59 -52
  405. package/src/components/Pagination/Pagination.module.scss +32 -25
  406. package/src/components/Pagination/index.tsx +7 -2
  407. package/src/components/Popover/Popover.module.scss +37 -73
  408. package/src/components/Progress/Progress.module.scss +61 -41
  409. package/src/components/Progress/geometry.ts +41 -0
  410. package/src/components/Progress/index.tsx +44 -30
  411. package/src/components/Prompt/Prompt.module.scss +45 -82
  412. package/src/components/Prompt/index.tsx +6 -5
  413. package/src/components/RadioGroup/RadioGroup.module.scss +50 -69
  414. package/src/components/RadioGroup/index.tsx +7 -9
  415. package/src/components/ScrollArea/ScrollArea.contract.json +8 -24
  416. package/src/components/ScrollArea/ScrollArea.module.scss +122 -96
  417. package/src/components/ScrollArea/index.tsx +78 -60
  418. package/src/components/ScrollArea/scroll-state.ts +87 -0
  419. package/src/components/Select/Select.module.scss +53 -41
  420. package/src/components/Select/index.tsx +6 -2
  421. package/src/components/Separator/Separator.module.scss +29 -19
  422. package/src/components/Separator/index.tsx +55 -51
  423. package/src/components/Sidebar/Sidebar.contract.json +12 -0
  424. package/src/components/Sidebar/Sidebar.module.scss +101 -99
  425. package/src/components/Sidebar/index.tsx +10 -3
  426. package/src/components/Skeleton/Skeleton.module.scss +26 -26
  427. package/src/components/Skeleton/index.tsx +65 -72
  428. package/src/components/Slider/Slider.module.scss +31 -25
  429. package/src/components/Stack/Stack.module.scss +101 -30
  430. package/src/components/Stack/index.tsx +157 -127
  431. package/src/components/{Toggle/Toggle.contract.json → Switch/Switch.contract.json} +1 -1
  432. package/src/components/{Toggle/Toggle.module.scss → Switch/Switch.module.scss} +55 -82
  433. package/src/components/{Toggle → Switch}/index.tsx +5 -21
  434. package/src/components/Table/Table.module.scss +38 -129
  435. package/src/components/Table/index.tsx +13 -6
  436. package/src/components/TableOfContents/TableOfContents.module.scss +20 -177
  437. package/src/components/Tabs/Tabs.module.scss +27 -22
  438. package/src/components/Tabs/index.tsx +2 -2
  439. package/src/components/Text/Text.module.scss +22 -3
  440. package/src/components/Text/index.tsx +56 -21
  441. package/src/components/Textarea/Textarea.module.scss +59 -39
  442. package/src/components/Textarea/index.tsx +5 -12
  443. package/src/components/Theme/context.ts +42 -0
  444. package/src/components/Theme/index.tsx +14 -309
  445. package/src/components/ThemeToggle/ThemeToggle.module.scss +73 -0
  446. package/src/components/ThemeToggle/index.tsx +144 -0
  447. package/src/components/ThinkingIndicator/ThinkingIndicator.module.scss +24 -19
  448. package/src/components/ThinkingIndicator/index.tsx +44 -54
  449. package/src/components/Toast/Toast.contract.json +5 -21
  450. package/src/components/Toast/Toast.module.scss +61 -138
  451. package/src/components/Toggle/index.ts +7 -0
  452. package/src/components/ToggleGroup/ToggleGroup.contract.json +12 -39
  453. package/src/components/ToggleGroup/ToggleGroup.module.scss +132 -88
  454. package/src/components/ToggleGroup/index.tsx +5 -3
  455. package/src/components/Tooltip/Tooltip.module.scss +23 -39
  456. package/src/components/VisuallyHidden/VisuallyHidden.module.scss +3 -0
  457. package/src/index.ts +2 -1
  458. package/src/measurements/MeasurementTargets.module.scss +229 -0
  459. package/src/measurements/generated.ts +317 -0
  460. package/src/measurements/index.ts +8 -0
  461. package/src/measurements/measurements.json +361 -0
  462. package/src/recipes/_action.scss +138 -0
  463. package/src/recipes/_boolean-range.scss +124 -0
  464. package/src/recipes/_feedback.scss +171 -0
  465. package/src/recipes/_field.scss +98 -0
  466. package/src/recipes/_layout.scss +67 -0
  467. package/src/recipes/_navigation.scss +110 -0
  468. package/src/recipes/_overlay.scss +191 -0
  469. package/src/recipes/_popup.scss +92 -0
  470. package/src/recipes/_prose.scss +174 -0
  471. package/src/recipes/_representation.scss +193 -0
  472. package/src/recipes/_segmented.scss +26 -0
  473. package/src/recipes/_surface.scss +13 -0
  474. package/src/recipes/_table-chrome.scss +105 -0
  475. package/src/recipes/_target.scss +31 -0
  476. package/src/recipes/_typography.scss +38 -0
  477. package/src/recipes/popup.ts +12 -0
  478. package/src/recipes/table-chrome.ts +30 -0
  479. package/src/styles/globals.scss +2 -2
  480. package/src/tokens/_component-properties.scss +2 -2
  481. package/src/tokens/_computed.scss +9 -9
  482. package/src/tokens/_density.scss +41 -132
  483. package/src/tokens/_measurements.catalog.generated.css +91 -0
  484. package/src/tokens/_measurements.generated.scss +604 -0
  485. package/src/tokens/_mixins.scss +0 -276
  486. package/src/tokens/_property-registrations.scss +96 -92
  487. package/src/tokens/_radius.scss +16 -70
  488. package/src/tokens/_seeds.scss +8 -7
  489. package/src/tokens/_variables.scss +163 -148
  490. package/src/utils/layout-spacing.ts +31 -0
  491. package/src/utils/seed-derivation.ts +134 -172
  492. package/src/utils/theme-presets.ts +58 -30
  493. package/dist/components/Theme/ThemeToggle.module.scss.js +0 -23
  494. package/dist/components/Toggle/Toggle.module.scss.cjs +0 -44
  495. package/dist/components/Toggle/Toggle.module.scss.js +0 -44
  496. package/src/components/Switch/index.ts +0 -3
  497. package/src/components/Theme/ThemeToggle.module.scss +0 -91
@@ -1,31 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const root = "_root_le29r_1";
4
- const header = "_header_le29r_9";
5
- const label = "_label_le29r_16";
6
- const value = "_value_le29r_22";
7
- const track = "_track_le29r_28";
8
- const trackSm = "_trackSm_le29r_36";
9
- const trackMd = "_trackMd_le29r_40";
10
- const trackLg = "_trackLg_le29r_44";
11
- const indicator = "_indicator_le29r_48";
12
- const indicatorNeutral = "_indicatorNeutral_le29r_55";
13
- const indicatorSuccess = "_indicatorSuccess_le29r_59";
14
- const indicatorWarning = "_indicatorWarning_le29r_63";
15
- const indicatorDanger = "_indicatorDanger_le29r_67";
16
- const indicatorIndeterminate = "_indicatorIndeterminate_le29r_71";
17
- const circular = "_circular_le29r_91";
18
- const circularSvg = "_circularSvg_le29r_98";
19
- const circularTrack = "_circularTrack_le29r_102";
20
- const circularIndicator = "_circularIndicator_le29r_107";
21
- const circularIndicatorSuccess = "_circularIndicatorSuccess_le29r_114";
22
- const circularIndicatorWarning = "_circularIndicatorWarning_le29r_118";
23
- const circularIndicatorDanger = "_circularIndicatorDanger_le29r_122";
24
- const circularIndicatorIndeterminate = "_circularIndicatorIndeterminate_le29r_126";
25
- const circularValue = "_circularValue_le29r_143";
26
- const circularSm = "_circularSm_le29r_151";
27
- const circularMd = "_circularMd_le29r_159";
28
- const circularLg = "_circularLg_le29r_164";
3
+ const root = "_root_1xomg_1";
4
+ const header = "_header_1xomg_8";
5
+ const label = "_label_1xomg_20";
6
+ const value = "_value_1xomg_24";
7
+ const track = "_track_1xomg_29";
8
+ const trackSm = "_trackSm_1xomg_38";
9
+ const trackMd = "_trackMd_1xomg_45";
10
+ const trackLg = "_trackLg_1xomg_52";
11
+ const indicator = "_indicator_1xomg_59";
12
+ const indicatorNeutral = "_indicatorNeutral_1xomg_66";
13
+ const indicatorSuccess = "_indicatorSuccess_1xomg_70";
14
+ const indicatorWarning = "_indicatorWarning_1xomg_74";
15
+ const indicatorDanger = "_indicatorDanger_1xomg_78";
16
+ const indicatorIndeterminate = "_indicatorIndeterminate_1xomg_82";
17
+ const circular = "_circular_1xomg_98";
18
+ const circularSvg = "_circularSvg_1xomg_107";
19
+ const circularTrack = "_circularTrack_1xomg_113";
20
+ const circularIndicator = "_circularIndicator_1xomg_118";
21
+ const circularIndicatorSuccess = "_circularIndicatorSuccess_1xomg_126";
22
+ const circularIndicatorWarning = "_circularIndicatorWarning_1xomg_130";
23
+ const circularIndicatorDanger = "_circularIndicatorDanger_1xomg_134";
24
+ const circularIndicatorIndeterminate = "_circularIndicatorIndeterminate_1xomg_138";
25
+ const circularValue = "_circularValue_1xomg_155";
26
+ const circularValueCompact = "_circularValueCompact_1xomg_161";
27
+ const circularValueStandard = "_circularValueStandard_1xomg_169";
29
28
  const styles = {
30
29
  root,
31
30
  header,
@@ -50,9 +49,8 @@ const styles = {
50
49
  circularIndicatorDanger,
51
50
  circularIndicatorIndeterminate,
52
51
  circularValue,
53
- circularSm,
54
- circularMd,
55
- circularLg
52
+ circularValueCompact,
53
+ circularValueStandard
56
54
  };
57
55
  exports.circular = circular;
58
56
  exports.circularIndicator = circularIndicator;
@@ -60,12 +58,11 @@ exports.circularIndicatorDanger = circularIndicatorDanger;
60
58
  exports.circularIndicatorIndeterminate = circularIndicatorIndeterminate;
61
59
  exports.circularIndicatorSuccess = circularIndicatorSuccess;
62
60
  exports.circularIndicatorWarning = circularIndicatorWarning;
63
- exports.circularLg = circularLg;
64
- exports.circularMd = circularMd;
65
- exports.circularSm = circularSm;
66
61
  exports.circularSvg = circularSvg;
67
62
  exports.circularTrack = circularTrack;
68
63
  exports.circularValue = circularValue;
64
+ exports.circularValueCompact = circularValueCompact;
65
+ exports.circularValueStandard = circularValueStandard;
69
66
  exports.default = styles;
70
67
  exports.header = header;
71
68
  exports.indicator = indicator;
@@ -1,29 +1,28 @@
1
- const root = "_root_le29r_1";
2
- const header = "_header_le29r_9";
3
- const label = "_label_le29r_16";
4
- const value = "_value_le29r_22";
5
- const track = "_track_le29r_28";
6
- const trackSm = "_trackSm_le29r_36";
7
- const trackMd = "_trackMd_le29r_40";
8
- const trackLg = "_trackLg_le29r_44";
9
- const indicator = "_indicator_le29r_48";
10
- const indicatorNeutral = "_indicatorNeutral_le29r_55";
11
- const indicatorSuccess = "_indicatorSuccess_le29r_59";
12
- const indicatorWarning = "_indicatorWarning_le29r_63";
13
- const indicatorDanger = "_indicatorDanger_le29r_67";
14
- const indicatorIndeterminate = "_indicatorIndeterminate_le29r_71";
15
- const circular = "_circular_le29r_91";
16
- const circularSvg = "_circularSvg_le29r_98";
17
- const circularTrack = "_circularTrack_le29r_102";
18
- const circularIndicator = "_circularIndicator_le29r_107";
19
- const circularIndicatorSuccess = "_circularIndicatorSuccess_le29r_114";
20
- const circularIndicatorWarning = "_circularIndicatorWarning_le29r_118";
21
- const circularIndicatorDanger = "_circularIndicatorDanger_le29r_122";
22
- const circularIndicatorIndeterminate = "_circularIndicatorIndeterminate_le29r_126";
23
- const circularValue = "_circularValue_le29r_143";
24
- const circularSm = "_circularSm_le29r_151";
25
- const circularMd = "_circularMd_le29r_159";
26
- const circularLg = "_circularLg_le29r_164";
1
+ const root = "_root_1xomg_1";
2
+ const header = "_header_1xomg_8";
3
+ const label = "_label_1xomg_20";
4
+ const value = "_value_1xomg_24";
5
+ const track = "_track_1xomg_29";
6
+ const trackSm = "_trackSm_1xomg_38";
7
+ const trackMd = "_trackMd_1xomg_45";
8
+ const trackLg = "_trackLg_1xomg_52";
9
+ const indicator = "_indicator_1xomg_59";
10
+ const indicatorNeutral = "_indicatorNeutral_1xomg_66";
11
+ const indicatorSuccess = "_indicatorSuccess_1xomg_70";
12
+ const indicatorWarning = "_indicatorWarning_1xomg_74";
13
+ const indicatorDanger = "_indicatorDanger_1xomg_78";
14
+ const indicatorIndeterminate = "_indicatorIndeterminate_1xomg_82";
15
+ const circular = "_circular_1xomg_98";
16
+ const circularSvg = "_circularSvg_1xomg_107";
17
+ const circularTrack = "_circularTrack_1xomg_113";
18
+ const circularIndicator = "_circularIndicator_1xomg_118";
19
+ const circularIndicatorSuccess = "_circularIndicatorSuccess_1xomg_126";
20
+ const circularIndicatorWarning = "_circularIndicatorWarning_1xomg_130";
21
+ const circularIndicatorDanger = "_circularIndicatorDanger_1xomg_134";
22
+ const circularIndicatorIndeterminate = "_circularIndicatorIndeterminate_1xomg_138";
23
+ const circularValue = "_circularValue_1xomg_155";
24
+ const circularValueCompact = "_circularValueCompact_1xomg_161";
25
+ const circularValueStandard = "_circularValueStandard_1xomg_169";
27
26
  const styles = {
28
27
  root,
29
28
  header,
@@ -48,9 +47,8 @@ const styles = {
48
47
  circularIndicatorDanger,
49
48
  circularIndicatorIndeterminate,
50
49
  circularValue,
51
- circularSm,
52
- circularMd,
53
- circularLg
50
+ circularValueCompact,
51
+ circularValueStandard
54
52
  };
55
53
  export {
56
54
  circular,
@@ -59,12 +57,11 @@ export {
59
57
  circularIndicatorIndeterminate,
60
58
  circularIndicatorSuccess,
61
59
  circularIndicatorWarning,
62
- circularLg,
63
- circularMd,
64
- circularSm,
65
60
  circularSvg,
66
61
  circularTrack,
67
62
  circularValue,
63
+ circularValueCompact,
64
+ circularValueStandard,
68
65
  styles as default,
69
66
  header,
70
67
  indicator,
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const generated = require("../../measurements/generated.cjs");
4
+ const defaultStrokeWidths = {
5
+ sm: 3,
6
+ md: 4,
7
+ lg: 5
8
+ };
9
+ const CIRCULAR_PROGRESS_GEOMETRY = Object.freeze({
10
+ sm: Object.freeze({
11
+ diameter: generated.measurementPx(generated.MEASUREMENT_PROFILES.rawSpace[32], "rawSpace.32"),
12
+ strokeWidth: defaultStrokeWidths.sm
13
+ }),
14
+ md: Object.freeze({
15
+ diameter: generated.measurementPx(generated.MEASUREMENT_PROFILES.rawSpace[48], "rawSpace.48"),
16
+ strokeWidth: defaultStrokeWidths.md
17
+ }),
18
+ lg: Object.freeze({
19
+ diameter: generated.measurementPx(generated.MEASUREMENT_PROFILES.rawSpace[64], "rawSpace.64"),
20
+ strokeWidth: defaultStrokeWidths.lg
21
+ })
22
+ });
23
+ function resolveCircularStrokeWidth(geometry, requested) {
24
+ if (requested === void 0 || !Number.isFinite(requested) || requested <= 0) {
25
+ return geometry.strokeWidth;
26
+ }
27
+ return Math.min(requested, geometry.diameter / 2);
28
+ }
29
+ exports.CIRCULAR_PROGRESS_GEOMETRY = CIRCULAR_PROGRESS_GEOMETRY;
30
+ exports.resolveCircularStrokeWidth = resolveCircularStrokeWidth;
@@ -0,0 +1,8 @@
1
+ export type ProgressSize = "sm" | "md" | "lg";
2
+ export interface CircularProgressGeometry {
3
+ diameter: number;
4
+ strokeWidth: number;
5
+ }
6
+ export declare const CIRCULAR_PROGRESS_GEOMETRY: Readonly<Record<ProgressSize, CircularProgressGeometry>>;
7
+ export declare function resolveCircularStrokeWidth(geometry: CircularProgressGeometry, requested?: number): number;
8
+ //# sourceMappingURL=geometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../../src/components/Progress/geometry.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAQD,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAc5F,CAAC;AAEL,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,wBAAwB,EAClC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAMR"}
@@ -0,0 +1,30 @@
1
+ import { measurementPx, MEASUREMENT_PROFILES } from "../../measurements/generated.js";
2
+ const defaultStrokeWidths = {
3
+ sm: 3,
4
+ md: 4,
5
+ lg: 5
6
+ };
7
+ const CIRCULAR_PROGRESS_GEOMETRY = Object.freeze({
8
+ sm: Object.freeze({
9
+ diameter: measurementPx(MEASUREMENT_PROFILES.rawSpace[32], "rawSpace.32"),
10
+ strokeWidth: defaultStrokeWidths.sm
11
+ }),
12
+ md: Object.freeze({
13
+ diameter: measurementPx(MEASUREMENT_PROFILES.rawSpace[48], "rawSpace.48"),
14
+ strokeWidth: defaultStrokeWidths.md
15
+ }),
16
+ lg: Object.freeze({
17
+ diameter: measurementPx(MEASUREMENT_PROFILES.rawSpace[64], "rawSpace.64"),
18
+ strokeWidth: defaultStrokeWidths.lg
19
+ })
20
+ });
21
+ function resolveCircularStrokeWidth(geometry, requested) {
22
+ if (requested === void 0 || !Number.isFinite(requested) || requested <= 0) {
23
+ return geometry.strokeWidth;
24
+ }
25
+ return Math.min(requested, geometry.diameter / 2);
26
+ }
27
+ export {
28
+ CIRCULAR_PROGRESS_GEOMETRY,
29
+ resolveCircularStrokeWidth
30
+ };
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("react/jsx-runtime");
5
5
  const progress = require("@base-ui/react/progress");
6
+ const geometry = require("./geometry.cjs");
6
7
  const Progress_module = require("./Progress.module.scss.cjs");
7
8
  function ProgressRoot({
8
9
  value = null,
@@ -21,7 +22,8 @@ function ProgressRoot({
21
22
  }) {
22
23
  const isIndeterminate = value === null;
23
24
  const range = max - min;
24
- const normalizedPercentage = isIndeterminate ? 0 : range <= 0 ? 0 : (value - min) / range * 100;
25
+ const clampedValue = isIndeterminate ? null : !Number.isFinite(value) || range <= 0 ? min : Math.min(max, Math.max(min, value));
26
+ const normalizedPercentage = clampedValue === null || range <= 0 ? 0 : (clampedValue - min) / range * 100;
25
27
  const percentage = isIndeterminate ? 0 : Math.round(Math.min(100, Math.max(0, normalizedPercentage)));
26
28
  const trackClasses = [
27
29
  Progress_module.default.track,
@@ -44,7 +46,7 @@ function ProgressRoot({
44
46
  progress.Progress.Root,
45
47
  {
46
48
  ...htmlProps,
47
- value,
49
+ value: clampedValue,
48
50
  min,
49
51
  max,
50
52
  className: rootClasses,
@@ -61,18 +63,13 @@ function ProgressRoot({
61
63
  progress.Progress.Indicator,
62
64
  {
63
65
  className: indicatorClasses,
64
- style: isIndeterminate ? void 0 : { width: `${percentage}%` }
66
+ style: isIndeterminate ? void 0 : { inlineSize: `${percentage}%` }
65
67
  }
66
68
  ) })
67
69
  ]
68
70
  }
69
71
  );
70
72
  }
71
- const CIRCLE_SIZES = {
72
- sm: { size: 32, strokeWidth: 3 },
73
- md: { size: 48, strokeWidth: 4 },
74
- lg: { size: 64, strokeWidth: 5 }
75
- };
76
73
  function CircularProgressRoot({
77
74
  value = null,
78
75
  size = "md",
@@ -80,19 +77,19 @@ function CircularProgressRoot({
80
77
  showValue = false,
81
78
  strokeWidth: customStrokeWidth,
82
79
  className,
80
+ style: styleProp,
83
81
  "aria-label": ariaLabel,
84
82
  "aria-labelledby": ariaLabelledBy,
85
83
  "aria-valuetext": ariaValueText,
86
84
  ...htmlProps
87
85
  }) {
88
86
  const isIndeterminate = value === null;
89
- const percentage = isIndeterminate ? 0 : Math.min(100, Math.max(0, value));
90
- const { size: svgSize, strokeWidth: defaultStrokeWidth } = CIRCLE_SIZES[size];
91
- const strokeWidth = customStrokeWidth ?? defaultStrokeWidth;
92
- const radius = (svgSize - strokeWidth) / 2;
87
+ const percentage = isIndeterminate || !Number.isFinite(value) ? 0 : Math.min(100, Math.max(0, value));
88
+ const geometry$1 = geometry.CIRCULAR_PROGRESS_GEOMETRY[size];
89
+ const strokeWidth = geometry.resolveCircularStrokeWidth(geometry$1, customStrokeWidth);
90
+ const radius = (geometry$1.diameter - strokeWidth) / 2;
93
91
  const circumference = 2 * Math.PI * radius;
94
92
  const offset = circumference - percentage / 100 * circumference;
95
- const sizeClass = size === "sm" ? Progress_module.default.circularSm : size === "lg" ? Progress_module.default.circularLg : Progress_module.default.circularMd;
96
93
  const indicatorClasses = [
97
94
  Progress_module.default.circularIndicator,
98
95
  variant === "success" && Progress_module.default.circularIndicatorSuccess,
@@ -100,17 +97,24 @@ function CircularProgressRoot({
100
97
  variant === "danger" && Progress_module.default.circularIndicatorDanger,
101
98
  isIndeterminate && Progress_module.default.circularIndicatorIndeterminate
102
99
  ].filter(Boolean).join(" ");
103
- const rootClasses = [Progress_module.default.circular, sizeClass, className].filter(Boolean).join(" ");
100
+ const rootClasses = [Progress_module.default.circular, className].filter(Boolean).join(" ");
104
101
  const effectiveValueText = ariaValueText || (isIndeterminate ? "Loading" : `${Math.round(percentage)} percent`);
102
+ const circularStyle = {
103
+ "--_progress-diameter": `${geometry$1.diameter}px`,
104
+ "--_progress-dash-full": circumference,
105
+ "--_progress-dash-quarter": circumference / 4,
106
+ ...styleProp
107
+ };
105
108
  return /* @__PURE__ */ jsxRuntime.jsxs(
106
109
  progress.Progress.Root,
107
110
  {
108
111
  ...htmlProps,
109
- value,
112
+ value: isIndeterminate ? null : percentage,
110
113
  min: 0,
111
114
  max: 100,
112
115
  className: rootClasses,
113
- "aria-label": ariaLabel,
116
+ style: circularStyle,
117
+ "aria-label": ariaLabel ?? (ariaLabelledBy ? void 0 : "Progress"),
114
118
  "aria-labelledby": ariaLabelledBy,
115
119
  "aria-valuenow": isIndeterminate ? void 0 : percentage,
116
120
  "aria-valuemin": 0,
@@ -122,17 +126,15 @@ function CircularProgressRoot({
122
126
  "svg",
123
127
  {
124
128
  className: Progress_module.default.circularSvg,
125
- width: svgSize,
126
- height: svgSize,
127
- viewBox: `0 0 ${svgSize} ${svgSize}`,
129
+ viewBox: `0 0 ${geometry$1.diameter} ${geometry$1.diameter}`,
128
130
  "aria-hidden": "true",
129
131
  children: [
130
132
  /* @__PURE__ */ jsxRuntime.jsx(
131
133
  "circle",
132
134
  {
133
135
  className: Progress_module.default.circularTrack,
134
- cx: svgSize / 2,
135
- cy: svgSize / 2,
136
+ cx: geometry$1.diameter / 2,
137
+ cy: geometry$1.diameter / 2,
136
138
  r: radius,
137
139
  strokeWidth
138
140
  }
@@ -141,22 +143,31 @@ function CircularProgressRoot({
141
143
  "circle",
142
144
  {
143
145
  className: indicatorClasses,
144
- cx: svgSize / 2,
145
- cy: svgSize / 2,
146
+ cx: geometry$1.diameter / 2,
147
+ cy: geometry$1.diameter / 2,
146
148
  r: radius,
147
149
  strokeWidth,
148
150
  strokeDasharray: circumference,
149
- strokeDashoffset: isIndeterminate ? void 0 : offset,
150
- style: isIndeterminate ? { transformOrigin: "center" } : void 0
151
+ strokeDashoffset: isIndeterminate ? void 0 : offset
151
152
  }
152
153
  )
153
154
  ]
154
155
  }
155
156
  ),
156
- showValue && !isIndeterminate && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: Progress_module.default.circularValue, "aria-hidden": "true", children: [
157
- Math.round(percentage),
158
- "%"
159
- ] })
157
+ showValue && !isIndeterminate && /* @__PURE__ */ jsxRuntime.jsxs(
158
+ "span",
159
+ {
160
+ className: [
161
+ Progress_module.default.circularValue,
162
+ size === "sm" ? Progress_module.default.circularValueCompact : Progress_module.default.circularValueStandard
163
+ ].join(" "),
164
+ "aria-hidden": "true",
165
+ children: [
166
+ Math.round(percentage),
167
+ "%"
168
+ ]
169
+ }
170
+ )
160
171
  ]
161
172
  }
162
173
  );
@@ -1,4 +1,5 @@
1
1
  import * as React from "react";
2
+ import { type ProgressSize } from "./geometry";
2
3
  export interface ProgressProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "defaultValue"> {
3
4
  /** Current progress value (0-100). Null for indeterminate. */
4
5
  value?: number | null;
@@ -7,7 +8,7 @@ export interface ProgressProps extends Omit<React.HTMLAttributes<HTMLDivElement>
7
8
  /** Maximum value */
8
9
  max?: number;
9
10
  /** Size of the progress bar */
10
- size?: "sm" | "md" | "lg";
11
+ size?: ProgressSize;
11
12
  /** Color variant */
12
13
  variant?: "default" | "neutral" | "success" | "warning" | "danger";
13
14
  /** Label text */
@@ -21,7 +22,7 @@ export interface CircularProgressProps extends React.HTMLAttributes<HTMLDivEleme
21
22
  /** Current progress value (0-100). Null for indeterminate. */
22
23
  value?: number | null;
23
24
  /** Size of the circular progress */
24
- size?: "sm" | "md" | "lg";
25
+ size?: ProgressSize;
25
26
  /** Color variant */
26
27
  variant?: "default" | "success" | "warning" | "danger";
27
28
  /** Show percentage in center */
@@ -30,7 +31,7 @@ export interface CircularProgressProps extends React.HTMLAttributes<HTMLDivEleme
30
31
  strokeWidth?: number;
31
32
  }
32
33
  declare function ProgressRoot({ value, min, max, size, variant, label, showValue, formatValue, className, role, "aria-label": ariaLabel, "aria-valuetext": ariaValueText, ...htmlProps }: ProgressProps): import("react/jsx-runtime").JSX.Element;
33
- declare function CircularProgressRoot({ value, size, variant, showValue, strokeWidth: customStrokeWidth, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-valuetext": ariaValueText, ...htmlProps }: CircularProgressProps): import("react/jsx-runtime").JSX.Element;
34
+ declare function CircularProgressRoot({ value, size, variant, showValue, strokeWidth: customStrokeWidth, className, style: styleProp, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-valuetext": ariaValueText, ...htmlProps }: CircularProgressProps): import("react/jsx-runtime").JSX.Element;
34
35
  export declare const CircularProgress: typeof CircularProgressRoot;
35
36
  export declare const Progress: typeof ProgressRoot & {
36
37
  Root: typeof ProgressRoot;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Progress/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IAC/F,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,oBAAoB;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnE,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACjF,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oCAAoC;IACpC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,oBAAoB;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACvD,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,iBAAS,YAAY,CAAC,EACpB,KAAY,EACZ,GAAO,EACP,GAAS,EACT,IAAW,EACX,OAAmB,EACnB,KAAK,EACL,SAAiB,EACjB,WAAW,EACX,SAAS,EACT,IAAI,EACJ,YAAY,EAAE,SAAS,EACvB,gBAAgB,EAAE,aAAa,EAC/B,GAAG,SAAS,EACb,EAAE,aAAa,2CA8Df;AAYD,iBAAS,oBAAoB,CAAC,EAC5B,KAAY,EACZ,IAAW,EACX,OAAmB,EACnB,SAAiB,EACjB,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,gBAAgB,EAAE,aAAa,EAC/B,GAAG,SAAS,EACb,EAAE,qBAAqB,2CA+EvB;AAED,eAAO,MAAM,gBAAgB,6BAAuB,CAAC;AAErD,eAAO,MAAM,QAAQ;;;CAGnB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Progress/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAOpB,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IAC/F,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,oBAAoB;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnE,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACjF,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,oCAAoC;IACpC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,oBAAoB;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACvD,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,iBAAS,YAAY,CAAC,EACpB,KAAY,EACZ,GAAO,EACP,GAAS,EACT,IAAW,EACX,OAAmB,EACnB,KAAK,EACL,SAAiB,EACjB,WAAW,EACX,SAAS,EACT,IAAI,EACJ,YAAY,EAAE,SAAS,EACvB,gBAAgB,EAAE,aAAa,EAC/B,GAAG,SAAS,EACb,EAAE,aAAa,2CAoEf;AAMD,iBAAS,oBAAoB,CAAC,EAC5B,KAAY,EACZ,IAAW,EACX,OAAmB,EACnB,SAAiB,EACjB,WAAW,EAAE,iBAAiB,EAC9B,SAAS,EACT,KAAK,EAAE,SAAS,EAChB,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,gBAAgB,EAAE,aAAa,EAC/B,GAAG,SAAS,EACb,EAAE,qBAAqB,2CAuFvB;AAED,eAAO,MAAM,gBAAgB,6BAAuB,CAAC;AAErD,eAAO,MAAM,QAAQ;;;CAGnB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from "react/jsx-runtime";
3
3
  import { Progress as Progress$1 } from "@base-ui/react/progress";
4
+ import { CIRCULAR_PROGRESS_GEOMETRY, resolveCircularStrokeWidth } from "./geometry.js";
4
5
  import styles from "./Progress.module.scss.js";
5
6
  function ProgressRoot({
6
7
  value = null,
@@ -19,7 +20,8 @@ function ProgressRoot({
19
20
  }) {
20
21
  const isIndeterminate = value === null;
21
22
  const range = max - min;
22
- const normalizedPercentage = isIndeterminate ? 0 : range <= 0 ? 0 : (value - min) / range * 100;
23
+ const clampedValue = isIndeterminate ? null : !Number.isFinite(value) || range <= 0 ? min : Math.min(max, Math.max(min, value));
24
+ const normalizedPercentage = clampedValue === null || range <= 0 ? 0 : (clampedValue - min) / range * 100;
23
25
  const percentage = isIndeterminate ? 0 : Math.round(Math.min(100, Math.max(0, normalizedPercentage)));
24
26
  const trackClasses = [
25
27
  styles.track,
@@ -42,7 +44,7 @@ function ProgressRoot({
42
44
  Progress$1.Root,
43
45
  {
44
46
  ...htmlProps,
45
- value,
47
+ value: clampedValue,
46
48
  min,
47
49
  max,
48
50
  className: rootClasses,
@@ -59,18 +61,13 @@ function ProgressRoot({
59
61
  Progress$1.Indicator,
60
62
  {
61
63
  className: indicatorClasses,
62
- style: isIndeterminate ? void 0 : { width: `${percentage}%` }
64
+ style: isIndeterminate ? void 0 : { inlineSize: `${percentage}%` }
63
65
  }
64
66
  ) })
65
67
  ]
66
68
  }
67
69
  );
68
70
  }
69
- const CIRCLE_SIZES = {
70
- sm: { size: 32, strokeWidth: 3 },
71
- md: { size: 48, strokeWidth: 4 },
72
- lg: { size: 64, strokeWidth: 5 }
73
- };
74
71
  function CircularProgressRoot({
75
72
  value = null,
76
73
  size = "md",
@@ -78,19 +75,19 @@ function CircularProgressRoot({
78
75
  showValue = false,
79
76
  strokeWidth: customStrokeWidth,
80
77
  className,
78
+ style: styleProp,
81
79
  "aria-label": ariaLabel,
82
80
  "aria-labelledby": ariaLabelledBy,
83
81
  "aria-valuetext": ariaValueText,
84
82
  ...htmlProps
85
83
  }) {
86
84
  const isIndeterminate = value === null;
87
- const percentage = isIndeterminate ? 0 : Math.min(100, Math.max(0, value));
88
- const { size: svgSize, strokeWidth: defaultStrokeWidth } = CIRCLE_SIZES[size];
89
- const strokeWidth = customStrokeWidth ?? defaultStrokeWidth;
90
- const radius = (svgSize - strokeWidth) / 2;
85
+ const percentage = isIndeterminate || !Number.isFinite(value) ? 0 : Math.min(100, Math.max(0, value));
86
+ const geometry = CIRCULAR_PROGRESS_GEOMETRY[size];
87
+ const strokeWidth = resolveCircularStrokeWidth(geometry, customStrokeWidth);
88
+ const radius = (geometry.diameter - strokeWidth) / 2;
91
89
  const circumference = 2 * Math.PI * radius;
92
90
  const offset = circumference - percentage / 100 * circumference;
93
- const sizeClass = size === "sm" ? styles.circularSm : size === "lg" ? styles.circularLg : styles.circularMd;
94
91
  const indicatorClasses = [
95
92
  styles.circularIndicator,
96
93
  variant === "success" && styles.circularIndicatorSuccess,
@@ -98,17 +95,24 @@ function CircularProgressRoot({
98
95
  variant === "danger" && styles.circularIndicatorDanger,
99
96
  isIndeterminate && styles.circularIndicatorIndeterminate
100
97
  ].filter(Boolean).join(" ");
101
- const rootClasses = [styles.circular, sizeClass, className].filter(Boolean).join(" ");
98
+ const rootClasses = [styles.circular, className].filter(Boolean).join(" ");
102
99
  const effectiveValueText = ariaValueText || (isIndeterminate ? "Loading" : `${Math.round(percentage)} percent`);
100
+ const circularStyle = {
101
+ "--_progress-diameter": `${geometry.diameter}px`,
102
+ "--_progress-dash-full": circumference,
103
+ "--_progress-dash-quarter": circumference / 4,
104
+ ...styleProp
105
+ };
103
106
  return /* @__PURE__ */ jsxs(
104
107
  Progress$1.Root,
105
108
  {
106
109
  ...htmlProps,
107
- value,
110
+ value: isIndeterminate ? null : percentage,
108
111
  min: 0,
109
112
  max: 100,
110
113
  className: rootClasses,
111
- "aria-label": ariaLabel,
114
+ style: circularStyle,
115
+ "aria-label": ariaLabel ?? (ariaLabelledBy ? void 0 : "Progress"),
112
116
  "aria-labelledby": ariaLabelledBy,
113
117
  "aria-valuenow": isIndeterminate ? void 0 : percentage,
114
118
  "aria-valuemin": 0,
@@ -120,17 +124,15 @@ function CircularProgressRoot({
120
124
  "svg",
121
125
  {
122
126
  className: styles.circularSvg,
123
- width: svgSize,
124
- height: svgSize,
125
- viewBox: `0 0 ${svgSize} ${svgSize}`,
127
+ viewBox: `0 0 ${geometry.diameter} ${geometry.diameter}`,
126
128
  "aria-hidden": "true",
127
129
  children: [
128
130
  /* @__PURE__ */ jsx(
129
131
  "circle",
130
132
  {
131
133
  className: styles.circularTrack,
132
- cx: svgSize / 2,
133
- cy: svgSize / 2,
134
+ cx: geometry.diameter / 2,
135
+ cy: geometry.diameter / 2,
134
136
  r: radius,
135
137
  strokeWidth
136
138
  }
@@ -139,22 +141,31 @@ function CircularProgressRoot({
139
141
  "circle",
140
142
  {
141
143
  className: indicatorClasses,
142
- cx: svgSize / 2,
143
- cy: svgSize / 2,
144
+ cx: geometry.diameter / 2,
145
+ cy: geometry.diameter / 2,
144
146
  r: radius,
145
147
  strokeWidth,
146
148
  strokeDasharray: circumference,
147
- strokeDashoffset: isIndeterminate ? void 0 : offset,
148
- style: isIndeterminate ? { transformOrigin: "center" } : void 0
149
+ strokeDashoffset: isIndeterminate ? void 0 : offset
149
150
  }
150
151
  )
151
152
  ]
152
153
  }
153
154
  ),
154
- showValue && !isIndeterminate && /* @__PURE__ */ jsxs("span", { className: styles.circularValue, "aria-hidden": "true", children: [
155
- Math.round(percentage),
156
- "%"
157
- ] })
155
+ showValue && !isIndeterminate && /* @__PURE__ */ jsxs(
156
+ "span",
157
+ {
158
+ className: [
159
+ styles.circularValue,
160
+ size === "sm" ? styles.circularValueCompact : styles.circularValueStandard
161
+ ].join(" "),
162
+ "aria-hidden": "true",
163
+ children: [
164
+ Math.round(percentage),
165
+ "%"
166
+ ]
167
+ }
168
+ )
158
169
  ]
159
170
  }
160
171
  );