@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
@@ -12,27 +12,21 @@ depends_on:
12
12
 
13
13
  # FloatingPanel
14
14
 
15
- > Consumer note: this document describes public intent and contracts; the package TypeScript declarations are the exact API.
16
-
17
15
  ## Purpose
18
16
 
19
- A generic floating content surface with drag, resize, and persistent placement. The panel is a `position: fixed` element whose top-left position, width, and height are local state; the header acts as the drag handle, a built-in close button unmounts the panel, and an inline resize handle in the southeast corner (or south / east) adjusts the size.
17
+ A movable, resizable nonmodal surface. The package owns local position, size
18
+ and close state. A consumer persists callback values and remounts with them
19
+ when reopening. This is not a focus-trapped modal dialog.
20
20
 
21
21
  ## Anatomy & slots
22
22
 
23
- **Parent:** `FloatingPanel` (alias of `FloatingPanelRoot`, which is exported as `FloatingPanel`).
24
-
25
- **Slots:**
26
-
27
- | Slot | Element | Renders | Notes |
28
- |---|---|---|---|
29
- | `FloatingPanel.Root` (alias `FloatingPanel`) | `<div>` (or `Slot` host) | `dsx-floating-panel` | The shell. Owns position, size, drag, and resize state. Hard-codes `position: fixed`. |
30
- | `FloatingPanel.Header` | `<div>` (or `Slot` host) | `dsx-floating-panel__header` | The drag handle. Carries `data-floating-panel-handle` so the root's drag handler can ignore mouse-downs on it. |
31
- | `FloatingPanel.Content` | `<div>` (or `Slot` host) | `dsx-floating-panel__content` | The scrollable body region. Flexes to fill the remaining height. |
32
- | `FloatingPanel.Handle` | `<div>` (or `Slot` host) | `dsx-floating-panel__handle`, `dsx-floating-panel__handle--{direction}` | The resize handle. The root auto-mounts an `se`-direction handle unless `asChild` is set. |
33
- | (close button, internal) | `<button>` | `dsx-floating-panel__close` | Auto-rendered by the root. Clicking it calls `onClose` and unmounts the panel. |
34
-
35
- The `Handle` is internal in practice. The root renders one with `direction="se"` automatically; consumers that pass `asChild` on the root take responsibility for the close button and the resize handle.
23
+ | Part | Host / class | Responsibility |
24
+ |---|---|---|
25
+ | Root | div or Slot / `dsx-floating-panel` | Local placement, size and gesture state |
26
+ | Header | div or Slot / `dsx-floating-panel__header` | Drag target, marked `data-floating-panel-handle` |
27
+ | Content | div or Slot / `dsx-floating-panel__content` | Scrollable body |
28
+ | Handle | div or Slot / `dsx-floating-panel__handle--{se,s,e}` | Resize target |
29
+ | Close | button / `dsx-floating-panel__close` | Internal close, `data-slot=floating-panel-close` |
36
30
 
37
31
  ## Props contract
38
32
 
@@ -40,11 +34,11 @@ The `Handle` is internal in practice. The root renders one with `direction="se"`
40
34
 
41
35
  | Prop | Type | Default | Required | Description | Responsive |
42
36
  |---|---|---|---|---|---|
43
- | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | no | Visual scale hint. Drives `data-size` on the root. The CSS does not currently consume `data-size`; see Anomalies. | no |
37
+ | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | no | Initial size band: sm=240×180, md=320×240, lg=480×360. Writes `data-size`; JavaScript owns dimensions. | no |
44
38
  | `defaultPosition` | `{ x: number; y: number }` | `{ x: 0; y: 0 }` | no | Initial top-left position in viewport pixels. | no |
45
- | `defaultSize` | `{ width: number; height: number }` | `{ width: 320; height: 240 }` | no | Initial size in viewport pixels. | no |
46
- | `onDragEnd` | `(position: { x: number; y: number }) => void` | `undefined` | no | Called once when the user releases the mouse after a drag. Receives the final position. | no |
47
- | `onResize` | `(size: { width: number; height: number }) => void` | `undefined` | no | Called once when the user releases the mouse after a resize. Receives the final size. | no |
39
+ | `defaultSize` | `{ width: number; height: number }` | `{ width: 320; height: 240 }` | no | Initial size in viewport pixels; overrides the size-derived default. | no |
40
+ | `onDragEnd` | `(position: { x: number; y: number }) => void` | `undefined` | no | Called on completed pointer/mouse drag or keyboard movement. Receives the final bounded position. | no |
41
+ | `onResize` | `(size: { width: number; height: number }) => void` | `undefined` | no | Called on completed pointer/mouse resize or keyboard resize. Receives the final bounded size. | no |
48
42
  | `onClose` | `() => void` | `undefined` | no | Called when the user closes the panel via the close button or the `Escape` key. | no |
49
43
  | `asChild` | `boolean` | `false` | no | Renders the root through `Slot` from `@radix-ui/react-slot`. When set, the root no longer auto-mounts the close button or the resize handle. | no |
50
44
  | `children` | `React.ReactNode` | `undefined` | no | Header, Content, and (when `asChild` is set) Handle nodes. | no |
@@ -86,294 +80,94 @@ The Content also accepts every `React.HTMLAttributes<HTMLDivElement>` key.
86
80
 
87
81
  The Handle also accepts every `React.HTMLAttributes<HTMLDivElement>` key. The internal `onResize` wiring between the root and the handle is not part of the public `Handle` API; the root supplies the wiring only when it auto-mounts the handle.
88
82
 
89
- Rules that apply to this row:
83
+ Rules:
90
84
 
91
- - The Root is `position: fixed` and overrides any consumer-supplied `position`, `left`, `top`, `width`, and `height` style. The consumer `style` prop is spread into the inline style but the root's own keys win.
92
- - Open state is internal. The component returns `null` after `onClose` (or after the user clicks the close button or presses `Escape`). There is no `open` / `onOpenChange` prop; once closed, the consumer must remount the component to reopen it.
93
- - The Header is the drag handle. The root's drag handler ignores mouse-downs on the header only when the consumer provides a `Header` slot. Without a `Header`, every mouse-down starts a drag.
94
- - `asChild` is the only polymorphic infra. It is exposed on Root, Header, Content, and Handle.
95
- - The min width for resize is `150` and the min height is `100`. These are raw values in JS, not tokens; see Anomalies.
85
+ - Consumer `style` merges after the generated position and dimensions and may override them. Such overrides can constrain the gesture behavior.
86
+ - Open state is internal and initially true. Closing unmounts the panel; reopen by remounting it.
87
+ - A Header is the drag target when present. Without one, noninteractive body areas can drag. Buttons, links and input controls do not start dragging.
88
+ - `asChild` is supported on Root, Header, Content and Handle. A custom root supplies its own close control and handle.
89
+ - Header and Handle default to tabIndex=0 and role=group, with “Move panel” / “Resize panel” labels and keyboard instructions in their title. Consumer HTML attributes can override these defaults.
90
+ - JS resize floors remain 150×100px, capped by available bounds when smaller. No new token or controlled-position API is introduced.
96
91
 
97
92
  ## CSS class contract
98
93
 
99
- **Root class:** `dsx-floating-panel`
100
-
101
- **Modifier classes** (driven by `data-*` attributes written by the component):
102
-
103
- | Attribute | Allowed values | Class | CSS file |
104
- |---|---|---|---|
105
- | `data-size` | `sm`, `md`, `lg` | (no CSS consumer; see Anomalies) | `floating-panel.css` |
106
- | `data-dragging` | (presence) | `.dsx-floating-panel[data-dragging]` (shadow upgrade + grabbing cursor) | `floating-panel.css` |
107
-
108
- **Slot classes:**
109
-
110
- | Slot | Class | CSS file |
111
- |---|---|---|
112
- | `FloatingPanel.Root` | `dsx-floating-panel` | `floating-panel.css` |
113
- | `FloatingPanel.Header` | `dsx-floating-panel__header` | `floating-panel.css` |
114
- | `FloatingPanel.Content` | `dsx-floating-panel__content` | `floating-panel.css` |
115
- | `FloatingPanel.Handle` | `dsx-floating-panel__handle`, `dsx-floating-panel__handle--{direction}` | `floating-panel.css` |
116
- | (close button, internal) | `dsx-floating-panel__close` | `floating-panel.css` |
117
-
118
- **Data attributes from the runtime:**
119
-
120
- | Element | Attribute | Allowed values | Class hook | CSS file |
121
- |---|---|---|---|---|
122
- | Root | `data-dragging` | (presence) | `.dsx-floating-panel[data-dragging]` | `floating-panel.css` |
123
- | Header | `data-floating-panel-handle` | (presence) | (not styled; the root's drag handler reads the attribute to ignore mouse-downs) | `floating-panel.css` |
124
-
125
- **Data slots** (used by QA and audit tooling, not visual):
126
-
127
- | Element | `data-slot` |
128
- |---|---|
129
- | Close button | `floating-panel-close` |
130
-
131
- **Responsive behavior:**
132
-
133
- - The component does not write `@media` rules. None of its prop defs are `responsive: true`. Size is single-value only.
134
- - The component's CSS file is breakpoint-agnostic.
135
-
136
- **Reduced motion:**
137
-
138
- - The shell, close button, and handle each transition properties (box-shadow, color, background, opacity) against `var(--dsx-motion-duration-fast)` and `var(--dsx-motion-easing-standard)`. The runtime does not import `usePrefersReducedMotion`; rely on the global `prefers-reduced-motion` stylesheet.
94
+ Root writes `data-size=sm/md/lg`; dimensions are consumed in JavaScript, not
95
+ CSS size selectors. `data-dragging` activates the grabbing cursor and elevation.
96
+ Header's existing handle attribute selects drag behavior. All existing part
97
+ classes remain unchanged. There are no width breakpoints.
139
98
 
140
99
  ## Token mapping
141
100
 
142
- Every CSS value the component paints is a `var(--dsx-*)` token.
143
-
144
101
  | Property | Token | Role |
145
102
  |---|---|---|
146
- | Shell radius | `var(--dsx-rounded-xl)` | Panel corner radius. |
147
- | Shell border | `var(--dsx-border-width-sm)` + `var(--dsx-color-outline)` | Panel edge. |
148
- | Shell fill | `var(--dsx-color-panel-translucent)` | Panel surface. |
149
- | Shell shadow (rest) | `var(--dsx-shadow-md)` | Resting elevation. |
150
- | Shell shadow (dragging) | `var(--dsx-shadow-xl)` | Active elevation. |
151
- | Shell overflow | `hidden` (raw) | Contain children. |
152
- | Shell z-index | `var(--dsx-z-index-overlay-local)` | Above page content. |
153
- | Header padding | `var(--dsx-space-sm)` block, `var(--dsx-space-md)` inline | Inner gutter. |
154
- | Header gap | `var(--dsx-space-sm)` | Gap between children. |
155
- | Header border | `var(--dsx-border-width-sm)` + `var(--dsx-color-outline-variant)` | Header divider. |
156
- | Header fill | `var(--dsx-color-surface-raised)` | Header surface. |
157
- | Header cursor | `grab` (raw) | Drag affordance. |
158
- | Header user-select | `none` (raw) | Prevent text selection while dragging. |
159
- | Header active cursor | `grabbing` (raw) | Dragging state. |
160
- | Close button size | `var(--dsx-size-md)` square | Tap target. |
161
- | Close button radius | `var(--dsx-rounded-sm)` | Round affordance. |
162
- | Close button position | `var(--dsx-space-xs)` from top-right | Edge anchor. |
163
- | Close button text | `var(--dsx-color-on-surface-variant)` | Resting glyph. |
164
- | Close button hover fill | `var(--dsx-effect-hover-layer)` | Hover surface. |
165
- | Close button hover text | `var(--dsx-color-on-surface)` | Hover glyph. |
166
- | Close button z-index | `var(--dsx-z-index-elevated)` | Above panel content. |
167
- | Content padding | `var(--dsx-space-md)` | Inner gutter. |
168
- | Content overflow | `auto` (raw) | Scrollable body. |
169
- | Handle size (se) | `var(--dsx-space-lg)` square | Resize target. |
170
- | Handle size (s) | `var(--dsx-space-xl)` wide, `var(--dsx-space-sm)` tall | South edge handle. |
171
- | Handle size (e) | `var(--dsx-space-sm)` wide, `var(--dsx-space-xl)` tall | East edge handle. |
172
- | Handle cursor (se) | `nwse-resize` (raw) | Resize affordance. |
173
- | Handle cursor (s) | `ns-resize` (raw) | Resize affordance. |
174
- | Handle cursor (e) | `ew-resize` (raw) | Resize affordance. |
175
- | Handle grip color | `var(--dsx-color-on-surface-variant)` | Grip stroke. |
176
- | Handle grip opacity | `var(--dsx-opacity-muted)` | Resting fade. |
177
- | Handle grip border width | `var(--dsx-border-width-md)` | Grip thickness. |
178
- | Handle z-index | `var(--dsx-z-index-elevated)` | Above panel content. |
179
- | Motion | `var(--dsx-motion-duration-fast)` + `var(--dsx-motion-easing-standard)` / `--dsx-motion-easing-in-out` | Shell, close, and handle transitions. |
180
-
181
- Rules:
182
-
183
- - Tokens come from `DESIGN.md` and the generated `tokens.css`. The intentional non-token values are the cursor keywords (`grab`, `grabbing`, `nwse-resize`, `ns-resize`, `ew-resize`), the `none` user-select, the `hidden` and `auto` overflow values, and the resize min dimensions in JS (`150` × `100`).
184
- - The CSS file imports `../../_internal/baseCard.css`. The import only matches `.dsx-card` and `.dsx-alert` selectors, so the import is a no-op for `FloatingPanel`. See Anomalies.
103
+ | Shell radius | `--dsx-rounded-xl` | Corner |
104
+ | Shell border | `--dsx-border-width-sm`, `--dsx-color-outline` | Edge |
105
+ | Shell fill | `--dsx-color-panel-translucent` | Surface |
106
+ | Rest / drag shadow | `--dsx-shadow-elevation-2` / `--dsx-shadow-elevation-5` | Feedback |
107
+ | Shell layer | `--dsx-z-index-overlay-local` | Local floating surface |
108
+ | Viewport size cap | 100vw / 100dvh minus `--dsx-space-xl` | Keep shell reachable |
109
+ | Header spacing | `--dsx-space-sm`, `--dsx-space-md`, `--dsx-space-2xl` | Includes close-control clearance |
110
+ | Header floor | `--dsx-size-xl` | 40px header |
111
+ | Close box / inset | `--dsx-size-md` / `--dsx-space-sm` | 24px square with 8px clearance from the shell edge |
112
+ | Southeast handle | `--dsx-space-lg`, `--dsx-space-sm`, `--dsx-space-xs`, `--dsx-border-width-sm` | 24px target with two diagonal resize strokes, matching the native textarea affordance |
113
+ | South / east handle | `--dsx-space-xl` × `--dsx-size-md`, transposed for east | Resize target |
114
+ | Focus | `--dsx-shadow-focus-ring` inset | Header, handle and close focus |
115
+ | Body spacing | `--dsx-space-md` | Scrollable interior |
116
+
117
+ Root bounds are the viewport for fixed positioning, or the offset parent's
118
+ client dimensions for an overridden nonfixed position. Fixed bounds use the
119
+ smaller root client/border-box width so a reserved scrollbar gutter remains
120
+ outside the draggable area. Initial placement,
121
+ window resize, gestures and keyboard updates clamp the panel to these bounds.
122
+ The default southeast handle paints a decorative `dsx-floating-panel__resize-grip`
123
+ span with two CSS strokes; it does not introduce an icon name. South/east
124
+ handles retain the existing `grip-vertical` glyph and rotation. Custom children
125
+ replace the decoration. The native TextAreaField resize grip remains browser-owned.
126
+ Content has min-height=0 and overflow=auto. Header remains nonshrinking;
127
+ close and resize controls sit above body content.
185
128
 
186
129
  ## Motion contract
187
130
 
188
- | Region | Token | Default | Reduced |
189
- |---|---|---|---|
190
- | Shell box-shadow | `var(--dsx-motion-duration-fast)` + `var(--dsx-motion-easing-standard)` | Resting → dragging shadow upgrade | None declared in the file. Relies on the global `prefers-reduced-motion` stylesheet. |
191
- | Close button color and background | `var(--dsx-motion-duration-fast)` + `var(--dsx-motion-easing-in-out)` | Hover state swap | None declared in the file. Relies on the global stylesheet. |
192
- | Handle grip opacity | `var(--dsx-motion-duration-fast)` + `var(--dsx-motion-easing-standard)` | Opacity lift on hover | None declared in the file. Relies on the global stylesheet. |
193
-
194
- Rules:
195
-
196
- - This row does not import `MOTION_TRANSITIONS` from `src/_internal/motion.ts`. All motion is CSS-only.
197
- - Drag and resize are JS-driven; the drag itself does not animate (the position update is synchronous). The shadow upgrade is the only visual cue during drag.
198
- - A future promotion that adds framer-motion should pick a preset from `MOTION_TRANSITIONS` and gate it with `usePrefersReducedMotion`. A future CSS-only promotion should add a `@media (prefers-reduced-motion: reduce)` block that sets `transition: none` on the shell, close button, and handle.
131
+ Position and dimensions follow gestures directly. Cosmetic transitions use
132
+ motion-duration-fast and standard/in-out easing. The local reduced-motion
133
+ rule disables shell, close and handle transitions. Header and resize handles
134
+ use touch-action=none while body controls retain their ordinary behavior.
199
135
 
200
136
  ## Accessibility
201
137
 
202
- **Roles:**
203
-
204
- - The root is a plain `<div>` with no implicit role. Consumers that need a dialog role should add `role="dialog"` and `aria-modal` at the app level (the roster lists this as a "heavy surface" that may need full dialog semantics).
205
- - The close button is a `<button type="button">` with `aria-label="Close panel"`. The runtime hard-codes the label.
206
- - The handle is a plain `<div>` with no role. Mouse-only interaction; see Keyboard.
207
-
208
- **Keyboard:**
209
-
210
- | Key | Action |
211
- |---|---|
212
- | `Tab` | Moves focus to / from any focusable element inside the panel, and to the close button. |
213
- | `Escape` | Closes the panel and calls `onClose`. The runtime installs a `document` keydown listener while the panel is open. |
214
- | `Enter`, `Space` | Activates the focused control (close button, content buttons, etc.). |
215
- | Arrow keys | The component does not implement keyboard-driven drag or resize. Mouse only. |
216
-
217
- **Focus:**
138
+ Tab reaches Header, body controls, Close and Handle. Focused Header arrows
139
+ move 8px; focused Handle arrows resize 8px along its enabled axes. Shift
140
+ uses 40px steps. Input arrows remain input interactions. Header/Handle labels
141
+ can be overridden using existing HTML attributes.
218
142
 
219
- - The runtime does not trap focus inside the panel. Focus management is the consumer's responsibility; for full dialog behavior, wrap in a Radix Dialog or set up focus trapping at the app level.
220
- - The runtime does not auto-focus the panel on mount. The close button is in the tab order; consumers that want the close button to be the focus target on mount can add `autoFocus` via app-level wrapping.
143
+ Escape closes the focused panel, or the last panel in DOM order if none has
144
+ focus, provided the event has not already been handled. It does not close all
145
+ open panels. Consumer focus entry/return and persistence remain app-owned.
146
+ Do not add aria-modal without actual modal behavior.
221
147
 
222
- **Reduced motion:**
223
-
224
- - The CSS transitions rely on the global `prefers-reduced-motion` stylesheet. The drag and resize math is synchronous and is not affected by the media query.
225
-
226
- **Color and meaning:**
227
-
228
- - The drag and resize affordances are communicated by the cursor keyword (`grab` / `grabbing` / `nwse-resize`). Color is not the only signal.
229
-
230
- **Naming:**
231
-
232
- - The close button is auto-labeled `Close panel`. The runtime hard-codes the label.
233
- - The panel has no implicit name. Consumers that need a panel name should add `aria-label` or `aria-labelledby` at the app level.
234
- - The handle is decorative and has no accessible name.
148
+ Pointer cancellation restores gesture-start placement/size without committing
149
+ a callback. Gesture document listeners are removed on completion and unmount.
150
+ Keyboard alternatives do not alone establish WCAG dragging-movements
151
+ conformance: an application also needs a single-pointer placement alternative.
235
152
 
236
153
  ## Playground demo spec
237
154
 
238
- 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.
239
-
240
- **Default story:**
241
-
242
- - Renders `FloatingPanel` with a `Header`, a `Content`, and the auto-mounted close + resize handle. Asserts the root class is `dsx-floating-panel` and the close button carries `aria-label="Close panel"`.
243
-
244
- **Variant story** (one per size and direction):
245
-
246
- - Renders with `size="sm"`, `size="md"`, and `size="lg"`. Asserts the matching `data-size` attribute on the root (the CSS does not currently consume it; see Anomalies).
247
- - Renders a custom `Handle` with `direction="se"`, `direction="s"`, and `direction="e"`. Asserts the matching `dsx-floating-panel__handle--{direction}` modifier class and the cursor style.
248
-
249
- **Composition story** (one per slot):
250
-
251
- - Renders the full slot hierarchy: `FloatingPanel` > `Header` > `Content`, with the auto-mounted `Handle`. Asserts each slot renders the right class.
252
- - Renders `FloatingPanel` with `asChild`. Asserts the close button and the resize handle are no longer auto-mounted.
253
-
254
- **State story:**
255
-
256
- - Renders the default panel. Mouse-downs on the header, drags, and mouse-ups. Asserts the panel's `left` and `top` inline styles match the final position and that `onDragEnd` was called.
257
- - Mouse-downs on the resize handle, drags, and mouse-ups. Asserts the panel's `width` and `height` inline styles match the final size and that `onResize` was called.
258
- - Clicks the close button. Asserts the panel unmounts and `onClose` was called.
259
- - Opens the panel and presses `Escape`. Asserts the panel unmounts and `onClose` was called.
260
-
261
- **Token story:**
262
-
263
- - Renders inside a `Theme` wrapper with `accentColor="amber"`, `accentColor="silver"`, and `accentColor="bronze"`. Asserts the panel surface and shadow track the active theme.
264
-
265
- **A11y story:**
266
-
267
- - Uses `vitest-axe` against the rendered default FloatingPanel. Asserts the close button has an accessible name and the panel does not introduce violations.
268
-
269
- **Props exposed in the playground controls:**
270
-
271
- | Prop | Control | Default |
272
- |---|---|---|
273
- | `size` | select | `md` |
274
- | `defaultPosition` | text (JSON) | `{ x: 0, y: 0 }` |
275
- | `defaultSize` | text (JSON) | `{ width: 320, height: 240 }` |
276
- | `asChild` | boolean | `false` |
155
+ `/docs/floating-panel` launches real editable notes in a wrapping TextArea in all size bands; the whole note is readable without widening the panel. Its live
156
+ example retains callback placement/size and note text when reopening, offers
157
+ Reset placement and numeric placement controls without dragging, and returns
158
+ focus to its launcher when closed. Review mouse/touch header movement, corner
159
+ resize, body editing, keyboard control and viewport containment.
277
160
 
278
161
  ## Wiring notes
279
162
 
280
- **Composes from:**
281
-
282
- - `Popover` and `Dialog` (declared composed-from engines per the roster; the current runtime does not import either). The current runtime manages open state, position, size, drag, and resize in source. See Anomalies.
283
- - `Icon` (lucide-react `X`): renders the default close-button glyph.
284
- - `@radix-ui/react-slot`: enables `asChild` on Root, Header, Content, and Handle.
285
-
286
- **Used by:**
287
-
288
- - App-level floating surfaces that need persistent placement and resizing: dashboards, design tools, chart inspectors. No DS component currently wraps `FloatingPanel`. The roster classifies this as a heavy surface; the package owns the shell, the token bindings, and the drag / resize plumbing; apps own persistence, the panel registry, and the focus-trap / dialog semantics.
289
-
290
- **State boundaries:**
291
-
292
- - Owned by FloatingPanel: the open state, the position, the size, the drag delta, the resize delta, the `Escape` keydown listener, the auto-mounted close button, and the auto-mounted resize handle.
293
- - Owned by the consumer: the Header content, the Content body, the optional custom Handle, the `defaultPosition` and `defaultSize` inputs, the `onDragEnd` / `onResize` / `onClose` callbacks, and the focus / dialog semantics.
294
-
295
- **Boundary rules:**
296
-
297
- - App-owned data: the panel registry, the persistence of position and size across sessions, the routing integration, and the focus management.
298
- - DS-owned visuals: token bindings, the `dsx-floating-panel` and slot classes, the `data-size` and `data-dragging` attributes, the close button label, and the resize handle directions.
299
- - The component does not own a `Dialog` integration. Wrap in a Radix `Dialog` (or set up focus trapping) at the app level for full modal semantics.
300
-
301
- **Anomalies** (open items that this spec flags):
302
-
303
- 1. **Roster says `Popover, Dialog`; runtime uses neither.** The current runtime at `package_path` does not import Radix Popover or Radix Dialog. Open state, focus, and `Escape` are managed in source via `useState` and a `document.addEventListener('keydown')` listener. Promoting to a `BaseDialog`-backed runtime is tracked as a future item.
304
- 2. **`data-size` attribute has no CSS consumer.** The TSX writes `data-size` on the root and the prop def lists three values (`sm`, `md`, `lg`), but the CSS does not define any `[data-size]` rule. The attribute is a forward-looking hook; the visual treatment today is the same across all three sizes.
305
- 3. **`baseCard.css` import is a no-op.** The CSS file imports `../../_internal/baseCard.css`, which only targets `.dsx-card` and `.dsx-alert`. The import should be removed or `baseCard.css` should be extended to also match `.dsx-floating-panel`.
306
- 4. **Resize min dimensions are raw JS values.** The resize handler clamps the size to `width >= 150` and `height >= 100`. These are not tokens; the next promotion should add `--dsx-floating-panel-min-width` and `--dsx-floating-panel-min-height` (or fold the constraints into the existing size scale).
307
- 5. **Open state is internal and one-shot.** The runtime does not expose `open` or `onOpenChange` props. The component returns `null` after `onClose`; the consumer must remount to reopen. A future promotion should lift the open state.
308
- 6. **Drag math ignores the resize handle and the close button.** The root's `onMouseDown` starts a drag unless the target is the closest `[data-floating-panel-handle]`. The close button does not have `data-floating-panel-handle`, but the drag handler can still fire on a click that lands inside it because the mouse-up handler is bound to `document`. A future promotion should also bail out of drag on `[data-floating-panel-close]`.
309
- 7. **No `prefers-reduced-motion` block in `floating-panel.css`.** The shell, close button, and handle transitions are not explicitly collapsed on the media query. The next promotion should add a `@media (prefers-reduced-motion: reduce)` block.
310
- 8. **The auto-mounted `Handle` always uses `direction="se"`.** Consumers that need south or east edge handles must render the `Handle` themselves and set `asChild` on the root, which also removes the close button. There is no public API to keep the close button while changing the handle direction.
163
+ The component uses React state and pointer/mouse document listeners. Slot
164
+ supports custom hosts. Consumer handlers are composed before root gesture
165
+ handling and can preventDefault. No public controlled position/open props,
166
+ new tokens, or `_internal` engine changes are introduced.
311
167
 
312
168
  ## Penpot build recipe
313
169
 
314
- > Optional. Penpot is a visual reference, not a code authority. Keep this section when the component has a published Penpot asset, or when the spec needs to call out a visual decision the package does not encode. Skip the section when the component is utility or layout-primitive; the package code is the only authority.
315
-
316
- The package does not yet publish a Penpot asset for FloatingPanel. Recipe is visual reference only and tracks the CSS contract.
317
-
318
- ### Root board
319
-
320
- - **Name**: `Components / FloatingPanel`.
321
- - **Dimensions**: `320 × 240` (default), `width × height` driven by `defaultSize`.
322
- - **Layout**: `Flex` (column, header above content).
323
- - **Sizing**: `horizontalSizing = 'fix'`, `verticalSizing = 'fix'`. Position is `fixed` with `left` / `top` driven by `defaultPosition`.
324
-
325
- ### Layer tree
326
-
327
- ```
328
- <Root Board: FloatingPanel>
329
- ├── <Frame: header (drag handle)>
330
- │ └── <Text: title>
331
- ├── <Frame: content (scrollable)>
332
- │ └── <Text: body>
333
- ├── <Button: close (X icon, top-right)>
334
- └── <Shape: resize handle (southeast corner)>
335
- ```
336
-
337
- ### Token bindings (Penpot properties)
338
-
339
- | Shape | Property | Token | Token type | Penpot property name |
340
- |---|---|---|---|---|
341
- | Shell | fill | `--dsx-color-panel-translucent` | Color | `fills` |
342
- | Shell | stroke | `--dsx-color-outline` | Color | `strokes` |
343
- | Shell | radius | `--dsx-rounded-xl` | Radius | `radius` |
344
- | Shell | shadow | `--dsx-shadow-md` | Effect | `shadow` |
345
- | Shell (dragging) | shadow | `--dsx-shadow-xl` | Effect | `shadow` (state) |
346
- | Header | fill | `--dsx-color-surface-raised` | Color | `fills` |
347
- | Header | stroke | `--dsx-color-outline-variant` | Color | `strokes` |
348
- | Content | padding | `--dsx-space-md` | Spacing | `padding` |
349
- | Close | fill | `transparent` | Color | `fills` |
350
- | Close (hover) | fill | `--dsx-effect-hover-layer` | Color | `fills` (state) |
351
- | Close (hover) | text | `--dsx-color-on-surface` | Color | `fills` (state) |
352
- | Handle | stroke | `--dsx-color-on-surface-variant` | Color | `strokes` |
353
- | Handle | opacity | `--dsx-opacity-muted` | Effect | `opacity` |
354
-
355
- ### State transformations
356
-
357
- | State | Shell shadow | Header cursor | Close fill | Handle opacity |
358
- |---|---|---|---|---|
359
- | `default` | `--dsx-shadow-md` | `grab` | `transparent` | `--dsx-opacity-muted` |
360
- | `dragging` | `--dsx-shadow-xl` | `grabbing` | `transparent` | `1` |
361
- | `close-hover` | `--dsx-shadow-md` | `grab` | `--dsx-effect-hover-layer` | `--dsx-opacity-muted` |
362
- | `handle-hover` | `--dsx-shadow-md` | `grab` | `transparent` | `1` |
363
-
364
- ### Variant model
365
-
366
- - `size`: `sm`, `md`, `lg`. Default `md`. (CSS consumer pending; see Anomalies.)
367
- - `direction` (handle): `se`, `s`, `e`. Default `se`.
368
- - Total members for the visual matrix: 3 × 3 = 9 once the `data-size` CSS consumer lands. Today the visual matrix is 3 (handle direction only).
369
-
370
- ### Validation checklist
371
-
372
- - [ ] Token bindings resolve at the values `DESIGN.md` describes.
373
- - [ ] Component is promoted to Main Component under `Components`.
374
- - [ ] `penpotUtils.shapeStructure(board, 3)` matches the expected hierarchy.
375
- - [ ] The close button label is `Close panel`; do not treat the label as themable in Penpot.
376
- - [ ] The close button glyph is the `X` Icon; do not treat the glyph as themable in Penpot.
377
- - [ ] When the `data-size` CSS consumer lands, re-run the spec QA and re-validate the Penpot recipe against the new CSS.
378
- - [ ] When the `BaseDialog` portal routing lands, re-run the spec QA and confirm the panel tracks `data-accent-color` and the rest of the theme contract.
379
- - [ ] When the resize min dimensions are tokenized, update the JS clamp to read from the token instead of the hard-coded `150` and `100`.
170
+ No published asset is changed. Mirror existing shell, header, scrollable body,
171
+ close corner and directional handles using the token mapping above. Use
172
+ 240×180 / 320×240 / 480×360 initial frames with the viewport cap; static art
173
+ cannot establish drag or keyboard behavior.
@@ -326,3 +326,7 @@ The package does not yet publish a Penpot asset for Form. Recipe is visual refer
326
326
  - [ ] Component is promoted to Main Component under `Components`.
327
327
  - [ ] `penpotUtils.shapeStructure(board, 3)` matches the expected hierarchy.
328
328
  - [ ] The form's `data-slot` attributes are baked in for QA tooling.
329
+
330
+ ## Reconciliation stories
331
+
332
+ The live example wires React Hook Form instances to both Profile and Event forms. It proves invalid email feedback, successful submit, reset, labelled fields, room selection and a one-to-two-column event row through Grid. Hosts use width:100% with a maximum width; inline actions wrap at 320/390px.
@@ -29,8 +29,8 @@ No slots: flat export. `Grid` is a single forwardRef that renders a host element
29
29
  |---|---|---|---|---|---|
30
30
  | `as` | `React.ElementType` | `'div'` | no | Host element. `asChild` takes precedence when set. | no |
31
31
  | `asChild` | `boolean` | `false` | no | Renders the host through `Slot`; consumer supplies the child. | no |
32
- | `columns` | `ResponsiveValue<number \| string>` | `undefined` | no | CSS `grid-template-columns`. Number values resolve to `repeat(n, minmax(0, 1fr))`. String values are written through (e.g. `7rem`, `200px 1fr`). When `minItemWidth` is set, the runtime uses `repeat(auto-fit, minmax(<minItemWidth>, 1fr))` instead. Resolves `--dsx-grid-columns`. | yes (initial, sm, md, lg, xl, 2xl) |
33
- | `rows` | `ResponsiveValue<number \| string>` | `undefined` | no | CSS `grid-template-rows`. Number values resolve to `repeat(n, minmax(0, 1fr))`. String values are written through. Resolves `--dsx-grid-rows`. | yes (initial, sm, md, lg, xl, 2xl) |
32
+ | `columns` | `ResponsiveValue<number \| string>` | `undefined` | no | CSS `grid-template-columns`. Number values and digit-only strings resolve to `repeat(n, minmax(0, 1fr))`. Other string values are written through (e.g. `7rem`, `200px 1fr`). When `minItemWidth` is set, the runtime uses `repeat(auto-fit, minmax(<minItemWidth>, 1fr))` instead. Resolves `--dsx-grid-columns`. | yes (initial, sm, md, lg, xl, 2xl) |
33
+ | `rows` | `ResponsiveValue<number \| string>` | `undefined` | no | CSS `grid-template-rows`. Number values and digit-only strings resolve to `repeat(n, minmax(0, 1fr))`. Other string values are written through. Resolves `--dsx-grid-rows`. | yes (initial, sm, md, lg, xl, 2xl) |
34
34
  | `areas` | `ResponsiveValue<string>` | `undefined` | no | CSS `grid-template-areas`. Resolves `--dsx-grid-areas`. | yes (initial, sm, md, lg, xl, 2xl) |
35
35
  | `flow` | `ResponsiveValue<'row' \| 'column' \| 'dense' \| 'row dense' \| 'column dense'>` | `undefined` | no | CSS `grid-auto-flow`. Resolves `--dsx-grid-auto-flow`. | yes (initial, sm, md, lg, xl, 2xl) |
36
36
  | `gap` | `ResponsiveValue<SpaceToken \| string>` | `undefined` | no | Gap between children. Resolves `--dsx-box-gap`. Serialized into `data-gap`. | yes (initial, sm, md, lg, xl, 2xl) |
@@ -94,7 +94,8 @@ The `dsx-grid` selector wires the grid-template custom properties:
94
94
  **Responsive behavior:**
95
95
 
96
96
  - The runtime writes `--dsx-grid-columns` (and other `--dsx-grid-*` variables) per breakpoint through `assignResponsiveVars` for the inline-style cascade.
97
- - The breakpoint alias props `sm`, `md`, `lg` are merged into the responsive prop map and resolve to the matching `--dsx-grid-*-<breakpoint>` custom property.
97
+ - The breakpoint alias props `sm`, `md`, `lg` override their corresponding entries and preserve the rest of the responsive map, including `xl` and `2xl`.
98
+ - Columns and rows use only the component custom-property cascade; duplicate track utility classes are not emitted. Auto-fit minimum widths carry forward as widths and take precedence over column counts until another minimum width is supplied.
98
99
 
99
100
  **Reduced motion:**
100
101
 
@@ -157,65 +158,11 @@ Grid has no motion. The motion section is intentionally empty.
157
158
 
158
159
  - Grid is not interactive and does not require an accessible name on its own. When Grid wraps an interactive element, the interactive element's accessible name is the source.
159
160
 
160
- ## Playground demo spec
161
-
162
- **Default story:**
163
-
164
- - Renders `Grid columns="3" gap="sm"` with six child squares. Asserts the root class is `dsx-grid`, the host element is a `div`, and the children render.
165
-
166
- **Column story:**
167
-
168
- - Renders `Grid columns={2}` and `Grid columns={{ initial: 1, sm: 2, md: 3 }}`. Asserts the `dsx-grid` class and the per-breakpoint `--dsx-grid-columns` custom property.
169
-
170
- **Areas story:**
171
-
172
- - Renders `Grid areas='"head head" "side main"'` and asserts `--dsx-grid-areas` resolves to that value.
173
-
174
- **Flow story:**
175
-
176
- - Renders `Grid flow="column dense"` and asserts `--dsx-grid-auto-flow` resolves to `column dense`.
177
-
178
- **MinItemWidth story:**
179
-
180
- - Renders `Grid minItemWidth={200}` and asserts `--dsx-grid-columns` resolves to `repeat(auto-fit, minmax(200px, 1fr))`.
181
-
182
- **Breakpoint alias story:**
183
-
184
- - Renders `Grid columns={2} sm={{ columns: 3, gap: 'sm' }} md={{ columns: 4, gap: 'lg' }} lg={{ columns: 6, gap: 'xl' }}`. Asserts the merged values resolve in the per-breakpoint custom properties.
185
-
186
- **Responsive story:**
161
+ The matrix numbers all six cells at a fixed available width; the live example arranges realistic project cards in one initial column and two columns at sm.
187
162
 
188
- - Renders `Grid gap={{ initial: 'md', lg: 'xl' }}` and asserts the `data-gap` attribute serializes as `initial:md;lg:xl` and the per-breakpoint `--dsx-box-gap-*` variables resolve.
189
-
190
- **Composition story:**
191
-
192
- - Renders `Grid` with mixed `Box` children. Asserts the children keep their own `dsx-box` class and inherit the Grid container's gap.
193
-
194
- **State story:**
195
-
196
- - No discrete state. The story renders a default Grid with six children.
197
-
198
- **Token story:**
199
-
200
- - Grid does not honor `data-accent-color`. Render inside a `Theme` wrapper with `accentColor="silver"` and `accentColor="bronze"`. The story asserts the layout is unchanged and any surfaces come from the theme.
201
-
202
- **A11y story:**
203
-
204
- - Use `vitest-axe` against the rendered Grid. The default render is a non-semantic `div` with text content; tests assert no violations.
205
-
206
- **Props exposed in the playground controls:**
163
+ ## Playground demo spec
207
164
 
208
- | Prop | Control | Default |
209
- |---|---|---|
210
- | `columns` | number | `3` |
211
- | `rows` | number | `undefined` |
212
- | `gap` | select | `md` |
213
- | `flow` | select | `row` |
214
- | `align` | select | `stretch` |
215
- | `justify` | select | `start` |
216
- | `alignContent` | select | `normal` |
217
- | `justifyItems` | select | `legacy` |
218
- | `minItemWidth` | number | `undefined` |
165
+ The columns matrix shows six numbered cells at one fixed available width for one, two and three columns. The live example shows four project cards using columns={{ initial: '1', sm: '2' }} and gap="md". Narrow screens stack the cards; desktop uses two equal tracks.
219
166
 
220
167
  ## Wiring notes
221
168
 
@@ -247,3 +194,7 @@ Grid has no motion. The motion section is intentionally empty.
247
194
  ## Penpot build recipe
248
195
 
249
196
  Grid is a layout primitive. The package code is the only authority. There is no published Penpot build recipe for Grid. A future Penpot board would show a grid container with columns, rows, areas, and gap controls, but the spec intentionally does not duplicate the runtime class contract in a visual recipe.
197
+
198
+ ## Reconciliation stories
199
+
200
+ The live example compares numeric and digit-string responsive columns, sm aliases with retained xl/2xl entries, carried auto-fit widths and numeric responsive rows. Browser checks measure actual track count and geometry at breakpoint boundaries.