@fragments-sdk/ui 0.12.0 → 0.14.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 (675) hide show
  1. package/dist/assets/ui.css +1642 -1679
  2. package/dist/chart.cjs.map +1 -1
  3. package/dist/chart.js.map +1 -1
  4. package/dist/codeblock.cjs +26 -18
  5. package/dist/codeblock.cjs.map +1 -1
  6. package/dist/codeblock.js +26 -18
  7. package/dist/codeblock.js.map +1 -1
  8. package/dist/components/Accordion/Accordion.module.scss.cjs +8 -8
  9. package/dist/components/Accordion/Accordion.module.scss.js +8 -8
  10. package/dist/components/Accordion/index.cjs +17 -6
  11. package/dist/components/Accordion/index.cjs.map +1 -1
  12. package/dist/components/Accordion/index.d.ts +25 -12
  13. package/dist/components/Accordion/index.d.ts.map +1 -1
  14. package/dist/components/Accordion/index.js +17 -6
  15. package/dist/components/Accordion/index.js.map +1 -1
  16. package/dist/components/Alert/Alert.module.scss.cjs +12 -12
  17. package/dist/components/Alert/Alert.module.scss.js +12 -12
  18. package/dist/components/Alert/index.cjs +37 -15
  19. package/dist/components/Alert/index.cjs.map +1 -1
  20. package/dist/components/Alert/index.d.ts +15 -22
  21. package/dist/components/Alert/index.d.ts.map +1 -1
  22. package/dist/components/Alert/index.js +37 -15
  23. package/dist/components/Alert/index.js.map +1 -1
  24. package/dist/components/AppShell/AppShell.module.scss.cjs +14 -14
  25. package/dist/components/AppShell/AppShell.module.scss.js +14 -14
  26. package/dist/components/AppShell/index.cjs +3 -1
  27. package/dist/components/AppShell/index.cjs.map +1 -1
  28. package/dist/components/AppShell/index.d.ts.map +1 -1
  29. package/dist/components/AppShell/index.js +3 -1
  30. package/dist/components/AppShell/index.js.map +1 -1
  31. package/dist/components/Avatar/index.cjs +9 -1
  32. package/dist/components/Avatar/index.cjs.map +1 -1
  33. package/dist/components/Avatar/index.d.ts +2 -0
  34. package/dist/components/Avatar/index.d.ts.map +1 -1
  35. package/dist/components/Avatar/index.js +9 -1
  36. package/dist/components/Avatar/index.js.map +1 -1
  37. package/dist/components/Badge/index.cjs +4 -2
  38. package/dist/components/Badge/index.cjs.map +1 -1
  39. package/dist/components/Badge/index.d.ts +3 -0
  40. package/dist/components/Badge/index.d.ts.map +1 -1
  41. package/dist/components/Badge/index.js +4 -2
  42. package/dist/components/Badge/index.js.map +1 -1
  43. package/dist/components/BentoGrid/BentoGrid.module.scss.cjs +11 -11
  44. package/dist/components/BentoGrid/BentoGrid.module.scss.js +11 -11
  45. package/dist/components/BentoGrid/index.cjs +8 -5
  46. package/dist/components/BentoGrid/index.cjs.map +1 -1
  47. package/dist/components/BentoGrid/index.d.ts +2 -8
  48. package/dist/components/BentoGrid/index.d.ts.map +1 -1
  49. package/dist/components/BentoGrid/index.js +8 -5
  50. package/dist/components/BentoGrid/index.js.map +1 -1
  51. package/dist/components/Box/index.cjs +12 -2
  52. package/dist/components/Box/index.cjs.map +1 -1
  53. package/dist/components/Box/index.d.ts +1 -1
  54. package/dist/components/Box/index.d.ts.map +1 -1
  55. package/dist/components/Box/index.js +12 -2
  56. package/dist/components/Box/index.js.map +1 -1
  57. package/dist/components/Breadcrumbs/index.cjs +3 -1
  58. package/dist/components/Breadcrumbs/index.cjs.map +1 -1
  59. package/dist/components/Breadcrumbs/index.d.ts +3 -1
  60. package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
  61. package/dist/components/Breadcrumbs/index.js +3 -1
  62. package/dist/components/Breadcrumbs/index.js.map +1 -1
  63. package/dist/components/Button/Button.module.scss.cjs +11 -11
  64. package/dist/components/Button/Button.module.scss.js +11 -11
  65. package/dist/components/Button/index.cjs +5 -2
  66. package/dist/components/Button/index.cjs.map +1 -1
  67. package/dist/components/Button/index.d.ts +3 -3
  68. package/dist/components/Button/index.d.ts.map +1 -1
  69. package/dist/components/Button/index.js +5 -2
  70. package/dist/components/Button/index.js.map +1 -1
  71. package/dist/components/ButtonGroup/index.cjs +3 -2
  72. package/dist/components/ButtonGroup/index.cjs.map +1 -1
  73. package/dist/components/ButtonGroup/index.d.ts +1 -2
  74. package/dist/components/ButtonGroup/index.d.ts.map +1 -1
  75. package/dist/components/ButtonGroup/index.js +3 -2
  76. package/dist/components/ButtonGroup/index.js.map +1 -1
  77. package/dist/components/Card/Card.module.scss.cjs +14 -14
  78. package/dist/components/Card/Card.module.scss.js +14 -14
  79. package/dist/components/Card/index.cjs +3 -22
  80. package/dist/components/Card/index.cjs.map +1 -1
  81. package/dist/components/Card/index.d.ts +6 -11
  82. package/dist/components/Card/index.d.ts.map +1 -1
  83. package/dist/components/Card/index.js +3 -22
  84. package/dist/components/Card/index.js.map +1 -1
  85. package/dist/components/Chart/Chart.module.scss.cjs +15 -15
  86. package/dist/components/Chart/Chart.module.scss.js +15 -15
  87. package/dist/components/Chart/index.d.ts +3 -3
  88. package/dist/components/Chart/index.d.ts.map +1 -1
  89. package/dist/components/Checkbox/Checkbox.module.scss.cjs +10 -10
  90. package/dist/components/Checkbox/Checkbox.module.scss.js +10 -10
  91. package/dist/components/Checkbox/index.cjs +11 -4
  92. package/dist/components/Checkbox/index.cjs.map +1 -1
  93. package/dist/components/Checkbox/index.d.ts +6 -0
  94. package/dist/components/Checkbox/index.d.ts.map +1 -1
  95. package/dist/components/Checkbox/index.js +11 -4
  96. package/dist/components/Checkbox/index.js.map +1 -1
  97. package/dist/components/Chip/index.cjs +11 -3
  98. package/dist/components/Chip/index.cjs.map +1 -1
  99. package/dist/components/Chip/index.d.ts +1 -2
  100. package/dist/components/Chip/index.d.ts.map +1 -1
  101. package/dist/components/Chip/index.js +11 -3
  102. package/dist/components/Chip/index.js.map +1 -1
  103. package/dist/components/CodeBlock/CodeBlock.module.scss.cjs +20 -20
  104. package/dist/components/CodeBlock/CodeBlock.module.scss.js +20 -20
  105. package/dist/components/CodeBlock/index.d.ts +8 -2
  106. package/dist/components/CodeBlock/index.d.ts.map +1 -1
  107. package/dist/components/Collapsible/Collapsible.module.scss.cjs +10 -10
  108. package/dist/components/Collapsible/Collapsible.module.scss.js +10 -10
  109. package/dist/components/Collapsible/index.cjs +45 -10
  110. package/dist/components/Collapsible/index.cjs.map +1 -1
  111. package/dist/components/Collapsible/index.d.ts +6 -12
  112. package/dist/components/Collapsible/index.d.ts.map +1 -1
  113. package/dist/components/Collapsible/index.js +45 -10
  114. package/dist/components/Collapsible/index.js.map +1 -1
  115. package/dist/components/Combobox/Combobox.module.scss.cjs +15 -15
  116. package/dist/components/Combobox/Combobox.module.scss.js +15 -15
  117. package/dist/components/Combobox/index.cjs +86 -27
  118. package/dist/components/Combobox/index.cjs.map +1 -1
  119. package/dist/components/Combobox/index.d.ts +40 -23
  120. package/dist/components/Combobox/index.d.ts.map +1 -1
  121. package/dist/components/Combobox/index.js +86 -27
  122. package/dist/components/Combobox/index.js.map +1 -1
  123. package/dist/components/Command/Command.module.scss.cjs +11 -11
  124. package/dist/components/Command/Command.module.scss.js +11 -11
  125. package/dist/components/Command/index.cjs +55 -22
  126. package/dist/components/Command/index.cjs.map +1 -1
  127. package/dist/components/Command/index.d.ts +3 -3
  128. package/dist/components/Command/index.d.ts.map +1 -1
  129. package/dist/components/Command/index.js +55 -22
  130. package/dist/components/Command/index.js.map +1 -1
  131. package/dist/components/ConversationList/ConversationList.module.scss.cjs +10 -10
  132. package/dist/components/ConversationList/ConversationList.module.scss.js +10 -10
  133. package/dist/components/ConversationList/index.cjs +6 -3
  134. package/dist/components/ConversationList/index.cjs.map +1 -1
  135. package/dist/components/ConversationList/index.d.ts +1 -1
  136. package/dist/components/ConversationList/index.d.ts.map +1 -1
  137. package/dist/components/ConversationList/index.js +6 -3
  138. package/dist/components/ConversationList/index.js.map +1 -1
  139. package/dist/components/DataTable/DataTable.module.scss.cjs +26 -26
  140. package/dist/components/DataTable/DataTable.module.scss.js +26 -26
  141. package/dist/components/DataTable/index.cjs +25 -4
  142. package/dist/components/DataTable/index.cjs.map +1 -1
  143. package/dist/components/DataTable/index.d.ts +7 -2
  144. package/dist/components/DataTable/index.d.ts.map +1 -1
  145. package/dist/components/DataTable/index.js +25 -4
  146. package/dist/components/DataTable/index.js.map +1 -1
  147. package/dist/components/DatePicker/DatePicker.module.scss.cjs +26 -26
  148. package/dist/components/DatePicker/DatePicker.module.scss.js +26 -26
  149. package/dist/components/DatePicker/index.d.ts +4 -5
  150. package/dist/components/DatePicker/index.d.ts.map +1 -1
  151. package/dist/components/Dialog/Dialog.module.scss.cjs +14 -14
  152. package/dist/components/Dialog/Dialog.module.scss.js +14 -14
  153. package/dist/components/Dialog/index.cjs +14 -10
  154. package/dist/components/Dialog/index.cjs.map +1 -1
  155. package/dist/components/Dialog/index.d.ts +26 -17
  156. package/dist/components/Dialog/index.d.ts.map +1 -1
  157. package/dist/components/Dialog/index.js +14 -10
  158. package/dist/components/Dialog/index.js.map +1 -1
  159. package/dist/components/Drawer/Drawer.module.scss.cjs +26 -26
  160. package/dist/components/Drawer/Drawer.module.scss.js +26 -26
  161. package/dist/components/Drawer/index.cjs +41 -11
  162. package/dist/components/Drawer/index.cjs.map +1 -1
  163. package/dist/components/Drawer/index.d.ts +11 -13
  164. package/dist/components/Drawer/index.d.ts.map +1 -1
  165. package/dist/components/Drawer/index.js +24 -11
  166. package/dist/components/Drawer/index.js.map +1 -1
  167. package/dist/components/Editor/Editor.module.scss.cjs +17 -17
  168. package/dist/components/Editor/Editor.module.scss.js +17 -17
  169. package/dist/components/Editor/index.cjs +32 -7
  170. package/dist/components/Editor/index.cjs.map +1 -1
  171. package/dist/components/Editor/index.d.ts +16 -3
  172. package/dist/components/Editor/index.d.ts.map +1 -1
  173. package/dist/components/Editor/index.js +32 -7
  174. package/dist/components/Editor/index.js.map +1 -1
  175. package/dist/components/EmptyState/EmptyState.module.scss.cjs +8 -8
  176. package/dist/components/EmptyState/EmptyState.module.scss.js +8 -8
  177. package/dist/components/EmptyState/index.cjs +12 -8
  178. package/dist/components/EmptyState/index.cjs.map +1 -1
  179. package/dist/components/EmptyState/index.d.ts +8 -12
  180. package/dist/components/EmptyState/index.d.ts.map +1 -1
  181. package/dist/components/EmptyState/index.js +12 -8
  182. package/dist/components/EmptyState/index.js.map +1 -1
  183. package/dist/components/Fieldset/index.cjs +2 -2
  184. package/dist/components/Fieldset/index.cjs.map +1 -1
  185. package/dist/components/Fieldset/index.d.ts +2 -3
  186. package/dist/components/Fieldset/index.d.ts.map +1 -1
  187. package/dist/components/Fieldset/index.js +2 -2
  188. package/dist/components/Fieldset/index.js.map +1 -1
  189. package/dist/components/Form/index.cjs +13 -13
  190. package/dist/components/Form/index.cjs.map +1 -1
  191. package/dist/components/Form/index.d.ts +5 -2
  192. package/dist/components/Form/index.d.ts.map +1 -1
  193. package/dist/components/Form/index.js +13 -13
  194. package/dist/components/Form/index.js.map +1 -1
  195. package/dist/components/Grid/Grid.module.scss.cjs +57 -57
  196. package/dist/components/Grid/Grid.module.scss.js +57 -57
  197. package/dist/components/Grid/index.cjs +7 -4
  198. package/dist/components/Grid/index.cjs.map +1 -1
  199. package/dist/components/Grid/index.d.ts +5 -3
  200. package/dist/components/Grid/index.d.ts.map +1 -1
  201. package/dist/components/Grid/index.js +7 -4
  202. package/dist/components/Grid/index.js.map +1 -1
  203. package/dist/components/Header/Header.module.scss.cjs +21 -21
  204. package/dist/components/Header/Header.module.scss.js +21 -21
  205. package/dist/components/Header/index.cjs +61 -23
  206. package/dist/components/Header/index.cjs.map +1 -1
  207. package/dist/components/Header/index.d.ts +27 -34
  208. package/dist/components/Header/index.d.ts.map +1 -1
  209. package/dist/components/Header/index.js +61 -23
  210. package/dist/components/Header/index.js.map +1 -1
  211. package/dist/components/Icon/index.cjs +11 -1
  212. package/dist/components/Icon/index.cjs.map +1 -1
  213. package/dist/components/Icon/index.d.ts +28 -9
  214. package/dist/components/Icon/index.d.ts.map +1 -1
  215. package/dist/components/Icon/index.js +11 -1
  216. package/dist/components/Icon/index.js.map +1 -1
  217. package/dist/components/Image/index.cjs +15 -4
  218. package/dist/components/Image/index.cjs.map +1 -1
  219. package/dist/components/Image/index.d.ts +7 -1
  220. package/dist/components/Image/index.d.ts.map +1 -1
  221. package/dist/components/Image/index.js +15 -4
  222. package/dist/components/Image/index.js.map +1 -1
  223. package/dist/components/Input/Input.module.scss.cjs +13 -13
  224. package/dist/components/Input/Input.module.scss.js +13 -13
  225. package/dist/components/Input/index.cjs +79 -31
  226. package/dist/components/Input/index.cjs.map +1 -1
  227. package/dist/components/Input/index.d.ts +17 -3
  228. package/dist/components/Input/index.d.ts.map +1 -1
  229. package/dist/components/Input/index.js +79 -31
  230. package/dist/components/Input/index.js.map +1 -1
  231. package/dist/components/Link/index.cjs +17 -0
  232. package/dist/components/Link/index.cjs.map +1 -1
  233. package/dist/components/Link/index.d.ts.map +1 -1
  234. package/dist/components/Link/index.js +17 -0
  235. package/dist/components/Link/index.js.map +1 -1
  236. package/dist/components/Listbox/Listbox.module.scss.cjs +8 -8
  237. package/dist/components/Listbox/Listbox.module.scss.js +8 -8
  238. package/dist/components/Listbox/index.cjs +10 -6
  239. package/dist/components/Listbox/index.cjs.map +1 -1
  240. package/dist/components/Listbox/index.d.ts +2 -2
  241. package/dist/components/Listbox/index.d.ts.map +1 -1
  242. package/dist/components/Listbox/index.js +10 -6
  243. package/dist/components/Listbox/index.js.map +1 -1
  244. package/dist/components/Markdown/Markdown.module.scss.cjs +1 -1
  245. package/dist/components/Markdown/Markdown.module.scss.js +1 -1
  246. package/dist/components/Markdown/index.d.ts +4 -2
  247. package/dist/components/Markdown/index.d.ts.map +1 -1
  248. package/dist/components/Menu/Menu.module.scss.cjs +13 -13
  249. package/dist/components/Menu/Menu.module.scss.js +13 -13
  250. package/dist/components/Menu/index.cjs +41 -16
  251. package/dist/components/Menu/index.cjs.map +1 -1
  252. package/dist/components/Menu/index.d.ts +24 -27
  253. package/dist/components/Menu/index.d.ts.map +1 -1
  254. package/dist/components/Menu/index.js +41 -16
  255. package/dist/components/Menu/index.js.map +1 -1
  256. package/dist/components/Message/Message.module.scss.cjs +18 -18
  257. package/dist/components/Message/Message.module.scss.js +18 -18
  258. package/dist/components/NavigationMenu/NavigationMenu.module.scss.cjs +28 -28
  259. package/dist/components/NavigationMenu/NavigationMenu.module.scss.js +28 -28
  260. package/dist/components/NavigationMenu/NavigationMenuContext.cjs.map +1 -1
  261. package/dist/components/NavigationMenu/NavigationMenuContext.d.ts +9 -0
  262. package/dist/components/NavigationMenu/NavigationMenuContext.d.ts.map +1 -1
  263. package/dist/components/NavigationMenu/NavigationMenuContext.js.map +1 -1
  264. package/dist/components/NavigationMenu/index.cjs +92 -21
  265. package/dist/components/NavigationMenu/index.cjs.map +1 -1
  266. package/dist/components/NavigationMenu/index.d.ts +5 -1
  267. package/dist/components/NavigationMenu/index.d.ts.map +1 -1
  268. package/dist/components/NavigationMenu/index.js +92 -21
  269. package/dist/components/NavigationMenu/index.js.map +1 -1
  270. package/dist/components/NavigationMenu/useNavigationMenu.cjs +2 -0
  271. package/dist/components/NavigationMenu/useNavigationMenu.cjs.map +1 -1
  272. package/dist/components/NavigationMenu/useNavigationMenu.d.ts +1 -0
  273. package/dist/components/NavigationMenu/useNavigationMenu.d.ts.map +1 -1
  274. package/dist/components/NavigationMenu/useNavigationMenu.js +2 -0
  275. package/dist/components/NavigationMenu/useNavigationMenu.js.map +1 -1
  276. package/dist/components/Pagination/index.cjs +37 -9
  277. package/dist/components/Pagination/index.cjs.map +1 -1
  278. package/dist/components/Pagination/index.d.ts +2 -3
  279. package/dist/components/Pagination/index.d.ts.map +1 -1
  280. package/dist/components/Pagination/index.js +37 -9
  281. package/dist/components/Pagination/index.js.map +1 -1
  282. package/dist/components/Popover/Popover.module.scss.cjs +10 -10
  283. package/dist/components/Popover/Popover.module.scss.js +10 -10
  284. package/dist/components/Popover/index.cjs +52 -10
  285. package/dist/components/Popover/index.cjs.map +1 -1
  286. package/dist/components/Popover/index.d.ts +22 -16
  287. package/dist/components/Popover/index.d.ts.map +1 -1
  288. package/dist/components/Popover/index.js +35 -10
  289. package/dist/components/Popover/index.js.map +1 -1
  290. package/dist/components/Progress/index.cjs +3 -1
  291. package/dist/components/Progress/index.cjs.map +1 -1
  292. package/dist/components/Progress/index.d.ts.map +1 -1
  293. package/dist/components/Progress/index.js +3 -1
  294. package/dist/components/Progress/index.js.map +1 -1
  295. package/dist/components/Prompt/Prompt.module.scss.cjs +14 -14
  296. package/dist/components/Prompt/Prompt.module.scss.js +14 -14
  297. package/dist/components/Prompt/index.cjs +14 -2
  298. package/dist/components/Prompt/index.cjs.map +1 -1
  299. package/dist/components/Prompt/index.d.ts +8 -5
  300. package/dist/components/Prompt/index.d.ts.map +1 -1
  301. package/dist/components/Prompt/index.js +14 -2
  302. package/dist/components/Prompt/index.js.map +1 -1
  303. package/dist/components/RadioGroup/index.cjs +14 -6
  304. package/dist/components/RadioGroup/index.cjs.map +1 -1
  305. package/dist/components/RadioGroup/index.d.ts +12 -2
  306. package/dist/components/RadioGroup/index.d.ts.map +1 -1
  307. package/dist/components/RadioGroup/index.js +14 -6
  308. package/dist/components/RadioGroup/index.js.map +1 -1
  309. package/dist/components/Select/Select.module.scss.cjs +10 -10
  310. package/dist/components/Select/Select.module.scss.js +10 -10
  311. package/dist/components/Select/index.cjs +43 -29
  312. package/dist/components/Select/index.cjs.map +1 -1
  313. package/dist/components/Select/index.d.ts +12 -11
  314. package/dist/components/Select/index.d.ts.map +1 -1
  315. package/dist/components/Select/index.js +43 -29
  316. package/dist/components/Select/index.js.map +1 -1
  317. package/dist/components/Sidebar/Sidebar.module.scss.cjs +42 -42
  318. package/dist/components/Sidebar/Sidebar.module.scss.js +42 -42
  319. package/dist/components/Sidebar/index.cjs +73 -26
  320. package/dist/components/Sidebar/index.cjs.map +1 -1
  321. package/dist/components/Sidebar/index.d.ts +23 -35
  322. package/dist/components/Sidebar/index.d.ts.map +1 -1
  323. package/dist/components/Sidebar/index.js +73 -26
  324. package/dist/components/Sidebar/index.js.map +1 -1
  325. package/dist/components/Skeleton/index.cjs +6 -3
  326. package/dist/components/Skeleton/index.cjs.map +1 -1
  327. package/dist/components/Skeleton/index.d.ts +3 -7
  328. package/dist/components/Skeleton/index.d.ts.map +1 -1
  329. package/dist/components/Skeleton/index.js +6 -3
  330. package/dist/components/Skeleton/index.js.map +1 -1
  331. package/dist/components/Slider/Slider.module.scss.cjs +13 -10
  332. package/dist/components/Slider/Slider.module.scss.cjs.map +1 -1
  333. package/dist/components/Slider/Slider.module.scss.js +13 -10
  334. package/dist/components/Slider/Slider.module.scss.js.map +1 -1
  335. package/dist/components/Slider/index.cjs +33 -1
  336. package/dist/components/Slider/index.cjs.map +1 -1
  337. package/dist/components/Slider/index.d.ts +2 -0
  338. package/dist/components/Slider/index.d.ts.map +1 -1
  339. package/dist/components/Slider/index.js +33 -1
  340. package/dist/components/Slider/index.js.map +1 -1
  341. package/dist/components/Stack/index.cjs +12 -2
  342. package/dist/components/Stack/index.cjs.map +1 -1
  343. package/dist/components/Stack/index.d.ts +3 -2
  344. package/dist/components/Stack/index.d.ts.map +1 -1
  345. package/dist/components/Stack/index.js +12 -2
  346. package/dist/components/Stack/index.js.map +1 -1
  347. package/dist/components/Table/Table.module.scss.cjs +16 -16
  348. package/dist/components/Table/Table.module.scss.js +16 -16
  349. package/dist/components/Table/index.d.ts +10 -4
  350. package/dist/components/Table/index.d.ts.map +1 -1
  351. package/dist/components/TableOfContents/index.cjs +8 -5
  352. package/dist/components/TableOfContents/index.cjs.map +1 -1
  353. package/dist/components/TableOfContents/index.d.ts +2 -2
  354. package/dist/components/TableOfContents/index.d.ts.map +1 -1
  355. package/dist/components/TableOfContents/index.js +8 -5
  356. package/dist/components/TableOfContents/index.js.map +1 -1
  357. package/dist/components/Tabs/Tabs.module.scss.cjs +9 -9
  358. package/dist/components/Tabs/Tabs.module.scss.js +9 -9
  359. package/dist/components/Tabs/index.cjs +9 -6
  360. package/dist/components/Tabs/index.cjs.map +1 -1
  361. package/dist/components/Tabs/index.d.ts +4 -1
  362. package/dist/components/Tabs/index.d.ts.map +1 -1
  363. package/dist/components/Tabs/index.js +9 -6
  364. package/dist/components/Tabs/index.js.map +1 -1
  365. package/dist/components/Textarea/index.cjs +61 -43
  366. package/dist/components/Textarea/index.cjs.map +1 -1
  367. package/dist/components/Textarea/index.d.ts +9 -1
  368. package/dist/components/Textarea/index.d.ts.map +1 -1
  369. package/dist/components/Textarea/index.js +61 -43
  370. package/dist/components/Textarea/index.js.map +1 -1
  371. package/dist/components/Theme/index.cjs +3 -1
  372. package/dist/components/Theme/index.cjs.map +1 -1
  373. package/dist/components/Theme/index.d.ts +2 -4
  374. package/dist/components/Theme/index.d.ts.map +1 -1
  375. package/dist/components/Theme/index.js +3 -1
  376. package/dist/components/Theme/index.js.map +1 -1
  377. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.cjs +22 -22
  378. package/dist/components/ThinkingIndicator/ThinkingIndicator.module.scss.js +22 -22
  379. package/dist/components/Toast/Toast.module.scss.cjs +20 -20
  380. package/dist/components/Toast/Toast.module.scss.js +20 -20
  381. package/dist/components/Toast/index.cjs +15 -14
  382. package/dist/components/Toast/index.cjs.map +1 -1
  383. package/dist/components/Toast/index.d.ts +9 -5
  384. package/dist/components/Toast/index.d.ts.map +1 -1
  385. package/dist/components/Toast/index.js +15 -14
  386. package/dist/components/Toast/index.js.map +1 -1
  387. package/dist/components/Toggle/Toggle.module.scss.cjs +11 -11
  388. package/dist/components/Toggle/Toggle.module.scss.js +11 -11
  389. package/dist/components/Toggle/index.cjs +1 -1
  390. package/dist/components/Toggle/index.cjs.map +1 -1
  391. package/dist/components/Toggle/index.js +1 -1
  392. package/dist/components/Toggle/index.js.map +1 -1
  393. package/dist/components/ToggleGroup/ToggleGroup.module.scss.cjs +17 -17
  394. package/dist/components/ToggleGroup/ToggleGroup.module.scss.js +17 -17
  395. package/dist/components/ToggleGroup/index.cjs +27 -8
  396. package/dist/components/ToggleGroup/index.cjs.map +1 -1
  397. package/dist/components/ToggleGroup/index.d.ts +8 -3
  398. package/dist/components/ToggleGroup/index.d.ts.map +1 -1
  399. package/dist/components/ToggleGroup/index.js +27 -8
  400. package/dist/components/ToggleGroup/index.js.map +1 -1
  401. package/dist/components/Tooltip/Tooltip.module.scss.cjs +3 -3
  402. package/dist/components/Tooltip/Tooltip.module.scss.js +3 -3
  403. package/dist/components/Tooltip/index.cjs +32 -10
  404. package/dist/components/Tooltip/index.cjs.map +1 -1
  405. package/dist/components/Tooltip/index.d.ts +3 -1
  406. package/dist/components/Tooltip/index.d.ts.map +1 -1
  407. package/dist/components/Tooltip/index.js +32 -10
  408. package/dist/components/Tooltip/index.js.map +1 -1
  409. package/dist/components/VisuallyHidden/index.cjs +10 -2
  410. package/dist/components/VisuallyHidden/index.cjs.map +1 -1
  411. package/dist/components/VisuallyHidden/index.d.ts +1 -1
  412. package/dist/components/VisuallyHidden/index.d.ts.map +1 -1
  413. package/dist/components/VisuallyHidden/index.js +10 -2
  414. package/dist/components/VisuallyHidden/index.js.map +1 -1
  415. package/dist/datepicker.cjs +32 -11
  416. package/dist/datepicker.cjs.map +1 -1
  417. package/dist/datepicker.js +32 -11
  418. package/dist/datepicker.js.map +1 -1
  419. package/dist/index.cjs.map +1 -1
  420. package/dist/index.d.ts +2 -1
  421. package/dist/index.d.ts.map +1 -1
  422. package/dist/index.js.map +1 -1
  423. package/dist/markdown.cjs +5 -5
  424. package/dist/markdown.cjs.map +1 -1
  425. package/dist/markdown.js +5 -5
  426. package/dist/markdown.js.map +1 -1
  427. package/dist/table.cjs +19 -3
  428. package/dist/table.cjs.map +1 -1
  429. package/dist/table.js +19 -3
  430. package/dist/table.js.map +1 -1
  431. package/fragments.json +1 -1
  432. package/package.json +2 -2
  433. package/src/blocks/AccountSettings.block.ts +1 -1
  434. package/src/blocks/ActivityFeed.block.ts +1 -1
  435. package/src/blocks/ActivityFeedSkeleton.block.ts +1 -1
  436. package/src/blocks/BlogEditor.block.ts +1 -1
  437. package/src/blocks/ChatInterface.block.ts +1 -1
  438. package/src/blocks/ChatMessages.block.ts +1 -1
  439. package/src/blocks/CheckoutForm.block.ts +1 -1
  440. package/src/blocks/CommandPalette.block.ts +1 -1
  441. package/src/blocks/ContactForm.block.ts +1 -1
  442. package/src/blocks/DashboardLayout.block.ts +1 -1
  443. package/src/blocks/DashboardPage.block.ts +1 -1
  444. package/src/blocks/DashboardSkeleton.block.ts +1 -1
  445. package/src/blocks/DataTable.block.ts +1 -1
  446. package/src/blocks/EmptyState.block.ts +1 -1
  447. package/src/blocks/FAQSection.block.ts +1 -1
  448. package/src/blocks/FeatureGrid.block.ts +1 -1
  449. package/src/blocks/HeroSection.block.ts +1 -1
  450. package/src/blocks/LoginForm.block.ts +1 -1
  451. package/src/blocks/NavigationHeader.block.ts +1 -1
  452. package/src/blocks/PaginatedTable.block.ts +1 -1
  453. package/src/blocks/PricingComparison.block.ts +1 -1
  454. package/src/blocks/ProductCard.block.ts +1 -1
  455. package/src/blocks/RegistrationForm.block.ts +1 -1
  456. package/src/blocks/SettingsDrawer.block.ts +1 -1
  457. package/src/blocks/SettingsPanel.block.ts +1 -1
  458. package/src/blocks/ShoppingCart.block.ts +1 -1
  459. package/src/blocks/StatsCard.block.ts +1 -1
  460. package/src/blocks/StatsCardSkeleton.block.ts +1 -1
  461. package/src/blocks/TableSkeleton.block.ts +1 -1
  462. package/src/blocks/ThinkingStates.block.ts +1 -1
  463. package/src/components/Accordion/Accordion.fragment.tsx +7 -7
  464. package/src/components/Accordion/Accordion.module.scss +2 -2
  465. package/src/components/Accordion/Accordion.test.tsx +41 -5
  466. package/src/components/Accordion/index.tsx +41 -14
  467. package/src/components/Alert/Alert.fragment.tsx +5 -1
  468. package/src/components/Alert/Alert.module.scss +1 -1
  469. package/src/components/Alert/Alert.test.tsx +25 -0
  470. package/src/components/Alert/index.tsx +49 -30
  471. package/src/components/AppShell/AppShell.fragment.tsx +1 -1
  472. package/src/components/AppShell/AppShell.module.scss +5 -5
  473. package/src/components/AppShell/AppShell.test.tsx +12 -0
  474. package/src/components/AppShell/index.tsx +2 -0
  475. package/src/components/Avatar/Avatar.fragment.tsx +7 -1
  476. package/src/components/Avatar/Avatar.test.tsx +24 -2
  477. package/src/components/Avatar/index.tsx +13 -1
  478. package/src/components/Badge/Badge.fragment.tsx +16 -1
  479. package/src/components/Badge/Badge.test.tsx +8 -1
  480. package/src/components/Badge/index.tsx +7 -2
  481. package/src/components/BentoGrid/BentoGrid.fragment.tsx +3 -1
  482. package/src/components/BentoGrid/BentoGrid.module.scss +52 -16
  483. package/src/components/BentoGrid/BentoGrid.test.tsx +20 -0
  484. package/src/components/BentoGrid/index.tsx +9 -12
  485. package/src/components/Box/Box.fragment.tsx +3 -1
  486. package/src/components/Box/Box.test.tsx +14 -0
  487. package/src/components/Box/index.tsx +8 -2
  488. package/src/components/Breadcrumbs/Breadcrumbs.fragment.tsx +19 -1
  489. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +13 -0
  490. package/src/components/Breadcrumbs/index.tsx +5 -1
  491. package/src/components/Button/Button.fragment.tsx +28 -6
  492. package/src/components/Button/Button.module.scss +3 -3
  493. package/src/components/Button/Button.test.tsx +11 -0
  494. package/src/components/Button/index.tsx +16 -6
  495. package/src/components/ButtonGroup/ButtonGroup.fragment.tsx +4 -2
  496. package/src/components/ButtonGroup/ButtonGroup.test.tsx +10 -0
  497. package/src/components/ButtonGroup/index.tsx +3 -3
  498. package/src/components/Card/Card.fragment.tsx +24 -9
  499. package/src/components/Card/Card.module.scss +8 -8
  500. package/src/components/Card/Card.test.tsx +4 -5
  501. package/src/components/Card/index.tsx +8 -38
  502. package/src/components/Chart/Chart.fragment.tsx +5 -3
  503. package/src/components/Chart/Chart.module.scss +1 -1
  504. package/src/components/Chart/index.tsx +12 -10
  505. package/src/components/Checkbox/Checkbox.fragment.tsx +27 -1
  506. package/src/components/Checkbox/Checkbox.module.scss +3 -3
  507. package/src/components/Checkbox/index.tsx +16 -3
  508. package/src/components/Chip/Chip.fragment.tsx +20 -3
  509. package/src/components/Chip/Chip.test.tsx +28 -0
  510. package/src/components/Chip/index.tsx +14 -6
  511. package/src/components/CodeBlock/CodeBlock.fragment.tsx +3 -1
  512. package/src/components/CodeBlock/CodeBlock.module.scss +9 -9
  513. package/src/components/CodeBlock/CodeBlock.test.tsx +21 -0
  514. package/src/components/CodeBlock/index.tsx +23 -9
  515. package/src/components/Collapsible/Collapsible.fragment.tsx +1 -1
  516. package/src/components/Collapsible/Collapsible.module.scss +1 -1
  517. package/src/components/Collapsible/Collapsible.test.tsx +41 -0
  518. package/src/components/Collapsible/index.tsx +53 -16
  519. package/src/components/ColorPicker/ColorPicker.fragment.tsx +1 -1
  520. package/src/components/Combobox/Combobox.fragment.tsx +63 -9
  521. package/src/components/Combobox/Combobox.module.scss +4 -7
  522. package/src/components/Combobox/Combobox.test.tsx +79 -3
  523. package/src/components/Combobox/index.tsx +140 -51
  524. package/src/components/Command/Command.fragment.tsx +3 -3
  525. package/src/components/Command/Command.module.scss +5 -5
  526. package/src/components/Command/Command.test.tsx +110 -0
  527. package/src/components/Command/index.tsx +66 -20
  528. package/src/components/ConversationList/ConversationList.fragment.tsx +4 -3
  529. package/src/components/ConversationList/ConversationList.module.scss +5 -5
  530. package/src/components/ConversationList/ConversationList.test.tsx +21 -0
  531. package/src/components/ConversationList/index.tsx +8 -4
  532. package/src/components/DataTable/DataTable.fragment.tsx +12 -2
  533. package/src/components/DataTable/DataTable.module.scss +3 -3
  534. package/src/components/DataTable/DataTable.test.tsx +34 -4
  535. package/src/components/DataTable/index.tsx +44 -6
  536. package/src/components/DatePicker/DatePicker.fragment.tsx +3 -1
  537. package/src/components/DatePicker/DatePicker.module.scss +1 -1
  538. package/src/components/DatePicker/DatePicker.test.tsx +96 -0
  539. package/src/components/DatePicker/index.tsx +38 -16
  540. package/src/components/Dialog/Dialog.fragment.tsx +28 -1
  541. package/src/components/Dialog/Dialog.module.scss +6 -6
  542. package/src/components/Dialog/Dialog.test.tsx +23 -0
  543. package/src/components/Dialog/index.tsx +38 -21
  544. package/src/components/Drawer/Drawer.fragment.tsx +4 -1
  545. package/src/components/Drawer/Drawer.module.scss +3 -3
  546. package/src/components/Drawer/Drawer.test.tsx +35 -0
  547. package/src/components/Drawer/index.tsx +29 -18
  548. package/src/components/Editor/Editor.fragment.tsx +10 -3
  549. package/src/components/Editor/Editor.module.scss +4 -4
  550. package/src/components/Editor/Editor.test.tsx +68 -1
  551. package/src/components/Editor/index.tsx +60 -9
  552. package/src/components/EmptyState/EmptyState.fragment.tsx +3 -1
  553. package/src/components/EmptyState/EmptyState.module.scss +3 -3
  554. package/src/components/EmptyState/EmptyState.test.tsx +18 -0
  555. package/src/components/EmptyState/index.tsx +16 -16
  556. package/src/components/Field/Field.fragment.tsx +1 -1
  557. package/src/components/Fieldset/Fieldset.fragment.tsx +3 -1
  558. package/src/components/Fieldset/Fieldset.test.tsx +14 -0
  559. package/src/components/Fieldset/index.tsx +3 -4
  560. package/src/components/Form/Form.fragment.tsx +12 -7
  561. package/src/components/Form/index.tsx +13 -17
  562. package/src/components/Grid/Grid.fragment.tsx +4 -3
  563. package/src/components/Grid/Grid.module.scss +3 -3
  564. package/src/components/Grid/index.tsx +11 -6
  565. package/src/components/Header/Header.fragment.tsx +31 -1
  566. package/src/components/Header/Header.module.scss +6 -6
  567. package/src/components/Header/Header.test.tsx +95 -1
  568. package/src/components/Header/index.tsx +95 -46
  569. package/src/components/Icon/Icon.fragment.tsx +21 -8
  570. package/src/components/Icon/Icon.test.tsx +27 -3
  571. package/src/components/Icon/index.tsx +39 -15
  572. package/src/components/Image/Image.fragment.tsx +15 -1
  573. package/src/components/Image/Image.test.tsx +32 -1
  574. package/src/components/Image/index.tsx +24 -4
  575. package/src/components/Input/Input.fragment.tsx +49 -1
  576. package/src/components/Input/Input.module.scss +4 -2
  577. package/src/components/Input/Input.test.tsx +3 -3
  578. package/src/components/Input/index.tsx +103 -37
  579. package/src/components/Link/Link.fragment.tsx +7 -6
  580. package/src/components/Link/Link.test.tsx +17 -1
  581. package/src/components/Link/index.tsx +22 -0
  582. package/src/components/List/List.fragment.tsx +1 -1
  583. package/src/components/Listbox/Listbox.fragment.tsx +3 -3
  584. package/src/components/Listbox/Listbox.module.scss +4 -4
  585. package/src/components/Listbox/Listbox.test.tsx +14 -0
  586. package/src/components/Listbox/index.tsx +12 -2
  587. package/src/components/Loading/Loading.fragment.tsx +1 -1
  588. package/src/components/Markdown/Markdown.fragment.tsx +5 -3
  589. package/src/components/Markdown/Markdown.module.scss +5 -5
  590. package/src/components/Markdown/Markdown.test.tsx +6 -0
  591. package/src/components/Markdown/index.tsx +12 -9
  592. package/src/components/Menu/Menu.fragment.tsx +19 -1
  593. package/src/components/Menu/Menu.module.scss +11 -11
  594. package/src/components/Menu/index.tsx +50 -33
  595. package/src/components/Message/Message.fragment.tsx +1 -1
  596. package/src/components/Message/Message.module.scss +3 -3
  597. package/src/components/NavigationMenu/NavigationMenu.fragment.tsx +10 -2
  598. package/src/components/NavigationMenu/NavigationMenu.module.scss +7 -7
  599. package/src/components/NavigationMenu/NavigationMenu.test.tsx +88 -4
  600. package/src/components/NavigationMenu/NavigationMenuContext.ts +17 -0
  601. package/src/components/NavigationMenu/index.tsx +119 -20
  602. package/src/components/NavigationMenu/useNavigationMenu.ts +4 -0
  603. package/src/components/Pagination/Pagination.fragment.tsx +4 -1
  604. package/src/components/Pagination/Pagination.test.tsx +39 -0
  605. package/src/components/Pagination/index.tsx +36 -10
  606. package/src/components/Popover/Popover.fragment.tsx +18 -1
  607. package/src/components/Popover/Popover.module.scss +13 -13
  608. package/src/components/Popover/Popover.test.tsx +23 -0
  609. package/src/components/Popover/index.tsx +44 -22
  610. package/src/components/Progress/Progress.fragment.tsx +3 -1
  611. package/src/components/Progress/Progress.test.tsx +8 -0
  612. package/src/components/Progress/index.tsx +9 -1
  613. package/src/components/Prompt/Prompt.fragment.tsx +4 -1
  614. package/src/components/Prompt/Prompt.module.scss +3 -3
  615. package/src/components/Prompt/Prompt.test.tsx +19 -0
  616. package/src/components/Prompt/index.tsx +24 -6
  617. package/src/components/RadioGroup/RadioGroup.fragment.tsx +31 -1
  618. package/src/components/RadioGroup/index.tsx +22 -3
  619. package/src/components/ScrollArea/ScrollArea.fragment.tsx +1 -1
  620. package/src/components/Select/Select.fragment.tsx +30 -3
  621. package/src/components/Select/Select.module.scss +3 -3
  622. package/src/components/Select/Select.test.tsx +41 -0
  623. package/src/components/Select/index.tsx +55 -44
  624. package/src/components/Separator/Separator.fragment.tsx +1 -1
  625. package/src/components/Sidebar/Sidebar.fragment.tsx +3 -1
  626. package/src/components/Sidebar/Sidebar.module.scss +20 -20
  627. package/src/components/Sidebar/Sidebar.test.tsx +108 -4
  628. package/src/components/Sidebar/index.tsx +93 -51
  629. package/src/components/Skeleton/Skeleton.fragment.tsx +3 -1
  630. package/src/components/Skeleton/Skeleton.test.tsx +12 -0
  631. package/src/components/Skeleton/index.tsx +6 -7
  632. package/src/components/Slider/Slider.fragment.tsx +21 -1
  633. package/src/components/Slider/Slider.module.scss +31 -0
  634. package/src/components/Slider/Slider.test.tsx +16 -0
  635. package/src/components/Slider/index.tsx +40 -1
  636. package/src/components/Stack/Stack.fragment.tsx +3 -1
  637. package/src/components/Stack/index.tsx +13 -6
  638. package/src/components/Table/Table.fragment.tsx +43 -2
  639. package/src/components/Table/Table.module.scss +2 -2
  640. package/src/components/Table/index.tsx +23 -5
  641. package/src/components/TableOfContents/TableOfContents.fragment.tsx +4 -2
  642. package/src/components/TableOfContents/TableOfContents.test.tsx +34 -9
  643. package/src/components/TableOfContents/index.tsx +9 -5
  644. package/src/components/Tabs/Tabs.fragment.tsx +33 -8
  645. package/src/components/Tabs/Tabs.module.scss +8 -8
  646. package/src/components/Tabs/index.tsx +22 -14
  647. package/src/components/Text/Text.fragment.tsx +1 -1
  648. package/src/components/Textarea/Textarea.fragment.tsx +27 -1
  649. package/src/components/Textarea/index.tsx +39 -14
  650. package/src/components/Theme/Theme.fragment.tsx +3 -1
  651. package/src/components/Theme/Theme.test.tsx +11 -0
  652. package/src/components/Theme/index.tsx +3 -3
  653. package/src/components/ThinkingIndicator/ThinkingIndicator.fragment.tsx +1 -1
  654. package/src/components/ThinkingIndicator/ThinkingIndicator.module.scss +1 -1
  655. package/src/components/Toast/Toast.fragment.tsx +6 -3
  656. package/src/components/Toast/Toast.module.scss +8 -6
  657. package/src/components/Toast/index.tsx +24 -20
  658. package/src/components/Toggle/Toggle.fragment.tsx +1 -1
  659. package/src/components/Toggle/Toggle.module.scss +61 -21
  660. package/src/components/Toggle/index.tsx +3 -3
  661. package/src/components/ToggleGroup/ToggleGroup.fragment.tsx +33 -8
  662. package/src/components/ToggleGroup/ToggleGroup.module.scss +3 -3
  663. package/src/components/ToggleGroup/index.tsx +29 -9
  664. package/src/components/Tooltip/Tooltip.fragment.tsx +16 -1
  665. package/src/components/Tooltip/Tooltip.module.scss +1 -1
  666. package/src/components/Tooltip/Tooltip.test.tsx +17 -0
  667. package/src/components/Tooltip/index.tsx +60 -31
  668. package/src/components/VisuallyHidden/VisuallyHidden.fragment.tsx +3 -1
  669. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +12 -0
  670. package/src/components/VisuallyHidden/index.tsx +7 -3
  671. package/src/index.ts +3 -2
  672. package/src/tokens/_computed.scss +1 -19
  673. package/src/tokens/_density.scss +0 -42
  674. package/src/tokens/_mixins.scss +4 -0
  675. package/src/tokens/_variables.scss +12 -114
@@ -1,5 +1,5 @@
1
- @use '../../tokens/variables' as *;
2
- @use '../../tokens/mixins' as *;
1
+ @use "../../tokens/variables" as *;
2
+ @use "../../tokens/mixins" as *;
3
3
 
4
4
  // Root container
5
5
  .root {
@@ -7,7 +7,7 @@
7
7
  flex-direction: column;
8
8
  font-family: var(--fui-font-sans, $fui-font-sans);
9
9
 
10
- &[data-orientation='vertical'] {
10
+ &[data-orientation="vertical"] {
11
11
  flex-direction: row;
12
12
  }
13
13
  }
@@ -21,7 +21,7 @@
21
21
  border-bottom: 1px solid var(--fui-border, $fui-border);
22
22
  padding: 0 var(--fui-space-1, $fui-space-1);
23
23
 
24
- &[data-orientation='vertical'] {
24
+ &[data-orientation="vertical"] {
25
25
  flex-direction: column;
26
26
  align-items: stretch;
27
27
  border-bottom: none;
@@ -55,7 +55,7 @@
55
55
  align-items: center;
56
56
  justify-content: center;
57
57
  gap: var(--fui-space-2, $fui-space-2);
58
- padding: var(--fui-padding-item-xs, $fui-padding-item-xs) var(--fui-padding-item-md, $fui-padding-item-md);
58
+ padding: var(--fui-space-1, $fui-space-1) var(--fui-space-3, $fui-space-3);
59
59
  font-size: var(--fui-font-size-sm, $fui-font-size-sm);
60
60
  font-weight: var(--fui-font-weight-medium, $fui-font-weight-medium);
61
61
  color: var(--fui-text-secondary, $fui-text-secondary);
@@ -80,7 +80,7 @@
80
80
  .tabUnderline {
81
81
  border-radius: 0;
82
82
  margin-bottom: -1px;
83
- padding-bottom: calc(var(--fui-padding-item-xs, $fui-padding-item-xs) + 1px);
83
+ padding-bottom: calc(var(--fui-space-1, $fui-space-1) + 1px);
84
84
 
85
85
  &:hover:not([data-disabled]) {
86
86
  background-color: transparent;
@@ -122,7 +122,7 @@
122
122
  width var(--fui-transition-fast, $fui-transition-fast),
123
123
  transform var(--fui-transition-fast, $fui-transition-fast);
124
124
 
125
- [data-orientation='vertical'] & {
125
+ [data-orientation="vertical"] & {
126
126
  bottom: auto;
127
127
  left: auto;
128
128
  right: 0;
@@ -135,7 +135,7 @@
135
135
 
136
136
  // Tab panel content
137
137
  .panel {
138
- padding: var(--fui-padding-item-lg, $fui-padding-item-lg) 0;
138
+ padding: var(--fui-space-2, $fui-space-2) 0;
139
139
  outline: none;
140
140
 
141
141
  &[data-hidden] {
@@ -25,6 +25,9 @@ export interface TabsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'd
25
25
  /** Tab layout direction.
26
26
  * @default "horizontal" */
27
27
  orientation?: 'horizontal' | 'vertical';
28
+ /** Tab list visual style (default for Tabs.List).
29
+ * @default "underline" */
30
+ variant?: 'underline' | 'pills';
28
31
  }
29
32
 
30
33
  export interface TabsListProps extends React.HTMLAttributes<HTMLDivElement> {
@@ -65,39 +68,44 @@ function TabsRoot({
65
68
  value,
66
69
  onValueChange,
67
70
  orientation = 'horizontal',
71
+ variant = 'underline',
68
72
  className,
69
73
  ...htmlProps
70
74
  }: TabsProps) {
71
75
  const classes = [styles.root, className].filter(Boolean).join(' ');
72
76
 
73
77
  return (
74
- <BaseTabs.Root
75
- {...htmlProps}
76
- defaultValue={defaultValue}
77
- value={value}
78
- onValueChange={onValueChange}
79
- orientation={orientation}
80
- className={classes}
81
- >
82
- {children}
83
- </BaseTabs.Root>
78
+ <TabsVariantContext.Provider value={variant}>
79
+ <BaseTabs.Root
80
+ {...htmlProps}
81
+ defaultValue={defaultValue}
82
+ value={value}
83
+ onValueChange={onValueChange}
84
+ orientation={orientation}
85
+ className={classes}
86
+ >
87
+ {children}
88
+ </BaseTabs.Root>
89
+ </TabsVariantContext.Provider>
84
90
  );
85
91
  }
86
92
 
87
93
  function TabsList({
88
94
  children,
89
- variant = 'underline',
95
+ variant,
90
96
  className,
91
97
  ...htmlProps
92
98
  }: TabsListProps) {
93
- const variantClass = variant === 'pills' ? styles.listPills : styles.listUnderline;
99
+ const rootVariant = React.useContext(TabsVariantContext);
100
+ const resolvedVariant = variant ?? rootVariant;
101
+ const variantClass = resolvedVariant === 'pills' ? styles.listPills : styles.listUnderline;
94
102
  const classes = [styles.list, variantClass, className].filter(Boolean).join(' ');
95
103
 
96
104
  return (
97
- <TabsVariantContext.Provider value={variant}>
105
+ <TabsVariantContext.Provider value={resolvedVariant}>
98
106
  <BaseTabs.List {...htmlProps} className={classes}>
99
107
  {children}
100
- {variant === 'underline' && <BaseTabs.Indicator className={styles.indicator} />}
108
+ {resolvedVariant === 'underline' && <BaseTabs.Indicator className={styles.indicator} />}
101
109
  </BaseTabs.List>
102
110
  </TabsVariantContext.Provider>
103
111
  );
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { defineFragment } from '@fragments-sdk/cli/core';
2
+ import { defineFragment } from '@fragments-sdk/core';
3
3
  import { Text } from '.';
4
4
 
5
5
  export default defineFragment({
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { defineFragment } from '@fragments-sdk/cli/core';
2
+ import { defineFragment } from '@fragments-sdk/core';
3
3
  import { Textarea } from '.';
4
4
 
5
5
  export default defineFragment({
@@ -88,6 +88,18 @@ export default defineFragment({
88
88
  type: 'number',
89
89
  description: 'Maximum character length',
90
90
  },
91
+ onChange: {
92
+ type: 'function',
93
+ description: 'Called when the textarea value changes',
94
+ },
95
+ onValueChange: {
96
+ type: 'function',
97
+ description: 'Value-first change callback alias: (value: string) => void',
98
+ },
99
+ rootProps: {
100
+ type: 'object',
101
+ description: 'HTML attributes applied to the wrapper element',
102
+ },
91
103
  },
92
104
 
93
105
  relations: [
@@ -106,6 +118,9 @@ export default defineFragment({
106
118
  'error: boolean - error state',
107
119
  'disabled: boolean - disabled state',
108
120
  'resize: none|vertical|horizontal|both',
121
+ 'onValueChange: (value: string) => void - value-first change callback alias',
122
+ 'rootProps: HTMLAttributes<HTMLDivElement> - wrapper element props',
123
+ '...native textarea attributes are supported (readOnly, autoComplete, maxLength, onKeyDown, etc.)',
109
124
  ],
110
125
  scenarioTags: [
111
126
  'form.textarea',
@@ -175,5 +190,16 @@ export default defineFragment({
175
190
  />
176
191
  ),
177
192
  },
193
+ {
194
+ name: 'With Root Props',
195
+ description: 'Pass wrapper attributes/styling via rootProps',
196
+ render: () => (
197
+ <Textarea
198
+ label="Notes"
199
+ placeholder="Add notes..."
200
+ rootProps={{ 'data-demo': 'textarea-wrapper' }}
201
+ />
202
+ ),
203
+ },
178
204
  ],
179
205
  });
@@ -1,7 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import styles from './Textarea.module.scss';
3
3
 
4
- export interface TextareaProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onBlur' | 'defaultValue'> {
4
+ export interface TextareaProps extends Omit<
5
+ React.TextareaHTMLAttributes<HTMLTextAreaElement>,
6
+ 'onChange' | 'onBlur' | 'className' | 'style'
7
+ > {
5
8
  /** Controlled value */
6
9
  value?: string;
7
10
  /** Default value for uncontrolled usage */
@@ -26,6 +29,8 @@ export interface TextareaProps extends Omit<React.HTMLAttributes<HTMLDivElement>
26
29
  helperText?: string;
27
30
  /** Called when value changes */
28
31
  onChange?: (value: string) => void;
32
+ /** Alias for onChange (value-first callback) */
33
+ onValueChange?: (value: string) => void;
29
34
  /** Called when textarea loses focus */
30
35
  onBlur?: () => void;
31
36
  /** Form field name */
@@ -40,6 +45,12 @@ export interface TextareaProps extends Omit<React.HTMLAttributes<HTMLDivElement>
40
45
  'aria-labelledby'?: string;
41
46
  /** Accessible described-by relationship */
42
47
  'aria-describedby'?: string;
48
+ /** Props applied to the wrapper element */
49
+ rootProps?: React.HTMLAttributes<HTMLDivElement>;
50
+ /** Wrapper class name */
51
+ className?: string;
52
+ /** Wrapper styles */
53
+ style?: React.CSSProperties;
43
54
  }
44
55
 
45
56
  function mergeAriaIds(...ids: Array<string | undefined>): string | undefined {
@@ -62,20 +73,26 @@ const TextareaRoot = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
62
73
  label,
63
74
  helperText,
64
75
  onChange,
76
+ onValueChange,
65
77
  onBlur,
78
+ rootProps,
66
79
  className,
67
- name,
80
+ style: wrapperStyle,
81
+ ...textareaProps
82
+ },
83
+ ref
84
+ ) {
85
+ const generatedId = React.useId();
86
+ const {
68
87
  id,
88
+ name,
69
89
  maxLength,
70
90
  required = false,
71
91
  'aria-label': ariaLabel,
72
92
  'aria-labelledby': ariaLabelledBy,
73
93
  'aria-describedby': ariaDescribedBy,
74
- ...htmlProps
75
- },
76
- ref
77
- ) {
78
- const generatedId = React.useId();
94
+ ...nativeTextareaProps
95
+ } = textareaProps;
79
96
  const textareaId = id || generatedId;
80
97
  const labelId = label ? `${textareaId}-label` : undefined;
81
98
  const helperId = `${textareaId}-helper`;
@@ -93,16 +110,20 @@ const TextareaRoot = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
93
110
  .join(' ');
94
111
 
95
112
  // Calculate min/max height based on rows
96
- const style: React.CSSProperties = {};
113
+ const textareaInlineStyle: React.CSSProperties = {};
97
114
  if (minRows) {
98
- style.minHeight = `calc(${minRows} * 1.5em + 1.5rem)`;
115
+ textareaInlineStyle.minHeight = `calc(${minRows} * 1.5em + 1.5rem)`;
99
116
  }
100
117
  if (maxRows) {
101
- style.maxHeight = `calc(${maxRows} * 1.5em + 1.5rem)`;
118
+ textareaInlineStyle.maxHeight = `calc(${maxRows} * 1.5em + 1.5rem)`;
102
119
  }
103
120
 
104
121
  return (
105
- <div {...htmlProps} className={[styles.wrapper, className].filter(Boolean).join(' ')}>
122
+ <div
123
+ {...rootProps}
124
+ className={[styles.wrapper, rootProps?.className, className].filter(Boolean).join(' ')}
125
+ style={{ ...(rootProps?.style ?? {}), ...(wrapperStyle ?? {}) }}
126
+ >
106
127
  {label && (
107
128
  <label id={labelId} htmlFor={textareaId} className={styles.label}>
108
129
  {label}
@@ -116,6 +137,7 @@ const TextareaRoot = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
116
137
  defaultValue={defaultValue}
117
138
  placeholder={placeholder}
118
139
  rows={rows}
140
+ {...nativeTextareaProps}
119
141
  name={name}
120
142
  maxLength={maxLength}
121
143
  disabled={disabled}
@@ -127,10 +149,13 @@ const TextareaRoot = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
127
149
  ariaDescribedBy,
128
150
  helperText ? helperId : undefined
129
151
  )}
130
- onChange={(e) => onChange?.(e.target.value)}
131
- onBlur={onBlur}
152
+ onChange={(e) => {
153
+ onChange?.(e.target.value);
154
+ onValueChange?.(e.target.value);
155
+ }}
156
+ onBlur={() => onBlur?.()}
132
157
  className={textareaClasses}
133
- style={Object.keys(style).length > 0 ? style : undefined}
158
+ style={Object.keys(textareaInlineStyle).length > 0 ? textareaInlineStyle : undefined}
134
159
  />
135
160
  {helperText && (
136
161
  <span id={helperId} className={helperClasses}>
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { defineFragment } from '@fragments-sdk/cli/core';
2
+ import { defineFragment } from '@fragments-sdk/core';
3
3
  import { ThemeProvider, ThemeToggle, useTheme } from '.';
4
4
 
5
5
  // Demo component to show hook usage
@@ -43,6 +43,7 @@ export default defineFragment({
43
43
  'ThemeToggle cycles through light → dark → system',
44
44
  'Use storageKey to customize localStorage key',
45
45
  'Set attribute="class" if your CSS uses .dark class instead of data-theme',
46
+ 'ThemeToggle forwards DOM props (id, data-*, className, handlers) to the toggle group',
46
47
  ],
47
48
  accessibility: [
48
49
  'ThemeToggle button has accessible label indicating current mode',
@@ -96,6 +97,7 @@ export default defineFragment({
96
97
  'onModeChange: (mode) => void - change handler',
97
98
  'attribute: data-theme|class - DOM theme attribute',
98
99
  'ThemeToggle size: sm|md|lg - toggle button size',
100
+ 'ThemeToggle forwards div DOM props to the button group root',
99
101
  ],
100
102
  scenarioTags: [
101
103
  'navigation.theme',
@@ -103,6 +103,17 @@ describe('ThemeToggle', () => {
103
103
  expect(screen.getByRole('group', { name: 'Switch theme' })).toBeInTheDocument();
104
104
  });
105
105
 
106
+ it('forwards DOM props to the toggle group', () => {
107
+ render(
108
+ <ThemeProvider>
109
+ <ThemeToggle data-testid="theme-toggle" id="theme-toggle-group" />
110
+ </ThemeProvider>
111
+ );
112
+
113
+ const group = screen.getByTestId('theme-toggle');
114
+ expect(group).toHaveAttribute('id', 'theme-toggle-group');
115
+ });
116
+
106
117
  it('has no accessibility violations', async () => {
107
118
  const { container } = render(
108
119
  <ThemeProvider>
@@ -40,7 +40,7 @@ export interface UseThemeReturn {
40
40
  toggleMode: () => void;
41
41
  }
42
42
 
43
- export interface ThemeToggleProps {
43
+ export interface ThemeToggleProps extends React.HTMLAttributes<HTMLDivElement> {
44
44
  /** Size of the toggle button */
45
45
  size?: 'sm' | 'md' | 'lg';
46
46
  /** Whether to include system mode option (default: false) */
@@ -51,8 +51,6 @@ export interface ThemeToggleProps {
51
51
  onValueChange?: (value: 'light' | 'dark') => void;
52
52
  /** Accessible label for the group */
53
53
  'aria-label'?: string;
54
- /** Additional class name */
55
- className?: string;
56
54
  }
57
55
 
58
56
  // ============================================
@@ -282,6 +280,7 @@ function ThemeToggle({
282
280
  onValueChange,
283
281
  'aria-label': ariaLabel,
284
282
  className,
283
+ ...htmlProps
285
284
  }: ThemeToggleProps) {
286
285
  const { mode: contextMode, setMode: setContextMode } = useTheme();
287
286
 
@@ -314,6 +313,7 @@ function ThemeToggle({
314
313
 
315
314
  return (
316
315
  <div
316
+ {...htmlProps}
317
317
  className={groupClasses}
318
318
  role="group"
319
319
  aria-label={label}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { defineFragment } from '@fragments-sdk/cli/core';
2
+ import { defineFragment } from '@fragments-sdk/core';
3
3
  import { ThinkingIndicator } from '.';
4
4
 
5
5
  export default defineFragment({
@@ -38,7 +38,7 @@
38
38
  .dots {
39
39
  display: flex;
40
40
  align-items: center;
41
- gap: 4px;
41
+ gap: calc(var(--fui-space-px, $fui-space-px) * 4);
42
42
  }
43
43
 
44
44
  .dot {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { defineFragment } from '@fragments-sdk/cli/core';
2
+ import { defineFragment } from '@fragments-sdk/core';
3
3
  import { Toast, ToastProvider, useToast } from '.';
4
4
 
5
5
  // Demo component that triggers toasts
@@ -9,7 +9,7 @@ function ToastDemo() {
9
9
  return (
10
10
  <div style={{ display: 'flex', gap: 'var(--fui-space-1)', flexWrap: 'wrap' }}>
11
11
  <button
12
- onClick={() => success('Success!', 'Your changes have been saved.')}
12
+ onClick={() => success({ title: 'Success!', description: 'Your changes have been saved.', id: 'save-success' })}
13
13
  style={{ padding: 'var(--fui-space-1) var(--fui-space-2)', borderRadius: 'var(--fui-radius-md)', border: '1px solid var(--fui-color-success)', background: 'var(--fui-color-success-bg)', color: 'var(--fui-color-success)', cursor: 'pointer' }}
14
14
  >
15
15
  Success Toast
@@ -75,6 +75,7 @@ export default defineFragment({
75
75
  'Auto-dismiss after reasonable duration (3-5s)',
76
76
  'Allow manual dismissal for longer messages',
77
77
  'Limit number of simultaneous toasts',
78
+ 'useToast() variant helpers accept either (title, description?) or an options object for action/duration/id',
78
79
  ],
79
80
  accessibility: [
80
81
  'Use role="alert" for important messages',
@@ -142,6 +143,8 @@ export default defineFragment({
142
143
  'variant: default|success|error|warning|info',
143
144
  'duration: number - ms before auto-dismiss',
144
145
  'action: { label, onClick } - optional action',
146
+ 'ToastInput (useToast): optional id for deterministic creation/replacement flows',
147
+ 'useToast().success/error/warning/info: (title, description?) or ({ title, description, action, duration, id })',
145
148
  ],
146
149
  scenarioTags: [
147
150
  'feedback.success',
@@ -158,7 +161,7 @@ export default defineFragment({
158
161
  variants: [
159
162
  {
160
163
  name: 'Default',
161
- description: 'Interactive toast demo - click buttons to trigger toasts',
164
+ description: 'Interactive toast demo - click buttons to trigger toasts (includes helper object syntax example)',
162
165
  render: () => <ToastDemoWrapper />,
163
166
  },
164
167
  {
@@ -1,5 +1,5 @@
1
- @use '../../tokens/variables' as *;
2
- @use '../../tokens/mixins' as *;
1
+ @use "../../tokens/variables" as *;
2
+ @use "../../tokens/mixins" as *;
3
3
 
4
4
  // ============================================
5
5
  // Toast Container
@@ -63,8 +63,8 @@
63
63
  .toast {
64
64
  display: flex;
65
65
  align-items: flex-start;
66
- gap: var(--fui-space-3, $fui-space-3);
67
- padding: var(--fui-padding-inline-sm, $fui-padding-inline-sm) var(--fui-padding-inline-md, $fui-padding-inline-md);
66
+ gap: var(--fui-space-1, $fui-space-1);
67
+ padding: var(--fui-space-2, $fui-space-2) var(--fui-space-3, $fui-space-3);
68
68
  background-color: var(--fui-bg-elevated, $fui-bg-elevated);
69
69
  border: 1px solid var(--fui-border, $fui-border);
70
70
  border-radius: var(--fui-radius-lg, $fui-radius-lg);
@@ -189,7 +189,8 @@
189
189
  }
190
190
 
191
191
  &:focus-visible {
192
- outline: var(--fui-focus-ring-width, $fui-focus-ring-width) solid var(--fui-focus-ring-color, $fui-focus-ring-color);
192
+ outline: var(--fui-focus-ring-width, $fui-focus-ring-width) solid
193
+ var(--fui-focus-ring-color, $fui-focus-ring-color);
193
194
  outline-offset: var(--fui-focus-ring-offset, $fui-focus-ring-offset);
194
195
  }
195
196
  }
@@ -226,7 +227,8 @@
226
227
  }
227
228
 
228
229
  &:focus-visible {
229
- outline: var(--fui-focus-ring-width, $fui-focus-ring-width) solid var(--fui-focus-ring-color, $fui-focus-ring-color);
230
+ outline: var(--fui-focus-ring-width, $fui-focus-ring-width) solid
231
+ var(--fui-focus-ring-color, $fui-focus-ring-color);
230
232
  outline-offset: var(--fui-focus-ring-offset, $fui-focus-ring-offset);
231
233
  }
232
234
  }
@@ -28,6 +28,11 @@ export interface ToastData {
28
28
  };
29
29
  }
30
30
 
31
+ export interface ToastInput extends Omit<ToastData, 'id'> {
32
+ /** Optional explicit id (useful for deterministic tests / replacing a known toast) */
33
+ id?: string;
34
+ }
35
+
31
36
  export interface ToastProps extends Omit<ToastData, 'id'>, Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
32
37
  /** Callback when toast should be dismissed */
33
38
  onDismiss?: () => void;
@@ -50,7 +55,7 @@ export interface ToastProviderProps {
50
55
 
51
56
  interface ToastContextValue {
52
57
  toasts: ToastData[];
53
- addToast: (toast: Omit<ToastData, 'id'>) => string;
58
+ addToast: (toast: ToastInput) => string;
54
59
  removeToast: (id: string) => void;
55
60
  clearToasts: () => void;
56
61
  }
@@ -67,25 +72,25 @@ export function useToast() {
67
72
  throw new Error('useToast must be used within a ToastProvider');
68
73
  }
69
74
 
70
- const toast = React.useCallback((options: Omit<ToastData, 'id'>) => {
75
+ const toast = React.useCallback((options: ToastInput) => {
71
76
  return context.addToast(options);
72
77
  }, [context]);
73
78
 
74
- const success = React.useCallback((title: string, description?: string) => {
75
- return context.addToast({ title, description, variant: 'success' });
76
- }, [context]);
77
-
78
- const error = React.useCallback((title: string, description?: string) => {
79
- return context.addToast({ title, description, variant: 'error' });
80
- }, [context]);
79
+ const makeVariantHelper = React.useCallback(
80
+ (variant: ToastVariant) =>
81
+ (titleOrOptions: string | Omit<ToastInput, 'variant'>, description?: string) => {
82
+ if (typeof titleOrOptions === 'string') {
83
+ return context.addToast({ title: titleOrOptions, description, variant });
84
+ }
85
+ return context.addToast({ ...titleOrOptions, variant });
86
+ },
87
+ [context]
88
+ );
81
89
 
82
- const warning = React.useCallback((title: string, description?: string) => {
83
- return context.addToast({ title, description, variant: 'warning' });
84
- }, [context]);
85
-
86
- const info = React.useCallback((title: string, description?: string) => {
87
- return context.addToast({ title, description, variant: 'info' });
88
- }, [context]);
90
+ const success = React.useMemo(() => makeVariantHelper('success'), [makeVariantHelper]);
91
+ const error = React.useMemo(() => makeVariantHelper('error'), [makeVariantHelper]);
92
+ const warning = React.useMemo(() => makeVariantHelper('warning'), [makeVariantHelper]);
93
+ const info = React.useMemo(() => makeVariantHelper('info'), [makeVariantHelper]);
89
94
 
90
95
  return {
91
96
  toast,
@@ -292,8 +297,6 @@ function ToastContainer({
292
297
  // Toast Provider
293
298
  // ============================================
294
299
 
295
- let toastCounter = 0;
296
-
297
300
  export function ToastProvider({
298
301
  position = 'bottom-right',
299
302
  duration = 8000,
@@ -301,6 +304,7 @@ export function ToastProvider({
301
304
  children,
302
305
  }: ToastProviderProps) {
303
306
  const [toasts, setToasts] = React.useState<ToastData[]>([]);
307
+ const idCounterRef = React.useRef(0);
304
308
  const timeoutRef = React.useRef(new Map<string, ReturnType<typeof setTimeout>>());
305
309
  const remainingRef = React.useRef(new Map<string, number>());
306
310
  const startTimeRef = React.useRef(new Map<string, number>());
@@ -332,8 +336,8 @@ export function ToastProvider({
332
336
  [clearRemovalTimer]
333
337
  );
334
338
 
335
- const addToast = React.useCallback((toast: Omit<ToastData, 'id'>) => {
336
- const id = `toast-${++toastCounter}`;
339
+ const addToast = React.useCallback((toast: ToastInput) => {
340
+ const id = toast.id ?? `toast-${++idCounterRef.current}`;
337
341
  const toastDuration = toast.duration ?? (toast.action ? 0 : duration);
338
342
 
339
343
  setToasts((prev) => {
@@ -1,5 +1,5 @@
1
1
  import React, { useState } from 'react';
2
- import { defineFragment } from '@fragments-sdk/cli/core';
2
+ import { defineFragment } from '@fragments-sdk/core';
3
3
  import { Switch } from '.';
4
4
 
5
5
  // Stateful wrapper for interactive demos