@usefragments/ui 1.5.4 → 1.7.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 (667) hide show
  1. package/README.md +4 -4
  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/ui.css +10468 -6909
  6. package/dist/chart.cjs +31 -26
  7. package/dist/chart.js +31 -26
  8. package/dist/codeblock.cjs +55 -29
  9. package/dist/codeblock.js +55 -29
  10. package/dist/colorpicker.cjs +5 -2
  11. package/dist/colorpicker.js +5 -2
  12. package/dist/components/Accordion/Accordion.module.scss.cjs +8 -8
  13. package/dist/components/Accordion/Accordion.module.scss.js +8 -8
  14. package/dist/components/Alert/Alert.module.scss.cjs +15 -12
  15. package/dist/components/Alert/Alert.module.scss.js +15 -12
  16. package/dist/components/Alert/index.cjs +7 -1
  17. package/dist/components/Alert/index.d.ts +12 -6
  18. package/dist/components/Alert/index.d.ts.map +1 -1
  19. package/dist/components/Alert/index.js +7 -1
  20. package/dist/components/AppShell/AppShell.module.scss.cjs +14 -14
  21. package/dist/components/AppShell/AppShell.module.scss.js +14 -14
  22. package/dist/components/AppShell/index.cjs +5 -3
  23. package/dist/components/AppShell/index.d.ts +4 -2
  24. package/dist/components/AppShell/index.d.ts.map +1 -1
  25. package/dist/components/AppShell/index.js +5 -3
  26. package/dist/components/Avatar/Avatar.module.scss.cjs +17 -14
  27. package/dist/components/Avatar/Avatar.module.scss.js +17 -14
  28. package/dist/components/Avatar/index.cjs +100 -118
  29. package/dist/components/Avatar/index.d.ts +7 -5
  30. package/dist/components/Avatar/index.d.ts.map +1 -1
  31. package/dist/components/Avatar/index.js +100 -118
  32. package/dist/components/Badge/Badge.module.scss.cjs +19 -19
  33. package/dist/components/Badge/Badge.module.scss.js +19 -19
  34. package/dist/components/BentoGrid/BentoGrid.module.scss.cjs +14 -14
  35. package/dist/components/BentoGrid/BentoGrid.module.scss.js +14 -14
  36. package/dist/components/Box/Box.module.scss.cjs +152 -152
  37. package/dist/components/Box/Box.module.scss.js +152 -152
  38. package/dist/components/Box/index.cjs +64 -75
  39. package/dist/components/Box/index.d.ts +16 -16
  40. package/dist/components/Box/index.d.ts.map +1 -1
  41. package/dist/components/Box/index.js +64 -75
  42. package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.cjs +8 -8
  43. package/dist/components/Breadcrumbs/Breadcrumbs.module.scss.js +8 -8
  44. package/dist/components/Button/Button.module.scss.cjs +14 -14
  45. package/dist/components/Button/Button.module.scss.js +14 -14
  46. package/dist/components/ButtonGroup/ButtonGroup.module.scss.cjs +15 -15
  47. package/dist/components/ButtonGroup/ButtonGroup.module.scss.js +15 -15
  48. package/dist/components/Card/Card.module.scss.cjs +30 -18
  49. package/dist/components/Card/Card.module.scss.js +31 -19
  50. package/dist/components/Card/index.cjs +8 -0
  51. package/dist/components/Card/index.d.ts +12 -2
  52. package/dist/components/Card/index.d.ts.map +1 -1
  53. package/dist/components/Card/index.js +8 -0
  54. package/dist/components/Chart/Chart.module.scss.cjs +15 -15
  55. package/dist/components/Chart/Chart.module.scss.js +15 -15
  56. package/dist/components/Chart/index.d.ts +7 -7
  57. package/dist/components/Chart/index.d.ts.map +1 -1
  58. package/dist/components/Checkbox/Checkbox.module.scss.cjs +9 -15
  59. package/dist/components/Checkbox/Checkbox.module.scss.js +9 -15
  60. package/dist/components/Checkbox/index.cjs +6 -8
  61. package/dist/components/Checkbox/index.d.ts.map +1 -1
  62. package/dist/components/Checkbox/index.js +6 -8
  63. package/dist/components/Chip/Chip.module.scss.cjs +15 -15
  64. package/dist/components/Chip/Chip.module.scss.js +15 -15
  65. package/dist/components/Chip/index.cjs +6 -6
  66. package/dist/components/Chip/index.d.ts +1 -1
  67. package/dist/components/Chip/index.js +4 -4
  68. package/dist/components/CodeBlock/CodeBlock.module.scss.cjs +27 -24
  69. package/dist/components/CodeBlock/CodeBlock.module.scss.js +27 -24
  70. package/dist/components/CodeBlock/css-variables-theme.cjs +98 -0
  71. package/dist/components/CodeBlock/css-variables-theme.d.ts +27 -0
  72. package/dist/components/CodeBlock/css-variables-theme.d.ts.map +1 -0
  73. package/dist/components/CodeBlock/css-variables-theme.js +98 -0
  74. package/dist/components/CodeBlock/index.d.ts +17 -3
  75. package/dist/components/CodeBlock/index.d.ts.map +1 -1
  76. package/dist/components/Collapsible/Collapsible.module.scss.cjs +9 -12
  77. package/dist/components/Collapsible/Collapsible.module.scss.js +9 -12
  78. package/dist/components/Collapsible/index.cjs +3 -2
  79. package/dist/components/Collapsible/index.d.ts +3 -3
  80. package/dist/components/Collapsible/index.d.ts.map +1 -1
  81. package/dist/components/Collapsible/index.js +3 -2
  82. package/dist/components/ColorPicker/ColorPicker.module.scss.cjs +16 -16
  83. package/dist/components/ColorPicker/ColorPicker.module.scss.js +16 -16
  84. package/dist/components/ColorPicker/index.d.ts.map +1 -1
  85. package/dist/components/Combobox/Combobox.module.scss.cjs +21 -27
  86. package/dist/components/Combobox/Combobox.module.scss.js +21 -27
  87. package/dist/components/Combobox/index.cjs +21 -5
  88. package/dist/components/Combobox/index.d.ts.map +1 -1
  89. package/dist/components/Combobox/index.js +21 -5
  90. package/dist/components/Command/Command.module.scss.cjs +11 -11
  91. package/dist/components/Command/Command.module.scss.js +11 -11
  92. package/dist/components/Command/index.cjs +26 -15
  93. package/dist/components/Command/index.d.ts +2 -2
  94. package/dist/components/Command/index.d.ts.map +1 -1
  95. package/dist/components/Command/index.js +26 -15
  96. package/dist/components/ConversationList/ConversationList.module.scss.cjs +11 -14
  97. package/dist/components/ConversationList/ConversationList.module.scss.js +11 -14
  98. package/dist/components/ConversationList/index.cjs +40 -44
  99. package/dist/components/ConversationList/index.d.ts +3 -3
  100. package/dist/components/ConversationList/index.d.ts.map +1 -1
  101. package/dist/components/ConversationList/index.js +40 -44
  102. package/dist/components/DataTable/DataTable.icons.cjs +6 -33
  103. package/dist/components/DataTable/DataTable.icons.d.ts.map +1 -1
  104. package/dist/components/DataTable/DataTable.icons.js +6 -33
  105. package/dist/components/DataTable/DataTable.module.scss.cjs +32 -56
  106. package/dist/components/DataTable/DataTable.module.scss.js +32 -56
  107. package/dist/components/DataTable/index.d.ts +5 -4
  108. package/dist/components/DataTable/index.d.ts.map +1 -1
  109. package/dist/components/DatePicker/DatePicker.module.scss.cjs +33 -33
  110. package/dist/components/DatePicker/DatePicker.module.scss.js +33 -33
  111. package/dist/components/DatePicker/index.d.ts.map +1 -1
  112. package/dist/components/Dialog/Dialog.module.scss.cjs +14 -14
  113. package/dist/components/Dialog/Dialog.module.scss.js +14 -14
  114. package/dist/components/Dialog/index.cjs +11 -14
  115. package/dist/components/Dialog/index.d.ts +7 -7
  116. package/dist/components/Dialog/index.d.ts.map +1 -1
  117. package/dist/components/Dialog/index.js +11 -14
  118. package/dist/components/Drawer/Drawer.module.scss.cjs +31 -28
  119. package/dist/components/Drawer/Drawer.module.scss.js +31 -28
  120. package/dist/components/Drawer/index.cjs +1 -1
  121. package/dist/components/Drawer/index.js +1 -1
  122. package/dist/components/Editor/Editor.module.scss.cjs +23 -23
  123. package/dist/components/Editor/Editor.module.scss.js +23 -23
  124. package/dist/components/Editor/index.d.ts +10 -10
  125. package/dist/components/Editor/index.d.ts.map +1 -1
  126. package/dist/components/EmptyState/EmptyState.module.scss.cjs +15 -12
  127. package/dist/components/EmptyState/EmptyState.module.scss.js +15 -12
  128. package/dist/components/EmptyState/index.cjs +8 -6
  129. package/dist/components/EmptyState/index.d.ts +9 -4
  130. package/dist/components/EmptyState/index.d.ts.map +1 -1
  131. package/dist/components/EmptyState/index.js +8 -6
  132. package/dist/components/Field/Field.module.scss.cjs +8 -5
  133. package/dist/components/Field/Field.module.scss.js +8 -5
  134. package/dist/components/Field/index.cjs +18 -1
  135. package/dist/components/Field/index.d.ts +9 -2
  136. package/dist/components/Field/index.d.ts.map +1 -1
  137. package/dist/components/Field/index.js +18 -1
  138. package/dist/components/Fieldset/Fieldset.module.scss.cjs +3 -3
  139. package/dist/components/Fieldset/Fieldset.module.scss.js +3 -3
  140. package/dist/components/Form/Form.module.scss.cjs +5 -2
  141. package/dist/components/Form/Form.module.scss.js +5 -2
  142. package/dist/components/Form/index.cjs +6 -1
  143. package/dist/components/Form/index.d.ts +8 -3
  144. package/dist/components/Form/index.d.ts.map +1 -1
  145. package/dist/components/Form/index.js +6 -1
  146. package/dist/components/Grid/Grid.module.scss.cjs +54 -72
  147. package/dist/components/Grid/Grid.module.scss.js +54 -72
  148. package/dist/components/Grid/index.cjs +57 -77
  149. package/dist/components/Grid/index.d.ts +11 -11
  150. package/dist/components/Grid/index.d.ts.map +1 -1
  151. package/dist/components/Grid/index.js +57 -77
  152. package/dist/components/Header/Header.module.scss.cjs +33 -33
  153. package/dist/components/Header/Header.module.scss.js +33 -33
  154. package/dist/components/Header/index.cjs +18 -38
  155. package/dist/components/Header/index.d.ts +15 -11
  156. package/dist/components/Header/index.d.ts.map +1 -1
  157. package/dist/components/Header/index.js +18 -38
  158. package/dist/components/Icon/Icon.module.scss.cjs +29 -8
  159. package/dist/components/Icon/Icon.module.scss.js +30 -9
  160. package/dist/components/Icon/index.cjs +30 -48
  161. package/dist/components/Icon/index.d.ts +6 -6
  162. package/dist/components/Icon/index.d.ts.map +1 -1
  163. package/dist/components/Icon/index.js +30 -48
  164. package/dist/components/IconButton/IconButton.module.scss.cjs +8 -8
  165. package/dist/components/IconButton/IconButton.module.scss.js +8 -8
  166. package/dist/components/IconButton/index.cjs +2 -1
  167. package/dist/components/IconButton/index.d.ts.map +1 -1
  168. package/dist/components/IconButton/index.js +2 -1
  169. package/dist/components/Image/Image.module.scss.cjs +27 -27
  170. package/dist/components/Image/Image.module.scss.js +27 -27
  171. package/dist/components/Input/Input.module.scss.cjs +19 -25
  172. package/dist/components/Input/Input.module.scss.js +19 -25
  173. package/dist/components/Input/index.cjs +1 -2
  174. package/dist/components/Input/index.d.ts.map +1 -1
  175. package/dist/components/Input/index.js +1 -2
  176. package/dist/components/Link/Link.module.scss.cjs +14 -10
  177. package/dist/components/Link/Link.module.scss.js +14 -10
  178. package/dist/components/Link/index.d.ts +1 -1
  179. package/dist/components/Link/index.d.ts.map +1 -1
  180. package/dist/components/List/List.module.scss.cjs +19 -19
  181. package/dist/components/List/List.module.scss.js +19 -19
  182. package/dist/components/List/index.cjs +4 -7
  183. package/dist/components/List/index.d.ts.map +1 -1
  184. package/dist/components/List/index.js +4 -7
  185. package/dist/components/Listbox/Listbox.module.scss.cjs +9 -9
  186. package/dist/components/Listbox/Listbox.module.scss.js +9 -9
  187. package/dist/components/Loading/Loading.module.scss.cjs +34 -34
  188. package/dist/components/Loading/Loading.module.scss.js +34 -34
  189. package/dist/components/Loading/index.cjs +39 -67
  190. package/dist/components/Loading/index.d.ts +6 -6
  191. package/dist/components/Loading/index.d.ts.map +1 -1
  192. package/dist/components/Loading/index.js +39 -67
  193. package/dist/components/Main/Main.module.scss.cjs +7 -7
  194. package/dist/components/Main/Main.module.scss.js +7 -7
  195. package/dist/components/Markdown/Markdown.module.scss.cjs +1 -1
  196. package/dist/components/Markdown/Markdown.module.scss.js +1 -1
  197. package/dist/components/Markdown/index.d.ts +2 -2
  198. package/dist/components/Markdown/index.d.ts.map +1 -1
  199. package/dist/components/Menu/Menu.module.scss.cjs +16 -16
  200. package/dist/components/Menu/Menu.module.scss.js +16 -16
  201. package/dist/components/Menu/index.cjs +19 -61
  202. package/dist/components/Menu/index.d.ts +10 -10
  203. package/dist/components/Menu/index.d.ts.map +1 -1
  204. package/dist/components/Menu/index.js +19 -61
  205. package/dist/components/Message/Message.module.scss.cjs +18 -21
  206. package/dist/components/Message/Message.module.scss.js +18 -21
  207. package/dist/components/Message/index.cjs +15 -2
  208. package/dist/components/Message/index.d.ts.map +1 -1
  209. package/dist/components/Message/index.js +15 -2
  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 +18 -9
  217. package/dist/components/Pagination/Pagination.module.scss.js +19 -10
  218. package/dist/components/Pagination/index.cjs +5 -2
  219. package/dist/components/Pagination/index.d.ts +3 -1
  220. package/dist/components/Pagination/index.d.ts.map +1 -1
  221. package/dist/components/Pagination/index.js +5 -2
  222. package/dist/components/Popover/Popover.module.scss.cjs +10 -10
  223. package/dist/components/Popover/Popover.module.scss.js +10 -10
  224. package/dist/components/Progress/Progress.module.scss.cjs +29 -32
  225. package/dist/components/Progress/Progress.module.scss.js +29 -32
  226. package/dist/components/Progress/geometry.cjs +30 -0
  227. package/dist/components/Progress/geometry.d.ts +8 -0
  228. package/dist/components/Progress/geometry.d.ts.map +1 -0
  229. package/dist/components/Progress/geometry.js +30 -0
  230. package/dist/components/Progress/index.cjs +40 -29
  231. package/dist/components/Progress/index.d.ts +4 -3
  232. package/dist/components/Progress/index.d.ts.map +1 -1
  233. package/dist/components/Progress/index.js +40 -29
  234. package/dist/components/Prompt/Prompt.module.scss.cjs +29 -29
  235. package/dist/components/Prompt/Prompt.module.scss.js +29 -29
  236. package/dist/components/Prompt/index.cjs +5 -4
  237. package/dist/components/Prompt/index.d.ts.map +1 -1
  238. package/dist/components/Prompt/index.js +5 -4
  239. package/dist/components/RadioGroup/RadioGroup.module.scss.cjs +15 -21
  240. package/dist/components/RadioGroup/RadioGroup.module.scss.js +15 -21
  241. package/dist/components/RadioGroup/index.cjs +7 -6
  242. package/dist/components/RadioGroup/index.d.ts.map +1 -1
  243. package/dist/components/RadioGroup/index.js +7 -6
  244. package/dist/components/ScrollArea/ScrollArea.module.scss.cjs +7 -22
  245. package/dist/components/ScrollArea/ScrollArea.module.scss.js +7 -22
  246. package/dist/components/ScrollArea/index.cjs +66 -42
  247. package/dist/components/ScrollArea/index.d.ts +6 -5
  248. package/dist/components/ScrollArea/index.d.ts.map +1 -1
  249. package/dist/components/ScrollArea/index.js +66 -42
  250. package/dist/components/ScrollArea/scroll-state.cjs +58 -0
  251. package/dist/components/ScrollArea/scroll-state.d.ts +16 -0
  252. package/dist/components/ScrollArea/scroll-state.d.ts.map +1 -0
  253. package/dist/components/ScrollArea/scroll-state.js +58 -0
  254. package/dist/components/Select/Select.module.scss.cjs +21 -21
  255. package/dist/components/Select/Select.module.scss.js +21 -21
  256. package/dist/components/Select/index.cjs +3 -2
  257. package/dist/components/Select/index.d.ts.map +1 -1
  258. package/dist/components/Select/index.js +3 -2
  259. package/dist/components/Separator/Separator.module.scss.cjs +13 -10
  260. package/dist/components/Separator/Separator.module.scss.js +13 -10
  261. package/dist/components/Separator/index.cjs +37 -38
  262. package/dist/components/Separator/index.d.ts +4 -4
  263. package/dist/components/Separator/index.d.ts.map +1 -1
  264. package/dist/components/Separator/index.js +37 -38
  265. package/dist/components/Sidebar/Sidebar.module.scss.cjs +43 -43
  266. package/dist/components/Sidebar/Sidebar.module.scss.js +43 -43
  267. package/dist/components/Sidebar/index.cjs +17 -38
  268. package/dist/components/Sidebar/index.d.ts +23 -18
  269. package/dist/components/Sidebar/index.d.ts.map +1 -1
  270. package/dist/components/Sidebar/index.js +17 -38
  271. package/dist/components/Skeleton/Skeleton.module.scss.cjs +56 -40
  272. package/dist/components/Skeleton/Skeleton.module.scss.js +56 -40
  273. package/dist/components/Skeleton/index.cjs +41 -55
  274. package/dist/components/Skeleton/index.d.ts +7 -7
  275. package/dist/components/Skeleton/index.d.ts.map +1 -1
  276. package/dist/components/Skeleton/index.js +41 -55
  277. package/dist/components/Slider/Slider.module.scss.cjs +12 -12
  278. package/dist/components/Slider/Slider.module.scss.js +12 -12
  279. package/dist/components/Stack/Stack.module.scss.cjs +25 -45
  280. package/dist/components/Stack/Stack.module.scss.js +25 -45
  281. package/dist/components/Stack/index.cjs +106 -101
  282. package/dist/components/Stack/index.d.ts +7 -7
  283. package/dist/components/Stack/index.d.ts.map +1 -1
  284. package/dist/components/Stack/index.js +106 -101
  285. package/dist/components/Switch/Switch.module.scss.cjs +32 -0
  286. package/dist/components/Switch/Switch.module.scss.js +32 -0
  287. package/dist/components/{Toggle → Switch}/index.cjs +9 -14
  288. package/dist/components/Switch/index.d.ts +37 -1
  289. package/dist/components/Switch/index.d.ts.map +1 -1
  290. package/dist/components/{Toggle → Switch}/index.js +5 -10
  291. package/dist/components/Table/Table.module.scss.cjs +21 -30
  292. package/dist/components/Table/Table.module.scss.js +21 -30
  293. package/dist/components/Table/index.d.ts +6 -5
  294. package/dist/components/Table/index.d.ts.map +1 -1
  295. package/dist/components/TableOfContents/TableOfContents.module.scss.cjs +15 -15
  296. package/dist/components/TableOfContents/TableOfContents.module.scss.js +15 -15
  297. package/dist/components/TableOfContents/index.cjs +13 -9
  298. package/dist/components/TableOfContents/index.d.ts +5 -3
  299. package/dist/components/TableOfContents/index.d.ts.map +1 -1
  300. package/dist/components/TableOfContents/index.js +13 -9
  301. package/dist/components/Tabs/Tabs.module.scss.cjs +12 -12
  302. package/dist/components/Tabs/Tabs.module.scss.js +12 -12
  303. package/dist/components/Tabs/index.cjs +28 -8
  304. package/dist/components/Tabs/index.d.ts.map +1 -1
  305. package/dist/components/Tabs/index.js +28 -8
  306. package/dist/components/Text/Text.module.scss.cjs +105 -57
  307. package/dist/components/Text/Text.module.scss.js +105 -57
  308. package/dist/components/Text/index.cjs +49 -33
  309. package/dist/components/Text/index.d.ts +30 -19
  310. package/dist/components/Text/index.d.ts.map +1 -1
  311. package/dist/components/Text/index.js +49 -33
  312. package/dist/components/Textarea/Textarea.module.scss.cjs +26 -23
  313. package/dist/components/Textarea/Textarea.module.scss.js +26 -23
  314. package/dist/components/Textarea/index.cjs +5 -10
  315. package/dist/components/Textarea/index.d.ts.map +1 -1
  316. package/dist/components/Textarea/index.js +5 -10
  317. package/dist/components/Theme/context.cjs +39 -0
  318. package/dist/components/Theme/context.d.ts +21 -0
  319. package/dist/components/Theme/context.d.ts.map +1 -0
  320. package/dist/components/Theme/context.js +22 -0
  321. package/dist/components/Theme/index.cjs +16 -210
  322. package/dist/components/Theme/index.d.ts +4 -37
  323. package/dist/components/Theme/index.d.ts.map +1 -1
  324. package/dist/components/Theme/index.js +11 -205
  325. package/dist/components/{Theme → ThemeToggle}/ThemeToggle.module.scss.cjs +9 -6
  326. package/dist/components/ThemeToggle/ThemeToggle.module.scss.js +26 -0
  327. package/dist/components/ThemeToggle/index.cjs +140 -0
  328. package/dist/components/ThemeToggle/index.d.ts +26 -0
  329. package/dist/components/ThemeToggle/index.d.ts.map +1 -0
  330. package/dist/components/ThemeToggle/index.js +140 -0
  331. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.cjs +13 -13
  332. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.js +13 -13
  333. package/dist/components/ThinkingIndicator/index.cjs +34 -41
  334. package/dist/components/ThinkingIndicator/index.d.ts +4 -4
  335. package/dist/components/ThinkingIndicator/index.d.ts.map +1 -1
  336. package/dist/components/ThinkingIndicator/index.js +34 -41
  337. package/dist/components/Toast/Toast.module.scss.cjs +20 -20
  338. package/dist/components/Toast/Toast.module.scss.js +20 -20
  339. package/dist/components/Toggle/index.d.ts +2 -42
  340. package/dist/components/Toggle/index.d.ts.map +1 -1
  341. package/dist/components/ToggleGroup/ToggleGroup.module.scss.cjs +20 -20
  342. package/dist/components/ToggleGroup/ToggleGroup.module.scss.js +20 -20
  343. package/dist/components/ToggleGroup/index.cjs +3 -2
  344. package/dist/components/ToggleGroup/index.d.ts +2 -1
  345. package/dist/components/ToggleGroup/index.d.ts.map +1 -1
  346. package/dist/components/ToggleGroup/index.js +3 -2
  347. package/dist/components/Tooltip/Tooltip.module.scss.cjs +3 -3
  348. package/dist/components/Tooltip/Tooltip.module.scss.js +3 -3
  349. package/dist/components/Tooltip/index.cjs +24 -40
  350. package/dist/components/Tooltip/index.d.ts +4 -4
  351. package/dist/components/Tooltip/index.d.ts.map +1 -1
  352. package/dist/components/Tooltip/index.js +24 -40
  353. package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.cjs +1 -1
  354. package/dist/components/VisuallyHidden/VisuallyHidden.module.scss.js +1 -1
  355. package/dist/components/VisuallyHidden/index.d.ts +2 -2
  356. package/dist/data-table.cjs +14 -10
  357. package/dist/data-table.js +14 -10
  358. package/dist/datepicker.cjs +5 -3
  359. package/dist/datepicker.js +5 -3
  360. package/dist/editor.cjs +68 -28
  361. package/dist/editor.js +68 -28
  362. package/dist/index.cjs +101 -99
  363. package/dist/index.d.ts +3 -3
  364. package/dist/index.d.ts.map +1 -1
  365. package/dist/index.js +6 -4
  366. package/dist/markdown.cjs +21 -29
  367. package/dist/markdown.js +22 -30
  368. package/dist/measurements/generated.cjs +304 -0
  369. package/dist/measurements/generated.d.ts +268 -0
  370. package/dist/measurements/generated.d.ts.map +1 -0
  371. package/dist/measurements/generated.js +304 -0
  372. package/dist/measurements/index.d.ts +2 -0
  373. package/dist/measurements/index.d.ts.map +1 -0
  374. package/dist/measurements.cjs +6 -0
  375. package/dist/measurements.js +6 -0
  376. package/dist/recipes/popup.cjs +14 -0
  377. package/dist/recipes/popup.d.ts +4 -0
  378. package/dist/recipes/popup.d.ts.map +1 -0
  379. package/dist/recipes/popup.js +14 -0
  380. package/dist/recipes/table-chrome.cjs +18 -0
  381. package/dist/recipes/table-chrome.d.ts +10 -0
  382. package/dist/recipes/table-chrome.d.ts.map +1 -0
  383. package/dist/recipes/table-chrome.js +18 -0
  384. package/dist/table.cjs +5 -2
  385. package/dist/table.js +5 -2
  386. package/dist/utils/a11y.cjs +5 -2
  387. package/dist/utils/a11y.d.ts +5 -5
  388. package/dist/utils/a11y.d.ts.map +1 -1
  389. package/dist/utils/a11y.js +5 -2
  390. package/dist/utils/canonical-stamp.cjs +2 -8
  391. package/dist/utils/canonical-stamp.d.ts.map +1 -1
  392. package/dist/utils/canonical-stamp.js +1 -7
  393. package/dist/utils/css-warning.cjs +1 -1
  394. package/dist/utils/css-warning.js +1 -1
  395. package/dist/utils/env.cjs +17 -0
  396. package/dist/utils/env.d.ts +3 -0
  397. package/dist/utils/env.d.ts.map +1 -0
  398. package/dist/utils/env.js +17 -0
  399. package/dist/utils/keyboard-shortcuts.cjs +3 -10
  400. package/dist/utils/keyboard-shortcuts.d.ts +4 -4
  401. package/dist/utils/keyboard-shortcuts.d.ts.map +1 -1
  402. package/dist/utils/keyboard-shortcuts.js +3 -10
  403. package/dist/utils/layout-spacing.cjs +27 -0
  404. package/dist/utils/layout-spacing.d.ts +5 -0
  405. package/dist/utils/layout-spacing.d.ts.map +1 -0
  406. package/dist/utils/layout-spacing.js +27 -0
  407. package/dist/utils/seed-derivation.cjs +14 -48
  408. package/dist/utils/seed-derivation.d.ts +4 -3
  409. package/dist/utils/seed-derivation.d.ts.map +1 -1
  410. package/dist/utils/seed-derivation.js +14 -48
  411. package/dist/utils/theme-presets.cjs +1 -0
  412. package/dist/utils/theme-presets.d.ts +3 -2
  413. package/dist/utils/theme-presets.d.ts.map +1 -1
  414. package/dist/utils/theme-presets.js +1 -0
  415. package/fragments.json +1 -1
  416. package/package.json +25 -4
  417. package/src/assets/fragments-logo.tsx +2 -2
  418. package/src/assets/fragments-wordmark.tsx +4 -2
  419. package/src/components/Accordion/Accordion.contract.json +24 -48
  420. package/src/components/Accordion/Accordion.module.scss +31 -52
  421. package/src/components/Alert/Alert.contract.json +37 -53
  422. package/src/components/Alert/Alert.module.scss +52 -44
  423. package/src/components/Alert/index.tsx +55 -29
  424. package/src/components/AppShell/AppShell.contract.json +34 -51
  425. package/src/components/AppShell/AppShell.module.scss +59 -43
  426. package/src/components/AppShell/index.tsx +8 -4
  427. package/src/components/Avatar/Avatar.contract.json +31 -48
  428. package/src/components/Avatar/Avatar.module.scss +25 -60
  429. package/src/components/Avatar/index.tsx +152 -146
  430. package/src/components/Badge/Badge.contract.json +37 -42
  431. package/src/components/Badge/Badge.module.scss +59 -47
  432. package/src/components/BentoGrid/BentoGrid.contract.json +21 -45
  433. package/src/components/BentoGrid/BentoGrid.module.scss +11 -32
  434. package/src/components/Box/Box.contract.json +40 -148
  435. package/src/components/Box/Box.module.scss +253 -81
  436. package/src/components/Box/index.tsx +92 -99
  437. package/src/components/Breadcrumbs/Breadcrumbs.contract.json +21 -34
  438. package/src/components/Breadcrumbs/Breadcrumbs.module.scss +19 -15
  439. package/src/components/Button/Button.module.scss +60 -64
  440. package/src/components/ButtonGroup/ButtonGroup.contract.json +32 -47
  441. package/src/components/ButtonGroup/ButtonGroup.module.scss +5 -5
  442. package/src/components/Card/Card.consumer-fixture.module.scss +8 -0
  443. package/src/components/Card/Card.module.scss +284 -167
  444. package/src/components/Card/index.tsx +21 -2
  445. package/src/components/Chart/Chart.contract.json +21 -29
  446. package/src/components/Chart/Chart.module.scss +28 -29
  447. package/src/components/Chart/index.tsx +72 -55
  448. package/src/components/Checkbox/Checkbox.contract.json +24 -24
  449. package/src/components/Checkbox/Checkbox.module.scss +75 -87
  450. package/src/components/Checkbox/index.tsx +8 -11
  451. package/src/components/Chip/Chip.contract.json +36 -42
  452. package/src/components/Chip/Chip.module.scss +25 -36
  453. package/src/components/Chip/index.tsx +5 -5
  454. package/src/components/CodeBlock/CodeBlock.contract.json +46 -76
  455. package/src/components/CodeBlock/CodeBlock.module.scss +129 -217
  456. package/src/components/CodeBlock/css-variables-theme.ts +102 -0
  457. package/src/components/CodeBlock/index.tsx +91 -35
  458. package/src/components/Collapsible/Collapsible.contract.json +21 -36
  459. package/src/components/Collapsible/Collapsible.module.scss +29 -63
  460. package/src/components/Collapsible/index.tsx +22 -26
  461. package/src/components/ColorPicker/ColorPicker.contract.json +29 -48
  462. package/src/components/ColorPicker/ColorPicker.module.scss +54 -33
  463. package/src/components/ColorPicker/index.tsx +7 -2
  464. package/src/components/Combobox/Combobox.contract.json +36 -37
  465. package/src/components/Combobox/Combobox.module.scss +61 -74
  466. package/src/components/Combobox/index.tsx +34 -6
  467. package/src/components/Command/Command.contract.json +21 -43
  468. package/src/components/Command/Command.module.scss +47 -77
  469. package/src/components/Command/index.tsx +58 -47
  470. package/src/components/ConversationList/ConversationList.contract.json +27 -32
  471. package/src/components/ConversationList/ConversationList.module.scss +20 -78
  472. package/src/components/ConversationList/index.tsx +55 -59
  473. package/src/components/DataTable/DataTable.icons.tsx +4 -21
  474. package/src/components/DataTable/DataTable.module.scss +81 -217
  475. package/src/components/DataTable/index.tsx +28 -32
  476. package/src/components/DatePicker/DatePicker.contract.json +27 -28
  477. package/src/components/DatePicker/DatePicker.module.scss +66 -38
  478. package/src/components/DatePicker/index.tsx +7 -3
  479. package/src/components/Dialog/Dialog.module.scss +45 -69
  480. package/src/components/Dialog/index.tsx +47 -37
  481. package/src/components/Drawer/Drawer.contract.json +22 -36
  482. package/src/components/Drawer/Drawer.module.scss +93 -99
  483. package/src/components/Drawer/index.tsx +1 -1
  484. package/src/components/Editor/Editor.contract.json +31 -48
  485. package/src/components/Editor/Editor.module.scss +137 -220
  486. package/src/components/Editor/index.tsx +240 -179
  487. package/src/components/EmptyState/EmptyState.contract.json +31 -43
  488. package/src/components/EmptyState/EmptyState.module.scss +45 -84
  489. package/src/components/EmptyState/index.tsx +48 -23
  490. package/src/components/Field/Field.contract.json +28 -45
  491. package/src/components/Field/Field.module.scss +9 -11
  492. package/src/components/Field/index.tsx +31 -1
  493. package/src/components/Fieldset/Fieldset.contract.json +21 -38
  494. package/src/components/Fieldset/Fieldset.module.scss +23 -8
  495. package/src/components/Form/Form.contract.json +27 -40
  496. package/src/components/Form/Form.module.scss +9 -4
  497. package/src/components/Form/index.tsx +22 -7
  498. package/src/components/Grid/Grid.contract.json +28 -64
  499. package/src/components/Grid/Grid.module.scss +159 -63
  500. package/src/components/Grid/index.tsx +114 -133
  501. package/src/components/Header/Header.contract.json +31 -67
  502. package/src/components/Header/Header.module.scss +56 -48
  503. package/src/components/Header/index.tsx +134 -121
  504. package/src/components/Icon/Icon.contract.json +22 -62
  505. package/src/components/Icon/Icon.module.scss +16 -0
  506. package/src/components/Icon/index.tsx +74 -86
  507. package/src/components/IconButton/IconButton.contract.json +34 -18
  508. package/src/components/IconButton/IconButton.module.scss +15 -26
  509. package/src/components/IconButton/index.tsx +2 -1
  510. package/src/components/Image/Image.contract.json +23 -56
  511. package/src/components/Input/Input.contract.json +26 -32
  512. package/src/components/Input/Input.module.scss +69 -56
  513. package/src/components/Input/index.tsx +1 -2
  514. package/src/components/Link/Link.contract.json +32 -52
  515. package/src/components/Link/Link.module.scss +29 -13
  516. package/src/components/Link/index.tsx +1 -1
  517. package/src/components/List/List.contract.json +23 -52
  518. package/src/components/List/List.module.scss +16 -21
  519. package/src/components/List/index.tsx +4 -10
  520. package/src/components/Listbox/Listbox.contract.json +21 -37
  521. package/src/components/Listbox/Listbox.module.scss +26 -54
  522. package/src/components/Loading/Loading.contract.json +37 -61
  523. package/src/components/Loading/Loading.module.scss +33 -40
  524. package/src/components/Loading/index.tsx +68 -97
  525. package/src/components/Main/Main.contract.json +17 -9
  526. package/src/components/Main/Main.module.scss +3 -5
  527. package/src/components/Markdown/Markdown.contract.json +22 -43
  528. package/src/components/Markdown/Markdown.module.scss +72 -182
  529. package/src/components/Markdown/index.tsx +50 -51
  530. package/src/components/Menu/Menu.contract.json +25 -41
  531. package/src/components/Menu/Menu.module.scss +63 -133
  532. package/src/components/Menu/index.tsx +57 -89
  533. package/src/components/Message/Message.contract.json +29 -52
  534. package/src/components/Message/Message.module.scss +60 -143
  535. package/src/components/Message/index.tsx +16 -6
  536. package/src/components/NavigationMenu/NavigationMenu.contract.json +36 -45
  537. package/src/components/NavigationMenu/NavigationMenu.module.scss +123 -71
  538. package/src/components/NavigationMenu/index.tsx +105 -81
  539. package/src/components/Pagination/Pagination.contract.json +22 -40
  540. package/src/components/Pagination/Pagination.module.scss +34 -27
  541. package/src/components/Pagination/index.tsx +7 -2
  542. package/src/components/Popover/Popover.contract.json +24 -46
  543. package/src/components/Popover/Popover.module.scss +43 -78
  544. package/src/components/Progress/Progress.contract.json +32 -28
  545. package/src/components/Progress/Progress.module.scss +64 -43
  546. package/src/components/Progress/geometry.ts +41 -0
  547. package/src/components/Progress/index.tsx +44 -30
  548. package/src/components/Prompt/Prompt.contract.json +31 -47
  549. package/src/components/Prompt/Prompt.module.scss +58 -87
  550. package/src/components/Prompt/index.tsx +6 -5
  551. package/src/components/RadioGroup/RadioGroup.contract.json +23 -24
  552. package/src/components/RadioGroup/RadioGroup.module.scss +63 -83
  553. package/src/components/RadioGroup/index.tsx +7 -9
  554. package/src/components/ScrollArea/ScrollArea.contract.json +23 -40
  555. package/src/components/ScrollArea/ScrollArea.module.scss +123 -97
  556. package/src/components/ScrollArea/index.tsx +85 -67
  557. package/src/components/ScrollArea/scroll-state.ts +87 -0
  558. package/src/components/Select/Select.module.scss +55 -43
  559. package/src/components/Select/index.tsx +6 -2
  560. package/src/components/Separator/Separator.contract.json +24 -48
  561. package/src/components/Separator/Separator.module.scss +29 -19
  562. package/src/components/Separator/index.tsx +55 -51
  563. package/src/components/Sidebar/Sidebar.contract.json +42 -62
  564. package/src/components/Sidebar/Sidebar.module.scss +117 -106
  565. package/src/components/Sidebar/index.tsx +169 -162
  566. package/src/components/Skeleton/Skeleton.contract.json +28 -54
  567. package/src/components/Skeleton/Skeleton.module.scss +51 -34
  568. package/src/components/Skeleton/index.tsx +65 -72
  569. package/src/components/Slider/Slider.contract.json +27 -39
  570. package/src/components/Slider/Slider.module.scss +33 -27
  571. package/src/components/Stack/Stack.contract.json +29 -56
  572. package/src/components/Stack/Stack.module.scss +110 -38
  573. package/src/components/Stack/index.tsx +157 -127
  574. package/src/components/{Toggle/Toggle.contract.json → Switch/Switch.contract.json} +34 -47
  575. package/src/components/Switch/Switch.module.scss +255 -0
  576. package/src/components/{Toggle → Switch}/index.tsx +5 -21
  577. package/src/components/Table/Table.contract.json +28 -46
  578. package/src/components/Table/Table.module.scss +50 -129
  579. package/src/components/Table/index.tsx +13 -6
  580. package/src/components/TableOfContents/TableOfContents.contract.json +34 -21
  581. package/src/components/TableOfContents/TableOfContents.module.scss +35 -182
  582. package/src/components/TableOfContents/index.tsx +26 -9
  583. package/src/components/Tabs/Tabs.contract.json +24 -45
  584. package/src/components/Tabs/Tabs.module.scss +28 -23
  585. package/src/components/Tabs/index.tsx +17 -5
  586. package/src/components/Text/Text.contract.json +30 -72
  587. package/src/components/Text/Text.module.scss +43 -7
  588. package/src/components/Text/index.tsx +136 -63
  589. package/src/components/Textarea/Textarea.contract.json +25 -43
  590. package/src/components/Textarea/Textarea.module.scss +58 -40
  591. package/src/components/Textarea/index.tsx +5 -12
  592. package/src/components/Theme/Theme.contract.json +32 -51
  593. package/src/components/Theme/context.ts +42 -0
  594. package/src/components/Theme/index.tsx +16 -310
  595. package/src/components/ThemeToggle/ThemeToggle.module.scss +89 -0
  596. package/src/components/ThemeToggle/index.tsx +180 -0
  597. package/src/components/ThinkingIndicator/ThinkingIndicator.contract.json +23 -40
  598. package/src/components/ThinkingIndicator/ThinkingIndicator.module.scss +24 -19
  599. package/src/components/ThinkingIndicator/index.tsx +44 -54
  600. package/src/components/Toast/Toast.contract.json +35 -61
  601. package/src/components/Toast/Toast.module.scss +62 -139
  602. package/src/components/Toggle/index.ts +7 -0
  603. package/src/components/ToggleGroup/ToggleGroup.contract.json +40 -68
  604. package/src/components/ToggleGroup/ToggleGroup.module.scss +166 -89
  605. package/src/components/ToggleGroup/index.tsx +5 -3
  606. package/src/components/Tooltip/Tooltip.contract.json +31 -52
  607. package/src/components/Tooltip/Tooltip.module.scss +23 -39
  608. package/src/components/Tooltip/index.tsx +19 -24
  609. package/src/components/VisuallyHidden/VisuallyHidden.contract.json +22 -44
  610. package/src/components/VisuallyHidden/VisuallyHidden.module.scss +3 -0
  611. package/src/components/VisuallyHidden/index.tsx +5 -5
  612. package/src/index.ts +4 -3
  613. package/src/measurements/MeasurementTargets.module.scss +229 -0
  614. package/src/measurements/generated.ts +324 -0
  615. package/src/measurements/index.ts +8 -0
  616. package/src/measurements/measurements.json +368 -0
  617. package/src/recipes/_action.scss +138 -0
  618. package/src/recipes/_boolean-range.scss +116 -0
  619. package/src/recipes/_feedback.scss +171 -0
  620. package/src/recipes/_field.scss +102 -0
  621. package/src/recipes/_layout.scss +74 -0
  622. package/src/recipes/_navigation.scss +110 -0
  623. package/src/recipes/_overlay.scss +191 -0
  624. package/src/recipes/_popup.scss +102 -0
  625. package/src/recipes/_prose.scss +182 -0
  626. package/src/recipes/_representation.scss +193 -0
  627. package/src/recipes/_segmented.scss +26 -0
  628. package/src/recipes/_surface.scss +13 -0
  629. package/src/recipes/_table-chrome.scss +119 -0
  630. package/src/recipes/_target.scss +31 -0
  631. package/src/recipes/_typography.scss +38 -0
  632. package/src/recipes/popup.ts +12 -0
  633. package/src/recipes/table-chrome.ts +30 -0
  634. package/src/scss.d.ts +1 -1
  635. package/src/styles/globals.scss +21 -20
  636. package/src/tokens/_component-properties.scss +2 -2
  637. package/src/tokens/_computed.scss +14 -25
  638. package/src/tokens/_density.scss +41 -132
  639. package/src/tokens/_derive.scss +112 -210
  640. package/src/tokens/_measurements.catalog.generated.css +96 -0
  641. package/src/tokens/_measurements.generated.scss +617 -0
  642. package/src/tokens/_mixins.scss +7 -284
  643. package/src/tokens/_palettes.scss +39 -167
  644. package/src/tokens/_property-registrations.scss +96 -92
  645. package/src/tokens/_radius.scss +16 -70
  646. package/src/tokens/_seeds.scss +24 -23
  647. package/src/tokens/_variables.scss +338 -178
  648. package/src/utils/a11y.tsx +69 -69
  649. package/src/utils/aria.ts +3 -3
  650. package/src/utils/canonical-stamp.ts +2 -12
  651. package/src/utils/css-warning.ts +7 -7
  652. package/src/utils/env.ts +25 -0
  653. package/src/utils/keyboard-shortcuts.ts +131 -126
  654. package/src/utils/layout-spacing.ts +31 -0
  655. package/src/utils/seed-derivation.ts +144 -178
  656. package/src/utils/theme-presets.ts +58 -30
  657. package/dist/components/Theme/ThemeToggle.module.scss.js +0 -23
  658. package/dist/components/Toggle/Toggle.module.scss.cjs +0 -44
  659. package/dist/components/Toggle/Toggle.module.scss.js +0 -44
  660. package/src/components/Button/Button.contract.json +0 -218
  661. package/src/components/Card/Card.contract.json +0 -175
  662. package/src/components/DataTable/DataTable.contract.json +0 -302
  663. package/src/components/Dialog/Dialog.contract.json +0 -159
  664. package/src/components/Select/Select.contract.json +0 -259
  665. package/src/components/Switch/index.ts +0 -3
  666. package/src/components/Theme/ThemeToggle.module.scss +0 -91
  667. package/src/components/Toggle/Toggle.module.scss +0 -244
@@ -1,18 +1,23 @@
1
1
  @use "../../tokens/variables" as *;
2
2
  @use "../../tokens/mixins" as *;
3
-
4
- $fui-checkbox-radius: 0.25rem !default;
3
+ @use "../../recipes/boolean-range" as boolean;
4
+ @use "../../recipes/field" as field;
5
+ @use "../../recipes/target" as target;
5
6
 
6
7
  // Wrapper for checkbox + label
7
8
  .wrapper {
8
- display: inline-flex;
9
- align-items: center;
10
- gap: var(--fui-space-2, $fui-space-2);
11
9
  cursor: pointer;
12
- font-family: var(--fui-font-sans, $fui-font-sans);
13
10
 
14
- &[data-has-description] {
15
- align-items: flex-start;
11
+ &[data-size="sm"] {
12
+ @include boolean.row("sm");
13
+ }
14
+
15
+ &[data-size="md"] {
16
+ @include boolean.row("md");
17
+ }
18
+
19
+ &[data-size="lg"] {
20
+ @include boolean.row("lg");
16
21
  }
17
22
 
18
23
  &[data-disabled] {
@@ -24,19 +29,18 @@ $fui-checkbox-radius: 0.25rem !default;
24
29
  // The checkbox box itself
25
30
  .checkbox {
26
31
  @include interactive-base;
32
+ @include boolean.mark("md");
33
+ @include target.hit-area("micro");
27
34
 
28
- position: relative;
29
35
  display: inline-flex;
30
36
  align-items: center;
31
37
  justify-content: center;
32
38
  flex-shrink: 0;
33
39
  box-sizing: border-box;
34
- width: var(--fui-icon-sm, $fui-icon-sm);
35
- height: var(--fui-icon-sm, $fui-icon-sm);
36
- margin-top: 0;
40
+ margin-block-start: var(--_fui-boolean-mark-offset, 0);
37
41
  background-color: var(--fui-field-bg, $fui-bg-elevated);
38
- border: 1px solid var(--fui-field-border, $fui-border-strong);
39
- border-radius: var(--fui-checkbox-radius, $fui-checkbox-radius);
42
+ border: var(--fui-stroke-hairline, 1px) solid var(--fui-field-border, $fui-border-strong);
43
+ border-radius: var(--fui-checkbox-radius, var(--fui-radius-sm, #{$fui-radius-sm}));
40
44
  cursor: inherit;
41
45
 
42
46
  &:hover:not([data-disabled]) {
@@ -45,21 +49,15 @@ $fui-checkbox-radius: 0.25rem !default;
45
49
 
46
50
  &[data-checked],
47
51
  &[data-indeterminate] {
48
- background-color: var(--fui-button-primary-base, $fui-color-accent);
49
- border-color: var(
50
- --fui-button-primary-border,
51
- var(--fui-button-primary-base, #{$fui-color-accent})
52
- );
52
+ background-color: var(--fui-control-checked-bg, $fui-color-accent);
53
+ border-color: var(--fui-control-checked-border, $fui-color-accent);
53
54
  box-shadow: inset 0 1px 0 color-mix(in srgb, white 24%, transparent);
54
55
  }
55
56
 
56
57
  &[data-checked]:hover:not([data-disabled]),
57
58
  &[data-indeterminate]:hover:not([data-disabled]) {
58
- background-color: var(--fui-button-primary-hover, $fui-color-accent);
59
- border-color: var(
60
- --fui-button-primary-border-hover,
61
- var(--fui-button-primary-hover, #{$fui-color-accent})
62
- );
59
+ background-color: var(--fui-control-checked-bg-hover, $fui-color-accent-hover);
60
+ border-color: var(--fui-control-checked-border-hover, $fui-color-accent-hover);
63
61
  }
64
62
 
65
63
  &[data-invalid] {
@@ -73,23 +71,11 @@ $fui-checkbox-radius: 0.25rem !default;
73
71
  box-shadow: inset 0 0 0 1px
74
72
  color-mix(in srgb, var(--fui-color-danger-text, #{$fui-color-danger-text}) 35%, transparent);
75
73
  }
76
-
77
- &::before {
78
- content: "";
79
- position: absolute;
80
- top: 50%;
81
- left: 50%;
82
- width: var(--fui-target-size-min, $fui-target-size-min);
83
- height: var(--fui-target-size-min, $fui-target-size-min);
84
- transform: translate(-50%, -50%);
85
- }
86
74
  }
87
75
 
88
76
  // Size variants
89
77
  .sm {
90
- width: var(--fui-icon-xs, $fui-icon-xs);
91
- height: var(--fui-icon-xs, $fui-icon-xs);
92
- border-radius: var(--fui-checkbox-radius, $fui-checkbox-radius);
78
+ @include boolean.mark("sm");
93
79
  }
94
80
 
95
81
  .md {
@@ -97,8 +83,8 @@ $fui-checkbox-radius: 0.25rem !default;
97
83
  }
98
84
 
99
85
  .lg {
100
- width: 1.25rem;
101
- height: 1.25rem;
86
+ @include boolean.mark("lg");
87
+ @include target.hit-area("compact");
102
88
  }
103
89
 
104
90
  // Indicator (checkmark or dash)
@@ -106,24 +92,40 @@ $fui-checkbox-radius: 0.25rem !default;
106
92
  display: flex;
107
93
  align-items: center;
108
94
  justify-content: center;
109
- color: var(--fui-button-primary-color, #fff);
95
+ color: var(--fui-control-checked-color, $fui-color-on-accent);
110
96
 
111
97
  svg {
112
- width: 0.75rem;
113
- height: 0.75rem;
98
+ width: var(--fui-icon-xs, $fui-icon-xs);
99
+ height: var(--fui-icon-xs, $fui-icon-xs);
114
100
  }
115
101
 
116
- // Animation
102
+ // Animation: the mark draws itself in (stroke-dashoffset over the
103
+ // pathLength-normalized glyphs) instead of popping. Opacity keeps the
104
+ // un-draw exit from lingering.
117
105
  opacity: 0;
118
- transform: scale(0.8);
119
- transition:
120
- opacity var(--fui-transition-fast, $fui-transition-fast),
121
- transform var(--fui-transition-fast, $fui-transition-fast);
106
+ transition: opacity var(--fui-transition-fast, $fui-transition-fast);
107
+
108
+ svg :is(polyline, line) {
109
+ stroke-dasharray: 24;
110
+ stroke-dashoffset: 24;
111
+ transition: stroke-dashoffset var(--fui-transition-normal, $fui-transition-normal);
112
+ }
122
113
 
123
114
  [data-checked] > &,
124
115
  [data-indeterminate] > & {
125
116
  opacity: 1;
126
- transform: scale(1);
117
+
118
+ svg :is(polyline, line) {
119
+ stroke-dashoffset: 0;
120
+ }
121
+ }
122
+
123
+ @media (prefers-reduced-motion: reduce) {
124
+ transition: none;
125
+
126
+ svg :is(polyline, line) {
127
+ transition: none;
128
+ }
127
129
  }
128
130
 
129
131
  [data-invalid][data-checked] > &,
@@ -134,42 +136,28 @@ $fui-checkbox-radius: 0.25rem !default;
134
136
 
135
137
  // Size variant indicators
136
138
  .sm .indicator svg {
137
- width: 0.625rem;
138
- height: 0.625rem;
139
+ width: var(--fui-icon-xs, $fui-icon-xs);
140
+ height: var(--fui-icon-xs, $fui-icon-xs);
139
141
  }
140
142
 
141
143
  .lg .indicator svg {
142
- width: 0.875rem;
143
- height: 0.875rem;
144
+ width: var(--fui-icon-md, $fui-icon-md);
145
+ height: var(--fui-icon-md, $fui-icon-md);
144
146
  }
145
147
 
146
148
  // Label content
147
149
  .content {
148
- display: flex;
149
- flex-direction: column;
150
- gap: var(--fui-space-0-5, $fui-space-0-5);
150
+ min-inline-size: 0;
151
151
  }
152
152
 
153
153
  .label {
154
- font-size: var(--fui-font-size-sm, $fui-font-size-sm);
155
- font-weight: var(--fui-font-weight-medium, $fui-font-weight-medium);
156
154
  color: var(--fui-text-primary, $fui-text-primary);
157
- line-height: var(--fui-line-height-tight, $fui-line-height-tight);
158
155
  user-select: none;
159
156
  }
160
157
 
161
- .labelSm {
162
- font-size: var(--fui-font-size-xs, $fui-font-size-xs);
163
- }
164
-
165
- .labelLg {
166
- font-size: var(--fui-font-size-base, $fui-font-size-base);
167
- }
168
-
169
158
  .helper {
170
- font-size: var(--fui-font-size-xs, $fui-font-size-xs);
171
- color: var(--fui-text-secondary, $fui-text-secondary);
172
- line-height: var(--fui-line-height-normal, $fui-line-height-normal);
159
+ display: block;
160
+ @include field.helper;
173
161
  }
174
162
 
175
163
  // ============================================
@@ -178,18 +166,9 @@ $fui-checkbox-radius: 0.25rem !default;
178
166
  // styling reacts to the same control state the rest of the component uses.
179
167
  // ============================================
180
168
  .wrapperCard {
181
- display: flex;
182
- align-items: center;
183
- gap: var(--fui-space-3, $fui-space-3);
184
169
  width: 100%;
185
- height: var(
186
- --fui-input-height,
187
- $fui-input-height
188
- ); // matches Input size="md" so checkbox cards align with form fields
189
- box-sizing: border-box;
190
- padding: 0 var(--fui-space-3, $fui-space-3);
191
170
  border-radius: var(--fui-radius-md, $fui-radius-md);
192
- border: 1px solid var(--fui-border-default, $fui-border-default);
171
+ border: var(--fui-stroke-hairline, 1px) solid var(--fui-border-default, $fui-border-default);
193
172
  background: transparent;
194
173
  transition:
195
174
  background var(--fui-transition-fast, $fui-transition-fast),
@@ -203,27 +182,35 @@ $fui-checkbox-radius: 0.25rem !default;
203
182
 
204
183
  &:focus-within:not([data-disabled]) {
205
184
  @include focus-ring;
206
- border-color: var(--fui-button-primary-base, $fui-color-accent);
185
+ border-color: var(--fui-control-checked-border, $fui-color-accent);
207
186
  }
208
187
 
209
188
  &:has([data-checked]),
210
189
  &:has([data-indeterminate]) {
211
190
  background: color-mix(
212
191
  in srgb,
213
- var(--fui-button-primary-base, #{$fui-color-accent}) 13%,
192
+ var(--fui-control-checked-bg, #{$fui-color-accent}) 13%,
214
193
  transparent
215
194
  );
216
195
  border-color: color-mix(
217
196
  in srgb,
218
- var(--fui-button-primary-base, #{$fui-color-accent}) 62%,
197
+ var(--fui-control-checked-border, #{$fui-color-accent}) 62%,
219
198
  transparent
220
199
  );
221
200
  box-shadow: 0 0 0 1px
222
- color-mix(in srgb, var(--fui-button-primary-base, #{$fui-color-accent}) 28%, transparent);
201
+ color-mix(in srgb, var(--fui-control-checked-border, #{$fui-color-accent}) 28%, transparent);
202
+ }
203
+
204
+ &[data-size="sm"] {
205
+ @include boolean.card("sm");
206
+ }
207
+
208
+ &[data-size="md"] {
209
+ @include boolean.card("md");
223
210
  }
224
211
 
225
- .label {
226
- font-size: var(--fui-font-size-sm, $fui-font-size-sm);
212
+ &[data-size="lg"] {
213
+ @include boolean.card("lg");
227
214
  }
228
215
  }
229
216
 
@@ -233,12 +220,13 @@ $fui-checkbox-radius: 0.25rem !default;
233
220
 
234
221
  @media (prefers-contrast: more) {
235
222
  .checkbox {
236
- border-width: 2px;
237
223
  border-color: var(--fui-text-primary, $fui-text-primary);
224
+ outline: var(--fui-stroke-hairline, 1px) solid var(--fui-text-primary, $fui-text-primary);
225
+ outline-offset: calc(-1 * var(--fui-stroke-default, 2px));
238
226
 
239
227
  &[data-checked],
240
228
  &[data-indeterminate] {
241
- border-color: var(--fui-button-primary-base, $fui-color-accent);
229
+ border-color: var(--fui-control-checked-border, $fui-color-accent);
242
230
  }
243
231
 
244
232
  &[data-invalid] {
@@ -93,7 +93,9 @@ function CheckIcon() {
93
93
  strokeLinejoin="round"
94
94
  aria-hidden="true"
95
95
  >
96
- <polyline points="20 6 9 17 4 12" />
96
+ {/* Point order = draw order: the mark draws short arm first, then the
97
+ long stroke. pathLength normalizes the dash budget for the CSS draw. */}
98
+ <polyline points="4 12 9 17 20 6" pathLength={24} />
97
99
  </svg>
98
100
  );
99
101
  }
@@ -110,7 +112,7 @@ function MinusIcon() {
110
112
  strokeLinejoin="round"
111
113
  aria-hidden="true"
112
114
  >
113
- <line x1="5" y1="12" x2="19" y2="12" />
115
+ <line x1="5" y1="12" x2="19" y2="12" pathLength={24} />
114
116
  </svg>
115
117
  );
116
118
  }
@@ -167,14 +169,6 @@ const CheckboxRoot = React.forwardRef<HTMLButtonElement, CheckboxProps>(function
167
169
  .filter(Boolean)
168
170
  .join(" ");
169
171
 
170
- const labelClasses = [
171
- styles.label,
172
- size === "sm" && styles.labelSm,
173
- size === "lg" && styles.labelLg,
174
- ]
175
- .filter(Boolean)
176
- .join(" ");
177
-
178
172
  const wrapperClasses = [styles.wrapper, variant === "card" && styles.wrapperCard, className]
179
173
  .filter(Boolean)
180
174
  .join(" ");
@@ -204,6 +198,7 @@ const CheckboxRoot = React.forwardRef<HTMLButtonElement, CheckboxProps>(function
204
198
  aria-label={ariaLabel}
205
199
  aria-labelledby={ariaLabelledBy}
206
200
  aria-describedby={ariaDescribedBy}
201
+ data-size={size}
207
202
  className={[checkboxClasses, className].filter(Boolean).join(" ")}
208
203
  >
209
204
  <BaseCheckbox.Indicator className={styles.indicator} keepMounted>
@@ -219,6 +214,7 @@ const CheckboxRoot = React.forwardRef<HTMLButtonElement, CheckboxProps>(function
219
214
  className={wrapperClasses}
220
215
  data-disabled={disabled || undefined}
221
216
  data-has-description={resolvedHelperText ? true : undefined}
217
+ data-size={size}
222
218
  >
223
219
  <BaseCheckbox.Root
224
220
  ref={ref}
@@ -239,6 +235,7 @@ const CheckboxRoot = React.forwardRef<HTMLButtonElement, CheckboxProps>(function
239
235
  aria-label={ariaLabel}
240
236
  aria-labelledby={mergeAriaIds(ariaLabelledBy, labelId)}
241
237
  aria-describedby={mergeAriaIds(ariaDescribedBy, descriptionId)}
238
+ data-size={size}
242
239
  className={checkboxClasses}
243
240
  >
244
241
  <BaseCheckbox.Indicator className={styles.indicator} keepMounted>
@@ -246,7 +243,7 @@ const CheckboxRoot = React.forwardRef<HTMLButtonElement, CheckboxProps>(function
246
243
  </BaseCheckbox.Indicator>
247
244
  </BaseCheckbox.Root>
248
245
  <div className={[styles.content, contentClassName].filter(Boolean).join(" ")}>
249
- <span id={labelId} className={labelClasses}>
246
+ <span id={labelId} className={styles.label}>
250
247
  {label}
251
248
  </span>
252
249
  {resolvedHelperText && (
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "$schema": "https://usefragments.com/schemas/contract.v1.json",
3
3
  "name": "Chip",
4
- "description": "Interactive pill-shaped element for filtering, selecting, and tagging. Supports single and multi-select via Chip.Group.",
5
- "category": "forms",
4
+ "description": "Pill control for filtering, multi-select, and removable tags.",
5
+ "category": "inputs",
6
6
  "tags": ["chip", "tag", "filter", "selection", "multi-select", "action"],
7
7
  "status": "stable",
8
8
  "sourcePath": "src/components/Chip/index.tsx",
@@ -10,7 +10,7 @@
10
10
  "propsSummary": [
11
11
  "children: node (required)",
12
12
  "variant: filled|outlined|outline|soft (default: filled)",
13
- "size: xs|sm|md|lg (default: md)",
13
+ "size: xs|sm|md|lg (default: xs)",
14
14
  "selected: boolean (default: false)",
15
15
  "icon: node",
16
16
  "avatar: node",
@@ -35,7 +35,7 @@
35
35
  "size": {
36
36
  "type": "enum",
37
37
  "description": "Chip size",
38
- "default": "md",
38
+ "default": "xs",
39
39
  "required": false,
40
40
  "values": ["xs", "sm", "md", "lg"]
41
41
  },
@@ -79,76 +79,70 @@
79
79
  },
80
80
  "usage": {
81
81
  "when": [
82
- "Filtering content by categories or tags",
83
- "Multi-select scenarios like choosing interests or skills",
84
- "Toggling options in a compact pill-shaped control",
85
- "Displaying removable user-applied filters"
82
+ "Filtering a list by tag or category",
83
+ "Multi-select from a compact set",
84
+ "Showing filters the user can dismiss"
86
85
  ],
87
86
  "whenNot": [
88
- "Display-only status labels (use Badge)",
89
- "Navigation between views (use Tabs)",
90
- "Binary on/off state (use Switch)",
91
- "Primary call-to-action (use Button)"
87
+ "Read-only status use Badge",
88
+ "Switching views use Tabs",
89
+ "On/off state use Switch",
90
+ "A main call to action use Button"
92
91
  ],
93
92
  "guidelines": [
94
- "Keep chip labels short (1-3 words)",
95
- "Use Chip.Group for multi-select sets with shared state",
96
- "Use onRemove only when users should be able to dismiss the chip",
97
- "Pair avatar chips with user-related selections (assignees, reviewers)",
98
- "Provide an explicit value on Chip when using non-string/custom JSX children inside Chip.Group"
93
+ "One to three words per chip",
94
+ "Chip.Group when chips share selection state",
95
+ "Keep xs for filters and tags; size up only to match a taller control track",
96
+ "onRemove only when the chip is genuinely dismissible",
97
+ "Pass an explicit value when children are custom JSX"
99
98
  ],
100
99
  "accessibility": [
101
- "Chips are buttons and use aria-pressed for selection state",
102
- "Chip.Group is a grouping wrapper; add role/aria-label when needed for assistive context",
103
- "Remove buttons include descriptive aria-label with chip text",
104
- "Disabled chips are properly excluded from interaction"
100
+ "Chips are buttons; selection is reported via aria-pressed",
101
+ "Add role and aria-label to Chip.Group when the set needs a name",
102
+ "Remove buttons carry the chip text in their aria-label",
103
+ "Disabled chips are skipped by keyboard and pointer"
105
104
  ]
106
105
  },
107
106
  "examples": [
108
107
  {
109
- "name": "Default",
110
- "description": "Basic filled chip",
111
- "code": "<Chip>Default</Chip>"
108
+ "name": "Variants",
109
+ "description": "Tinted, hairline, and accent-soft chrome.",
110
+ "code": "import { Stack } from '@/components/Stack';\n\n<Stack direction=\"row\" gap=\"sm\" wrap>\n <Chip variant=\"filled\">Filled</Chip>\n <Chip variant=\"outlined\">Outlined</Chip>\n <Chip variant=\"soft\">Soft</Chip>\n</Stack>"
112
111
  },
113
112
  {
114
- "name": "Outline",
115
- "description": "Chip with border using the \"outline\" alias for \"outlined\"",
116
- "code": "<div style={{ display: 'flex', gap: '8px' }}>\n <Chip variant=\"outline\">Outline</Chip>\n <Chip variant=\"outline\" selected>Outline Selected</Chip>\n</div>"
113
+ "name": "Sizes",
114
+ "description": "xs for filter rows; larger sizes match taller field tracks.",
115
+ "code": "import { Stack } from '@/components/Stack';\n\n<Stack direction=\"row\" gap=\"sm\" align=\"center\" wrap>\n <Chip variant=\"outlined\" size=\"xs\">Extra small</Chip>\n <Chip variant=\"outlined\" size=\"sm\">Small</Chip>\n <Chip variant=\"outlined\" size=\"md\">Medium</Chip>\n <Chip variant=\"outlined\" size=\"lg\">Large</Chip>\n</Stack>"
117
116
  },
118
117
  {
119
118
  "name": "Selected",
120
- "description": "Chip in selected state across variants",
121
- "code": "<Stack direction=\"row\" gap=\"sm\" wrap>\n <Chip selected>Filled</Chip>\n <Chip variant=\"outlined\" selected>Outlined</Chip>\n <Chip variant=\"soft\" selected>Soft</Chip>\n</Stack>"
119
+ "description": "All three variants share one selection treatment.",
120
+ "code": "import { Stack } from '@/components/Stack';\n\n<Stack direction=\"row\" gap=\"sm\" wrap>\n <Chip selected>Filled</Chip>\n <Chip variant=\"outlined\" selected>Outlined</Chip>\n <Chip variant=\"soft\" selected>Soft</Chip>\n</Stack>"
122
121
  },
123
122
  {
124
123
  "name": "With Avatar",
125
- "description": "Chip with a leading avatar image",
124
+ "description": "Leading face, for people-shaped selections.",
126
125
  "code": "<Chip avatar={<img src=\"https://i.pravatar.cc/32?u=chip\" alt=\"\" />}>\n Jane Doe\n</Chip>"
127
126
  },
128
127
  {
129
128
  "name": "With Remove",
130
- "description": "Removable chip with dismiss button",
131
- "code": "<div style={{ display: 'flex', gap: '8px' }}>\n <Chip onRemove={() => {}}>React</Chip>\n <Chip onRemove={() => {}}>TypeScript</Chip>\n <Chip onRemove={() => {}}>SCSS</Chip>\n</div>"
132
- },
133
- {
134
- "name": "Selected Removable",
135
- "description": "Selected removable chips retain the shared selection treatment across variants",
136
- "code": "<Stack direction=\"row\" gap=\"sm\" wrap>\n <Chip selected onRemove={() => {}}>Filled</Chip>\n <Chip variant=\"outlined\" selected onRemove={() => {}}>Outlined</Chip>\n <Chip variant=\"soft\" selected onRemove={() => {}}>Soft</Chip>\n</Stack>"
129
+ "description": "Trailing dismiss button clears the tag.",
130
+ "code": "import { Stack } from '@/components/Stack';\n\n<Stack direction=\"row\" gap=\"sm\" wrap>\n <Chip variant=\"outlined\" onRemove={() => {}}>React</Chip>\n <Chip variant=\"outlined\" selected onRemove={() => {}}>TypeScript</Chip>\n <Chip variant=\"soft\" onRemove={() => {}}>SCSS</Chip>\n</Stack>"
137
131
  },
138
132
  {
139
133
  "name": "Chip Group",
140
- "description": "Multi-select chip set with shared state",
134
+ "description": "Selection state is held by the group, not each chip.",
141
135
  "code": "<Chip.Group defaultValue={['react']}>\n <Chip value=\"react\">React</Chip>\n <Chip value=\"vue\">Vue</Chip>\n <Chip value=\"angular\">Angular</Chip>\n <Chip value=\"svelte\">Svelte</Chip>\n</Chip.Group>"
142
136
  },
143
137
  {
144
138
  "name": "Chip Group with Custom Labels",
145
- "description": "Use explicit values when chip labels are custom JSX",
139
+ "description": "Custom JSX children need an explicit value.",
146
140
  "code": "<Chip.Group aria-label=\"Assignees\">\n <Chip value=\"jane\">\n <span>Jane Doe</span>\n </Chip>\n <Chip value=\"sam\">\n <span>Sam Lee</span>\n </Chip>\n</Chip.Group>"
147
141
  },
148
142
  {
149
143
  "name": "Disabled",
150
- "description": "Chip in disabled state",
151
- "code": "<div style={{ display: 'flex', gap: '8px' }}>\n <Chip disabled>Disabled</Chip>\n <Chip disabled selected>Disabled Selected</Chip>\n</div>"
144
+ "description": "Dimmed and unreachable, selected or not.",
145
+ "code": "import { Stack } from '@/components/Stack';\n\n<Stack direction=\"row\" gap=\"sm\" wrap>\n <Chip variant=\"outlined\" disabled>Disabled</Chip>\n <Chip variant=\"outlined\" disabled selected>Disabled selected</Chip>\n</Stack>"
152
146
  }
153
147
  ],
154
148
  "relations": [
@@ -172,7 +166,7 @@
172
166
  "propsSummary": [
173
167
  "children: ReactNode - chip label (required)",
174
168
  "variant: filled|outlined|outline|soft - visual style",
175
- "size: sm|md - chip size",
169
+ "size: xs|sm|md|lg - chip size (xs by default)",
176
170
  "selected: boolean - selection state",
177
171
  "icon/avatar: ReactNode - leading visual",
178
172
  "onRemove: () => void - makes chip removable",
@@ -1,5 +1,7 @@
1
1
  @use "../../tokens/variables" as *;
2
2
  @use "../../tokens/mixins" as *;
3
+ @use "../../recipes/action";
4
+ @use "../../recipes/layout";
3
5
 
4
6
  @mixin selected-surface {
5
7
  background-color: var(--fui-field-selection-bg, $fui-bg-hover);
@@ -11,23 +13,18 @@
11
13
 
12
14
  &:active:not(:disabled) {
13
15
  background-color: var(--fui-field-selection-bg-hover, $fui-bg-hover);
14
- box-shadow: inset 0 0 0 1px var(--fui-field-selection-border, $fui-border-strong);
16
+ box-shadow: inset 0 0 0 var(--fui-stroke-hairline, 1px)
17
+ var(--fui-field-selection-border, $fui-border-strong);
15
18
  }
16
19
  }
17
20
 
18
21
  .chip {
19
22
  @include button-reset;
20
23
  @include interactive-base;
24
+ @include action.base;
21
25
 
22
- display: inline-flex;
23
- align-items: center;
24
- gap: var(--fui-space-1, $fui-space-1);
25
26
  border-radius: var(--fui-radius-full, $fui-radius-full);
26
- font-family: var(--fui-font-sans, $fui-font-sans);
27
- font-weight: var(--fui-font-weight-medium, $fui-font-weight-medium);
28
- line-height: 1;
29
27
  white-space: nowrap;
30
- user-select: none;
31
28
  }
32
29
 
33
30
  .withRemove {
@@ -37,28 +34,19 @@
37
34
 
38
35
  // Sizes
39
36
  .xs {
40
- min-height: var(--fui-target-size-min, $fui-target-size-min);
41
- padding: 0 var(--fui-space-1, $fui-space-1);
42
- font-size: var(--fui-font-size-2xs, $fui-font-size-2xs);
43
- gap: var(--fui-space-0-5, $fui-space-0-5);
37
+ @include action.size("micro");
44
38
  }
45
39
 
46
40
  .sm {
47
- min-height: var(--fui-button-height-sm, $fui-button-height-sm);
48
- padding: 0 var(--fui-space-2, $fui-space-2);
49
- font-size: var(--fui-font-size-xs, $fui-font-size-xs);
41
+ @include action.size("sm");
50
42
  }
51
43
 
52
44
  .md {
53
- min-height: var(--fui-button-height-md, $fui-button-height-md);
54
- padding: 0 var(--fui-space-3, $fui-space-3);
55
- font-size: var(--fui-font-size-sm, $fui-font-size-sm);
45
+ @include action.size("md");
56
46
  }
57
47
 
58
48
  .lg {
59
- min-height: var(--fui-button-height-lg, $fui-button-height-lg);
60
- padding: 0 var(--fui-space-4, $fui-space-4);
61
- font-size: var(--fui-font-size-base, $fui-font-size-base);
49
+ @include action.size("lg");
62
50
  }
63
51
 
64
52
  // Variants
@@ -82,7 +70,7 @@
82
70
  .outlined {
83
71
  background-color: transparent;
84
72
  color: var(--fui-text-primary, $fui-text-primary);
85
- border: 1px solid var(--fui-border, $fui-border);
73
+ border: var(--fui-stroke-hairline, 1px) solid var(--fui-border, $fui-border);
86
74
 
87
75
  &:hover:not(:disabled) {
88
76
  background-color: var(--fui-bg-hover, $fui-bg-hover);
@@ -120,7 +108,6 @@
120
108
  .avatar {
121
109
  display: flex;
122
110
  align-items: center;
123
- margin-left: calc(-1 * var(--fui-space-1, $fui-space-1));
124
111
 
125
112
  img {
126
113
  width: var(--fui-icon-md, $fui-icon-md);
@@ -159,29 +146,31 @@
159
146
  .remove {
160
147
  @include button-reset;
161
148
  @include interactive-base;
149
+ @include action.base;
162
150
 
163
- display: flex;
164
- align-items: center;
165
- justify-content: center;
166
- padding: 0 var(--fui-space-1, $fui-space-1);
167
- font-size: var(--fui-font-size-sm, $fui-font-size-sm);
168
151
  color: var(--fui-text-secondary, $fui-text-secondary);
169
- line-height: 1;
170
152
  border-top-right-radius: var(--fui-radius-full, $fui-radius-full);
171
153
  border-bottom-right-radius: var(--fui-radius-full, $fui-radius-full);
172
154
  border-top-left-radius: 0;
173
155
  border-bottom-left-radius: 0;
174
156
  background-color: transparent;
175
- border: 1px solid transparent;
157
+ border: var(--fui-stroke-hairline, 1px) solid transparent;
176
158
  border-left-color: var(--fui-border, $fui-border);
177
159
 
178
- .xs & {
179
- font-size: var(--fui-font-size-2xs, $fui-font-size-2xs);
180
- padding: 0 var(--fui-space-0-5, $fui-space-0-5);
160
+ .removableChip[data-size="xs"] & {
161
+ @include action.icon-only("micro");
181
162
  }
182
163
 
183
- .sm & {
184
- font-size: var(--fui-font-size-xs, $fui-font-size-xs);
164
+ .removableChip[data-size="sm"] & {
165
+ @include action.icon-only("sm");
166
+ }
167
+
168
+ .removableChip[data-size="md"] & {
169
+ @include action.icon-only("md");
170
+ }
171
+
172
+ .removableChip[data-size="lg"] & {
173
+ @include action.icon-only("lg");
185
174
  }
186
175
 
187
176
  &:hover:not(:disabled) {
@@ -237,5 +226,5 @@
237
226
  .group {
238
227
  display: flex;
239
228
  flex-wrap: wrap;
240
- gap: var(--fui-space-2, $fui-space-2);
229
+ gap: layout.gap("sm");
241
230
  }