@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
@@ -6,17 +6,26 @@ archetype: composite
6
6
  depends_on:
7
7
  - Toolbar
8
8
  - Button
9
+ - IconButton
10
+ - Icon
11
+ - Pills
12
+ - Popover
13
+ - Select
14
+ - Input
15
+ - NumberInput
16
+ - TagsInput
17
+ - Badge
9
18
  ---
10
19
 
11
20
  # FilterBar
12
21
 
13
22
  ## 2.6 contract
14
23
 
15
- Root accepts optional `activeCount`. `FilterBar.Control` applies the same wrapper contract to search, select, date, and custom filters and writes `data-active`. `FilterBar.Count` reads the root count. `FilterBar.Clear` is disabled when an explicit active count is zero; omitting `activeCount` preserves the 2.5 uncontrolled compatibility behavior.
24
+ Root accepts optional `activeCount`. `FilterBar.Control` applies the same wrapper contract to search, select, date, and custom filters and writes `data-active`. `FilterBar.Count` reads the root count. `FilterBar.Clear` is disabled when an explicit active count is zero; omitting `activeCount` preserves the 2.5 uncontrolled compatibility behavior. `FilterBar.Search`, `FilterBar.Rules`, `FilterBar.Rule`, `FilterBar.ConditionGroup`, `FilterBar.Condition`, and `FilterBar.Builder` are additive slots: every pre-existing prop and slot keeps working unchanged.
16
25
 
17
26
  ## Purpose
18
27
 
19
- A product-agnostic, wrapping filter toolbar that organizes consumer-controlled filter controls, result summary, actions, and a clear callback.
28
+ A product-agnostic filter system that organizes consumer-controlled filters three ways: the classic grouped-controls shell (search, select, date, custom filters plus summary, actions, clear), the first-class rule-builder composition (rule chips showing field/operator/value plus a field → operator → value → Apply builder popup), and the advanced-condition composition (AND/OR condition groups with nesting, per-condition trash delete, Clear all). Consumers own all filter values, reset logic, query execution, date-range policy, and domain fields. The DS owns layout, slots, accessible naming, Clear styling, the rule-chip presentation, and the builder popup shell.
20
29
 
21
30
  ## Anatomy & slots
22
31
 
@@ -26,6 +35,13 @@ A product-agnostic, wrapping filter toolbar that organizes consumer-controlled f
26
35
  |---|---|---|---|
27
36
  | `FilterBar.Root` | `div role="toolbar"` | `dsx-filter-bar` | Default accessible name is `Filters`. |
28
37
  | `FilterBar.Group` | `div role="group"` | `dsx-filter-bar__group` | Groups related controls. |
38
+ | `FilterBar.Search` | `div` | `dsx-filter-bar__search` | Flex-growing search cell for the toolbar cluster. |
39
+ | `FilterBar.Rules` | `Pills (ul)` | `dsx-filter-bar__rules` + `dsx-pills` | Rule-chip cluster; accepts `size` (`sm`/`md`/`lg`, default `md`). Optional `maxVisible` collapses overflow behind `+N more` / `Show less` with an optional `Clear` (`onClearAll`). |
40
+ | `FilterBar.Rule` | `Pill (li)` | `dsx-filter-bar__rule` + `dsx-pill` | One rule chip: `field`/`operator`/`value`, optional `count`, remove, click-to-reopen. |
41
+ | `FilterBar.ConditionGroup` | `div` (+ `role="group"` when named) | `dsx-filter-bar__condition-group` | AND/OR condition group with nesting: combinator toggle, `Add condition` / `Add subgroup`, `Clear all`. Buttons render only for the handlers passed. |
42
+ | `FilterBar.Condition` | `div` | `dsx-filter-bar__condition` | One advanced condition: `field`/`operator`/`value`, optional `count`, click-to-reopen, trash delete (`onRemove`). |
43
+ | `FilterBar.ConditionEditor` | `div role="group"` | `dsx-filter-bar__condition-editor` | Docked BI-panel editor for condition trees that outgrow the Builder popup: field rail, operator/value config, Apply/New. |
44
+ | `FilterBar.Builder` | `Popover` | `dsx-filter-bar__builder` on the popup | Field → operator → value → Apply popup. |
29
45
  | `FilterBar.Summary` | `div` | `dsx-filter-bar__summary` | Result/filter summary. |
30
46
  | `FilterBar.Actions` | `div` | `dsx-filter-bar__actions` | Action cluster. |
31
47
  | `FilterBar.Clear` | `Button` | `dsx-filter-bar__clear` | Styled callback only. |
@@ -40,31 +56,200 @@ A product-agnostic, wrapping filter toolbar that organizes consumer-controlled f
40
56
 
41
57
  `FilterBar.Clear` accepts Button props and an optional `onClear: () => void`; its default children are `Clear filters`. All wrapper slots accept standard div attributes.
42
58
 
59
+ `FilterBar.Rules` accepts `size: 'sm' \| 'md' \| 'lg'` (default `'md'`) plus standard list attributes; it renders a `Pills` cluster so rule chips inherit the Pills contract. `maxVisible: number` collapses the cluster: only the first `maxVisible` chips render, followed by an overflow row with `+N more` (expands; `aria-label="Show N more filters"`, `aria-expanded`), `Show less` (collapses), and an optional `Clear` wired to `onClearAll` (rendered only when the handler is passed, `aria-label="Clear all filters"`). Expansion is controlled (`expanded` + `onExpandedChange`) or uncontrolled (`defaultExpanded`, default `false`). `showMoreLabel(hiddenCount)`, `showLessLabel`, and `clearAllLabel` override the overflow chrome. Omitting `maxVisible` preserves the flat chip list.
60
+
61
+ `FilterBar.Rule` accepts `field`, `operator`, `value` (`ReactNode`, typically strings), `count` (`ReactNode`, typically a number: per-option match count), `size` (default `'md'`), and `active`. `onRemove` adds the Pills removable affordance (omitting it hides the remove button); `onEdit` wraps the field/operator/value label in a button named `Edit filter: <field> <operator> <value>` that reopens the builder (click-to-reopen). Omitting `onEdit` renders static text. Extra children render after the label inside the chip.
62
+
63
+ `FilterBar.ConditionGroup` accepts `combinator: 'and' | 'or'` (default `'and'`) plus standard div attributes. `editor` docks a `FilterBar.ConditionEditor` inside the group card between the combinator and the rows, making one composed unit: the group owns add/remove/clear, the editor owns field/operator/value. `rowsLabel` (e.g. `Where:`) heads the row stack; `allLabel`/`anyLabel` (e.g. `All/Any of the following are true:`) head the combinator, falling back to `Match all`/`Match any` when only one is set. `gapCombinators` (one combinator per gap, index-aligned to children) with `onGapCombinatorChange` renders And/Or pills between rows for independent per-gap logic (react-querybuilder pattern) and replaces the header toggle; omitting it keeps the single group combinator. Grouping evaluation (e.g. AND-precedence) is consumer-owned. `onCombinatorChange` renders the AND/OR toggle (buttons with `aria-pressed` inside a group named by `combinatorLabel`, default `Match`); omitting it renders the combinator as static text. `onAddCondition`, `onAddSubgroup`, and `onClearAll` render `Add condition` / `Add subgroup` / `Clear all` (overridable via `addConditionLabel`, `addSubgroupLabel`, `clearAllLabel`); each button renders only when its handler is passed, so there are never dead controls. An empty group (no conditions or subgroups) renders the `emptyHint` line (default `No conditions yet — add one below.`) instead of a void, and writes `data-empty="true"` with a dashed frame. Nested groups indent through a rail (inset start border), not just a margin, so depth reads at a glance. Children are conditions (`FilterBar.Condition`) and nested `FilterBar.ConditionGroup`s to any depth. With an `aria-label` the group takes `role="group"`; without one it renders a plain div so unnamed groups never fail naming rules.
64
+
65
+ `FilterBar.Condition` accepts `field`, `operator`, `value` (`ReactNode`), optional `count`, and standard div attributes. An empty-string `value` renders an explicit `empty` pill (`data-empty="true"`) instead of blank space, in both `Condition` and `Rule`. `onEdit` wraps the label in a button named `Edit filter: <field> <operator> <value>` (click-to-reopen, same naming as `Rule`); `editLabel` overrides that name (needed when `value` is rich content rather than text). `dragProps` (spread onto the row root) enables native drag reorder and renders the grip handle; omitting it hides the grip. Passing `fields` with `onFieldChange`/`onOperatorChange`/`onValueChange` renders the row as live inline editors (field select, operator select, shared value renderer with `renderValue` support) instead of the display label — the Gyaan pattern; omitting `fields` keeps display mode with click-to-reopen. `onRemove` renders a trash `IconButton` (`aria-label` from `removeLabel`, default `Remove condition`); omitting it hides the delete affordance. Extra children render after the delete button.
66
+
67
+ `FilterBar.Builder` accepts `fields: Array<{ value: string; label?: ReactNode; type?: 'text' | 'number' | 'enum' | 'multi' | 'range' | 'date' | 'person'; operators?: string[]; options?: Array<{ value: string; label?: ReactNode }>; min?: number; max?: number; step?: number; renderValue?: (state: { value: string; onChange: (nextValue: string) => void; id: string }) => ReactNode }>` and an optional global `operators` fallback (default `is`, `is not`, `contains`, `does not contain`). The value editor resolves in order: `renderValue` when provided; a `Select` when `options` are present (or `type: 'enum'`); a `NumberInput` for `type: 'number'` (bridged to the string rule value); a `TagsInput` for `type: 'multi'` (values are comma-joined into the string rule value); a dual-thumb `Slider` for `type: 'range'` (value encodes as `"min..max"`, bounds from `min`/`max`/`step`, default `0`/`100`/`1`); otherwise a free-text `Input` (`date` hints `YYYY-MM-DD`, `person` hints a name). `date` and `person` are intentionally Input-backed in the package: `DatePicker` and `Combobox` carry optional peers the root barrel must not eagerly load, so consumers plug them through `renderValue` from their dedicated subpaths. `count` renders an active-count `Badge` inside the default `+ Add filter` trigger so the bar has one adhesive filter entry with its number attached. `initialRule` seeds the draft and is re-read every time the popup opens, so editing an existing rule is `initialRule={rule}` plus open state. Open state is controlled (`open` + `onOpenChange`) or uncontrolled (`defaultOpen`). `trigger` overrides the default `+ Add filter` outline button. Pass `trigger={null}` for a triggerless controlled popup (the click-to-reopen edit flow: `open` + `onOpenChange` with no visible trigger) — the popup anchors to a zero-size viewport-center span (`dsx-filter-bar__builder-anchor`), so it opens centered and clickable. `title` (default `Add filter`), `submitLabel` (default `Apply`), and `cancelLabel` (default `Cancel`) override the popup chrome. `onApply(rule: { field; operator; value })` fires on Apply; `onCancel` fires on Cancel. Apply stays disabled until field and operator are chosen; Apply and Cancel both close the popup.
68
+
69
+ ## Density scale
70
+
71
+ All three sizes render explicit rules through `--dsx-filter-bar-*` custom properties (selected with `:where([data-size])` so specificity stays at the policy baseline):
72
+
73
+ | Size | Padding | Gap | Control height | Summary type |
74
+ |---|---|---|---|---|
75
+ | `sm` | `space-sm` | `space-xs` | `density-control-height-sm` | `label-small` |
76
+ | `md` | `space-md` | `space-sm` | `density-control-height` | `body-small` |
77
+ | `lg` | `space-lg` | `space-md` | `density-control-height-lg` | `body-medium` |
78
+
79
+ `FilterBar.Rules` stretches to the row control height so chips align with sibling controls. Pair `Rules`/`Rule` `size` with the root `size` so chips and shell step together.
80
+
81
+ Editable rule labels retain their typography and chip paint with a centered invisible hit layer at least `size-md` (24px) high. Static labels have no hit layer. The layer stays within the label's horizontal bounds so removal remains a separate action.
82
+
83
+ Inside FilterBar rules, the Pill remove button likewise has a centered invisible `size-md` floor in both dimensions; its icon paint stays unchanged and the button does not shrink as the label wraps. This scoped rule does not alter other Pills compositions.
84
+
85
+ Rules clusters and individual chips shrink within their parent. Label parts wrap intrinsically and long identifiers can break inside their part, preserving the separate remove button within the chip at narrow widths.
86
+
87
+ ## Rule-builder composition
88
+
89
+ The prescribed composition for structured filters (LemonSqueezy-style query builders):
90
+
91
+ ```tsx
92
+ <FilterBar activeCount={rules.length}>
93
+ <FilterBar.Search>{/* search input, consumer-owned */}</FilterBar.Search>
94
+ <FilterBar.Rules>
95
+ {rules.map((rule) => (
96
+ <FilterBar.Rule
97
+ key={rule.id}
98
+ field={rule.fieldLabel}
99
+ operator={rule.operator}
100
+ value={rule.valueLabel}
101
+ onRemove={() => removeRule(rule.id)}
102
+ onEdit={() => editRule(rule)}
103
+ />
104
+ ))}
105
+ </FilterBar.Rules>
106
+ <FilterBar.Builder fields={fieldDefs} initialRule={editingRule} onApply={applyRule} />
107
+ <FilterBar.Summary>{summary}</FilterBar.Summary>
108
+ <FilterBar.Actions>{/* toolbar cluster */}</FilterBar.Actions>
109
+ </FilterBar>
110
+ ```
111
+
112
+ Rule chips belong to the Pills family per the F6 cardinality rule (Tag = lone dismissible chip, Pills = selectable cluster): `Rule` renders a `Pill` with `removable`, never a `Tag`. The builder popup renders a `Popover` whose title wires the popup's accessible name. Consumers own rule state, field definitions, and what Apply executes; the DS owns chip presentation, popup layout, and the field → operator → value step order.
113
+
114
+ ## Advanced-condition composition
115
+
116
+ The prescribed composition for Gyaan-style advanced filters (AND/OR groups with nesting):
117
+
118
+ ```tsx
119
+ const [group, setGroup] = useState<ConditionGroupState>({ combinator: 'and', conditions: [...], subgroups: [...] })
120
+
121
+ <FilterBar>
122
+ <FilterBar.ConditionGroup
123
+ aria-label="Advanced conditions"
124
+ combinator={group.combinator}
125
+ onCombinatorChange={(next) => setGroup({ ...group, combinator: next })}
126
+ onAddCondition={addCondition}
127
+ onAddSubgroup={addSubgroup}
128
+ onClearAll={clearGroup}
129
+ >
130
+ {group.conditions.map((cond) => (
131
+ <FilterBar.Condition
132
+ key={cond.id}
133
+ field={labelFor(cond.field)}
134
+ operator={cond.operator}
135
+ value={cond.value}
136
+ onRemove={() => removeCondition(cond.id)}
137
+ />
138
+ ))}
139
+ {group.subgroups.map((sub, i) => (
140
+ <FilterBar.ConditionGroup key={sub.id} aria-label={`Subgroup ${i + 1}`} /* ...same handlers, nested */ />
141
+ ))}
142
+ </FilterBar.ConditionGroup>
143
+ </FilterBar>
144
+ ```
145
+
146
+ Conditions reuse the rule part presentation (`field`/`operator`/`value` spans) but render as group rows with trash delete instead of Pills remove, so the Pill remove affordance and the condition trash affordance never compete. Consumers own the group tree, combinator state, and what Add/Clear executes; the DS owns group layout, nesting indent, toggle presentation, and the action row.
147
+
148
+ ## Condition editor (docked BI panel)
149
+
150
+ For condition trees that outgrow the Builder popup, `FilterBar.ConditionEditor` docks the editor beside the accumulation surface instead of floating it: a field rail (one button per field def, `aria-pressed` on the active field) on the left, the selected field's operator select plus its value editor on the right, Apply/New beneath. It accepts `fields` (same shape as `Builder`), a controlled `draft` (`{ field, operator, value }`) with `onDraftChange`, an `operators` fallback, `title` (default `Condition editor`), `submitLabel` (default `Apply`), and `newLabel` (default `New`); `onApply` fires Apply (disabled until field and operator are set), `onNew` fires New and renders the New button only when passed — omit it when the hosting group already offers Add condition, so there is exactly one entry point. The operator/value editors are the same internals as the Builder popup — typed editors, `renderValue` hatch, and range encoding behave identically in both. The editor is a single slot (no sub-slots): the value-editor machinery stays internal so the two surfaces cannot drift. Consumers own the draft and what Apply/New executes; the DS owns rail/config/actions layout, the framed card surface, and the named `Condition editor` group.
151
+
152
+ ## Checked-filter pills with counts and overflow
153
+
154
+ The drill-down multi-select pattern (counts per option, collapse, clear) on the Rules cluster:
155
+
156
+ ```tsx
157
+ <FilterBar.Rules aria-label="Checked filters" maxVisible={2} onClearAll={clearChecked}>
158
+ {checked.map((f) => (
159
+ <FilterBar.Rule key={f.id} field={f.field} operator={f.operator} value={f.value} count={f.count} onRemove={() => uncheck(f.id)} />
160
+ ))}
161
+ </FilterBar.Rules>
162
+ ```
163
+
164
+ `count` paints the per-option match count after the value. Past `maxVisible`, the cluster collapses behind `+N more` with `Show less` to collapse and `Clear` to reset. Faceted drill-down with select-all stays DataTable-owned (`DataTable.FacetedFilter`); this pattern covers the standalone-bar equivalent without duplicating it.
165
+
166
+ ## Toolbar cluster prescription
167
+
168
+ The shared toolbar cluster, in order: search (`FilterBar.Search`), Columns control (DataTable-owned, see below), Filters button with active-count `Badge`, Export action. The order and behavior are shared with `DataTable.Toolbar`; only the host differs.
169
+
170
+ - Search flex-grows (`flex: 1 1 12rem`) and collapses first on narrow widths.
171
+ - The Filters button carries a `Badge` count (`FilterBar.Count` reads the root `activeCount` for the same number) and opens the filter surface; it is never a second clear affordance.
172
+ - Export is a plain action; it never mutates filter state.
173
+
174
+ ## FilterBar vs DataTable.Toolbar
175
+
176
+ `FilterBar` is the standalone bar for custom surfaces: consumer-composed controls, rule chips, and actions with no table attached. `DataTable.Toolbar` is the built-in shell toolbar: search, column visibility, export, and row counts wired to table state (`Search`, `ColumnVisibility`, `Export`, `RowCount`). Use `FilterBar` when the surface is custom; use `DataTable.Toolbar` when the table owns the query. Columns visibility and faceted drill-down multi-select (counts per option, select-all) stay DataTable-owned (`ColumnVisibility`, `FacetedFilter`) and are deliberately not re-implemented here — the toolbar cluster prescription above references them without duplicating them.
177
+
178
+ ## FilterBar → DataTable bridge
179
+
180
+ Rules are consumer state; `DataTable` consumes them through its controlled filter/search/sort props. The connection story, worked through:
181
+
182
+ ```tsx
183
+ // 1. FilterBar owns the rule drafts (consumer state, never table state).
184
+ const [rules, setRules] = useState<FilterRule[]>([])
185
+ const [query, setQuery] = useState('')
186
+ const [sort, setSort] = useState<{ sortBy: string; sortOrder: 'asc' | 'desc' } | null>(null)
187
+
188
+ // 2. Translate rules into the table's faceted-filter shape
189
+ // (DataTableFacetedFilterState: { columnId, accessorKey, selectedValues: Set<string> }).
190
+ const facetedFilters = rules.map((rule) => ({
191
+ columnId: rule.field,
192
+ accessorKey: rule.field,
193
+ selectedValues: new Set([rule.value]),
194
+ }))
195
+
196
+ // 3. Feed the table; take sort/search back out of it.
197
+ <DataTable
198
+ columns={columns}
199
+ data={rows}
200
+ facetedFilters={facetedFilters}
201
+ onFacetedFiltersChange={(next) => setRules(fromFaceted(next))}
202
+ sortBy={sort?.sortBy}
203
+ sortOrder={sort?.sortOrder}
204
+ onSortChange={(sortBy, sortOrder) => setSort({ sortBy, sortOrder })}
205
+ />
206
+ <FilterBar activeCount={rules.length}>
207
+ {/* rule chips + builder writing `rules`, search writing `query` */}
208
+ </FilterBar>
209
+ ```
210
+
211
+ Direction of travel: FilterBar → consumer state → DataTable props. The table never reads FilterBar slots, and FilterBar never reads table state; the consumer's translation layer (`rules ↔ facetedFilters`) is the only coupling. Sort travels the same road (controlled `sortBy`/`sortOrder`/`onSortChange`). Search stays consumer-side (`FilterBar.Search` writes `query`): client-side apps filter rows with `rules + query` together, and server-side apps send the translated state (`facetedFilters`, `sortBy`/`sortOrder`, `query`) as their query params instead of filtering client-side.
212
+
213
+ ## Composition recipes (app-owned, documented here)
214
+
215
+ - **Single-filter backends.** When the API accepts one filter, the Builder's `onApply` replaces instead of appends (`setRules([rule])`), and `Rules` renders at most one chip. No Builder prop changes; the cardinality lives in consumer state.
216
+ - **Searchable enums.** Enum fields past ~7 options switch the value editor from `Select` to `Combobox` (list search) via `renderValue`. Below the threshold the built-in `Select` applies.
217
+ - **Refine entry with count.** The `Builder` `count` prop badges the default `+ Add filter` trigger, giving the bar one adhesive filter entry with its number attached. Pair with a view switcher (`SegmentedControl`) and a result count (`FilterBar.Summary`) for the Refine | View | Count trio — composed by the app, never a new slot.
218
+ - **BI-panel advanced builder.** For AND/OR condition trees that outgrow the popup, dock the editor beside the accumulation surface instead of floating it: a field rail (one button per field def) on the left, the selected field's operator select plus its `renderValue` editor on the right, Apply/Cancel beneath, and the `ConditionGroup` rows as the top-to-bottom accumulation below or beside. Row click loads the condition into the panel (selected state); trash removes in place. Every typed editor is reused through `renderValue`, so date/person/number/range behave identically in the panel and the popup. No new slots — arrangement only.
219
+
43
220
  ## CSS class contract
44
221
 
45
- Root `dsx-filter-bar` writes `data-size`. Slot classes are `dsx-filter-bar__group`, `__summary`, `__actions`, and `__clear`. The shell uses flex wrapping without embedded product breakpoints.
222
+ Root `dsx-filter-bar` writes `data-size`. Slot classes are `dsx-filter-bar__group`, `__search`, `__rules`, `__rule`, `__condition-group`, `__condition`, `__summary`, `__actions`, and `__clear`. Rule parts are `dsx-filter-bar__rule-label`, `__rule-field`, `__rule-operator`, `__rule-value` (empty string renders an `empty` pill via `data-empty="true"`), and `__rule-count` (shared by `Rule` and `Condition`); an `active` rule writes `data-active` on the chip. Rules overflow is `dsx-filter-bar__rules-overflow`. Condition-group parts are `__condition-combinator`, `__condition-combinator-label`, `__condition-match-label` (Any/All sentence header), `__condition-children`, `__condition-rows-label` (`Where:` head), `__condition-empty` (hint line for childless groups, which also write `data-empty="true"`), `__condition`, `__condition-label`, and `__condition-actions`; condition rows prepend `__condition-grip` when draggable and lay inline editors out as `__condition-field` / `__condition-operator` / `__condition-value`. Per-gap logic renders `__condition-gap` pill rows between children. nesting indents through a rail (inset start border on the descendant selector), not a depth attribute. Condition rows are full-width flex top-to-bottom: the label grows (long values ellipsize) and the trash delete pins to the right edge. Builder parts are `dsx-filter-bar__builder`, `__builder-anchor` (triggerless centering span), `__builder-field`, `__builder-label`, `__builder-actions`. Condition-editor parts are `dsx-filter-bar__condition-editor` (framed card, `role="group"` named by `title`), `__condition-editor-title`, `__condition-editor-body` (rail + config grid), `__condition-editor-fields` (rail), `__condition-editor-config`, `__condition-editor-field`, `__condition-editor-label`, `__condition-editor-actions`. The editor writes no `data-*` attributes; the rail's active field is `aria-pressed` on the button. The Builder's field/operator/value selects ride the shared nested floating tier (see the contract in `menu.md`): the Builder popup is a `Popover` host, so its option lists escalate to `modal + 2` automatically via `dsx-menu__nested` — the round-3 scoped `dsx-filter-bar__builder-select` override is retired. Rule parts render in the chip font throughout (field, operator, and value share one weight; the operator is distinguished by `on-surface-variant` color only). The shell uses flex wrapping without embedded product breakpoints. No new `data-variant`, `data-accent-color`, `data-radius`, or `data-high-contrast` attributes are written by FilterBar source (Pills, Badge, Popover, Select, Input, IconButton, Icon, and Button write their own in their files), so the component-contract profile stays size-only.
46
223
 
47
224
  ## Token mapping
48
225
 
49
226
  | Property | Token | Role |
50
227
  |---|---|---|
51
- | Gap/padding | `var(--dsx-space-sm)` / `var(--dsx-space-md)` | Responsive wrapping rhythm |
228
+ | Gap/padding | `--dsx-filter-bar-gap` / `--dsx-filter-bar-padding` (per-size: `space-xs`–`space-md` / `space-sm`–`space-lg`) | Responsive wrapping rhythm |
52
229
  | Border | `var(--dsx-control-separator-color)` | Muted toolbar edge |
53
230
  | Background | `var(--dsx-color-surface-raised)` | Toolbar surface |
54
231
  | Radius | `var(--dsx-rounded-lg)` | Shell roundness |
232
+ | Control height | `--dsx-filter-bar-control-height` (`density-control-height-sm` / `-height` / `-height-lg`) | Row alignment for chips |
233
+ | Summary type | per-size `label-small` / `body-small` / `body-medium` | Density-matched summary |
234
+ | Rule operator/label | `on-surface-variant`, chip font throughout | Chip part hierarchy |
235
+ | Builder label | `on-surface-variant`, `label-small` | Popup field labels |
55
236
 
56
237
  ## Motion contract
57
238
 
58
- No motion.
239
+ No motion. The builder popup inherits the Popover motion contract (reduced-motion aware); rule chips have no transitions.
59
240
 
60
241
  ## Accessibility
61
242
 
62
- The root is a named toolbar. Tab order follows DOM order and controls retain their own semantics; FilterBar does not implement roving focus because it may contain form controls. Groups may provide their own accessible names. Clear is a native button and never mutates sibling controls automatically.
243
+ The root is a named toolbar. Tab order follows DOM order and controls retain their own semantics; FilterBar does not implement roving focus because it may contain form controls. Groups may provide their own accessible names. Clear is a native button and never mutates sibling controls automatically. Rule chips render in a list (`Rules` is a `ul`, including the overflow row which is an `li`); the remove affordance is the Pills remove button and the edit affordance is a named button (`Edit filter: field operator value`), so both are keyboard-reachable with no nested-interactive violation. Condition groups take `role="group"` only when named via `aria-label`; the AND/OR toggle is an `aria-pressed` button pair, the overflow `+N more` carries `aria-expanded` with a counted label, and condition delete is a named trash button (`Remove condition` by default). The builder popup is a Popover with a title-wired accessible name; its field/operator/value controls are labelled (visible label spans for the selects, native label for the value input).
63
244
 
64
245
  ## Playground demo spec
65
246
 
66
- Show default, all sizes, full slot composition, empty/active summary, light/dark, and alternate accents. The composition story demonstrates source, direction, and a paired DatePicker range using consumer state. Test Clear callback/keyboard behavior and `vitest-axe`.
247
+ The orders workspace separates three consumer-defined bands: search plus the Add filter/More command group; applied rules followed immediately by one Clear filters action; and a passive results count. The applied band exists only while a query or condition is active. Clear resets the query, simple rules, advanced conditions, selection, and page, then hides the emptied advanced editor. Its position follows the labels rather than the far edge of the results row. Advanced conditions have an editable/removable summary chip even while their editor is hidden; hiding that editor does not disable applied conditions. A group's Clear conditions action resets only that group. Advanced filters and Export live in the More menu at every width. Group slots accept layout styles for these full-width bands; the package does not invent a width-driven mode. Search clamps its minimum to the available width. Related commands stay together, with intrinsic wrapping as the containment fallback.
248
+
249
+ Research: [PatternFly toolbar guidelines](https://www.patternfly.org/components/toolbar/design-guidelines/) group related controls and use overflow for secondary actions. Local Primer Table's named filter/actions regions and ActionBar's grouping/overflow model informed the composition; see the data-stream decisions for pinned source references.
250
+
251
+ Show ONE complete workspace in the live example: a 28-row orders dataset (text, person, status, currency, date, tag columns) with FilterBar query + typed rule Builder, removable and editable rule chips, a toggleable advanced AND/OR condition group wired to the same rows, a passive selectable DataTable payload with bulk actions and the DataTable pagination footer. The workspace Builder plugs `renderValue` with the `DatePicker` (Placed) and `Combobox` (Owner) dedicated subpaths — the package stays Input-backed per barrel policy; rule chips display owner labels while rule state keeps raw values. The workspace DataTable sets `wrapScrollArea` so the 7-column table scrolls internally at narrow widths and the bar wraps into clean rows instead of stretching past the viewport. Consumer-owned `query`, rules, and group tree filter the same dataset; the summary counts visible rows (`N of M orders`); Export downloads those rows with a count label; Clear resets query, rules, group, selection, and page. The result table uses `showToolbar={false}` so the FilterBar is the only tool zone, with `selectionMode="multiple"` so the bulk bar proves itself against live filters. Use a ten-row page to make filtering and pagination directly testable. The dataset-empty state is proven on the DataTable route; the workspace proves the filtered-empty state with its Clear recovery. Advanced condition-group and overflow mechanics stay unit-tested component capabilities; the workspace additionally wires one live group tree.
67
252
 
68
253
  ## Wiring notes
69
254
 
70
- Consumers own all filter values, reset logic, query execution, date-range policy, and domain fields. The DS owns only layout, slots, accessible naming, and Clear styling.
255
+ Consumers own all filter values, rule state, field definitions, reset logic, query execution, date-range policy, and domain fields. The DS owns only layout, slots, accessible naming, Clear styling, rule-chip presentation, and the builder popup shell. Drill-down multi-select with per-option counts and select-all is owned by `DataTable.FacetedFilter`; column visibility is owned by `DataTable.Toolbar.ColumnVisibility`.