@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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/floatingPanel/FloatingPanel.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\nimport { X } from 'lucide-react'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport {\n floatingPanelPropDefs,\n floatingPanelHeaderPropDefs,\n floatingPanelContentPropDefs,\n floatingPanelHandlePropDefs,\n} from './floatingPanel.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype FloatingPanelOwnProps = GetPropDefTypes<typeof floatingPanelPropDefs>\ntype FloatingPanelHeaderOwnProps = GetPropDefTypes<typeof floatingPanelHeaderPropDefs>\ntype FloatingPanelContentOwnProps = GetPropDefTypes<typeof floatingPanelContentPropDefs>\ntype FloatingPanelHandleOwnProps = GetPropDefTypes<typeof floatingPanelHandlePropDefs>\n\ninterface Position {\n x: number\n y: number\n}\n\ninterface Size {\n width: number\n height: number\n}\n\ntype FloatingPanelProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onDragEnd'> & FloatingPanelOwnProps & {\n defaultPosition?: Position\n defaultSize?: Size\n onDragEnd?: (position: Position) => void\n onResize?: (size: Size) => void\n onClose?: () => void\n}\n\ninterface FloatingPanelHeaderProps extends React.HTMLAttributes<HTMLDivElement>, FloatingPanelHeaderOwnProps {}\ninterface FloatingPanelContentProps extends React.HTMLAttributes<HTMLDivElement>, FloatingPanelContentOwnProps {}\ninterface FloatingPanelHandleProps extends React.HTMLAttributes<HTMLDivElement>, FloatingPanelHandleOwnProps {}\n\nconst FLOATING_PANEL_SIZE_DEFAULTS: Record<'sm' | 'md' | 'lg', Size> = {\n sm: { width: 240, height: 180 },\n md: { width: 320, height: 240 },\n lg: { width: 480, height: 360 },\n}\n\nconst FloatingPanel = React.forwardRef<HTMLDivElement, FloatingPanelProps>(\n (\n { children, defaultPosition = { x: 0, y: 0 }, defaultSize, onDragEnd, onResize, onClose, ...props },\n forwardedRef,\n ) => {\n const { asChild, className, size: componentSize = 'md', ...panelProps } = extractProps(props, floatingPanelPropDefs)\n const Comp = asChild ? Slot : 'div'\n\n const [open, setOpen] = React.useState(true)\n const [position, setPosition] = React.useState<Position>(defaultPosition)\n const [size, setSize] = React.useState<Size>(defaultSize ?? FLOATING_PANEL_SIZE_DEFAULTS[componentSize])\n const [isDragging, setIsDragging] = React.useState(false)\n const dragOffset = React.useRef<Position>({ x: 0, y: 0 })\n\n const handleMouseDown = React.useCallback(\n (e: React.MouseEvent) => {\n if ((e.target as HTMLElement).closest('[data-floating-panel-handle]')) return\n setIsDragging(true)\n dragOffset.current = {\n x: e.clientX - position.x,\n y: e.clientY - position.y,\n }\n },\n [position],\n )\n\n const handleClose = React.useCallback(() => {\n setOpen(false)\n onClose?.()\n }, [onClose])\n\n React.useEffect(() => {\n if (!open) return\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') handleClose()\n }\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [open, handleClose])\n\n React.useEffect(() => {\n if (!isDragging) return\n\n const handleMouseMove = (e: MouseEvent) => {\n const newPosition = {\n x: e.clientX - dragOffset.current.x,\n y: e.clientY - dragOffset.current.y,\n }\n setPosition(newPosition)\n }\n\n const handleMouseUp = () => {\n setIsDragging(false)\n onDragEnd?.(position)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n\n return () => {\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n }\n }, [isDragging, onDragEnd, position])\n\n const handleResize = React.useCallback(\n (direction: string, e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n\n const startX = e.clientX\n const startY = e.clientY\n const startWidth = size.width\n const startHeight = size.height\n\n const handleMouseMove = (moveEvent: MouseEvent) => {\n const newWidth = direction.includes('e') ? Math.max(150, startWidth + (moveEvent.clientX - startX)) : startWidth\n const newHeight = direction.includes('s') ? Math.max(100, startHeight + (moveEvent.clientY - startY)) : startHeight\n setSize({ width: newWidth, height: newHeight })\n }\n\n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n onResize?.(size)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n },\n [size, onResize],\n )\n\n if (!open) return null\n\n return (\n <Comp\n {...panelProps}\n ref={forwardedRef}\n className={classNames('dsx-floating-panel', className)}\n data-size={componentSize}\n data-dragging={isDragging || undefined}\n style={{\n position: 'fixed',\n left: position.x,\n top: position.y,\n width: size.width,\n height: size.height,\n ...panelProps.style,\n }}\n onMouseDown={handleMouseDown}\n >\n {asChild ? children : (\n <>\n {children}\n <button\n type=\"button\"\n className=\"dsx-floating-panel__close\"\n onClick={handleClose}\n aria-label=\"Close panel\"\n data-slot=\"floating-panel-close\"\n >\n <X size={16} />\n </button>\n <FloatingPanelHandle direction=\"se\" onResize={handleResize} />\n </>\n )}\n </Comp>\n )\n },\n)\nFloatingPanel.displayName = 'FloatingPanel'\n\nconst FloatingPanelHeader = React.forwardRef<HTMLDivElement, FloatingPanelHeaderProps>(\n ({ children, ...props }, forwardedRef) => {\n const { asChild, className, ...headerProps } = extractProps(props, floatingPanelHeaderPropDefs)\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...headerProps}\n ref={forwardedRef}\n className={classNames('dsx-floating-panel__header', className)}\n data-floating-panel-handle\n >\n {children}\n </Comp>\n )\n },\n)\nFloatingPanelHeader.displayName = 'FloatingPanelHeader'\n\nconst FloatingPanelContent = React.forwardRef<HTMLDivElement, FloatingPanelContentProps>(\n ({ children, ...props }, forwardedRef) => {\n const { asChild, className, ...contentProps } = extractProps(props, floatingPanelContentPropDefs)\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...contentProps}\n ref={forwardedRef}\n className={classNames('dsx-floating-panel__content', className)}\n >\n {children}\n </Comp>\n )\n },\n)\nFloatingPanelContent.displayName = 'FloatingPanelContent'\n\ninterface FloatingPanelHandleInternalProps extends FloatingPanelHandleProps {\n onResize?: (direction: string, e: React.MouseEvent) => void\n}\n\nconst FloatingPanelHandle = React.forwardRef<HTMLDivElement, FloatingPanelHandleInternalProps>(\n ({ direction = 'se', onResize, ...props }, forwardedRef) => {\n const { asChild, className, ...handleProps } = extractProps(props, floatingPanelHandlePropDefs)\n const Comp = asChild ? Slot : 'div'\n\n const handleMouseDown = React.useCallback(\n (e: React.MouseEvent) => {\n onResize?.(direction, e)\n },\n [direction, onResize],\n )\n\n return (\n <Comp\n {...handleProps}\n ref={forwardedRef}\n className={classNames(\n 'dsx-floating-panel__handle',\n `dsx-floating-panel__handle--${direction}`,\n className,\n )}\n onMouseDown={handleMouseDown}\n />\n )\n },\n)\nFloatingPanelHandle.displayName = 'FloatingPanelHandle'\n\nconst FloatingPanelRoot: typeof FloatingPanel & {\n Header: typeof FloatingPanelHeader\n Content: typeof FloatingPanelContent\n Handle: typeof FloatingPanelHandle\n} = Object.assign(FloatingPanel, {\n Header: FloatingPanelHeader,\n Content: FloatingPanelContent,\n Handle: FloatingPanelHandle,\n})\n\nexport { FloatingPanelRoot as FloatingPanel, FloatingPanelHeader, FloatingPanelContent, FloatingPanelHandle }\nexport type { FloatingPanelProps, FloatingPanelHeaderProps, FloatingPanelContentProps, FloatingPanelHandleProps, Position, Size }\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\nimport { X } from 'lucide-react'\nimport { Icon } from '../icon/Icon'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport {\n floatingPanelPropDefs,\n floatingPanelHeaderPropDefs,\n floatingPanelContentPropDefs,\n floatingPanelHandlePropDefs,\n} from './floatingPanel.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype FloatingPanelOwnProps = GetPropDefTypes<typeof floatingPanelPropDefs>\ntype FloatingPanelHeaderOwnProps = GetPropDefTypes<typeof floatingPanelHeaderPropDefs>\ntype FloatingPanelContentOwnProps = GetPropDefTypes<typeof floatingPanelContentPropDefs>\ntype FloatingPanelHandleOwnProps = GetPropDefTypes<typeof floatingPanelHandlePropDefs>\n\ninterface Position {\n x: number\n y: number\n}\n\ninterface Size {\n width: number\n height: number\n}\n\ntype FloatingPanelProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onDragEnd'> & FloatingPanelOwnProps & {\n defaultPosition?: Position\n defaultSize?: Size\n onDragEnd?: (position: Position) => void\n onResize?: (size: Size) => void\n onClose?: () => void\n}\n\ninterface FloatingPanelHeaderProps extends React.HTMLAttributes<HTMLDivElement>, FloatingPanelHeaderOwnProps {}\ninterface FloatingPanelContentProps extends React.HTMLAttributes<HTMLDivElement>, FloatingPanelContentOwnProps {}\ninterface FloatingPanelHandleProps extends React.HTMLAttributes<HTMLDivElement>, FloatingPanelHandleOwnProps {}\n\nconst FLOATING_PANEL_SIZE_DEFAULTS: Record<'sm' | 'md' | 'lg', Size> = {\n sm: { width: 240, height: 180 },\n md: { width: 320, height: 240 },\n lg: { width: 480, height: 360 },\n}\n\nconst FloatingPanel = React.forwardRef<HTMLDivElement, FloatingPanelProps>(\n (\n { children, defaultPosition = { x: 0, y: 0 }, defaultSize, onDragEnd, onResize, onClose, ...props },\n forwardedRef,\n ) => {\n const { asChild, className, size: componentSize = 'md', ...panelProps } = extractProps(props, floatingPanelPropDefs)\n const Comp = asChild ? Slot : 'div'\n\n const panelRef = React.useRef<HTMLDivElement>(null)\n const composedRef = React.useCallback((node: HTMLDivElement | null) => {\n panelRef.current = node\n if (typeof forwardedRef === 'function') forwardedRef(node)\n else if (forwardedRef) forwardedRef.current = node\n }, [forwardedRef])\n const [open, setOpen] = React.useState(true)\n const [position, setPosition] = React.useState<Position>(defaultPosition)\n const [size, setSize] = React.useState<Size>(defaultSize ?? FLOATING_PANEL_SIZE_DEFAULTS[componentSize])\n const positionRef = React.useRef(position)\n const sizeRef = React.useRef(size)\n const [interaction, setInteraction] = React.useState<'drag' | 'resize' | null>(null)\n const gesture = React.useRef<{\n kind: 'drag' | 'resize'\n family: 'pointer' | 'mouse'\n pointerId?: number\n direction: string\n startX: number\n startY: number\n position: Position\n size: Size\n } | null>(null)\n\n const bounds = React.useCallback(() => {\n const panel = panelRef.current\n const parent = panel && getComputedStyle(panel).position !== 'fixed' ? panel.offsetParent : null\n return {\n width: parent?.clientWidth || Math.min(\n document.documentElement.clientWidth || window.innerWidth,\n document.documentElement.getBoundingClientRect().width || window.innerWidth,\n ),\n height: parent?.clientHeight || window.innerHeight,\n }\n }, [])\n\n const applySize = React.useCallback((next: Size) => {\n const available = bounds()\n const style = panelRef.current ? getComputedStyle(panelRef.current) : null\n const maxWidth = Math.min(available.width, parseFloat(style?.maxWidth ?? '') || available.width)\n const maxHeight = Math.min(available.height, parseFloat(style?.maxHeight ?? '') || available.height)\n const value = {\n width: Math.min(maxWidth, available.width - positionRef.current.x, Math.max(150, next.width)),\n height: Math.min(maxHeight, available.height - positionRef.current.y, Math.max(100, next.height)),\n }\n value.width = Math.max(0, value.width)\n value.height = Math.max(0, value.height)\n sizeRef.current = value\n setSize(value)\n return value\n }, [bounds])\n\n const applyPosition = React.useCallback((next: Position) => {\n const available = bounds()\n const rect = panelRef.current?.getBoundingClientRect()\n const value = {\n x: Math.max(0, Math.min(next.x, available.width - (rect?.width || sizeRef.current.width))),\n y: Math.max(0, Math.min(next.y, available.height - (rect?.height || sizeRef.current.height))),\n }\n positionRef.current = value\n setPosition(value)\n return value\n }, [bounds])\n\n const handleClose = React.useCallback(() => {\n gesture.current = null\n setInteraction(null)\n setOpen(false)\n onClose?.()\n }, [onClose])\n\n const startInteraction = React.useCallback((e: React.MouseEvent | React.PointerEvent, family: 'mouse' | 'pointer') => {\n if (e.defaultPrevented || e.button !== 0 || gesture.current) return\n const target = e.target as HTMLElement\n const handle = target.closest('.dsx-floating-panel__handle')\n const header = target.closest('[data-floating-panel-handle]')\n if (!handle && (target.closest('button, a, input, textarea, select, [contenteditable=\"true\"]')\n || (!header && panelRef.current?.querySelector('[data-floating-panel-handle]')))) return\n e.preventDefault()\n const kind = handle ? 'resize' : 'drag'\n const direction = handle?.classList.contains('dsx-floating-panel__handle--s') ? 's'\n : handle?.classList.contains('dsx-floating-panel__handle--e') ? 'e' : 'se'\n gesture.current = {\n kind, family, direction,\n pointerId: 'pointerId' in e ? e.pointerId : undefined,\n startX: e.clientX, startY: e.clientY,\n position: positionRef.current, size: sizeRef.current,\n }\n const focusTarget = (handle ?? header) as HTMLElement | null\n focusTarget?.focus()\n setInteraction(kind)\n }, [])\n\n React.useEffect(() => {\n if (!open) return\n const fit = () => {\n applyPosition(positionRef.current)\n applySize(sizeRef.current)\n }\n fit()\n window.addEventListener('resize', fit)\n return () => window.removeEventListener('resize', fit)\n }, [open, applyPosition, applySize])\n\n React.useEffect(() => {\n if (!open) return\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key !== 'Escape' || e.defaultPrevented) return\n const panels = Array.from(document.querySelectorAll('.dsx-floating-panel'))\n const focused = panels.find(panel => panel.contains(document.activeElement))\n if ((focused ?? panels[panels.length - 1]) !== panelRef.current) return\n e.preventDefault()\n handleClose()\n }\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [open, handleClose])\n\n React.useEffect(() => {\n if (!interaction) return\n const active = gesture.current!\n const move = (e: MouseEvent | PointerEvent) => {\n if ('pointerId' in e && e.pointerId !== active.pointerId) return\n const dx = e.clientX - active.startX\n const dy = e.clientY - active.startY\n if (active.kind === 'drag') applyPosition({ x: active.position.x + dx, y: active.position.y + dy })\n else applySize({\n width: active.size.width + (active.direction.includes('e') ? dx : 0),\n height: active.size.height + (active.direction.includes('s') ? dy : 0),\n })\n }\n const finish = (e: Event) => {\n if ('pointerId' in e && (e as PointerEvent).pointerId !== active.pointerId) return\n gesture.current = null\n setInteraction(null)\n if (e.type === 'pointercancel') {\n applyPosition(active.position)\n applySize(active.size)\n } else if (active.kind === 'drag') onDragEnd?.(positionRef.current)\n else onResize?.(sizeRef.current)\n }\n const moveEvent = active.family === 'pointer' ? 'pointermove' : 'mousemove'\n const endEvent = active.family === 'pointer' ? 'pointerup' : 'mouseup'\n document.addEventListener(moveEvent, move)\n document.addEventListener(endEvent, finish)\n document.addEventListener('pointercancel', finish)\n return () => {\n document.removeEventListener(moveEvent, move)\n document.removeEventListener(endEvent, finish)\n document.removeEventListener('pointercancel', finish)\n }\n }, [interaction, applyPosition, applySize, onDragEnd, onResize])\n\n const handleKeyboard = (e: React.KeyboardEvent<HTMLDivElement>) => {\n panelProps.onKeyDown?.(e)\n if (e.defaultPrevented) return\n const target = e.target as HTMLElement\n if (target !== target.closest('[data-floating-panel-handle], .dsx-floating-panel__handle')) return\n const delta = { ArrowLeft: [-1, 0], ArrowRight: [1, 0], ArrowUp: [0, -1], ArrowDown: [0, 1] }[e.key]\n if (!delta) return\n e.preventDefault()\n const step = e.shiftKey ? 40 : 8\n if (target.matches('.dsx-floating-panel__handle')) {\n const horizontal = !target.classList.contains('dsx-floating-panel__handle--s')\n const vertical = !target.classList.contains('dsx-floating-panel__handle--e')\n onResize?.(applySize({ width: sizeRef.current.width + (horizontal ? delta[0] * step : 0), height: sizeRef.current.height + (vertical ? delta[1] * step : 0) }))\n } else onDragEnd?.(applyPosition({ x: positionRef.current.x + delta[0] * step, y: positionRef.current.y + delta[1] * step }))\n }\n\n if (!open) return null\n\n return (\n <Comp\n {...panelProps}\n ref={composedRef}\n className={classNames('dsx-floating-panel', className)}\n data-size={componentSize}\n data-dragging={interaction === 'drag' || undefined}\n style={{\n position: 'fixed',\n left: position.x,\n top: position.y,\n width: size.width,\n height: size.height,\n ...panelProps.style,\n }}\n onPointerDown={(e: React.PointerEvent<HTMLDivElement>) => { panelProps.onPointerDown?.(e); startInteraction(e, 'pointer') }}\n onMouseDown={(e: React.MouseEvent<HTMLDivElement>) => { panelProps.onMouseDown?.(e); startInteraction(e, 'mouse') }}\n onKeyDown={handleKeyboard}\n >\n {asChild ? children : (\n <>\n {children}\n <button\n type=\"button\"\n className=\"dsx-floating-panel__close\"\n onClick={handleClose}\n aria-label=\"Close panel\"\n data-slot=\"floating-panel-close\"\n >\n <X size={16} />\n </button>\n <FloatingPanelHandle direction=\"se\" />\n </>\n )}\n </Comp>\n )\n },\n)\nFloatingPanel.displayName = 'FloatingPanel'\n\nconst FloatingPanelHeader = React.forwardRef<HTMLDivElement, FloatingPanelHeaderProps>(\n ({ children, ...props }, forwardedRef) => {\n const { asChild, className, ...headerProps } = extractProps(props, floatingPanelHeaderPropDefs)\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...headerProps}\n ref={forwardedRef}\n className={classNames('dsx-floating-panel__header', className)}\n data-floating-panel-handle\n tabIndex={headerProps.tabIndex ?? 0}\n role={headerProps.role ?? 'group'}\n aria-label={headerProps['aria-label'] ?? 'Move panel'}\n title={headerProps.title ?? 'Move with arrow keys; hold Shift for larger steps'}\n >\n {children}\n </Comp>\n )\n },\n)\nFloatingPanelHeader.displayName = 'FloatingPanelHeader'\n\nconst FloatingPanelContent = React.forwardRef<HTMLDivElement, FloatingPanelContentProps>(\n ({ children, ...props }, forwardedRef) => {\n const { asChild, className, ...contentProps } = extractProps(props, floatingPanelContentPropDefs)\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...contentProps}\n ref={forwardedRef}\n className={classNames('dsx-floating-panel__content', className)}\n >\n {children}\n </Comp>\n )\n },\n)\nFloatingPanelContent.displayName = 'FloatingPanelContent'\n\ninterface FloatingPanelHandleInternalProps extends FloatingPanelHandleProps {\n onResize?: (direction: string, e: React.MouseEvent) => void\n}\n\nconst FloatingPanelHandle = React.forwardRef<HTMLDivElement, FloatingPanelHandleInternalProps>(\n ({ direction = 'se', onResize, children, ...props }, forwardedRef) => {\n const { asChild, className, ...handleProps } = extractProps(props, floatingPanelHandlePropDefs)\n const Comp = asChild ? Slot : 'div'\n\n const handleMouseDown = React.useCallback(\n (e: React.MouseEvent) => {\n onResize?.(direction, e)\n },\n [direction, onResize],\n )\n\n return (\n <Comp\n {...handleProps}\n ref={forwardedRef}\n className={classNames(\n 'dsx-floating-panel__handle',\n `dsx-floating-panel__handle--${direction}`,\n className,\n )}\n tabIndex={handleProps.tabIndex ?? 0}\n role={handleProps.role ?? 'group'}\n aria-label={handleProps['aria-label'] ?? 'Resize panel'}\n title={handleProps.title ?? 'Resize with arrow keys; hold Shift for larger steps'}\n onMouseDown={handleMouseDown}\n >\n {children ?? (direction === 'se'\n ? <span className=\"dsx-floating-panel__resize-grip\" aria-hidden=\"true\" />\n : <Icon name=\"grip-vertical\" size=\"sm\" aria-hidden=\"true\" />)}\n </Comp>\n )\n },\n)\nFloatingPanelHandle.displayName = 'FloatingPanelHandle'\n\nconst FloatingPanelRoot: typeof FloatingPanel & {\n Header: typeof FloatingPanelHeader\n Content: typeof FloatingPanelContent\n Handle: typeof FloatingPanelHandle\n} = Object.assign(FloatingPanel, {\n Header: FloatingPanelHeader,\n Content: FloatingPanelContent,\n Handle: FloatingPanelHandle,\n})\n\nexport { FloatingPanelRoot as FloatingPanel, FloatingPanelHeader, FloatingPanelContent, FloatingPanelHandle }\nexport type { FloatingPanelProps, FloatingPanelHeaderProps, FloatingPanelContentProps, FloatingPanelHandleProps, Position, Size }\n"],
5
+ "mappings": "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",
6
6
  "names": ["classNames"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingPanel.d.cts","sourceRoot":"","sources":["../../../src/components/floatingPanel/FloatingPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAC1E,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,2BAA2B,CAAC,CAAA;AACtF,KAAK,4BAA4B,GAAG,eAAe,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACxF,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAEtF,UAAU,QAAQ;IAChB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,GAAG,qBAAqB,GAAG;IAC1G,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,UAAU,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,2BAA2B;CAAG;AAC/G,UAAU,yBAA0B,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,4BAA4B;CAAG;AACjH,UAAU,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,2BAA2B;CAAG;AAQ/G,QAAA,MAAM,aAAa;;;;;;;;;;;sBAjBC,QAAQ;kBACZ,IAAI;gBACN,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;eAC7B,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;cACrB,MAAM,IAAI;wCA+IrB,CAAA;AAGD,QAAA,MAAM,mBAAmB,iGAgBxB,CAAA;AAGD,QAAA,MAAM,oBAAoB,kGAezB,CAAA;AAGD,UAAU,gCAAiC,SAAQ,wBAAwB;IACzE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;CAC5D;AAED,QAAA,MAAM,mBAAmB,yGAyBxB,CAAA;AAGD,QAAA,MAAM,iBAAiB,EAAE,OAAO,aAAa,GAAG;IAC9C,MAAM,EAAE,OAAO,mBAAmB,CAAA;IAClC,OAAO,EAAE,OAAO,oBAAoB,CAAA;IACpC,MAAM,EAAE,OAAO,mBAAmB,CAAA;CAKlC,CAAA;AAEF,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAA;AAC7G,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"FloatingPanel.d.cts","sourceRoot":"","sources":["../../../src/components/floatingPanel/FloatingPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAC1E,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,2BAA2B,CAAC,CAAA;AACtF,KAAK,4BAA4B,GAAG,eAAe,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACxF,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAEtF,UAAU,QAAQ;IAChB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,GAAG,qBAAqB,GAAG;IAC1G,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,UAAU,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,2BAA2B;CAAG;AAC/G,UAAU,yBAA0B,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,4BAA4B;CAAG;AACjH,UAAU,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,2BAA2B;CAAG;AAQ/G,QAAA,MAAM,aAAa;;;;;;;;;;;sBAjBC,QAAQ;kBACZ,IAAI;gBACN,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;eAC7B,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;cACrB,MAAM,IAAI;wCAoOrB,CAAA;AAGD,QAAA,MAAM,mBAAmB,iGAoBxB,CAAA;AAGD,QAAA,MAAM,oBAAoB,kGAezB,CAAA;AAGD,UAAU,gCAAiC,SAAQ,wBAAwB;IACzE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;CAC5D;AAED,QAAA,MAAM,mBAAmB,yGAiCxB,CAAA;AAGD,QAAA,MAAM,iBAAiB,EAAE,OAAO,aAAa,GAAG;IAC9C,MAAM,EAAE,OAAO,mBAAmB,CAAA;IAClC,OAAO,EAAE,OAAO,oBAAoB,CAAA;IACpC,MAAM,EAAE,OAAO,mBAAmB,CAAA;CAKlC,CAAA;AAEF,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAA;AAC7G,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingPanel.d.mts","sourceRoot":"","sources":["../../../src/components/floatingPanel/FloatingPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAC1E,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,2BAA2B,CAAC,CAAA;AACtF,KAAK,4BAA4B,GAAG,eAAe,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACxF,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAEtF,UAAU,QAAQ;IAChB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,GAAG,qBAAqB,GAAG;IAC1G,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,UAAU,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,2BAA2B;CAAG;AAC/G,UAAU,yBAA0B,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,4BAA4B;CAAG;AACjH,UAAU,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,2BAA2B;CAAG;AAQ/G,QAAA,MAAM,aAAa;;;;;;;;;;;sBAjBC,QAAQ;kBACZ,IAAI;gBACN,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;eAC7B,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;cACrB,MAAM,IAAI;wCA+IrB,CAAA;AAGD,QAAA,MAAM,mBAAmB,iGAgBxB,CAAA;AAGD,QAAA,MAAM,oBAAoB,kGAezB,CAAA;AAGD,UAAU,gCAAiC,SAAQ,wBAAwB;IACzE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;CAC5D;AAED,QAAA,MAAM,mBAAmB,yGAyBxB,CAAA;AAGD,QAAA,MAAM,iBAAiB,EAAE,OAAO,aAAa,GAAG;IAC9C,MAAM,EAAE,OAAO,mBAAmB,CAAA;IAClC,OAAO,EAAE,OAAO,oBAAoB,CAAA;IACpC,MAAM,EAAE,OAAO,mBAAmB,CAAA;CAKlC,CAAA;AAEF,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAA;AAC7G,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"FloatingPanel.d.mts","sourceRoot":"","sources":["../../../src/components/floatingPanel/FloatingPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAC1E,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,2BAA2B,CAAC,CAAA;AACtF,KAAK,4BAA4B,GAAG,eAAe,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACxF,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAEtF,UAAU,QAAQ;IAChB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,GAAG,qBAAqB,GAAG;IAC1G,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,UAAU,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,2BAA2B;CAAG;AAC/G,UAAU,yBAA0B,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,4BAA4B;CAAG;AACjH,UAAU,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,2BAA2B;CAAG;AAQ/G,QAAA,MAAM,aAAa;;;;;;;;;;;sBAjBC,QAAQ;kBACZ,IAAI;gBACN,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;eAC7B,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;cACrB,MAAM,IAAI;wCAoOrB,CAAA;AAGD,QAAA,MAAM,mBAAmB,iGAoBxB,CAAA;AAGD,QAAA,MAAM,oBAAoB,kGAezB,CAAA;AAGD,UAAU,gCAAiC,SAAQ,wBAAwB;IACzE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;CAC5D;AAED,QAAA,MAAM,mBAAmB,yGAiCxB,CAAA;AAGD,QAAA,MAAM,iBAAiB,EAAE,OAAO,aAAa,GAAG;IAC9C,MAAM,EAAE,OAAO,mBAAmB,CAAA;IAClC,OAAO,EAAE,OAAO,oBAAoB,CAAA;IACpC,MAAM,EAAE,OAAO,mBAAmB,CAAA;CAKlC,CAAA;AAEF,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAA;AAC7G,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingPanel.d.ts","sourceRoot":"","sources":["../../../src/components/floatingPanel/FloatingPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAC1E,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,2BAA2B,CAAC,CAAA;AACtF,KAAK,4BAA4B,GAAG,eAAe,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACxF,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAEtF,UAAU,QAAQ;IAChB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,GAAG,qBAAqB,GAAG;IAC1G,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,UAAU,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,2BAA2B;CAAG;AAC/G,UAAU,yBAA0B,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,4BAA4B;CAAG;AACjH,UAAU,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,2BAA2B;CAAG;AAQ/G,QAAA,MAAM,aAAa;;;;;;;;;;;sBAjBC,QAAQ;kBACZ,IAAI;gBACN,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;eAC7B,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;cACrB,MAAM,IAAI;wCA+IrB,CAAA;AAGD,QAAA,MAAM,mBAAmB,iGAgBxB,CAAA;AAGD,QAAA,MAAM,oBAAoB,kGAezB,CAAA;AAGD,UAAU,gCAAiC,SAAQ,wBAAwB;IACzE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;CAC5D;AAED,QAAA,MAAM,mBAAmB,yGAyBxB,CAAA;AAGD,QAAA,MAAM,iBAAiB,EAAE,OAAO,aAAa,GAAG;IAC9C,MAAM,EAAE,OAAO,mBAAmB,CAAA;IAClC,OAAO,EAAE,OAAO,oBAAoB,CAAA;IACpC,MAAM,EAAE,OAAO,mBAAmB,CAAA;CAKlC,CAAA;AAEF,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAA;AAC7G,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"FloatingPanel.d.ts","sourceRoot":"","sources":["../../../src/components/floatingPanel/FloatingPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,KAAK,qBAAqB,GAAG,eAAe,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAC1E,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,2BAA2B,CAAC,CAAA;AACtF,KAAK,4BAA4B,GAAG,eAAe,CAAC,OAAO,4BAA4B,CAAC,CAAA;AACxF,KAAK,2BAA2B,GAAG,eAAe,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAEtF,UAAU,QAAQ;IAChB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,GAAG,qBAAqB,GAAG;IAC1G,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IACxC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,UAAU,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,2BAA2B;CAAG;AAC/G,UAAU,yBAA0B,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,4BAA4B;CAAG;AACjH,UAAU,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,2BAA2B;CAAG;AAQ/G,QAAA,MAAM,aAAa;;;;;;;;;;;sBAjBC,QAAQ;kBACZ,IAAI;gBACN,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI;eAC7B,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI;cACrB,MAAM,IAAI;wCAoOrB,CAAA;AAGD,QAAA,MAAM,mBAAmB,iGAoBxB,CAAA;AAGD,QAAA,MAAM,oBAAoB,kGAezB,CAAA;AAGD,UAAU,gCAAiC,SAAQ,wBAAwB;IACzE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;CAC5D;AAED,QAAA,MAAM,mBAAmB,yGAiCxB,CAAA;AAGD,QAAA,MAAM,iBAAiB,EAAE,OAAO,aAAa,GAAG;IAC9C,MAAM,EAAE,OAAO,mBAAmB,CAAA;IAClC,OAAO,EAAE,OAAO,oBAAoB,CAAA;IACpC,MAAM,EAAE,OAAO,mBAAmB,CAAA;CAKlC,CAAA;AAEF,OAAO,EAAE,iBAAiB,IAAI,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAA;AAC7G,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA"}
@@ -3,6 +3,7 @@ import * as React from "react";
3
3
  import classNames from "classnames";
4
4
  import { Slot } from "@radix-ui/react-slot";
5
5
  import { X } from "lucide-react";
6
+ import { Icon } from "../icon/Icon.js";
6
7
  import { extractProps } from "../../_internal/helpers/extractProps.js";
7
8
  import {
8
9
  floatingPanelPropDefs,
@@ -20,86 +21,166 @@ const FloatingPanel = React.forwardRef(
20
21
  ({ children, defaultPosition = { x: 0, y: 0 }, defaultSize, onDragEnd, onResize, onClose, ...props }, forwardedRef) => {
21
22
  const { asChild, className, size: componentSize = "md", ...panelProps } = extractProps(props, floatingPanelPropDefs);
22
23
  const Comp = asChild ? Slot : "div";
24
+ const panelRef = React.useRef(null);
25
+ const composedRef = React.useCallback((node) => {
26
+ panelRef.current = node;
27
+ if (typeof forwardedRef === "function") forwardedRef(node);
28
+ else if (forwardedRef) forwardedRef.current = node;
29
+ }, [forwardedRef]);
23
30
  const [open, setOpen] = React.useState(true);
24
31
  const [position, setPosition] = React.useState(defaultPosition);
25
32
  const [size, setSize] = React.useState(defaultSize ?? FLOATING_PANEL_SIZE_DEFAULTS[componentSize]);
26
- const [isDragging, setIsDragging] = React.useState(false);
27
- const dragOffset = React.useRef({ x: 0, y: 0 });
28
- const handleMouseDown = React.useCallback(
29
- (e) => {
30
- if (e.target.closest("[data-floating-panel-handle]")) return;
31
- setIsDragging(true);
32
- dragOffset.current = {
33
- x: e.clientX - position.x,
34
- y: e.clientY - position.y
35
- };
36
- },
37
- [position]
38
- );
33
+ const positionRef = React.useRef(position);
34
+ const sizeRef = React.useRef(size);
35
+ const [interaction, setInteraction] = React.useState(null);
36
+ const gesture = React.useRef(null);
37
+ const bounds = React.useCallback(() => {
38
+ const panel = panelRef.current;
39
+ const parent = panel && getComputedStyle(panel).position !== "fixed" ? panel.offsetParent : null;
40
+ return {
41
+ width: parent?.clientWidth || Math.min(
42
+ document.documentElement.clientWidth || window.innerWidth,
43
+ document.documentElement.getBoundingClientRect().width || window.innerWidth
44
+ ),
45
+ height: parent?.clientHeight || window.innerHeight
46
+ };
47
+ }, []);
48
+ const applySize = React.useCallback((next) => {
49
+ const available = bounds();
50
+ const style = panelRef.current ? getComputedStyle(panelRef.current) : null;
51
+ const maxWidth = Math.min(available.width, parseFloat(style?.maxWidth ?? "") || available.width);
52
+ const maxHeight = Math.min(available.height, parseFloat(style?.maxHeight ?? "") || available.height);
53
+ const value = {
54
+ width: Math.min(maxWidth, available.width - positionRef.current.x, Math.max(150, next.width)),
55
+ height: Math.min(maxHeight, available.height - positionRef.current.y, Math.max(100, next.height))
56
+ };
57
+ value.width = Math.max(0, value.width);
58
+ value.height = Math.max(0, value.height);
59
+ sizeRef.current = value;
60
+ setSize(value);
61
+ return value;
62
+ }, [bounds]);
63
+ const applyPosition = React.useCallback((next) => {
64
+ const available = bounds();
65
+ const rect = panelRef.current?.getBoundingClientRect();
66
+ const value = {
67
+ x: Math.max(0, Math.min(next.x, available.width - (rect?.width || sizeRef.current.width))),
68
+ y: Math.max(0, Math.min(next.y, available.height - (rect?.height || sizeRef.current.height)))
69
+ };
70
+ positionRef.current = value;
71
+ setPosition(value);
72
+ return value;
73
+ }, [bounds]);
39
74
  const handleClose = React.useCallback(() => {
75
+ gesture.current = null;
76
+ setInteraction(null);
40
77
  setOpen(false);
41
78
  onClose?.();
42
79
  }, [onClose]);
80
+ const startInteraction = React.useCallback((e, family) => {
81
+ if (e.defaultPrevented || e.button !== 0 || gesture.current) return;
82
+ const target = e.target;
83
+ const handle = target.closest(".dsx-floating-panel__handle");
84
+ const header = target.closest("[data-floating-panel-handle]");
85
+ if (!handle && (target.closest('button, a, input, textarea, select, [contenteditable="true"]') || !header && panelRef.current?.querySelector("[data-floating-panel-handle]"))) return;
86
+ e.preventDefault();
87
+ const kind = handle ? "resize" : "drag";
88
+ const direction = handle?.classList.contains("dsx-floating-panel__handle--s") ? "s" : handle?.classList.contains("dsx-floating-panel__handle--e") ? "e" : "se";
89
+ gesture.current = {
90
+ kind,
91
+ family,
92
+ direction,
93
+ pointerId: "pointerId" in e ? e.pointerId : void 0,
94
+ startX: e.clientX,
95
+ startY: e.clientY,
96
+ position: positionRef.current,
97
+ size: sizeRef.current
98
+ };
99
+ const focusTarget = handle ?? header;
100
+ focusTarget?.focus();
101
+ setInteraction(kind);
102
+ }, []);
103
+ React.useEffect(() => {
104
+ if (!open) return;
105
+ const fit = () => {
106
+ applyPosition(positionRef.current);
107
+ applySize(sizeRef.current);
108
+ };
109
+ fit();
110
+ window.addEventListener("resize", fit);
111
+ return () => window.removeEventListener("resize", fit);
112
+ }, [open, applyPosition, applySize]);
43
113
  React.useEffect(() => {
44
114
  if (!open) return;
45
115
  const handleKeyDown = (e) => {
46
- if (e.key === "Escape") handleClose();
116
+ if (e.key !== "Escape" || e.defaultPrevented) return;
117
+ const panels = Array.from(document.querySelectorAll(".dsx-floating-panel"));
118
+ const focused = panels.find((panel) => panel.contains(document.activeElement));
119
+ if ((focused ?? panels[panels.length - 1]) !== panelRef.current) return;
120
+ e.preventDefault();
121
+ handleClose();
47
122
  };
48
123
  document.addEventListener("keydown", handleKeyDown);
49
124
  return () => document.removeEventListener("keydown", handleKeyDown);
50
125
  }, [open, handleClose]);
51
126
  React.useEffect(() => {
52
- if (!isDragging) return;
53
- const handleMouseMove = (e) => {
54
- const newPosition = {
55
- x: e.clientX - dragOffset.current.x,
56
- y: e.clientY - dragOffset.current.y
57
- };
58
- setPosition(newPosition);
127
+ if (!interaction) return;
128
+ const active = gesture.current;
129
+ const move = (e) => {
130
+ if ("pointerId" in e && e.pointerId !== active.pointerId) return;
131
+ const dx = e.clientX - active.startX;
132
+ const dy = e.clientY - active.startY;
133
+ if (active.kind === "drag") applyPosition({ x: active.position.x + dx, y: active.position.y + dy });
134
+ else applySize({
135
+ width: active.size.width + (active.direction.includes("e") ? dx : 0),
136
+ height: active.size.height + (active.direction.includes("s") ? dy : 0)
137
+ });
59
138
  };
60
- const handleMouseUp = () => {
61
- setIsDragging(false);
62
- onDragEnd?.(position);
139
+ const finish = (e) => {
140
+ if ("pointerId" in e && e.pointerId !== active.pointerId) return;
141
+ gesture.current = null;
142
+ setInteraction(null);
143
+ if (e.type === "pointercancel") {
144
+ applyPosition(active.position);
145
+ applySize(active.size);
146
+ } else if (active.kind === "drag") onDragEnd?.(positionRef.current);
147
+ else onResize?.(sizeRef.current);
63
148
  };
64
- document.addEventListener("mousemove", handleMouseMove);
65
- document.addEventListener("mouseup", handleMouseUp);
149
+ const moveEvent = active.family === "pointer" ? "pointermove" : "mousemove";
150
+ const endEvent = active.family === "pointer" ? "pointerup" : "mouseup";
151
+ document.addEventListener(moveEvent, move);
152
+ document.addEventListener(endEvent, finish);
153
+ document.addEventListener("pointercancel", finish);
66
154
  return () => {
67
- document.removeEventListener("mousemove", handleMouseMove);
68
- document.removeEventListener("mouseup", handleMouseUp);
155
+ document.removeEventListener(moveEvent, move);
156
+ document.removeEventListener(endEvent, finish);
157
+ document.removeEventListener("pointercancel", finish);
69
158
  };
70
- }, [isDragging, onDragEnd, position]);
71
- const handleResize = React.useCallback(
72
- (direction, e) => {
73
- e.preventDefault();
74
- e.stopPropagation();
75
- const startX = e.clientX;
76
- const startY = e.clientY;
77
- const startWidth = size.width;
78
- const startHeight = size.height;
79
- const handleMouseMove = (moveEvent) => {
80
- const newWidth = direction.includes("e") ? Math.max(150, startWidth + (moveEvent.clientX - startX)) : startWidth;
81
- const newHeight = direction.includes("s") ? Math.max(100, startHeight + (moveEvent.clientY - startY)) : startHeight;
82
- setSize({ width: newWidth, height: newHeight });
83
- };
84
- const handleMouseUp = () => {
85
- document.removeEventListener("mousemove", handleMouseMove);
86
- document.removeEventListener("mouseup", handleMouseUp);
87
- onResize?.(size);
88
- };
89
- document.addEventListener("mousemove", handleMouseMove);
90
- document.addEventListener("mouseup", handleMouseUp);
91
- },
92
- [size, onResize]
93
- );
159
+ }, [interaction, applyPosition, applySize, onDragEnd, onResize]);
160
+ const handleKeyboard = (e) => {
161
+ panelProps.onKeyDown?.(e);
162
+ if (e.defaultPrevented) return;
163
+ const target = e.target;
164
+ if (target !== target.closest("[data-floating-panel-handle], .dsx-floating-panel__handle")) return;
165
+ const delta = { ArrowLeft: [-1, 0], ArrowRight: [1, 0], ArrowUp: [0, -1], ArrowDown: [0, 1] }[e.key];
166
+ if (!delta) return;
167
+ e.preventDefault();
168
+ const step = e.shiftKey ? 40 : 8;
169
+ if (target.matches(".dsx-floating-panel__handle")) {
170
+ const horizontal = !target.classList.contains("dsx-floating-panel__handle--s");
171
+ const vertical = !target.classList.contains("dsx-floating-panel__handle--e");
172
+ onResize?.(applySize({ width: sizeRef.current.width + (horizontal ? delta[0] * step : 0), height: sizeRef.current.height + (vertical ? delta[1] * step : 0) }));
173
+ } else onDragEnd?.(applyPosition({ x: positionRef.current.x + delta[0] * step, y: positionRef.current.y + delta[1] * step }));
174
+ };
94
175
  if (!open) return null;
95
176
  return /* @__PURE__ */ jsx(
96
177
  Comp,
97
178
  {
98
179
  ...panelProps,
99
- ref: forwardedRef,
180
+ ref: composedRef,
100
181
  className: classNames("dsx-floating-panel", className),
101
182
  "data-size": componentSize,
102
- "data-dragging": isDragging || void 0,
183
+ "data-dragging": interaction === "drag" || void 0,
103
184
  style: {
104
185
  position: "fixed",
105
186
  left: position.x,
@@ -108,7 +189,15 @@ const FloatingPanel = React.forwardRef(
108
189
  height: size.height,
109
190
  ...panelProps.style
110
191
  },
111
- onMouseDown: handleMouseDown,
192
+ onPointerDown: (e) => {
193
+ panelProps.onPointerDown?.(e);
194
+ startInteraction(e, "pointer");
195
+ },
196
+ onMouseDown: (e) => {
197
+ panelProps.onMouseDown?.(e);
198
+ startInteraction(e, "mouse");
199
+ },
200
+ onKeyDown: handleKeyboard,
112
201
  children: asChild ? children : /* @__PURE__ */ jsxs(Fragment, { children: [
113
202
  children,
114
203
  /* @__PURE__ */ jsx(
@@ -122,7 +211,7 @@ const FloatingPanel = React.forwardRef(
122
211
  children: /* @__PURE__ */ jsx(X, { size: 16 })
123
212
  }
124
213
  ),
125
- /* @__PURE__ */ jsx(FloatingPanelHandle, { direction: "se", onResize: handleResize })
214
+ /* @__PURE__ */ jsx(FloatingPanelHandle, { direction: "se" })
126
215
  ] })
127
216
  }
128
217
  );
@@ -140,6 +229,10 @@ const FloatingPanelHeader = React.forwardRef(
140
229
  ref: forwardedRef,
141
230
  className: classNames("dsx-floating-panel__header", className),
142
231
  "data-floating-panel-handle": true,
232
+ tabIndex: headerProps.tabIndex ?? 0,
233
+ role: headerProps.role ?? "group",
234
+ "aria-label": headerProps["aria-label"] ?? "Move panel",
235
+ title: headerProps.title ?? "Move with arrow keys; hold Shift for larger steps",
143
236
  children
144
237
  }
145
238
  );
@@ -163,7 +256,7 @@ const FloatingPanelContent = React.forwardRef(
163
256
  );
164
257
  FloatingPanelContent.displayName = "FloatingPanelContent";
165
258
  const FloatingPanelHandle = React.forwardRef(
166
- ({ direction = "se", onResize, ...props }, forwardedRef) => {
259
+ ({ direction = "se", onResize, children, ...props }, forwardedRef) => {
167
260
  const { asChild, className, ...handleProps } = extractProps(props, floatingPanelHandlePropDefs);
168
261
  const Comp = asChild ? Slot : "div";
169
262
  const handleMouseDown = React.useCallback(
@@ -182,7 +275,12 @@ const FloatingPanelHandle = React.forwardRef(
182
275
  `dsx-floating-panel__handle--${direction}`,
183
276
  className
184
277
  ),
185
- onMouseDown: handleMouseDown
278
+ tabIndex: handleProps.tabIndex ?? 0,
279
+ role: handleProps.role ?? "group",
280
+ "aria-label": handleProps["aria-label"] ?? "Resize panel",
281
+ title: handleProps.title ?? "Resize with arrow keys; hold Shift for larger steps",
282
+ onMouseDown: handleMouseDown,
283
+ children: children ?? (direction === "se" ? /* @__PURE__ */ jsx("span", { className: "dsx-floating-panel__resize-grip", "aria-hidden": "true" }) : /* @__PURE__ */ jsx(Icon, { name: "grip-vertical", size: "sm", "aria-hidden": "true" }))
186
284
  }
187
285
  );
188
286
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/floatingPanel/FloatingPanel.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\nimport { X } from 'lucide-react'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport {\n floatingPanelPropDefs,\n floatingPanelHeaderPropDefs,\n floatingPanelContentPropDefs,\n floatingPanelHandlePropDefs,\n} from './floatingPanel.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype FloatingPanelOwnProps = GetPropDefTypes<typeof floatingPanelPropDefs>\ntype FloatingPanelHeaderOwnProps = GetPropDefTypes<typeof floatingPanelHeaderPropDefs>\ntype FloatingPanelContentOwnProps = GetPropDefTypes<typeof floatingPanelContentPropDefs>\ntype FloatingPanelHandleOwnProps = GetPropDefTypes<typeof floatingPanelHandlePropDefs>\n\ninterface Position {\n x: number\n y: number\n}\n\ninterface Size {\n width: number\n height: number\n}\n\ntype FloatingPanelProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onDragEnd'> & FloatingPanelOwnProps & {\n defaultPosition?: Position\n defaultSize?: Size\n onDragEnd?: (position: Position) => void\n onResize?: (size: Size) => void\n onClose?: () => void\n}\n\ninterface FloatingPanelHeaderProps extends React.HTMLAttributes<HTMLDivElement>, FloatingPanelHeaderOwnProps {}\ninterface FloatingPanelContentProps extends React.HTMLAttributes<HTMLDivElement>, FloatingPanelContentOwnProps {}\ninterface FloatingPanelHandleProps extends React.HTMLAttributes<HTMLDivElement>, FloatingPanelHandleOwnProps {}\n\nconst FLOATING_PANEL_SIZE_DEFAULTS: Record<'sm' | 'md' | 'lg', Size> = {\n sm: { width: 240, height: 180 },\n md: { width: 320, height: 240 },\n lg: { width: 480, height: 360 },\n}\n\nconst FloatingPanel = React.forwardRef<HTMLDivElement, FloatingPanelProps>(\n (\n { children, defaultPosition = { x: 0, y: 0 }, defaultSize, onDragEnd, onResize, onClose, ...props },\n forwardedRef,\n ) => {\n const { asChild, className, size: componentSize = 'md', ...panelProps } = extractProps(props, floatingPanelPropDefs)\n const Comp = asChild ? Slot : 'div'\n\n const [open, setOpen] = React.useState(true)\n const [position, setPosition] = React.useState<Position>(defaultPosition)\n const [size, setSize] = React.useState<Size>(defaultSize ?? FLOATING_PANEL_SIZE_DEFAULTS[componentSize])\n const [isDragging, setIsDragging] = React.useState(false)\n const dragOffset = React.useRef<Position>({ x: 0, y: 0 })\n\n const handleMouseDown = React.useCallback(\n (e: React.MouseEvent) => {\n if ((e.target as HTMLElement).closest('[data-floating-panel-handle]')) return\n setIsDragging(true)\n dragOffset.current = {\n x: e.clientX - position.x,\n y: e.clientY - position.y,\n }\n },\n [position],\n )\n\n const handleClose = React.useCallback(() => {\n setOpen(false)\n onClose?.()\n }, [onClose])\n\n React.useEffect(() => {\n if (!open) return\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') handleClose()\n }\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [open, handleClose])\n\n React.useEffect(() => {\n if (!isDragging) return\n\n const handleMouseMove = (e: MouseEvent) => {\n const newPosition = {\n x: e.clientX - dragOffset.current.x,\n y: e.clientY - dragOffset.current.y,\n }\n setPosition(newPosition)\n }\n\n const handleMouseUp = () => {\n setIsDragging(false)\n onDragEnd?.(position)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n\n return () => {\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n }\n }, [isDragging, onDragEnd, position])\n\n const handleResize = React.useCallback(\n (direction: string, e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n\n const startX = e.clientX\n const startY = e.clientY\n const startWidth = size.width\n const startHeight = size.height\n\n const handleMouseMove = (moveEvent: MouseEvent) => {\n const newWidth = direction.includes('e') ? Math.max(150, startWidth + (moveEvent.clientX - startX)) : startWidth\n const newHeight = direction.includes('s') ? Math.max(100, startHeight + (moveEvent.clientY - startY)) : startHeight\n setSize({ width: newWidth, height: newHeight })\n }\n\n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n onResize?.(size)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n },\n [size, onResize],\n )\n\n if (!open) return null\n\n return (\n <Comp\n {...panelProps}\n ref={forwardedRef}\n className={classNames('dsx-floating-panel', className)}\n data-size={componentSize}\n data-dragging={isDragging || undefined}\n style={{\n position: 'fixed',\n left: position.x,\n top: position.y,\n width: size.width,\n height: size.height,\n ...panelProps.style,\n }}\n onMouseDown={handleMouseDown}\n >\n {asChild ? children : (\n <>\n {children}\n <button\n type=\"button\"\n className=\"dsx-floating-panel__close\"\n onClick={handleClose}\n aria-label=\"Close panel\"\n data-slot=\"floating-panel-close\"\n >\n <X size={16} />\n </button>\n <FloatingPanelHandle direction=\"se\" onResize={handleResize} />\n </>\n )}\n </Comp>\n )\n },\n)\nFloatingPanel.displayName = 'FloatingPanel'\n\nconst FloatingPanelHeader = React.forwardRef<HTMLDivElement, FloatingPanelHeaderProps>(\n ({ children, ...props }, forwardedRef) => {\n const { asChild, className, ...headerProps } = extractProps(props, floatingPanelHeaderPropDefs)\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...headerProps}\n ref={forwardedRef}\n className={classNames('dsx-floating-panel__header', className)}\n data-floating-panel-handle\n >\n {children}\n </Comp>\n )\n },\n)\nFloatingPanelHeader.displayName = 'FloatingPanelHeader'\n\nconst FloatingPanelContent = React.forwardRef<HTMLDivElement, FloatingPanelContentProps>(\n ({ children, ...props }, forwardedRef) => {\n const { asChild, className, ...contentProps } = extractProps(props, floatingPanelContentPropDefs)\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...contentProps}\n ref={forwardedRef}\n className={classNames('dsx-floating-panel__content', className)}\n >\n {children}\n </Comp>\n )\n },\n)\nFloatingPanelContent.displayName = 'FloatingPanelContent'\n\ninterface FloatingPanelHandleInternalProps extends FloatingPanelHandleProps {\n onResize?: (direction: string, e: React.MouseEvent) => void\n}\n\nconst FloatingPanelHandle = React.forwardRef<HTMLDivElement, FloatingPanelHandleInternalProps>(\n ({ direction = 'se', onResize, ...props }, forwardedRef) => {\n const { asChild, className, ...handleProps } = extractProps(props, floatingPanelHandlePropDefs)\n const Comp = asChild ? Slot : 'div'\n\n const handleMouseDown = React.useCallback(\n (e: React.MouseEvent) => {\n onResize?.(direction, e)\n },\n [direction, onResize],\n )\n\n return (\n <Comp\n {...handleProps}\n ref={forwardedRef}\n className={classNames(\n 'dsx-floating-panel__handle',\n `dsx-floating-panel__handle--${direction}`,\n className,\n )}\n onMouseDown={handleMouseDown}\n />\n )\n },\n)\nFloatingPanelHandle.displayName = 'FloatingPanelHandle'\n\nconst FloatingPanelRoot: typeof FloatingPanel & {\n Header: typeof FloatingPanelHeader\n Content: typeof FloatingPanelContent\n Handle: typeof FloatingPanelHandle\n} = Object.assign(FloatingPanel, {\n Header: FloatingPanelHeader,\n Content: FloatingPanelContent,\n Handle: FloatingPanelHandle,\n})\n\nexport { FloatingPanelRoot as FloatingPanel, FloatingPanelHeader, FloatingPanelContent, FloatingPanelHandle }\nexport type { FloatingPanelProps, FloatingPanelHeaderProps, FloatingPanelContentProps, FloatingPanelHandleProps, Position, Size }\n"],
5
- "mappings": ";AAEA,YAAY,WAAW;AACvB,OAAO,gBAAgB;AACvB,SAAS,YAAY;AACrB,SAAS,SAAS;AAElB,SAAS,oBAAoB;AAC7B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAsJG,mBASI,KATJ;AAvHV,MAAM,+BAAiE;AAAA,EACrE,IAAI,EAAE,OAAO,KAAK,QAAQ,IAAI;AAAA,EAC9B,IAAI,EAAE,OAAO,KAAK,QAAQ,IAAI;AAAA,EAC9B,IAAI,EAAE,OAAO,KAAK,QAAQ,IAAI;AAChC;AAEA,MAAM,gBAAgB,MAAM;AAAA,EAC1B,CACE,EAAE,UAAU,kBAAkB,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,aAAa,WAAW,UAAU,SAAS,GAAG,MAAM,GAClG,iBACG;AACH,UAAM,EAAE,SAAS,WAAW,MAAM,gBAAgB,MAAM,GAAG,WAAW,IAAI,aAAa,OAAO,qBAAqB;AACnH,UAAM,OAAO,UAAU,OAAO;AAE9B,UAAM,CAAC,MAAM,OAAO,IAAI,MAAM,SAAS,IAAI;AAC3C,UAAM,CAAC,UAAU,WAAW,IAAI,MAAM,SAAmB,eAAe;AACxE,UAAM,CAAC,MAAM,OAAO,IAAI,MAAM,SAAe,eAAe,6BAA6B,aAAa,CAAC;AACvG,UAAM,CAAC,YAAY,aAAa,IAAI,MAAM,SAAS,KAAK;AACxD,UAAM,aAAa,MAAM,OAAiB,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;AAExD,UAAM,kBAAkB,MAAM;AAAA,MAC5B,CAAC,MAAwB;AACvB,YAAK,EAAE,OAAuB,QAAQ,8BAA8B,EAAG;AACvE,sBAAc,IAAI;AAClB,mBAAW,UAAU;AAAA,UACnB,GAAG,EAAE,UAAU,SAAS;AAAA,UACxB,GAAG,EAAE,UAAU,SAAS;AAAA,QAC1B;AAAA,MACF;AAAA,MACA,CAAC,QAAQ;AAAA,IACX;AAEA,UAAM,cAAc,MAAM,YAAY,MAAM;AAC1C,cAAQ,KAAK;AACb,gBAAU;AAAA,IACZ,GAAG,CAAC,OAAO,CAAC;AAEZ,UAAM,UAAU,MAAM;AACpB,UAAI,CAAC,KAAM;AACX,YAAM,gBAAgB,CAAC,MAAqB;AAC1C,YAAI,EAAE,QAAQ,SAAU,aAAY;AAAA,MACtC;AACA,eAAS,iBAAiB,WAAW,aAAa;AAClD,aAAO,MAAM,SAAS,oBAAoB,WAAW,aAAa;AAAA,IACpE,GAAG,CAAC,MAAM,WAAW,CAAC;AAEtB,UAAM,UAAU,MAAM;AACpB,UAAI,CAAC,WAAY;AAEjB,YAAM,kBAAkB,CAAC,MAAkB;AACzC,cAAM,cAAc;AAAA,UAClB,GAAG,EAAE,UAAU,WAAW,QAAQ;AAAA,UAClC,GAAG,EAAE,UAAU,WAAW,QAAQ;AAAA,QACpC;AACA,oBAAY,WAAW;AAAA,MACzB;AAEA,YAAM,gBAAgB,MAAM;AAC1B,sBAAc,KAAK;AACnB,oBAAY,QAAQ;AAAA,MACtB;AAEA,eAAS,iBAAiB,aAAa,eAAe;AACtD,eAAS,iBAAiB,WAAW,aAAa;AAElD,aAAO,MAAM;AACX,iBAAS,oBAAoB,aAAa,eAAe;AACzD,iBAAS,oBAAoB,WAAW,aAAa;AAAA,MACvD;AAAA,IACF,GAAG,CAAC,YAAY,WAAW,QAAQ,CAAC;AAEpC,UAAM,eAAe,MAAM;AAAA,MACzB,CAAC,WAAmB,MAAwB;AAC1C,UAAE,eAAe;AACjB,UAAE,gBAAgB;AAElB,cAAM,SAAS,EAAE;AACjB,cAAM,SAAS,EAAE;AACjB,cAAM,aAAa,KAAK;AACxB,cAAM,cAAc,KAAK;AAEzB,cAAM,kBAAkB,CAAC,cAA0B;AACjD,gBAAM,WAAW,UAAU,SAAS,GAAG,IAAI,KAAK,IAAI,KAAK,cAAc,UAAU,UAAU,OAAO,IAAI;AACtG,gBAAM,YAAY,UAAU,SAAS,GAAG,IAAI,KAAK,IAAI,KAAK,eAAe,UAAU,UAAU,OAAO,IAAI;AACxG,kBAAQ,EAAE,OAAO,UAAU,QAAQ,UAAU,CAAC;AAAA,QAChD;AAEA,cAAM,gBAAgB,MAAM;AAC1B,mBAAS,oBAAoB,aAAa,eAAe;AACzD,mBAAS,oBAAoB,WAAW,aAAa;AACrD,qBAAW,IAAI;AAAA,QACjB;AAEA,iBAAS,iBAAiB,aAAa,eAAe;AACtD,iBAAS,iBAAiB,WAAW,aAAa;AAAA,MACpD;AAAA,MACA,CAAC,MAAM,QAAQ;AAAA,IACjB;AAEA,QAAI,CAAC,KAAM,QAAO;AAElB,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,WAAW,WAAW,sBAAsB,SAAS;AAAA,QACrD,aAAW;AAAA,QACX,iBAAe,cAAc;AAAA,QAC7B,OAAO;AAAA,UACL,UAAU;AAAA,UACV,MAAM,SAAS;AAAA,UACf,KAAK,SAAS;AAAA,UACd,OAAO,KAAK;AAAA,UACZ,QAAQ,KAAK;AAAA,UACb,GAAG,WAAW;AAAA,QAChB;AAAA,QACA,aAAa;AAAA,QAEZ,oBAAU,WACT,iCACG;AAAA;AAAA,UACD;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,WAAU;AAAA,cACV,SAAS;AAAA,cACT,cAAW;AAAA,cACX,aAAU;AAAA,cAEV,8BAAC,KAAE,MAAM,IAAI;AAAA;AAAA,UACf;AAAA,UACA,oBAAC,uBAAoB,WAAU,MAAK,UAAU,cAAc;AAAA,WAC9D;AAAA;AAAA,IAEJ;AAAA,EAEJ;AACF;AACA,cAAc,cAAc;AAE5B,MAAM,sBAAsB,MAAM;AAAA,EAChC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACxC,UAAM,EAAE,SAAS,WAAW,GAAG,YAAY,IAAI,aAAa,OAAO,2BAA2B;AAC9F,UAAM,OAAO,UAAU,OAAO;AAE9B,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,WAAW,WAAW,8BAA8B,SAAS;AAAA,QAC7D,8BAA0B;AAAA,QAEzB;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,oBAAoB,cAAc;AAElC,MAAM,uBAAuB,MAAM;AAAA,EACjC,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACxC,UAAM,EAAE,SAAS,WAAW,GAAG,aAAa,IAAI,aAAa,OAAO,4BAA4B;AAChG,UAAM,OAAO,UAAU,OAAO;AAE9B,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,WAAW,WAAW,+BAA+B,SAAS;AAAA,QAE7D;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,qBAAqB,cAAc;AAMnC,MAAM,sBAAsB,MAAM;AAAA,EAChC,CAAC,EAAE,YAAY,MAAM,UAAU,GAAG,MAAM,GAAG,iBAAiB;AAC1D,UAAM,EAAE,SAAS,WAAW,GAAG,YAAY,IAAI,aAAa,OAAO,2BAA2B;AAC9F,UAAM,OAAO,UAAU,OAAO;AAE9B,UAAM,kBAAkB,MAAM;AAAA,MAC5B,CAAC,MAAwB;AACvB,mBAAW,WAAW,CAAC;AAAA,MACzB;AAAA,MACA,CAAC,WAAW,QAAQ;AAAA,IACtB;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,WAAW;AAAA,UACT;AAAA,UACA,+BAA+B,SAAS;AAAA,UACxC;AAAA,QACF;AAAA,QACA,aAAa;AAAA;AAAA,IACf;AAAA,EAEJ;AACF;AACA,oBAAoB,cAAc;AAElC,MAAM,oBAIF,OAAO,OAAO,eAAe;AAAA,EAC/B,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AACV,CAAC;",
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\nimport { X } from 'lucide-react'\nimport { Icon } from '../icon/Icon'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport {\n floatingPanelPropDefs,\n floatingPanelHeaderPropDefs,\n floatingPanelContentPropDefs,\n floatingPanelHandlePropDefs,\n} from './floatingPanel.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype FloatingPanelOwnProps = GetPropDefTypes<typeof floatingPanelPropDefs>\ntype FloatingPanelHeaderOwnProps = GetPropDefTypes<typeof floatingPanelHeaderPropDefs>\ntype FloatingPanelContentOwnProps = GetPropDefTypes<typeof floatingPanelContentPropDefs>\ntype FloatingPanelHandleOwnProps = GetPropDefTypes<typeof floatingPanelHandlePropDefs>\n\ninterface Position {\n x: number\n y: number\n}\n\ninterface Size {\n width: number\n height: number\n}\n\ntype FloatingPanelProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'onDragEnd'> & FloatingPanelOwnProps & {\n defaultPosition?: Position\n defaultSize?: Size\n onDragEnd?: (position: Position) => void\n onResize?: (size: Size) => void\n onClose?: () => void\n}\n\ninterface FloatingPanelHeaderProps extends React.HTMLAttributes<HTMLDivElement>, FloatingPanelHeaderOwnProps {}\ninterface FloatingPanelContentProps extends React.HTMLAttributes<HTMLDivElement>, FloatingPanelContentOwnProps {}\ninterface FloatingPanelHandleProps extends React.HTMLAttributes<HTMLDivElement>, FloatingPanelHandleOwnProps {}\n\nconst FLOATING_PANEL_SIZE_DEFAULTS: Record<'sm' | 'md' | 'lg', Size> = {\n sm: { width: 240, height: 180 },\n md: { width: 320, height: 240 },\n lg: { width: 480, height: 360 },\n}\n\nconst FloatingPanel = React.forwardRef<HTMLDivElement, FloatingPanelProps>(\n (\n { children, defaultPosition = { x: 0, y: 0 }, defaultSize, onDragEnd, onResize, onClose, ...props },\n forwardedRef,\n ) => {\n const { asChild, className, size: componentSize = 'md', ...panelProps } = extractProps(props, floatingPanelPropDefs)\n const Comp = asChild ? Slot : 'div'\n\n const panelRef = React.useRef<HTMLDivElement>(null)\n const composedRef = React.useCallback((node: HTMLDivElement | null) => {\n panelRef.current = node\n if (typeof forwardedRef === 'function') forwardedRef(node)\n else if (forwardedRef) forwardedRef.current = node\n }, [forwardedRef])\n const [open, setOpen] = React.useState(true)\n const [position, setPosition] = React.useState<Position>(defaultPosition)\n const [size, setSize] = React.useState<Size>(defaultSize ?? FLOATING_PANEL_SIZE_DEFAULTS[componentSize])\n const positionRef = React.useRef(position)\n const sizeRef = React.useRef(size)\n const [interaction, setInteraction] = React.useState<'drag' | 'resize' | null>(null)\n const gesture = React.useRef<{\n kind: 'drag' | 'resize'\n family: 'pointer' | 'mouse'\n pointerId?: number\n direction: string\n startX: number\n startY: number\n position: Position\n size: Size\n } | null>(null)\n\n const bounds = React.useCallback(() => {\n const panel = panelRef.current\n const parent = panel && getComputedStyle(panel).position !== 'fixed' ? panel.offsetParent : null\n return {\n width: parent?.clientWidth || Math.min(\n document.documentElement.clientWidth || window.innerWidth,\n document.documentElement.getBoundingClientRect().width || window.innerWidth,\n ),\n height: parent?.clientHeight || window.innerHeight,\n }\n }, [])\n\n const applySize = React.useCallback((next: Size) => {\n const available = bounds()\n const style = panelRef.current ? getComputedStyle(panelRef.current) : null\n const maxWidth = Math.min(available.width, parseFloat(style?.maxWidth ?? '') || available.width)\n const maxHeight = Math.min(available.height, parseFloat(style?.maxHeight ?? '') || available.height)\n const value = {\n width: Math.min(maxWidth, available.width - positionRef.current.x, Math.max(150, next.width)),\n height: Math.min(maxHeight, available.height - positionRef.current.y, Math.max(100, next.height)),\n }\n value.width = Math.max(0, value.width)\n value.height = Math.max(0, value.height)\n sizeRef.current = value\n setSize(value)\n return value\n }, [bounds])\n\n const applyPosition = React.useCallback((next: Position) => {\n const available = bounds()\n const rect = panelRef.current?.getBoundingClientRect()\n const value = {\n x: Math.max(0, Math.min(next.x, available.width - (rect?.width || sizeRef.current.width))),\n y: Math.max(0, Math.min(next.y, available.height - (rect?.height || sizeRef.current.height))),\n }\n positionRef.current = value\n setPosition(value)\n return value\n }, [bounds])\n\n const handleClose = React.useCallback(() => {\n gesture.current = null\n setInteraction(null)\n setOpen(false)\n onClose?.()\n }, [onClose])\n\n const startInteraction = React.useCallback((e: React.MouseEvent | React.PointerEvent, family: 'mouse' | 'pointer') => {\n if (e.defaultPrevented || e.button !== 0 || gesture.current) return\n const target = e.target as HTMLElement\n const handle = target.closest('.dsx-floating-panel__handle')\n const header = target.closest('[data-floating-panel-handle]')\n if (!handle && (target.closest('button, a, input, textarea, select, [contenteditable=\"true\"]')\n || (!header && panelRef.current?.querySelector('[data-floating-panel-handle]')))) return\n e.preventDefault()\n const kind = handle ? 'resize' : 'drag'\n const direction = handle?.classList.contains('dsx-floating-panel__handle--s') ? 's'\n : handle?.classList.contains('dsx-floating-panel__handle--e') ? 'e' : 'se'\n gesture.current = {\n kind, family, direction,\n pointerId: 'pointerId' in e ? e.pointerId : undefined,\n startX: e.clientX, startY: e.clientY,\n position: positionRef.current, size: sizeRef.current,\n }\n const focusTarget = (handle ?? header) as HTMLElement | null\n focusTarget?.focus()\n setInteraction(kind)\n }, [])\n\n React.useEffect(() => {\n if (!open) return\n const fit = () => {\n applyPosition(positionRef.current)\n applySize(sizeRef.current)\n }\n fit()\n window.addEventListener('resize', fit)\n return () => window.removeEventListener('resize', fit)\n }, [open, applyPosition, applySize])\n\n React.useEffect(() => {\n if (!open) return\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key !== 'Escape' || e.defaultPrevented) return\n const panels = Array.from(document.querySelectorAll('.dsx-floating-panel'))\n const focused = panels.find(panel => panel.contains(document.activeElement))\n if ((focused ?? panels[panels.length - 1]) !== panelRef.current) return\n e.preventDefault()\n handleClose()\n }\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [open, handleClose])\n\n React.useEffect(() => {\n if (!interaction) return\n const active = gesture.current!\n const move = (e: MouseEvent | PointerEvent) => {\n if ('pointerId' in e && e.pointerId !== active.pointerId) return\n const dx = e.clientX - active.startX\n const dy = e.clientY - active.startY\n if (active.kind === 'drag') applyPosition({ x: active.position.x + dx, y: active.position.y + dy })\n else applySize({\n width: active.size.width + (active.direction.includes('e') ? dx : 0),\n height: active.size.height + (active.direction.includes('s') ? dy : 0),\n })\n }\n const finish = (e: Event) => {\n if ('pointerId' in e && (e as PointerEvent).pointerId !== active.pointerId) return\n gesture.current = null\n setInteraction(null)\n if (e.type === 'pointercancel') {\n applyPosition(active.position)\n applySize(active.size)\n } else if (active.kind === 'drag') onDragEnd?.(positionRef.current)\n else onResize?.(sizeRef.current)\n }\n const moveEvent = active.family === 'pointer' ? 'pointermove' : 'mousemove'\n const endEvent = active.family === 'pointer' ? 'pointerup' : 'mouseup'\n document.addEventListener(moveEvent, move)\n document.addEventListener(endEvent, finish)\n document.addEventListener('pointercancel', finish)\n return () => {\n document.removeEventListener(moveEvent, move)\n document.removeEventListener(endEvent, finish)\n document.removeEventListener('pointercancel', finish)\n }\n }, [interaction, applyPosition, applySize, onDragEnd, onResize])\n\n const handleKeyboard = (e: React.KeyboardEvent<HTMLDivElement>) => {\n panelProps.onKeyDown?.(e)\n if (e.defaultPrevented) return\n const target = e.target as HTMLElement\n if (target !== target.closest('[data-floating-panel-handle], .dsx-floating-panel__handle')) return\n const delta = { ArrowLeft: [-1, 0], ArrowRight: [1, 0], ArrowUp: [0, -1], ArrowDown: [0, 1] }[e.key]\n if (!delta) return\n e.preventDefault()\n const step = e.shiftKey ? 40 : 8\n if (target.matches('.dsx-floating-panel__handle')) {\n const horizontal = !target.classList.contains('dsx-floating-panel__handle--s')\n const vertical = !target.classList.contains('dsx-floating-panel__handle--e')\n onResize?.(applySize({ width: sizeRef.current.width + (horizontal ? delta[0] * step : 0), height: sizeRef.current.height + (vertical ? delta[1] * step : 0) }))\n } else onDragEnd?.(applyPosition({ x: positionRef.current.x + delta[0] * step, y: positionRef.current.y + delta[1] * step }))\n }\n\n if (!open) return null\n\n return (\n <Comp\n {...panelProps}\n ref={composedRef}\n className={classNames('dsx-floating-panel', className)}\n data-size={componentSize}\n data-dragging={interaction === 'drag' || undefined}\n style={{\n position: 'fixed',\n left: position.x,\n top: position.y,\n width: size.width,\n height: size.height,\n ...panelProps.style,\n }}\n onPointerDown={(e: React.PointerEvent<HTMLDivElement>) => { panelProps.onPointerDown?.(e); startInteraction(e, 'pointer') }}\n onMouseDown={(e: React.MouseEvent<HTMLDivElement>) => { panelProps.onMouseDown?.(e); startInteraction(e, 'mouse') }}\n onKeyDown={handleKeyboard}\n >\n {asChild ? children : (\n <>\n {children}\n <button\n type=\"button\"\n className=\"dsx-floating-panel__close\"\n onClick={handleClose}\n aria-label=\"Close panel\"\n data-slot=\"floating-panel-close\"\n >\n <X size={16} />\n </button>\n <FloatingPanelHandle direction=\"se\" />\n </>\n )}\n </Comp>\n )\n },\n)\nFloatingPanel.displayName = 'FloatingPanel'\n\nconst FloatingPanelHeader = React.forwardRef<HTMLDivElement, FloatingPanelHeaderProps>(\n ({ children, ...props }, forwardedRef) => {\n const { asChild, className, ...headerProps } = extractProps(props, floatingPanelHeaderPropDefs)\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...headerProps}\n ref={forwardedRef}\n className={classNames('dsx-floating-panel__header', className)}\n data-floating-panel-handle\n tabIndex={headerProps.tabIndex ?? 0}\n role={headerProps.role ?? 'group'}\n aria-label={headerProps['aria-label'] ?? 'Move panel'}\n title={headerProps.title ?? 'Move with arrow keys; hold Shift for larger steps'}\n >\n {children}\n </Comp>\n )\n },\n)\nFloatingPanelHeader.displayName = 'FloatingPanelHeader'\n\nconst FloatingPanelContent = React.forwardRef<HTMLDivElement, FloatingPanelContentProps>(\n ({ children, ...props }, forwardedRef) => {\n const { asChild, className, ...contentProps } = extractProps(props, floatingPanelContentPropDefs)\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...contentProps}\n ref={forwardedRef}\n className={classNames('dsx-floating-panel__content', className)}\n >\n {children}\n </Comp>\n )\n },\n)\nFloatingPanelContent.displayName = 'FloatingPanelContent'\n\ninterface FloatingPanelHandleInternalProps extends FloatingPanelHandleProps {\n onResize?: (direction: string, e: React.MouseEvent) => void\n}\n\nconst FloatingPanelHandle = React.forwardRef<HTMLDivElement, FloatingPanelHandleInternalProps>(\n ({ direction = 'se', onResize, children, ...props }, forwardedRef) => {\n const { asChild, className, ...handleProps } = extractProps(props, floatingPanelHandlePropDefs)\n const Comp = asChild ? Slot : 'div'\n\n const handleMouseDown = React.useCallback(\n (e: React.MouseEvent) => {\n onResize?.(direction, e)\n },\n [direction, onResize],\n )\n\n return (\n <Comp\n {...handleProps}\n ref={forwardedRef}\n className={classNames(\n 'dsx-floating-panel__handle',\n `dsx-floating-panel__handle--${direction}`,\n className,\n )}\n tabIndex={handleProps.tabIndex ?? 0}\n role={handleProps.role ?? 'group'}\n aria-label={handleProps['aria-label'] ?? 'Resize panel'}\n title={handleProps.title ?? 'Resize with arrow keys; hold Shift for larger steps'}\n onMouseDown={handleMouseDown}\n >\n {children ?? (direction === 'se'\n ? <span className=\"dsx-floating-panel__resize-grip\" aria-hidden=\"true\" />\n : <Icon name=\"grip-vertical\" size=\"sm\" aria-hidden=\"true\" />)}\n </Comp>\n )\n },\n)\nFloatingPanelHandle.displayName = 'FloatingPanelHandle'\n\nconst FloatingPanelRoot: typeof FloatingPanel & {\n Header: typeof FloatingPanelHeader\n Content: typeof FloatingPanelContent\n Handle: typeof FloatingPanelHandle\n} = Object.assign(FloatingPanel, {\n Header: FloatingPanelHeader,\n Content: FloatingPanelContent,\n Handle: FloatingPanelHandle,\n})\n\nexport { FloatingPanelRoot as FloatingPanel, FloatingPanelHeader, FloatingPanelContent, FloatingPanelHandle }\nexport type { FloatingPanelProps, FloatingPanelHeaderProps, FloatingPanelContentProps, FloatingPanelHandleProps, Position, Size }\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -37,7 +37,7 @@ var React = __toESM(require("react"), 1);
37
37
  var import_fontProvider = require("./fontProvider.props");
38
38
  var import_jsx_runtime = require("react/jsx-runtime");
39
39
  const FontContext = React.createContext(null);
40
- const DEFAULT_GOOGLE_FONTS_URL = "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@100..800&family=Science+Gothic:CTRS,slnt,wdth,wght@0..75,-10..0,50..200,100..900&display=swap&subset=cyrillic,latin";
40
+ const DEFAULT_GOOGLE_FONTS_URL = "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@100..800&family=Science+Gothic:CTRS,wdth,wght@0..75,50..200,100..900&display=swap&subset=cyrillic,latin";
41
41
  const DISPLAY_FONT_VARS = [
42
42
  "--dsx-typography-display-large-font-family",
43
43
  "--dsx-typography-display-medium-font-family",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/fontProvider/FontProvider.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\n\nimport { type FontProviderProps } from './fontProvider.props'\n\ntype FontContextValue = {\n fontFamily: string\n}\n\nconst FontContext = React.createContext<FontContextValue | null>(null)\n\nconst DEFAULT_GOOGLE_FONTS_URL =\n 'https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@100..800&family=Science+Gothic:CTRS,slnt,wdth,wght@0..75,-10..0,50..200,100..900&display=swap&subset=cyrillic,latin'\n\n// The real typography CSS (heading.css, text.css) never reads a single global\n// `--dsx-font-family` / `--dsx-display-font-family` \u2014 each type-scale variant\n// reads its own token (`--dsx-typography-display-large-font-family`,\n// `--dsx-typography-body-medium-font-family`, etc.), defined once in\n// generated/tokens.css. Overriding only the two vars this component used to\n// write was a no-op: nothing in the package ever consumed them. `caption` is\n// intentionally left alone \u2014 its token is `inherit` by design.\nconst DISPLAY_FONT_VARS = [\n '--dsx-typography-display-large-font-family',\n '--dsx-typography-display-medium-font-family',\n '--dsx-typography-headline-large-font-family',\n '--dsx-typography-headline-medium-font-family',\n]\nconst BODY_FONT_VARS = [\n '--dsx-typography-body-large-font-family',\n '--dsx-typography-body-medium-font-family',\n '--dsx-typography-body-small-font-family',\n '--dsx-typography-label-large-font-family',\n '--dsx-typography-label-medium-font-family',\n '--dsx-typography-label-small-font-family',\n]\n\nfunction FontProvider({\n children,\n fontFamily = 'Science Gothic, ui-sans-serif, system-ui, sans-serif',\n displayFontFamily = 'Science Gothic, Arial Narrow, ui-sans-serif, system-ui, sans-serif',\n loadGoogleFonts = false,\n}: FontProviderProps) {\n const contextValue = React.useMemo<FontContextValue>(\n () => ({ fontFamily }),\n [fontFamily],\n )\n\n // useLayoutEffect, not useEffect (2026-08-26, real bug found live): with useEffect, React\n // defers this DOM mutation until after the browser has already painted the just-hydrated\n // frame \u2014 so on every reload the DS's default typography tokens\n // paint first, then visibly swap to the override font a beat later. Measured live: default\n // tokens still showing 100ms after commit, override not applied until ~300ms. useLayoutEffect\n // runs synchronously in the same commit as hydration, before that frame paints, so the\n // override is already applied by the first frame the browser shows post-hydration \u2014 it\n // cannot remove the one truly unavoidable flash (the server-rendered HTML painting before any\n // JS runs at all, inherent to Next.js's single root layout owning <html>/<body>), only the\n // second, avoidable one stacked on top of it.\n React.useLayoutEffect(() => {\n const html = document.documentElement\n const body = document.body\n // foundations/Theme.tsx's applyThemeToDocument sets every theme data-attribute\n // on BOTH html and body \u2014 deliberately, so Radix portals (Select/Dialog/\n // DropdownMenu content, rendered into document.body, not under the app's\n // themed root) still pick up theme-scoped tokens. Overriding only html left\n // body \u2014 a same-attribute match for `[data-dsx-theme=\"dark\"]` in\n // generated/tokens.css \u2014 still asserting the default package families\n // stack, which then wins for anything under body (i.e. everything), since\n // custom-property resolution takes the nearest ancestor's value. That's why\n // The custom display family only rendered correctly in light mode: that block\n // doesn't define font-family tokens at all, so body had nothing to\n // re-assert there. Writing to both elements matches the real architecture.\n const elements = body ? [html, body] : [html]\n const previousValues = new Map<Element, Map<string, string>>()\n\n for (const el of elements) {\n const previous = new Map<string, string>()\n for (const name of DISPLAY_FONT_VARS) {\n previous.set(name, (el as HTMLElement).style.getPropertyValue(name))\n ;(el as HTMLElement).style.setProperty(name, displayFontFamily)\n }\n for (const name of BODY_FONT_VARS) {\n previous.set(name, (el as HTMLElement).style.getPropertyValue(name))\n ;(el as HTMLElement).style.setProperty(name, fontFamily)\n }\n previousValues.set(el, previous)\n }\n\n return () => {\n for (const [el, previous] of previousValues) {\n for (const [name, value] of previous) {\n if (value) {\n (el as HTMLElement).style.setProperty(name, value)\n } else {\n (el as HTMLElement).style.removeProperty(name)\n }\n }\n }\n }\n }, [fontFamily, displayFontFamily])\n\n // Optional hosted compatibility path for the canonical bilingual and mono families.\n React.useEffect(() => {\n if (!loadGoogleFonts) return\n if (typeof document === 'undefined') return\n\n const linkId = 'dsx-font-provider-default-fonts'\n if (document.getElementById(linkId)) return\n\n const link = document.createElement('link')\n link.id = linkId\n link.rel = 'stylesheet'\n link.href = DEFAULT_GOOGLE_FONTS_URL\n document.head.appendChild(link)\n\n return () => {\n const existing = document.getElementById(linkId)\n if (existing) {\n document.head.removeChild(existing)\n }\n }\n }, [loadGoogleFonts])\n\n return (\n <FontContext.Provider value={contextValue}>\n {children}\n </FontContext.Provider>\n )\n}\n\nfunction useFont(): FontContextValue {\n const context = React.useContext(FontContext)\n\n if (!context) {\n return { fontFamily: 'Science Gothic, ui-sans-serif, system-ui, sans-serif' }\n }\n\n return context\n}\n\nexport { FontProvider, useFont }\n"],
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\n\nimport { type FontProviderProps } from './fontProvider.props'\n\ntype FontContextValue = {\n fontFamily: string\n}\n\nconst FontContext = React.createContext<FontContextValue | null>(null)\n\nconst DEFAULT_GOOGLE_FONTS_URL =\n 'https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@100..800&family=Science+Gothic:CTRS,wdth,wght@0..75,50..200,100..900&display=swap&subset=cyrillic,latin'\n\n// The real typography CSS (heading.css, text.css) never reads a single global\n// `--dsx-font-family` / `--dsx-display-font-family` \u2014 each type-scale variant\n// reads its own token (`--dsx-typography-display-large-font-family`,\n// `--dsx-typography-body-medium-font-family`, etc.), defined once in\n// generated/tokens.css. Overriding only the two vars this component used to\n// write was a no-op: nothing in the package ever consumed them. `caption` is\n// intentionally left alone \u2014 its token is `inherit` by design.\nconst DISPLAY_FONT_VARS = [\n '--dsx-typography-display-large-font-family',\n '--dsx-typography-display-medium-font-family',\n '--dsx-typography-headline-large-font-family',\n '--dsx-typography-headline-medium-font-family',\n]\nconst BODY_FONT_VARS = [\n '--dsx-typography-body-large-font-family',\n '--dsx-typography-body-medium-font-family',\n '--dsx-typography-body-small-font-family',\n '--dsx-typography-label-large-font-family',\n '--dsx-typography-label-medium-font-family',\n '--dsx-typography-label-small-font-family',\n]\n\nfunction FontProvider({\n children,\n fontFamily = 'Science Gothic, ui-sans-serif, system-ui, sans-serif',\n displayFontFamily = 'Science Gothic, Arial Narrow, ui-sans-serif, system-ui, sans-serif',\n loadGoogleFonts = false,\n}: FontProviderProps) {\n const contextValue = React.useMemo<FontContextValue>(\n () => ({ fontFamily }),\n [fontFamily],\n )\n\n // useLayoutEffect, not useEffect (2026-08-26, real bug found live): with useEffect, React\n // defers this DOM mutation until after the browser has already painted the just-hydrated\n // frame \u2014 so on every reload the DS's default typography tokens\n // paint first, then visibly swap to the override font a beat later. Measured live: default\n // tokens still showing 100ms after commit, override not applied until ~300ms. useLayoutEffect\n // runs synchronously in the same commit as hydration, before that frame paints, so the\n // override is already applied by the first frame the browser shows post-hydration \u2014 it\n // cannot remove the one truly unavoidable flash (the server-rendered HTML painting before any\n // JS runs at all, inherent to Next.js's single root layout owning <html>/<body>), only the\n // second, avoidable one stacked on top of it.\n React.useLayoutEffect(() => {\n const html = document.documentElement\n const body = document.body\n // foundations/Theme.tsx's applyThemeToDocument sets every theme data-attribute\n // on BOTH html and body \u2014 deliberately, so Radix portals (Select/Dialog/\n // DropdownMenu content, rendered into document.body, not under the app's\n // themed root) still pick up theme-scoped tokens. Overriding only html left\n // body \u2014 a same-attribute match for `[data-dsx-theme=\"dark\"]` in\n // generated/tokens.css \u2014 still asserting the default package families\n // stack, which then wins for anything under body (i.e. everything), since\n // custom-property resolution takes the nearest ancestor's value. That's why\n // The custom display family only rendered correctly in light mode: that block\n // doesn't define font-family tokens at all, so body had nothing to\n // re-assert there. Writing to both elements matches the real architecture.\n const elements = body ? [html, body] : [html]\n const previousValues = new Map<Element, Map<string, string>>()\n\n for (const el of elements) {\n const previous = new Map<string, string>()\n for (const name of DISPLAY_FONT_VARS) {\n previous.set(name, (el as HTMLElement).style.getPropertyValue(name))\n ;(el as HTMLElement).style.setProperty(name, displayFontFamily)\n }\n for (const name of BODY_FONT_VARS) {\n previous.set(name, (el as HTMLElement).style.getPropertyValue(name))\n ;(el as HTMLElement).style.setProperty(name, fontFamily)\n }\n previousValues.set(el, previous)\n }\n\n return () => {\n for (const [el, previous] of previousValues) {\n for (const [name, value] of previous) {\n if (value) {\n (el as HTMLElement).style.setProperty(name, value)\n } else {\n (el as HTMLElement).style.removeProperty(name)\n }\n }\n }\n }\n }, [fontFamily, displayFontFamily])\n\n // Optional hosted compatibility path for the canonical bilingual and mono families.\n React.useEffect(() => {\n if (!loadGoogleFonts) return\n if (typeof document === 'undefined') return\n\n const linkId = 'dsx-font-provider-default-fonts'\n if (document.getElementById(linkId)) return\n\n const link = document.createElement('link')\n link.id = linkId\n link.rel = 'stylesheet'\n link.href = DEFAULT_GOOGLE_FONTS_URL\n document.head.appendChild(link)\n\n return () => {\n const existing = document.getElementById(linkId)\n if (existing) {\n document.head.removeChild(existing)\n }\n }\n }, [loadGoogleFonts])\n\n return (\n <FontContext.Provider value={contextValue}>\n {children}\n </FontContext.Provider>\n )\n}\n\nfunction useFont(): FontContextValue {\n const context = React.useContext(FontContext)\n\n if (!context) {\n return { fontFamily: 'Science Gothic, ui-sans-serif, system-ui, sans-serif' }\n }\n\n return context\n}\n\nexport { FontProvider, useFont }\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,YAAuB;AAEvB,0BAAuC;AAwHnC;AAlHJ,MAAM,cAAc,MAAM,cAAuC,IAAI;AAErE,MAAM,2BACJ;AASF,MAAM,oBAAoB;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,iBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,SAAS,aAAa;AAAA,EACpB;AAAA,EACA,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,kBAAkB;AACpB,GAAsB;AACpB,QAAM,eAAe,MAAM;AAAA,IACzB,OAAO,EAAE,WAAW;AAAA,IACpB,CAAC,UAAU;AAAA,EACb;AAYA,QAAM,gBAAgB,MAAM;AAC1B,UAAM,OAAO,SAAS;AACtB,UAAM,OAAO,SAAS;AAYtB,UAAM,WAAW,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI;AAC5C,UAAM,iBAAiB,oBAAI,IAAkC;AAE7D,eAAW,MAAM,UAAU;AACzB,YAAM,WAAW,oBAAI,IAAoB;AACzC,iBAAW,QAAQ,mBAAmB;AACpC,iBAAS,IAAI,MAAO,GAAmB,MAAM,iBAAiB,IAAI,CAAC;AAClE,QAAC,GAAmB,MAAM,YAAY,MAAM,iBAAiB;AAAA,MAChE;AACA,iBAAW,QAAQ,gBAAgB;AACjC,iBAAS,IAAI,MAAO,GAAmB,MAAM,iBAAiB,IAAI,CAAC;AAClE,QAAC,GAAmB,MAAM,YAAY,MAAM,UAAU;AAAA,MACzD;AACA,qBAAe,IAAI,IAAI,QAAQ;AAAA,IACjC;AAEA,WAAO,MAAM;AACX,iBAAW,CAAC,IAAI,QAAQ,KAAK,gBAAgB;AAC3C,mBAAW,CAAC,MAAM,KAAK,KAAK,UAAU;AACpC,cAAI,OAAO;AACT,YAAC,GAAmB,MAAM,YAAY,MAAM,KAAK;AAAA,UACnD,OAAO;AACL,YAAC,GAAmB,MAAM,eAAe,IAAI;AAAA,UAC/C;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,YAAY,iBAAiB,CAAC;AAGlC,QAAM,UAAU,MAAM;AACpB,QAAI,CAAC,gBAAiB;AACtB,QAAI,OAAO,aAAa,YAAa;AAErC,UAAM,SAAS;AACf,QAAI,SAAS,eAAe,MAAM,EAAG;AAErC,UAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,SAAK,KAAK;AACV,SAAK,MAAM;AACX,SAAK,OAAO;AACZ,aAAS,KAAK,YAAY,IAAI;AAE9B,WAAO,MAAM;AACX,YAAM,WAAW,SAAS,eAAe,MAAM;AAC/C,UAAI,UAAU;AACZ,iBAAS,KAAK,YAAY,QAAQ;AAAA,MACpC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,eAAe,CAAC;AAEpB,SACE,4CAAC,YAAY,UAAZ,EAAqB,OAAO,cAC1B,UACH;AAEJ;AAEA,SAAS,UAA4B;AACnC,QAAM,UAAU,MAAM,WAAW,WAAW;AAE5C,MAAI,CAAC,SAAS;AACZ,WAAO,EAAE,YAAY,uDAAuD;AAAA,EAC9E;AAEA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -3,7 +3,7 @@ import * as React from "react";
3
3
  import {} from "./fontProvider.props.js";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  const FontContext = React.createContext(null);
6
- const DEFAULT_GOOGLE_FONTS_URL = "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@100..800&family=Science+Gothic:CTRS,slnt,wdth,wght@0..75,-10..0,50..200,100..900&display=swap&subset=cyrillic,latin";
6
+ const DEFAULT_GOOGLE_FONTS_URL = "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@100..800&family=Science+Gothic:CTRS,wdth,wght@0..75,50..200,100..900&display=swap&subset=cyrillic,latin";
7
7
  const DISPLAY_FONT_VARS = [
8
8
  "--dsx-typography-display-large-font-family",
9
9
  "--dsx-typography-display-medium-font-family",