@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
@@ -8,247 +8,69 @@ depends_on: []
8
8
 
9
9
  # Link
10
10
 
11
- > Consumer note: this document describes public intent and contracts; the package TypeScript declarations are the exact API.
11
+ > Source of truth: the package source at `package_path`. The spec mirrors source in the same change.
12
12
 
13
13
  ## Purpose
14
14
 
15
- A styled anchor element that renders an `<a>` (or the consumer's host element) with token-aligned typography, an `underline` policy, a `tone` color override, an optional `color` accent (rift, warp, or ray), an optional single-value `size` scale, a `highContrast` toggle, and the shared `asChild` infra. Internal versus external routing is a consumer choice: the component renders an `<a>` and forwards `href`, `target`, `rel`, and every other native anchor attribute through prop forwarding.
15
+ A native inline anchor with readable accent foreground, explicit underline policy and a single-value font-size scale. Apps own destination, routing, target and rel. `asChild` supplies a consumer host.
16
16
 
17
17
  ## Anatomy & slots
18
18
 
19
- **Parent:** `Link` (no compound; flat polymorphic export).
20
-
21
- **Slots:**
22
-
23
- No slots: flat export. The component renders a single `<a>` host element (or the consumer's host element when `as` or `asChild` is set) with the `dsx-link` root class, the `underline` modifier class, and any `tone` modifier class.
19
+ Single `<a>` root with `dsx-link`; no compound slots. Native anchor attributes and refs are forwarded. `asChild` uses Radix Slot.
24
20
 
25
21
  ## Props contract
26
22
 
27
23
  | Prop | Type | Default | Required | Description | Responsive |
28
24
  |---|---|---|---|---|---|
29
- | `underline` | `'auto' \| 'always' \| 'hover' \| 'none'` | `'auto'` | no | Underline policy. Writes the `dsx-link--{underline}` modifier class. `auto` is unstyled at rest, underline on hover (same hover treatment as `hover`); `always` shows it unconditionally; `hover` is unstyled at rest, underline on hover; `none` removes it for both `a` and `button` hosts. | no |
30
- | `tone` | `'default' \| 'muted' \| 'inverse'` | `'default'` | no | Tone modifier. Writes `dsx-link--{tone}` for `muted` and `inverse`. | no |
31
- | `color` | `'rift' \| 'warp' \| 'ray' \| string` | `undefined` | no | Accent color. The three canonical values are rift, warp, and ray; the prop also accepts a free-form string. Writes the `data-accent-color` attribute. | no |
32
- | `size` | `'1' \| '2' \| '3' \| '4' \| '5' \| '6' \| '7' \| '8' \| '9'` | `undefined` | no | Single-value size scale. Writes the `data-size` attribute. Not responsive: the source writes the value directly with no base-value resolution. | no |
33
- | `highContrast` | `boolean` | `false` | no | When `true`, writes `data-high-contrast="true"`. | no |
34
- | `asChild` | `boolean` | `false` | no | Renders the host through `Slot` from `@radix-ui/react-slot`; consumer supplies the host element. | no |
35
- | `className` | `string` | `undefined` | no | Extra classes appended to `dsx-link`. | no |
36
- | `style` | `React.CSSProperties` | `undefined` | no | Extra inline style forwarded to the host element. | no |
37
- | `children` | `React.ReactNode` | `undefined` | no | Link body. | no |
38
-
39
- Rules that apply to this row:
40
-
41
- - `Link` extends `Omit<ComponentPropsWithoutRef<'a'>, 'color'>` because `color` is redefined by the prop def bag.
42
- - `underline`, `tone`, `color`, `size`, `highContrast`, and `asChild` flow through `extractProps` and the prop def bag. The component forwards every other native anchor attribute (`href`, `target`, `rel`, `download`, `aria-*`, etc.) when `asChild` is `false`.
43
- - `data-accent-color` is written when `color` is set. `data-size` is written when `size` is set. `data-high-contrast` is written when `highContrast` is truthy.
44
- - The `color` prop in the prop def has `type: 'enum | string'` and a `values` list of `['rift', 'warp', 'ray']`. The runtime accepts any string; the canonical values are the accent palette.
45
- - Internal versus external routing is not a prop. Apps wrap `Link` in their router's link primitive (or use `asChild` with the router's link) when they need client-side navigation; `Link` itself renders a native anchor and forwards `href`.
25
+ | `underline` | `'auto' \| 'always' \| 'hover' \| 'none'` | `'auto'` | no | Writes `dsx-link--{underline}`; see affordance policy below. | no |
26
+ | `tone` | `'default' \| 'muted' \| 'inverse'` | `'default'` | no | Non-default tones write `dsx-link--{tone}`. | no |
27
+ | `color` | `'rift' \| 'warp' \| 'ray' \| string` | `undefined` | no | Writes `data-accent-color`; the global token layer resolves recognized accents, including astral and spark. Unknown strings retain the ambient tokens. | no |
28
+ | `size` | `'1' \| '2' \| '3' \| '4' \| '5' \| '6' \| '7' \| '8' \| '9'` | `undefined` | no | Writes `data-size` and applies the existing role-derived font-size mapping. | no |
29
+ | `highContrast` | `boolean` | `false` | no | Writes `data-high-contrast="true"` and uses high-contrast foreground. | no |
30
+ | `asChild` | `boolean` | `false` | no | Slot the consumer host. | no |
31
+ | `className` | `string` | `undefined` | no | Additional classes. | no |
32
+ | `style` | `React.CSSProperties` | `undefined` | no | Forwarded style. | no |
33
+ | `children` | `React.ReactNode` | `undefined` | no | Accessible link content. | no |
34
+
35
+ `href`, `target`, `rel`, `download`, `id` and `aria-*` are native anchor props. There is no routing or external-link prop and no `as` prop.
46
36
 
47
37
  ## CSS class contract
48
38
 
49
- **Root class:** `dsx-link`
50
-
51
- **Modifier classes** (driven by the `underline` and `tone` prop defs and the `data-*` attributes):
52
-
53
- | Attribute | Allowed values | Class | CSS file |
54
- |---|---|---|---|
55
- | (class) | `auto`, `always`, `hover`, `none` | `dsx-link--{underline}` | `link.css` |
56
- | (class) | `muted`, `inverse` | `dsx-link--muted`, `dsx-link--inverse` | `link.css` |
57
- | `data-accent-color` | `rift`, `warp`, `ray` (or any custom string) | `.dsx-link[data-accent-color='rift']`, `.dsx-link[data-accent-color='warp']`, `.dsx-link[data-accent-color='ray']` | `link.css` |
58
- | `data-size` | `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9` | (CSS contract for size) | n/a |
59
- | `data-high-contrast` | `true` | `.dsx-link[data-high-contrast='true']` | `link.css` |
39
+ Root: `dsx-link`. Modifier classes: `dsx-link--auto`, `--always`, `--hover`, `--none`, `--muted`, `--inverse`. Attributes: `data-size`, `data-accent-color`, `data-high-contrast`.
60
40
 
61
- **Slot classes:** none.
41
+ The root uses native inline flow; multiline links share line boxes with surrounding text. `overflow-wrap: anywhere` allows long identifiers to wrap. SVG children align vertically with a token gutter. Layout primitives can still position a Link as a flex/grid child.
62
42
 
63
- **Responsive behavior:**
43
+ Underline policy:
64
44
 
65
- - `size` is single-value only (`responsive` is unset in the prop def bag and the source writes `data-size` directly). Unlike Heading/Text, Link has no responsive class pipeline for size — no breakpoint-prefixed size classes exist in the CSS.
45
+ - `auto`: no underline at desktop rest; underline on hover, focus-visible or pressed. On devices without hover it is underlined at rest.
46
+ - `always`: underline at rest and through interaction.
47
+ - `hover`: no underline at rest; underline on hover, focus-visible or pressed.
48
+ - `none`: no underline through interaction; focus ring remains visible.
66
49
 
67
- **Reduced motion:**
68
-
69
- - The component transitions `color` over `var(--dsx-motion-duration-fast, 150ms) var(--dsx-motion-easing-standard, ease)`. The transition is a color change only; it is not gated by `prefers-reduced-motion` in the source CSS. The default fast duration is short enough that the transition is acceptable for most reduced-motion users.
50
+ Underlines use `currentColor`, including muted, inverse and high-contrast tones. High contrast preserves the inverse foreground on an inverse surface. Thickness and offset preserve the existing font-relative browser heuristics.
70
51
 
71
52
  ## Token mapping
72
53
 
73
- Every CSS value the component paints is a `var(--dsx-*)` token.
74
-
75
54
  | Property | Token | Role |
76
55
  |---|---|---|
77
- | Color (default) | `var(--dsx-color-primary)` | Default link color. |
78
- | Color (accent override) | `var(--dsx-color-accent-9)` | Override for rift, warp, and ray. |
79
- | Color (muted) | `var(--dsx-color-on-surface-variant)` | Muted tone. |
80
- | Color (inverse) | `var(--dsx-color-on-inverse-background)` | Inverse-context color. |
81
- | Color (high-contrast) | `var(--dsx-color-high-contrast)` | High-contrast shift. |
82
- | Text decoration color | `var(--dsx-color-primary)` (or `var(--dsx-color-accent-9)` on accent, or `var(--dsx-color-high-contrast)` on high-contrast) | Underline color. |
83
- | Gap | `var(--dsx-space-xs)` | Inner gap for icon-plus-label layouts. |
84
- | Border radius (focus) | `var(--dsx-rounded-sm)` | Focus ring roundness. |
85
- | Outline (focus) | `2px solid var(--dsx-effect-ring-focus)` | Focus ring width. |
86
- | Outline offset (focus) | `var(--dsx-focus-ring-offset, 2px)` | Focus ring offset. |
87
- | Motion duration | `var(--dsx-motion-duration-fast, 150ms)` | Color transition. |
88
- | Motion easing | `var(--dsx-motion-easing-standard, ease)` | Color transition. |
89
-
90
- Rules:
91
-
92
- - Tokens come from `DESIGN.md` and the generated `tokens.css`. The accent override is the only place a brand color is used directly; the default link color tracks `var(--dsx-color-primary)` so it follows `data-accent-color` for rift, warp, and ray.
93
- - The text-decoration thickness and offset use the browser-native heuristics `min(2px, max(1px, 0.05em))` and `calc(0.025em + 2px)`. These are CSS values, not tokens; the spec records them as the canonical underline rhythm.
56
+ | Default foreground | `--dsx-color-accent-indicator` | Readable text, independently scoped through all five accents. |
57
+ | Muted / inverse / high contrast | `--dsx-color-on-surface-variant` / `--dsx-color-on-inverse-background` / `--dsx-color-high-contrast` | Existing tone and contrast roles. |
58
+ | Icon gutter / focus radius | `--dsx-space-xs` / `--dsx-rounded-sm` | Inline icon and focus geometry. |
59
+ | Focus outline / offset | `--dsx-border-width-lg` + `--dsx-effect-ring-focus` / `--dsx-space-0-5` | Visible 2px keyboard outline, 2px offset. |
60
+ | Size 1–9 | label-small, label-medium, body-medium, body-large, label-large, headline-medium, headline-large, display-medium, display-large font-size tokens | Existing mapping preserved; omitted size inherits context. |
94
61
 
95
62
  ## Motion contract
96
63
 
97
- | Region | Token | Default | Reduced |
98
- |---|---|---|---|
99
- | Color transition | `var(--dsx-motion-duration-fast) var(--dsx-motion-easing-standard)` | `150ms ease` | (no explicit reduced override in the source CSS) |
100
-
101
- Rules:
102
-
103
- - The color transition is a token-driven property. A future `prefers-reduced-motion` override would either zero the duration or remove the transition entirely; the spec leaves that decision to a future spec change.
64
+ Color transitions use `--dsx-motion-duration-fast` and `--dsx-motion-easing-standard`. `prefers-reduced-motion: reduce` removes the transition. Modality queries are not viewport breakpoints; no responsive prop or width query is added.
104
65
 
105
66
  ## Accessibility
106
67
 
107
- **Roles:**
108
-
109
- - The component renders an `<a>` by default (or the consumer's host element when `as` / `asChild` is set). The semantic role of a link is preserved.
110
-
111
- **Keyboard:**
112
-
113
- - Links are focusable. `Tab` moves focus to and from the link. `Enter` activates the link. The browser's focus ring renders through `dsx-link:focus-visible`.
114
-
115
- **Focus:**
116
-
117
- - Visible focus ring via `2px solid var(--dsx-effect-ring-focus)` with `outline-offset: var(--dsx-focus-ring-offset, 2px)`. The ring is rendered only on `:focus-visible` so mouse-driven focus does not show it.
118
-
119
- **Reduced motion:**
120
-
121
- - The color transition is short (150ms). Apps that need a strict reduced-motion fallback should layer a global rule that disables the transition inside `@media (prefers-reduced-motion: reduce)`.
122
-
123
- **Color and meaning:**
124
-
125
- - The `color`, `tone`, and `underline` props are visual modifiers. The link's href and label carry the meaning.
126
-
127
- **Naming:**
128
-
129
- - Every link needs an accessible name. The default render uses the body text as the accessible content. Consumers should supply `aria-label` when the body is an icon or another non-text node.
68
+ Body prose should use `underline="always"` where link color does not have a 3:1 luminance distinction from surrounding text; the live paragraph demonstrates that policy. A named anchor with href receives native Tab/Enter behavior. Focus-visible always paints the outline. Touch and keyboard affordances do not depend on hover. Inline prose links use the WCAG 2.5.8 inline exception. When a link is blockified by flex/grid layout, its minimum inline/block size is a physical 24px (`size-md / density-scale`); density must not shrink the floor. Standalone icon actions should use the appropriate control component. Inverse tone requires an inverse surface. Apps supply accessible labels for icon-only content and their router host through `asChild`.
130
69
 
131
70
  ## Playground demo spec
132
71
 
133
- `Link` is registered in `apps/playground/lib/registry/typography.tsx` under the `link` key. The registry entry imports `linkPropDefs` and renders the component with a sample href. Per-component route: `/docs/link`.
134
-
135
- **Default story:**
136
-
137
- - Renders `Link` with a default href and body. Asserts the root class is `dsx-link` and the `underline` modifier is `dsx-link--auto`. Host element is `A` and the `href` attribute is forwarded.
138
-
139
- **Underline story:**
140
-
141
- - Renders Link with each `underline` value. Asserts the matching `dsx-link--{underline}` class.
142
-
143
- **Color story:**
144
-
145
- - Renders Link with each `color` value. Asserts the `data-accent-color` attribute on the root. The test `renders data-accent-color for warp and ray` documents rift, warp, and ray.
146
-
147
- **Composition story** (for `asChild`):
148
-
149
- - Renders Link with `asChild` wrapping a Next.js-style `<a>` element. Asserts the host element is `A` and the `dsx-link` class is preserved.
150
-
151
- **State story:**
152
-
153
- - Renders Link in muted, inverse, and high-contrast states. Asserts the matching modifier class or `data-high-contrast` attribute.
154
-
155
- **Token story:**
156
-
157
- - Renders inside a `Theme` wrapper with `accentColor="rift"` and `accentColor="warp"`. Asserts the `data-accent-color` attribute tracks the active accent.
158
-
159
- **A11y story:**
160
-
161
- - The default render passes the `vitest-axe` no-violations check. The focus-visible ring test is covered by the `:focus-visible` selector in the CSS.
162
-
163
- **Props exposed in the playground controls:**
164
-
165
- | Prop | Control | Default |
166
- |---|---|---|
167
- | `underline` | select | `auto` |
168
- | `tone` | select | `default` |
169
- | `color` | select | (none) |
170
- | `size` | select | (none) |
171
- | `highContrast` | boolean | `false` |
172
- | `asChild` | boolean | `false` |
72
+ `/docs/link`, typography registry. Matrix render forwards all props; controls expose underline, tone, color, size and highContrast. The live example has real local hash navigation, all four underline policies, muted/inverse/high-contrast references, all five accent strings and a slotted native anchor. Tab/Enter navigates to the labelled destination. The nine size values remain available in the matrix.
173
73
 
174
74
  ## Wiring notes
175
75
 
176
- **Composes from:**
177
-
178
- - `@radix-ui/react-slot` for `asChild`.
179
- - `_internal/helpers/extractProps` for the prop def bag.
180
- - `_internal/props/{asChild,highContrast}.prop` for the shared prop defs.
181
- - `_internal/cn` (via `classNames`) for class merging.
182
- - No DS component composition. Link is a leaf primitive.
183
-
184
- **Used by:**
185
-
186
- - The Playground typography registry, in-product navigation, in-line references, footer links, and any app surface that needs a styled anchor.
187
-
188
- **State boundaries:**
189
-
190
- - Owned by Link: the root class, the `underline` and `tone` modifier classes, the `data-accent-color`, `data-size`, and `data-high-contrast` attributes, the focus-visible ring, and the prop def bag.
191
- - Owned by the consumer: the href, target, rel, the body content, the host element when `as` / `asChild` is set, the click navigation behavior, and any extra `className` / `style` applied through prop forwarding.
192
-
193
- **Boundary rules:**
194
-
195
- - App-owned data: the destination, the link copy, the open-in-new-tab and rel behavior (`target="_blank"` requires `rel="noopener noreferrer"` for security), and the routing strategy.
196
- - DS-owned visuals: the `dsx-link` root class, the `underline` and `tone` modifier classes, the accent color, the focus ring, and the prop def bag.
197
-
198
- ## Penpot build recipe
199
-
200
- > Optional. Penpot is a visual reference, not a code authority. The Link recipe tracks the `underline`, `tone`, `color`, `size`, and `highContrast` contract.
201
-
202
- The package does not yet publish a Penpot asset for Link. The recipe is visual reference only and tracks the CSS contract.
203
-
204
- ### Root board
205
-
206
- - **Name**: `Primitives / Link`.
207
- - **Dimensions**: `auto × auto` (inline).
208
- - **Layout**: `Flex` (inline).
209
- - **Sizing**: `horizontalSizing = 'auto'`, `verticalSizing = 'auto'`.
210
-
211
- ### Layer tree
212
-
213
- ```
214
- <Root Board: Link>
215
- └── <Text: link body (anchor)>
216
- ```
217
-
218
- ### Token bindings (Penpot properties)
219
-
220
- | Shape | Property | Token | Token type | Penpot property name |
221
- |---|---|---|---|---|
222
- | Root | text fill | `--dsx-color-primary` (default) | Color | `fills` |
223
- | Root (accent) | text fill | `--dsx-color-accent-9` | Color | `fills` (state) |
224
- | Root (muted) | text fill | `--dsx-color-on-surface-variant` | Color | `fills` (state) |
225
- | Root (inverse) | text fill | `--dsx-color-on-inverse-background` | Color | `fills` (state) |
226
- | Root (always) | text decoration | `--dsx-color-primary` | Color | `textDecoration` |
227
- | Root (focus-visible) | outline | `--dsx-effect-ring-focus` | Color | `outline` |
228
-
229
- ### State transformations
230
-
231
- | State | Root text fill | Text decoration |
232
- |---|---|---|
233
- | `default` | `--dsx-color-primary` | (none on `auto`) |
234
- | `muted` | `--dsx-color-on-surface-variant` | (none) |
235
- | `inverse` | `--dsx-color-on-inverse-background` | (none) |
236
- | `highContrast` | `--dsx-color-high-contrast` | (none) |
237
- | `accent=rift` | `--dsx-color-accent-9` | `--dsx-color-accent-9` on `always` |
238
- | `always` | (per tone) | `underline` solid `--dsx-color-primary` |
239
- | `hover` (auto) | (per tone) | `underline` solid `--dsx-color-primary` |
240
-
241
- ### Variant model
242
-
243
- - `underline`: `auto`, `always`, `hover`, `none`. Default `auto`.
244
- - `tone`: `default`, `muted`, `inverse`. Default `default`.
245
- - `color`: `rift`, `warp`, `ray`, or a free-form string. Default unset.
246
- - `size`, `highContrast` documented in the spec body.
247
- - Total members: underline × tone × color = 4 × 3 × 4 = 48, plus the high-contrast toggle.
248
-
249
- ### Validation checklist
250
-
251
- - [ ] Token bindings resolve at the values `DESIGN.md` describes.
252
- - [ ] Component is promoted to Main Component under `Primitives`.
253
- - [ ] `penpotUtils.shapeStructure(board, 3)` matches the expected hierarchy.
254
- - [ ] The accent override is the only place a brand color is used directly; the default link color tracks `data-accent-color` for rift, warp, and ray.
76
+ Radix Slot implements `asChild`; `extractProps` consumes `linkPropDefs`; classnames merges the root and modifiers. No DS component composition inside Link. The token layer owns accent rescoping; Link consumes semantic roles. Apps own link content, destination and navigation.
@@ -24,7 +24,7 @@ A horizontally scrolling content strip that animates a duplicated child track ac
24
24
  |---|---|---|---|
25
25
  | `Marquee` (root) | `<div>` | DS primitive + class | Wrapper that owns the `--dsx-marquee-duration`, `--dsx-marquee-direction`, and `--dsx-marquee-edge-fade-width` CSS variables plus the `data-pause-on-hover` and optional `data-edge-fade` attributes. |
26
26
  | internal track | `<div class="dsx-marquee__track">` | internal layout | Flex row that runs the `dsx-marquee-scroll` keyframe. |
27
- | internal content (x2) | `<div class="dsx-marquee__content">` | internal layout | The original `children` and an `aria-hidden="true"` clone. The duplication is what makes the loop seamless. |
27
+ | internal content (x2) | `<div class="dsx-marquee__content">` | internal layout | The original `children` and an `aria-hidden="true"`, inert clone. The duplication is what makes the loop seamless. |
28
28
 
29
29
  The track and content nodes are internal layout, not public slots. The two `dsx-marquee__content` rows are siblings inside the track.
30
30
 
@@ -130,7 +130,7 @@ Rules:
130
130
 
131
131
  **Focus:**
132
132
 
133
- - Focusable children inside the strip remain focusable. The scroll animation does not move focus. The edge mask clears on `:focus-within` so focus indicators are not clipped. Consumers that include interactive children should ensure those children are not announced twice; the `aria-hidden="true"` clone handles the announcement side.
133
+ - Focusable children inside the strip remain focusable. The scroll animation does not move focus. The edge mask clears on `:focus-within` so focus indicators are not clipped. Consumers that include interactive children should ensure those children are not announced twice; the duplicate is both `aria-hidden` and inert, so it cannot add duplicate keyboard stops. Focus within the original pauses animation regardless of `pauseOnHover`.
134
134
 
135
135
  **Reduced motion:**
136
136
 
@@ -166,7 +166,7 @@ Every CSS value the component paints is a `var(--dsx-*)` token, with three docum
166
166
  | Content transform origin | `var(--radix-dropdown-menu-content-transform-origin)` | Radix-provided anchor (not a token). |
167
167
  | Item gap | `var(--dsx-space-sm)` | Gap between item content. |
168
168
  | Item padding | `var(--dsx-space-xs) var(--dsx-space-sm)` | Inner gutter. |
169
- | Item radius | `var(--dsx-rounded-sm)` | Rounded highlight surface. |
169
+ | Item radius | `0` (square); menu first/last/only-child edge rules restore frame-concentric corners | Stacked items read as one joined block instead of floating pills — checked washes, hover washes, and focus rings share one flush geometry. |
170
170
  | Item typography | `var(--dsx-typography-body-medium-*` | Body ramp. |
171
171
  | Item color | `var(--dsx-color-on-surface)` | Resting text. |
172
172
  | Item highlight background | `var(--dsx-effect-hover-ghost)` | Hover / keyboard-focus highlight. |
@@ -175,6 +175,7 @@ Every CSS value the component paints is a `var(--dsx-*)` token, with three docum
175
175
  | Separator margin | `var(--dsx-space-xs)` calc(-1) | Inset margin. |
176
176
  | Separator background | `var(--dsx-color-outline-variant)` | Divider color. |
177
177
  | Overlay z-index | `calc(var(--dsx-z-index-dropdown) - 1)` | Just under the content. |
178
+ | Nested content z-index | `calc(var(--dsx-z-index-modal, 90) + 2)` | Menu-tier content nested inside a modal-tier host (carries `dsx-menu__nested`). |
178
179
  | Animation duration | `var(--dsx-motion-duration-fast)` | Open / close keyframes. |
179
180
  | Animation easing (in) | `var(--dsx-motion-easing-emphasized)` | Open easing. |
180
181
  | Animation easing (out) | `var(--dsx-motion-easing-in)` | Close easing. |
@@ -187,6 +188,7 @@ Rules:
187
188
  - `menu.css` no longer declares `background`, `border`, `border-radius`, `padding`, `min-width`, or `box-shadow` on `.dsx-menu`/`.dsx-menu__content`. Those properties are owned solely by the public surface CSS (`dropdown-menu.css`, `context-menu.css`, `menubar.css`), which already agreed on the same recipe (`--dsx-color-panel-translucent`, `--dsx-rounded-lg`, `--dsx-size-menu-min-width`, `--dsx-shadow-elevation-3`-via-`baseMenu.css`). Previously `menu.css` was imported last in `components.css` and, at equal selector specificity, silently overrode that recipe with a stale one (`surface-raised`, `rounded-md`, hard-coded `8rem`, `shadow-md`/elevation-2) for `DropdownMenu` and `ContextMenu` only — `Menubar` was unaffected because `MenubarContent` never carried the `dsx-menu` class, which is why the three surfaces looked subtly different despite sharing a spec.
188
189
  - The Radix CSS variables (`--radix-dropdown-menu-content-available-height`, `--radix-dropdown-menu-content-transform-origin`) are provided by Radix at runtime and are not design tokens. They are the boundary between the Radix positioning layer and the package's visual layer; the spec keeps them explicit so consumers do not treat them as themable.
189
190
  - Item hover, focus, selected, and disabled states that are shared across the menu family (DropdownMenu, ContextMenu, Menubar, NavigationMenu trigger/link/viewport) live in `_internal/baseMenu.css` rather than `menu.css`. The public menu surfaces import `baseMenu.css` to inherit those rules.
191
+ - **Nested floating tier (shared layering contract).** Menu-tier content (`Select`, `Combobox`, `DropdownMenu`/`ContextMenu`/`Menubar` via `MenuContent`) paints at the dropdown tier (50); modal-tier hosts (`Popover.Content` at `modal + 1`, `Dialog.Content` at `modal` — both body-portaled, with Radix copying the content `z-index` onto its wrapper) sit above it, so a menu opened inside one of those hosts paints behind its own host. Hosts provide `_internal/floatingLayer` `FloatingLayerHostContext` from their content; menu contents consume it and add `dsx-menu__nested`, resolved to `modal + 2` by `_internal/baseMenu.css`. A flat bump of `--dsx-z-index-dropdown` is rejected: a nested menu must clear 91 while a standalone page menu must stay below the modal overlay (80) so an open Dialog still masks page content — one static value cannot do both. Standalone menus never carry the class. The signal is provided at content level (not root) so `Combobox` — itself a `Popover` — never self-escalates. `AlertDialog.Content` inherits the host behavior through `Dialog.Content`. `Drawer` (vaul, own overlay tier) is out of scope.
190
192
 
191
193
  ## Motion contract
192
194
 
@@ -272,6 +274,7 @@ The `test_path` is `packages/d4gger-design-system/src/test/components/menu-migra
272
274
  - `_internal/usePrefersReducedMotion`: gates the framer-motion preset.
273
275
  - `framer-motion` (re-exported from `@d4gger/design-system/motion`): `motion` and `AnimatePresence` for the content animation.
274
276
  - `_internal/baseMenu.css`: shared item hover, focus, selected, and disabled rules. The public menu surfaces import `baseMenu.css` to inherit those rules; the `Menu` CSS file does not import it directly.
277
+ - `_internal/floatingLayer`: `FloatingLayerHostContext` / `useFloatingLayerHost` for the nested floating tier. `MenuContent` consumes it and adds `dsx-menu__nested` when rendered inside a modal-tier host (see the Token mapping contract above).
275
278
 
276
279
  **Used by:**
277
280
 
@@ -29,7 +29,7 @@ A surface-neutral metric anatomy for labels, tabular values, and semantic change
29
29
 
30
30
  | Prop | Type | Default | Required | Description | Responsive |
31
31
  |---|---|---|---|---|---|
32
- | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | no | Metric scale inherited by all slots. | no |
32
+ | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | no | Value typography scale inherited through context; label and delta retain their supporting type ramps. | no |
33
33
  | `asChild` | `boolean` | `false` | no | Uses the consumer host for the root. | no |
34
34
  | `className` | `string` | `undefined` | no | Appended root class. | no |
35
35
 
@@ -40,6 +40,7 @@ A surface-neutral metric anatomy for labels, tabular values, and semantic change
40
40
  - Root: `dsx-metric`; slots: `dsx-metric__label`, `dsx-metric__value`, `dsx-metric__delta`.
41
41
  - Root writes `data-size="sm|md|lg"`; Delta writes `data-tone="positive|negative|neutral"`.
42
42
  - The component is static and breakpoint-agnostic.
43
+ - The root shrinks within the available width and wraps unbroken values or identifiers. Delta content can wrap without creating horizontal overflow. Consumers retain responsibility for meaningful number formatting.
43
44
 
44
45
  ## Token mapping
45
46
 
@@ -68,3 +69,5 @@ Show a default Metric, all three sizes, all three delta tones, a full compositio
68
69
  ## Wiring notes
69
70
 
70
71
  Metric owns anatomy, typography, tabular numerals, and delta presentation. Consumers own values, trend calculations, localization, and the surrounding Card or layout. `StatCard` composes this anatomy while preserving its legacy public contract.
72
+
73
+ Playground appearance follows the global theme switcher. Accent demonstrations inherit that appearance; no forced light/dark example overrides it.
@@ -29,15 +29,15 @@ An inbox-style notification surface that groups header, list, and footer regions
29
29
  | `NotificationCenter.List` | `<div>` (or `Slot` host) | `dsx-notification-center__list` | Vertical list of items. Capped at `max-height: 400px` with `overflow-y: auto`. |
30
30
  | `NotificationCenter.Footer` | `<div>` (or `Slot` host) | `dsx-notification-center__footer` | Footer row (typically a "View all" link or button). |
31
31
  | `NotificationCenter.Item` | `<div>` (or `Slot` host) | `dsx-notification-center__item` (with `--unread` modifier when `unread` is true) | A single notification row. The CSS file ships helper classes `dsx-notification-center__item-title`, `dsx-notification-center__item-description`, and `dsx-notification-center__item-time` for the typical layout. |
32
- | `NotificationCenter.Trigger` | `IconButton` + `Badge` fragment | `dsx-notification-center__trigger` and `dsx-notification-center__badge` | Bell-style trigger. Wraps an `IconButton` (size `sm`, variant `ghost`, default `aria-label="Notifications"`) and conditionally renders a `Badge` with the unread count (capped at `'99+'`). The trigger is rendered as a React fragment so it can be placed anywhere. |
32
+ | `NotificationCenter.Trigger` | `IconButton` containing Icon + Badge | `dsx-notification-center__trigger` and `dsx-notification-center__badge` | Bell-style trigger (size `sm`, variant `ghost`) with an accessible unread-count name. The badge sits at the bell's upper trailing corner (capped at `'99+'`); the host reserves the count's width and asChild preserves child/ref composition. |
33
33
 
34
34
  **Internal layout:**
35
35
 
36
36
  - The root is a flex column. The header sits at the top, the list fills the middle, the footer sits at the bottom.
37
- - In the `popover` variant (the default), the root is sized `width: 320px`, has a `var(--dsx-rounded-lg)` radius, a 1px outline, an `var(--dsx-color-panel-translucent)` background, and a `var(--dsx-shadow-card-md)` shadow.
37
+ - In the `popover` variant (the default), the root is sized `width: var(--dsx-sheet-width-sm), max-width: 100%`, has a `var(--dsx-rounded-lg)` radius, a 1px outline, an `var(--dsx-color-panel-translucent)` background, and a `var(--dsx-shadow-card-md)` shadow.
38
38
  - In the `sidebar` variant, the root is full-width / full-height with a flat `var(--dsx-color-surface)` background and no border or shadow.
39
39
  - `NotificationCenter.Item` rows have a `var(--dsx-space-md)` padding and a 1px bottom border. The last item drops the bottom border. The item background switches to `var(--dsx-color-surface-raised)` with a 1px primary left border when `unread` is true.
40
- - `NotificationCenter.Trigger` is a positioned `inline-flex` container. The badge is absolutely positioned in the top-right corner with a `-var(--dsx-space-xs)` offset, a `var(--dsx-rounded-full)` radius, and label-small typography.
40
+ - `NotificationCenter.Trigger` is an `inline-flex` button with intrinsic width and a 44px minimum width/height (`size-xl + space-xs`). The 16px badge is raised by 8px at the bell's trailing corner, with a 4px horizontal overlap and 8px host padding. Normal flow reserves the badge width; increasing counts grow toward the trailing edge rather than covering the bell. The badge uses rounded-full and label-small typography.
41
41
 
42
42
  ## Props contract
43
43
 
@@ -101,7 +101,7 @@ The trigger is a thin wrapper around `IconButton`; it forwards all of `IconButto
101
101
 
102
102
  **Responsive behavior:**
103
103
 
104
- - The component does not write `@media` rules. The `popover` variant uses a fixed 320px width; on small screens the consumer is expected to swap in a different layout (e.g. a full-screen Sheet) and render the same items in `NotificationCenter` with the `sidebar` variant.
104
+ - The component does not write width media queries. The popover variant prefers `--dsx-sheet-width-sm` (320px) and caps to its parent width. Header actions wrap intrinsically; the list shrinks and scrolls. Use sidebar to fill a containing panel.
105
105
 
106
106
  **Reduced motion:**
107
107
 
@@ -113,7 +113,7 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
113
113
 
114
114
  | Property | Token | Role |
115
115
  |---|---|---|
116
- | Popover width | `320px` | Popover variant width |
116
+ | Popover width | `var(--dsx-sheet-width-sm)` with max-width=100% | Preferred width, parent-contained |
117
117
  | Popover border-radius | `var(--dsx-rounded-lg)` | Popover roundness |
118
118
  | Popover border | `var(--dsx-border-width-sm) solid var(--dsx-color-outline)` | Popover edge |
119
119
  | Popover background | `var(--dsx-color-panel-translucent)` | Popover surface |
@@ -138,10 +138,11 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
138
138
  | Item time type ramp | `var(--dsx-typography-label-small-*)` | Item time text |
139
139
  | Footer padding | `var(--dsx-space-sm)` | Footer gutter |
140
140
  | Footer border-top | `var(--dsx-border-width-sm) solid var(--dsx-color-outline-variant)` | Footer separator |
141
- | Trigger position | `relative` | Anchors the badge |
142
- | Badge position | `absolute` with `-var(--dsx-space-xs)` offsets | Badge placement |
143
- | Badge min-width | `var(--dsx-size-xs)` | Badge min width |
144
- | Badge height | `var(--dsx-size-xs)` | Badge height |
141
+ | Trigger width / minimum dimensions | `auto` / `calc(var(--dsx-size-xl) + var(--dsx-space-xs))` | Count expands the 44px button |
142
+ | Trigger gap / inline padding | `0` / `var(--dsx-space-sm)` | Count corner containment |
143
+ | Badge placement | relative, raised by space-sm, negative space-xs inline margin | Upper trailing corner; reserves count width |
144
+ | Badge min-width | `var(--dsx-size-sm)` | Badge min width |
145
+ | Badge height | `var(--dsx-size-sm)` | Badge height |
145
146
  | Badge radius | `var(--dsx-rounded-full)` | Badge roundness |
146
147
  | Badge type ramp | `var(--dsx-typography-label-small-*)` | Badge text |
147
148
 
@@ -159,7 +160,7 @@ The component has no motion. The panel itself is static; transitions on open / c
159
160
 
160
161
  - The root renders as a `<div>` without an explicit `role`. The canonical pattern is to wrap the panel in a `Popover` or `Sheet`; the wrapping surface is responsible for the modal / non-modal role and focus management.
161
162
  - `NotificationCenter.List` is a plain `<div>`. If the consumer wants to expose the list as an `aria-live` region (e.g. for incoming notifications), they can add the `aria-live` and `aria-relevant` attributes manually.
162
- - `NotificationCenter.Trigger` renders an `IconButton` with `role="button"` and a default `aria-label` of `'Notifications'`. The accompanying badge is announced through the `aria-label` (`Notifications: 5 unread`, or similar — the consumer is responsible for composing the full accessible name when the count is non-zero).
163
+ - `NotificationCenter.Trigger` renders an IconButton named “Notifications” at zero, or “Notifications, N unread” when positive. An explicit aria-label overrides this fallback. The visual badge is aria-hidden; it stays at the bell's upper trailing corner inside the trigger host.
163
164
 
164
165
  **Keyboard:**
165
166
 
@@ -171,7 +172,7 @@ The component has no motion. The panel itself is static; transitions on open / c
171
172
  **Focus:**
172
173
 
173
174
  - The component does not render a focus ring on items or panels. Interactive content provides its own ring.
174
- - The trigger button gets the standard `IconButton` focus ring.
175
+ - The trigger button gets the standard `IconButton` focus ring and a minimum 44px target containing both the bell and count.
175
176
 
176
177
  **Reduced motion:**
177
178
 
@@ -180,7 +181,7 @@ The component has no motion. The panel itself is static; transitions on open / c
180
181
  **Color and meaning:**
181
182
 
182
183
  - Unread state is communicated by both the left border accent and the background lift. The text is unchanged; consumers can add an `aria-label="Unread"` to make the state screen-reader-accessible.
183
- - The trigger badge is a red `Badge` (`variant="error"`). The label is the numeric count.
184
+ - The trigger badge is an accent `Badge` (`variant="primary"`), using accent-track and accent-contrast from the inherited Theme. The label is the numeric count.
184
185
 
185
186
  **Naming:**
186
187
 
@@ -210,7 +211,7 @@ The component has no motion. The panel itself is static; transitions on open / c
210
211
 
211
212
  **Token story:**
212
213
 
213
- - Renders the default panel inside a `Theme` wrapper with `accentColor="silver"` and `accentColor="bronze"`. Asserts the unread item border tracks `--dsx-color-primary` and is not affected by the accent token.
214
+ - Renders the default panel inside a `Theme` wrapper with `accentColor="astral"` and `accentColor="spark"`. Asserts the unread item border tracks `--dsx-color-primary` and is not affected by the accent token.
214
215
 
215
216
  **A11y story:**
216
217
 
@@ -228,7 +229,7 @@ The component has no motion. The panel itself is static; transitions on open / c
228
229
  **Composes from:**
229
230
 
230
231
  - `IconButton` (`src/components/iconButton`): the trigger renders a small ghost `IconButton`. The trigger forwards all `IconButton` props and defaults `aria-label="Notifications"`.
231
- - `Badge` (`src/components/badge`): the trigger badge is a `Badge` with `variant="error"`, `size="sm"`. The count is rendered as plain text and is capped at `'99+'` for counts greater than 99.
232
+ - `Badge` (`src/components/badge`): the trigger badge is a `Badge` with `variant="primary"`, `size="sm"`. The count is rendered as plain text and is capped at `'99+'` for counts greater than 99.
232
233
  - `@radix-ui/react-slot`: enables `asChild` on the root and on the named slots.
233
234
 
234
235
  **Used by:**
@@ -244,3 +245,12 @@ The component has no motion. The panel itself is static; transitions on open / c
244
245
 
245
246
  - App-owned data: notification text, timestamps, action handlers, and the unread count source.
246
247
  - DS-owned visuals: token bindings, slot classes, unread state styling, and the trigger badge geometry.
248
+
249
+ ## Overlay review fixture
250
+
251
+ `/docs/notification-center` shows native button rows that mark themselves read,
252
+ Mark all read, Reset inbox, a real Popover and trigger counts 0/1/5/150. Item
253
+ button hosts have width=100%, inherited typography, start-aligned wrapping text,
254
+ and hover/focus/pressed feedback. The list is min-height=0 and flexes; header
255
+ and footer remain nonshrinking. Payload, routing and read persistence are
256
+ consumer-owned. Trigger asChild preserves host/ref/click composition.
@@ -119,6 +119,8 @@ Rules:
119
119
 
120
120
  ## Playground demo spec
121
121
 
122
+ The live example uses a compact named icon action so the title remains readable in a 320px review frame, plus a title-only header. Header height and title ellipsis behavior remain canonical.
123
+
122
124
  `PageHeader` is registered in `apps/playground/lib/registry/display.tsx` under the `page-header` key.
123
125
 
124
126
  **Default story:**