@d4gger/design-system 3.0.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (772) hide show
  1. package/README.md +19 -0
  2. package/dist/{components/controlGroup/ControlGroup.cjs → _internal/floatingLayer.cjs} +11 -26
  3. package/dist/_internal/floatingLayer.cjs.map +7 -0
  4. package/dist/_internal/floatingLayer.d.cts +28 -0
  5. package/dist/_internal/floatingLayer.d.cts.map +1 -0
  6. package/dist/_internal/floatingLayer.d.mts +28 -0
  7. package/dist/_internal/floatingLayer.d.mts.map +1 -0
  8. package/dist/_internal/floatingLayer.d.ts +28 -0
  9. package/dist/_internal/floatingLayer.d.ts.map +1 -0
  10. package/dist/_internal/floatingLayer.js +11 -0
  11. package/dist/_internal/floatingLayer.js.map +7 -0
  12. package/dist/components/accordion.css +9 -2
  13. package/dist/components/alert/Alert.cjs +11 -7
  14. package/dist/components/alert/Alert.cjs.map +2 -2
  15. package/dist/components/alert/Alert.d.cts.map +1 -1
  16. package/dist/components/alert/Alert.d.mts.map +1 -1
  17. package/dist/components/alert/Alert.d.ts.map +1 -1
  18. package/dist/components/alert/Alert.js +12 -8
  19. package/dist/components/alert/Alert.js.map +2 -2
  20. package/dist/components/alert.css +13 -0
  21. package/dist/components/article-nodes.css +16 -1
  22. package/dist/components/articleNodes/ArticleNodes.cjs +46 -5
  23. package/dist/components/articleNodes/ArticleNodes.cjs.map +2 -2
  24. package/dist/components/articleNodes/ArticleNodes.d.cts +7 -3
  25. package/dist/components/articleNodes/ArticleNodes.d.cts.map +1 -1
  26. package/dist/components/articleNodes/ArticleNodes.d.mts +7 -3
  27. package/dist/components/articleNodes/ArticleNodes.d.mts.map +1 -1
  28. package/dist/components/articleNodes/ArticleNodes.d.ts +7 -3
  29. package/dist/components/articleNodes/ArticleNodes.d.ts.map +1 -1
  30. package/dist/components/articleNodes/ArticleNodes.js +46 -5
  31. package/dist/components/articleNodes/ArticleNodes.js.map +2 -2
  32. package/dist/components/articleNodes/articleExtensions.cjs +21 -4
  33. package/dist/components/articleNodes/articleExtensions.cjs.map +2 -2
  34. package/dist/components/articleNodes/articleExtensions.d.cts +8 -2
  35. package/dist/components/articleNodes/articleExtensions.d.cts.map +1 -1
  36. package/dist/components/articleNodes/articleExtensions.d.mts +8 -2
  37. package/dist/components/articleNodes/articleExtensions.d.mts.map +1 -1
  38. package/dist/components/articleNodes/articleExtensions.d.ts +8 -2
  39. package/dist/components/articleNodes/articleExtensions.d.ts.map +1 -1
  40. package/dist/components/articleNodes/articleExtensions.js +21 -4
  41. package/dist/components/articleNodes/articleExtensions.js.map +2 -2
  42. package/dist/components/articleNodes/articleNodeViews.cjs +154 -0
  43. package/dist/components/articleNodes/articleNodeViews.cjs.map +7 -0
  44. package/dist/components/articleNodes/articleNodeViews.d.cts +3 -0
  45. package/dist/components/articleNodes/articleNodeViews.d.cts.map +1 -0
  46. package/dist/components/articleNodes/articleNodeViews.d.mts +3 -0
  47. package/dist/components/articleNodes/articleNodeViews.d.mts.map +1 -0
  48. package/dist/components/articleNodes/articleNodeViews.d.ts +3 -0
  49. package/dist/components/articleNodes/articleNodeViews.d.ts.map +1 -0
  50. package/dist/components/articleNodes/articleNodeViews.js +124 -0
  51. package/dist/components/articleNodes/articleNodeViews.js.map +7 -0
  52. package/dist/components/articleNodes/articleNodes.props.cjs.map +1 -1
  53. package/dist/components/articleNodes/articleNodes.props.d.cts +25 -2
  54. package/dist/components/articleNodes/articleNodes.props.d.cts.map +1 -1
  55. package/dist/components/articleNodes/articleNodes.props.d.mts +25 -2
  56. package/dist/components/articleNodes/articleNodes.props.d.mts.map +1 -1
  57. package/dist/components/articleNodes/articleNodes.props.d.ts +25 -2
  58. package/dist/components/articleNodes/articleNodes.props.d.ts.map +1 -1
  59. package/dist/components/banner/Banner.cjs +105 -0
  60. package/dist/components/banner/Banner.cjs.map +7 -0
  61. package/dist/components/banner/Banner.d.cts +27 -0
  62. package/dist/components/banner/Banner.d.cts.map +1 -0
  63. package/dist/components/banner/Banner.d.mts +27 -0
  64. package/dist/components/banner/Banner.d.mts.map +1 -0
  65. package/dist/components/banner/Banner.d.ts +27 -0
  66. package/dist/components/banner/Banner.d.ts.map +1 -0
  67. package/dist/components/banner/Banner.js +80 -0
  68. package/dist/components/banner/Banner.js.map +7 -0
  69. package/dist/components/{controlGroup/controlGroup.props.cjs → banner/banner.props.cjs} +23 -16
  70. package/dist/components/banner/banner.props.cjs.map +7 -0
  71. package/dist/components/banner/banner.props.d.cts +32 -0
  72. package/dist/components/banner/banner.props.d.cts.map +1 -0
  73. package/dist/components/banner/banner.props.d.mts +32 -0
  74. package/dist/components/banner/banner.props.d.mts.map +1 -0
  75. package/dist/components/banner/banner.props.d.ts +32 -0
  76. package/dist/components/banner/banner.props.d.ts.map +1 -0
  77. package/dist/components/banner/banner.props.js +27 -0
  78. package/dist/components/banner/banner.props.js.map +7 -0
  79. package/dist/components/banner.css +61 -0
  80. package/dist/components/blockquote.css +7 -4
  81. package/dist/components/bottom-dock.css +132 -0
  82. package/dist/components/bottomDock/BottomDock.cjs +140 -0
  83. package/dist/components/bottomDock/BottomDock.cjs.map +7 -0
  84. package/dist/components/bottomDock/BottomDock.d.cts +25 -0
  85. package/dist/components/bottomDock/BottomDock.d.cts.map +1 -0
  86. package/dist/components/bottomDock/BottomDock.d.mts +25 -0
  87. package/dist/components/bottomDock/BottomDock.d.mts.map +1 -0
  88. package/dist/components/bottomDock/BottomDock.d.ts +25 -0
  89. package/dist/components/bottomDock/BottomDock.d.ts.map +1 -0
  90. package/dist/components/bottomDock/BottomDock.js +110 -0
  91. package/dist/components/bottomDock/BottomDock.js.map +7 -0
  92. package/dist/components/bottomDock/bottomDock.props.cjs +49 -0
  93. package/dist/components/bottomDock/bottomDock.props.cjs.map +7 -0
  94. package/dist/components/bottomDock/bottomDock.props.d.cts +29 -0
  95. package/dist/components/bottomDock/bottomDock.props.d.cts.map +1 -0
  96. package/dist/components/bottomDock/bottomDock.props.d.mts +29 -0
  97. package/dist/components/bottomDock/bottomDock.props.d.mts.map +1 -0
  98. package/dist/components/bottomDock/bottomDock.props.d.ts +29 -0
  99. package/dist/components/bottomDock/bottomDock.props.d.ts.map +1 -0
  100. package/dist/components/bottomDock/bottomDock.props.js +29 -0
  101. package/dist/components/bottomDock/bottomDock.props.js.map +7 -0
  102. package/dist/components/breadcrumb.css +24 -3
  103. package/dist/components/button-group.css +25 -0
  104. package/dist/components/button.css +9 -0
  105. package/dist/components/callout.css +20 -7
  106. package/dist/components/card.css +11 -0
  107. package/dist/components/carousel/Carousel.cjs +109 -39
  108. package/dist/components/carousel/Carousel.cjs.map +3 -3
  109. package/dist/components/carousel/Carousel.d.cts.map +1 -1
  110. package/dist/components/carousel/Carousel.d.mts.map +1 -1
  111. package/dist/components/carousel/Carousel.d.ts.map +1 -1
  112. package/dist/components/carousel/Carousel.js +111 -41
  113. package/dist/components/carousel/Carousel.js.map +3 -3
  114. package/dist/components/carousel.css +93 -26
  115. package/dist/components/chart/Chart.cjs +61 -11
  116. package/dist/components/chart/Chart.cjs.map +2 -2
  117. package/dist/components/chart/Chart.d.cts.map +1 -1
  118. package/dist/components/chart/Chart.d.mts.map +1 -1
  119. package/dist/components/chart/Chart.d.ts.map +1 -1
  120. package/dist/components/chart/Chart.js +62 -11
  121. package/dist/components/chart/Chart.js.map +2 -2
  122. package/dist/components/chart.css +10 -1
  123. package/dist/components/checkbox.css +14 -0
  124. package/dist/components/code.css +29 -13
  125. package/dist/components/collapsible/Collapsible.cjs +4 -0
  126. package/dist/components/collapsible/Collapsible.cjs.map +2 -2
  127. package/dist/components/collapsible/Collapsible.d.cts.map +1 -1
  128. package/dist/components/collapsible/Collapsible.d.mts.map +1 -1
  129. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  130. package/dist/components/collapsible/Collapsible.js +4 -0
  131. package/dist/components/collapsible/Collapsible.js.map +2 -2
  132. package/dist/components/collapsible.css +10 -1
  133. package/dist/components/combobox/Combobox.cjs +3 -1
  134. package/dist/components/combobox/Combobox.cjs.map +2 -2
  135. package/dist/components/combobox/Combobox.d.cts.map +1 -1
  136. package/dist/components/combobox/Combobox.d.mts.map +1 -1
  137. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  138. package/dist/components/combobox/Combobox.js +3 -1
  139. package/dist/components/combobox/Combobox.js.map +2 -2
  140. package/dist/components/combobox.css +5 -1
  141. package/dist/components/command/Command.cjs +1 -1
  142. package/dist/components/command/Command.cjs.map +2 -2
  143. package/dist/components/command/Command.js +1 -1
  144. package/dist/components/command/Command.js.map +2 -2
  145. package/dist/components/command.css +0 -2
  146. package/dist/components/comment-thread.css +15 -7
  147. package/dist/components/commentThread/CommentThread.cjs +45 -17
  148. package/dist/components/commentThread/CommentThread.cjs.map +2 -2
  149. package/dist/components/commentThread/CommentThread.d.cts +6 -6
  150. package/dist/components/commentThread/CommentThread.d.cts.map +1 -1
  151. package/dist/components/commentThread/CommentThread.d.mts +6 -6
  152. package/dist/components/commentThread/CommentThread.d.mts.map +1 -1
  153. package/dist/components/commentThread/CommentThread.d.ts +6 -6
  154. package/dist/components/commentThread/CommentThread.d.ts.map +1 -1
  155. package/dist/components/commentThread/CommentThread.js +45 -17
  156. package/dist/components/commentThread/CommentThread.js.map +2 -2
  157. package/dist/components/commentThread/commentThread.props.cjs.map +1 -1
  158. package/dist/components/commentThread/commentThread.props.d.cts +24 -0
  159. package/dist/components/commentThread/commentThread.props.d.cts.map +1 -1
  160. package/dist/components/commentThread/commentThread.props.d.mts +24 -0
  161. package/dist/components/commentThread/commentThread.props.d.mts.map +1 -1
  162. package/dist/components/commentThread/commentThread.props.d.ts +24 -0
  163. package/dist/components/commentThread/commentThread.props.d.ts.map +1 -1
  164. package/dist/components/config-drawer.css +7 -3
  165. package/dist/components/configDrawer/ConfigDrawer.cjs +1 -1
  166. package/dist/components/configDrawer/ConfigDrawer.cjs.map +2 -2
  167. package/dist/components/configDrawer/ConfigDrawer.js +1 -1
  168. package/dist/components/configDrawer/ConfigDrawer.js.map +2 -2
  169. package/dist/components/context-menu.css +4 -2
  170. package/dist/components/contextMenu/ContextMenu.cjs +37 -6
  171. package/dist/components/contextMenu/ContextMenu.cjs.map +2 -2
  172. package/dist/components/contextMenu/ContextMenu.d.cts +1 -1
  173. package/dist/components/contextMenu/ContextMenu.d.cts.map +1 -1
  174. package/dist/components/contextMenu/ContextMenu.d.mts +1 -1
  175. package/dist/components/contextMenu/ContextMenu.d.mts.map +1 -1
  176. package/dist/components/contextMenu/ContextMenu.d.ts +1 -1
  177. package/dist/components/contextMenu/ContextMenu.d.ts.map +1 -1
  178. package/dist/components/contextMenu/ContextMenu.js +37 -6
  179. package/dist/components/contextMenu/ContextMenu.js.map +2 -2
  180. package/dist/components/copy-field.css +18 -0
  181. package/dist/components/copyField/CopyField.cjs +3 -3
  182. package/dist/components/copyField/CopyField.cjs.map +2 -2
  183. package/dist/components/copyField/CopyField.d.cts.map +1 -1
  184. package/dist/components/copyField/CopyField.d.mts.map +1 -1
  185. package/dist/components/copyField/CopyField.d.ts.map +1 -1
  186. package/dist/components/copyField/CopyField.js +3 -3
  187. package/dist/components/copyField/CopyField.js.map +2 -2
  188. package/dist/components/data-list.css +19 -4
  189. package/dist/components/data-table.css +190 -0
  190. package/dist/components/dataTable/DataTable.cjs +193 -68
  191. package/dist/components/dataTable/DataTable.cjs.map +3 -3
  192. package/dist/components/dataTable/DataTable.d.cts +29 -1
  193. package/dist/components/dataTable/DataTable.d.cts.map +1 -1
  194. package/dist/components/dataTable/DataTable.d.mts +29 -1
  195. package/dist/components/dataTable/DataTable.d.mts.map +1 -1
  196. package/dist/components/dataTable/DataTable.d.ts +29 -1
  197. package/dist/components/dataTable/DataTable.d.ts.map +1 -1
  198. package/dist/components/dataTable/DataTable.js +193 -68
  199. package/dist/components/dataTable/DataTable.js.map +2 -2
  200. package/dist/components/dataTable/DataTableContext.cjs +41 -0
  201. package/dist/components/dataTable/DataTableContext.cjs.map +7 -0
  202. package/dist/components/dataTable/DataTableContext.d.cts +23 -0
  203. package/dist/components/dataTable/DataTableContext.d.cts.map +1 -0
  204. package/dist/components/dataTable/DataTableContext.d.mts +23 -0
  205. package/dist/components/dataTable/DataTableContext.d.mts.map +1 -0
  206. package/dist/components/dataTable/DataTableContext.d.ts +23 -0
  207. package/dist/components/dataTable/DataTableContext.d.ts.map +1 -0
  208. package/dist/components/dataTable/DataTableContext.js +11 -0
  209. package/dist/components/dataTable/DataTableContext.js.map +7 -0
  210. package/dist/components/dataTable/DataTablePagination.cjs +72 -47
  211. package/dist/components/dataTable/DataTablePagination.cjs.map +2 -2
  212. package/dist/components/dataTable/DataTablePagination.d.cts +5 -1
  213. package/dist/components/dataTable/DataTablePagination.d.cts.map +1 -1
  214. package/dist/components/dataTable/DataTablePagination.d.mts +5 -1
  215. package/dist/components/dataTable/DataTablePagination.d.mts.map +1 -1
  216. package/dist/components/dataTable/DataTablePagination.d.ts +5 -1
  217. package/dist/components/dataTable/DataTablePagination.d.ts.map +1 -1
  218. package/dist/components/dataTable/DataTablePagination.js +75 -47
  219. package/dist/components/dataTable/DataTablePagination.js.map +2 -2
  220. package/dist/components/dataTable/DataTableToolbar.cjs +122 -93
  221. package/dist/components/dataTable/DataTableToolbar.cjs.map +2 -2
  222. package/dist/components/dataTable/DataTableToolbar.d.cts +6 -5
  223. package/dist/components/dataTable/DataTableToolbar.d.cts.map +1 -1
  224. package/dist/components/dataTable/DataTableToolbar.d.mts +6 -5
  225. package/dist/components/dataTable/DataTableToolbar.d.mts.map +1 -1
  226. package/dist/components/dataTable/DataTableToolbar.d.ts +6 -5
  227. package/dist/components/dataTable/DataTableToolbar.d.ts.map +1 -1
  228. package/dist/components/dataTable/DataTableToolbar.js +123 -94
  229. package/dist/components/dataTable/DataTableToolbar.js.map +2 -2
  230. package/dist/components/dataTable/dataTable.export.cjs +83 -0
  231. package/dist/components/dataTable/dataTable.export.cjs.map +7 -0
  232. package/dist/components/dataTable/dataTable.export.d.cts +11 -0
  233. package/dist/components/dataTable/dataTable.export.d.cts.map +1 -0
  234. package/dist/components/dataTable/dataTable.export.d.mts +11 -0
  235. package/dist/components/dataTable/dataTable.export.d.mts.map +1 -0
  236. package/dist/components/dataTable/dataTable.export.d.ts +11 -0
  237. package/dist/components/dataTable/dataTable.export.d.ts.map +1 -0
  238. package/dist/components/dataTable/dataTable.export.js +63 -0
  239. package/dist/components/dataTable/dataTable.export.js.map +7 -0
  240. package/dist/components/dataTable/dataTable.props.cjs +23 -1
  241. package/dist/components/dataTable/dataTable.props.cjs.map +2 -2
  242. package/dist/components/dataTable/dataTable.props.d.cts +21 -1
  243. package/dist/components/dataTable/dataTable.props.d.cts.map +1 -1
  244. package/dist/components/dataTable/dataTable.props.d.mts +21 -1
  245. package/dist/components/dataTable/dataTable.props.d.mts.map +1 -1
  246. package/dist/components/dataTable/dataTable.props.d.ts +21 -1
  247. package/dist/components/dataTable/dataTable.props.d.ts.map +1 -1
  248. package/dist/components/dataTable/dataTable.props.js +23 -1
  249. package/dist/components/dataTable/dataTable.props.js.map +2 -2
  250. package/dist/components/dialog/Dialog.cjs +2 -1
  251. package/dist/components/dialog/Dialog.cjs.map +2 -2
  252. package/dist/components/dialog/Dialog.d.cts.map +1 -1
  253. package/dist/components/dialog/Dialog.d.mts.map +1 -1
  254. package/dist/components/dialog/Dialog.d.ts.map +1 -1
  255. package/dist/components/dialog/Dialog.js +2 -1
  256. package/dist/components/dialog/Dialog.js.map +2 -2
  257. package/dist/components/drawer.css +23 -6
  258. package/dist/components/dropdown-menu.css +1 -1
  259. package/dist/components/dropdownMenu/DropdownMenu.cjs +10 -5
  260. package/dist/components/dropdownMenu/DropdownMenu.cjs.map +2 -2
  261. package/dist/components/dropdownMenu/DropdownMenu.d.cts.map +1 -1
  262. package/dist/components/dropdownMenu/DropdownMenu.d.mts.map +1 -1
  263. package/dist/components/dropdownMenu/DropdownMenu.d.ts.map +1 -1
  264. package/dist/components/dropdownMenu/DropdownMenu.js +10 -5
  265. package/dist/components/dropdownMenu/DropdownMenu.js.map +2 -2
  266. package/dist/components/empty-state.css +5 -0
  267. package/dist/components/file-upload.css +36 -9
  268. package/dist/components/fileUpload/FileUpload.cjs +10 -1
  269. package/dist/components/fileUpload/FileUpload.cjs.map +2 -2
  270. package/dist/components/fileUpload/FileUpload.d.cts +1 -0
  271. package/dist/components/fileUpload/FileUpload.d.cts.map +1 -1
  272. package/dist/components/fileUpload/FileUpload.d.mts +1 -0
  273. package/dist/components/fileUpload/FileUpload.d.mts.map +1 -1
  274. package/dist/components/fileUpload/FileUpload.d.ts +1 -0
  275. package/dist/components/fileUpload/FileUpload.d.ts.map +1 -1
  276. package/dist/components/fileUpload/FileUpload.js +10 -1
  277. package/dist/components/fileUpload/FileUpload.js.map +2 -2
  278. package/dist/components/filter-bar.css +380 -8
  279. package/dist/components/filterBar/FilterBar.cjs +630 -1
  280. package/dist/components/filterBar/FilterBar.cjs.map +2 -2
  281. package/dist/components/filterBar/FilterBar.d.cts +132 -2
  282. package/dist/components/filterBar/FilterBar.d.cts.map +1 -1
  283. package/dist/components/filterBar/FilterBar.d.mts +132 -2
  284. package/dist/components/filterBar/FilterBar.d.mts.map +1 -1
  285. package/dist/components/filterBar/FilterBar.d.ts +132 -2
  286. package/dist/components/filterBar/FilterBar.d.ts.map +1 -1
  287. package/dist/components/filterBar/FilterBar.js +631 -2
  288. package/dist/components/filterBar/FilterBar.js.map +2 -2
  289. package/dist/components/floating-panel.css +50 -19
  290. package/dist/components/floatingPanel/FloatingPanel.cjs +156 -58
  291. package/dist/components/floatingPanel/FloatingPanel.cjs.map +2 -2
  292. package/dist/components/floatingPanel/FloatingPanel.d.cts.map +1 -1
  293. package/dist/components/floatingPanel/FloatingPanel.d.mts.map +1 -1
  294. package/dist/components/floatingPanel/FloatingPanel.d.ts.map +1 -1
  295. package/dist/components/floatingPanel/FloatingPanel.js +156 -58
  296. package/dist/components/floatingPanel/FloatingPanel.js.map +2 -2
  297. package/dist/components/fontProvider/FontProvider.cjs +1 -1
  298. package/dist/components/fontProvider/FontProvider.cjs.map +1 -1
  299. package/dist/components/fontProvider/FontProvider.js +1 -1
  300. package/dist/components/fontProvider/FontProvider.js.map +1 -1
  301. package/dist/components/grid/Grid.cjs +24 -35
  302. package/dist/components/grid/Grid.cjs.map +2 -2
  303. package/dist/components/grid/Grid.d.cts.map +1 -1
  304. package/dist/components/grid/Grid.d.mts.map +1 -1
  305. package/dist/components/grid/Grid.d.ts.map +1 -1
  306. package/dist/components/grid/Grid.js +24 -35
  307. package/dist/components/grid/Grid.js.map +2 -2
  308. package/dist/components/heading/Heading.cjs +1 -8
  309. package/dist/components/heading/Heading.cjs.map +2 -2
  310. package/dist/components/heading/Heading.d.cts.map +1 -1
  311. package/dist/components/heading/Heading.d.mts.map +1 -1
  312. package/dist/components/heading/Heading.d.ts.map +1 -1
  313. package/dist/components/heading/Heading.js +1 -8
  314. package/dist/components/heading/Heading.js.map +2 -2
  315. package/dist/components/heading/heading.props.cjs +9 -9
  316. package/dist/components/heading/heading.props.cjs.map +2 -2
  317. package/dist/components/heading/heading.props.d.cts +42 -43
  318. package/dist/components/heading/heading.props.d.cts.map +1 -1
  319. package/dist/components/heading/heading.props.d.mts +42 -43
  320. package/dist/components/heading/heading.props.d.mts.map +1 -1
  321. package/dist/components/heading/heading.props.d.ts +42 -43
  322. package/dist/components/heading/heading.props.d.ts.map +1 -1
  323. package/dist/components/heading/heading.props.js +9 -9
  324. package/dist/components/heading/heading.props.js.map +2 -2
  325. package/dist/components/heading.css +127 -104
  326. package/dist/components/hover-card.css +5 -2
  327. package/dist/components/icon/Icon.cjs +28 -2
  328. package/dist/components/icon/Icon.cjs.map +2 -2
  329. package/dist/components/icon/Icon.d.cts +33 -1
  330. package/dist/components/icon/Icon.d.cts.map +1 -1
  331. package/dist/components/icon/Icon.d.mts +33 -1
  332. package/dist/components/icon/Icon.d.mts.map +1 -1
  333. package/dist/components/icon/Icon.d.ts +33 -1
  334. package/dist/components/icon/Icon.d.ts.map +1 -1
  335. package/dist/components/icon/Icon.js +37 -2
  336. package/dist/components/icon/Icon.js.map +2 -2
  337. package/dist/components/icon/icons.cjs +18 -0
  338. package/dist/components/icon/icons.cjs.map +2 -2
  339. package/dist/components/icon/icons.d.cts +45 -0
  340. package/dist/components/icon/icons.d.cts.map +1 -1
  341. package/dist/components/icon/icons.d.mts +45 -0
  342. package/dist/components/icon/icons.d.mts.map +1 -1
  343. package/dist/components/icon/icons.d.ts +45 -0
  344. package/dist/components/icon/icons.d.ts.map +1 -1
  345. package/dist/components/icon/icons.js +18 -0
  346. package/dist/components/icon/icons.js.map +2 -2
  347. package/dist/components/icon-button.css +29 -0
  348. package/dist/components/index.cjs +2 -1
  349. package/dist/components/index.cjs.map +2 -2
  350. package/dist/components/index.d.cts +2 -1
  351. package/dist/components/index.d.cts.map +1 -1
  352. package/dist/components/index.d.mts +2 -1
  353. package/dist/components/index.d.mts.map +1 -1
  354. package/dist/components/index.d.ts +2 -1
  355. package/dist/components/index.d.ts.map +1 -1
  356. package/dist/components/index.js +2 -1
  357. package/dist/components/index.js.map +2 -2
  358. package/dist/components/item/Item.cjs +1 -1
  359. package/dist/components/item/Item.cjs.map +2 -2
  360. package/dist/components/item/Item.js +1 -1
  361. package/dist/components/item/Item.js.map +2 -2
  362. package/dist/components/item.css +12 -1
  363. package/dist/components/label.css +3 -0
  364. package/dist/components/link.css +33 -97
  365. package/dist/components/marquee/Marquee.cjs +1 -1
  366. package/dist/components/marquee/Marquee.cjs.map +2 -2
  367. package/dist/components/marquee/Marquee.js +1 -1
  368. package/dist/components/marquee/Marquee.js.map +2 -2
  369. package/dist/components/marquee.css +6 -0
  370. package/dist/components/menu/Menu.cjs +3 -1
  371. package/dist/components/menu/Menu.cjs.map +2 -2
  372. package/dist/components/menu/Menu.d.cts.map +1 -1
  373. package/dist/components/menu/Menu.d.mts.map +1 -1
  374. package/dist/components/menu/Menu.d.ts.map +1 -1
  375. package/dist/components/menu/Menu.js +3 -1
  376. package/dist/components/menu/Menu.js.map +2 -2
  377. package/dist/components/menubar.css +1 -1
  378. package/dist/components/metric.css +5 -0
  379. package/dist/components/notification-center.css +49 -9
  380. package/dist/components/notificationCenter/NotificationCenter.cjs +21 -16
  381. package/dist/components/notificationCenter/NotificationCenter.cjs.map +2 -2
  382. package/dist/components/notificationCenter/NotificationCenter.d.cts.map +1 -1
  383. package/dist/components/notificationCenter/NotificationCenter.d.mts.map +1 -1
  384. package/dist/components/notificationCenter/NotificationCenter.d.ts.map +1 -1
  385. package/dist/components/notificationCenter/NotificationCenter.js +22 -17
  386. package/dist/components/notificationCenter/NotificationCenter.js.map +2 -2
  387. package/dist/components/pagination/Pagination.cjs +143 -17
  388. package/dist/components/pagination/Pagination.cjs.map +2 -2
  389. package/dist/components/pagination/Pagination.d.cts +64 -4
  390. package/dist/components/pagination/Pagination.d.cts.map +1 -1
  391. package/dist/components/pagination/Pagination.d.mts +64 -4
  392. package/dist/components/pagination/Pagination.d.mts.map +1 -1
  393. package/dist/components/pagination/Pagination.d.ts +64 -4
  394. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  395. package/dist/components/pagination/Pagination.js +143 -17
  396. package/dist/components/pagination/Pagination.js.map +2 -2
  397. package/dist/components/pagination.css +50 -8
  398. package/dist/components/phoneInput/PhoneInput.cjs +18 -13
  399. package/dist/components/phoneInput/PhoneInput.cjs.map +2 -2
  400. package/dist/components/phoneInput/PhoneInput.d.cts.map +1 -1
  401. package/dist/components/phoneInput/PhoneInput.d.mts.map +1 -1
  402. package/dist/components/phoneInput/PhoneInput.d.ts.map +1 -1
  403. package/dist/components/phoneInput/PhoneInput.js +19 -14
  404. package/dist/components/phoneInput/PhoneInput.js.map +2 -2
  405. package/dist/components/pills/Pills.cjs +1 -1
  406. package/dist/components/pills/Pills.cjs.map +2 -2
  407. package/dist/components/pills/Pills.js +2 -2
  408. package/dist/components/pills/Pills.js.map +2 -2
  409. package/dist/components/pills.css +6 -0
  410. package/dist/components/popover/Popover.cjs +2 -1
  411. package/dist/components/popover/Popover.cjs.map +2 -2
  412. package/dist/components/popover/Popover.d.cts.map +1 -1
  413. package/dist/components/popover/Popover.d.mts.map +1 -1
  414. package/dist/components/popover/Popover.d.ts.map +1 -1
  415. package/dist/components/popover/Popover.js +2 -1
  416. package/dist/components/popover/Popover.js.map +2 -2
  417. package/dist/components/popover.css +45 -6
  418. package/dist/components/prose.css +4 -4
  419. package/dist/components/qr-code.css +10 -17
  420. package/dist/components/qrCode/QrCode.cjs +14 -11
  421. package/dist/components/qrCode/QrCode.cjs.map +2 -2
  422. package/dist/components/qrCode/QrCode.d.cts.map +1 -1
  423. package/dist/components/qrCode/QrCode.d.mts.map +1 -1
  424. package/dist/components/qrCode/QrCode.d.ts.map +1 -1
  425. package/dist/components/qrCode/QrCode.js +14 -11
  426. package/dist/components/qrCode/QrCode.js.map +2 -2
  427. package/dist/components/radio-group.css +19 -0
  428. package/dist/components/radioGroup/RadioGroup.cjs +3 -2
  429. package/dist/components/radioGroup/RadioGroup.cjs.map +2 -2
  430. package/dist/components/radioGroup/RadioGroup.d.cts.map +1 -1
  431. package/dist/components/radioGroup/RadioGroup.d.mts.map +1 -1
  432. package/dist/components/radioGroup/RadioGroup.d.ts.map +1 -1
  433. package/dist/components/radioGroup/RadioGroup.js +3 -2
  434. package/dist/components/radioGroup/RadioGroup.js.map +2 -2
  435. package/dist/components/radioGroup/radioGroup.props.cjs +1 -1
  436. package/dist/components/radioGroup/radioGroup.props.cjs.map +2 -2
  437. package/dist/components/radioGroup/radioGroup.props.d.cts +1 -1
  438. package/dist/components/radioGroup/radioGroup.props.d.mts +1 -1
  439. package/dist/components/radioGroup/radioGroup.props.d.ts +1 -1
  440. package/dist/components/radioGroup/radioGroup.props.js +1 -1
  441. package/dist/components/radioGroup/radioGroup.props.js.map +2 -2
  442. package/dist/components/rating.css +12 -0
  443. package/dist/components/resizable.css +20 -4
  444. package/dist/components/result.css +2 -1
  445. package/dist/components/rich-text-editor.css +50 -14
  446. package/dist/components/richTextEditor/EditorTools.cjs +226 -0
  447. package/dist/components/richTextEditor/EditorTools.cjs.map +7 -0
  448. package/dist/components/richTextEditor/EditorTools.d.cts +22 -0
  449. package/dist/components/richTextEditor/EditorTools.d.cts.map +1 -0
  450. package/dist/components/richTextEditor/EditorTools.d.mts +22 -0
  451. package/dist/components/richTextEditor/EditorTools.d.mts.map +1 -0
  452. package/dist/components/richTextEditor/EditorTools.d.ts +22 -0
  453. package/dist/components/richTextEditor/EditorTools.d.ts.map +1 -0
  454. package/dist/components/richTextEditor/EditorTools.js +196 -0
  455. package/dist/components/richTextEditor/EditorTools.js.map +7 -0
  456. package/dist/components/richTextEditor/MentionSuggestions.cjs +96 -0
  457. package/dist/components/richTextEditor/MentionSuggestions.cjs.map +7 -0
  458. package/dist/components/richTextEditor/MentionSuggestions.d.cts +7 -0
  459. package/dist/components/richTextEditor/MentionSuggestions.d.cts.map +1 -0
  460. package/dist/components/richTextEditor/MentionSuggestions.d.mts +7 -0
  461. package/dist/components/richTextEditor/MentionSuggestions.d.mts.map +1 -0
  462. package/dist/components/richTextEditor/MentionSuggestions.d.ts +7 -0
  463. package/dist/components/richTextEditor/MentionSuggestions.d.ts.map +1 -0
  464. package/dist/components/richTextEditor/MentionSuggestions.js +66 -0
  465. package/dist/components/richTextEditor/MentionSuggestions.js.map +7 -0
  466. package/dist/components/richTextEditor/RichTextEditor.cjs +63 -208
  467. package/dist/components/richTextEditor/RichTextEditor.cjs.map +3 -3
  468. package/dist/components/richTextEditor/RichTextEditor.d.cts +17 -7
  469. package/dist/components/richTextEditor/RichTextEditor.d.cts.map +1 -1
  470. package/dist/components/richTextEditor/RichTextEditor.d.mts +17 -7
  471. package/dist/components/richTextEditor/RichTextEditor.d.mts.map +1 -1
  472. package/dist/components/richTextEditor/RichTextEditor.d.ts +17 -7
  473. package/dist/components/richTextEditor/RichTextEditor.d.ts.map +1 -1
  474. package/dist/components/richTextEditor/RichTextEditor.js +63 -208
  475. package/dist/components/richTextEditor/RichTextEditor.js.map +3 -3
  476. package/dist/components/richTextEditor/editorTokens.cjs +75 -0
  477. package/dist/components/richTextEditor/editorTokens.cjs.map +7 -0
  478. package/dist/components/richTextEditor/editorTokens.d.cts +21 -0
  479. package/dist/components/richTextEditor/editorTokens.d.cts.map +1 -0
  480. package/dist/components/richTextEditor/editorTokens.d.mts +21 -0
  481. package/dist/components/richTextEditor/editorTokens.d.mts.map +1 -0
  482. package/dist/components/richTextEditor/editorTokens.d.ts +21 -0
  483. package/dist/components/richTextEditor/editorTokens.d.ts.map +1 -0
  484. package/dist/components/richTextEditor/editorTokens.js +55 -0
  485. package/dist/components/richTextEditor/editorTokens.js.map +7 -0
  486. package/dist/components/scroll-area.css +12 -0
  487. package/dist/components/scrollArea/ScrollArea.cjs +12 -1
  488. package/dist/components/scrollArea/ScrollArea.cjs.map +2 -2
  489. package/dist/components/scrollArea/ScrollArea.d.cts.map +1 -1
  490. package/dist/components/scrollArea/ScrollArea.d.mts.map +1 -1
  491. package/dist/components/scrollArea/ScrollArea.d.ts.map +1 -1
  492. package/dist/components/scrollArea/ScrollArea.js +12 -1
  493. package/dist/components/scrollArea/ScrollArea.js.map +2 -2
  494. package/dist/components/segmented-control.css +80 -4
  495. package/dist/components/segmentedControl/SegmentedControl.cjs +18 -5
  496. package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
  497. package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
  498. package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
  499. package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
  500. package/dist/components/segmentedControl/SegmentedControl.js +18 -5
  501. package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
  502. package/dist/components/segmentedControl/segmentedControl.props.cjs +10 -0
  503. package/dist/components/segmentedControl/segmentedControl.props.cjs.map +2 -2
  504. package/dist/components/segmentedControl/segmentedControl.props.d.cts +9 -0
  505. package/dist/components/segmentedControl/segmentedControl.props.d.cts.map +1 -1
  506. package/dist/components/segmentedControl/segmentedControl.props.d.mts +9 -0
  507. package/dist/components/segmentedControl/segmentedControl.props.d.mts.map +1 -1
  508. package/dist/components/segmentedControl/segmentedControl.props.d.ts +9 -0
  509. package/dist/components/segmentedControl/segmentedControl.props.d.ts.map +1 -1
  510. package/dist/components/segmentedControl/segmentedControl.props.js +10 -0
  511. package/dist/components/segmentedControl/segmentedControl.props.js.map +2 -2
  512. package/dist/components/select/Select.cjs +3 -1
  513. package/dist/components/select/Select.cjs.map +2 -2
  514. package/dist/components/select/Select.d.cts.map +1 -1
  515. package/dist/components/select/Select.d.mts.map +1 -1
  516. package/dist/components/select/Select.d.ts.map +1 -1
  517. package/dist/components/select/Select.js +3 -1
  518. package/dist/components/select/Select.js.map +2 -2
  519. package/dist/components/select.css +1 -1
  520. package/dist/components/separator.css +3 -9
  521. package/dist/components/sidebar/Sidebar.cjs +12 -4
  522. package/dist/components/sidebar/Sidebar.cjs.map +2 -2
  523. package/dist/components/sidebar/Sidebar.d.cts +4 -1
  524. package/dist/components/sidebar/Sidebar.d.cts.map +1 -1
  525. package/dist/components/sidebar/Sidebar.d.mts +4 -1
  526. package/dist/components/sidebar/Sidebar.d.mts.map +1 -1
  527. package/dist/components/sidebar/Sidebar.d.ts +4 -1
  528. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  529. package/dist/components/sidebar/Sidebar.js +12 -4
  530. package/dist/components/sidebar/Sidebar.js.map +2 -2
  531. package/dist/components/sidebar/sidebar.props.cjs +8 -1
  532. package/dist/components/sidebar/sidebar.props.cjs.map +2 -2
  533. package/dist/components/sidebar/sidebar.props.d.cts +9 -1
  534. package/dist/components/sidebar/sidebar.props.d.cts.map +1 -1
  535. package/dist/components/sidebar/sidebar.props.d.mts +9 -1
  536. package/dist/components/sidebar/sidebar.props.d.mts.map +1 -1
  537. package/dist/components/sidebar/sidebar.props.d.ts +9 -1
  538. package/dist/components/sidebar/sidebar.props.d.ts.map +1 -1
  539. package/dist/components/sidebar/sidebar.props.js +8 -1
  540. package/dist/components/sidebar/sidebar.props.js.map +2 -2
  541. package/dist/components/sidebar.css +28 -0
  542. package/dist/components/sonner.css +79 -17
  543. package/dist/components/sortableList/SortableList.cjs +8 -2
  544. package/dist/components/sortableList/SortableList.cjs.map +2 -2
  545. package/dist/components/sortableList/SortableList.d.cts.map +1 -1
  546. package/dist/components/sortableList/SortableList.d.mts.map +1 -1
  547. package/dist/components/sortableList/SortableList.d.ts.map +1 -1
  548. package/dist/components/sortableList/SortableList.js +8 -2
  549. package/dist/components/sortableList/SortableList.js.map +2 -2
  550. package/dist/components/stat-card.css +2 -0
  551. package/dist/components/stepper.css +23 -12
  552. package/dist/components/tab-nav.css +25 -13
  553. package/dist/components/tabNav/TabNav.cjs +1 -4
  554. package/dist/components/tabNav/TabNav.cjs.map +2 -2
  555. package/dist/components/tabNav/TabNav.d.cts.map +1 -1
  556. package/dist/components/tabNav/TabNav.d.mts.map +1 -1
  557. package/dist/components/tabNav/TabNav.d.ts.map +1 -1
  558. package/dist/components/tabNav/TabNav.js +1 -4
  559. package/dist/components/tabNav/TabNav.js.map +2 -2
  560. package/dist/components/table/Table.cjs +3 -2
  561. package/dist/components/table/Table.cjs.map +2 -2
  562. package/dist/components/table/Table.d.cts.map +1 -1
  563. package/dist/components/table/Table.d.mts.map +1 -1
  564. package/dist/components/table/Table.d.ts.map +1 -1
  565. package/dist/components/table/Table.js +3 -2
  566. package/dist/components/table/Table.js.map +2 -2
  567. package/dist/components/table/table.props.cjs +6 -0
  568. package/dist/components/table/table.props.cjs.map +2 -2
  569. package/dist/components/table/table.props.d.cts +5 -0
  570. package/dist/components/table/table.props.d.cts.map +1 -1
  571. package/dist/components/table/table.props.d.mts +5 -0
  572. package/dist/components/table/table.props.d.mts.map +1 -1
  573. package/dist/components/table/table.props.d.ts +5 -0
  574. package/dist/components/table/table.props.d.ts.map +1 -1
  575. package/dist/components/table/table.props.js +6 -0
  576. package/dist/components/table/table.props.js.map +2 -2
  577. package/dist/components/table-of-contents.css +12 -2
  578. package/dist/components/table.css +20 -13
  579. package/dist/components/tableOfContents/TableOfContents.cjs +11 -4
  580. package/dist/components/tableOfContents/TableOfContents.cjs.map +2 -2
  581. package/dist/components/tableOfContents/TableOfContents.d.cts.map +1 -1
  582. package/dist/components/tableOfContents/TableOfContents.d.mts.map +1 -1
  583. package/dist/components/tableOfContents/TableOfContents.d.ts.map +1 -1
  584. package/dist/components/tableOfContents/TableOfContents.js +11 -4
  585. package/dist/components/tableOfContents/TableOfContents.js.map +2 -2
  586. package/dist/components/tabs/Tabs.cjs +39 -54
  587. package/dist/components/tabs/Tabs.cjs.map +2 -2
  588. package/dist/components/tabs/Tabs.d.cts.map +1 -1
  589. package/dist/components/tabs/Tabs.d.mts.map +1 -1
  590. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  591. package/dist/components/tabs/Tabs.js +39 -54
  592. package/dist/components/tabs/Tabs.js.map +2 -2
  593. package/dist/components/tabs.css +62 -7
  594. package/dist/components/text/text.props.cjs +9 -9
  595. package/dist/components/text/text.props.cjs.map +2 -2
  596. package/dist/components/text/text.props.d.cts +42 -43
  597. package/dist/components/text/text.props.d.cts.map +1 -1
  598. package/dist/components/text/text.props.d.mts +42 -43
  599. package/dist/components/text/text.props.d.mts.map +1 -1
  600. package/dist/components/text/text.props.d.ts +42 -43
  601. package/dist/components/text/text.props.d.ts.map +1 -1
  602. package/dist/components/text/text.props.js +9 -9
  603. package/dist/components/text/text.props.js.map +2 -2
  604. package/dist/components/text/typography.props.cjs +32 -0
  605. package/dist/components/text/typography.props.cjs.map +7 -0
  606. package/dist/components/text/typography.props.d.cts +3 -0
  607. package/dist/components/text/typography.props.d.cts.map +1 -0
  608. package/dist/components/text/typography.props.d.mts +3 -0
  609. package/dist/components/text/typography.props.d.mts.map +1 -0
  610. package/dist/components/text/typography.props.d.ts +3 -0
  611. package/dist/components/text/typography.props.d.ts.map +1 -0
  612. package/dist/components/text/typography.props.js +12 -0
  613. package/dist/components/text/typography.props.js.map +7 -0
  614. package/dist/components/text-field.css +1 -0
  615. package/dist/components/text.css +41 -6
  616. package/dist/components/theme-panel.css +6 -0
  617. package/dist/components/timeline.css +54 -18
  618. package/dist/components/toast/Toast.cjs +3 -1
  619. package/dist/components/toast/Toast.cjs.map +2 -2
  620. package/dist/components/toast/Toast.d.cts.map +1 -1
  621. package/dist/components/toast/Toast.d.mts.map +1 -1
  622. package/dist/components/toast/Toast.d.ts.map +1 -1
  623. package/dist/components/toast/Toast.js +3 -1
  624. package/dist/components/toast/Toast.js.map +2 -2
  625. package/dist/components/toast.css +50 -18
  626. package/dist/components/toggle-group.css +5 -0
  627. package/dist/components/toggle-tip.css +58 -9
  628. package/dist/components/toggleTip/ToggleTip.cjs +9 -5
  629. package/dist/components/toggleTip/ToggleTip.cjs.map +2 -2
  630. package/dist/components/toggleTip/ToggleTip.d.cts.map +1 -1
  631. package/dist/components/toggleTip/ToggleTip.d.mts.map +1 -1
  632. package/dist/components/toggleTip/ToggleTip.d.ts.map +1 -1
  633. package/dist/components/toggleTip/ToggleTip.js +9 -5
  634. package/dist/components/toggleTip/ToggleTip.js.map +2 -2
  635. package/dist/components/toolbar/Toolbar.cjs +10 -7
  636. package/dist/components/toolbar/Toolbar.cjs.map +2 -2
  637. package/dist/components/toolbar/Toolbar.js +10 -7
  638. package/dist/components/toolbar/Toolbar.js.map +2 -2
  639. package/dist/components/toolbar.css +58 -4
  640. package/dist/components/tooltip.css +9 -5
  641. package/dist/components/tree-view.css +17 -3
  642. package/dist/components/treeView/TreeView.cjs +76 -21
  643. package/dist/components/treeView/TreeView.cjs.map +2 -2
  644. package/dist/components/treeView/TreeView.d.cts.map +1 -1
  645. package/dist/components/treeView/TreeView.d.mts.map +1 -1
  646. package/dist/components/treeView/TreeView.d.ts.map +1 -1
  647. package/dist/components/treeView/TreeView.js +76 -21
  648. package/dist/components/treeView/TreeView.js.map +2 -2
  649. package/dist/components.css +2 -2
  650. package/dist/docs/README.md +2 -1
  651. package/dist/docs/component-contract.md +7 -6
  652. package/dist/docs/component-index.json +17 -9
  653. package/dist/docs/components/accordion.md +5 -36
  654. package/dist/docs/components/alert.md +17 -10
  655. package/dist/docs/components/article-nodes.md +59 -2
  656. package/dist/docs/components/aspect-ratio.md +3 -26
  657. package/dist/docs/components/banner.md +152 -0
  658. package/dist/docs/components/blockquote.md +15 -14
  659. package/dist/docs/components/bottom-dock.md +146 -0
  660. package/dist/docs/components/box.md +3 -34
  661. package/dist/docs/components/breadcrumb.md +13 -8
  662. package/dist/docs/components/button-group.md +4 -3
  663. package/dist/docs/components/button.md +2 -2
  664. package/dist/docs/components/callout.md +18 -7
  665. package/dist/docs/components/card.md +10 -2
  666. package/dist/docs/components/carousel.md +55 -32
  667. package/dist/docs/components/chart.md +25 -7
  668. package/dist/docs/components/checkbox.md +4 -0
  669. package/dist/docs/components/code.md +33 -220
  670. package/dist/docs/components/collapsible.md +11 -35
  671. package/dist/docs/components/combobox.md +3 -1
  672. package/dist/docs/components/command.md +4 -2
  673. package/dist/docs/components/comment-thread.md +51 -1
  674. package/dist/docs/components/config-drawer.md +72 -171
  675. package/dist/docs/components/container.md +2 -0
  676. package/dist/docs/components/context-menu.md +19 -5
  677. package/dist/docs/components/copy-field.md +2 -2
  678. package/dist/docs/components/data-list.md +15 -3
  679. package/dist/docs/components/data-table.md +98 -17
  680. package/dist/docs/components/dialog.md +7 -1
  681. package/dist/docs/components/drawer.md +17 -6
  682. package/dist/docs/components/dropdown-menu.md +13 -3
  683. package/dist/docs/components/em.md +1 -1
  684. package/dist/docs/components/empty-state.md +3 -1
  685. package/dist/docs/components/file-upload.md +14 -7
  686. package/dist/docs/components/filter-bar.md +193 -8
  687. package/dist/docs/components/floating-panel.md +79 -285
  688. package/dist/docs/components/form.md +4 -0
  689. package/dist/docs/components/grid.md +11 -60
  690. package/dist/docs/components/heading.md +35 -32
  691. package/dist/docs/components/hover-card.md +9 -1
  692. package/dist/docs/components/icon-button.md +4 -1
  693. package/dist/docs/components/item.md +18 -13
  694. package/dist/docs/components/kbd.md +2 -0
  695. package/dist/docs/components/label.md +11 -9
  696. package/dist/docs/components/link.md +31 -209
  697. package/dist/docs/components/marquee.md +2 -2
  698. package/dist/docs/components/menu.md +4 -1
  699. package/dist/docs/components/metric.md +4 -1
  700. package/dist/docs/components/notification-center.md +24 -14
  701. package/dist/docs/components/page-header.md +2 -0
  702. package/dist/docs/components/pagination.md +92 -17
  703. package/dist/docs/components/pills.md +13 -4
  704. package/dist/docs/components/popover.md +12 -3
  705. package/dist/docs/components/prose.md +14 -1
  706. package/dist/docs/components/qr-code.md +25 -24
  707. package/dist/docs/components/quote.md +9 -4
  708. package/dist/docs/components/radio-group.md +5 -2
  709. package/dist/docs/components/rating.md +2 -0
  710. package/dist/docs/components/resizable.md +26 -18
  711. package/dist/docs/components/result.md +6 -0
  712. package/dist/docs/components/rich-text-editor.md +68 -18
  713. package/dist/docs/components/scroll-area.md +17 -9
  714. package/dist/docs/components/section.md +3 -38
  715. package/dist/docs/components/segmented-control.md +8 -3
  716. package/dist/docs/components/segmented-meter.md +9 -0
  717. package/dist/docs/components/select.md +3 -2
  718. package/dist/docs/components/separator.md +10 -46
  719. package/dist/docs/components/sidebar.md +20 -4
  720. package/dist/docs/components/sonner.md +26 -17
  721. package/dist/docs/components/sortable-list.md +2 -0
  722. package/dist/docs/components/stat-card.md +5 -4
  723. package/dist/docs/components/stepper.md +8 -32
  724. package/dist/docs/components/strong.md +1 -1
  725. package/dist/docs/components/tab-nav.md +33 -96
  726. package/dist/docs/components/table-of-contents.md +8 -2
  727. package/dist/docs/components/table.md +14 -5
  728. package/dist/docs/components/tabs.md +19 -50
  729. package/dist/docs/components/tag.md +4 -2
  730. package/dist/docs/components/text-field.md +1 -0
  731. package/dist/docs/components/text.md +34 -28
  732. package/dist/docs/components/theme-panel.md +3 -28
  733. package/dist/docs/components/theme.md +7 -3
  734. package/dist/docs/components/timeline.md +9 -5
  735. package/dist/docs/components/toast.md +28 -14
  736. package/dist/docs/components/toggle-group.md +2 -1
  737. package/dist/docs/components/toggle-tip.md +58 -241
  738. package/dist/docs/components/toolbar.md +16 -39
  739. package/dist/docs/components/tooltip.md +13 -7
  740. package/dist/docs/components/tree-view.md +22 -55
  741. package/dist/fonts.css +1 -1
  742. package/dist/generated/tokens.cjs +2 -1
  743. package/dist/generated/tokens.cjs.map +2 -2
  744. package/dist/generated/tokens.d.cts.map +1 -1
  745. package/dist/generated/tokens.d.mts.map +1 -1
  746. package/dist/generated/tokens.d.ts.map +1 -1
  747. package/dist/generated/tokens.js +2 -1
  748. package/dist/generated/tokens.js.map +2 -2
  749. package/dist/motion.css +18 -3
  750. package/dist/styles.css +3045 -1756
  751. package/dist/tokens.css +349 -361
  752. package/package.json +1 -1
  753. package/dist/components/control-group.css +0 -142
  754. package/dist/components/controlGroup/ControlGroup.cjs.map +0 -7
  755. package/dist/components/controlGroup/ControlGroup.d.cts +0 -16
  756. package/dist/components/controlGroup/ControlGroup.d.cts.map +0 -1
  757. package/dist/components/controlGroup/ControlGroup.d.mts +0 -16
  758. package/dist/components/controlGroup/ControlGroup.d.mts.map +0 -1
  759. package/dist/components/controlGroup/ControlGroup.d.ts +0 -16
  760. package/dist/components/controlGroup/ControlGroup.d.ts.map +0 -1
  761. package/dist/components/controlGroup/ControlGroup.js +0 -26
  762. package/dist/components/controlGroup/ControlGroup.js.map +0 -7
  763. package/dist/components/controlGroup/controlGroup.props.cjs.map +0 -7
  764. package/dist/components/controlGroup/controlGroup.props.d.cts +0 -18
  765. package/dist/components/controlGroup/controlGroup.props.d.cts.map +0 -1
  766. package/dist/components/controlGroup/controlGroup.props.d.mts +0 -18
  767. package/dist/components/controlGroup/controlGroup.props.d.mts.map +0 -1
  768. package/dist/components/controlGroup/controlGroup.props.d.ts +0 -18
  769. package/dist/components/controlGroup/controlGroup.props.d.ts.map +0 -1
  770. package/dist/components/controlGroup/controlGroup.props.js +0 -20
  771. package/dist/components/controlGroup/controlGroup.props.js.map +0 -7
  772. package/dist/docs/components/control-group.md +0 -261
@@ -5,11 +5,14 @@ category: Components
5
5
  archetype: adapter-backed
6
6
  depends_on:
7
7
  - Embla (declared adapter per the roster; the current runtime implements its own slide math, see Anomalies)
8
- - Icon (lucide-react `ChevronLeft`, `ChevronRight`)
8
+ - Icon (lucide-react `ChevronLeft`, `ChevronRight`, `ChevronUp`, `ChevronDown`)
9
+ - Button
9
10
  ---
10
11
 
11
12
  # Carousel
12
13
 
14
+ `asChild` accepts one consumer host containing the normal Viewport/navigation/indicator slots. The package preserves that host and arranges its slots inside it; navigation and slide-count behavior remain the same as the default host.
15
+
13
16
  > Consumer note: this document describes public intent and contracts; the package TypeScript declarations are the exact API.
14
17
 
15
18
  ## Purpose
@@ -31,7 +34,7 @@ A horizontal content carousel with optional autoplay, loop, vertical orientation
31
34
  | `Carousel.Item` | `<div>` | `dsx-carousel__item` | One slide. Flexes to `flex: 0 0 100%` so the track measures by item count. |
32
35
  | `Carousel.Previous` | `<button>` | `dsx-carousel__nav`, `dsx-carousel__nav--previous` | Calls `prev` from context. `aria-label="Previous slide"`. |
33
36
  | `Carousel.Next` | `<button>` | `dsx-carousel__nav`, `dsx-carousel__nav--next` | Calls `next` from context. `aria-label="Next slide"`. |
34
- | `Carousel.Indicators` | `<div>` | `dsx-carousel__indicators` | Renders a `<button>` per slide; renders nothing when `slideCount <= 1`. The indicator row uses `role="tablist"` and the buttons use `role="tab"`. |
37
+ | `Carousel.Indicators` | `<div>` | `dsx-carousel__indicators` | Renders a `<button>` per slide; renders nothing when `slideCount <= 1`. The indicator row is a named `group` of native buttons; the active button has `aria-disabled="true"`. Each target is 24px with a smaller painted dot. |
35
38
 
36
39
  **Adapter host:**
37
40
 
@@ -44,10 +47,10 @@ The current runtime does not use a third-party adapter. The slide transform is c
44
47
  | Prop | Type | Default | Required | Description | Responsive |
45
48
  |---|---|---|---|---|---|
46
49
  | `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | no | Slide direction. The `orientation` prop def has `className: 'dsx-carousel--'`, so the runtime emits `dsx-carousel--{orientation}` on the root; the CSS only consumes `[data-orientation='vertical']` on the viewport, so the root modifier class is currently a no-op CSS hook (see Anomalies). | no |
47
- | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | no | Drives `data-size` on the root. The size prop def has no `className`, so the runtime only writes the attribute. The CSS does not currently consume `data-size` on the root, so this is a forward-looking hook (see Anomalies). | no |
48
- | `initialIndex` | `number` | `0` | no | Initial slide index. Consumed by `useState`. | no |
49
- | `loop` | `boolean` | `false` | no | When `true`, `next` and `prev` wrap around. The autoplay timer always wraps. | no |
50
- | `autoPlay` | `boolean` | `false` | no | Enables the autoplay `setInterval`. No-op when `slideCount < 2`. | no |
50
+ | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | no | Drives `data-size` on the root. The size prop def has no `className`, so the runtime only writes the attribute. The CSS consumes this attribute to size the navigation buttons (sm 24px, md 32px, lg 40px). | no |
51
+ | `initialIndex` | `number` | `0` | no | Initial slide index, normalized to a finite integer and clamped to the available slides. An empty carousel stays at zero; removing slides reclamps the index. | no |
52
+ | `loop` | `boolean` | `false` | no | When `true`, manual and automatic navigation wrap around. Otherwise navigation stops at the endpoints and the corresponding nav button is disabled. | no |
53
+ | `autoPlay` | `boolean` | `false` | no | Enables automatic rotation and a built-in stop/start Button before the viewport. No-op with fewer than two slides or reduced motion. Hover pauses temporarily; focus or pointer interaction with slide content/navigation stops until explicitly restarted. | no |
51
54
  | `autoPlayInterval` | `number` (ms) | `3000` | no | Autoplay tick interval. | no |
52
55
  | `asChild` | `boolean` | `false` | no | Renders the root through `Slot` from `@radix-ui/react-slot`. The slot attachments stay on the same host. | no |
53
56
  | `children` | `React.ReactNode` | `undefined` | no | Must include a single `Carousel.Viewport` and may include `Carousel.Indicators`. `Previous` and `Next` are accepted either at the root or inside the viewport. The runtime filters and re-parents the navigation buttons to live inside the viewport. | no |
@@ -69,11 +72,11 @@ Standard `React.ComponentPropsWithoutRef<'div'>` plus `className`. The slot is `
69
72
 
70
73
  ### `Carousel.Previous` and `Carousel.Next` props
71
74
 
72
- Standard `React.ComponentPropsWithoutRef<'button'>` plus `className`. The runtime wires `onClick` to the context's `prev` / `next` handlers and sets the `aria-label`.
75
+ Standard `React.ComponentPropsWithoutRef<'button'>` plus `className`. The runtime defaults `type` to button, preserves a consumer accessible name, and invokes the consumer click handler before navigation. `preventDefault()` cancels navigation. Disabled applies at non-looping boundaries and with fewer than two slides.
73
76
 
74
77
  ### `Carousel.Indicators` props
75
78
 
76
- Standard `React.ComponentPropsWithoutRef<'div'>` plus `className`. The runtime renders a `<button role="tab">` per slide; the row itself is `role="tablist"` with `aria-label="Slide indicators"`. Returns `null` when `slideCount <= 1`.
79
+ Standard `React.ComponentPropsWithoutRef<'div'>` plus `className`. The runtime renders a native button per slide; the row is a `group` with `aria-label="Slide indicators"`. The active picker has `aria-disabled="true"`. Returns `null` when `slideCount <= 1`.
77
80
 
78
81
  ## CSS class contract
79
82
 
@@ -121,8 +124,8 @@ The runtime also writes `dsx-carousel--{orientation}` on the root via the `orien
121
124
 
122
125
  **Reduced motion:**
123
126
 
124
- - The track transitions `transform` against `var(--dsx-motion-duration-normal)` and `var(--dsx-motion-easing-in-out)`. The runtime does not import `usePrefersReducedMotion`; rely on the global stylesheet to honor the media query.
125
- - Autoplay is JS-driven; when `prefers-reduced-motion` matches, the runtime should not start the autoplay interval. The current source does not gate the autoplay timer on the media query; see Anomalies.
127
+ - The track transitions `transform` against `var(--dsx-motion-duration-normal)` and `var(--dsx-motion-easing-in-out)`. The runtime imports `usePrefersReducedMotion` to gate rotation, and component CSS disables track, nav, and indicator transitions when the query matches.
128
+ - Autoplay is JS-driven; the runtime does not start its interval while the reduced-motion hook matches.
126
129
 
127
130
  ## Token mapping
128
131
 
@@ -137,12 +140,12 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
137
140
  | Item size | `flex: 0 0 100%` | Each slide takes the full viewport width or height. |
138
141
  | Nav position (vertical center) | `top: 50%` + `translateY(-50%)` | Centering. |
139
142
  | Nav size | `var(--dsx-size-lg)` square | Tap target. |
140
- | Nav border | `var(--dsx-border-width-sm)` + `var(--dsx-color-outline)` | Resting edge. |
143
+ | Nav border | `var(--dsx-border-width-sm)` + `var(--dsx-panel-border-color)` | Resting edge. |
141
144
  | Nav radius | `var(--dsx-rounded-full)` | Round affordance. |
142
145
  | Nav fill | `var(--dsx-color-panel-translucent)` | Resting surface. |
143
146
  | Nav text color | `var(--dsx-color-on-surface)` | Glyph color. |
144
147
  | Nav z-index | `var(--dsx-z-index-elevated)` | Above the slide content. |
145
- | Nav shadow | `var(--dsx-shadow-2)` | Resting shadow. |
148
+ | Nav shadow | `var(--dsx-shadow-elevation-2)` | Resting shadow. |
146
149
  | Nav hover fill | `var(--dsx-color-surface-raised)` | Hover surface. |
147
150
  | Nav hover border | `var(--dsx-color-primary)` | Hover edge. |
148
151
  | Nav hover text | `var(--dsx-color-primary)` | Hover glyph color. |
@@ -151,7 +154,7 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
151
154
  | Indicator row gap | `var(--dsx-space-xs)` | Gap between indicator dots. |
152
155
  | Indicator size | `var(--dsx-space-xs)` square | Dot size. |
153
156
  | Indicator radius | `var(--dsx-rounded-full)` | Round dot. |
154
- | Indicator fill | `var(--dsx-color-outline-variant)` | Inactive dot. |
157
+ | Indicator fill | `var(--dsx-color-outline)` | Inactive dot. |
155
158
  | Indicator active fill | `var(--dsx-color-primary)` | Active dot. |
156
159
  | Indicator active width | `var(--dsx-space-md)` | Active dot width. |
157
160
  | Indicator motion | `var(--dsx-motion-duration-fast)` + `var(--dsx-motion-easing-in-out)` | Active dot transition. |
@@ -165,9 +168,9 @@ Rules:
165
168
 
166
169
  | Region | Token | Default | Reduced |
167
170
  |---|---|---|---|
168
- | Track transform (slide animation) | `var(--dsx-motion-duration-normal)` + `var(--dsx-motion-easing-in-out)` | `translateX(-{currentIndex * 100}%)` or `translateY(-{currentIndex * 100}%)` on transition | `none` — relies on the global `prefers-reduced-motion` stylesheet. The runtime does not gate the autoplay timer on the media query. |
169
- | Nav and indicator transitions | `var(--dsx-motion-duration-fast)` + `var(--dsx-motion-easing-in-out)` | Background, border, and indicator width transitions | `none` — relies on the global stylesheet. |
170
- | Autoplay timer | `setInterval(autoPlayInterval, ms)` | Default `3000`ms | The runtime should skip the autoplay interval when `prefers-reduced-motion: reduce` matches. The current source does not. |
171
+ | Track transform (slide animation) | `var(--dsx-motion-duration-normal)` + `var(--dsx-motion-easing-in-out)` | `translateX(-{currentIndex * 100}%)` or `translateY(-{currentIndex * 100}%)` on transition | `none` — the component owns a `prefers-reduced-motion` rule. The runtime skips the timer when the reduced-motion hook matches. |
172
+ | Nav and indicator transitions | `var(--dsx-motion-duration-fast)` + `var(--dsx-motion-easing-in-out)` | Background, border, and indicator width transitions | `none` — the component media query disables these transitions. |
173
+ | Autoplay timer | `setInterval(autoPlayInterval, ms)` | Default `3000`ms | The runtime skips the interval when `prefers-reduced-motion: reduce` matches; hover and user pause also stop the interval. |
171
174
 
172
175
  Rules:
173
176
 
@@ -178,8 +181,8 @@ Rules:
178
181
 
179
182
  **Roles:**
180
183
 
181
- - The root is a `<div>` with no implicit role. `Carousel.Indicators` writes `role="tablist"` and the indicator buttons write `role="tab"`. The slide list itself does not declare `role="region"`; consumers that need it can wrap the root.
182
- - `aria-live` is not set on the viewport. Consumers that need slide-change announcements should add `aria-live="polite"` to the track or viewport in their app.
184
+ - The root defaults to `role="group"` with `aria-roledescription="carousel"`; consumers provide a name and may opt into a region role. Internal slide wrappers are numbered groups with `aria-roledescription="slide"`. Offscreen wrappers are aria-hidden and inert, preventing offscreen controls from entering the focus order. Picker controls are grouped buttons rather than incomplete tabs.
185
+ - The track is `aria-live="off"` during rotation and `polite` otherwise, with `aria-atomic="false"`. The rotation control precedes the viewport and supports keyboard and touch. Focusing slide content or navigation stops rotation until explicitly restarted; the stop/start control handles its own focus so activation can restart. Hover pauses while the pointer remains over the carousel.
183
186
 
184
187
  **Keyboard:**
185
188
 
@@ -191,25 +194,25 @@ Rules:
191
194
 
192
195
  **Focus:**
193
196
 
194
- - The Previous and Next buttons get the standard focus ring. The indicator buttons get the standard focus ring.
197
+ - Arrow and indicator buttons use `--dsx-shadow-focus-ring` on `:focus-visible`, replacing the browser-default outline.
195
198
  - The track itself is not focusable.
196
199
 
197
200
  **Reduced motion:**
198
201
 
199
- - The track CSS transition honors the global `prefers-reduced-motion` media query. The autoplay timer does not currently gate on the media query; the next promotion should skip the interval when the query matches.
202
+ - The component CSS disables the track, nav, and indicator transitions when `prefers-reduced-motion` matches. The autoplay timer is disabled while the query matches; manual navigation remains available.
200
203
 
201
204
  **Color and meaning:**
202
205
 
203
- - The active indicator is communicated by the `--dsx-color-primary` fill and the wider width. Color is not the only signal; the `aria-selected` attribute is set on the active indicator and `role="tab"` provides assistive-tech semantics.
206
+ - The active indicator is communicated by the `--dsx-color-primary` fill and the wider width. Color is not the only signal; the active picker has `aria-disabled="true"` within a named group of native buttons.
204
207
 
205
208
  **Naming:**
206
209
 
207
210
  - The Previous and Next buttons are auto-labeled `Previous slide` and `Next slide`. The indicator row is labeled `Slide indicators`, and each indicator button is labeled `Go to slide ${index + 1}`.
208
- - The root region has no implicit name. Consumers that need a region name should add `aria-label` or `aria-labelledby`.
211
+ - Consumers supply the root name through `aria-label` or `aria-labelledby`. The root does not fabricate a name.
209
212
 
210
213
  ## Playground demo spec
211
214
 
212
- The demo file at `demo_path` exposes the component to the playground. The playground lives at `apps/playground/app/` (Next.js app router, no per-component routes today). The `demo_path` recorded here is the current playground root; the spec assumes a single shared page that renders all components. Per-component routes are an aspirational target and not yet present in the repo.
215
+ The shared docs route at `demo_path` renders `/docs/carousel` from `apps/playground/lib/registry/data.tsx`. All examples supply a meaningful root name. The live fixture includes a named picker-only composition with full-width slide content.
213
216
 
214
217
  **Default story:**
215
218
 
@@ -234,7 +237,7 @@ The demo file at `demo_path` exposes the component to the playground. The playgr
234
237
 
235
238
  **A11y story:**
236
239
 
237
- - Uses `vitest-axe` against the rendered default carousel. Asserts the navigation buttons have accessible names and the indicator row has an accessible name.
240
+ - Uses `vitest-axe` against the rendered default carousel. Asserts the navigation buttons have accessible names and the grouped picker row has an accessible name. Also verify empty/dynamic slides, form containment, cancelable navigation, and offscreen focus isolation.
238
241
 
239
242
  **Props exposed in the playground controls:**
240
243
 
@@ -258,7 +261,7 @@ The demo file at `demo_path` exposes the component to the playground. The playgr
258
261
 
259
262
  **Used by:**
260
263
 
261
- - App-level hero strips, image galleries, testimonial rows, and any horizontal content surface that needs swipe-like progression. No DS component currently wraps `Carousel`; the pattern is the intended app-side composition.
264
+ - App-level hero strips, image galleries, testimonial rows, and content surfaces navigated with buttons. Swipe gestures are not implemented by the shipped native runtime. No DS component currently wraps `Carousel`; the pattern is the intended app-side composition.
262
265
 
263
266
  **State boundaries:**
264
267
 
@@ -268,15 +271,15 @@ The demo file at `demo_path` exposes the component to the playground. The playgr
268
271
  **Boundary rules:**
269
272
 
270
273
  - App-owned data: the slide content, the persistence of `currentIndex` (no built-in URL sync), the per-slide analytics, and any keyboard navigation beyond the default focus order.
271
- - DS-owned visuals: token bindings, the `dsx-carousel` and slot classes, the `data-orientation` and `data-size` attributes, the nav and indicator `aria-label` templates, the `role="tablist"` / `role="tab"` semantics on the indicator row, and the autoplay timer interval.
274
+ - DS-owned visuals: token bindings, the `dsx-carousel` and slot classes, the `data-orientation` and `data-size` attributes, the nav and indicator `aria-label` templates, the grouped-button semantics on the picker row, and the autoplay timer interval.
272
275
  - When the canonical Embla adapter lands, the DS shell, the slot hierarchy, the class names, and the prop defs stay unchanged. The runtime will swap the in-source slide math for an Embla instance and forward Embla events through the existing `CarouselContext`.
273
276
 
274
277
  **Anomalies** (open items that this spec flags for the next promotion):
275
278
 
276
279
  1. **Adapter mismatch.** The roster and the archetype guide say Carousel is `adapter-backed` with `Embla`. The runtime does not import Embla and does not declare it under `peerDependencies` or `peerDependenciesMeta`. The slide transform is hand-rolled in `CarouselViewport`.
277
280
  2. **Orientation modifier class is a no-op.** The `orientation` prop def has `className: 'dsx-carousel--'`, so the runtime emits `dsx-carousel--horizontal` / `dsx-carousel--vertical` on the root. The CSS does not define either class. Visual orientation is driven by `data-orientation` on the viewport and `dsx-carousel__track--vertical` on the track.
278
- 3. **Size prop has no CSS consumer.** The `size` prop def has no `className`, so the runtime only writes `data-size` on the root. The CSS does not consume `data-size` on `dsx-carousel`. The class is reserved for a future size variant.
279
- 4. **Autoplay timer is not reduced-motion aware.** The autoplay `useEffect` does not consult `prefers-reduced-motion` before starting the interval.
281
+ 3. **Size consumer confirmed.** Navigation buttons consume root `data-size`: sm 24px, md 32px, lg 40px.
282
+ 4. **Autoplay controls repaired (2026-10-03).** Reduced motion, hover pause, interaction stop, and a visible stop/start control now gate the timer. Non-looping autoplay respects the endpoint.
280
283
  5. **Vertical viewport height has no token.** The CSS uses `var(--dsx-carousel-vertical-height, 320px)`. There is no `--dsx-carousel-vertical-height` token in `tokens/`; the `320px` value is a fallback only.
281
284
 
282
285
  ## Penpot build recipe
@@ -316,11 +319,11 @@ The package does not yet publish a Penpot asset for Carousel. Recipe is visual r
316
319
  | Viewport | radius | `--dsx-rounded-xl` | Radius | `radius` |
317
320
  | Nav | fill | `--dsx-color-panel-translucent` | Color | `fills` |
318
321
  | Nav | stroke | `--dsx-color-outline` | Color | `strokes` |
319
- | Nav | shadow | `--dsx-shadow-2` | Effect | `shadow` |
322
+ | Nav | shadow | `--dsx-shadow-elevation-2` | Effect | `shadow` |
320
323
  | Nav (hover) | stroke | `--dsx-color-primary` | Color | `strokes` (state) |
321
324
  | Nav (hover) | text | `--dsx-color-primary` | Color | `fills` (state) |
322
325
  | Nav (active) | fill | `--dsx-effect-pressed-layer` | Effect | `fills` (state) |
323
- | Indicator | fill | `--dsx-color-outline-variant` | Color | `fills` |
326
+ | Indicator | fill | `--dsx-color-outline` | Color | `fills` |
324
327
  | Indicator (active) | fill | `--dsx-color-primary` | Color | `fills` (state) |
325
328
  | Track | motion | `--dsx-motion-duration-normal` + `--dsx-motion-easing-in-out` | Motion | `motion` |
326
329
 
@@ -328,7 +331,7 @@ The package does not yet publish a Penpot asset for Carousel. Recipe is visual r
328
331
 
329
332
  | State | Track transform | Nav fill | Indicator fill |
330
333
  |---|---|---|---|
331
- | `default` | `translateX(-0%)` | `--dsx-color-panel-translucent` | `--dsx-color-outline-variant` |
334
+ | `default` | `translateX(-0%)` | `--dsx-color-panel-translucent` | `--dsx-color-outline` |
332
335
  | `next` | `translateX(-{currentIndex * 100}%)` | `--dsx-color-panel-translucent` | `--dsx-color-primary` (active index) |
333
336
  | `nav-hover` | (unchanged) | `--dsx-color-surface-raised` | (unchanged) |
334
337
  | `vertical` | `translateY(-{currentIndex * 100}%)` | `--dsx-color-panel-translucent` | (unchanged) |
@@ -336,7 +339,7 @@ The package does not yet publish a Penpot asset for Carousel. Recipe is visual r
336
339
  ### Variant model
337
340
 
338
341
  - `orientation`: `horizontal`, `vertical`. Default `horizontal`.
339
- - `size`: `sm`, `md`, `lg`. Default `md`. (CSS consumer pending; see Anomalies.)
342
+ - `size`: `sm`, `md`, `lg`. Default `md`. Navigation buttons and the reserved slide gutter consume this scale.
340
343
  - `loop`: `true`, `false`. Default `false`. (Affects wrap-around only; no visual model.)
341
344
  - `autoPlay`: `true`, `false`. Default `false`. (Affects motion only; no visual model.)
342
345
  - Total members: 2 × 3 = 6 for the visual variant matrix.
@@ -349,3 +352,23 @@ The package does not yet publish a Penpot asset for Carousel. Recipe is visual r
349
352
  - [ ] Indicator active state uses both fill and width change so sighted and low-vision users see the same cue.
350
353
  - [ ] Previous, Next, and indicator button `aria-label` strings are baked in; do not treat them as themable in Penpot.
351
354
  - [ ] When the canonical Embla adapter lands, re-run the spec QA and re-validate the Penpot recipe against the new runtime.
355
+
356
+ ## Package review, 2026-10-03
357
+
358
+ The vertical track is exactly one viewport high; each internal slide wrapper occupies one viewport, so `translateY(-100%)` advances one slide. Up/down glyphs and vertically separated controls replace the sideways glyphs. The horizontal layout and named exports remain intact. The root and viewport stay bounded by their container.
359
+
360
+ The indicator hit box is 24px (`size-md`); its `::before` paints the existing 8px dot or 16px active pill. Offscreen slide controls are inert. Runtime-only autoplay props are consumed rather than leaked to the DOM, and the slide-count callback fires on count changes.
361
+
362
+ Research: [WAI APG carousel pattern](https://www.w3.org/WAI/ARIA/apg/patterns/carousel/), using its grouped native-button model and explicit rotation control. The existing Embla migration remains an architectural follow-up; this review repairs the shipped native runtime.
363
+
364
+ ## Navigation clearance follow-up, 2026-10-03
365
+
366
+ One internal nav-size variable drives both the button diameter (24/32/40px) and the slide inset. Each occupied inset reserves the button, space-md edge offset, and space-xs clearance. Buttons and slide items use border-box sizing. Large controls therefore remain outside slide content. Size changes control density and reserved space; the consumer owns slide dimensions. Native named buttons remain the navigation implementation.
367
+
368
+ The circular navigation paint has an invisible square pseudo-element across its full button box. This makes the small control's 24px floor real at its corners, as confirmed by elementFromPoint; no visible diameter changes.
369
+
370
+ ## Research follow-up, 2026-10-03
371
+
372
+ Round native buttons and grouped pickers remain the chosen model. Control density (24/32/40px) is independent from consumer-owned slide dimensions. A viewport reserves an inset only where a Previous/Next slot exists. Both horizontal controls reserve both sides; a single control reserves its own side; vertical controls share the right-side rail. Without arrows, slides use the full viewport width. Slot-driven `:has()` selectors make this intrinsic rather than viewport-triggered.
373
+
374
+ Component CSS supplies the canonical focus ring for arrows and pickers and disables transitions under reduced motion. Runtime rotation already respects reduced motion. Research references and the existing Embla/swipe boundary remain in the batch decision record. No public prop or dependency changed.
@@ -37,7 +37,7 @@ A token-aligned chart family that exposes line, bar, pie, donut, radial, and are
37
37
 
38
38
  **Adapter host:**
39
39
 
40
- `Chart.Line`, `Chart.Bar`, and `Chart.Pie` wrap a Recharts `ResponsiveContainer` (`width="100%"`, `height="100%"` — the frame's aspect ratio owns the height, so the svg can never overflow the rounded shell). The container always renders a `CartesianGrid` (line and bar), `XAxis` keyed by `name`, `YAxis`, the Recharts `Tooltip`, and the Recharts `Legend`. The single data series is keyed by `value` and uses `var(--dsx-color-primary)` for fill or stroke. Pie slices cycle through `var(--dsx-chart-1)` through `var(--dsx-chart-5)` based on the slice index modulo 5. Line and bar charts reserve an inset margin so axis ticks never clip against the rounded shell, and both axes render without tick or axis lines with muted 12px ticks.
40
+ `Chart.Line`, `Chart.Bar`, `Chart.Area`, `Chart.Pie`, `Chart.Donut`, and `Chart.Radial` wrap a Recharts `ResponsiveContainer` (`width="100%"`, `height="100%"` — the frame's aspect ratio owns the height, so the svg can never overflow the rounded shell). Cartesian slots (`Line`, `Bar`, `Area`) always render a `CartesianGrid`, `XAxis` keyed by `name`, `YAxis`, the Recharts `Tooltip`, and the Recharts `Legend`, except `Area` with `spark`, which strips axes, grid, legend, and tooltip for stat sparklines. `Pie`/`Donut` render a `Pie` with per-slice `Cell` fills plus tooltip and legend; `Donut` uses an inner radius at 62% of the outer radius and `Radial` renders a `RadialBarChart` progress ring. The single data series is keyed by `value` and uses `var(--dsx-color-primary)` for fill or stroke. Pie and donut slices cycle through `var(--dsx-chart-1)` through `var(--dsx-chart-5)` based on the slice index modulo 5. Line and bar charts reserve an inset margin so axis ticks never clip against the rounded shell, and both axes render without tick or axis lines with muted 12px ticks.
41
41
 
42
42
  **Compatibility exports:**
43
43
 
@@ -149,9 +149,9 @@ The type is exported as `ChartDatum` from the package barrel.
149
149
 
150
150
  | Attribute | Allowed values | Class | CSS file |
151
151
  |---|---|---|---|
152
- | `data-chart-type` | `line`, `bar`, `pie` | `.dsx-chart[data-chart-type='line']`, `.dsx-chart[data-chart-type='bar']`, `.dsx-chart[data-chart-type='pie']` | `chart.css` |
152
+ | `data-chart-type` | `line`, `bar`, `pie`, `donut`, `radial`, `area` | `.dsx-chart[data-chart-type='line']`, `.dsx-chart[data-chart-type='bar']`, `.dsx-chart[data-chart-type='pie']`, `.dsx-chart[data-chart-type='donut']`, `.dsx-chart[data-chart-type='radial']`, `.dsx-chart[data-chart-type='area']` | `chart.css` |
153
153
 
154
- `data-chart-type="pie"` overrides the aspect ratio custom property to `1` for square pies.
154
+ `data-chart-type="pie"`, `"donut"`, and `"radial"` override the aspect ratio custom property to `1` for square plots. `data-chart-type="area"` with `data-spark="true"` overrides it to `3` for the spark strip and resets the root min-height to `0`.
155
155
 
156
156
  **Slot classes:**
157
157
 
@@ -174,6 +174,8 @@ The type is exported as `ChartDatum` from the package barrel.
174
174
  - The component does not write `@media` rules. None of its prop defs are `responsive: true`.
175
175
  - The component's CSS file is breakpoint-agnostic.
176
176
 
177
+ - The plot shell has `min-width: 0` and `max-width: 100%` to contain its aspect-ratio sizing in narrow hosts. Grid demo tracks use `minmax(0, 1fr)` so plot intrinsic width cannot expand their cards. Explicit host sizing still applies; this does not set a new shell width.
178
+
177
179
  **Reduced motion:**
178
180
 
179
181
  - The component does not add motion of its own. Recharts animation is explicitly disabled via `isAnimationActive={false}` on every primitive. Hover, focus, and selection transitions are expected to honor the global `prefers-reduced-motion` stylesheet when the host application adds them.
@@ -184,7 +186,7 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
184
186
 
185
187
  | Property | Token | Role |
186
188
  |---|---|---|
187
- | Root min-height | `var(--dsx-chart-min-height)` | Minimum chart height when the host width is large. |
189
+ | Root min-height | `var(--dsx-chart-min-height, 240px)` | Minimum chart height when the host width is large. The `240px` fallback mirrors `tokens/component-geometry.json` so the floor holds even when the generated tokens layer is absent. |
188
190
  | Root aspect ratio | `var(--dsx-chart-aspect-ratio, 1.7778)` | Default 16:9. Overridden to `1` for pies. |
189
191
  | Root border | `var(--dsx-semantic-border)` | Edge. |
190
192
  | Root radius | `var(--dsx-rounded-xl)` | Corner roundness. |
@@ -249,11 +251,17 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
249
251
 
250
252
  **Composition story:**
251
253
 
252
- - Renders dashboard cards (`Card` + stat header + chart + `Chart.Legend`): a multi-series bar card, a donut card with center total, a radial progress card, and a sparkline stat card. Asserts each composition renders real chart content inside a titled card — never a bare chart where a dashboard meaning belongs.
254
+ - Renders dashboard cards (`Card` + stat header + chart + `Chart.Legend`): a multi-series bar card, a stacked bar card, a donut card with center total and status-named data, a radial progress card, a full `area` card, a pie card, and a line card on a sunken plot well. Asserts each composition renders real chart content inside a titled card — never a bare chart where a dashboard meaning belongs.
255
+ - Renders the spark-in-`StatCard` composition (`StatCard.Label` + `StatCard.Value` + `Chart.Area spark` + `StatCard.Footer` with `StatCard.Trend`) and the spark-inside-`Card.Content` variant. Both spark hosts are block wrappers with an explicit `min-height` and a definite width (see the host-sizing rule below) — bare content-sized wrappers collapse the spark to 0×0 inside flex-row card content (verified live 2026-09-21).
253
256
 
254
257
  **State story:**
255
258
 
256
259
  - Renders `Chart.Empty` inside a `Chart.Container`. Asserts the empty slot is rendered with `dsx-chart__empty` and no chart data is present.
260
+ - Renders `Skeleton` loading hosts per plot geometry (cartesian 16:9, square, spark strip), each an explicitly-sized host with `aria-busy`. Loading is app-owned: the chart family ships no loading prop by design (see the boundary rules).
261
+
262
+ **Host-sizing rule (demo and apps):**
263
+
264
+ - Every chart story wrapper is a block box with an explicit `min-height` (`280px` cartesian, `320px` square, `96px` spark strip, `280px` radial) and a definite width (`width: 100%`, plus `max-width` for square plots). Card content rows are flex rows, so the wrappers also carry `width: 100%` to fill the row. Never place a chart type — especially `spark` — in a bare content-sized box.
257
265
 
258
266
  **Props exposed in the playground controls:**
259
267
 
@@ -263,7 +271,7 @@ The `Chart.Container` exposes only `asChild` from its prop defs. `Chart.Line`, `
263
271
 
264
272
  **Composes from:**
265
273
 
266
- - `recharts`: the adapter engine. `LineChart`, `BarChart`, `PieChart`, `Line`, `Bar`, `Pie`, `CartesianGrid`, `XAxis`, `YAxis`, `Tooltip`, `Legend`, and `ResponsiveContainer` are imported from `recharts`.
274
+ - `recharts`: the adapter engine. `LineChart`, `BarChart`, `AreaChart`, `PieChart`, `RadialBarChart`, `Line`, `Bar`, `Area`, `Pie`, `RadialBar`, `Cell`, `CartesianGrid`, `XAxis`, `YAxis`, `Tooltip`, `Legend`, and `ResponsiveContainer` are imported from `recharts`. `Scatter`/`ScatterChart`/`ZAxis` are intentionally not imported (see anomaly 5).
267
275
  - `@radix-ui/react-slot`: enables `asChild` on the container.
268
276
  - `classnames`: used to merge `dsx-chart` with the caller's `className` on every slot.
269
277
 
@@ -275,7 +283,7 @@ The `Chart.Container` exposes only `asChild` from its prop defs. `Chart.Line`, `
275
283
 
276
284
  - Owned by this component: the DS shell class wiring, the chart palette token references, the `data-chart-type` attribute, the `dsx-chart` and `dsx-chart__*` slot classes, and the `ChartDatum` type.
277
285
  - Owned by the adapter: chart math, axis math, tooltip rendering, the Recharts legend, animation, and the responsive size observer.
278
- - Owned by the consumer: the data array, the semantic meaning of the data, custom tooltips, custom axis formatting, and any deviation from the single-series single-axis default.
286
+ - Owned by the consumer: the data array, the semantic meaning of the data, custom tooltips, custom axis formatting, the host box that gives the shell a definite size (explicit `min-height` + width per the host-sizing rule), loading placeholders (`Skeleton` in an explicitly-sized host — there is intentionally no chart loading prop), and any deviation from the single-series single-axis default.
279
287
 
280
288
  **Boundary rules:**
281
289
 
@@ -292,6 +300,12 @@ The `Chart.Container` exposes only `asChild` from its prop defs. `Chart.Line`, `
292
300
 
293
301
  4. **Chart.Legend's missing color swatches were a symptom of the Cell bug, not a separate defect.** The Recharts `<Legend>` component (aliased as `RechartsLegend`, used inside `ChartBar`, `ChartLine`, and `ChartPie`) automatically derives each series/slice's swatch color from its corresponding fill value. When `<Cell>` elements were not rendering (bug #2 above), the legend had no per-slice fill to read, so every swatch rendered with the default color. Fixing the Cell bug (adding explicit Cell elements with correct fill values) automatically corrected the legend swatches as a side effect — no separate CSS or component fix was needed for the legend itself.
294
302
 
303
+ 5. **Bubble/scatter gap verdict (F12, 2026-09-21): DEFERRED, not added.** Finance-dashboard reference imagery shows bubble charts alongside bars/radials. The adapter supports it — `recharts@3.8.1` ships `ScatterChart`, `Scatter`, `XAxis`/`YAxis` (numeric mode), and `ZAxis`. The package still does not add `Chart.Scatter`/`Chart.Bubble`, for three reasons: (a) scatter/bubble needs numeric x/y axes plus a z-scale, which breaks the family's `name`-keyed category-axis + `ChartDatum` (`{ name, value }`) contract that every slot, the palette auto-mapping, and `qa:contracts` assume — it would be a second data contract, not a seventh slot; (b) neither F12 reference demands it (antd core has no charts; the dashboard has one bespoke bar), so there is no app-side correlation/distribution need to design against; (c) the F12 brief verdict is verify-only ("no anatomy change"), and a scatter slot is new anatomy. Revisit when an app needs correlation/distribution plots: add `Chart.Scatter` with its own `{ x, y, z? }` datum shape, numeric-axis contract, and `ZAxis` range mapping — do not shoehorn it into `ChartDatum`.
304
+
305
+ 6. **Spark collapsed to 0×0 in the playground demo (F12, 2026-09-21).** The Conversion-rate spark (`ChartArea spark` in a bare `<div style={{ marginTop: 8 }}>` inside flex-row `Card.Content`) measured `0×0` with no svg: `spark` sets `min-height: 0`, so with no definite size on either axis the 3:1 aspect ratio cannot resolve, and the `ResponsiveContainer` percentage child contributes no intrinsic size for the flex item to transfer. Non-spark types survived only via the 240px min-height transfer. This is a host-sizing failure, not a shell bug — the shell intentionally keeps the spark floor at 0 (a 240px floor inside a ~60px spark cell renders cropped). FIXED demo-side: every chart story wrapper is now a block box with an explicit `min-height` and definite width per the host-sizing rule; apps must do the same. No shell layout change (a shell-level `width: 100%` would retarget every app's flex-row chart heights — breaking).
306
+
307
+ 7. **Loading has no chart prop by design (F12, 2026-09-21).** Empty is DS-owned (`Chart.Empty`); loading is app-owned (`Skeleton` in an explicitly-sized host, `aria-busy` on the wrapper). The demo shows one skeleton host per plot geometry (cartesian, square, spark strip) and the suite covers empty-data renders per type. Do not add `isLoading`/`fallback` props to the chart slots without a spec-first API decision.
308
+
295
309
  ## Penpot build recipe
296
310
 
297
311
  > Optional. Penpot is a visual reference, not a code authority. The package source is the only authority.
@@ -356,3 +370,7 @@ The `Chart.Container` exposes only `asChild` from its prop defs. `Chart.Line`, `
356
370
  - [ ] Token bindings resolve at the values `DESIGN.md` describes.
357
371
  - [ ] Component is promoted to Main Component under `Components`.
358
372
  - [ ] `penpotUtils.shapeStructure(board, 3)` matches the expected hierarchy.
373
+
374
+ ## Package review, 2026-10-03
375
+
376
+ Pie and donut use measured container dimensions and legend height to cap the radius at 100 while shrinking to the available plot area (including the Recharts default 5px plot margins). Large plots retain the 100/62 radius pair. The donut center label excludes the measured legend band, so wrapping the legend does not shift the label away from the ring. Long center-label content wraps inside the shell. No viewport breakpoint or new public prop is introduced.
@@ -83,6 +83,10 @@ Rules:
83
83
 
84
84
  - The component does not write `@media` rules. `size` is single-value only; the prop def is not `responsive: true`.
85
85
 
86
+ **Hit area:**
87
+
88
+ - The visual box stays 20/24/32px per `size`, but a `::before` layer extends the pointer target to 44px (WCAG 2.5.8 minimum 24px, TMA touch 44px). Absolutely positioned — never affects layout.
89
+
86
90
  **Reduced motion:**
87
91
 
88
92
  - The `transition` properties on `dsx-checkbox` collapse to `none` when `@media (prefers-reduced-motion: reduce)` matches. The rule is in `checkbox.css`.