@d4gger/design-system 3.0.1 → 4.0.1

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 (502) hide show
  1. package/README.md +19 -0
  2. package/dist/brand-effects.css +5 -3
  3. package/dist/components/accordion.css +9 -2
  4. package/dist/components/alert/Alert.cjs +27 -9
  5. package/dist/components/alert/Alert.cjs.map +2 -2
  6. package/dist/components/alert/Alert.d.cts +6 -0
  7. package/dist/components/alert/Alert.d.cts.map +1 -1
  8. package/dist/components/alert/Alert.d.mts +6 -0
  9. package/dist/components/alert/Alert.d.mts.map +1 -1
  10. package/dist/components/alert/Alert.d.ts +6 -0
  11. package/dist/components/alert/Alert.d.ts.map +1 -1
  12. package/dist/components/alert/Alert.js +28 -10
  13. package/dist/components/alert/Alert.js.map +2 -2
  14. package/dist/components/alert.css +73 -3
  15. package/dist/components/article-nodes.css +16 -1
  16. package/dist/components/articleNodes/ArticleNodes.cjs +46 -5
  17. package/dist/components/articleNodes/ArticleNodes.cjs.map +2 -2
  18. package/dist/components/articleNodes/ArticleNodes.d.cts +7 -3
  19. package/dist/components/articleNodes/ArticleNodes.d.cts.map +1 -1
  20. package/dist/components/articleNodes/ArticleNodes.d.mts +7 -3
  21. package/dist/components/articleNodes/ArticleNodes.d.mts.map +1 -1
  22. package/dist/components/articleNodes/ArticleNodes.d.ts +7 -3
  23. package/dist/components/articleNodes/ArticleNodes.d.ts.map +1 -1
  24. package/dist/components/articleNodes/ArticleNodes.js +46 -5
  25. package/dist/components/articleNodes/ArticleNodes.js.map +2 -2
  26. package/dist/components/articleNodes/articleExtensions.cjs +21 -4
  27. package/dist/components/articleNodes/articleExtensions.cjs.map +2 -2
  28. package/dist/components/articleNodes/articleExtensions.d.cts +8 -2
  29. package/dist/components/articleNodes/articleExtensions.d.cts.map +1 -1
  30. package/dist/components/articleNodes/articleExtensions.d.mts +8 -2
  31. package/dist/components/articleNodes/articleExtensions.d.mts.map +1 -1
  32. package/dist/components/articleNodes/articleExtensions.d.ts +8 -2
  33. package/dist/components/articleNodes/articleExtensions.d.ts.map +1 -1
  34. package/dist/components/articleNodes/articleExtensions.js +21 -4
  35. package/dist/components/articleNodes/articleExtensions.js.map +2 -2
  36. package/dist/components/articleNodes/articleNodeViews.cjs +154 -0
  37. package/dist/components/articleNodes/articleNodeViews.cjs.map +7 -0
  38. package/dist/components/articleNodes/articleNodeViews.d.cts +3 -0
  39. package/dist/components/articleNodes/articleNodeViews.d.cts.map +1 -0
  40. package/dist/components/articleNodes/articleNodeViews.d.mts +3 -0
  41. package/dist/components/articleNodes/articleNodeViews.d.mts.map +1 -0
  42. package/dist/components/articleNodes/articleNodeViews.d.ts +3 -0
  43. package/dist/components/articleNodes/articleNodeViews.d.ts.map +1 -0
  44. package/dist/components/articleNodes/articleNodeViews.js +124 -0
  45. package/dist/components/articleNodes/articleNodeViews.js.map +7 -0
  46. package/dist/components/articleNodes/articleNodes.props.cjs.map +1 -1
  47. package/dist/components/articleNodes/articleNodes.props.d.cts +25 -2
  48. package/dist/components/articleNodes/articleNodes.props.d.cts.map +1 -1
  49. package/dist/components/articleNodes/articleNodes.props.d.mts +25 -2
  50. package/dist/components/articleNodes/articleNodes.props.d.mts.map +1 -1
  51. package/dist/components/articleNodes/articleNodes.props.d.ts +25 -2
  52. package/dist/components/articleNodes/articleNodes.props.d.ts.map +1 -1
  53. package/dist/components/banner.css +5 -4
  54. package/dist/components/blockquote.css +7 -4
  55. package/dist/components/bottom-dock.css +140 -0
  56. package/dist/components/bottomDock/BottomDock.cjs +140 -0
  57. package/dist/components/bottomDock/BottomDock.cjs.map +7 -0
  58. package/dist/components/bottomDock/BottomDock.d.cts +25 -0
  59. package/dist/components/bottomDock/BottomDock.d.cts.map +1 -0
  60. package/dist/components/bottomDock/BottomDock.d.mts +25 -0
  61. package/dist/components/bottomDock/BottomDock.d.mts.map +1 -0
  62. package/dist/components/bottomDock/BottomDock.d.ts +25 -0
  63. package/dist/components/bottomDock/BottomDock.d.ts.map +1 -0
  64. package/dist/components/bottomDock/BottomDock.js +110 -0
  65. package/dist/components/bottomDock/BottomDock.js.map +7 -0
  66. package/dist/components/bottomDock/bottomDock.props.cjs +49 -0
  67. package/dist/components/bottomDock/bottomDock.props.cjs.map +7 -0
  68. package/dist/components/bottomDock/bottomDock.props.d.cts +29 -0
  69. package/dist/components/bottomDock/bottomDock.props.d.cts.map +1 -0
  70. package/dist/components/bottomDock/bottomDock.props.d.mts +29 -0
  71. package/dist/components/bottomDock/bottomDock.props.d.mts.map +1 -0
  72. package/dist/components/bottomDock/bottomDock.props.d.ts +29 -0
  73. package/dist/components/bottomDock/bottomDock.props.d.ts.map +1 -0
  74. package/dist/components/bottomDock/bottomDock.props.js +29 -0
  75. package/dist/components/bottomDock/bottomDock.props.js.map +7 -0
  76. package/dist/components/breadcrumb.css +24 -3
  77. package/dist/components/callout.css +20 -7
  78. package/dist/components/card.css +9 -1
  79. package/dist/components/code.css +29 -13
  80. package/dist/components/collapsible/Collapsible.cjs +14 -0
  81. package/dist/components/collapsible/Collapsible.cjs.map +2 -2
  82. package/dist/components/collapsible/Collapsible.d.cts.map +1 -1
  83. package/dist/components/collapsible/Collapsible.d.mts.map +1 -1
  84. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  85. package/dist/components/collapsible/Collapsible.js +14 -0
  86. package/dist/components/collapsible/Collapsible.js.map +2 -2
  87. package/dist/components/collapsible.css +10 -1
  88. package/dist/components/command.css +0 -2
  89. package/dist/components/comment-thread.css +15 -7
  90. package/dist/components/commentThread/CommentThread.cjs +45 -17
  91. package/dist/components/commentThread/CommentThread.cjs.map +2 -2
  92. package/dist/components/commentThread/CommentThread.d.cts +6 -6
  93. package/dist/components/commentThread/CommentThread.d.cts.map +1 -1
  94. package/dist/components/commentThread/CommentThread.d.mts +6 -6
  95. package/dist/components/commentThread/CommentThread.d.mts.map +1 -1
  96. package/dist/components/commentThread/CommentThread.d.ts +6 -6
  97. package/dist/components/commentThread/CommentThread.d.ts.map +1 -1
  98. package/dist/components/commentThread/CommentThread.js +45 -17
  99. package/dist/components/commentThread/CommentThread.js.map +2 -2
  100. package/dist/components/commentThread/commentThread.props.cjs.map +1 -1
  101. package/dist/components/commentThread/commentThread.props.d.cts +24 -0
  102. package/dist/components/commentThread/commentThread.props.d.cts.map +1 -1
  103. package/dist/components/commentThread/commentThread.props.d.mts +24 -0
  104. package/dist/components/commentThread/commentThread.props.d.mts.map +1 -1
  105. package/dist/components/commentThread/commentThread.props.d.ts +24 -0
  106. package/dist/components/commentThread/commentThread.props.d.ts.map +1 -1
  107. package/dist/components/config-drawer.css +7 -3
  108. package/dist/components/configDrawer/ConfigDrawer.cjs +1 -1
  109. package/dist/components/configDrawer/ConfigDrawer.cjs.map +2 -2
  110. package/dist/components/configDrawer/ConfigDrawer.js +1 -1
  111. package/dist/components/configDrawer/ConfigDrawer.js.map +2 -2
  112. package/dist/components/context-menu.css +3 -1
  113. package/dist/components/contextMenu/ContextMenu.cjs +37 -6
  114. package/dist/components/contextMenu/ContextMenu.cjs.map +2 -2
  115. package/dist/components/contextMenu/ContextMenu.d.cts +1 -1
  116. package/dist/components/contextMenu/ContextMenu.d.cts.map +1 -1
  117. package/dist/components/contextMenu/ContextMenu.d.mts +1 -1
  118. package/dist/components/contextMenu/ContextMenu.d.mts.map +1 -1
  119. package/dist/components/contextMenu/ContextMenu.d.ts +1 -1
  120. package/dist/components/contextMenu/ContextMenu.d.ts.map +1 -1
  121. package/dist/components/contextMenu/ContextMenu.js +37 -6
  122. package/dist/components/contextMenu/ContextMenu.js.map +2 -2
  123. package/dist/components/dialog.css +1 -1
  124. package/dist/components/drawer.css +23 -6
  125. package/dist/components/dropdownMenu/DropdownMenu.cjs +10 -5
  126. package/dist/components/dropdownMenu/DropdownMenu.cjs.map +2 -2
  127. package/dist/components/dropdownMenu/DropdownMenu.d.cts.map +1 -1
  128. package/dist/components/dropdownMenu/DropdownMenu.d.mts.map +1 -1
  129. package/dist/components/dropdownMenu/DropdownMenu.d.ts.map +1 -1
  130. package/dist/components/dropdownMenu/DropdownMenu.js +10 -5
  131. package/dist/components/dropdownMenu/DropdownMenu.js.map +2 -2
  132. package/dist/components/environment-ribbon.css +73 -0
  133. package/dist/components/environmentRibbon/EnvironmentRibbon.cjs +69 -0
  134. package/dist/components/environmentRibbon/EnvironmentRibbon.cjs.map +7 -0
  135. package/dist/components/environmentRibbon/EnvironmentRibbon.d.cts +15 -0
  136. package/dist/components/environmentRibbon/EnvironmentRibbon.d.cts.map +1 -0
  137. package/dist/components/environmentRibbon/EnvironmentRibbon.d.mts +15 -0
  138. package/dist/components/environmentRibbon/EnvironmentRibbon.d.mts.map +1 -0
  139. package/dist/components/environmentRibbon/EnvironmentRibbon.d.ts +15 -0
  140. package/dist/components/environmentRibbon/EnvironmentRibbon.d.ts.map +1 -0
  141. package/dist/components/environmentRibbon/EnvironmentRibbon.js +39 -0
  142. package/dist/components/environmentRibbon/EnvironmentRibbon.js.map +7 -0
  143. package/dist/components/environmentRibbon/environmentRibbon.props.cjs +39 -0
  144. package/dist/components/environmentRibbon/environmentRibbon.props.cjs.map +7 -0
  145. package/dist/components/environmentRibbon/environmentRibbon.props.d.cts +18 -0
  146. package/dist/components/environmentRibbon/environmentRibbon.props.d.cts.map +1 -0
  147. package/dist/components/environmentRibbon/environmentRibbon.props.d.mts +18 -0
  148. package/dist/components/environmentRibbon/environmentRibbon.props.d.mts.map +1 -0
  149. package/dist/components/environmentRibbon/environmentRibbon.props.d.ts +18 -0
  150. package/dist/components/environmentRibbon/environmentRibbon.props.d.ts.map +1 -0
  151. package/dist/components/environmentRibbon/environmentRibbon.props.js +19 -0
  152. package/dist/components/environmentRibbon/environmentRibbon.props.js.map +7 -0
  153. package/dist/components/field.css +5 -0
  154. package/dist/components/file-upload.css +36 -9
  155. package/dist/components/floating-panel.css +49 -18
  156. package/dist/components/floatingPanel/FloatingPanel.cjs +156 -58
  157. package/dist/components/floatingPanel/FloatingPanel.cjs.map +2 -2
  158. package/dist/components/floatingPanel/FloatingPanel.d.cts.map +1 -1
  159. package/dist/components/floatingPanel/FloatingPanel.d.mts.map +1 -1
  160. package/dist/components/floatingPanel/FloatingPanel.d.ts.map +1 -1
  161. package/dist/components/floatingPanel/FloatingPanel.js +156 -58
  162. package/dist/components/floatingPanel/FloatingPanel.js.map +2 -2
  163. package/dist/components/grid/Grid.cjs +24 -35
  164. package/dist/components/grid/Grid.cjs.map +2 -2
  165. package/dist/components/grid/Grid.d.cts.map +1 -1
  166. package/dist/components/grid/Grid.d.mts.map +1 -1
  167. package/dist/components/grid/Grid.d.ts.map +1 -1
  168. package/dist/components/grid/Grid.js +24 -35
  169. package/dist/components/grid/Grid.js.map +2 -2
  170. package/dist/components/heading/Heading.cjs +1 -8
  171. package/dist/components/heading/Heading.cjs.map +2 -2
  172. package/dist/components/heading/Heading.d.cts.map +1 -1
  173. package/dist/components/heading/Heading.d.mts.map +1 -1
  174. package/dist/components/heading/Heading.d.ts.map +1 -1
  175. package/dist/components/heading/Heading.js +1 -8
  176. package/dist/components/heading/Heading.js.map +2 -2
  177. package/dist/components/heading/heading.props.cjs +9 -9
  178. package/dist/components/heading/heading.props.cjs.map +2 -2
  179. package/dist/components/heading/heading.props.d.cts +42 -43
  180. package/dist/components/heading/heading.props.d.cts.map +1 -1
  181. package/dist/components/heading/heading.props.d.mts +42 -43
  182. package/dist/components/heading/heading.props.d.mts.map +1 -1
  183. package/dist/components/heading/heading.props.d.ts +42 -43
  184. package/dist/components/heading/heading.props.d.ts.map +1 -1
  185. package/dist/components/heading/heading.props.js +9 -9
  186. package/dist/components/heading/heading.props.js.map +2 -2
  187. package/dist/components/heading.css +127 -104
  188. package/dist/components/hover-card.css +5 -2
  189. package/dist/components/icon/Icon.cjs +19 -0
  190. package/dist/components/icon/Icon.cjs.map +2 -2
  191. package/dist/components/icon/Icon.d.cts +29 -1
  192. package/dist/components/icon/Icon.d.cts.map +1 -1
  193. package/dist/components/icon/Icon.d.mts +29 -1
  194. package/dist/components/icon/Icon.d.mts.map +1 -1
  195. package/dist/components/icon/Icon.d.ts +29 -1
  196. package/dist/components/icon/Icon.d.ts.map +1 -1
  197. package/dist/components/icon/Icon.js +25 -0
  198. package/dist/components/icon/Icon.js.map +2 -2
  199. package/dist/components/icon/icons.cjs +14 -0
  200. package/dist/components/icon/icons.cjs.map +2 -2
  201. package/dist/components/icon/icons.d.cts +35 -0
  202. package/dist/components/icon/icons.d.cts.map +1 -1
  203. package/dist/components/icon/icons.d.mts +35 -0
  204. package/dist/components/icon/icons.d.mts.map +1 -1
  205. package/dist/components/icon/icons.d.ts +35 -0
  206. package/dist/components/icon/icons.d.ts.map +1 -1
  207. package/dist/components/icon/icons.js +14 -0
  208. package/dist/components/icon/icons.js.map +2 -2
  209. package/dist/components/index.cjs +2 -0
  210. package/dist/components/index.cjs.map +2 -2
  211. package/dist/components/index.d.cts +2 -0
  212. package/dist/components/index.d.cts.map +1 -1
  213. package/dist/components/index.d.mts +2 -0
  214. package/dist/components/index.d.mts.map +1 -1
  215. package/dist/components/index.d.ts +2 -0
  216. package/dist/components/index.d.ts.map +1 -1
  217. package/dist/components/index.js +2 -0
  218. package/dist/components/index.js.map +2 -2
  219. package/dist/components/label.css +3 -0
  220. package/dist/components/link.css +33 -97
  221. package/dist/components/notification-center.css +58 -10
  222. package/dist/components/notificationCenter/NotificationCenter.cjs +27 -17
  223. package/dist/components/notificationCenter/NotificationCenter.cjs.map +2 -2
  224. package/dist/components/notificationCenter/NotificationCenter.d.cts +2 -0
  225. package/dist/components/notificationCenter/NotificationCenter.d.cts.map +1 -1
  226. package/dist/components/notificationCenter/NotificationCenter.d.mts +2 -0
  227. package/dist/components/notificationCenter/NotificationCenter.d.mts.map +1 -1
  228. package/dist/components/notificationCenter/NotificationCenter.d.ts +2 -0
  229. package/dist/components/notificationCenter/NotificationCenter.d.ts.map +1 -1
  230. package/dist/components/notificationCenter/NotificationCenter.js +28 -18
  231. package/dist/components/notificationCenter/NotificationCenter.js.map +2 -2
  232. package/dist/components/page-header.css +21 -0
  233. package/dist/components/pageHeader/PageHeader.cjs +10 -2
  234. package/dist/components/pageHeader/PageHeader.cjs.map +2 -2
  235. package/dist/components/pageHeader/PageHeader.d.cts.map +1 -1
  236. package/dist/components/pageHeader/PageHeader.d.mts.map +1 -1
  237. package/dist/components/pageHeader/PageHeader.d.ts.map +1 -1
  238. package/dist/components/pageHeader/PageHeader.js +10 -2
  239. package/dist/components/pageHeader/PageHeader.js.map +2 -2
  240. package/dist/components/pageHeader/pageHeader.props.cjs +7 -1
  241. package/dist/components/pageHeader/pageHeader.props.cjs.map +2 -2
  242. package/dist/components/pageHeader/pageHeader.props.d.cts +5 -0
  243. package/dist/components/pageHeader/pageHeader.props.d.cts.map +1 -1
  244. package/dist/components/pageHeader/pageHeader.props.d.mts +5 -0
  245. package/dist/components/pageHeader/pageHeader.props.d.mts.map +1 -1
  246. package/dist/components/pageHeader/pageHeader.props.d.ts +5 -0
  247. package/dist/components/pageHeader/pageHeader.props.d.ts.map +1 -1
  248. package/dist/components/pageHeader/pageHeader.props.js +7 -1
  249. package/dist/components/pageHeader/pageHeader.props.js.map +2 -2
  250. package/dist/components/pills/Pills.cjs +1 -1
  251. package/dist/components/pills/Pills.cjs.map +2 -2
  252. package/dist/components/pills/Pills.js +2 -2
  253. package/dist/components/pills/Pills.js.map +2 -2
  254. package/dist/components/pills.css +6 -0
  255. package/dist/components/popover.css +45 -6
  256. package/dist/components/prose.css +3 -3
  257. package/dist/components/qr-code.css +5 -2
  258. package/dist/components/qrCode/QrCode.cjs +14 -11
  259. package/dist/components/qrCode/QrCode.cjs.map +2 -2
  260. package/dist/components/qrCode/QrCode.d.cts.map +1 -1
  261. package/dist/components/qrCode/QrCode.d.mts.map +1 -1
  262. package/dist/components/qrCode/QrCode.d.ts.map +1 -1
  263. package/dist/components/qrCode/QrCode.js +14 -11
  264. package/dist/components/qrCode/QrCode.js.map +2 -2
  265. package/dist/components/resizable.css +20 -4
  266. package/dist/components/rich-text-editor.css +50 -14
  267. package/dist/components/richTextEditor/EditorTools.cjs +226 -0
  268. package/dist/components/richTextEditor/EditorTools.cjs.map +7 -0
  269. package/dist/components/richTextEditor/EditorTools.d.cts +22 -0
  270. package/dist/components/richTextEditor/EditorTools.d.cts.map +1 -0
  271. package/dist/components/richTextEditor/EditorTools.d.mts +22 -0
  272. package/dist/components/richTextEditor/EditorTools.d.mts.map +1 -0
  273. package/dist/components/richTextEditor/EditorTools.d.ts +22 -0
  274. package/dist/components/richTextEditor/EditorTools.d.ts.map +1 -0
  275. package/dist/components/richTextEditor/EditorTools.js +196 -0
  276. package/dist/components/richTextEditor/EditorTools.js.map +7 -0
  277. package/dist/components/richTextEditor/MentionSuggestions.cjs +96 -0
  278. package/dist/components/richTextEditor/MentionSuggestions.cjs.map +7 -0
  279. package/dist/components/richTextEditor/MentionSuggestions.d.cts +7 -0
  280. package/dist/components/richTextEditor/MentionSuggestions.d.cts.map +1 -0
  281. package/dist/components/richTextEditor/MentionSuggestions.d.mts +7 -0
  282. package/dist/components/richTextEditor/MentionSuggestions.d.mts.map +1 -0
  283. package/dist/components/richTextEditor/MentionSuggestions.d.ts +7 -0
  284. package/dist/components/richTextEditor/MentionSuggestions.d.ts.map +1 -0
  285. package/dist/components/richTextEditor/MentionSuggestions.js +66 -0
  286. package/dist/components/richTextEditor/MentionSuggestions.js.map +7 -0
  287. package/dist/components/richTextEditor/RichTextEditor.cjs +53 -206
  288. package/dist/components/richTextEditor/RichTextEditor.cjs.map +3 -3
  289. package/dist/components/richTextEditor/RichTextEditor.d.cts +17 -7
  290. package/dist/components/richTextEditor/RichTextEditor.d.cts.map +1 -1
  291. package/dist/components/richTextEditor/RichTextEditor.d.mts +17 -7
  292. package/dist/components/richTextEditor/RichTextEditor.d.mts.map +1 -1
  293. package/dist/components/richTextEditor/RichTextEditor.d.ts +17 -7
  294. package/dist/components/richTextEditor/RichTextEditor.d.ts.map +1 -1
  295. package/dist/components/richTextEditor/RichTextEditor.js +53 -206
  296. package/dist/components/richTextEditor/RichTextEditor.js.map +3 -3
  297. package/dist/components/richTextEditor/editorTokens.cjs +75 -0
  298. package/dist/components/richTextEditor/editorTokens.cjs.map +7 -0
  299. package/dist/components/richTextEditor/editorTokens.d.cts +21 -0
  300. package/dist/components/richTextEditor/editorTokens.d.cts.map +1 -0
  301. package/dist/components/richTextEditor/editorTokens.d.mts +21 -0
  302. package/dist/components/richTextEditor/editorTokens.d.mts.map +1 -0
  303. package/dist/components/richTextEditor/editorTokens.d.ts +21 -0
  304. package/dist/components/richTextEditor/editorTokens.d.ts.map +1 -0
  305. package/dist/components/richTextEditor/editorTokens.js +55 -0
  306. package/dist/components/richTextEditor/editorTokens.js.map +7 -0
  307. package/dist/components/scroll-area.css +12 -0
  308. package/dist/components/scrollArea/ScrollArea.cjs +12 -1
  309. package/dist/components/scrollArea/ScrollArea.cjs.map +2 -2
  310. package/dist/components/scrollArea/ScrollArea.d.cts.map +1 -1
  311. package/dist/components/scrollArea/ScrollArea.d.mts.map +1 -1
  312. package/dist/components/scrollArea/ScrollArea.d.ts.map +1 -1
  313. package/dist/components/scrollArea/ScrollArea.js +12 -1
  314. package/dist/components/scrollArea/ScrollArea.js.map +2 -2
  315. package/dist/components/segmentedControl/SegmentedControl.cjs +2 -2
  316. package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
  317. package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
  318. package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
  319. package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
  320. package/dist/components/segmentedControl/SegmentedControl.js +2 -2
  321. package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
  322. package/dist/components/separator.css +3 -9
  323. package/dist/components/sidebar/Sidebar.cjs +17 -5
  324. package/dist/components/sidebar/Sidebar.cjs.map +2 -2
  325. package/dist/components/sidebar/Sidebar.d.cts +12 -1
  326. package/dist/components/sidebar/Sidebar.d.cts.map +1 -1
  327. package/dist/components/sidebar/Sidebar.d.mts +12 -1
  328. package/dist/components/sidebar/Sidebar.d.mts.map +1 -1
  329. package/dist/components/sidebar/Sidebar.d.ts +12 -1
  330. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  331. package/dist/components/sidebar/Sidebar.js +17 -5
  332. package/dist/components/sidebar/Sidebar.js.map +2 -2
  333. package/dist/components/sidebar/sidebar.props.cjs +8 -1
  334. package/dist/components/sidebar/sidebar.props.cjs.map +2 -2
  335. package/dist/components/sidebar/sidebar.props.d.cts +9 -1
  336. package/dist/components/sidebar/sidebar.props.d.cts.map +1 -1
  337. package/dist/components/sidebar/sidebar.props.d.mts +9 -1
  338. package/dist/components/sidebar/sidebar.props.d.mts.map +1 -1
  339. package/dist/components/sidebar/sidebar.props.d.ts +9 -1
  340. package/dist/components/sidebar/sidebar.props.d.ts.map +1 -1
  341. package/dist/components/sidebar/sidebar.props.js +8 -1
  342. package/dist/components/sidebar/sidebar.props.js.map +2 -2
  343. package/dist/components/sidebar.css +86 -13
  344. package/dist/components/sonner.css +78 -16
  345. package/dist/components/stepper.css +23 -12
  346. package/dist/components/tab-nav.css +25 -13
  347. package/dist/components/tabNav/TabNav.cjs +1 -4
  348. package/dist/components/tabNav/TabNav.cjs.map +2 -2
  349. package/dist/components/tabNav/TabNav.d.cts.map +1 -1
  350. package/dist/components/tabNav/TabNav.d.mts.map +1 -1
  351. package/dist/components/tabNav/TabNav.d.ts.map +1 -1
  352. package/dist/components/tabNav/TabNav.js +1 -4
  353. package/dist/components/tabNav/TabNav.js.map +2 -2
  354. package/dist/components/table-of-contents.css +12 -2
  355. package/dist/components/tableOfContents/TableOfContents.cjs +11 -4
  356. package/dist/components/tableOfContents/TableOfContents.cjs.map +2 -2
  357. package/dist/components/tableOfContents/TableOfContents.d.cts.map +1 -1
  358. package/dist/components/tableOfContents/TableOfContents.d.mts.map +1 -1
  359. package/dist/components/tableOfContents/TableOfContents.d.ts.map +1 -1
  360. package/dist/components/tableOfContents/TableOfContents.js +11 -4
  361. package/dist/components/tableOfContents/TableOfContents.js.map +2 -2
  362. package/dist/components/tabs/Tabs.cjs +39 -54
  363. package/dist/components/tabs/Tabs.cjs.map +2 -2
  364. package/dist/components/tabs/Tabs.d.cts.map +1 -1
  365. package/dist/components/tabs/Tabs.d.mts.map +1 -1
  366. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  367. package/dist/components/tabs/Tabs.js +39 -54
  368. package/dist/components/tabs/Tabs.js.map +2 -2
  369. package/dist/components/tabs.css +52 -7
  370. package/dist/components/text/text.props.cjs +9 -9
  371. package/dist/components/text/text.props.cjs.map +2 -2
  372. package/dist/components/text/text.props.d.cts +42 -43
  373. package/dist/components/text/text.props.d.cts.map +1 -1
  374. package/dist/components/text/text.props.d.mts +42 -43
  375. package/dist/components/text/text.props.d.mts.map +1 -1
  376. package/dist/components/text/text.props.d.ts +42 -43
  377. package/dist/components/text/text.props.d.ts.map +1 -1
  378. package/dist/components/text/text.props.js +9 -9
  379. package/dist/components/text/text.props.js.map +2 -2
  380. package/dist/components/text/typography.props.cjs +32 -0
  381. package/dist/components/text/typography.props.cjs.map +7 -0
  382. package/dist/components/text/typography.props.d.cts +3 -0
  383. package/dist/components/text/typography.props.d.cts.map +1 -0
  384. package/dist/components/text/typography.props.d.mts +3 -0
  385. package/dist/components/text/typography.props.d.mts.map +1 -0
  386. package/dist/components/text/typography.props.d.ts +3 -0
  387. package/dist/components/text/typography.props.d.ts.map +1 -0
  388. package/dist/components/text/typography.props.js +12 -0
  389. package/dist/components/text/typography.props.js.map +7 -0
  390. package/dist/components/text-field.css +1 -0
  391. package/dist/components/text.css +41 -6
  392. package/dist/components/theme-panel.css +6 -0
  393. package/dist/components/toast/Toast.cjs +3 -1
  394. package/dist/components/toast/Toast.cjs.map +2 -2
  395. package/dist/components/toast/Toast.d.cts.map +1 -1
  396. package/dist/components/toast/Toast.d.mts.map +1 -1
  397. package/dist/components/toast/Toast.d.ts.map +1 -1
  398. package/dist/components/toast/Toast.js +3 -1
  399. package/dist/components/toast/Toast.js.map +2 -2
  400. package/dist/components/toast.css +36 -36
  401. package/dist/components/toggle-tip.css +58 -9
  402. package/dist/components/toggleTip/ToggleTip.cjs +9 -5
  403. package/dist/components/toggleTip/ToggleTip.cjs.map +2 -2
  404. package/dist/components/toggleTip/ToggleTip.d.cts.map +1 -1
  405. package/dist/components/toggleTip/ToggleTip.d.mts.map +1 -1
  406. package/dist/components/toggleTip/ToggleTip.d.ts.map +1 -1
  407. package/dist/components/toggleTip/ToggleTip.js +9 -5
  408. package/dist/components/toggleTip/ToggleTip.js.map +2 -2
  409. package/dist/components/toolbar/Toolbar.cjs +10 -7
  410. package/dist/components/toolbar/Toolbar.cjs.map +2 -2
  411. package/dist/components/toolbar/Toolbar.js +10 -7
  412. package/dist/components/toolbar/Toolbar.js.map +2 -2
  413. package/dist/components/toolbar.css +58 -4
  414. package/dist/components/tooltip.css +9 -5
  415. package/dist/components/tree-view.css +17 -3
  416. package/dist/components/treeView/TreeView.cjs +76 -21
  417. package/dist/components/treeView/TreeView.cjs.map +2 -2
  418. package/dist/components/treeView/TreeView.d.cts.map +1 -1
  419. package/dist/components/treeView/TreeView.d.mts.map +1 -1
  420. package/dist/components/treeView/TreeView.d.ts.map +1 -1
  421. package/dist/components/treeView/TreeView.js +76 -21
  422. package/dist/components/treeView/TreeView.js.map +2 -2
  423. package/dist/components.css +2 -0
  424. package/dist/docs/README.md +2 -0
  425. package/dist/docs/component-contract.md +7 -4
  426. package/dist/docs/component-index.json +17 -1
  427. package/dist/docs/components/accordion.md +5 -36
  428. package/dist/docs/components/alert.md +44 -17
  429. package/dist/docs/components/article-nodes.md +59 -2
  430. package/dist/docs/components/aspect-ratio.md +3 -26
  431. package/dist/docs/components/banner.md +7 -7
  432. package/dist/docs/components/blockquote.md +15 -14
  433. package/dist/docs/components/bottom-dock.md +146 -0
  434. package/dist/docs/components/box.md +3 -34
  435. package/dist/docs/components/breadcrumb.md +13 -8
  436. package/dist/docs/components/callout.md +18 -7
  437. package/dist/docs/components/card.md +10 -3
  438. package/dist/docs/components/code.md +33 -220
  439. package/dist/docs/components/collapsible.md +16 -35
  440. package/dist/docs/components/command.md +2 -0
  441. package/dist/docs/components/comment-thread.md +51 -1
  442. package/dist/docs/components/config-drawer.md +72 -171
  443. package/dist/docs/components/container.md +2 -0
  444. package/dist/docs/components/context-menu.md +19 -5
  445. package/dist/docs/components/dialog.md +4 -2
  446. package/dist/docs/components/drawer.md +17 -6
  447. package/dist/docs/components/dropdown-menu.md +11 -2
  448. package/dist/docs/components/em.md +1 -1
  449. package/dist/docs/components/environment-ribbon.md +126 -0
  450. package/dist/docs/components/field.md +2 -0
  451. package/dist/docs/components/file-upload.md +13 -7
  452. package/dist/docs/components/floating-panel.md +79 -285
  453. package/dist/docs/components/form.md +4 -0
  454. package/dist/docs/components/grid.md +11 -60
  455. package/dist/docs/components/heading.md +35 -32
  456. package/dist/docs/components/hover-card.md +9 -1
  457. package/dist/docs/components/icon.md +1 -0
  458. package/dist/docs/components/kbd.md +2 -0
  459. package/dist/docs/components/label.md +11 -9
  460. package/dist/docs/components/link.md +31 -209
  461. package/dist/docs/components/notification-center.md +30 -15
  462. package/dist/docs/components/page-header.md +20 -6
  463. package/dist/docs/components/pagination.md +4 -0
  464. package/dist/docs/components/pills.md +13 -4
  465. package/dist/docs/components/popover.md +10 -3
  466. package/dist/docs/components/prose.md +9 -0
  467. package/dist/docs/components/qr-code.md +12 -12
  468. package/dist/docs/components/quote.md +9 -4
  469. package/dist/docs/components/resizable.md +26 -18
  470. package/dist/docs/components/rich-text-editor.md +68 -18
  471. package/dist/docs/components/scroll-area.md +17 -9
  472. package/dist/docs/components/section.md +3 -38
  473. package/dist/docs/components/segmented-control.md +1 -1
  474. package/dist/docs/components/segmented-meter.md +9 -0
  475. package/dist/docs/components/separator.md +10 -46
  476. package/dist/docs/components/sidebar.md +34 -9
  477. package/dist/docs/components/sonner.md +25 -16
  478. package/dist/docs/components/stepper.md +8 -33
  479. package/dist/docs/components/strong.md +1 -1
  480. package/dist/docs/components/tab-nav.md +33 -96
  481. package/dist/docs/components/table-of-contents.md +8 -2
  482. package/dist/docs/components/tabs.md +19 -50
  483. package/dist/docs/components/text-field.md +1 -0
  484. package/dist/docs/components/text.md +34 -28
  485. package/dist/docs/components/theme-panel.md +3 -28
  486. package/dist/docs/components/theme.md +7 -3
  487. package/dist/docs/components/toast.md +27 -13
  488. package/dist/docs/components/toggle-tip.md +58 -241
  489. package/dist/docs/components/toolbar.md +16 -39
  490. package/dist/docs/components/tooltip.md +13 -7
  491. package/dist/docs/components/tree-view.md +22 -55
  492. package/dist/docs/consumer-guide.md +11 -4
  493. package/dist/generated/tokens.cjs +1 -0
  494. package/dist/generated/tokens.cjs.map +2 -2
  495. package/dist/generated/tokens.d.cts.map +1 -1
  496. package/dist/generated/tokens.d.mts.map +1 -1
  497. package/dist/generated/tokens.d.ts.map +1 -1
  498. package/dist/generated/tokens.js +1 -0
  499. package/dist/generated/tokens.js.map +2 -2
  500. package/dist/styles.css +1921 -1349
  501. package/dist/tokens.css +346 -362
  502. package/package.json +1 -1
@@ -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": "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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": []
7
7
  }
@@ -85,12 +85,12 @@ const Grid = React.forwardRef(function Grid2({ as, asChild = false, className, s
85
85
  const propsJustifyItemsMap = (0, import_responsive.toResponsiveMap)(props.justifyItems);
86
86
  const propsJustifyContentMap = (0, import_responsive.toResponsiveMap)(props.justifyContent);
87
87
  const hasSmOrMdOrLg = Boolean(sm || md || lg);
88
- const responsiveColumns = hasSmOrMdOrLg ? { initial: propsColumnsMap.initial, sm: sm?.columns ?? propsColumnsMap.sm, md: md?.columns ?? propsColumnsMap.md, lg: lg?.columns ?? propsColumnsMap.lg } : props.columns;
89
- const responsiveRows = hasSmOrMdOrLg ? { initial: propsRowsMap.initial, sm: sm?.rows ?? propsRowsMap.sm, md: md?.rows ?? propsRowsMap.md, lg: lg?.rows ?? propsRowsMap.lg } : props.rows;
90
- const responsiveGap = hasSmOrMdOrLg ? { initial: propsGapMap.initial, sm: sm?.gap ?? propsGapMap.sm, md: md?.gap ?? propsGapMap.md, lg: lg?.gap ?? propsGapMap.lg } : props.gap;
91
- const responsiveAlign = hasSmOrMdOrLg ? { initial: propsAlignMap.initial, sm: sm?.align ?? propsAlignMap.sm, md: md?.align ?? propsAlignMap.md, lg: lg?.align ?? propsAlignMap.lg } : align;
92
- const responsiveJustify = hasSmOrMdOrLg ? { initial: propsJustifyMap.initial, sm: sm?.justify ?? propsJustifyMap.sm, md: md?.justify ?? propsJustifyMap.md, lg: lg?.justify ?? propsJustifyMap.lg } : justify;
93
- const responsiveMinItemWidth = hasSmOrMdOrLg ? { initial: propsMinItemWidthMap.initial, sm: sm?.minItemWidth ?? propsMinItemWidthMap.sm, md: md?.minItemWidth ?? propsMinItemWidthMap.md, lg: lg?.minItemWidth ?? propsMinItemWidthMap.lg } : minItemWidth;
88
+ const responsiveColumns = hasSmOrMdOrLg ? { ...propsColumnsMap, sm: sm?.columns ?? propsColumnsMap.sm, md: md?.columns ?? propsColumnsMap.md, lg: lg?.columns ?? propsColumnsMap.lg } : props.columns;
89
+ const responsiveRows = hasSmOrMdOrLg ? { ...propsRowsMap, sm: sm?.rows ?? propsRowsMap.sm, md: md?.rows ?? propsRowsMap.md, lg: lg?.rows ?? propsRowsMap.lg } : props.rows;
90
+ const responsiveGap = hasSmOrMdOrLg ? { ...propsGapMap, sm: sm?.gap ?? propsGapMap.sm, md: md?.gap ?? propsGapMap.md, lg: lg?.gap ?? propsGapMap.lg } : props.gap;
91
+ const responsiveAlign = hasSmOrMdOrLg ? { ...propsAlignMap, sm: sm?.align ?? propsAlignMap.sm, md: md?.align ?? propsAlignMap.md, lg: lg?.align ?? propsAlignMap.lg } : align;
92
+ const responsiveJustify = hasSmOrMdOrLg ? { ...propsJustifyMap, sm: sm?.justify ?? propsJustifyMap.sm, md: md?.justify ?? propsJustifyMap.md, lg: lg?.justify ?? propsJustifyMap.lg } : justify;
93
+ const responsiveMinItemWidth = hasSmOrMdOrLg ? { ...propsMinItemWidthMap, sm: sm?.minItemWidth ?? propsMinItemWidthMap.sm, md: md?.minItemWidth ?? propsMinItemWidthMap.md, lg: lg?.minItemWidth ?? propsMinItemWidthMap.lg } : minItemWidth;
94
94
  const {
95
95
  flex,
96
96
  flexGrow,
@@ -105,32 +105,21 @@ const Grid = React.forwardRef(function Grid2({ as, asChild = false, className, s
105
105
  const gridVars = {};
106
106
  const responsiveConditions = ["initial", "sm", "md", "lg", "xl", "2xl"];
107
107
  const responsiveColumnsMap = (0, import_responsive.toResponsiveMap)(responsiveColumns);
108
- const minItemWidthMap = responsiveMinItemWidth ? (0, import_responsive.toResponsiveMap)(responsiveMinItemWidth) : null;
109
- let lastColumns;
108
+ const minItemWidthMap = (0, import_responsive.toResponsiveMap)(responsiveMinItemWidth);
109
+ let activeMinWidth;
110
+ let activeColumns;
110
111
  for (const condition of responsiveConditions) {
111
- const nextMinItemWidth = minItemWidthMap?.[condition];
112
- if (nextMinItemWidth !== void 0) {
113
- gridVars[getResponsiveVarName("dsx-grid-columns", condition)] = `repeat(auto-fit, minmax(${(0, import_Shared.resolveLength)(nextMinItemWidth)}, 1fr))`;
114
- lastColumns = nextMinItemWidth;
115
- continue;
116
- }
117
- const nextColumns = responsiveColumnsMap[condition];
118
- if (nextColumns !== void 0) {
119
- gridVars[getResponsiveVarName("dsx-grid-columns", condition)] = typeof nextColumns === "number" ? `repeat(${nextColumns}, minmax(0, 1fr))` : String(nextColumns);
120
- lastColumns = nextColumns;
121
- } else if (lastColumns !== void 0) {
122
- gridVars[getResponsiveVarName("dsx-grid-columns", condition)] = typeof lastColumns === "number" ? `repeat(${lastColumns}, minmax(0, 1fr))` : String(lastColumns);
123
- }
112
+ activeMinWidth = minItemWidthMap[condition] ?? activeMinWidth;
113
+ activeColumns = responsiveColumnsMap[condition] ?? activeColumns;
114
+ const tracks = activeMinWidth !== void 0 ? `repeat(auto-fit, minmax(${(0, import_Shared.resolveLength)(activeMinWidth)}, 1fr))` : activeColumns !== void 0 ? /^\d+$/.test(String(activeColumns)) ? `repeat(${activeColumns}, minmax(0, 1fr))` : String(activeColumns) : void 0;
115
+ if (tracks !== void 0) gridVars[getResponsiveVarName("dsx-grid-columns", condition)] = tracks;
124
116
  }
125
117
  const responsiveRowsMap = (0, import_responsive.toResponsiveMap)(responsiveRows);
126
- let lastRows;
118
+ let activeRows;
127
119
  for (const condition of responsiveConditions) {
128
- const nextRows = responsiveRowsMap[condition];
129
- if (nextRows !== void 0) {
130
- gridVars[getResponsiveVarName("dsx-grid-rows", condition)] = typeof nextRows === "number" ? `repeat(${nextRows}, minmax(0, 1fr))` : String(nextRows);
131
- lastRows = nextRows;
132
- } else if (lastRows !== void 0) {
133
- gridVars[getResponsiveVarName("dsx-grid-rows", condition)] = typeof lastRows === "number" ? `repeat(${lastRows}, minmax(0, 1fr))` : String(lastRows);
120
+ activeRows = responsiveRowsMap[condition] ?? activeRows;
121
+ if (activeRows !== void 0) {
122
+ gridVars[getResponsiveVarName("dsx-grid-rows", condition)] = /^\d+$/.test(String(activeRows)) ? `repeat(${activeRows}, minmax(0, 1fr))` : String(activeRows);
134
123
  }
135
124
  }
136
125
  const responsiveAlignMap = (0, import_responsive.toResponsiveMap)(responsiveAlign);
@@ -160,14 +149,14 @@ const Grid = React.forwardRef(function Grid2({ as, asChild = false, className, s
160
149
  const mergedStyle = Object.keys(gridVars).length > 0 ? { ...style, ...gridVars } : style;
161
150
  const propsForExtraction = {
162
151
  ...layoutProps,
163
- columns: responsiveColumns,
164
- rows: responsiveRows,
152
+ columns: void 0,
153
+ rows: void 0,
165
154
  gap: responsiveGap,
166
- areas: hasSmOrMdOrLg ? { initial: propsAreasMap.initial, sm: sm?.areas ?? propsAreasMap.sm, md: md?.areas ?? propsAreasMap.md, lg: lg?.areas ?? propsAreasMap.lg } : props.areas,
167
- flow: hasSmOrMdOrLg ? { initial: propsFlowMap.initial, sm: sm?.flow ?? propsFlowMap.sm, md: md?.flow ?? propsFlowMap.md, lg: lg?.flow ?? propsFlowMap.lg } : props.flow,
168
- alignContent: hasSmOrMdOrLg ? { initial: propsAlignContentMap.initial, sm: sm?.alignContent ?? propsAlignContentMap.sm, md: md?.alignContent ?? propsAlignContentMap.md, lg: lg?.alignContent ?? propsAlignContentMap.lg } : props.alignContent,
169
- justifyItems: hasSmOrMdOrLg ? { initial: propsJustifyItemsMap.initial, sm: sm?.justifyItems ?? propsJustifyItemsMap.sm, md: md?.justifyItems ?? propsJustifyItemsMap.md, lg: lg?.justifyItems ?? propsJustifyItemsMap.lg } : props.justifyItems,
170
- justifyContent: hasSmOrMdOrLg ? { initial: propsJustifyContentMap.initial, sm: sm?.justifyContent ?? propsJustifyContentMap.sm, md: md?.justifyContent ?? propsJustifyContentMap.md, lg: lg?.justifyContent ?? propsJustifyContentMap.lg } : props.justifyContent
155
+ areas: hasSmOrMdOrLg ? { ...propsAreasMap, sm: sm?.areas ?? propsAreasMap.sm, md: md?.areas ?? propsAreasMap.md, lg: lg?.areas ?? propsAreasMap.lg } : props.areas,
156
+ flow: hasSmOrMdOrLg ? { ...propsFlowMap, sm: sm?.flow ?? propsFlowMap.sm, md: md?.flow ?? propsFlowMap.md, lg: lg?.flow ?? propsFlowMap.lg } : props.flow,
157
+ alignContent: hasSmOrMdOrLg ? { ...propsAlignContentMap, sm: sm?.alignContent ?? propsAlignContentMap.sm, md: md?.alignContent ?? propsAlignContentMap.md, lg: lg?.alignContent ?? propsAlignContentMap.lg } : props.alignContent,
158
+ justifyItems: hasSmOrMdOrLg ? { ...propsJustifyItemsMap, sm: sm?.justifyItems ?? propsJustifyItemsMap.sm, md: md?.justifyItems ?? propsJustifyItemsMap.md, lg: lg?.justifyItems ?? propsJustifyItemsMap.lg } : props.justifyItems,
159
+ justifyContent: hasSmOrMdOrLg ? { ...propsJustifyContentMap, sm: sm?.justifyContent ?? propsJustifyContentMap.sm, md: md?.justifyContent ?? propsJustifyContentMap.md, lg: lg?.justifyContent ?? propsJustifyContentMap.lg } : props.justifyContent
171
160
  };
172
161
  const resolvedProps = (0, import_layout.extractLayoutProps)(propsForExtraction, import_layout.BOX_PROP_DEFS, import_layout.GRID_PROP_DEFS);
173
162
  const finalStyle = writeBoxChildStyleVars(mergedStyle, {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/grid/Grid.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\n\nimport { Slot } from '../slot/Slot'\nimport { resolveLength } from '../../foundations/Shared'\nimport {\n BOX_PROP_DEFS,\n GRID_PROP_DEFS,\n extractLayoutProps,\n type BoxStyleProps,\n type GridStyleProps,\n} from '../../layout/layout.props'\nimport {\n assignResponsiveVars,\n toResponsiveMap,\n type ResponsiveCondition,\n type ResponsiveValue,\n} from '../../layout/responsive.props'\n\ntype GridGapToken = string\ntype GridAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline'\ntype GridJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\n\nconst RESPONSIVE_CONDITIONS: ResponsiveCondition[] = ['initial', 'sm', 'md', 'lg', 'xl', '2xl']\n\nfunction serializeResponsiveValue<T extends string | number | boolean>(value: ResponsiveValue<T> | undefined) {\n const responsive = toResponsiveMap(value)\n const entries = RESPONSIVE_CONDITIONS.flatMap((condition) => {\n const nextValue = responsive[condition]\n\n if (nextValue === undefined) {\n return []\n }\n\n return [[condition, nextValue] as const]\n })\n\n if (entries.length === 0) {\n return undefined\n }\n\n if (entries.length === 1 && entries[0][0] === 'initial') {\n return String(entries[0][1])\n }\n\n return entries.map(([condition, nextValue]) => `${condition}:${String(nextValue)}`).join(';')\n}\n\nfunction getResponsiveVarName(name: string, condition: string): `--${string}` {\n return condition === 'initial' ? (`--${name}` as `--${string}`) : (`--${name}-${condition}` as `--${string}`)\n}\n\ntype Responsive<T> = T | Partial<Record<'initial' | 'sm' | 'md' | 'lg' | 'xl' | '2xl', T>>\n\ntype GridBreakpointProps = {\n align?: GridAlign\n alignContent?: GridAlign | 'stretch'\n areas?: string\n columns?: number | string\n flow?: 'row' | 'column' | 'dense' | 'row dense' | 'column dense'\n gap?: GridGapToken\n justify?: GridJustify\n justifyContent?: GridAlign | 'between' | 'around' | 'evenly'\n justifyItems?: GridAlign\n minItemWidth?: number | string\n rows?: number | string\n}\n\nexport type GridProps = React.HTMLAttributes<HTMLElement> &\n BoxStyleProps &\n Omit<GridStyleProps, 'columns' | 'rows' | 'gap'> & {\n as?: React.ElementType\n asChild?: boolean\n columns?: Responsive<number | string>\n rows?: Responsive<number | string>\n gap?: Responsive<GridGapToken>\n align?: Responsive<GridAlign>\n hide?: Responsive<boolean>\n justify?: Responsive<GridJustify>\n show?: Responsive<boolean>\n minItemWidth?: Responsive<number | string>\n flex?: Responsive<number | string>\n flexGrow?: Responsive<number>\n flexShrink?: Responsive<number>\n flexBasis?: Responsive<number | string>\n order?: Responsive<number>\n gridColumn?: Responsive<string>\n gridRow?: Responsive<string>\n gridArea?: Responsive<string>\n sm?: Partial<GridBreakpointProps>\n md?: Partial<GridBreakpointProps>\n lg?: Partial<GridBreakpointProps>\n }\n\n/**\n * Write child-sizing custom properties to a style object so box.css\n * can consume them via var(--dsx-box-flex, initial) etc.\n */\nfunction writeBoxChildStyleVars(\n style: React.CSSProperties | undefined,\n props: {\n flex?: Responsive<number | string>\n flexGrow?: Responsive<number>\n flexShrink?: Responsive<number>\n flexBasis?: Responsive<number | string>\n order?: Responsive<number>\n gridColumn?: Responsive<string>\n gridRow?: Responsive<string>\n gridArea?: Responsive<string>\n },\n): React.CSSProperties {\n const vars: Record<`--${string}`, string | number | undefined> = {}\n assignResponsiveVars(vars, 'dsx-box-flex', props.flex, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-flex-grow', props.flexGrow, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-flex-shrink', props.flexShrink, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-flex-basis', props.flexBasis, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-order', props.order, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-grid-column', props.gridColumn, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-grid-row', props.gridRow, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-grid-area', props.gridArea, (value) => String(value))\n return Object.keys(vars).length > 0 ? { ...vars, ...style } : style ?? {}\n}\n\nexport const Grid = React.forwardRef<HTMLElement, GridProps>(function Grid(\n { as, asChild = false, className, style, align, hide, justify, minItemWidth, show, sm, md, lg, ...props },\n ref,\n) {\n const Component = asChild ? Slot : (as ?? 'div')\n\n // Merge breakpoint aliases into responsive props\n const propsColumnsMap = toResponsiveMap(props.columns)\n const propsRowsMap = toResponsiveMap(props.rows)\n const propsGapMap = toResponsiveMap(props.gap)\n const propsAlignMap = toResponsiveMap(align)\n const propsJustifyMap = toResponsiveMap(justify)\n const propsMinItemWidthMap = toResponsiveMap(minItemWidth)\n const propsAreasMap = toResponsiveMap(props.areas)\n const propsFlowMap = toResponsiveMap(props.flow)\n const propsAlignContentMap = toResponsiveMap(props.alignContent)\n const propsJustifyItemsMap = toResponsiveMap(props.justifyItems)\n const propsJustifyContentMap = toResponsiveMap(props.justifyContent)\n\n const hasSmOrMdOrLg = Boolean(sm || md || lg)\n\n const responsiveColumns = hasSmOrMdOrLg\n ? { initial: propsColumnsMap.initial, sm: sm?.columns ?? propsColumnsMap.sm, md: md?.columns ?? propsColumnsMap.md, lg: lg?.columns ?? propsColumnsMap.lg }\n : props.columns\n const responsiveRows = hasSmOrMdOrLg\n ? { initial: propsRowsMap.initial, sm: sm?.rows ?? propsRowsMap.sm, md: md?.rows ?? propsRowsMap.md, lg: lg?.rows ?? propsRowsMap.lg }\n : props.rows\n const responsiveGap = hasSmOrMdOrLg\n ? { initial: propsGapMap.initial, sm: sm?.gap ?? propsGapMap.sm, md: md?.gap ?? propsGapMap.md, lg: lg?.gap ?? propsGapMap.lg }\n : props.gap\n const responsiveAlign = hasSmOrMdOrLg\n ? { initial: propsAlignMap.initial, sm: sm?.align ?? propsAlignMap.sm, md: md?.align ?? propsAlignMap.md, lg: lg?.align ?? propsAlignMap.lg }\n : align\n const responsiveJustify = hasSmOrMdOrLg\n ? { initial: propsJustifyMap.initial, sm: sm?.justify ?? propsJustifyMap.sm, md: md?.justify ?? propsJustifyMap.md, lg: lg?.justify ?? propsJustifyMap.lg }\n : justify\n const responsiveMinItemWidth = hasSmOrMdOrLg\n ? { initial: propsMinItemWidthMap.initial, sm: sm?.minItemWidth ?? propsMinItemWidthMap.sm, md: md?.minItemWidth ?? propsMinItemWidthMap.md, lg: lg?.minItemWidth ?? propsMinItemWidthMap.lg }\n : minItemWidth\n\n // Extract child-sizing props before passing to extractLayoutProps\n const {\n flex,\n flexGrow,\n flexShrink,\n flexBasis,\n order,\n gridColumn,\n gridRow,\n gridArea,\n ...layoutProps\n } = props\n\n // Build grid-specific CSS vars\n const gridVars: Record<string, string> = {}\n const responsiveConditions = ['initial', 'sm', 'md', 'lg', 'xl', '2xl'] as const\n\n // Handle columns\n const responsiveColumnsMap = toResponsiveMap(responsiveColumns)\n const minItemWidthMap = responsiveMinItemWidth ? toResponsiveMap(responsiveMinItemWidth) : null\n let lastColumns: number | string | undefined\n for (const condition of responsiveConditions) {\n const nextMinItemWidth = minItemWidthMap?.[condition]\n if (nextMinItemWidth !== undefined) {\n gridVars[getResponsiveVarName('dsx-grid-columns', condition)] =\n `repeat(auto-fit, minmax(${resolveLength(nextMinItemWidth)}, 1fr))`\n lastColumns = nextMinItemWidth\n continue\n }\n const nextColumns = responsiveColumnsMap[condition]\n if (nextColumns !== undefined) {\n gridVars[getResponsiveVarName('dsx-grid-columns', condition)] =\n typeof nextColumns === 'number'\n ? `repeat(${nextColumns}, minmax(0, 1fr))`\n : String(nextColumns)\n lastColumns = nextColumns\n } else if (lastColumns !== undefined) {\n gridVars[getResponsiveVarName('dsx-grid-columns', condition)] =\n typeof lastColumns === 'number'\n ? `repeat(${lastColumns}, minmax(0, 1fr))`\n : String(lastColumns)\n }\n }\n\n // Handle rows\n const responsiveRowsMap = toResponsiveMap(responsiveRows)\n let lastRows: number | string | undefined\n for (const condition of responsiveConditions) {\n const nextRows = responsiveRowsMap[condition]\n if (nextRows !== undefined) {\n gridVars[getResponsiveVarName('dsx-grid-rows', condition)] =\n typeof nextRows === 'number' ? `repeat(${nextRows}, minmax(0, 1fr))` : String(nextRows)\n lastRows = nextRows\n } else if (lastRows !== undefined) {\n gridVars[getResponsiveVarName('dsx-grid-rows', condition)] =\n typeof lastRows === 'number' ? `repeat(${lastRows}, minmax(0, 1fr))` : String(lastRows)\n }\n }\n\n // Handle align (align-items)\n const responsiveAlignMap = toResponsiveMap(responsiveAlign)\n let lastAlign: string | undefined\n for (const condition of responsiveConditions) {\n const nextAlign = responsiveAlignMap[condition]\n if (nextAlign !== undefined) {\n const val = nextAlign === 'start' || nextAlign === 'end' ? `flex-${nextAlign}` : String(nextAlign)\n gridVars[getResponsiveVarName('dsx-grid-align', condition)] = val\n lastAlign = val\n } else if (lastAlign !== undefined) {\n gridVars[getResponsiveVarName('dsx-grid-align', condition)] = lastAlign\n }\n }\n\n // Handle justify (justify-content shorthand)\n const responsiveJustifyMap = toResponsiveMap(responsiveJustify)\n let lastJustify: string | undefined\n for (const condition of responsiveConditions) {\n const nextJustify = responsiveJustifyMap[condition]\n if (nextJustify !== undefined) {\n const val = nextJustify === 'between' ? 'space-between'\n : nextJustify === 'around' ? 'space-around'\n : nextJustify === 'evenly' ? 'space-evenly'\n : nextJustify === 'start' || nextJustify === 'end' ? `flex-${nextJustify}`\n : String(nextJustify)\n gridVars[getResponsiveVarName('dsx-grid-justify', condition)] = val\n lastJustify = val\n } else if (lastJustify !== undefined) {\n gridVars[getResponsiveVarName('dsx-grid-justify', condition)] = lastJustify\n }\n }\n\n // Merge grid vars into style\n const mergedStyle = Object.keys(gridVars).length > 0\n ? { ...style, ...gridVars }\n : style\n\n // Pass merged responsive values to extractLayoutProps\n const propsForExtraction = {\n ...layoutProps,\n columns: responsiveColumns,\n rows: responsiveRows,\n gap: responsiveGap,\n areas: hasSmOrMdOrLg\n ? { initial: propsAreasMap.initial, sm: sm?.areas ?? propsAreasMap.sm, md: md?.areas ?? propsAreasMap.md, lg: lg?.areas ?? propsAreasMap.lg }\n : props.areas,\n flow: hasSmOrMdOrLg\n ? { initial: propsFlowMap.initial, sm: sm?.flow ?? propsFlowMap.sm, md: md?.flow ?? propsFlowMap.md, lg: lg?.flow ?? propsFlowMap.lg }\n : props.flow,\n alignContent: hasSmOrMdOrLg\n ? { initial: propsAlignContentMap.initial, sm: sm?.alignContent ?? propsAlignContentMap.sm, md: md?.alignContent ?? propsAlignContentMap.md, lg: lg?.alignContent ?? propsAlignContentMap.lg }\n : props.alignContent,\n justifyItems: hasSmOrMdOrLg\n ? { initial: propsJustifyItemsMap.initial, sm: sm?.justifyItems ?? propsJustifyItemsMap.sm, md: md?.justifyItems ?? propsJustifyItemsMap.md, lg: lg?.justifyItems ?? propsJustifyItemsMap.lg }\n : props.justifyItems,\n justifyContent: hasSmOrMdOrLg\n ? { initial: propsJustifyContentMap.initial, sm: sm?.justifyContent ?? propsJustifyContentMap.sm, md: md?.justifyContent ?? propsJustifyContentMap.md, lg: lg?.justifyContent ?? propsJustifyContentMap.lg }\n : props.justifyContent,\n }\n\n const resolvedProps = extractLayoutProps(propsForExtraction, BOX_PROP_DEFS, GRID_PROP_DEFS)\n\n const finalStyle = writeBoxChildStyleVars(mergedStyle, {\n flex,\n flexGrow,\n flexShrink,\n flexBasis,\n order,\n gridColumn,\n gridRow,\n gridArea,\n })\n\n const displayVars: Record<`--${string}`, string | number | undefined> = {}\n assignResponsiveVars(displayVars, 'dsx-box-display', hide, (value) => (value ? 'none' : 'grid'))\n assignResponsiveVars(displayVars, 'dsx-box-display', show, (value) => (value ? 'grid' : 'none'))\n const finalStyleWithDisplay = Object.keys(displayVars).length > 0\n ? { ...displayVars, ...finalStyle }\n : finalStyle\n\n return (\n <Component\n {...resolvedProps}\n ref={ref as never}\n className={classNames('dsx-box', 'dsx-grid', resolvedProps.className, className)}\n style={finalStyleWithDisplay}\n data-gap={serializeResponsiveValue(responsiveGap)}\n data-align={serializeResponsiveValue(responsiveAlign)}\n data-justify={serializeResponsiveValue(responsiveJustify)}\n />\n )\n})\n\nGrid.displayName = 'Grid'\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\n\nimport { Slot } from '../slot/Slot'\nimport { resolveLength } from '../../foundations/Shared'\nimport {\n BOX_PROP_DEFS,\n GRID_PROP_DEFS,\n extractLayoutProps,\n type BoxStyleProps,\n type GridStyleProps,\n} from '../../layout/layout.props'\nimport {\n assignResponsiveVars,\n toResponsiveMap,\n type ResponsiveCondition,\n type ResponsiveValue,\n} from '../../layout/responsive.props'\n\ntype GridGapToken = string\ntype GridAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline'\ntype GridJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'\n\nconst RESPONSIVE_CONDITIONS: ResponsiveCondition[] = ['initial', 'sm', 'md', 'lg', 'xl', '2xl']\n\nfunction serializeResponsiveValue<T extends string | number | boolean>(value: ResponsiveValue<T> | undefined) {\n const responsive = toResponsiveMap(value)\n const entries = RESPONSIVE_CONDITIONS.flatMap((condition) => {\n const nextValue = responsive[condition]\n\n if (nextValue === undefined) {\n return []\n }\n\n return [[condition, nextValue] as const]\n })\n\n if (entries.length === 0) {\n return undefined\n }\n\n if (entries.length === 1 && entries[0][0] === 'initial') {\n return String(entries[0][1])\n }\n\n return entries.map(([condition, nextValue]) => `${condition}:${String(nextValue)}`).join(';')\n}\n\nfunction getResponsiveVarName(name: string, condition: string): `--${string}` {\n return condition === 'initial' ? (`--${name}` as `--${string}`) : (`--${name}-${condition}` as `--${string}`)\n}\n\ntype Responsive<T> = T | Partial<Record<'initial' | 'sm' | 'md' | 'lg' | 'xl' | '2xl', T>>\n\ntype GridBreakpointProps = {\n align?: GridAlign\n alignContent?: GridAlign | 'stretch'\n areas?: string\n columns?: number | string\n flow?: 'row' | 'column' | 'dense' | 'row dense' | 'column dense'\n gap?: GridGapToken\n justify?: GridJustify\n justifyContent?: GridAlign | 'between' | 'around' | 'evenly'\n justifyItems?: GridAlign\n minItemWidth?: number | string\n rows?: number | string\n}\n\nexport type GridProps = React.HTMLAttributes<HTMLElement> &\n BoxStyleProps &\n Omit<GridStyleProps, 'columns' | 'rows' | 'gap'> & {\n as?: React.ElementType\n asChild?: boolean\n columns?: Responsive<number | string>\n rows?: Responsive<number | string>\n gap?: Responsive<GridGapToken>\n align?: Responsive<GridAlign>\n hide?: Responsive<boolean>\n justify?: Responsive<GridJustify>\n show?: Responsive<boolean>\n minItemWidth?: Responsive<number | string>\n flex?: Responsive<number | string>\n flexGrow?: Responsive<number>\n flexShrink?: Responsive<number>\n flexBasis?: Responsive<number | string>\n order?: Responsive<number>\n gridColumn?: Responsive<string>\n gridRow?: Responsive<string>\n gridArea?: Responsive<string>\n sm?: Partial<GridBreakpointProps>\n md?: Partial<GridBreakpointProps>\n lg?: Partial<GridBreakpointProps>\n }\n\n/**\n * Write child-sizing custom properties to a style object so box.css\n * can consume them via var(--dsx-box-flex, initial) etc.\n */\nfunction writeBoxChildStyleVars(\n style: React.CSSProperties | undefined,\n props: {\n flex?: Responsive<number | string>\n flexGrow?: Responsive<number>\n flexShrink?: Responsive<number>\n flexBasis?: Responsive<number | string>\n order?: Responsive<number>\n gridColumn?: Responsive<string>\n gridRow?: Responsive<string>\n gridArea?: Responsive<string>\n },\n): React.CSSProperties {\n const vars: Record<`--${string}`, string | number | undefined> = {}\n assignResponsiveVars(vars, 'dsx-box-flex', props.flex, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-flex-grow', props.flexGrow, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-flex-shrink', props.flexShrink, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-flex-basis', props.flexBasis, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-order', props.order, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-grid-column', props.gridColumn, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-grid-row', props.gridRow, (value) => String(value))\n assignResponsiveVars(vars, 'dsx-box-grid-area', props.gridArea, (value) => String(value))\n return Object.keys(vars).length > 0 ? { ...vars, ...style } : style ?? {}\n}\n\nexport const Grid = React.forwardRef<HTMLElement, GridProps>(function Grid(\n { as, asChild = false, className, style, align, hide, justify, minItemWidth, show, sm, md, lg, ...props },\n ref,\n) {\n const Component = asChild ? Slot : (as ?? 'div')\n\n // Merge breakpoint aliases into responsive props\n const propsColumnsMap = toResponsiveMap(props.columns)\n const propsRowsMap = toResponsiveMap(props.rows)\n const propsGapMap = toResponsiveMap(props.gap)\n const propsAlignMap = toResponsiveMap(align)\n const propsJustifyMap = toResponsiveMap(justify)\n const propsMinItemWidthMap = toResponsiveMap(minItemWidth)\n const propsAreasMap = toResponsiveMap(props.areas)\n const propsFlowMap = toResponsiveMap(props.flow)\n const propsAlignContentMap = toResponsiveMap(props.alignContent)\n const propsJustifyItemsMap = toResponsiveMap(props.justifyItems)\n const propsJustifyContentMap = toResponsiveMap(props.justifyContent)\n\n const hasSmOrMdOrLg = Boolean(sm || md || lg)\n\n const responsiveColumns = hasSmOrMdOrLg\n ? { ...propsColumnsMap, sm: sm?.columns ?? propsColumnsMap.sm, md: md?.columns ?? propsColumnsMap.md, lg: lg?.columns ?? propsColumnsMap.lg }\n : props.columns\n const responsiveRows = hasSmOrMdOrLg\n ? { ...propsRowsMap, sm: sm?.rows ?? propsRowsMap.sm, md: md?.rows ?? propsRowsMap.md, lg: lg?.rows ?? propsRowsMap.lg }\n : props.rows\n const responsiveGap = hasSmOrMdOrLg\n ? { ...propsGapMap, sm: sm?.gap ?? propsGapMap.sm, md: md?.gap ?? propsGapMap.md, lg: lg?.gap ?? propsGapMap.lg }\n : props.gap\n const responsiveAlign = hasSmOrMdOrLg\n ? { ...propsAlignMap, sm: sm?.align ?? propsAlignMap.sm, md: md?.align ?? propsAlignMap.md, lg: lg?.align ?? propsAlignMap.lg }\n : align\n const responsiveJustify = hasSmOrMdOrLg\n ? { ...propsJustifyMap, sm: sm?.justify ?? propsJustifyMap.sm, md: md?.justify ?? propsJustifyMap.md, lg: lg?.justify ?? propsJustifyMap.lg }\n : justify\n const responsiveMinItemWidth = hasSmOrMdOrLg\n ? { ...propsMinItemWidthMap, sm: sm?.minItemWidth ?? propsMinItemWidthMap.sm, md: md?.minItemWidth ?? propsMinItemWidthMap.md, lg: lg?.minItemWidth ?? propsMinItemWidthMap.lg }\n : minItemWidth\n\n // Extract child-sizing props before passing to extractLayoutProps\n const {\n flex,\n flexGrow,\n flexShrink,\n flexBasis,\n order,\n gridColumn,\n gridRow,\n gridArea,\n ...layoutProps\n } = props\n\n // Build grid-specific CSS vars\n const gridVars: Record<string, string> = {}\n const responsiveConditions = ['initial', 'sm', 'md', 'lg', 'xl', '2xl'] as const\n\n // Keep one owner for track paint. Auto-fit minimums remain widths across\n // breakpoints; an omitted condition inherits the most recent value.\n const responsiveColumnsMap = toResponsiveMap(responsiveColumns)\n const minItemWidthMap = toResponsiveMap(responsiveMinItemWidth)\n let activeMinWidth: number | string | undefined\n let activeColumns: number | string | undefined\n for (const condition of responsiveConditions) {\n activeMinWidth = minItemWidthMap[condition] ?? activeMinWidth\n activeColumns = responsiveColumnsMap[condition] ?? activeColumns\n const tracks = activeMinWidth !== undefined\n ? `repeat(auto-fit, minmax(${resolveLength(activeMinWidth)}, 1fr))`\n : activeColumns !== undefined\n ? /^\\d+$/.test(String(activeColumns))\n ? `repeat(${activeColumns}, minmax(0, 1fr))`\n : String(activeColumns)\n : undefined\n if (tracks !== undefined) gridVars[getResponsiveVarName('dsx-grid-columns', condition)] = tracks\n }\n\n const responsiveRowsMap = toResponsiveMap(responsiveRows)\n let activeRows: number | string | undefined\n for (const condition of responsiveConditions) {\n activeRows = responsiveRowsMap[condition] ?? activeRows\n if (activeRows !== undefined) {\n gridVars[getResponsiveVarName('dsx-grid-rows', condition)] = /^\\d+$/.test(String(activeRows))\n ? `repeat(${activeRows}, minmax(0, 1fr))`\n : String(activeRows)\n }\n }\n\n // Handle align (align-items)\n const responsiveAlignMap = toResponsiveMap(responsiveAlign)\n let lastAlign: string | undefined\n for (const condition of responsiveConditions) {\n const nextAlign = responsiveAlignMap[condition]\n if (nextAlign !== undefined) {\n const val = nextAlign === 'start' || nextAlign === 'end' ? `flex-${nextAlign}` : String(nextAlign)\n gridVars[getResponsiveVarName('dsx-grid-align', condition)] = val\n lastAlign = val\n } else if (lastAlign !== undefined) {\n gridVars[getResponsiveVarName('dsx-grid-align', condition)] = lastAlign\n }\n }\n\n // Handle justify (justify-content shorthand)\n const responsiveJustifyMap = toResponsiveMap(responsiveJustify)\n let lastJustify: string | undefined\n for (const condition of responsiveConditions) {\n const nextJustify = responsiveJustifyMap[condition]\n if (nextJustify !== undefined) {\n const val = nextJustify === 'between' ? 'space-between'\n : nextJustify === 'around' ? 'space-around'\n : nextJustify === 'evenly' ? 'space-evenly'\n : nextJustify === 'start' || nextJustify === 'end' ? `flex-${nextJustify}`\n : String(nextJustify)\n gridVars[getResponsiveVarName('dsx-grid-justify', condition)] = val\n lastJustify = val\n } else if (lastJustify !== undefined) {\n gridVars[getResponsiveVarName('dsx-grid-justify', condition)] = lastJustify\n }\n }\n\n // Merge grid vars into style\n const mergedStyle = Object.keys(gridVars).length > 0\n ? { ...style, ...gridVars }\n : style\n\n // Pass merged responsive values to extractLayoutProps\n const propsForExtraction = {\n ...layoutProps,\n columns: undefined,\n rows: undefined,\n gap: responsiveGap,\n areas: hasSmOrMdOrLg\n ? { ...propsAreasMap, sm: sm?.areas ?? propsAreasMap.sm, md: md?.areas ?? propsAreasMap.md, lg: lg?.areas ?? propsAreasMap.lg }\n : props.areas,\n flow: hasSmOrMdOrLg\n ? { ...propsFlowMap, sm: sm?.flow ?? propsFlowMap.sm, md: md?.flow ?? propsFlowMap.md, lg: lg?.flow ?? propsFlowMap.lg }\n : props.flow,\n alignContent: hasSmOrMdOrLg\n ? { ...propsAlignContentMap, sm: sm?.alignContent ?? propsAlignContentMap.sm, md: md?.alignContent ?? propsAlignContentMap.md, lg: lg?.alignContent ?? propsAlignContentMap.lg }\n : props.alignContent,\n justifyItems: hasSmOrMdOrLg\n ? { ...propsJustifyItemsMap, sm: sm?.justifyItems ?? propsJustifyItemsMap.sm, md: md?.justifyItems ?? propsJustifyItemsMap.md, lg: lg?.justifyItems ?? propsJustifyItemsMap.lg }\n : props.justifyItems,\n justifyContent: hasSmOrMdOrLg\n ? { ...propsJustifyContentMap, sm: sm?.justifyContent ?? propsJustifyContentMap.sm, md: md?.justifyContent ?? propsJustifyContentMap.md, lg: lg?.justifyContent ?? propsJustifyContentMap.lg }\n : props.justifyContent,\n }\n\n const resolvedProps = extractLayoutProps(propsForExtraction, BOX_PROP_DEFS, GRID_PROP_DEFS)\n\n const finalStyle = writeBoxChildStyleVars(mergedStyle, {\n flex,\n flexGrow,\n flexShrink,\n flexBasis,\n order,\n gridColumn,\n gridRow,\n gridArea,\n })\n\n const displayVars: Record<`--${string}`, string | number | undefined> = {}\n assignResponsiveVars(displayVars, 'dsx-box-display', hide, (value) => (value ? 'none' : 'grid'))\n assignResponsiveVars(displayVars, 'dsx-box-display', show, (value) => (value ? 'grid' : 'none'))\n const finalStyleWithDisplay = Object.keys(displayVars).length > 0\n ? { ...displayVars, ...finalStyle }\n : finalStyle\n\n return (\n <Component\n {...resolvedProps}\n ref={ref as never}\n className={classNames('dsx-box', 'dsx-grid', resolvedProps.className, className)}\n style={finalStyleWithDisplay}\n data-gap={serializeResponsiveValue(responsiveGap)}\n data-align={serializeResponsiveValue(responsiveAlign)}\n data-justify={serializeResponsiveValue(responsiveJustify)}\n />\n )\n})\n\nGrid.displayName = 'Grid'\n"],
5
+ "mappings": "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",
6
6
  "names": ["Grid", "classNames"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.d.cts","sourceRoot":"","sources":["../../../src/components/grid/Grid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Grid.d.cts","sourceRoot":"","sources":["../../../src/components/grid/Grid.tsx"],"names":[],"mappings":"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"}