@usefragments/ui 1.6.0 → 2.0.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 (685) hide show
  1. package/README.md +54 -66
  2. package/dist/assets/fragments-wordmark.cjs +2 -2
  3. package/dist/assets/fragments-wordmark.d.ts.map +1 -1
  4. package/dist/assets/fragments-wordmark.js +2 -2
  5. package/dist/assets/nav-glyph.cjs +139 -0
  6. package/dist/assets/nav-glyph.d.ts +28 -0
  7. package/dist/assets/nav-glyph.d.ts.map +1 -0
  8. package/dist/assets/nav-glyph.js +139 -0
  9. package/dist/assets/nav-glyph.module.scss.cjs +71 -0
  10. package/dist/assets/nav-glyph.module.scss.js +71 -0
  11. package/dist/assets/ui.css +6885 -6308
  12. package/dist/blocks/components/StatsCard.d.ts +1 -1
  13. package/dist/blocks/components/StatsCard.d.ts.map +1 -1
  14. package/dist/chart.cjs +24 -6
  15. package/dist/chart.js +24 -6
  16. package/dist/codeblock.cjs +76 -43
  17. package/dist/codeblock.js +71 -38
  18. package/dist/colorpicker.cjs +4 -1
  19. package/dist/colorpicker.js +4 -1
  20. package/dist/components/Accordion/Accordion.module.scss.cjs +8 -8
  21. package/dist/components/Accordion/Accordion.module.scss.js +8 -8
  22. package/dist/components/Alert/Alert.module.scss.cjs +23 -20
  23. package/dist/components/Alert/Alert.module.scss.js +23 -20
  24. package/dist/components/Alert/index.cjs +20 -8
  25. package/dist/components/Alert/index.d.ts +17 -11
  26. package/dist/components/Alert/index.d.ts.map +1 -1
  27. package/dist/components/Alert/index.js +20 -8
  28. package/dist/components/AppShell/AppShell.module.scss.cjs +14 -14
  29. package/dist/components/AppShell/AppShell.module.scss.js +14 -14
  30. package/dist/components/AppShell/index.cjs +2 -2
  31. package/dist/components/AppShell/index.js +2 -2
  32. package/dist/components/Avatar/Avatar.module.scss.cjs +14 -14
  33. package/dist/components/Avatar/Avatar.module.scss.js +14 -14
  34. package/dist/components/Badge/Badge.module.scss.cjs +33 -31
  35. package/dist/components/Badge/Badge.module.scss.js +33 -31
  36. package/dist/components/Badge/index.cjs +13 -3
  37. package/dist/components/Badge/index.d.ts +18 -13
  38. package/dist/components/Badge/index.d.ts.map +1 -1
  39. package/dist/components/Badge/index.js +13 -3
  40. package/dist/components/BentoGrid/BentoGrid.module.scss.cjs +14 -14
  41. package/dist/components/BentoGrid/BentoGrid.module.scss.js +14 -14
  42. package/dist/components/Box/Box.module.scss.cjs +152 -152
  43. package/dist/components/Box/Box.module.scss.js +152 -152
  44. package/dist/components/Box/index.cjs +64 -75
  45. package/dist/components/Box/index.d.ts +16 -16
  46. package/dist/components/Box/index.d.ts.map +1 -1
  47. package/dist/components/Box/index.js +64 -75
  48. package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.cjs +11 -8
  49. package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.js +11 -8
  50. package/dist/components/Breadcrumbs/index.cjs +1 -1
  51. package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
  52. package/dist/components/Breadcrumbs/index.js +1 -1
  53. package/dist/components/Button/Button.module.scss.cjs +36 -27
  54. package/dist/components/Button/Button.module.scss.js +36 -27
  55. package/dist/components/Button/index.cjs +20 -4
  56. package/dist/components/Button/index.d.ts +18 -10
  57. package/dist/components/Button/index.d.ts.map +1 -1
  58. package/dist/components/Button/index.js +20 -4
  59. package/dist/components/ButtonGroup/ButtonGroup.module.scss.cjs +15 -15
  60. package/dist/components/ButtonGroup/ButtonGroup.module.scss.js +15 -15
  61. package/dist/components/Card/Card.module.scss.cjs +31 -26
  62. package/dist/components/Card/Card.module.scss.js +32 -27
  63. package/dist/components/Card/index.cjs +16 -3
  64. package/dist/components/Card/index.d.ts +23 -15
  65. package/dist/components/Card/index.d.ts.map +1 -1
  66. package/dist/components/Card/index.js +16 -3
  67. package/dist/components/Chart/Chart.module.scss.cjs +15 -15
  68. package/dist/components/Chart/Chart.module.scss.js +15 -15
  69. package/dist/components/Chart/index.d.ts.map +1 -1
  70. package/dist/components/Checkbox/Checkbox.module.scss.cjs +11 -11
  71. package/dist/components/Checkbox/Checkbox.module.scss.js +11 -11
  72. package/dist/components/Checkbox/index.cjs +4 -4
  73. package/dist/components/Checkbox/index.d.ts +4 -6
  74. package/dist/components/Checkbox/index.d.ts.map +1 -1
  75. package/dist/components/Checkbox/index.js +4 -4
  76. package/dist/components/Chip/Chip.module.scss.cjs +19 -19
  77. package/dist/components/Chip/Chip.module.scss.js +19 -19
  78. package/dist/components/Chip/index.cjs +3 -3
  79. package/dist/components/Chip/index.d.ts +8 -3
  80. package/dist/components/Chip/index.d.ts.map +1 -1
  81. package/dist/components/Chip/index.js +3 -3
  82. package/dist/components/CodeBlock/CodeBlock.module.scss.cjs +26 -23
  83. package/dist/components/CodeBlock/CodeBlock.module.scss.js +26 -23
  84. package/dist/components/CodeBlock/css-variables-theme.cjs +98 -0
  85. package/dist/components/CodeBlock/css-variables-theme.d.ts +27 -0
  86. package/dist/components/CodeBlock/css-variables-theme.d.ts.map +1 -0
  87. package/dist/components/CodeBlock/css-variables-theme.js +98 -0
  88. package/dist/components/CodeBlock/index.d.ts +20 -5
  89. package/dist/components/CodeBlock/index.d.ts.map +1 -1
  90. package/dist/components/Collapsible/Collapsible.module.scss.cjs +9 -9
  91. package/dist/components/Collapsible/Collapsible.module.scss.js +9 -9
  92. package/dist/components/ColorPicker/ColorPicker.module.scss.cjs +14 -14
  93. package/dist/components/ColorPicker/ColorPicker.module.scss.js +14 -14
  94. package/dist/components/ColorPicker/index.d.ts.map +1 -1
  95. package/dist/components/Combobox/Combobox.module.scss.cjs +21 -21
  96. package/dist/components/Combobox/Combobox.module.scss.js +21 -21
  97. package/dist/components/Combobox/index.cjs +26 -6
  98. package/dist/components/Combobox/index.d.ts.map +1 -1
  99. package/dist/components/Combobox/index.js +26 -6
  100. package/dist/components/Command/Command.module.scss.cjs +14 -11
  101. package/dist/components/Command/Command.module.scss.js +14 -11
  102. package/dist/components/Command/index.cjs +28 -16
  103. package/dist/components/Command/index.d.ts +8 -3
  104. package/dist/components/Command/index.d.ts.map +1 -1
  105. package/dist/components/Command/index.js +28 -16
  106. package/dist/components/ConversationList/ConversationList.module.scss.cjs +10 -10
  107. package/dist/components/ConversationList/ConversationList.module.scss.js +10 -10
  108. package/dist/components/ConversationList/index.cjs +2 -2
  109. package/dist/components/ConversationList/index.js +2 -2
  110. package/dist/components/DataTable/DataTable.icons.cjs +6 -33
  111. package/dist/components/DataTable/DataTable.icons.d.ts.map +1 -1
  112. package/dist/components/DataTable/DataTable.icons.js +6 -33
  113. package/dist/components/DataTable/DataTable.module.scss.cjs +31 -28
  114. package/dist/components/DataTable/DataTable.module.scss.js +31 -28
  115. package/dist/components/DataTable/DataTable.virtual.d.ts.map +1 -1
  116. package/dist/components/DataTable/index.d.ts.map +1 -1
  117. package/dist/components/DatePicker/DatePicker.module.scss.cjs +33 -33
  118. package/dist/components/DatePicker/DatePicker.module.scss.js +33 -33
  119. package/dist/components/DatePicker/index.d.ts.map +1 -1
  120. package/dist/components/Dialog/Dialog.module.scss.cjs +14 -14
  121. package/dist/components/Dialog/Dialog.module.scss.js +14 -14
  122. package/dist/components/Dialog/index.cjs +13 -16
  123. package/dist/components/Dialog/index.d.ts +11 -10
  124. package/dist/components/Dialog/index.d.ts.map +1 -1
  125. package/dist/components/Dialog/index.js +13 -16
  126. package/dist/components/Drawer/Drawer.module.scss.cjs +39 -39
  127. package/dist/components/Drawer/Drawer.module.scss.js +40 -40
  128. package/dist/components/Drawer/index.cjs +2 -2
  129. package/dist/components/Drawer/index.d.ts +5 -4
  130. package/dist/components/Drawer/index.d.ts.map +1 -1
  131. package/dist/components/Drawer/index.js +2 -2
  132. package/dist/components/Editor/Editor.module.scss.cjs +17 -17
  133. package/dist/components/Editor/Editor.module.scss.js +17 -17
  134. package/dist/components/Editor/index.d.ts +10 -10
  135. package/dist/components/Editor/index.d.ts.map +1 -1
  136. package/dist/components/EmptyState/EmptyState.module.scss.cjs +11 -8
  137. package/dist/components/EmptyState/EmptyState.module.scss.js +11 -8
  138. package/dist/components/EmptyState/index.cjs +13 -6
  139. package/dist/components/EmptyState/index.d.ts +13 -5
  140. package/dist/components/EmptyState/index.d.ts.map +1 -1
  141. package/dist/components/EmptyState/index.js +13 -6
  142. package/dist/components/Field/Field.module.scss.cjs +5 -5
  143. package/dist/components/Field/Field.module.scss.js +5 -5
  144. package/dist/components/Field/index.cjs +9 -1
  145. package/dist/components/Field/index.d.ts.map +1 -1
  146. package/dist/components/Field/index.js +9 -1
  147. package/dist/components/Fieldset/Fieldset.module.scss.cjs +3 -3
  148. package/dist/components/Fieldset/Fieldset.module.scss.js +3 -3
  149. package/dist/components/Grid/Grid.module.scss.cjs +54 -54
  150. package/dist/components/Grid/Grid.module.scss.js +54 -54
  151. package/dist/components/Grid/index.cjs +1 -1
  152. package/dist/components/Grid/index.js +1 -1
  153. package/dist/components/Header/Header.module.scss.cjs +33 -33
  154. package/dist/components/Header/Header.module.scss.js +33 -33
  155. package/dist/components/Header/index.cjs +17 -38
  156. package/dist/components/Header/index.d.ts +15 -11
  157. package/dist/components/Header/index.d.ts.map +1 -1
  158. package/dist/components/Header/index.js +17 -38
  159. package/dist/components/Icon/Icon.module.scss.cjs +30 -33
  160. package/dist/components/Icon/Icon.module.scss.js +30 -33
  161. package/dist/components/Icon/index.cjs +15 -14
  162. package/dist/components/Icon/index.d.ts +23 -12
  163. package/dist/components/Icon/index.d.ts.map +1 -1
  164. package/dist/components/Icon/index.js +15 -14
  165. package/dist/components/IconButton/IconButton.module.scss.cjs +12 -12
  166. package/dist/components/IconButton/IconButton.module.scss.js +12 -12
  167. package/dist/components/IconButton/index.cjs +2 -1
  168. package/dist/components/IconButton/index.d.ts +4 -4
  169. package/dist/components/IconButton/index.d.ts.map +1 -1
  170. package/dist/components/IconButton/index.js +2 -1
  171. package/dist/components/Image/Image.module.scss.cjs +27 -27
  172. package/dist/components/Image/Image.module.scss.js +27 -27
  173. package/dist/components/Input/Input.module.scss.cjs +15 -21
  174. package/dist/components/Input/Input.module.scss.js +15 -21
  175. package/dist/components/Input/index.cjs +2 -14
  176. package/dist/components/Input/index.d.ts +0 -2
  177. package/dist/components/Input/index.d.ts.map +1 -1
  178. package/dist/components/Input/index.js +2 -14
  179. package/dist/components/Link/Link.module.scss.cjs +26 -14
  180. package/dist/components/Link/Link.module.scss.js +26 -14
  181. package/dist/components/Link/index.cjs +13 -2
  182. package/dist/components/Link/index.d.ts +11 -4
  183. package/dist/components/Link/index.d.ts.map +1 -1
  184. package/dist/components/Link/index.js +13 -2
  185. package/dist/components/List/List.module.scss.cjs +23 -19
  186. package/dist/components/List/List.module.scss.js +23 -19
  187. package/dist/components/List/index.cjs +7 -7
  188. package/dist/components/List/index.d.ts +10 -7
  189. package/dist/components/List/index.d.ts.map +1 -1
  190. package/dist/components/List/index.js +7 -7
  191. package/dist/components/Listbox/Listbox.module.scss.cjs +8 -8
  192. package/dist/components/Listbox/Listbox.module.scss.js +8 -8
  193. package/dist/components/Loading/Loading.module.scss.cjs +34 -34
  194. package/dist/components/Loading/Loading.module.scss.js +34 -34
  195. package/dist/components/Loading/index.cjs +5 -5
  196. package/dist/components/Loading/index.d.ts +8 -7
  197. package/dist/components/Loading/index.d.ts.map +1 -1
  198. package/dist/components/Loading/index.js +5 -5
  199. package/dist/components/Markdown/Markdown.module.scss.cjs +1 -1
  200. package/dist/components/Markdown/Markdown.module.scss.js +1 -1
  201. package/dist/components/Markdown/index.d.ts +2 -2
  202. package/dist/components/Markdown/index.d.ts.map +1 -1
  203. package/dist/components/Menu/Menu.module.scss.cjs +14 -14
  204. package/dist/components/Menu/Menu.module.scss.js +14 -14
  205. package/dist/components/Message/Message.module.scss.cjs +20 -20
  206. package/dist/components/Message/Message.module.scss.js +20 -20
  207. package/dist/components/Message/index.cjs +1 -1
  208. package/dist/components/Message/index.d.ts +1 -1
  209. package/dist/components/Message/index.js +1 -1
  210. package/dist/components/NavigationMenu/NavigationMenu.module.scss.cjs +34 -31
  211. package/dist/components/NavigationMenu/NavigationMenu.module.scss.js +34 -31
  212. package/dist/components/NavigationMenu/index.cjs +32 -15
  213. package/dist/components/NavigationMenu/index.d.ts +12 -6
  214. package/dist/components/NavigationMenu/index.d.ts.map +1 -1
  215. package/dist/components/NavigationMenu/index.js +32 -15
  216. package/dist/components/Pagination/Pagination.module.scss.cjs +10 -10
  217. package/dist/components/Pagination/Pagination.module.scss.js +10 -10
  218. package/dist/components/Popover/Popover.module.scss.cjs +10 -10
  219. package/dist/components/Popover/Popover.module.scss.js +10 -10
  220. package/dist/components/Progress/Progress.module.scss.cjs +28 -25
  221. package/dist/components/Progress/Progress.module.scss.js +28 -25
  222. package/dist/components/Progress/index.cjs +21 -12
  223. package/dist/components/Progress/index.d.ts +10 -6
  224. package/dist/components/Progress/index.d.ts.map +1 -1
  225. package/dist/components/Progress/index.js +21 -12
  226. package/dist/components/Prompt/Prompt.module.scss.cjs +30 -30
  227. package/dist/components/Prompt/Prompt.module.scss.js +30 -30
  228. package/dist/components/Prompt/index.cjs +7 -7
  229. package/dist/components/Prompt/index.d.ts +11 -9
  230. package/dist/components/Prompt/index.d.ts.map +1 -1
  231. package/dist/components/Prompt/index.js +7 -7
  232. package/dist/components/RadioGroup/RadioGroup.module.scss.cjs +20 -17
  233. package/dist/components/RadioGroup/RadioGroup.module.scss.js +20 -17
  234. package/dist/components/RadioGroup/index.cjs +10 -5
  235. package/dist/components/RadioGroup/index.d.ts +11 -7
  236. package/dist/components/RadioGroup/index.d.ts.map +1 -1
  237. package/dist/components/RadioGroup/index.js +10 -5
  238. package/dist/components/ScrollArea/ScrollArea.module.scss.cjs +5 -5
  239. package/dist/components/ScrollArea/ScrollArea.module.scss.js +5 -5
  240. package/dist/components/ScrollArea/index.d.ts +4 -4
  241. package/dist/components/ScrollArea/index.d.ts.map +1 -1
  242. package/dist/components/ScrollArea/scroll-state.d.ts +5 -5
  243. package/dist/components/Select/Select.module.scss.cjs +21 -21
  244. package/dist/components/Select/Select.module.scss.js +21 -21
  245. package/dist/components/Select/index.cjs +26 -20
  246. package/dist/components/Select/index.d.ts +5 -5
  247. package/dist/components/Select/index.d.ts.map +1 -1
  248. package/dist/components/Select/index.js +26 -20
  249. package/dist/components/Separator/Separator.module.scss.cjs +25 -19
  250. package/dist/components/Separator/Separator.module.scss.js +25 -19
  251. package/dist/components/Separator/index.cjs +10 -8
  252. package/dist/components/Separator/index.d.ts +4 -2
  253. package/dist/components/Separator/index.d.ts.map +1 -1
  254. package/dist/components/Separator/index.js +10 -8
  255. package/dist/components/Sidebar/Sidebar.module.scss.cjs +43 -43
  256. package/dist/components/Sidebar/Sidebar.module.scss.js +43 -43
  257. package/dist/components/Sidebar/index.cjs +15 -38
  258. package/dist/components/Sidebar/index.d.ts +19 -19
  259. package/dist/components/Sidebar/index.d.ts.map +1 -1
  260. package/dist/components/Sidebar/index.js +15 -38
  261. package/dist/components/Skeleton/Skeleton.module.scss.cjs +50 -46
  262. package/dist/components/Skeleton/Skeleton.module.scss.js +50 -46
  263. package/dist/components/Skeleton/index.cjs +7 -7
  264. package/dist/components/Skeleton/index.d.ts +8 -7
  265. package/dist/components/Skeleton/index.d.ts.map +1 -1
  266. package/dist/components/Skeleton/index.js +7 -7
  267. package/dist/components/Slider/Slider.module.scss.cjs +12 -12
  268. package/dist/components/Slider/Slider.module.scss.js +12 -12
  269. package/dist/components/Stack/Stack.module.scss.cjs +25 -25
  270. package/dist/components/Stack/Stack.module.scss.js +25 -25
  271. package/dist/components/Stack/index.cjs +1 -1
  272. package/dist/components/Stack/index.js +1 -1
  273. package/dist/components/Switch/Switch.module.scss.cjs +9 -9
  274. package/dist/components/Switch/Switch.module.scss.js +9 -9
  275. package/dist/components/Table/Table.module.scss.cjs +19 -19
  276. package/dist/components/Table/Table.module.scss.js +19 -19
  277. package/dist/components/TableOfContents/TableOfContents.module.scss.cjs +15 -15
  278. package/dist/components/TableOfContents/TableOfContents.module.scss.js +15 -15
  279. package/dist/components/TableOfContents/index.cjs +14 -10
  280. package/dist/components/TableOfContents/index.d.ts +5 -3
  281. package/dist/components/TableOfContents/index.d.ts.map +1 -1
  282. package/dist/components/TableOfContents/index.js +14 -10
  283. package/dist/components/Tabs/Tabs.module.scss.cjs +18 -18
  284. package/dist/components/Tabs/Tabs.module.scss.js +18 -18
  285. package/dist/components/Tabs/index.cjs +30 -11
  286. package/dist/components/Tabs/index.d.ts +8 -6
  287. package/dist/components/Tabs/index.d.ts.map +1 -1
  288. package/dist/components/Tabs/index.js +30 -11
  289. package/dist/components/Text/Text.module.scss.cjs +109 -97
  290. package/dist/components/Text/Text.module.scss.js +109 -97
  291. package/dist/components/Text/index.cjs +45 -41
  292. package/dist/components/Text/index.d.ts +24 -19
  293. package/dist/components/Text/index.d.ts.map +1 -1
  294. package/dist/components/Text/index.js +45 -41
  295. package/dist/components/Textarea/Textarea.module.scss.cjs +22 -28
  296. package/dist/components/Textarea/Textarea.module.scss.js +22 -28
  297. package/dist/components/Textarea/index.cjs +3 -10
  298. package/dist/components/Textarea/index.d.ts +0 -2
  299. package/dist/components/Textarea/index.d.ts.map +1 -1
  300. package/dist/components/Textarea/index.js +3 -10
  301. package/dist/components/Theme/index.cjs +22 -5
  302. package/dist/components/Theme/index.d.ts +6 -12
  303. package/dist/components/Theme/index.d.ts.map +1 -1
  304. package/dist/components/Theme/index.js +22 -5
  305. package/dist/components/ThemeToggle/ThemeButton.cjs +51 -0
  306. package/dist/components/ThemeToggle/ThemeButton.d.ts +16 -0
  307. package/dist/components/ThemeToggle/ThemeButton.d.ts.map +1 -0
  308. package/dist/components/ThemeToggle/ThemeButton.js +34 -0
  309. package/dist/components/ThemeToggle/ThemeToggle.module.scss.cjs +6 -6
  310. package/dist/components/ThemeToggle/ThemeToggle.module.scss.js +6 -6
  311. package/dist/components/ThemeToggle/icons.cjs +48 -0
  312. package/dist/components/ThemeToggle/icons.d.ts +10 -0
  313. package/dist/components/ThemeToggle/icons.d.ts.map +1 -0
  314. package/dist/components/ThemeToggle/icons.js +48 -0
  315. package/dist/components/ThemeToggle/index.cjs +6 -50
  316. package/dist/components/ThemeToggle/index.d.ts +5 -3
  317. package/dist/components/ThemeToggle/index.d.ts.map +1 -1
  318. package/dist/components/ThemeToggle/index.js +3 -47
  319. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.cjs +18 -15
  320. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.js +18 -15
  321. package/dist/components/ThinkingIndicator/index.cjs +7 -8
  322. package/dist/components/ThinkingIndicator/index.d.ts +6 -5
  323. package/dist/components/ThinkingIndicator/index.d.ts.map +1 -1
  324. package/dist/components/ThinkingIndicator/index.js +7 -8
  325. package/dist/components/Toast/Toast.module.scss.cjs +28 -29
  326. package/dist/components/Toast/Toast.module.scss.js +29 -30
  327. package/dist/components/Toast/index.cjs +28 -30
  328. package/dist/components/Toast/index.d.ts +9 -8
  329. package/dist/components/Toast/index.d.ts.map +1 -1
  330. package/dist/components/Toast/index.js +28 -30
  331. package/dist/components/ToggleGroup/ToggleGroup.module.scss.cjs +21 -19
  332. package/dist/components/ToggleGroup/ToggleGroup.module.scss.js +22 -20
  333. package/dist/components/ToggleGroup/index.cjs +4 -5
  334. package/dist/components/ToggleGroup/index.d.ts +7 -6
  335. package/dist/components/ToggleGroup/index.d.ts.map +1 -1
  336. package/dist/components/ToggleGroup/index.js +4 -5
  337. package/dist/components/Tooltip/Tooltip.module.scss.cjs +3 -3
  338. package/dist/components/Tooltip/Tooltip.module.scss.js +3 -3
  339. package/dist/components/Tooltip/index.cjs +24 -40
  340. package/dist/components/Tooltip/index.d.ts +4 -4
  341. package/dist/components/Tooltip/index.d.ts.map +1 -1
  342. package/dist/components/Tooltip/index.js +24 -40
  343. package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.cjs +1 -1
  344. package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.js +1 -1
  345. package/dist/components/VisuallyHidden/index.d.ts +2 -2
  346. package/dist/data-table-virtual.cjs +3 -2
  347. package/dist/data-table-virtual.js +3 -2
  348. package/dist/data-table.cjs +3 -2
  349. package/dist/data-table.js +3 -2
  350. package/dist/datepicker.cjs +26 -13
  351. package/dist/datepicker.js +26 -13
  352. package/dist/editor.cjs +68 -28
  353. package/dist/editor.js +68 -28
  354. package/dist/index.cjs +6 -2
  355. package/dist/index.d.ts +9 -9
  356. package/dist/index.d.ts.map +1 -1
  357. package/dist/index.js +8 -4
  358. package/dist/markdown.cjs +21 -29
  359. package/dist/markdown.js +21 -29
  360. package/dist/measurements/generated.cjs +46 -94
  361. package/dist/measurements/generated.d.ts +44 -92
  362. package/dist/measurements/generated.d.ts.map +1 -1
  363. package/dist/measurements/generated.js +46 -94
  364. package/dist/measurements/index.d.ts +1 -1
  365. package/dist/measurements/index.d.ts.map +1 -1
  366. package/dist/utils/a11y.cjs +5 -2
  367. package/dist/utils/a11y.d.ts +5 -5
  368. package/dist/utils/a11y.d.ts.map +1 -1
  369. package/dist/utils/a11y.js +5 -2
  370. package/dist/utils/canonical-stamp.cjs +2 -8
  371. package/dist/utils/canonical-stamp.d.ts.map +1 -1
  372. package/dist/utils/canonical-stamp.js +1 -7
  373. package/dist/utils/css-warning.cjs +1 -1
  374. package/dist/utils/css-warning.js +1 -1
  375. package/dist/utils/env.cjs +17 -0
  376. package/dist/utils/env.d.ts +3 -0
  377. package/dist/utils/env.d.ts.map +1 -0
  378. package/dist/utils/env.js +17 -0
  379. package/dist/utils/keyboard-shortcuts.cjs +3 -10
  380. package/dist/utils/keyboard-shortcuts.d.ts +4 -4
  381. package/dist/utils/keyboard-shortcuts.d.ts.map +1 -1
  382. package/dist/utils/keyboard-shortcuts.js +3 -10
  383. package/dist/utils/seed-derivation.cjs +10 -7
  384. package/dist/utils/seed-derivation.d.ts +1 -3
  385. package/dist/utils/seed-derivation.d.ts.map +1 -1
  386. package/dist/utils/seed-derivation.js +10 -7
  387. package/dist/utils/theme-presets.cjs +5 -10
  388. package/dist/utils/theme-presets.d.ts +1 -2
  389. package/dist/utils/theme-presets.d.ts.map +1 -1
  390. package/dist/utils/theme-presets.js +5 -10
  391. package/fragments.json +1 -1
  392. package/package.json +9 -10
  393. package/src/assets/fragments-logo.tsx +2 -2
  394. package/src/assets/fragments-wordmark.tsx +4 -2
  395. package/src/assets/nav-glyph.module.scss +166 -0
  396. package/src/assets/nav-glyph.tsx +188 -0
  397. package/src/components/Accordion/Accordion.contract.json +24 -48
  398. package/src/components/Accordion/Accordion.module.scss +5 -3
  399. package/src/components/Alert/Alert.contract.json +49 -65
  400. package/src/components/Alert/Alert.module.scss +57 -47
  401. package/src/components/Alert/index.tsx +72 -39
  402. package/src/components/AppShell/AppShell.contract.json +34 -51
  403. package/src/components/AppShell/AppShell.module.scss +99 -54
  404. package/src/components/AppShell/index.tsx +2 -2
  405. package/src/components/Avatar/Avatar.contract.json +31 -48
  406. package/src/components/Avatar/Avatar.module.scss +4 -2
  407. package/src/components/Badge/Badge.contract.json +86 -55
  408. package/src/components/Badge/Badge.module.scss +80 -48
  409. package/src/components/Badge/index.tsx +34 -17
  410. package/src/components/BentoGrid/BentoGrid.contract.json +21 -45
  411. package/src/components/BentoGrid/BentoGrid.module.scss +4 -8
  412. package/src/components/Box/Box.contract.json +40 -148
  413. package/src/components/Box/Box.module.scss +7 -6
  414. package/src/components/Box/index.tsx +92 -99
  415. package/src/components/Breadcrumbs/Breadcrumbs.contract.json +21 -34
  416. package/src/components/Breadcrumbs/Breadcrumbs.module.scss +27 -12
  417. package/src/components/Breadcrumbs/index.tsx +5 -1
  418. package/src/components/Button/Button.module.scss +261 -185
  419. package/src/components/Button/index.tsx +41 -28
  420. package/src/components/ButtonGroup/ButtonGroup.contract.json +34 -49
  421. package/src/components/ButtonGroup/ButtonGroup.module.scss +8 -6
  422. package/src/components/Card/Card.consumer-fixture.module.scss +5 -2
  423. package/src/components/Card/Card.module.scss +97 -76
  424. package/src/components/Card/index.tsx +44 -20
  425. package/src/components/Chart/Chart.contract.json +21 -29
  426. package/src/components/Chart/Chart.module.scss +6 -5
  427. package/src/components/Chart/index.tsx +36 -6
  428. package/src/components/Checkbox/Checkbox.contract.json +28 -27
  429. package/src/components/Checkbox/Checkbox.module.scss +47 -54
  430. package/src/components/Checkbox/index.tsx +10 -10
  431. package/src/components/Chip/Chip.contract.json +38 -45
  432. package/src/components/Chip/Chip.module.scss +24 -23
  433. package/src/components/Chip/index.tsx +12 -7
  434. package/src/components/CodeBlock/CodeBlock.contract.json +46 -76
  435. package/src/components/CodeBlock/CodeBlock.module.scss +75 -73
  436. package/src/components/CodeBlock/css-variables-theme.ts +102 -0
  437. package/src/components/CodeBlock/index.tsx +114 -51
  438. package/src/components/Collapsible/Collapsible.contract.json +21 -36
  439. package/src/components/Collapsible/Collapsible.module.scss +1 -7
  440. package/src/components/ColorPicker/ColorPicker.contract.json +29 -48
  441. package/src/components/ColorPicker/ColorPicker.module.scss +34 -24
  442. package/src/components/ColorPicker/index.tsx +6 -1
  443. package/src/components/Combobox/Combobox.contract.json +36 -37
  444. package/src/components/Combobox/Combobox.module.scss +16 -19
  445. package/src/components/Combobox/index.tsx +41 -6
  446. package/src/components/Command/Command.contract.json +28 -44
  447. package/src/components/Command/Command.module.scss +19 -21
  448. package/src/components/Command/index.tsx +64 -47
  449. package/src/components/ComponentDefaults/ComponentDefaults.contract.json +91 -0
  450. package/src/components/ConversationList/ConversationList.contract.json +27 -32
  451. package/src/components/ConversationList/ConversationList.module.scss +2 -3
  452. package/src/components/ConversationList/index.tsx +2 -2
  453. package/src/components/DataTable/DataTable.icons.tsx +4 -21
  454. package/src/components/DataTable/DataTable.module.scss +24 -17
  455. package/src/components/DataTable/DataTable.virtual.tsx +3 -2
  456. package/src/components/DataTable/index.tsx +9 -8
  457. package/src/components/DatePicker/DatePicker.contract.json +27 -28
  458. package/src/components/DatePicker/DatePicker.module.scss +41 -44
  459. package/src/components/DatePicker/index.tsx +23 -9
  460. package/src/components/Dialog/Dialog.module.scss +26 -32
  461. package/src/components/Dialog/index.tsx +51 -39
  462. package/src/components/Drawer/Drawer.contract.json +28 -42
  463. package/src/components/Drawer/Drawer.module.scss +123 -64
  464. package/src/components/Drawer/index.tsx +7 -5
  465. package/src/components/Editor/Editor.contract.json +32 -49
  466. package/src/components/Editor/Editor.module.scss +60 -25
  467. package/src/components/Editor/index.tsx +240 -179
  468. package/src/components/EmptyState/EmptyState.contract.json +33 -45
  469. package/src/components/EmptyState/EmptyState.module.scss +37 -21
  470. package/src/components/EmptyState/index.tsx +56 -23
  471. package/src/components/Field/Field.contract.json +28 -46
  472. package/src/components/Field/Field.module.scss +2 -1
  473. package/src/components/Field/index.tsx +5 -1
  474. package/src/components/Fieldset/Fieldset.contract.json +21 -38
  475. package/src/components/Fieldset/Fieldset.module.scss +15 -7
  476. package/src/components/Form/Form.contract.json +23 -23
  477. package/src/components/Grid/Grid.contract.json +28 -64
  478. package/src/components/Grid/Grid.module.scss +2 -2
  479. package/src/components/Grid/index.tsx +10 -10
  480. package/src/components/Header/Header.contract.json +31 -67
  481. package/src/components/Header/Header.module.scss +57 -54
  482. package/src/components/Header/index.tsx +134 -122
  483. package/src/components/Icon/Icon.contract.json +37 -81
  484. package/src/components/Icon/Icon.module.scss +13 -12
  485. package/src/components/Icon/index.tsx +31 -31
  486. package/src/components/IconButton/IconButton.contract.json +37 -21
  487. package/src/components/IconButton/IconButton.module.scss +19 -11
  488. package/src/components/IconButton/index.tsx +6 -5
  489. package/src/components/Image/Image.contract.json +23 -56
  490. package/src/components/Input/Input.contract.json +25 -44
  491. package/src/components/Input/Input.module.scss +6 -55
  492. package/src/components/Input/index.tsx +2 -18
  493. package/src/components/Link/Link.contract.json +46 -58
  494. package/src/components/Link/Link.module.scss +41 -10
  495. package/src/components/Link/index.tsx +27 -6
  496. package/src/components/List/List.contract.json +33 -62
  497. package/src/components/List/List.module.scss +10 -5
  498. package/src/components/List/index.tsx +17 -13
  499. package/src/components/Listbox/Listbox.contract.json +21 -37
  500. package/src/components/Listbox/Listbox.module.scss +14 -20
  501. package/src/components/Loading/Loading.contract.json +41 -65
  502. package/src/components/Loading/Loading.module.scss +37 -31
  503. package/src/components/Loading/index.tsx +15 -14
  504. package/src/components/Main/Main.contract.json +17 -9
  505. package/src/components/Markdown/Markdown.contract.json +22 -43
  506. package/src/components/Markdown/Markdown.module.scss +45 -6
  507. package/src/components/Markdown/index.tsx +48 -49
  508. package/src/components/Menu/Menu.contract.json +30 -46
  509. package/src/components/Menu/Menu.module.scss +32 -16
  510. package/src/components/Message/Message.contract.json +31 -54
  511. package/src/components/Message/Message.module.scss +18 -9
  512. package/src/components/Message/index.tsx +2 -2
  513. package/src/components/NavigationMenu/NavigationMenu.contract.json +36 -45
  514. package/src/components/NavigationMenu/NavigationMenu.module.scss +66 -66
  515. package/src/components/NavigationMenu/index.tsx +105 -81
  516. package/src/components/Pagination/Pagination.contract.json +22 -40
  517. package/src/components/Pagination/Pagination.module.scss +9 -16
  518. package/src/components/Popover/Popover.contract.json +28 -50
  519. package/src/components/Popover/Popover.module.scss +30 -28
  520. package/src/components/Progress/Progress.contract.json +39 -35
  521. package/src/components/Progress/Progress.module.scss +16 -10
  522. package/src/components/Progress/index.tsx +34 -16
  523. package/src/components/Prompt/Prompt.contract.json +40 -56
  524. package/src/components/Prompt/Prompt.module.scss +49 -48
  525. package/src/components/Prompt/index.tsx +17 -15
  526. package/src/components/RadioGroup/RadioGroup.contract.json +29 -28
  527. package/src/components/RadioGroup/RadioGroup.module.scss +50 -45
  528. package/src/components/RadioGroup/index.tsx +23 -10
  529. package/src/components/ScrollArea/ScrollArea.contract.json +18 -19
  530. package/src/components/ScrollArea/ScrollArea.module.scss +45 -48
  531. package/src/components/ScrollArea/index.tsx +16 -16
  532. package/src/components/ScrollArea/scroll-state.ts +24 -24
  533. package/src/components/Select/Select.module.scss +20 -19
  534. package/src/components/Select/index.tsx +26 -24
  535. package/src/components/Separator/Separator.contract.json +29 -53
  536. package/src/components/Separator/Separator.module.scss +24 -40
  537. package/src/components/Separator/index.tsx +16 -11
  538. package/src/components/Sidebar/Sidebar.contract.json +35 -67
  539. package/src/components/Sidebar/Sidebar.module.scss +94 -88
  540. package/src/components/Sidebar/index.tsx +167 -167
  541. package/src/components/Skeleton/Skeleton.contract.json +34 -60
  542. package/src/components/Skeleton/Skeleton.module.scss +50 -26
  543. package/src/components/Skeleton/index.tsx +16 -15
  544. package/src/components/Slider/Slider.contract.json +27 -39
  545. package/src/components/Slider/Slider.module.scss +9 -22
  546. package/src/components/Stack/Stack.contract.json +30 -57
  547. package/src/components/Stack/Stack.module.scss +26 -24
  548. package/src/components/Stack/index.tsx +3 -3
  549. package/src/components/Switch/Switch.contract.json +33 -46
  550. package/src/components/Switch/Switch.module.scss +106 -59
  551. package/src/components/Table/Table.contract.json +28 -46
  552. package/src/components/Table/Table.module.scss +24 -16
  553. package/src/components/TableOfContents/TableOfContents.contract.json +34 -21
  554. package/src/components/TableOfContents/TableOfContents.module.scss +17 -13
  555. package/src/components/TableOfContents/index.tsx +27 -10
  556. package/src/components/Tabs/Tabs.contract.json +35 -56
  557. package/src/components/Tabs/Tabs.module.scss +27 -31
  558. package/src/components/Tabs/index.tsx +30 -15
  559. package/src/components/Text/Text.contract.json +52 -72
  560. package/src/components/Text/Text.module.scss +34 -18
  561. package/src/components/Text/index.tsx +123 -83
  562. package/src/components/Textarea/Textarea.contract.json +24 -55
  563. package/src/components/Textarea/Textarea.module.scss +22 -52
  564. package/src/components/Textarea/index.tsx +3 -14
  565. package/src/components/Theme/Theme.contract.json +35 -53
  566. package/src/components/Theme/index.tsx +41 -13
  567. package/src/components/ThemeToggle/ThemeButton.tsx +49 -0
  568. package/src/components/ThemeToggle/ThemeToggle.module.scss +20 -27
  569. package/src/components/ThemeToggle/icons.tsx +46 -0
  570. package/src/components/ThemeToggle/index.tsx +9 -55
  571. package/src/components/ThinkingIndicator/ThinkingIndicator.contract.json +34 -50
  572. package/src/components/ThinkingIndicator/ThinkingIndicator.module.scss +9 -7
  573. package/src/components/ThinkingIndicator/index.tsx +12 -14
  574. package/src/components/Toast/Toast.contract.json +55 -49
  575. package/src/components/Toast/Toast.module.scss +50 -105
  576. package/src/components/Toast/index.tsx +39 -34
  577. package/src/components/ToggleGroup/ToggleGroup.contract.json +39 -40
  578. package/src/components/ToggleGroup/ToggleGroup.module.scss +30 -27
  579. package/src/components/ToggleGroup/index.tsx +11 -11
  580. package/src/components/Tooltip/Tooltip.contract.json +31 -52
  581. package/src/components/Tooltip/Tooltip.module.scss +16 -10
  582. package/src/components/Tooltip/index.tsx +19 -24
  583. package/src/components/VisuallyHidden/VisuallyHidden.contract.json +22 -44
  584. package/src/components/VisuallyHidden/VisuallyHidden.module.scss +4 -14
  585. package/src/components/VisuallyHidden/index.tsx +5 -5
  586. package/src/index.ts +16 -12
  587. package/src/measurements/MeasurementTargets.module.scss +6 -7
  588. package/src/measurements/generated.ts +46 -97
  589. package/src/measurements/index.ts +0 -1
  590. package/src/measurements/measurements.json +44 -116
  591. package/src/recipes/_action.scss +4 -4
  592. package/src/recipes/_boolean-range.scss +12 -16
  593. package/src/recipes/_feedback.scss +17 -16
  594. package/src/recipes/_field.scss +28 -16
  595. package/src/recipes/_layout.scss +14 -7
  596. package/src/recipes/_navigation.scss +84 -29
  597. package/src/recipes/_overlay.scss +143 -43
  598. package/src/recipes/_popup.scss +54 -34
  599. package/src/recipes/_prose.scss +48 -28
  600. package/src/recipes/_representation.scss +10 -9
  601. package/src/recipes/_segmented.scss +1 -1
  602. package/src/recipes/_table-chrome.scss +42 -17
  603. package/src/recipes/_target.scss +2 -4
  604. package/src/recipes/_typography.scss +10 -0
  605. package/src/scss.d.ts +1 -1
  606. package/src/styles/globals.scss +31 -25
  607. package/src/tokens/_component-properties.scss +19 -1
  608. package/src/tokens/_computed.scss +32 -49
  609. package/src/tokens/_derive.scss +112 -210
  610. package/src/tokens/_measurements.catalog.generated.css +62 -44
  611. package/src/tokens/_measurements.generated.scss +119 -249
  612. package/src/tokens/_mixins.scss +49 -48
  613. package/src/tokens/_palettes.scss +39 -167
  614. package/src/tokens/_property-registrations.scss +9 -0
  615. package/src/tokens/_seeds.scss +20 -31
  616. package/src/tokens/_variables.scss +251 -94
  617. package/src/utils/a11y.tsx +69 -69
  618. package/src/utils/aria.ts +3 -3
  619. package/src/utils/canonical-stamp.ts +2 -12
  620. package/src/utils/css-warning.ts +7 -7
  621. package/src/utils/env.ts +25 -0
  622. package/src/utils/keyboard-shortcuts.ts +131 -126
  623. package/src/utils/seed-derivation.ts +11 -14
  624. package/src/utils/theme-presets.ts +5 -12
  625. package/dist/blocks/AccountSettings.block.d.ts +0 -3
  626. package/dist/blocks/AccountSettings.block.d.ts.map +0 -1
  627. package/dist/blocks/ActivityFeedSkeleton.block.d.ts +0 -3
  628. package/dist/blocks/ActivityFeedSkeleton.block.d.ts.map +0 -1
  629. package/dist/blocks/BlogEditor.block.d.ts +0 -3
  630. package/dist/blocks/BlogEditor.block.d.ts.map +0 -1
  631. package/dist/blocks/ChatInterface.block.d.ts +0 -3
  632. package/dist/blocks/ChatInterface.block.d.ts.map +0 -1
  633. package/dist/blocks/ChatMessages.block.d.ts +0 -3
  634. package/dist/blocks/ChatMessages.block.d.ts.map +0 -1
  635. package/dist/blocks/CheckoutForm.block.d.ts +0 -3
  636. package/dist/blocks/CheckoutForm.block.d.ts.map +0 -1
  637. package/dist/blocks/CommandPalette.block.d.ts +0 -3
  638. package/dist/blocks/CommandPalette.block.d.ts.map +0 -1
  639. package/dist/blocks/ContactForm.block.d.ts +0 -3
  640. package/dist/blocks/ContactForm.block.d.ts.map +0 -1
  641. package/dist/blocks/DashboardPage.block.d.ts +0 -3
  642. package/dist/blocks/DashboardPage.block.d.ts.map +0 -1
  643. package/dist/blocks/DashboardSkeleton.block.d.ts +0 -3
  644. package/dist/blocks/DashboardSkeleton.block.d.ts.map +0 -1
  645. package/dist/blocks/DataTable.block.d.ts +0 -3
  646. package/dist/blocks/DataTable.block.d.ts.map +0 -1
  647. package/dist/blocks/EmptyState.block.d.ts +0 -3
  648. package/dist/blocks/EmptyState.block.d.ts.map +0 -1
  649. package/dist/blocks/FAQSection.block.d.ts +0 -3
  650. package/dist/blocks/FAQSection.block.d.ts.map +0 -1
  651. package/dist/blocks/FeatureGrid.block.d.ts +0 -3
  652. package/dist/blocks/FeatureGrid.block.d.ts.map +0 -1
  653. package/dist/blocks/HeroSection.block.d.ts +0 -3
  654. package/dist/blocks/HeroSection.block.d.ts.map +0 -1
  655. package/dist/blocks/NavigationHeader.block.d.ts +0 -3
  656. package/dist/blocks/NavigationHeader.block.d.ts.map +0 -1
  657. package/dist/blocks/PaginatedTable.block.d.ts +0 -3
  658. package/dist/blocks/PaginatedTable.block.d.ts.map +0 -1
  659. package/dist/blocks/PricingComparison.block.d.ts +0 -3
  660. package/dist/blocks/PricingComparison.block.d.ts.map +0 -1
  661. package/dist/blocks/ProductCard.block.d.ts +0 -3
  662. package/dist/blocks/ProductCard.block.d.ts.map +0 -1
  663. package/dist/blocks/RegistrationForm.block.d.ts +0 -3
  664. package/dist/blocks/RegistrationForm.block.d.ts.map +0 -1
  665. package/dist/blocks/SettingsDrawer.block.d.ts +0 -3
  666. package/dist/blocks/SettingsDrawer.block.d.ts.map +0 -1
  667. package/dist/blocks/SettingsPanel.block.d.ts +0 -3
  668. package/dist/blocks/SettingsPanel.block.d.ts.map +0 -1
  669. package/dist/blocks/ShoppingCart.block.d.ts +0 -3
  670. package/dist/blocks/ShoppingCart.block.d.ts.map +0 -1
  671. package/dist/blocks/StatsCardSkeleton.block.d.ts +0 -3
  672. package/dist/blocks/StatsCardSkeleton.block.d.ts.map +0 -1
  673. package/dist/blocks/TableSkeleton.block.d.ts +0 -3
  674. package/dist/blocks/TableSkeleton.block.d.ts.map +0 -1
  675. package/dist/blocks/ThinkingStates.block.d.ts +0 -3
  676. package/dist/blocks/ThinkingStates.block.d.ts.map +0 -1
  677. package/dist/components/Toggle/index.d.ts +0 -3
  678. package/dist/components/Toggle/index.d.ts.map +0 -1
  679. package/src/components/Button/Button.contract.json +0 -218
  680. package/src/components/Card/Card.contract.json +0 -175
  681. package/src/components/DataTable/DataTable.contract.json +0 -302
  682. package/src/components/Dialog/Dialog.contract.json +0 -159
  683. package/src/components/Select/Select.contract.json +0 -259
  684. package/src/components/Toggle/index.ts +0 -7
  685. package/src/tokens/_density.scss +0 -85
@@ -1,14 +1,9 @@
1
1
  {
2
2
  "$schema": "https://usefragments.com/schemas/contract.v1.json",
3
3
  "name": "Textarea",
4
- "description": "Multi-line text input for longer form content",
5
- "category": "forms",
6
- "tags": [
7
- "input",
8
- "text",
9
- "form",
10
- "multiline"
11
- ],
4
+ "description": "Collects multi-line text for longer form content.",
5
+ "category": "inputs",
6
+ "tags": ["input", "text", "form", "multiline"],
12
7
  "status": "stable",
13
8
  "sourcePath": "src/components/Textarea/index.tsx",
14
9
  "exportName": "Textarea",
@@ -23,7 +18,6 @@
23
18
  "size: sm|md|lg (default: md)",
24
19
  "disabled: boolean (default: false)",
25
20
  "error: boolean (default: false)",
26
- "success: boolean (default: false)",
27
21
  "showCharCount: boolean (default: false)",
28
22
  "label: string",
29
23
  "helperText: string",
@@ -78,23 +72,14 @@
78
72
  "description": "Resize behavior",
79
73
  "default": "vertical",
80
74
  "required": false,
81
- "values": [
82
- "none",
83
- "vertical",
84
- "horizontal",
85
- "both"
86
- ]
75
+ "values": ["none", "vertical", "horizontal", "both"]
87
76
  },
88
77
  "size": {
89
78
  "type": "enum",
90
79
  "description": "Size variant",
91
80
  "default": "md",
92
81
  "required": false,
93
- "values": [
94
- "sm",
95
- "md",
96
- "lg"
97
- ]
82
+ "values": ["sm", "md", "lg"]
98
83
  },
99
84
  "disabled": {
100
85
  "type": "boolean",
@@ -108,12 +93,6 @@
108
93
  "default": "false",
109
94
  "required": false
110
95
  },
111
- "success": {
112
- "type": "boolean",
113
- "description": "Whether to show success/validated styling",
114
- "default": "false",
115
- "required": false
116
- },
117
96
  "showCharCount": {
118
97
  "type": "boolean",
119
98
  "description": "Show character counter when maxLength is set",
@@ -209,61 +188,56 @@
209
188
  "Selecting from predefined options (use Select)"
210
189
  ],
211
190
  "guidelines": [
212
- "Set appropriate rows for expected content length",
213
- "Use placeholder to show example format",
214
- "Show character count when maxLength is set",
215
- "Consider auto-resize for better UX"
191
+ "Set rows to match the expected answer length",
192
+ "Placeholder shows an example, not the label",
193
+ "Pair maxLength with showCharCount so the limit is visible",
194
+ "Use resize=\"none\" only when the layout truly cannot flex"
216
195
  ],
217
196
  "accessibility": [
218
- "Always provide a visible label",
219
- "Use helperText for format hints",
220
- "Error messages should be descriptive"
197
+ "Give every textarea a visible label",
198
+ "Put format hints in helperText, not the placeholder",
199
+ "Error text says what to fix, not just that it failed"
221
200
  ]
222
201
  },
223
202
  "examples": [
224
203
  {
225
204
  "name": "Default",
226
- "description": "Basic textarea with label",
205
+ "description": "Three rows, draggable from the bottom-right corner.",
227
206
  "code": "<Textarea\n label=\"Description\"\n placeholder=\"Enter a description...\"\n/>"
228
207
  },
229
208
  {
230
209
  "name": "With Helper Text",
231
- "description": "Textarea with additional guidance",
210
+ "description": "Supporting text sits under the box.",
232
211
  "code": "<Textarea\n label=\"Bio\"\n placeholder=\"Tell us about yourself...\"\n helperText=\"Max 500 characters\"\n maxLength={500}\n/>"
233
212
  },
234
213
  {
235
214
  "name": "Error State",
236
- "description": "Textarea showing validation error",
215
+ "description": "Red border, and helperText becomes the reason.",
237
216
  "code": "<Textarea\n label=\"Comments\"\n placeholder=\"Add your comments...\"\n error\n helperText=\"This field is required\"\n/>"
238
217
  },
239
218
  {
240
219
  "name": "Disabled",
241
- "description": "Non-interactive textarea",
220
+ "description": "Dimmed and unfocusable.",
242
221
  "code": "<Textarea\n label=\"Notes\"\n placeholder=\"Cannot edit...\"\n disabled\n/>"
243
222
  },
244
223
  {
245
224
  "name": "Custom Rows",
246
- "description": "Textarea with more visible rows",
225
+ "description": "rows={6} doubles the visible height before scrolling.",
247
226
  "code": "<Textarea\n label=\"Long Description\"\n placeholder=\"Enter detailed information...\"\n rows={6}\n/>"
248
227
  },
249
228
  {
250
229
  "name": "Sizes",
251
- "description": "Available size variants",
230
+ "description": "Three heights: sm, md, lg.",
252
231
  "code": "<div style={{ display: 'flex', flexDirection: 'column', gap: '12px', maxWidth: '400px' }}>\n <Textarea label=\"Small\" size=\"sm\" placeholder=\"Small textarea\" />\n <Textarea label=\"Medium\" size=\"md\" placeholder=\"Medium textarea\" />\n <Textarea label=\"Large\" size=\"lg\" placeholder=\"Large textarea\" />\n</div>"
253
232
  },
254
233
  {
255
- "name": "With Root Props",
256
- "description": "Pass wrapper attributes/styling via rootProps",
257
- "code": "<Textarea\n label=\"Notes\"\n placeholder=\"Add notes...\"\n rootProps={{ 'data-demo': 'textarea-wrapper' }}\n/>"
258
- },
259
- {
260
- "name": "Success State",
261
- "description": "Textarea showing validated/success styling",
262
- "code": "<Textarea\n label=\"Bio\"\n value=\"A short bio about myself.\"\n success\n helperText=\"Looks great!\"\n/>"
234
+ "name": "Fixed Height",
235
+ "description": "resize=\"none\" removes the drag handle so the box stays put.",
236
+ "code": "<Textarea\n label=\"Notes\"\n placeholder=\"Add notes...\"\n resize=\"none\"\n/>"
263
237
  },
264
238
  {
265
239
  "name": "With Character Counter",
266
- "description": "Textarea with character count and maxLength",
240
+ "description": "Live count against maxLength sits below the box.",
267
241
  "code": "<Textarea\n label=\"Bio\"\n placeholder=\"Tell us about yourself...\"\n maxLength={200}\n showCharCount\n/>"
268
242
  }
269
243
  ],
@@ -281,7 +255,6 @@
281
255
  "label: string - label text",
282
256
  "size: sm|md|lg (default: md)",
283
257
  "error: boolean - error state",
284
- "success: boolean - shows success/validated styling",
285
258
  "showCharCount: boolean - show character counter (requires maxLength)",
286
259
  "disabled: boolean - disabled state",
287
260
  "resize: none|vertical|horizontal|both",
@@ -289,15 +262,11 @@
289
262
  "rootProps: HTMLAttributes<HTMLDivElement> - wrapper element props",
290
263
  "...native textarea attributes are supported (readOnly, autoComplete, maxLength, onKeyDown, etc.)"
291
264
  ],
292
- "a11yRules": [
293
- "A11Y_LABEL_REQUIRED"
294
- ]
265
+ "a11yRules": ["A11Y_LABEL_REQUIRED"]
295
266
  },
296
267
  "ai": {
297
268
  "compositionPattern": "compound",
298
- "subComponents": [
299
- "Root"
300
- ]
269
+ "subComponents": ["Root"]
301
270
  },
302
271
  "provenance": {
303
272
  "source": "migrated",
@@ -5,6 +5,11 @@
5
5
  @use "../../recipes/layout";
6
6
  @use "../../recipes/typography";
7
7
 
8
+ // Fallbacks for the field recipe's size hooks when no size class has set them.
9
+ $_track: field.track("md");
10
+ $_stroke: field.stroke();
11
+ $_block-inset: var(--fui-raw-space-8, #{measurements.raw-space(8)});
12
+
8
13
  .wrapper {
9
14
  @include field.wrapper;
10
15
  }
@@ -34,17 +39,18 @@
34
39
  display: block;
35
40
  width: 100%;
36
41
  min-block-size: max(
37
- var(--_fui-field-track),
42
+ var(--_fui-field-track, #{$_track}),
38
43
  calc(
39
- var(--_fui-textarea-min-rows) * 1lh + 2 * var(--_fui-textarea-block-inset) + 2 *
40
- var(--_fui-field-stroke)
44
+ var(--fui-textarea-min-rows, 1) * 1lh + 2 *
45
+ var(--_fui-textarea-block-inset, #{$_block-inset}) + 2 *
46
+ var(--_fui-field-stroke, #{$_stroke})
41
47
  )
42
48
  );
43
49
  max-block-size: calc(
44
- var(--_fui-textarea-max-rows) * 1lh + 2 * var(--_fui-textarea-block-inset) + 2 *
45
- var(--_fui-field-stroke)
50
+ var(--fui-textarea-max-rows, 9999) * 1lh + 2 *
51
+ var(--_fui-textarea-block-inset, #{$_block-inset}) + 2 * var(--_fui-field-stroke, #{$_stroke})
46
52
  );
47
- padding-block: var(--_fui-textarea-block-inset);
53
+ padding-block: var(--_fui-textarea-block-inset, #{$_block-inset});
48
54
 
49
55
  &::placeholder {
50
56
  color: var(--fui-text-tertiary, $fui-text-tertiary);
@@ -54,12 +60,14 @@
54
60
  @include field.focus-state;
55
61
  }
56
62
 
63
+ @include high-contrast-outline;
64
+
57
65
  // Single-line: same track as Input — height lock, horizontal pad only.
58
66
  &[rows="1"] {
59
- block-size: var(--_fui-field-track);
60
- min-block-size: var(--_fui-field-track);
67
+ block-size: var(--_fui-field-track, #{$_track});
68
+ min-block-size: var(--_fui-field-track, #{$_track});
61
69
  padding-block: calc(
62
- (var(--_fui-field-track) - 1lh - 2 * var(--_fui-field-stroke)) / 2
70
+ (var(--_fui-field-track, #{$_track}) - 1lh - 2 * var(--_fui-field-stroke, #{$_stroke})) / 2
63
71
  );
64
72
  overflow-y: hidden;
65
73
  }
@@ -107,18 +115,7 @@
107
115
  @include field.invalid-state;
108
116
 
109
117
  &:focus-visible {
110
- border-color: var(--fui-color-danger-text, $fui-color-danger-text);
111
- @include focus-ring-error;
112
- }
113
- }
114
-
115
- // Success state — green border for validated fields
116
- .success {
117
- border-color: var(--fui-color-success-text, $fui-color-success-text);
118
-
119
- &:focus-visible {
120
- border-color: var(--fui-color-success-text, $fui-color-success-text);
121
- @include focus-ring-success;
118
+ @include field.invalid-focus-state;
122
119
  }
123
120
  }
124
121
 
@@ -127,12 +124,6 @@
127
124
  color: var(--fui-color-danger-text, $fui-color-danger-text);
128
125
  }
129
126
 
130
- // Auto-detect success state
131
- .wrapper[data-success] .helper,
132
- .helperSuccess {
133
- color: var(--fui-color-success-text, $fui-color-success-text);
134
- }
135
-
136
127
  // Footer row — helper + character counter side by side
137
128
  .footer {
138
129
  display: flex;
@@ -150,7 +141,10 @@
150
141
  .charCount {
151
142
  @include typography.role("caption");
152
143
 
153
- margin-block-start: var(--fui-field-message-gap);
144
+ margin-block-start: var(
145
+ --fui-field-message-gap,
146
+ var(--fui-raw-space-4, #{measurements.raw-space(4)})
147
+ );
154
148
  margin-inline-start: auto;
155
149
  font-family: var(--fui-font-mono, $fui-font-mono);
156
150
  white-space: nowrap;
@@ -160,30 +154,6 @@
160
154
  color: var(--fui-color-danger-text, $fui-color-danger-text);
161
155
  }
162
156
 
163
- // ============================================
164
- // Accessibility: High Contrast Mode
165
- // ============================================
166
-
167
- @media (prefers-contrast: more) {
168
- .textarea {
169
- border-width: 2px;
170
- border-color: var(--fui-text-primary, $fui-text-primary);
171
-
172
- &:focus-visible {
173
- border-color: var(--fui-color-accent, $fui-color-accent);
174
- }
175
- }
176
-
177
- .error,
178
- .textarea[aria-invalid] {
179
- border-color: var(--fui-color-danger-text, $fui-color-danger-text);
180
- }
181
-
182
- .success {
183
- border-color: var(--fui-color-success-text, $fui-color-success-text);
184
- }
185
- }
186
-
187
157
  // ============================================
188
158
  // Accessibility: Reduced Motion
189
159
  // ============================================
@@ -28,8 +28,6 @@ export interface TextareaProps extends Omit<
28
28
  disabled?: boolean;
29
29
  /** Error state */
30
30
  error?: boolean;
31
- /** Success state */
32
- success?: boolean;
33
31
  /** Show character count when maxLength is set */
34
32
  showCharCount?: boolean;
35
33
  /** Label text above the textarea */
@@ -76,7 +74,6 @@ const TextareaRoot = React.forwardRef<HTMLTextAreaElement, TextareaProps>(functi
76
74
  size: sizeProp,
77
75
  disabled = false,
78
76
  error = false,
79
- success = false,
80
77
  showCharCount = false,
81
78
  label,
82
79
  helperText,
@@ -113,29 +110,21 @@ const TextareaRoot = React.forwardRef<HTMLTextAreaElement, TextareaProps>(functi
113
110
  styles.textarea,
114
111
  styles[size],
115
112
  error && styles.error,
116
- success && styles.success,
117
113
  styles[`resize-${resize}`],
118
114
  ]
119
115
  .filter(Boolean)
120
116
  .join(" ");
121
117
 
122
- const helperClasses = [
123
- styles.helper,
124
- error && styles.helperError,
125
- success && styles.helperSuccess,
126
- ]
127
- .filter(Boolean)
128
- .join(" ");
118
+ const helperClasses = [styles.helper, error && styles.helperError].filter(Boolean).join(" ");
129
119
 
130
120
  const textareaInlineStyle = {
131
- "--_fui-textarea-min-rows": minRows ?? 1,
132
- "--_fui-textarea-max-rows": maxRows ?? 9999,
121
+ "--fui-textarea-min-rows": minRows ?? 1,
122
+ "--fui-textarea-max-rows": maxRows ?? 9999,
133
123
  } as React.CSSProperties;
134
124
 
135
125
  return (
136
126
  <div
137
127
  {...rootProps}
138
- data-success={success || undefined}
139
128
  className={[styles.wrapper, rootProps?.className, className].filter(Boolean).join(" ")}
140
129
  style={{ ...(rootProps?.style ?? {}), ...(wrapperStyle ?? {}) }}
141
130
  >
@@ -1,15 +1,9 @@
1
1
  {
2
2
  "$schema": "https://usefragments.com/schemas/contract.v1.json",
3
3
  "name": "Theme",
4
- "description": "Theme management system with provider, toggle, and hook pattern. Supports light, dark, and system modes with localStorage persistence.",
5
- "category": "navigation",
6
- "tags": [
7
- "theme",
8
- "dark-mode",
9
- "light-mode",
10
- "provider",
11
- "toggle"
12
- ],
4
+ "description": "Utility provider that gives everything below it a light, dark, or system color mode.",
5
+ "category": "utilities",
6
+ "tags": ["theme", "dark-mode", "light-mode", "provider", "toggle"],
13
7
  "status": "stable",
14
8
  "sourcePath": "src/components/Theme/index.tsx",
15
9
  "exportName": "ThemeProvider",
@@ -20,7 +14,9 @@
20
14
  "mode: light|dark|system",
21
15
  "onModeChange: function",
22
16
  "storageKey: string (default: fui-theme)",
23
- "attribute: data-theme|class (default: data-theme)"
17
+ "attribute: data-theme|class (default: data-theme)",
18
+ "Theme.Toggle size: sm|md|lg",
19
+ "Theme.Button size: sm|md|lg"
24
20
  ],
25
21
  "props": {
26
22
  "children": {
@@ -33,31 +29,19 @@
33
29
  "description": "Default theme mode for uncontrolled usage",
34
30
  "default": "system",
35
31
  "required": false,
36
- "values": [
37
- "light",
38
- "dark",
39
- "system"
40
- ]
32
+ "values": ["light", "dark", "system"]
41
33
  },
42
34
  "defaultTheme": {
43
35
  "type": "enum",
44
36
  "description": "",
45
37
  "required": false,
46
- "values": [
47
- "light",
48
- "dark",
49
- "system"
50
- ]
38
+ "values": ["light", "dark", "system"]
51
39
  },
52
40
  "mode": {
53
41
  "type": "enum",
54
42
  "description": "Controlled theme mode",
55
43
  "required": false,
56
- "values": [
57
- "light",
58
- "dark",
59
- "system"
60
- ]
44
+ "values": ["light", "dark", "system"]
61
45
  },
62
46
  "onModeChange": {
63
47
  "type": "function",
@@ -75,52 +59,51 @@
75
59
  "description": "How to apply theme to DOM",
76
60
  "default": "data-theme",
77
61
  "required": false,
78
- "values": [
79
- "data-theme",
80
- "class"
81
- ]
62
+ "values": ["data-theme", "class"]
82
63
  }
83
64
  },
84
65
  "usage": {
85
66
  "when": [
86
- "Providing theme context to an application",
87
- "Toggling between light and dark modes",
88
- "Respecting system color scheme preference",
89
- "Persisting theme preference across sessions"
67
+ "An app needs light and dark modes",
68
+ "The user's choice should survive a reload",
69
+ "You want to honour the OS setting by default"
90
70
  ],
91
71
  "whenNot": [
92
- "Simple one-off color changes (use CSS variables)",
93
- "Component-level theming (use component props)"
72
+ "Recoloring one component (use its props)",
73
+ "A single one-off color swap (use a CSS variable)"
94
74
  ],
95
75
  "guidelines": [
96
- "Wrap your app with ThemeProvider at the root level",
97
- "Use useTheme hook to access theme state in components",
98
- "ThemeToggle cycles through light → dark → system",
99
- "Use storageKey to customize localStorage key",
100
- "Set attribute=\"class\" if your CSS uses .dark class instead of data-theme",
101
- "ThemeToggle forwards DOM props (id, data-*, className, handlers) to the toggle group"
76
+ "ThemeProvider goes at the root, once",
77
+ "useTheme reads and sets the mode anywhere below it",
78
+ "storageKey renames the localStorage entry",
79
+ "attribute=\"class\" if your CSS keys off .dark instead of data-theme",
80
+ "ThemeProvider renders no chrome of its own; Theme.Toggle is the segmented light/dark/system control and Theme.Button the single icon button for tight toolbars"
102
81
  ],
103
82
  "accessibility": [
104
- "ThemeToggle button has accessible label indicating current mode",
105
- "Theme changes are applied via CSS custom properties for smooth transitions",
106
- "System preference is detected via prefers-color-scheme media query"
83
+ "The toggle's label names the mode it is in",
84
+ "System mode follows prefers-color-scheme"
107
85
  ]
108
86
  },
109
87
  "examples": [
110
88
  {
111
89
  "name": "Default",
112
- "description": "ThemeProvider with system default",
113
- "code": "<ThemeProvider defaultMode=\"system\">\n <ThemeDemo />\n</ThemeProvider>"
90
+ "description": "Wrap the app once; every token below resolves to the active mode.",
91
+ "code": "<ThemeProvider defaultMode=\"system\">\n <div\n style={{\n padding: '16px',\n borderRadius: '8px',\n background: 'var(--fui-bg-elevated)',\n color: 'var(--fui-text-primary)',\n }}\n >\n Everything inside follows the system color scheme.\n </div>\n</ThemeProvider>"
114
92
  },
115
93
  {
116
94
  "name": "With Toggle",
117
- "description": "ThemeProvider with toggle button",
95
+ "description": "The toggle cycles light, dark, then back to system.",
118
96
  "code": "<ThemeProvider defaultMode=\"light\">\n <div style={{ display: 'flex', alignItems: 'center', gap: '16px' }}>\n <ThemeToggle />\n <span>Click to cycle themes</span>\n </div>\n</ThemeProvider>"
119
97
  },
120
98
  {
121
99
  "name": "Toggle Sizes",
122
- "description": "ThemeToggle in different sizes",
100
+ "description": "Three sizes so the control fits whatever bar holds it.",
123
101
  "code": "<ThemeProvider defaultMode=\"light\">\n <div style={{ display: 'flex', alignItems: 'center', gap: '16px' }}>\n <ThemeToggle size=\"sm\" />\n <ThemeToggle size=\"md\" />\n <ThemeToggle size=\"lg\" />\n </div>\n</ThemeProvider>"
102
+ },
103
+ {
104
+ "name": "Theme Button",
105
+ "description": "A single icon button for toolbars with no room to spare.",
106
+ "code": "<ThemeProvider defaultMode=\"system\">\n <ThemeButton aria-label=\"Switch color mode\" />\n</ThemeProvider>"
124
107
  }
125
108
  ],
126
109
  "relations": [
@@ -136,12 +119,11 @@
136
119
  "mode: light|dark|system - controlled mode",
137
120
  "onModeChange: (mode) => void - change handler",
138
121
  "attribute: data-theme|class - DOM theme attribute",
139
- "ThemeToggle size: sm|md|lg - toggle button size",
140
- "ThemeToggle forwards div DOM props to the button group root"
122
+ "Theme.Toggle size: sm|md|lg - segmented light/dark/system control",
123
+ "Theme.Toggle forwards div DOM props to the button group root",
124
+ "Theme.Button size: sm|md|lg - single ghost icon button that flips light and dark, built on IconButton"
141
125
  ],
142
- "a11yRules": [
143
- "A11Y_TARGET_SIZE_MIN"
144
- ]
126
+ "a11yRules": ["A11Y_TARGET_SIZE_MIN"]
145
127
  },
146
128
  "provenance": {
147
129
  "source": "migrated",
@@ -2,10 +2,10 @@
2
2
 
3
3
  import * as React from "react";
4
4
  import { ComponentDefaultsProvider, type ComponentDefaults } from "../ComponentDefaults";
5
- import { ThemeToggle } from "../ThemeToggle";
5
+ import { ThemeButton, ThemeToggle } from "../ThemeToggle";
6
6
  import { ThemeContext, useTheme, type ThemeContextValue, type ThemeMode } from "./context";
7
7
 
8
- export type { ThemeToggleProps } from "../ThemeToggle";
8
+ export type { ThemeButtonProps, ThemeToggleProps } from "../ThemeToggle";
9
9
  export type { ThemeMode, UseThemeReturn } from "./context";
10
10
 
11
11
  // ============================================
@@ -68,6 +68,22 @@ function useSystemPreference(): "light" | "dark" {
68
68
  * ThemeProvider - Provides theme context to children
69
69
  * SSR-safe: initializes from localStorage in useEffect
70
70
  */
71
+ function suppressTransitions(): () => void {
72
+ const style = document.createElement("style");
73
+ style.textContent = "*,*::before,*::after{transition:none!important}";
74
+ document.head.append(style);
75
+ return () => {
76
+ // Read layout for its side effect: a synchronous style flush commits the
77
+ // new colors while the override still applies, so nothing starts moving.
78
+ void document.body.offsetHeight;
79
+ if (typeof requestAnimationFrame === "function") {
80
+ requestAnimationFrame(() => requestAnimationFrame(() => style.remove()));
81
+ } else {
82
+ style.remove();
83
+ }
84
+ };
85
+ }
86
+
71
87
  function ThemeProvider({
72
88
  children,
73
89
  componentDefaults,
@@ -81,7 +97,7 @@ function ThemeProvider({
81
97
  const systemPreference = useSystemPreference();
82
98
 
83
99
  // Warn on deprecated prop usage (dev only)
84
- if (process.env.NODE_ENV !== "production" && defaultTheme !== undefined) {
100
+ if (!isProductionBuild() && defaultTheme !== undefined) {
85
101
  console.warn(
86
102
  "[Fragments] ThemeProvider: `defaultTheme` is deprecated. Use `defaultMode` instead. " +
87
103
  "`defaultTheme` will be removed in v1.0."
@@ -121,6 +137,20 @@ function ThemeProvider({
121
137
  if (typeof document === "undefined" || !mounted) return;
122
138
 
123
139
  const root = document.documentElement;
140
+ const current =
141
+ attribute === "data-theme"
142
+ ? root.getAttribute("data-theme")
143
+ : root.classList.contains("dark")
144
+ ? "dark"
145
+ : root.classList.contains("light")
146
+ ? "light"
147
+ : null;
148
+
149
+ // A flip changes color, background, border and shadow on nearly every
150
+ // element at once; every transition on those properties would fire
151
+ // together and the switch smears instead of snapping. Turn transitions
152
+ // off for the swap, flush, then restore on the next frame.
153
+ const restore = current !== resolvedMode ? suppressTransitions() : null;
124
154
 
125
155
  if (attribute === "data-theme") {
126
156
  root.setAttribute("data-theme", resolvedMode);
@@ -128,6 +158,8 @@ function ThemeProvider({
128
158
  root.classList.remove("light", "dark");
129
159
  root.classList.add(resolvedMode);
130
160
  }
161
+
162
+ restore?.();
131
163
  }, [resolvedMode, attribute, mounted]);
132
164
 
133
165
  // Persist to localStorage when mode changes
@@ -182,27 +214,27 @@ export const Theme = Object.assign(ThemeProvider, {
182
214
  Root: ThemeProvider,
183
215
  Provider: ThemeProvider,
184
216
  Toggle: ThemeToggle,
217
+ Button: ThemeButton,
185
218
  useTheme,
186
219
  });
187
220
 
188
- export { ThemeProvider, ThemeToggle, useTheme };
221
+ export { ThemeProvider, ThemeToggle, ThemeButton, useTheme };
189
222
 
190
223
  // ============================================
191
224
  // configureTheme — JS-only seed configuration
192
225
  // ============================================
193
226
 
194
227
  // Import + re-export seed derivation types — canonical definitions in utils/seed-derivation.ts
195
- import type { NeutralPalette, DensityPreset, RadiusStyle } from "../../utils/seed-derivation";
228
+ import type { NeutralPalette, RadiusStyle } from "../../utils/seed-derivation";
196
229
  import { applyMeasurementSelection } from "../../measurements";
197
- export type { NeutralPalette, DensityPreset, RadiusStyle };
230
+ import { isProductionBuild } from "../../utils/env";
231
+ export type { NeutralPalette, RadiusStyle };
198
232
 
199
233
  export interface ConfigureThemeOptions {
200
234
  /** Brand/accent color as hex */
201
235
  brand?: string;
202
236
  /** Neutral palette name */
203
237
  neutral?: NeutralPalette;
204
- /** Spacing density preset */
205
- density?: DensityPreset;
206
238
  /** Border radius style */
207
239
  radiusStyle?: RadiusStyle;
208
240
  /** Danger/error color as hex */
@@ -247,7 +279,6 @@ function setVar(el: HTMLElement, name: string, value: string) {
247
279
  * configureTheme({
248
280
  * brand: '#6366f1',
249
281
  * neutral: 'ice',
250
- * density: 'compact',
251
282
  * radiusStyle: 'rounded',
252
283
  * });
253
284
  * ```
@@ -277,8 +308,5 @@ export function configureTheme(options: ConfigureThemeOptions): void {
277
308
  // Named geometry is selected through the generated Measurement Module.
278
309
  // Partial calls leave the omitted selector untouched and never write numeric
279
310
  // CSS maps inline.
280
- applyMeasurementSelection(root, {
281
- density: options.density,
282
- radiusStyle: options.radiusStyle,
283
- });
311
+ applyMeasurementSelection(root, { radiusStyle: options.radiusStyle });
284
312
  }