@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
@@ -22,40 +22,33 @@ export interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {
22
22
  severity?: AlertSeverity;
23
23
  }
24
24
 
25
- export interface AlertIconProps {
25
+ export interface AlertIconProps extends React.HTMLAttributes<HTMLSpanElement> {
26
26
  children?: React.ReactNode;
27
- className?: string;
28
27
  }
29
28
 
30
- export interface AlertTitleProps {
29
+ export interface AlertTitleProps extends React.HTMLAttributes<HTMLDivElement> {
31
30
  children: React.ReactNode;
32
- className?: string;
33
31
  }
34
32
 
35
- export interface AlertContentProps {
33
+ export interface AlertContentProps extends React.HTMLAttributes<HTMLDivElement> {
36
34
  children: React.ReactNode;
37
- className?: string;
38
35
  }
39
36
 
40
- export interface AlertActionsProps {
37
+ export interface AlertActionsProps extends React.HTMLAttributes<HTMLDivElement> {
41
38
  children: React.ReactNode;
42
- className?: string;
43
39
  }
44
40
 
45
- export interface AlertActionProps {
41
+ export interface AlertActionProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {
46
42
  children: React.ReactNode;
47
- onClick: () => void;
48
- className?: string;
43
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
49
44
  }
50
45
 
51
- export interface AlertCloseProps {
46
+ export interface AlertCloseProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
52
47
  children?: React.ReactNode;
53
- className?: string;
54
48
  }
55
49
 
56
- export interface AlertBodyProps {
50
+ export interface AlertBodyProps extends React.HTMLAttributes<HTMLDivElement> {
57
51
  children: React.ReactNode;
58
- className?: string;
59
52
  }
60
53
 
61
54
  // ============================================
@@ -79,6 +72,17 @@ function useAlertContext() {
79
72
  return context;
80
73
  }
81
74
 
75
+ function composeEventHandlers<E extends { defaultPrevented: boolean }>(
76
+ userHandler?: (event: E) => void,
77
+ internalHandler?: (event: E) => void
78
+ ) {
79
+ return (event: E) => {
80
+ userHandler?.(event);
81
+ if (event.defaultPrevented) return;
82
+ internalHandler?.(event);
83
+ };
84
+ }
85
+
82
86
  // ============================================
83
87
  // Severity Icons
84
88
  // ============================================
@@ -136,64 +140,79 @@ function AlertRoot({
136
140
  );
137
141
  }
138
142
 
139
- function AlertIcon({ children, className }: AlertIconProps) {
143
+ function AlertIcon({ children, className, ...htmlProps }: AlertIconProps) {
140
144
  const { severity } = useAlertContext();
141
145
  const classes = [styles.icon, className].filter(Boolean).join(' ');
142
146
 
143
147
  return (
144
- <span className={classes} aria-hidden="true">
148
+ <span {...htmlProps} className={classes} aria-hidden="true">
145
149
  {children ?? severityIcons[severity]}
146
150
  </span>
147
151
  );
148
152
  }
149
153
 
150
- function AlertBody({ children, className }: AlertBodyProps) {
154
+ function AlertBody({ children, className, ...htmlProps }: AlertBodyProps) {
151
155
  const classes = [styles.body, className].filter(Boolean).join(' ');
152
- return <div className={classes}>{children}</div>;
156
+ return <div {...htmlProps} className={classes}>{children}</div>;
153
157
  }
154
158
 
155
- function AlertTitle({ children, className }: AlertTitleProps) {
159
+ function AlertTitle({ children, className, ...htmlProps }: AlertTitleProps) {
156
160
  const { titleId } = useAlertContext();
157
161
  const classes = [styles.title, className].filter(Boolean).join(' ');
158
162
  return (
159
- <div id={titleId} className={classes}>
163
+ <div {...htmlProps} id={htmlProps.id ?? titleId} className={classes}>
160
164
  {children}
161
165
  </div>
162
166
  );
163
167
  }
164
168
 
165
- function AlertContent({ children, className }: AlertContentProps) {
169
+ function AlertContent({ children, className, ...htmlProps }: AlertContentProps) {
166
170
  const { descId } = useAlertContext();
167
171
  const classes = [styles.content, className].filter(Boolean).join(' ');
168
172
  return (
169
- <div id={descId} className={classes}>
173
+ <div {...htmlProps} id={htmlProps.id ?? descId} className={classes}>
170
174
  {children}
171
175
  </div>
172
176
  );
173
177
  }
174
178
 
175
- function AlertActions({ children, className }: AlertActionsProps) {
179
+ function AlertActions({ children, className, ...htmlProps }: AlertActionsProps) {
176
180
  const classes = [styles.actions, className].filter(Boolean).join(' ');
177
- return <div className={classes}>{children}</div>;
181
+ return <div {...htmlProps} className={classes}>{children}</div>;
178
182
  }
179
183
 
180
- function AlertAction({ children, onClick, className }: AlertActionProps) {
184
+ function AlertAction({
185
+ children,
186
+ onClick,
187
+ type = 'button',
188
+ className,
189
+ ...htmlProps
190
+ }: AlertActionProps) {
181
191
  const classes = [styles.action, className].filter(Boolean).join(' ');
182
192
  return (
183
- <BaseButton onClick={onClick} className={classes}>
193
+ <BaseButton {...htmlProps} onClick={onClick} type={type} className={classes}>
184
194
  {children}
185
195
  </BaseButton>
186
196
  );
187
197
  }
188
198
 
189
- function AlertClose({ children, className }: AlertCloseProps) {
199
+ function AlertClose({
200
+ children,
201
+ className,
202
+ onClick,
203
+ type = 'button',
204
+ 'aria-label': ariaLabel = 'Dismiss alert',
205
+ ...htmlProps
206
+ }: AlertCloseProps) {
190
207
  const { dismiss } = useAlertContext();
191
208
  const classes = [styles.close, className].filter(Boolean).join(' ');
192
209
 
193
210
  return (
194
211
  <BaseButton
195
- onClick={dismiss}
196
- aria-label="Dismiss alert"
212
+ {...htmlProps}
213
+ onClick={composeEventHandlers(onClick, dismiss)}
214
+ type={type}
215
+ aria-label={ariaLabel}
197
216
  className={classes}
198
217
  >
199
218
  {children ?? '\u00D7'}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ChartBar, Gear, House, MagnifyingGlass } from '@phosphor-icons/react';
3
- import { defineFragment } from '@fragments-sdk/cli/core';
3
+ import { defineFragment } from '@fragments-sdk/core';
4
4
  import { AppShell } from '.';
5
5
  import { Box } from '../Box';
6
6
  import { Header } from '../Header';
@@ -173,22 +173,22 @@
173
173
 
174
174
  // Padding variants
175
175
  .paddingSm {
176
- padding: var(--fui-padding-container-sm);
176
+ padding: var(--fui-space-3);
177
177
  }
178
178
 
179
179
  .paddingMd {
180
- padding: var(--fui-padding-container-md);
180
+ padding: var(--fui-space-4);
181
181
 
182
182
  @include breakpoint-md {
183
- padding: var(--fui-padding-container-lg);
183
+ padding: var(--fui-space-6);
184
184
  }
185
185
  }
186
186
 
187
187
  .paddingLg {
188
- padding: var(--fui-padding-container-lg);
188
+ padding: var(--fui-space-6);
189
189
 
190
190
  @include breakpoint-md {
191
- padding: var(--fui-padding-container-xl);
191
+ padding: var(--fui-space-8);
192
192
  }
193
193
  }
194
194
 
@@ -77,4 +77,16 @@ describe('AppShell', () => {
77
77
  );
78
78
  await expectNoA11yViolations(container);
79
79
  });
80
+
81
+ it('preserves root style props while applying internal CSS variables', () => {
82
+ const { container } = render(
83
+ <AppShell style={{ backgroundColor: 'rgb(1, 2, 3)' }}>
84
+ <AppShell.Main>Content</AppShell.Main>
85
+ </AppShell>
86
+ );
87
+
88
+ const root = container.firstElementChild as HTMLElement;
89
+ expect(root.style.backgroundColor).toBe('rgb(1, 2, 3)');
90
+ expect(root.style.getPropertyValue('--appshell-header-height')).toBe('56px');
91
+ });
80
92
  });
@@ -190,6 +190,7 @@ function AppShellInner({
190
190
  children,
191
191
  className,
192
192
  layout,
193
+ style: styleProp,
193
194
  ...htmlProps
194
195
  }: {
195
196
  children: React.ReactNode;
@@ -221,6 +222,7 @@ function AppShellInner({
221
222
  '--appshell-sidebar-expanded-width': appShell.sidebarWidth,
222
223
  '--appshell-sidebar-collapsed-width': appShell.sidebarCollapsedWidth,
223
224
  '--appshell-aside-width': appShell.asideVisible ? appShell.asideWidth : '0px',
225
+ ...styleProp,
224
226
  } as React.CSSProperties;
225
227
 
226
228
  return (
@@ -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 { Avatar } from '.';
4
4
  import { Stack } from '../Stack';
5
5
 
@@ -31,6 +31,7 @@ export default defineFragment({
31
31
  'Use consistent sizes within the same context',
32
32
  'Provide fallback initials when image may not load',
33
33
  'Use Avatar.Group for multiple avatars in a row',
34
+ 'Use imageProps for advanced img attributes (loading, decoding, referrerPolicy, etc.)',
34
35
  ],
35
36
  accessibility: [
36
37
  'Include meaningful alt text describing the user',
@@ -80,6 +81,10 @@ export default defineFragment({
80
81
  type: 'string',
81
82
  description: 'Inline style object applied to the underlying image element',
82
83
  },
84
+ imageProps: {
85
+ type: 'object',
86
+ description: 'Additional props for the underlying img element (except src/alt/className/style)',
87
+ },
83
88
  },
84
89
 
85
90
  relations: [
@@ -97,6 +102,7 @@ export default defineFragment({
97
102
  'size: xs|sm|md|lg|xl (default: md)',
98
103
  'customSize: number|string - custom size override',
99
104
  'imageStyle: CSSProperties - inline image styling',
105
+ 'imageProps: ImgHTMLAttributes - advanced img attributes',
100
106
  'shape: circle|square (default: circle)',
101
107
  ],
102
108
  scenarioTags: [
@@ -1,5 +1,5 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { render, screen, expectNoA11yViolations } from '../../test/utils';
1
+ import { describe, it, expect, vi } from 'vitest';
2
+ import { render, screen, act, expectNoA11yViolations } from '../../test/utils';
3
3
  import { Avatar } from './index';
4
4
 
5
5
  describe('Avatar', () => {
@@ -51,6 +51,28 @@ describe('Avatar', () => {
51
51
  expect(img).toHaveStyle({ objectPosition: 'center 24%', transform: 'scale(1.4)' });
52
52
  });
53
53
 
54
+ it('forwards imageProps to the underlying img and respects prevented onError', () => {
55
+ const onError = vi.fn((event: Event) => event.preventDefault());
56
+ render(
57
+ <Avatar
58
+ src="https://example.com/photo.jpg"
59
+ alt="Jane Doe"
60
+ imageProps={{ loading: 'lazy', referrerPolicy: 'no-referrer', onError }}
61
+ />
62
+ );
63
+
64
+ const img = screen.getByRole('img');
65
+ expect(img).toHaveAttribute('loading', 'lazy');
66
+ expect(img).toHaveAttribute('referrerpolicy', 'no-referrer');
67
+
68
+ act(() => {
69
+ img.dispatchEvent(new Event('error', { bubbles: false, cancelable: true }));
70
+ });
71
+
72
+ expect(onError).toHaveBeenCalledTimes(1);
73
+ expect(screen.queryByText('JD')).not.toBeInTheDocument();
74
+ });
75
+
54
76
  it('has no accessibility violations', async () => {
55
77
  const { container } = render(<Avatar name="Jane Doe" />);
56
78
  await expectNoA11yViolations(container);
@@ -32,6 +32,11 @@ export interface AvatarProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
32
32
  color?: string;
33
33
  /** Inline style for the underlying image element */
34
34
  imageStyle?: React.CSSProperties;
35
+ /** Additional props for the underlying img element */
36
+ imageProps?: Omit<
37
+ React.ImgHTMLAttributes<HTMLImageElement>,
38
+ 'src' | 'alt' | 'className' | 'style'
39
+ >;
35
40
  }
36
41
 
37
42
  export interface AvatarGroupProps extends React.HTMLAttributes<HTMLDivElement> {
@@ -113,6 +118,7 @@ const AvatarBase = React.forwardRef<HTMLDivElement, AvatarProps>(
113
118
  shape = 'circle',
114
119
  color,
115
120
  imageStyle,
121
+ imageProps,
116
122
  className,
117
123
  style: styleProp,
118
124
  ...htmlProps
@@ -175,10 +181,16 @@ const AvatarBase = React.forwardRef<HTMLDivElement, AvatarProps>(
175
181
  {!showFallback && (
176
182
  <img
177
183
  ref={imgRef}
184
+ {...imageProps}
178
185
  src={src}
179
186
  alt={alt}
180
187
  className={styles.image}
181
- onError={() => setImageError(true)}
188
+ onError={(event) => {
189
+ imageProps?.onError?.(event);
190
+ if (!event.defaultPrevented) {
191
+ setImageError(true);
192
+ }
193
+ }}
182
194
  style={{ ...imageStyle }}
183
195
  />
184
196
  )}
@@ -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 { Badge } from '.';
4
4
  import { Stack } from '../Stack';
5
5
 
@@ -33,6 +33,7 @@ export default defineFragment({
33
33
  'Use dot variant for live status indicators',
34
34
  'Pair success/error variants with meaningful labels, not just colors',
35
35
  'Use onRemove for user-created tags only, not system-generated badges',
36
+ 'Badges are not announced as live status updates by default; use announce for screen-reader status announcements when appropriate',
36
37
  ],
37
38
  accessibility: [
38
39
  'Badge text must be meaningful without relying on color alone',
@@ -72,6 +73,11 @@ export default defineFragment({
72
73
  type: 'function',
73
74
  description: 'Makes the badge removable. Called when X is clicked.',
74
75
  },
76
+ announce: {
77
+ type: 'boolean',
78
+ description: 'Opt into role="status" live announcement semantics',
79
+ default: 'false',
80
+ },
75
81
  },
76
82
 
77
83
  relations: [
@@ -86,6 +92,7 @@ export default defineFragment({
86
92
  'size: sm|md - badge size',
87
93
  'dot: boolean - show status dot indicator',
88
94
  'onRemove: () => void - makes badge removable',
95
+ 'announce: boolean - opt into role="status" + auto status aria-label',
89
96
  ],
90
97
  scenarioTags: [
91
98
  'feedback.status',
@@ -147,6 +154,14 @@ import { Stack } from '@/components/Stack';
147
154
  </Stack>
148
155
  ),
149
156
  },
157
+ {
158
+ name: 'Announced Status',
159
+ description: 'Opt into screen-reader status announcement behavior',
160
+ code: `import { Badge } from '@/components/Badge';
161
+
162
+ <Badge variant="success" announce>Saved</Badge>`,
163
+ render: () => <Badge variant="success" announce>Saved</Badge>,
164
+ },
150
165
  {
151
166
  name: 'Outline',
152
167
  description: 'Minimal bordered badge for neutral emphasis',
@@ -44,9 +44,16 @@ describe('Badge', () => {
44
44
  expect(onRemove).toHaveBeenCalledOnce();
45
45
  });
46
46
 
47
- it('sets role="status" and aria-label for status variants', () => {
47
+ it('does not implicitly announce status variants', () => {
48
48
  const { container } = render(<Badge variant="error">Failed</Badge>);
49
49
  const badge = container.firstChild as HTMLElement;
50
+ expect(badge).not.toHaveAttribute('role');
51
+ expect(badge).not.toHaveAttribute('aria-label', 'error: Failed');
52
+ });
53
+
54
+ it('announces badge content when announce is enabled', () => {
55
+ const { container } = render(<Badge variant="error" announce>Failed</Badge>);
56
+ const badge = container.firstChild as HTMLElement;
50
57
  expect(badge).toHaveAttribute('role', 'status');
51
58
  expect(badge).toHaveAttribute('aria-label', 'error: Failed');
52
59
  });
@@ -23,6 +23,9 @@ export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
23
23
  icon?: React.ReactNode;
24
24
  /** Makes the badge removable. Called when dismiss button is clicked. */
25
25
  onRemove?: () => void;
26
+ /** Announce badge content as status to assistive tech (opt-in).
27
+ * @default false */
28
+ announce?: boolean;
26
29
  }
27
30
 
28
31
  const BadgeRoot = React.forwardRef<HTMLSpanElement, BadgeProps>(
@@ -34,8 +37,10 @@ const BadgeRoot = React.forwardRef<HTMLSpanElement, BadgeProps>(
34
37
  dot = false,
35
38
  icon,
36
39
  onRemove,
40
+ announce = false,
37
41
  className,
38
42
  'aria-label': ariaLabel,
43
+ role,
39
44
  ...htmlProps
40
45
  },
41
46
  ref
@@ -46,7 +51,7 @@ const BadgeRoot = React.forwardRef<HTMLSpanElement, BadgeProps>(
46
51
 
47
52
  // For status badges, include the status in the aria-label if not provided
48
53
  const effectiveAriaLabel = ariaLabel || (
49
- variant !== 'default' && variant !== 'outline'
54
+ announce && variant !== 'default' && variant !== 'outline'
50
55
  ? `${variant}: ${typeof children === 'string' ? children : ''}`
51
56
  : undefined
52
57
  );
@@ -56,7 +61,7 @@ const BadgeRoot = React.forwardRef<HTMLSpanElement, BadgeProps>(
56
61
  ref={ref}
57
62
  {...htmlProps}
58
63
  className={classes}
59
- role={effectiveAriaLabel ? 'status' : undefined}
64
+ role={role ?? (announce ? 'status' : undefined)}
60
65
  aria-label={effectiveAriaLabel}
61
66
  >
62
67
  {dot && <span className={styles.dot} aria-hidden="true" />}
@@ -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 { BentoGrid } from '.';
4
4
 
5
5
  export default defineFragment({
@@ -30,6 +30,7 @@ export default defineFragment({
30
30
  'The hero item typically uses colSpan={2} rowSpan={2} at lg and above',
31
31
  'Items include built-in surface styling — no need to wrap children in Card',
32
32
  'Grid auto-collapses: 3→2 columns below lg, all→1 column below sm',
33
+ 'Root and Item forward DOM props (aria-*, data-*, handlers), and Item style merges with span CSS vars',
33
34
  ],
34
35
  accessibility: [
35
36
  'Grid is purely visual — it does not affect reading order or semantics',
@@ -77,6 +78,7 @@ export default defineFragment({
77
78
  'gap: none|xs|sm|md|lg|xl (default: md)',
78
79
  'BentoGrid.Item colSpan: 1|2|3 | { base, sm, md, lg, xl }',
79
80
  'BentoGrid.Item rowSpan: 1|2|3 | { base, sm, md, lg, xl }',
81
+ 'BentoGrid and BentoGrid.Item forward div DOM props; Item style is merged with generated span vars',
80
82
  ],
81
83
  scenarioTags: [
82
84
  'layout.bento',
@@ -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
  // BentoGrid Container
@@ -15,9 +15,15 @@
15
15
  // Column counts
16
16
  // ============================================
17
17
 
18
- .columns2 { grid-template-columns: repeat(2, 1fr); }
19
- .columns3 { grid-template-columns: repeat(3, 1fr); }
20
- .columns4 { grid-template-columns: repeat(4, 1fr); }
18
+ .columns2 {
19
+ grid-template-columns: repeat(2, 1fr);
20
+ }
21
+ .columns3 {
22
+ grid-template-columns: repeat(3, 1fr);
23
+ }
24
+ .columns4 {
25
+ grid-template-columns: repeat(4, 1fr);
26
+ }
21
27
 
22
28
  // ============================================
23
29
  // Responsive collapse
@@ -42,12 +48,24 @@
42
48
  // Gap
43
49
  // ============================================
44
50
 
45
- .gapNone { gap: 0; }
46
- .gapXs { gap: var(--fui-space-1, $fui-space-1); }
47
- .gapSm { gap: var(--fui-space-2, $fui-space-2); }
48
- .gapMd { gap: var(--fui-space-4, $fui-space-4); }
49
- .gapLg { gap: var(--fui-space-6, $fui-space-6); }
50
- .gapXl { gap: var(--fui-space-8, $fui-space-8); }
51
+ .gapNone {
52
+ gap: 0;
53
+ }
54
+ .gapXs {
55
+ gap: var(--fui-space-1, $fui-space-1);
56
+ }
57
+ .gapSm {
58
+ gap: var(--fui-space-2, $fui-space-2);
59
+ }
60
+ .gapMd {
61
+ gap: var(--fui-space-4, $fui-space-4);
62
+ }
63
+ .gapLg {
64
+ gap: var(--fui-space-6, $fui-space-6);
65
+ }
66
+ .gapXl {
67
+ gap: var(--fui-space-8, $fui-space-8);
68
+ }
51
69
 
52
70
  // ============================================
53
71
  // BentoGrid Item
@@ -57,7 +75,7 @@
57
75
  @include surface-elevated;
58
76
 
59
77
  min-width: 0;
60
- padding: var(--fui-padding-container-md, $fui-padding-container-md);
78
+ padding: var(--fui-space-2, $fui-space-2);
61
79
  transition:
62
80
  box-shadow var(--fui-transition-fast, $fui-transition-fast),
63
81
  border-color var(--fui-transition-fast, $fui-transition-fast),
@@ -87,13 +105,31 @@
87
105
  }
88
106
 
89
107
  @include breakpoint-lg {
90
- --_col-span: var(--bento-col-span-lg, var(--bento-col-span-md, var(--bento-col-span-sm, var(--bento-col-span, 1))));
91
- --_row-span: var(--bento-row-span-lg, var(--bento-row-span-md, var(--bento-row-span-sm, var(--bento-row-span, 1))));
108
+ --_col-span: var(
109
+ --bento-col-span-lg,
110
+ var(--bento-col-span-md, var(--bento-col-span-sm, var(--bento-col-span, 1)))
111
+ );
112
+ --_row-span: var(
113
+ --bento-row-span-lg,
114
+ var(--bento-row-span-md, var(--bento-row-span-sm, var(--bento-row-span, 1)))
115
+ );
92
116
  }
93
117
 
94
118
  @include breakpoint-xl {
95
- --_col-span: var(--bento-col-span-xl, var(--bento-col-span-lg, var(--bento-col-span-md, var(--bento-col-span-sm, var(--bento-col-span, 1)))));
96
- --_row-span: var(--bento-row-span-xl, var(--bento-row-span-lg, var(--bento-row-span-md, var(--bento-row-span-sm, var(--bento-row-span, 1)))));
119
+ --_col-span: var(
120
+ --bento-col-span-xl,
121
+ var(
122
+ --bento-col-span-lg,
123
+ var(--bento-col-span-md, var(--bento-col-span-sm, var(--bento-col-span, 1)))
124
+ )
125
+ );
126
+ --_row-span: var(
127
+ --bento-row-span-xl,
128
+ var(
129
+ --bento-row-span-lg,
130
+ var(--bento-row-span-md, var(--bento-row-span-sm, var(--bento-row-span, 1)))
131
+ )
132
+ );
97
133
  }
98
134
  }
99
135
 
@@ -125,6 +125,26 @@ describe('BentoGrid', () => {
125
125
  expect(item).toBeInTheDocument();
126
126
  });
127
127
 
128
+ it('forwards DOM props on root and item and merges item style with span vars', () => {
129
+ const { container } = render(
130
+ <BentoGrid data-testid="grid" aria-label="Bento grid">
131
+ <BentoGrid.Item
132
+ data-testid="item"
133
+ colSpan={2}
134
+ style={{ backgroundColor: 'rgb(1, 2, 3)' }}
135
+ >
136
+ Content
137
+ </BentoGrid.Item>
138
+ </BentoGrid>
139
+ );
140
+
141
+ expect(screen.getByTestId('grid')).toHaveAttribute('aria-label', 'Bento grid');
142
+ const item = screen.getByTestId('item');
143
+ expect(item).toHaveStyle({ backgroundColor: 'rgb(1, 2, 3)' });
144
+ expect(item.style.getPropertyValue('--bento-col-span')).toBe('2');
145
+ expect(container.querySelector('[data-testid=\"item\"]')).toBe(item);
146
+ });
147
+
128
148
  it('has no accessibility violations', async () => {
129
149
  const { container } = render(
130
150
  <BentoGrid columns={3}>
@@ -20,26 +20,20 @@ export interface ResponsiveSpan {
20
20
  xl?: SpanValue;
21
21
  }
22
22
 
23
- export interface BentoGridProps {
23
+ export interface BentoGridProps extends React.HTMLAttributes<HTMLDivElement> {
24
24
  children?: React.ReactNode;
25
25
  /** Number of columns (default: 3) — auto-collapses responsively */
26
26
  columns?: 2 | 3 | 4;
27
27
  /** Gap between grid items */
28
28
  gap?: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
29
- /** Additional class name */
30
- className?: string;
31
- /** Inline styles */
32
- style?: React.CSSProperties;
33
29
  }
34
30
 
35
- export interface BentoGridItemProps {
31
+ export interface BentoGridItemProps extends React.HTMLAttributes<HTMLDivElement> {
36
32
  children?: React.ReactNode;
37
33
  /** Columns to span — number for all breakpoints, object for per-breakpoint */
38
34
  colSpan?: SpanValue | ResponsiveSpan;
39
35
  /** Rows to span — number for all breakpoints, object for per-breakpoint */
40
36
  rowSpan?: SpanValue | ResponsiveSpan;
41
- /** Additional class name */
42
- className?: string;
43
37
  }
44
38
 
45
39
  // ============================================
@@ -82,6 +76,7 @@ export const BentoGrid = React.forwardRef<HTMLDivElement, BentoGridProps>(
82
76
  gap = 'md',
83
77
  className,
84
78
  style,
79
+ ...htmlProps
85
80
  },
86
81
  ref
87
82
  ) {
@@ -95,7 +90,7 @@ export const BentoGrid = React.forwardRef<HTMLDivElement, BentoGridProps>(
95
90
  .join(' ');
96
91
 
97
92
  return (
98
- <div ref={ref} className={classes} style={style}>
93
+ <div ref={ref} {...htmlProps} className={classes} style={style}>
99
94
  {children}
100
95
  </div>
101
96
  );
@@ -113,6 +108,8 @@ const BentoGridItem = React.forwardRef<HTMLDivElement, BentoGridItemProps>(
113
108
  colSpan,
114
109
  rowSpan,
115
110
  className,
111
+ style,
112
+ ...htmlProps
116
113
  },
117
114
  ref
118
115
  ) {
@@ -123,13 +120,13 @@ const BentoGridItem = React.forwardRef<HTMLDivElement, BentoGridItemProps>(
123
120
 
124
121
  const hasVars = Object.keys(spanVars).length > 0;
125
122
  const inlineStyle = hasVars
126
- ? (spanVars as unknown as React.CSSProperties)
127
- : undefined;
123
+ ? ({ ...(spanVars as unknown as React.CSSProperties), ...style } as React.CSSProperties)
124
+ : style;
128
125
 
129
126
  const classes = [styles.item, className].filter(Boolean).join(' ');
130
127
 
131
128
  return (
132
- <div ref={ref} className={classes} style={inlineStyle}>
129
+ <div ref={ref} {...htmlProps} className={classes} style={inlineStyle}>
133
130
  {children}
134
131
  </div>
135
132
  );