@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
@@ -23,10 +23,10 @@ A simpler horizontal tab bar for routing, where each tab is a real `<a>` element
23
23
  | Slot | Element | Renders | Notes |
24
24
  |---|---|---|---|
25
25
  | `TabNav` (root) | `<nav>` | DS primitive + class | Wrapper that owns the `data-variant` and `data-size` attributes. |
26
- | `TabNav.List` | `<ul>` | DS primitive + class | Horizontal list of `TabNav.Link` items. Sets `role="tablist"`. |
27
- | `TabNav.Link` | `<li><a>` | DS primitive + class | The active link is wrapped in a list item. Sets `role="tab"`, `aria-selected`, and `tabIndex`. |
26
+ | `TabNav.List` | `<ul>` | DS primitive + class | Wrapping native list of route links. |
27
+ | `TabNav.Link` | `<li><a>` | DS primitive + class | The active link is wrapped in a list item. Uses native anchor semantics and `aria-current="page"` on the active route. |
28
28
 
29
- The list item wrapper (`<li class="dsx-tab-nav__list-item">`) is internal layout, not a public slot. The link host is the only element that carries the link's accessible name and `aria-selected` state.
29
+ The list item wrapper (`<li class="dsx-tab-nav__list-item">`) is internal layout, not a public slot. The link host is the only element that carries the link's accessible name and `aria-current` state.
30
30
 
31
31
  ## Props contract
32
32
 
@@ -54,7 +54,7 @@ The list item wrapper (`<li class="dsx-tab-nav__list-item">`) is internal layout
54
54
 
55
55
  | Prop | Type | Default | Required | Description | Responsive |
56
56
  |---|---|---|---|---|---|
57
- | `active` | `boolean` | `false` | no | Marks the link as the current route. Drives `data-active="true"`, `aria-selected="true"`, and a focusable `tabIndex` (`0` for active, `-1` for inactive). | no |
57
+ | `active` | `boolean` | `false` | no | Marks the link as the current route. Drives `data-active="true"` and `aria-current="page"`. All anchors with an href stay keyboard reachable. | no |
58
58
  | `asChild` | `boolean` | `false` | no | Renders the link through `Slot` from `@radix-ui/react-slot`; consumer supplies the host element. The component does not wire `asChild` through `extractProps`; the link consumes it directly. | no |
59
59
  | `href` | `string` | `undefined` | no | Standard anchor `href` for the navigation target. | no |
60
60
  | `className` | `string` | `undefined` | no | Extra classes appended to `dsx-tab-nav__link`. | no |
@@ -66,7 +66,7 @@ Rules that apply to this row:
66
66
  - The root extends `React.HTMLAttributes<HTMLElement>` rather than `ComponentPropsWithoutRef<'nav'>`. Any standard HTML attribute (`id`, `aria-*`, `onClick`, etc.) is forwarded to the host.
67
67
  - `variant` and `size` are wired through `extractProps` only as far as needed to write the `data-*` attributes. The component then spreads the remaining extracted props onto the host. The prop def bag does not include a `className` mapping, so the size/variant class is only written as a `data-*` attribute, not as a BEM-style modifier class.
68
68
  - `asChild` on the root and the link is consumed directly (not through `extractProps`). When `asChild={true}`, the rendered element comes from `Slot` and the consumer owns the host.
69
- - The root does not manage keyboard roving focus. Active link gets `tabIndex={0}`; inactive links get `tabIndex={-1}`. The consumer (or a future enhancement) must add `onKeyDown` handling for `ArrowLeft` and `ArrowRight` to move focus across the list (see Anomalies).
69
+ - All route anchors use native Tab navigation; Enter follows the href. The component does not implement tab-panel roving focus.
70
70
 
71
71
  ## CSS class contract
72
72
 
@@ -90,7 +90,7 @@ Rules that apply to this row:
90
90
 
91
91
  **Responsive behavior:**
92
92
 
93
- - The component does not write `@media` rules. `size` is single-value only; the prop def is not `responsive: true`.
93
+ - The component does not use width breakpoints. `size` is single-value only; the prop def is not `responsive: true`.
94
94
 
95
95
  **Reduced motion:**
96
96
 
@@ -108,11 +108,11 @@ Every CSS value the component paints is a `var(--dsx-*)` token, with `150ms` and
108
108
  | Gap (list) | `var(--dsx-space-xs)` | Spacing between links. |
109
109
  | List bullet | `none` | Reset. |
110
110
  | List padding/margin | `0` | Reset. |
111
- | List border (default) | `var(--dsx-border-width-md)` + `var(--dsx-color-outline-variant)` (bottom) | Default list separator. |
111
+ | List border (default) | `var(--dsx-boundary-divider-width)` + `var(--dsx-color-outline-variant)` (bottom) | Default list separator. |
112
112
  | List background (pills) | `var(--dsx-color-surface-raised)` | Pill background. |
113
113
  | List padding (pills) | `var(--dsx-space-xs)` | Pill gutter. |
114
114
  | List radius (pills) | `var(--dsx-rounded-full)` | Pill shape. |
115
- | List border (underline) | `var(--dsx-border-width-md)` + `var(--dsx-color-outline-variant)` (bottom) | Underline variant separator. |
115
+ | List border (underline) | `none` | Indicator-only variant. |
116
116
  | Link padding (md) | `var(--dsx-space-sm)` + `var(--dsx-space-md)` | Link hit area. |
117
117
  | Link padding (sm) | `var(--dsx-space-xs)` + `var(--dsx-space-sm)` | Compact hit area. |
118
118
  | Link padding (lg) | `var(--dsx-space-md)` + `var(--dsx-space-lg)` | Large hit area. |
@@ -121,11 +121,11 @@ Every CSS value the component paints is a `var(--dsx-*)` token, with `150ms` and
121
121
  | Link color (default) | `var(--dsx-color-on-surface-variant)` | Resting text. |
122
122
  | Link color (hover) | `var(--dsx-color-on-surface)` | Hover text. |
123
123
  | Link background (hover) | `var(--dsx-effect-hover-ghost)` | Hover surface. |
124
- | Link color (active, default / underline) | `var(--dsx-color-primary)` | Active text. |
125
- | Link color (active, pills) | `var(--dsx-color-on-primary)` | Active text inside the pill. |
126
- | Link background (active, pills) | `var(--dsx-color-primary)` | Active pill. |
127
- | Indicator (default) | `var(--dsx-border-width-md)` + `var(--dsx-color-primary)` + `var(--dsx-rounded-full)` | Underline indicator. |
128
- | Indicator (underline) | `2px` (hard-coded) + `var(--dsx-color-primary)` + `var(--dsx-rounded-full)` | Underline variant indicator. The `2px` height is a CSS hard-code. |
124
+ | Link color (active, default / underline) | `var(--dsx-color-accent-indicator)` | Active text. |
125
+ | Link color (active, pills) | `var(--dsx-color-accent-contrast)` | Active text inside the pill. |
126
+ | Link background (active, pills) | `var(--dsx-color-accent-track)` | Active pill. |
127
+ | Indicator (default) | `var(--dsx-boundary-selected-width)` + `var(--dsx-color-accent-indicator)` + `var(--dsx-rounded-full)` | Underline indicator. |
128
+ | Indicator (underline) | `var(--dsx-boundary-selected-width)` + `var(--dsx-color-accent-indicator)` + `var(--dsx-rounded-full)` | Underline variant indicator. |
129
129
  | Link typography | `var(--dsx-typography-label-large-font-family/size/weight)`, sans-serif fallback | Default link text. |
130
130
  | Link typography (sm) | `var(--dsx-typography-label-medium-font-size)` | Compact link text. |
131
131
  | Link typography (lg) | `var(--dsx-typography-label-large-font-size)` | Large link text. |
@@ -134,7 +134,6 @@ Every CSS value the component paints is a `var(--dsx-*)` token, with `150ms` and
134
134
 
135
135
  Rules:
136
136
 
137
- - The `2px` indicator height in the `underline` variant is a CSS hard-code, not a token. The `default` variant uses `var(--dsx-border-width-md)`. This is a small inconsistency in the source CSS; both should be token-driven in a future cleanup (see Anomalies).
138
137
  - Alpha is reserved for effect tokens; the hover surface uses `var(--dsx-effect-hover-ghost)`.
139
138
 
140
139
  ## Motion contract
@@ -150,77 +149,15 @@ Rules:
150
149
 
151
150
  ## Accessibility
152
151
 
153
- **Roles:**
152
+ The root is a navigation landmark. The list retains native list semantics; each href is a native link. `active` reflects `aria-current="page"`. Every link is reachable with Tab and activated with Enter. Arrow keys retain browser behavior.
154
153
 
155
- - Root: `nav` (semantic landmark when `asChild` is false). The list declares `role="tablist"`. Each link declares `role="tab"` and `aria-selected="true" | "false"`.
154
+ Links show `var(--dsx-shadow-focus-ring)` on keyboard focus. The selected route also has a visible underline or pill. Consumers supply meaningful link text and an `aria-label` when several navigation landmarks occur on a page. Reduced motion disables color/background transitions.
156
155
 
157
- **Keyboard:**
158
-
159
- | Key | Action |
160
- |---|---|
161
- | `Tab` | Moves focus into and out of the tab list. Active link is the only focusable item. |
162
- | `Enter`, `Space` | Activates the focused link. |
163
- | `ArrowLeft`, `ArrowRight` | (Expected) Move focus across the tab list per the WAI-ARIA tabs pattern. The current source does NOT implement roving focus; consumers must add `onKeyDown` handling. |
164
-
165
- **Focus:**
166
-
167
- - Visible focus ring via `var(--dsx-shadow-focus-ring)` on `.dsx-tab-nav__link:focus-visible`.
168
- - Roving tab index: active link is `tabIndex={0}`; inactive links are `tabIndex={-1}`. The component does not move focus on `ArrowLeft` / `ArrowRight` itself (see Anomalies).
169
-
170
- **Reduced motion:**
171
-
172
- - The CSS transitions are disabled under `prefers-reduced-motion: reduce`. No runtime guard is needed.
173
-
174
- **Color and meaning:**
175
-
176
- - The active tab is communicated by `aria-selected="true"`, the indicator color (`--dsx-color-primary`), and the pill background in the `pills` variant. Color is not the only signal.
177
-
178
- **Naming:**
179
-
180
- - The link label is the accessible name. The root does not require an `aria-label`, but consumers that have multiple `<nav>` landmarks on the page should add `aria-label` to disambiguate (e.g. `Primary`, `Settings`).
156
+ Every preview uses an application-owned hash navigation example with active page content, native href links and Back/Forward synchronization. No tab-panel roles or package router state are introduced.
181
157
 
182
158
  ## Playground demo spec
183
159
 
184
- 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.
185
-
186
- **Default story:**
187
-
188
- - Renders `TabNav` with `TabNav.List` and three `TabNav.Link` items, the first marked `active={true}`. Asserts the root class is `dsx-tab-nav`, `data-variant` is `default`, `data-size` is `md`, the list has `role="tablist"`, and the active link has `aria-selected="true"` and `tabIndex={0}`.
189
-
190
- **Variant story** (one per variant):
191
-
192
- - Renders TabNav with `variant="default"`, `variant="pills"`, and `variant="underline"`. Asserts the matching `data-variant` attribute on the root and the matching CSS treatment (underline indicator, pill background, etc.).
193
-
194
- **Size story:**
195
-
196
- - Renders TabNav with `size="sm"`, `size="md"`, and `size="lg"`. Asserts the matching `data-size` attribute and the matching link padding.
197
-
198
- **Composition story:**
199
-
200
- - Renders TabNav with a `TabNav.List` containing three `TabNav.Link` items. Asserts each slot renders the right element with the right class and the inactive links carry `aria-selected="false"` and `tabIndex={-1}`.
201
-
202
- **State story:**
203
-
204
- - Renders the link in `default`, `hover` (`:hover` pseudo-class; no `data-*` attribute), and `focus` (`:focus-visible`; no `data-*` attribute). Asserts the focus ring is visible and `tabIndex` updates as `active` toggles.
205
-
206
- **Token story:**
207
-
208
- - Renders inside a `Theme` wrapper with `accentColor="amber"`, `accentColor="silver"`, and `accentColor="bronze"`. The active indicator color tracks `data-accent-color` (it should resolve to the current `primary` token at runtime).
209
-
210
- **A11y story:**
211
-
212
- - Uses `vitest-axe` against the rendered default tab nav. Asserts there are no axe violations and that the active link carries `aria-selected="true"`. Arrow-key navigation is documented as a known gap (see Anomalies).
213
-
214
- **Props exposed in the playground controls:**
215
-
216
- | Prop | Control | Default |
217
- |---|---|---|
218
- | `variant` (root) | select | `default` |
219
- | `size` (root) | select | `md` |
220
- | `asChild` (root) | boolean | `false` |
221
- | `active` (link) | boolean | `false` |
222
- | `asChild` (link) | boolean | `false` |
223
- | `href` (link) | text | `#` |
160
+ The variant and size matrix uses the same application-owned workspace navigation as the live gallery. Every link has a unique actual hash destination and active aria-current="page" state. Clicking Members/Settings changes the content and URL; Back/Forward, including return to the initial empty hash, restore the current example page. Default, pills and underline variants use identical page content. The package remains a native link surface; routing stays with the application.
224
161
 
225
162
  ## Wiring notes
226
163
 
@@ -235,13 +172,13 @@ The demo file at `demo_path` exposes the component to the playground. The playgr
235
172
 
236
173
  **State boundaries:**
237
174
 
238
- - Owned by TabNav: the root class, the `data-variant` and `data-size` attributes, the list `role="tablist"`, the link `role="tab"`, the `aria-selected` reflection, the `tabIndex` roving pattern, the focus ring, and the color/background transitions.
175
+ - Owned by TabNav: the root class, the `data-variant` and `data-size` attributes, native list/link semantics, the `aria-current="page"` reflection, the focus ring, and the color/background transitions.
239
176
  - Owned by the consumer: the route data, the active-link detection (route matching), the keyboard roving focus implementation (until the source adds it), the host element when `asChild` is set, and the `<a href>` target.
240
177
 
241
178
  **Boundary rules:**
242
179
 
243
180
  - App-owned data: the route table, the active-route matcher, the navigation history, and any analytics on tab clicks.
244
- - DS-owned visuals: token bindings (`--dsx-space-{xs,sm,md,lg}`, `--dsx-color-{surface-raised,on-surface-variant,on-surface,on-primary,primary,outline-variant}`, `--dsx-border-width-md`, `--dsx-rounded-{md,full}`, `--dsx-typography-label-{large,medium}-*`, `--dsx-shadow-focus-ring`, `--dsx-effect-hover-ghost`, `--dsx-motion-duration-fast`, `--dsx-motion-easing-standard`), the `dsx-tab-nav` root class, the `dsx-tab-nav__list`, `dsx-tab-nav__list-item`, and `dsx-tab-nav__link` slot classes, and the variant CSS blocks.
181
+ - DS-owned visuals: token bindings (`--dsx-space-{xs,sm,md,lg}`, `--dsx-color-{surface-raised,on-surface-variant,on-surface,on-primary,primary,outline-variant}`, `--dsx-boundary-selected-width`, `--dsx-rounded-{md,full}`, `--dsx-typography-label-{large,medium}-*`, `--dsx-shadow-focus-ring`, `--dsx-effect-hover-ghost`, `--dsx-motion-duration-fast`, `--dsx-motion-easing-standard`), the `dsx-tab-nav` root class, the `dsx-tab-nav__list`, `dsx-tab-nav__list-item`, and `dsx-tab-nav__link` slot classes, and the variant CSS blocks.
245
182
 
246
183
  ## Penpot build recipe
247
184
 
@@ -261,13 +198,13 @@ The package does not yet publish a Penpot asset for TabNav. Recipe is visual ref
261
198
  ```
262
199
  <Root Board: TabNav / default / md>
263
200
  └── <Frame: dsx-tab-nav>
264
- └── <Frame: dsx-tab-nav__list (ul, role=tablist)>
201
+ └── <Frame: dsx-tab-nav__list (ul)>
265
202
  ├── <Frame: dsx-tab-nav__list-item (li)>
266
- │ └── <Frame: dsx-tab-nav__link (a, role=tab, aria-selected=true, data-active=true)>
203
+ │ └── <Frame: dsx-tab-nav__link (a, aria-current=page, data-active=true)>
267
204
  ├── <Frame: dsx-tab-nav__list-item (li)>
268
- │ └── <Frame: dsx-tab-nav__link (a, role=tab, aria-selected=false)>
205
+ │ └── <Frame: dsx-tab-nav__link (a)>
269
206
  └── <Frame: dsx-tab-nav__list-item (li)>
270
- └── <Frame: dsx-tab-nav__link (a, role=tab, aria-selected=false)>
207
+ └── <Frame: dsx-tab-nav__link (a)>
271
208
  ```
272
209
 
273
210
  ### Token bindings (Penpot properties)
@@ -275,19 +212,19 @@ The package does not yet publish a Penpot asset for TabNav. Recipe is visual ref
275
212
  | Shape | Property | Token | Token type | Penpot property name |
276
213
  |---|---|---|---|---|
277
214
  | Root | (none) | n/a | n/a | n/a |
278
- | List (default / underline) | stroke (bottom) | `--dsx-color-outline-variant` | Color | `strokes` |
215
+ | List (default) | stroke (bottom) | `--dsx-color-outline-variant` | Color | `strokes` |
279
216
  | List (pills) | fill | `--dsx-color-surface-raised` | Color | `fills` |
280
217
  | List (pills) | radius | `--dsx-rounded-full` | Radius | `radius` |
281
218
  | Link (resting) | text fill | `--dsx-color-on-surface-variant` | Color | `fills` |
282
219
  | Link (hover) | text fill | `--dsx-color-on-surface` | Color | `fills` (state) |
283
220
  | Link (hover) | background | `--dsx-effect-hover-ghost` | Effect | `fills` (state) |
284
- | Link (active, default / underline) | text fill | `--dsx-color-primary` | Color | `fills` (state) |
285
- | Link (active, pills) | text fill | `--dsx-color-on-primary` | Color | `fills` (state) |
286
- | Link (active, pills) | fill | `--dsx-color-primary` | Color | `fills` (state) |
287
- | Indicator (default) | fill | `--dsx-color-primary` | Color | `fills` (state) |
288
- | Indicator (default) | height | `--dsx-border-width-md` | Sizing | `size` |
289
- | Indicator (underline) | fill | `--dsx-color-primary` | Color | `fills` (state) |
290
- | Indicator (underline) | height | `2px` (hard-code) | Sizing | `size` |
221
+ | Link (active, default / underline) | text fill | `--dsx-color-accent-indicator` | Color | `fills` (state) |
222
+ | Link (active, pills) | text fill | `--dsx-color-accent-contrast` | Color | `fills` (state) |
223
+ | Link (active, pills) | fill | `--dsx-color-accent-track` | Color | `fills` (state) |
224
+ | Indicator (default) | fill | `--dsx-color-accent-indicator` | Color | `fills` (state) |
225
+ | Indicator (default) | height | `--dsx-boundary-selected-width` | Sizing | `size` |
226
+ | Indicator (underline) | fill | `--dsx-color-accent-indicator` | Color | `fills` (state) |
227
+ | Indicator (underline) | height | `--dsx-boundary-selected-width` | Sizing | `size` |
291
228
  | Link (focus-visible) | shadow | `--dsx-shadow-focus-ring` | Effect | `shadow` (state) |
292
229
 
293
230
  ### State transformations
@@ -296,8 +233,8 @@ The package does not yet publish a Penpot asset for TabNav. Recipe is visual ref
296
233
  |---|---|---|---|
297
234
  | `default` (resting) | `--dsx-color-on-surface-variant` | transparent | none |
298
235
  | `hover` | `--dsx-color-on-surface` | `--dsx-effect-hover-ghost` | none |
299
- | `active` (default / underline) | `--dsx-color-primary` | transparent | `--dsx-color-primary` underline |
300
- | `active` (pills) | `--dsx-color-on-primary` | `--dsx-color-primary` | none |
236
+ | `active` (default / underline) | `--dsx-color-accent-indicator` | transparent | `--dsx-color-accent-indicator` underline |
237
+ | `active` (pills) | `--dsx-color-accent-contrast` | `--dsx-color-accent-indicator` | none |
301
238
  | `focus-visible` | (active or resting) | (active or resting) | `--dsx-shadow-focus-ring` ring |
302
239
 
303
240
  ### Variant model
@@ -13,8 +13,14 @@ Article navigation over stable serialized heading IDs. `extractTableOfContentsHe
13
13
 
14
14
  ## API and behavior
15
15
 
16
- `items` contains `id`, `title`, and optional `level`. `activeId` and `onActiveIdChange` support control; `sticky` defaults true. Active links use `aria-current="location"`. Smooth scrolling is skipped for reduced motion, no-heading articles render no landmark, and the mobile layout is non-sticky.
16
+ `items` contains `id`, `title`, and optional `level`. `activeId` and `onActiveIdChange` support control; `sticky` defaults true. Active links use `aria-current="location"`. Smooth scrolling is skipped for reduced motion, no-heading articles render no landmark, and sticky positioning applies at every width when `sticky` is true. Consumers choose placement through layout primitives; no component width breakpoint is used.
17
+
18
+ Links provide a minimum 24px box and visible keyboard focus. Normal clicks scroll smoothly and push a history entry; reduced motion retains native anchor scrolling. Modified clicks retain native link behavior. The observer keeps intersection state across callbacks and selects the current visible heading or the last passed heading.
19
+
20
+ The live example keeps navigation outside a bounded scrolling article. Application-owned activeId and onClickCapture handle that embedded scroll root; standalone window scroll-spy behavior remains in the package. The three heading targets exist, links retain native hash destinations, and the article is a keyboard-focusable region.
17
21
 
18
22
  ## Playground demo spec
19
23
 
20
- Show nested headings, active state, keyboard links, reduced-motion behavior, and an empty item list.
24
+ Both the matrix and live example keep the TOC beside a bounded scrollable article on wide screens and above it on narrow screens. Existing activeId and onClickCapture props coordinate this embedded scroll root. Its three real headings can be reached by links or article scrolling; the article region is keyboard-focusable. The package's uncontrolled window observer remains unchanged.
25
+
26
+ The embedded playground article uses natural section spacing; only the last section retains trailing scroll room so its heading can reach the viewport top.
@@ -16,6 +16,8 @@ depends_on:
16
16
 
17
17
  A read-heavy, semantically-correct HTML table with token-aligned typography, sizing, and density. Use `Table` for plain data presentation; reach for `DataTable` when sort, filter, density toggling, or pagination is required.
18
18
 
19
+ **Relationship:** `Table` is the primitive (rows/cells, density, alignment, overflow); `DataTable` is the shell over `Table` (toolbar, selection, pagination, state). Column transforms (sorter, filter, selection, title layering) are a `DataTable`-side concern, not `Table`'s. See `data-table.md` for the shell's ownership statement.
20
+
19
21
  ## Anatomy & slots
20
22
 
21
23
  **Parent:** `Table` (alias of `TableRoot`). The root is a `<table>` element (or `Slot` host when `asChild` is set).
@@ -39,7 +41,7 @@ A read-heavy, semantically-correct HTML table with token-aligned typography, siz
39
41
 
40
42
  - The root renders a `<table>` with `border-collapse: separate; border-spacing: 0;` plus a single border + radius around the entire table.
41
43
  - `Table.Cell` is omitted from the last row's bottom border (`.dsx-table__body tr:last-child .dsx-table__cell { border-bottom: 0 }`).
42
- - Row hover is provided by `.dsx-table__body tr:hover` (background `var(--dsx-effect-hover-ghost)`).
44
+ - Row hover is provided by `.dsx-table__body tr:hover` (background `var(--dsx-effect-hover-ghost)`, transitioned at `fast/standard`). No other hover rule paints rows.
43
45
  - `Table.Header` rows get a `var(--dsx-color-outline)` bottom border.
44
46
  - `Table.Footer` overrides the cell color to `var(--dsx-color-high-contrast)` and removes the bottom border, giving it the appearance of a summary row.
45
47
  - `Table.ColumnHeaderCell` uses `cursor: pointer` only when `sortable` is true, and renders a small `::after` arrow when `sorted` is set.
@@ -54,6 +56,7 @@ A read-heavy, semantically-correct HTML table with token-aligned typography, siz
54
56
  | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | no | Cell padding scale. Writes `data-size`. | no |
55
57
  | `variant` | `'surface' \| 'ghost'` | `'surface'` | no | Visual treatment. `surface` paints a bordered card; `ghost` removes the border and surface color for use on a pre-existing background. Writes `data-variant`. | no |
56
58
  | `layout` | `'auto' \| 'fixed'` | `'auto'` | no | Maps to `table-layout: auto \| fixed`. Writes `data-layout`. Pair with `width="full"` on cells when `layout="fixed"`. | no |
59
+ | `separator` | `'rules' \| 'grid'` | `'rules'` | no | Separator treatment. `rules` paints the header divider plus horizontal row rules only; `grid` additionally paints vertical rules between columns, for dense-financial data, pinned columns, or column resizing. Writes `data-separator`. | no |
57
60
  | `wrapScrollArea` | `boolean` | `false` | no | When `true`, wraps the `<table>` in `ScrollArea` so wide content scrolls horizontally. The `ScrollArea` viewport gets the `dsx-table__scroll-viewport` class. | no |
58
61
  | `asChild` | `boolean` | `false` | no | Renders the root through `Slot`; consumer supplies the host element. | no |
59
62
 
@@ -68,7 +71,7 @@ A read-heavy, semantically-correct HTML table with token-aligned typography, siz
68
71
 
69
72
  | Prop | Type | Default | Required | Description | Responsive |
70
73
  |---|---|---|---|---|---|
71
- | `justify` | `'start' \| 'center' \| 'end'` | `undefined` | no | Horizontal `justify-content` for the cell contents. Writes `data-justify`. | no |
74
+ | `justify` | `'start' \| 'center' \| 'end'` | `undefined` | no | Logical horizontal text alignment of the native table cell; an explicit cell value overrides row alignment. Writes `data-justify`. | no |
72
75
  | `width` | `'auto' \| 'full'` | `undefined` | no | Cell width. `'full'` sets `width: 100%`; `'auto'` clears an inherited width. Writes `data-width`. The prop type also accepts an arbitrary string at the TS level, but only `'auto'` and `'full'` get CSS rules; an arbitrary string is forwarded through `data-width` but produces no visual change. | no |
73
76
  | `padding` | `'none' \| space-scale-value` | `undefined` | no | Cell padding override. `'none'` zeroes out the cell padding. Other space-scale values are forwarded through `data-padding` and inherit from the parent's `data-size` rules. | no |
74
77
  | `asChild` | `boolean` | `false` | no | Polymorphic host. | no |
@@ -100,6 +103,7 @@ The remaining slots (`Table.Caption`, `Table.Header`, `Table.Body`, `Table.Foote
100
103
  | `data-size` | `sm`, `md`, `lg` | `.dsx-table[data-size='sm'] .dsx-table__head, .dsx-table__cell`, `.dsx-table[data-size='lg'] ...` | `table.css` |
101
104
  | `data-variant` | `surface`, `ghost` | `.dsx-table[data-variant='ghost']` (and child overrides) | `table.css` |
102
105
  | `data-layout` | `auto`, `fixed` | `.dsx-table[data-layout='fixed']` (maps to `table-layout: fixed`) | `table.css` |
106
+ | `data-separator` | `rules`, `grid` | `.dsx-table[data-separator='grid']` (vertical rules between columns) | `table.css` |
103
107
  | `data-align` (row) | `start`, `center`, `end` | `.dsx-table__row[data-align='...'] .dsx-table__head, .dsx-table__cell` | `table.css` |
104
108
  | `data-justify` (cell) | `start`, `center`, `end` | `.dsx-table__cell[data-justify='...']` | `table.css` |
105
109
  | `data-width` (cell) | `auto`, `full` | `.dsx-table__cell[data-width='...']` | `table.css` |
@@ -128,6 +132,9 @@ The remaining slots (`Table.Caption`, `Table.Header`, `Table.Body`, `Table.Foote
128
132
  - The component does not write `@media` rules. Responsive layout comes from the layout primitives' responsive classes and from the responsive table-layout helpers in `styles/responsive/tableLayout.css` (`dsx-r-tl-auto`, `dsx-r-tl-fixed`).
129
133
  - The component's CSS file is breakpoint-agnostic.
130
134
 
135
+ - `Cell.justify` maps to native `text-align` (start/center/end), preserving table layout.
136
+ - Static column headers use the default cursor and allow text selection. Pointer cursor and selection suppression apply only to sortable headers.
137
+
131
138
  **Reduced motion:**
132
139
 
133
140
  - The component is static. No motion is applied.
@@ -163,9 +170,9 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
163
170
 
164
171
  | Region | Token | Default | Reduced |
165
172
  |---|---|---|---|
166
- | (none) | none | none | n/a |
173
+ | Body row hover (`background-color`) | `var(--dsx-motion-duration-fast) var(--dsx-motion-easing-standard)` | 150ms ease | (CSS declares no `prefers-reduced-motion` override; consumers who need a hard gate add a page-level rule) |
167
174
 
168
- The component has no motion. It is a static read surface.
175
+ The component is otherwise a static read surface.
169
176
 
170
177
  ## Accessibility
171
178
 
@@ -189,7 +196,7 @@ The component has no motion. It is a static read surface.
189
196
 
190
197
  **Reduced motion:**
191
198
 
192
- - No motion is applied; no `prefers-reduced-motion` override is needed.
199
+ - Only the body-row hover background transitions; no `prefers-reduced-motion` override is needed beyond a page-level rule.
193
200
 
194
201
  **Color and meaning:**
195
202
 
@@ -211,6 +218,7 @@ The component has no motion. It is a static read surface.
211
218
  **Variant story:**
212
219
 
213
220
  - Renders three tables: `variant="surface"`, `variant="ghost"`, and `layout="fixed"`. Asserts the matching `data-variant` and `data-layout` attributes.
221
+ - Renders `separator="grid"`. Asserts `data-separator="grid"` and vertical rules between columns.
214
222
 
215
223
  **Size story:**
216
224
 
@@ -241,6 +249,7 @@ The component has no motion. It is a static read surface.
241
249
  | `size` | select | `md` |
242
250
  | `variant` | select | `surface` |
243
251
  | `layout` | select | `auto` |
252
+ | `separator` | select | `rules` |
244
253
  | `wrapScrollArea` | boolean | `false` |
245
254
 
246
255
  ## Wiring notes
@@ -84,7 +84,7 @@ The roster's `Parent / Slots` column lists `Tabs.Root`, `Tabs.List`, `Tabs.Trigg
84
84
  |---|---|---|---|---|---|
85
85
  | `asChild` | `boolean` | `false` | no | Renders the indicator through `Slot`. The active trigger's `getBoundingClientRect()` is used to position the indicator, so the `Slot` child must keep the same layout. | no |
86
86
  | `className` | `string` | `undefined` | no | Extra classes appended to `dsx-tabs__indicator`. | no |
87
- | `style` | `React.CSSProperties` | `undefined` | no | Extra inline style. The source sets `position: 'absolute'`, `bottom: 0`, `left: <position.left>`, `width: <position.width>`, and `transition: 'left 200ms ease, width 200ms ease'`. The consumer's `style` is merged after. | no |
87
+ | `style` | `React.CSSProperties` | `undefined` | no | Extra inline style. Measured inline geometry is left/width horizontally or left/top/height vertically. Position, paint and motion belong to CSS; consumer styles are merged after geometry. | no |
88
88
 
89
89
  ### `Tabs.ContentGroup`
90
90
 
@@ -97,7 +97,6 @@ The roster's `Parent / Slots` column lists `Tabs.Root`, `Tabs.List`, `Tabs.Trigg
97
97
  Rules:
98
98
 
99
99
  - The root, list, trigger, and content slots run through `extractProps` with the matching prop def bag.
100
- - `Tabs.Indicator` is not in the prop def bag; it manages its own positioning through a `useEffect` that reads the active trigger's `getBoundingClientRect()` relative to the list. The `transition` is hard-coded to `'left 200ms ease, width 200ms ease'` in the source.
101
100
  - The root throws an error (`Tabs compound components must be rendered within a Tabs root.`) if `Tabs.Indicator` is rendered outside a `Tabs.Root`, because the indicator reads from `TabsContext`.
102
101
 
103
102
  ## CSS class contract
@@ -131,11 +130,11 @@ Rules:
131
130
 
132
131
  **Responsive behavior:**
133
132
 
134
- - The component does not write `@media` rules. `size` is single-value only; the prop def is not `responsive: true`.
133
+ - The component does not use width breakpoints. `size` is single-value only; the prop def is not `responsive: true`.
135
134
 
136
135
  **Reduced motion:**
137
136
 
138
- - The indicator transition (`left 200ms ease, width 200ms ease`) is hard-coded in the source. The CSS does not declare transitions for the trigger or the list. Consumers who need a hard gate can add a page-level `prefers-reduced-motion: reduce` rule that overrides the indicator transition.
137
+ The indicator uses CSS motion-duration-normal and motion-easing-standard tokens. Component CSS disables its transition under reduced motion.
139
138
 
140
139
  ## Token mapping
141
140
 
@@ -144,8 +143,8 @@ Every CSS value the component paints is a `var(--dsx-*)` token. The `tabs.css` f
144
143
  | Property | Token | Role |
145
144
  |---|---|---|
146
145
  | List display | `inline-flex` (CSS keyword) | Horizontal list layout. |
147
- | List border | `var(--dsx-border-width-md, var(--dsx-border-width-sm)) solid var(--dsx-control-separator-color)` | Default list bottom edge. |
148
- | List gap | `var(--dsx-space-xs)` | Gap between triggers. |
146
+ | List border | `var(--dsx-boundary-divider-width) solid var(--dsx-control-separator-color)` | Default list bottom edge. |
147
+ | List gap | `0` for default; `var(--dsx-space-xs)` for pills | Default underline tabs are contiguous. |
149
148
  | Pills list background | `var(--dsx-color-surface-raised)` | Pills variant surface. |
150
149
  | Pills list border | `0` (none) | Pills variant has no edge. |
151
150
  | Pills list border radius | `var(--dsx-rounded-full)` | Pills variant corner roundness. |
@@ -155,31 +154,24 @@ Every CSS value the component paints is a `var(--dsx-*)` token. The `tabs.css` f
155
154
  | Trigger color | `var(--dsx-color-on-surface-variant)` | Default trigger text. |
156
155
  | Trigger typography | `var(--dsx-typography-label-large-*)` | Trigger font family and size. |
157
156
  | Content group padding | `var(--dsx-space-md)` | Content group gutter. |
158
- | Indicator height | `2px` (CSS keyword) | Indicator thickness. |
159
- | Indicator background | `var(--dsx-color-accent)` | Active marker color. |
157
+ | Indicator height | `var(--dsx-boundary-selected-width)` | Indicator thickness. |
158
+ | Indicator background | `var(--dsx-color-accent-indicator)` | Active marker color. |
160
159
  | Indicator motion duration | `var(--dsx-motion-duration-normal)` | Indicator position transition. |
161
160
  | Indicator motion easing | `var(--dsx-motion-easing-standard)` | Indicator position easing. |
162
161
 
163
- Rules:
164
-
165
- - No raw color, spacing, radius, or motion values in `tabs.css` other than the indicator thickness (`2px`) and the indicator transition (`200ms ease`), which the source hard-codes.
166
-
167
162
  ## Motion contract
168
163
 
169
- | Region | Token | Default | Reduced |
170
- |---|---|---|---|
171
- | Indicator (left, width) | (hard-coded in source) `200ms ease` | 200ms ease | (CSS does not declare a reduced-motion override; the consumer app can gate the page-level `prefers-reduced-motion` rule) |
172
- | List / trigger / content (CSS) | `none` | `none` | `none` |
173
-
174
- Rules:
164
+ | Region | Token | Reduced |
165
+ |---|---|---|
166
+ | Indicator left/width/top/height | `var(--dsx-motion-duration-normal)` and `var(--dsx-motion-easing-standard)` | Transition disabled |
175
167
 
176
- - The list and trigger have no CSS transitions. The indicator transition is hard-coded in the source; the CSS exposes a `var(--dsx-motion-duration-normal) var(--dsx-motion-easing-standard)` declaration for the indicator, but the source's inline `style` takes precedence.
168
+ Indicator geometry follows the active DOM trigger on controlled or uncontrolled value changes, orientation changes, list scroll, and ResizeObserver notifications. Geometry is relative to the owning list. Vertical lists use a vertical marker and column triggers. Panel flex-basis is 50%, allowing intrinsic wrapping below the list when the two columns no longer fit. Root/list/trigger/content support their advertised `asChild` composition.
177
169
 
178
170
  ## Accessibility
179
171
 
180
172
  **Roles:**
181
173
 
182
- - `Tabs.Root` is `role="tablist"` (Radix).
174
+ - `Tabs.List` is `role="tablist"` (Radix); the root is a non-semantic container.
183
175
  - `Tabs.Trigger` is `role="tab"` with `aria-selected` and `aria-controls` (Radix).
184
176
  - `Tabs.Content` is `role="tabpanel"` with `aria-labelledby` linked to the trigger (Radix).
185
177
  - `Tabs.Indicator` is decorative (`aria-hidden`).
@@ -199,11 +191,10 @@ Rules:
199
191
 
200
192
  **Focus:**
201
193
 
202
- - The CSS file does not declare a focus ring on the trigger; the shared tab list style in `_internal/baseTabs.css` paints the focus ring on `:focus-visible`. The ring stays visible on dark and light surfaces.
194
+ - The trigger uses an inset canonical focus ring so a scrollable list does not clip it. The ring stays visible on dark and light surfaces.
203
195
 
204
196
  **Reduced motion:**
205
197
 
206
- - The indicator transition is hard-coded in the source. Consumers who need a hard gate can add a page-level `prefers-reduced-motion: reduce` rule.
207
198
 
208
199
  **Color and meaning:**
209
200
 
@@ -213,37 +204,13 @@ Rules:
213
204
 
214
205
  - Every trigger must have an accessible name from its children. Icon-only triggers need `aria-label`.
215
206
 
216
- ## Playground demo spec
217
-
218
- **Default story:**
219
-
220
- - Renders `Tabs` with two triggers and two content panels. Asserts the first trigger has `data-state="active"` and `aria-selected="true"`, and the first content panel is visible.
221
-
222
- **Variant story:**
207
+ Default tabs use an underline and transparent selected background; pills retain the solid accent fill. A static underline is provided when `Tabs.Indicator` is omitted. `ContentGroup` owns the 16px panel gap; child content has no additional top margin.
223
208
 
224
- - Renders `Tabs.List` with `variant="pills"`. Asserts `data-variant="pills"` on the list.
209
+ The matrix exposes size, list variant and orientation with the same project panels as the live examples. Disabled settings and working activity panels are present in every composition.
225
210
 
226
- **State story:**
227
-
228
- - Clicks the second trigger and asserts the second trigger becomes `data-state="active"` while the first becomes `data-state="inactive"`. Renders a trigger with `disabled` and asserts `data-disabled` is present.
229
-
230
- **Composition story:**
231
-
232
- - Renders a `Tabs.ContentGroup` wrapping one `Tabs.Content`. Asserts the wrapper renders with `dsx-tabs__content-group` and `data-slot="tabs-content-group"`.
233
-
234
- **Token story:**
235
-
236
- - Renders `Tabs` inside a `Theme` wrapper with `accentColor="silver"` and one with `accentColor="bronze"`. The active trigger's indicator tracks `var(--dsx-color-accent)`, which is theme-aware.
237
-
238
- **A11y story:**
239
-
240
- - The `Tabs.test.tsx` suite covers the role contract via `screen.getByRole('tab', { name })` and the state transitions via `userEvent.click`. The registry does not need a separate `vitest-axe` check.
211
+ ## Playground demo spec
241
212
 
242
- **Props exposed in the playground controls:**
243
-
244
- | Prop | Control | Default |
245
- |---|---|---|
246
- | `size` | select | `md` |
213
+ The matrix exposes root size, List variant (default/pills), and Radix orientation (horizontal/vertical). Each uses the same working project panels as the live examples: Overview, Activity, and disabled Settings. Default lists contain Tabs.Indicator; pills omit it. ContentGroup wraps the panels and applies the single gap. Arrow navigation changes the visible panel; disabled Settings is skipped.
247
214
 
248
215
  ## Wiring notes
249
216
 
@@ -266,3 +233,5 @@ Rules:
266
233
 
267
234
  - App-owned data: the tab registry, the panel content, the disabled reasons, and the deep-link policy.
268
235
  - DS-owned visuals: the `dsx-tabs` root class, the slot classes, the token bindings, and the `data-*` and ARIA attribute contract.
236
+
237
+ Pills use accent-track with accent-contrast text. The default/vertical indicator uses accent-indicator, the foreground and stroke role.
@@ -14,8 +14,10 @@ depends_on:
14
14
  ## Purpose
15
15
 
16
16
  The single dismissible label chip. Badge is the static status/metadata token; Pills is the
17
- filter cluster; Status is the dot indicator; Tag is the one interactive chip with an
18
- optional remove action. Use for active filters, selected values, and removable labels.
17
+ selectable filter cluster; Status is the dot indicator; Tag is the one chip that owns
18
+ its own remove action. Use for active filters, selected values, and removable labels.
19
+ Cardinality rule (F6 brief): one chip with a remove action is a Tag; a row of chips
20
+ with selection state is Pills. Tag claims dismissal, never selection.
19
21
 
20
22
  ## Anatomy & slots
21
23
 
@@ -128,6 +128,7 @@ Rules that apply to this row:
128
128
 
129
129
  - The component does not write `@media` rules. None of its prop defs are `responsive: true`. Density and radius are single-value only.
130
130
  - The component's CSS file is breakpoint-agnostic.
131
+ - The inner input has `min-inline-size: 0`, so its intrinsic width yields to leading/trailing slots at 320px. Slot content remains visible inside the shell.
131
132
 
132
133
  **Reduced motion:**
133
134