@d4gger/design-system 3.0.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (450) hide show
  1. package/README.md +19 -0
  2. package/dist/components/accordion.css +9 -2
  3. package/dist/components/alert/Alert.cjs +11 -7
  4. package/dist/components/alert/Alert.cjs.map +2 -2
  5. package/dist/components/alert/Alert.d.cts.map +1 -1
  6. package/dist/components/alert/Alert.d.mts.map +1 -1
  7. package/dist/components/alert/Alert.d.ts.map +1 -1
  8. package/dist/components/alert/Alert.js +12 -8
  9. package/dist/components/alert/Alert.js.map +2 -2
  10. package/dist/components/alert.css +13 -0
  11. package/dist/components/article-nodes.css +16 -1
  12. package/dist/components/articleNodes/ArticleNodes.cjs +46 -5
  13. package/dist/components/articleNodes/ArticleNodes.cjs.map +2 -2
  14. package/dist/components/articleNodes/ArticleNodes.d.cts +7 -3
  15. package/dist/components/articleNodes/ArticleNodes.d.cts.map +1 -1
  16. package/dist/components/articleNodes/ArticleNodes.d.mts +7 -3
  17. package/dist/components/articleNodes/ArticleNodes.d.mts.map +1 -1
  18. package/dist/components/articleNodes/ArticleNodes.d.ts +7 -3
  19. package/dist/components/articleNodes/ArticleNodes.d.ts.map +1 -1
  20. package/dist/components/articleNodes/ArticleNodes.js +46 -5
  21. package/dist/components/articleNodes/ArticleNodes.js.map +2 -2
  22. package/dist/components/articleNodes/articleExtensions.cjs +21 -4
  23. package/dist/components/articleNodes/articleExtensions.cjs.map +2 -2
  24. package/dist/components/articleNodes/articleExtensions.d.cts +8 -2
  25. package/dist/components/articleNodes/articleExtensions.d.cts.map +1 -1
  26. package/dist/components/articleNodes/articleExtensions.d.mts +8 -2
  27. package/dist/components/articleNodes/articleExtensions.d.mts.map +1 -1
  28. package/dist/components/articleNodes/articleExtensions.d.ts +8 -2
  29. package/dist/components/articleNodes/articleExtensions.d.ts.map +1 -1
  30. package/dist/components/articleNodes/articleExtensions.js +21 -4
  31. package/dist/components/articleNodes/articleExtensions.js.map +2 -2
  32. package/dist/components/articleNodes/articleNodeViews.cjs +154 -0
  33. package/dist/components/articleNodes/articleNodeViews.cjs.map +7 -0
  34. package/dist/components/articleNodes/articleNodeViews.d.cts +3 -0
  35. package/dist/components/articleNodes/articleNodeViews.d.cts.map +1 -0
  36. package/dist/components/articleNodes/articleNodeViews.d.mts +3 -0
  37. package/dist/components/articleNodes/articleNodeViews.d.mts.map +1 -0
  38. package/dist/components/articleNodes/articleNodeViews.d.ts +3 -0
  39. package/dist/components/articleNodes/articleNodeViews.d.ts.map +1 -0
  40. package/dist/components/articleNodes/articleNodeViews.js +124 -0
  41. package/dist/components/articleNodes/articleNodeViews.js.map +7 -0
  42. package/dist/components/articleNodes/articleNodes.props.cjs.map +1 -1
  43. package/dist/components/articleNodes/articleNodes.props.d.cts +25 -2
  44. package/dist/components/articleNodes/articleNodes.props.d.cts.map +1 -1
  45. package/dist/components/articleNodes/articleNodes.props.d.mts +25 -2
  46. package/dist/components/articleNodes/articleNodes.props.d.mts.map +1 -1
  47. package/dist/components/articleNodes/articleNodes.props.d.ts +25 -2
  48. package/dist/components/articleNodes/articleNodes.props.d.ts.map +1 -1
  49. package/dist/components/banner.css +5 -4
  50. package/dist/components/blockquote.css +7 -4
  51. package/dist/components/bottom-dock.css +132 -0
  52. package/dist/components/bottomDock/BottomDock.cjs +140 -0
  53. package/dist/components/bottomDock/BottomDock.cjs.map +7 -0
  54. package/dist/components/bottomDock/BottomDock.d.cts +25 -0
  55. package/dist/components/bottomDock/BottomDock.d.cts.map +1 -0
  56. package/dist/components/bottomDock/BottomDock.d.mts +25 -0
  57. package/dist/components/bottomDock/BottomDock.d.mts.map +1 -0
  58. package/dist/components/bottomDock/BottomDock.d.ts +25 -0
  59. package/dist/components/bottomDock/BottomDock.d.ts.map +1 -0
  60. package/dist/components/bottomDock/BottomDock.js +110 -0
  61. package/dist/components/bottomDock/BottomDock.js.map +7 -0
  62. package/dist/components/bottomDock/bottomDock.props.cjs +49 -0
  63. package/dist/components/bottomDock/bottomDock.props.cjs.map +7 -0
  64. package/dist/components/bottomDock/bottomDock.props.d.cts +29 -0
  65. package/dist/components/bottomDock/bottomDock.props.d.cts.map +1 -0
  66. package/dist/components/bottomDock/bottomDock.props.d.mts +29 -0
  67. package/dist/components/bottomDock/bottomDock.props.d.mts.map +1 -0
  68. package/dist/components/bottomDock/bottomDock.props.d.ts +29 -0
  69. package/dist/components/bottomDock/bottomDock.props.d.ts.map +1 -0
  70. package/dist/components/bottomDock/bottomDock.props.js +29 -0
  71. package/dist/components/bottomDock/bottomDock.props.js.map +7 -0
  72. package/dist/components/breadcrumb.css +24 -3
  73. package/dist/components/callout.css +20 -7
  74. package/dist/components/card.css +8 -0
  75. package/dist/components/code.css +29 -13
  76. package/dist/components/collapsible/Collapsible.cjs +4 -0
  77. package/dist/components/collapsible/Collapsible.cjs.map +2 -2
  78. package/dist/components/collapsible/Collapsible.d.cts.map +1 -1
  79. package/dist/components/collapsible/Collapsible.d.mts.map +1 -1
  80. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  81. package/dist/components/collapsible/Collapsible.js +4 -0
  82. package/dist/components/collapsible/Collapsible.js.map +2 -2
  83. package/dist/components/collapsible.css +10 -1
  84. package/dist/components/command.css +0 -2
  85. package/dist/components/comment-thread.css +15 -7
  86. package/dist/components/commentThread/CommentThread.cjs +45 -17
  87. package/dist/components/commentThread/CommentThread.cjs.map +2 -2
  88. package/dist/components/commentThread/CommentThread.d.cts +6 -6
  89. package/dist/components/commentThread/CommentThread.d.cts.map +1 -1
  90. package/dist/components/commentThread/CommentThread.d.mts +6 -6
  91. package/dist/components/commentThread/CommentThread.d.mts.map +1 -1
  92. package/dist/components/commentThread/CommentThread.d.ts +6 -6
  93. package/dist/components/commentThread/CommentThread.d.ts.map +1 -1
  94. package/dist/components/commentThread/CommentThread.js +45 -17
  95. package/dist/components/commentThread/CommentThread.js.map +2 -2
  96. package/dist/components/commentThread/commentThread.props.cjs.map +1 -1
  97. package/dist/components/commentThread/commentThread.props.d.cts +24 -0
  98. package/dist/components/commentThread/commentThread.props.d.cts.map +1 -1
  99. package/dist/components/commentThread/commentThread.props.d.mts +24 -0
  100. package/dist/components/commentThread/commentThread.props.d.mts.map +1 -1
  101. package/dist/components/commentThread/commentThread.props.d.ts +24 -0
  102. package/dist/components/commentThread/commentThread.props.d.ts.map +1 -1
  103. package/dist/components/config-drawer.css +7 -3
  104. package/dist/components/configDrawer/ConfigDrawer.cjs +1 -1
  105. package/dist/components/configDrawer/ConfigDrawer.cjs.map +2 -2
  106. package/dist/components/configDrawer/ConfigDrawer.js +1 -1
  107. package/dist/components/configDrawer/ConfigDrawer.js.map +2 -2
  108. package/dist/components/context-menu.css +3 -1
  109. package/dist/components/contextMenu/ContextMenu.cjs +37 -6
  110. package/dist/components/contextMenu/ContextMenu.cjs.map +2 -2
  111. package/dist/components/contextMenu/ContextMenu.d.cts +1 -1
  112. package/dist/components/contextMenu/ContextMenu.d.cts.map +1 -1
  113. package/dist/components/contextMenu/ContextMenu.d.mts +1 -1
  114. package/dist/components/contextMenu/ContextMenu.d.mts.map +1 -1
  115. package/dist/components/contextMenu/ContextMenu.d.ts +1 -1
  116. package/dist/components/contextMenu/ContextMenu.d.ts.map +1 -1
  117. package/dist/components/contextMenu/ContextMenu.js +37 -6
  118. package/dist/components/contextMenu/ContextMenu.js.map +2 -2
  119. package/dist/components/drawer.css +23 -6
  120. package/dist/components/dropdownMenu/DropdownMenu.cjs +10 -5
  121. package/dist/components/dropdownMenu/DropdownMenu.cjs.map +2 -2
  122. package/dist/components/dropdownMenu/DropdownMenu.d.cts.map +1 -1
  123. package/dist/components/dropdownMenu/DropdownMenu.d.mts.map +1 -1
  124. package/dist/components/dropdownMenu/DropdownMenu.d.ts.map +1 -1
  125. package/dist/components/dropdownMenu/DropdownMenu.js +10 -5
  126. package/dist/components/dropdownMenu/DropdownMenu.js.map +2 -2
  127. package/dist/components/file-upload.css +36 -9
  128. package/dist/components/floating-panel.css +49 -18
  129. package/dist/components/floatingPanel/FloatingPanel.cjs +156 -58
  130. package/dist/components/floatingPanel/FloatingPanel.cjs.map +2 -2
  131. package/dist/components/floatingPanel/FloatingPanel.d.cts.map +1 -1
  132. package/dist/components/floatingPanel/FloatingPanel.d.mts.map +1 -1
  133. package/dist/components/floatingPanel/FloatingPanel.d.ts.map +1 -1
  134. package/dist/components/floatingPanel/FloatingPanel.js +156 -58
  135. package/dist/components/floatingPanel/FloatingPanel.js.map +2 -2
  136. package/dist/components/grid/Grid.cjs +24 -35
  137. package/dist/components/grid/Grid.cjs.map +2 -2
  138. package/dist/components/grid/Grid.d.cts.map +1 -1
  139. package/dist/components/grid/Grid.d.mts.map +1 -1
  140. package/dist/components/grid/Grid.d.ts.map +1 -1
  141. package/dist/components/grid/Grid.js +24 -35
  142. package/dist/components/grid/Grid.js.map +2 -2
  143. package/dist/components/heading/Heading.cjs +1 -8
  144. package/dist/components/heading/Heading.cjs.map +2 -2
  145. package/dist/components/heading/Heading.d.cts.map +1 -1
  146. package/dist/components/heading/Heading.d.mts.map +1 -1
  147. package/dist/components/heading/Heading.d.ts.map +1 -1
  148. package/dist/components/heading/Heading.js +1 -8
  149. package/dist/components/heading/Heading.js.map +2 -2
  150. package/dist/components/heading/heading.props.cjs +9 -9
  151. package/dist/components/heading/heading.props.cjs.map +2 -2
  152. package/dist/components/heading/heading.props.d.cts +42 -43
  153. package/dist/components/heading/heading.props.d.cts.map +1 -1
  154. package/dist/components/heading/heading.props.d.mts +42 -43
  155. package/dist/components/heading/heading.props.d.mts.map +1 -1
  156. package/dist/components/heading/heading.props.d.ts +42 -43
  157. package/dist/components/heading/heading.props.d.ts.map +1 -1
  158. package/dist/components/heading/heading.props.js +9 -9
  159. package/dist/components/heading/heading.props.js.map +2 -2
  160. package/dist/components/heading.css +127 -104
  161. package/dist/components/hover-card.css +5 -2
  162. package/dist/components/icon/Icon.cjs +3 -0
  163. package/dist/components/icon/Icon.cjs.map +2 -2
  164. package/dist/components/icon/Icon.d.cts +5 -1
  165. package/dist/components/icon/Icon.d.cts.map +1 -1
  166. package/dist/components/icon/Icon.d.mts +5 -1
  167. package/dist/components/icon/Icon.d.mts.map +1 -1
  168. package/dist/components/icon/Icon.d.ts +5 -1
  169. package/dist/components/icon/Icon.d.ts.map +1 -1
  170. package/dist/components/icon/Icon.js +4 -0
  171. package/dist/components/icon/Icon.js.map +2 -2
  172. package/dist/components/icon/icons.cjs +2 -0
  173. package/dist/components/icon/icons.cjs.map +2 -2
  174. package/dist/components/icon/icons.d.cts +5 -0
  175. package/dist/components/icon/icons.d.cts.map +1 -1
  176. package/dist/components/icon/icons.d.mts +5 -0
  177. package/dist/components/icon/icons.d.mts.map +1 -1
  178. package/dist/components/icon/icons.d.ts +5 -0
  179. package/dist/components/icon/icons.d.ts.map +1 -1
  180. package/dist/components/icon/icons.js +2 -0
  181. package/dist/components/icon/icons.js.map +2 -2
  182. package/dist/components/index.cjs +1 -0
  183. package/dist/components/index.cjs.map +2 -2
  184. package/dist/components/index.d.cts +1 -0
  185. package/dist/components/index.d.cts.map +1 -1
  186. package/dist/components/index.d.mts +1 -0
  187. package/dist/components/index.d.mts.map +1 -1
  188. package/dist/components/index.d.ts +1 -0
  189. package/dist/components/index.d.ts.map +1 -1
  190. package/dist/components/index.js +1 -0
  191. package/dist/components/index.js.map +2 -2
  192. package/dist/components/label.css +3 -0
  193. package/dist/components/link.css +33 -97
  194. package/dist/components/notification-center.css +49 -9
  195. package/dist/components/notificationCenter/NotificationCenter.cjs +21 -16
  196. package/dist/components/notificationCenter/NotificationCenter.cjs.map +2 -2
  197. package/dist/components/notificationCenter/NotificationCenter.d.cts.map +1 -1
  198. package/dist/components/notificationCenter/NotificationCenter.d.mts.map +1 -1
  199. package/dist/components/notificationCenter/NotificationCenter.d.ts.map +1 -1
  200. package/dist/components/notificationCenter/NotificationCenter.js +22 -17
  201. package/dist/components/notificationCenter/NotificationCenter.js.map +2 -2
  202. package/dist/components/pills/Pills.cjs +1 -1
  203. package/dist/components/pills/Pills.cjs.map +2 -2
  204. package/dist/components/pills/Pills.js +2 -2
  205. package/dist/components/pills/Pills.js.map +2 -2
  206. package/dist/components/pills.css +6 -0
  207. package/dist/components/popover.css +45 -6
  208. package/dist/components/prose.css +3 -3
  209. package/dist/components/qr-code.css +5 -2
  210. package/dist/components/qrCode/QrCode.cjs +14 -11
  211. package/dist/components/qrCode/QrCode.cjs.map +2 -2
  212. package/dist/components/qrCode/QrCode.d.cts.map +1 -1
  213. package/dist/components/qrCode/QrCode.d.mts.map +1 -1
  214. package/dist/components/qrCode/QrCode.d.ts.map +1 -1
  215. package/dist/components/qrCode/QrCode.js +14 -11
  216. package/dist/components/qrCode/QrCode.js.map +2 -2
  217. package/dist/components/resizable.css +20 -4
  218. package/dist/components/rich-text-editor.css +50 -14
  219. package/dist/components/richTextEditor/EditorTools.cjs +226 -0
  220. package/dist/components/richTextEditor/EditorTools.cjs.map +7 -0
  221. package/dist/components/richTextEditor/EditorTools.d.cts +22 -0
  222. package/dist/components/richTextEditor/EditorTools.d.cts.map +1 -0
  223. package/dist/components/richTextEditor/EditorTools.d.mts +22 -0
  224. package/dist/components/richTextEditor/EditorTools.d.mts.map +1 -0
  225. package/dist/components/richTextEditor/EditorTools.d.ts +22 -0
  226. package/dist/components/richTextEditor/EditorTools.d.ts.map +1 -0
  227. package/dist/components/richTextEditor/EditorTools.js +196 -0
  228. package/dist/components/richTextEditor/EditorTools.js.map +7 -0
  229. package/dist/components/richTextEditor/MentionSuggestions.cjs +96 -0
  230. package/dist/components/richTextEditor/MentionSuggestions.cjs.map +7 -0
  231. package/dist/components/richTextEditor/MentionSuggestions.d.cts +7 -0
  232. package/dist/components/richTextEditor/MentionSuggestions.d.cts.map +1 -0
  233. package/dist/components/richTextEditor/MentionSuggestions.d.mts +7 -0
  234. package/dist/components/richTextEditor/MentionSuggestions.d.mts.map +1 -0
  235. package/dist/components/richTextEditor/MentionSuggestions.d.ts +7 -0
  236. package/dist/components/richTextEditor/MentionSuggestions.d.ts.map +1 -0
  237. package/dist/components/richTextEditor/MentionSuggestions.js +66 -0
  238. package/dist/components/richTextEditor/MentionSuggestions.js.map +7 -0
  239. package/dist/components/richTextEditor/RichTextEditor.cjs +53 -206
  240. package/dist/components/richTextEditor/RichTextEditor.cjs.map +3 -3
  241. package/dist/components/richTextEditor/RichTextEditor.d.cts +17 -7
  242. package/dist/components/richTextEditor/RichTextEditor.d.cts.map +1 -1
  243. package/dist/components/richTextEditor/RichTextEditor.d.mts +17 -7
  244. package/dist/components/richTextEditor/RichTextEditor.d.mts.map +1 -1
  245. package/dist/components/richTextEditor/RichTextEditor.d.ts +17 -7
  246. package/dist/components/richTextEditor/RichTextEditor.d.ts.map +1 -1
  247. package/dist/components/richTextEditor/RichTextEditor.js +53 -206
  248. package/dist/components/richTextEditor/RichTextEditor.js.map +3 -3
  249. package/dist/components/richTextEditor/editorTokens.cjs +75 -0
  250. package/dist/components/richTextEditor/editorTokens.cjs.map +7 -0
  251. package/dist/components/richTextEditor/editorTokens.d.cts +21 -0
  252. package/dist/components/richTextEditor/editorTokens.d.cts.map +1 -0
  253. package/dist/components/richTextEditor/editorTokens.d.mts +21 -0
  254. package/dist/components/richTextEditor/editorTokens.d.mts.map +1 -0
  255. package/dist/components/richTextEditor/editorTokens.d.ts +21 -0
  256. package/dist/components/richTextEditor/editorTokens.d.ts.map +1 -0
  257. package/dist/components/richTextEditor/editorTokens.js +55 -0
  258. package/dist/components/richTextEditor/editorTokens.js.map +7 -0
  259. package/dist/components/scroll-area.css +12 -0
  260. package/dist/components/scrollArea/ScrollArea.cjs +12 -1
  261. package/dist/components/scrollArea/ScrollArea.cjs.map +2 -2
  262. package/dist/components/scrollArea/ScrollArea.d.cts.map +1 -1
  263. package/dist/components/scrollArea/ScrollArea.d.mts.map +1 -1
  264. package/dist/components/scrollArea/ScrollArea.d.ts.map +1 -1
  265. package/dist/components/scrollArea/ScrollArea.js +12 -1
  266. package/dist/components/scrollArea/ScrollArea.js.map +2 -2
  267. package/dist/components/segmentedControl/SegmentedControl.cjs +2 -2
  268. package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
  269. package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
  270. package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
  271. package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
  272. package/dist/components/segmentedControl/SegmentedControl.js +2 -2
  273. package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
  274. package/dist/components/separator.css +3 -9
  275. package/dist/components/sidebar/Sidebar.cjs +12 -4
  276. package/dist/components/sidebar/Sidebar.cjs.map +2 -2
  277. package/dist/components/sidebar/Sidebar.d.cts +4 -1
  278. package/dist/components/sidebar/Sidebar.d.cts.map +1 -1
  279. package/dist/components/sidebar/Sidebar.d.mts +4 -1
  280. package/dist/components/sidebar/Sidebar.d.mts.map +1 -1
  281. package/dist/components/sidebar/Sidebar.d.ts +4 -1
  282. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  283. package/dist/components/sidebar/Sidebar.js +12 -4
  284. package/dist/components/sidebar/Sidebar.js.map +2 -2
  285. package/dist/components/sidebar/sidebar.props.cjs +8 -1
  286. package/dist/components/sidebar/sidebar.props.cjs.map +2 -2
  287. package/dist/components/sidebar/sidebar.props.d.cts +9 -1
  288. package/dist/components/sidebar/sidebar.props.d.cts.map +1 -1
  289. package/dist/components/sidebar/sidebar.props.d.mts +9 -1
  290. package/dist/components/sidebar/sidebar.props.d.mts.map +1 -1
  291. package/dist/components/sidebar/sidebar.props.d.ts +9 -1
  292. package/dist/components/sidebar/sidebar.props.d.ts.map +1 -1
  293. package/dist/components/sidebar/sidebar.props.js +8 -1
  294. package/dist/components/sidebar/sidebar.props.js.map +2 -2
  295. package/dist/components/sidebar.css +28 -0
  296. package/dist/components/sonner.css +78 -16
  297. package/dist/components/stepper.css +23 -12
  298. package/dist/components/tab-nav.css +25 -13
  299. package/dist/components/tabNav/TabNav.cjs +1 -4
  300. package/dist/components/tabNav/TabNav.cjs.map +2 -2
  301. package/dist/components/tabNav/TabNav.d.cts.map +1 -1
  302. package/dist/components/tabNav/TabNav.d.mts.map +1 -1
  303. package/dist/components/tabNav/TabNav.d.ts.map +1 -1
  304. package/dist/components/tabNav/TabNav.js +1 -4
  305. package/dist/components/tabNav/TabNav.js.map +2 -2
  306. package/dist/components/table-of-contents.css +12 -2
  307. package/dist/components/tableOfContents/TableOfContents.cjs +11 -4
  308. package/dist/components/tableOfContents/TableOfContents.cjs.map +2 -2
  309. package/dist/components/tableOfContents/TableOfContents.d.cts.map +1 -1
  310. package/dist/components/tableOfContents/TableOfContents.d.mts.map +1 -1
  311. package/dist/components/tableOfContents/TableOfContents.d.ts.map +1 -1
  312. package/dist/components/tableOfContents/TableOfContents.js +11 -4
  313. package/dist/components/tableOfContents/TableOfContents.js.map +2 -2
  314. package/dist/components/tabs/Tabs.cjs +39 -54
  315. package/dist/components/tabs/Tabs.cjs.map +2 -2
  316. package/dist/components/tabs/Tabs.d.cts.map +1 -1
  317. package/dist/components/tabs/Tabs.d.mts.map +1 -1
  318. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  319. package/dist/components/tabs/Tabs.js +39 -54
  320. package/dist/components/tabs/Tabs.js.map +2 -2
  321. package/dist/components/tabs.css +52 -7
  322. package/dist/components/text/text.props.cjs +9 -9
  323. package/dist/components/text/text.props.cjs.map +2 -2
  324. package/dist/components/text/text.props.d.cts +42 -43
  325. package/dist/components/text/text.props.d.cts.map +1 -1
  326. package/dist/components/text/text.props.d.mts +42 -43
  327. package/dist/components/text/text.props.d.mts.map +1 -1
  328. package/dist/components/text/text.props.d.ts +42 -43
  329. package/dist/components/text/text.props.d.ts.map +1 -1
  330. package/dist/components/text/text.props.js +9 -9
  331. package/dist/components/text/text.props.js.map +2 -2
  332. package/dist/components/text/typography.props.cjs +32 -0
  333. package/dist/components/text/typography.props.cjs.map +7 -0
  334. package/dist/components/text/typography.props.d.cts +3 -0
  335. package/dist/components/text/typography.props.d.cts.map +1 -0
  336. package/dist/components/text/typography.props.d.mts +3 -0
  337. package/dist/components/text/typography.props.d.mts.map +1 -0
  338. package/dist/components/text/typography.props.d.ts +3 -0
  339. package/dist/components/text/typography.props.d.ts.map +1 -0
  340. package/dist/components/text/typography.props.js +12 -0
  341. package/dist/components/text/typography.props.js.map +7 -0
  342. package/dist/components/text-field.css +1 -0
  343. package/dist/components/text.css +41 -6
  344. package/dist/components/theme-panel.css +6 -0
  345. package/dist/components/toast/Toast.cjs +3 -1
  346. package/dist/components/toast/Toast.cjs.map +2 -2
  347. package/dist/components/toast/Toast.d.cts.map +1 -1
  348. package/dist/components/toast/Toast.d.mts.map +1 -1
  349. package/dist/components/toast/Toast.d.ts.map +1 -1
  350. package/dist/components/toast/Toast.js +3 -1
  351. package/dist/components/toast/Toast.js.map +2 -2
  352. package/dist/components/toast.css +36 -36
  353. package/dist/components/toggle-tip.css +58 -9
  354. package/dist/components/toggleTip/ToggleTip.cjs +9 -5
  355. package/dist/components/toggleTip/ToggleTip.cjs.map +2 -2
  356. package/dist/components/toggleTip/ToggleTip.d.cts.map +1 -1
  357. package/dist/components/toggleTip/ToggleTip.d.mts.map +1 -1
  358. package/dist/components/toggleTip/ToggleTip.d.ts.map +1 -1
  359. package/dist/components/toggleTip/ToggleTip.js +9 -5
  360. package/dist/components/toggleTip/ToggleTip.js.map +2 -2
  361. package/dist/components/toolbar/Toolbar.cjs +10 -7
  362. package/dist/components/toolbar/Toolbar.cjs.map +2 -2
  363. package/dist/components/toolbar/Toolbar.js +10 -7
  364. package/dist/components/toolbar/Toolbar.js.map +2 -2
  365. package/dist/components/toolbar.css +58 -4
  366. package/dist/components/tooltip.css +9 -5
  367. package/dist/components/tree-view.css +17 -3
  368. package/dist/components/treeView/TreeView.cjs +76 -21
  369. package/dist/components/treeView/TreeView.cjs.map +2 -2
  370. package/dist/components/treeView/TreeView.d.cts.map +1 -1
  371. package/dist/components/treeView/TreeView.d.mts.map +1 -1
  372. package/dist/components/treeView/TreeView.d.ts.map +1 -1
  373. package/dist/components/treeView/TreeView.js +76 -21
  374. package/dist/components/treeView/TreeView.js.map +2 -2
  375. package/dist/components.css +1 -0
  376. package/dist/docs/README.md +1 -0
  377. package/dist/docs/component-contract.md +4 -3
  378. package/dist/docs/component-index.json +9 -1
  379. package/dist/docs/components/accordion.md +5 -36
  380. package/dist/docs/components/alert.md +17 -10
  381. package/dist/docs/components/article-nodes.md +59 -2
  382. package/dist/docs/components/aspect-ratio.md +3 -26
  383. package/dist/docs/components/banner.md +7 -7
  384. package/dist/docs/components/blockquote.md +15 -14
  385. package/dist/docs/components/bottom-dock.md +146 -0
  386. package/dist/docs/components/box.md +3 -34
  387. package/dist/docs/components/breadcrumb.md +13 -8
  388. package/dist/docs/components/callout.md +18 -7
  389. package/dist/docs/components/card.md +9 -2
  390. package/dist/docs/components/code.md +33 -220
  391. package/dist/docs/components/collapsible.md +11 -35
  392. package/dist/docs/components/command.md +2 -0
  393. package/dist/docs/components/comment-thread.md +51 -1
  394. package/dist/docs/components/config-drawer.md +72 -171
  395. package/dist/docs/components/container.md +2 -0
  396. package/dist/docs/components/context-menu.md +19 -5
  397. package/dist/docs/components/dialog.md +3 -1
  398. package/dist/docs/components/drawer.md +17 -6
  399. package/dist/docs/components/dropdown-menu.md +11 -2
  400. package/dist/docs/components/em.md +1 -1
  401. package/dist/docs/components/file-upload.md +13 -7
  402. package/dist/docs/components/floating-panel.md +79 -285
  403. package/dist/docs/components/form.md +4 -0
  404. package/dist/docs/components/grid.md +11 -60
  405. package/dist/docs/components/heading.md +35 -32
  406. package/dist/docs/components/hover-card.md +9 -1
  407. package/dist/docs/components/kbd.md +2 -0
  408. package/dist/docs/components/label.md +11 -9
  409. package/dist/docs/components/link.md +31 -209
  410. package/dist/docs/components/notification-center.md +24 -14
  411. package/dist/docs/components/page-header.md +2 -0
  412. package/dist/docs/components/pagination.md +4 -0
  413. package/dist/docs/components/pills.md +13 -4
  414. package/dist/docs/components/popover.md +10 -3
  415. package/dist/docs/components/prose.md +9 -0
  416. package/dist/docs/components/qr-code.md +12 -12
  417. package/dist/docs/components/quote.md +9 -4
  418. package/dist/docs/components/resizable.md +26 -18
  419. package/dist/docs/components/rich-text-editor.md +68 -18
  420. package/dist/docs/components/scroll-area.md +17 -9
  421. package/dist/docs/components/section.md +3 -38
  422. package/dist/docs/components/segmented-control.md +1 -1
  423. package/dist/docs/components/segmented-meter.md +9 -0
  424. package/dist/docs/components/separator.md +10 -46
  425. package/dist/docs/components/sidebar.md +17 -3
  426. package/dist/docs/components/sonner.md +25 -16
  427. package/dist/docs/components/stepper.md +8 -33
  428. package/dist/docs/components/strong.md +1 -1
  429. package/dist/docs/components/tab-nav.md +33 -96
  430. package/dist/docs/components/table-of-contents.md +8 -2
  431. package/dist/docs/components/tabs.md +19 -50
  432. package/dist/docs/components/text-field.md +1 -0
  433. package/dist/docs/components/text.md +34 -28
  434. package/dist/docs/components/theme-panel.md +3 -28
  435. package/dist/docs/components/theme.md +7 -3
  436. package/dist/docs/components/toast.md +27 -13
  437. package/dist/docs/components/toggle-tip.md +58 -241
  438. package/dist/docs/components/toolbar.md +16 -39
  439. package/dist/docs/components/tooltip.md +13 -7
  440. package/dist/docs/components/tree-view.md +22 -55
  441. package/dist/generated/tokens.cjs +1 -0
  442. package/dist/generated/tokens.cjs.map +2 -2
  443. package/dist/generated/tokens.d.cts.map +1 -1
  444. package/dist/generated/tokens.d.mts.map +1 -1
  445. package/dist/generated/tokens.d.ts.map +1 -1
  446. package/dist/generated/tokens.js +1 -0
  447. package/dist/generated/tokens.js.map +2 -2
  448. package/dist/styles.css +1632 -1300
  449. package/dist/tokens.css +344 -362
  450. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CommentThread.d.cts","sourceRoot":"","sources":["../../../src/components/commentThread/CommentThread.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAEhG,QAAA,MAAM,OAAO,kFAAipB,CAAA;AAG9pB,QAAA,MAAM,OAAO,6GAIX,CAAA;AAEF,QAAA,MAAM,SAAS,6GAA0R,CAAA;AAEzS,QAAA,MAAM,QAAQ,uFAA6vB,CAAA;AAE3wB,QAAA,MAAM,MAAM,6GAAuQ,CAAA;AAEnR,QAAA,MAAM,IAAI,+FAAmL,CAAA;AAE7L,QAAA,MAAM,aAAa;;;;;;;CAA+E,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,iBAAiB,EAAE,SAAS,EAAE,CAAA;AAClG,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"CommentThread.d.cts","sourceRoot":"","sources":["../../../src/components/commentThread/CommentThread.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE9H,QAAA,MAAM,OAAO,kFAAqqB,CAAA;AAGlrB,QAAA,MAAM,OAAO,qFASX,CAAA;AAEF,QAAA,MAAM,SAAS,uFAA4S,CAAA;AAE3T,QAAA,MAAM,QAAQ,uFAgBZ,CAAA;AAEF,QAAA,MAAM,MAAM,6GAAuQ,CAAA;AAEnR,QAAA,MAAM,IAAI,+FAAmL,CAAA;AAE7L,QAAA,MAAM,aAAa;;;;;;;CAA+E,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,iBAAiB,EAAE,SAAS,EAAE,CAAA;AAClG,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,19 +1,19 @@
1
1
  import * as React from 'react';
2
- import type { CommentProps, CommentThreadRootProps, ComposerProps } from './commentThread.props.js';
2
+ import type { CommentProps, CommentThreadRootProps, ComposerProps, RepliesProps, TombstoneProps } from './commentThread.props.js';
3
3
  declare const Comment: React.ForwardRefExoticComponent<CommentProps & React.RefAttributes<HTMLElement>>;
4
- declare const Replies: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
5
- declare const Tombstone: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const Replies: React.ForwardRefExoticComponent<RepliesProps & React.RefAttributes<HTMLDivElement>>;
5
+ declare const Tombstone: React.ForwardRefExoticComponent<TombstoneProps & React.RefAttributes<HTMLDivElement>>;
6
6
  declare const Composer: React.ForwardRefExoticComponent<ComposerProps & React.RefAttributes<HTMLFormElement>>;
7
7
  declare const Locked: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
8
8
  declare const Root: React.ForwardRefExoticComponent<CommentThreadRootProps & React.RefAttributes<HTMLDivElement>>;
9
9
  declare const CommentThread: React.ForwardRefExoticComponent<CommentThreadRootProps & React.RefAttributes<HTMLDivElement>> & {
10
10
  Root: React.ForwardRefExoticComponent<CommentThreadRootProps & React.RefAttributes<HTMLDivElement>>;
11
11
  Comment: React.ForwardRefExoticComponent<CommentProps & React.RefAttributes<HTMLElement>>;
12
- Replies: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
13
- Tombstone: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
12
+ Replies: React.ForwardRefExoticComponent<RepliesProps & React.RefAttributes<HTMLDivElement>>;
13
+ Tombstone: React.ForwardRefExoticComponent<TombstoneProps & React.RefAttributes<HTMLDivElement>>;
14
14
  Composer: React.ForwardRefExoticComponent<ComposerProps & React.RefAttributes<HTMLFormElement>>;
15
15
  Locked: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
16
16
  };
17
17
  export { CommentThread, Comment, Composer, Locked, Replies, Root as CommentThreadRoot, Tombstone };
18
- export type { CommentProps, CommentThreadRootProps, ComposerProps } from './commentThread.props.js';
18
+ export type { CommentProps, CommentThreadRootProps, ComposerProps, ComposerInputContext, RepliesProps, TombstoneProps } from './commentThread.props.js';
19
19
  //# sourceMappingURL=CommentThread.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommentThread.d.mts","sourceRoot":"","sources":["../../../src/components/commentThread/CommentThread.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAEhG,QAAA,MAAM,OAAO,kFAAipB,CAAA;AAG9pB,QAAA,MAAM,OAAO,6GAIX,CAAA;AAEF,QAAA,MAAM,SAAS,6GAA0R,CAAA;AAEzS,QAAA,MAAM,QAAQ,uFAA6vB,CAAA;AAE3wB,QAAA,MAAM,MAAM,6GAAuQ,CAAA;AAEnR,QAAA,MAAM,IAAI,+FAAmL,CAAA;AAE7L,QAAA,MAAM,aAAa;;;;;;;CAA+E,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,iBAAiB,EAAE,SAAS,EAAE,CAAA;AAClG,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"CommentThread.d.mts","sourceRoot":"","sources":["../../../src/components/commentThread/CommentThread.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE9H,QAAA,MAAM,OAAO,kFAAqqB,CAAA;AAGlrB,QAAA,MAAM,OAAO,qFASX,CAAA;AAEF,QAAA,MAAM,SAAS,uFAA4S,CAAA;AAE3T,QAAA,MAAM,QAAQ,uFAgBZ,CAAA;AAEF,QAAA,MAAM,MAAM,6GAAuQ,CAAA;AAEnR,QAAA,MAAM,IAAI,+FAAmL,CAAA;AAE7L,QAAA,MAAM,aAAa;;;;;;;CAA+E,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,iBAAiB,EAAE,SAAS,EAAE,CAAA;AAClG,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,19 +1,19 @@
1
1
  import * as React from 'react';
2
- import type { CommentProps, CommentThreadRootProps, ComposerProps } from './commentThread.props.js';
2
+ import type { CommentProps, CommentThreadRootProps, ComposerProps, RepliesProps, TombstoneProps } from './commentThread.props.js';
3
3
  declare const Comment: React.ForwardRefExoticComponent<CommentProps & React.RefAttributes<HTMLElement>>;
4
- declare const Replies: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
5
- declare const Tombstone: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
4
+ declare const Replies: React.ForwardRefExoticComponent<RepliesProps & React.RefAttributes<HTMLDivElement>>;
5
+ declare const Tombstone: React.ForwardRefExoticComponent<TombstoneProps & React.RefAttributes<HTMLDivElement>>;
6
6
  declare const Composer: React.ForwardRefExoticComponent<ComposerProps & React.RefAttributes<HTMLFormElement>>;
7
7
  declare const Locked: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
8
8
  declare const Root: React.ForwardRefExoticComponent<CommentThreadRootProps & React.RefAttributes<HTMLDivElement>>;
9
9
  declare const CommentThread: React.ForwardRefExoticComponent<CommentThreadRootProps & React.RefAttributes<HTMLDivElement>> & {
10
10
  Root: React.ForwardRefExoticComponent<CommentThreadRootProps & React.RefAttributes<HTMLDivElement>>;
11
11
  Comment: React.ForwardRefExoticComponent<CommentProps & React.RefAttributes<HTMLElement>>;
12
- Replies: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
13
- Tombstone: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
12
+ Replies: React.ForwardRefExoticComponent<RepliesProps & React.RefAttributes<HTMLDivElement>>;
13
+ Tombstone: React.ForwardRefExoticComponent<TombstoneProps & React.RefAttributes<HTMLDivElement>>;
14
14
  Composer: React.ForwardRefExoticComponent<ComposerProps & React.RefAttributes<HTMLFormElement>>;
15
15
  Locked: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
16
16
  };
17
17
  export { CommentThread, Comment, Composer, Locked, Replies, Root as CommentThreadRoot, Tombstone };
18
- export type { CommentProps, CommentThreadRootProps, ComposerProps } from './commentThread.props.js';
18
+ export type { CommentProps, CommentThreadRootProps, ComposerProps, ComposerInputContext, RepliesProps, TombstoneProps } from './commentThread.props.js';
19
19
  //# sourceMappingURL=CommentThread.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommentThread.d.ts","sourceRoot":"","sources":["../../../src/components/commentThread/CommentThread.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAEhG,QAAA,MAAM,OAAO,kFAAipB,CAAA;AAG9pB,QAAA,MAAM,OAAO,6GAIX,CAAA;AAEF,QAAA,MAAM,SAAS,6GAA0R,CAAA;AAEzS,QAAA,MAAM,QAAQ,uFAA6vB,CAAA;AAE3wB,QAAA,MAAM,MAAM,6GAAuQ,CAAA;AAEnR,QAAA,MAAM,IAAI,+FAAmL,CAAA;AAE7L,QAAA,MAAM,aAAa;;;;;;;CAA+E,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,iBAAiB,EAAE,SAAS,EAAE,CAAA;AAClG,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"CommentThread.d.ts","sourceRoot":"","sources":["../../../src/components/commentThread/CommentThread.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE9H,QAAA,MAAM,OAAO,kFAAqqB,CAAA;AAGlrB,QAAA,MAAM,OAAO,qFASX,CAAA;AAEF,QAAA,MAAM,SAAS,uFAA4S,CAAA;AAE3T,QAAA,MAAM,QAAQ,uFAgBZ,CAAA;AAEF,QAAA,MAAM,MAAM,6GAAuQ,CAAA;AAEnR,QAAA,MAAM,IAAI,+FAAmL,CAAA;AAE7L,QAAA,MAAM,aAAa;;;;;;;CAA+E,CAAA;AAClG,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,IAAI,iBAAiB,EAAE,SAAS,EAAE,CAAA;AAClG,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1,38 +1,66 @@
1
1
  import * as React from "react";
2
2
  import classNames from "classnames";
3
+ import { Button } from "../button/Button.js";
3
4
  import { jsx, jsxs } from "react/jsx-runtime";
4
- const Comment = React.forwardRef(({ author, avatarSrc, badge, dateTime, timeLabel, actions, className, children, ...props }, ref) => /* @__PURE__ */ jsxs("article", { ...props, ref, className: classNames("dsx-comment-thread__comment", className), children: [
5
+ const Comment = React.forwardRef(({ author, avatarSrc, badge, dateTime, timeLabel, actions, metadata, className, children, ...props }, ref) => /* @__PURE__ */ jsxs("article", { ...props, ref, className: classNames("dsx-comment-thread__comment", className), children: [
5
6
  /* @__PURE__ */ jsx("div", { className: "dsx-comment-thread__avatar", children: avatarSrc ? /* @__PURE__ */ jsx("img", { src: avatarSrc, alt: "" }) : author.split(/\s+/).map((part) => part[0]).join("").slice(0, 2).toUpperCase() }),
6
7
  /* @__PURE__ */ jsxs("header", { children: [
7
8
  /* @__PURE__ */ jsx("strong", { children: author }),
8
9
  badge,
9
- /* @__PURE__ */ jsx("time", { dateTime, children: timeLabel })
10
+ /* @__PURE__ */ jsx("time", { dateTime, children: timeLabel }),
11
+ metadata
10
12
  ] }),
11
13
  /* @__PURE__ */ jsx("div", { className: "dsx-comment-thread__body", children }),
12
14
  actions ? /* @__PURE__ */ jsx("div", { className: "dsx-comment-thread__actions", children: actions }) : null
13
15
  ] }));
14
16
  Comment.displayName = "CommentThreadComment";
15
17
  const ReplyDepthContext = React.createContext(0);
16
- const Replies = React.forwardRef(({ className, children, ...props }, ref) => {
18
+ const Replies = React.forwardRef(({ className, children, limit, expanded: expandedProp, onExpandedChange, moreLabel, ...props }, ref) => {
19
+ const [localExpanded, setLocalExpanded] = React.useState(false);
20
+ const expanded = expandedProp ?? localExpanded;
21
+ const all = React.Children.toArray(children);
22
+ const visible = limit == null || expanded ? all : all.slice(0, Math.max(0, limit));
23
+ const remaining = all.length - visible.length;
17
24
  const depth = React.useContext(ReplyDepthContext);
18
25
  if (depth >= 1) throw new Error("CommentThread supports one reply level.");
19
- return /* @__PURE__ */ jsx(ReplyDepthContext.Provider, { value: depth + 1, children: /* @__PURE__ */ jsx("div", { ...props, ref, role: props.role ?? "group", className: classNames("dsx-comment-thread__replies", className), children }) });
26
+ return /* @__PURE__ */ jsx(ReplyDepthContext.Provider, { value: depth + 1, children: /* @__PURE__ */ jsxs("div", { ...props, ref, role: props.role ?? "group", className: classNames("dsx-comment-thread__replies", className), children: [
27
+ visible,
28
+ remaining > 0 ? /* @__PURE__ */ jsx(Button, { type: "button", size: "lg", variant: "ghost", onClick: () => {
29
+ setLocalExpanded(true);
30
+ onExpandedChange?.(true);
31
+ }, children: moreLabel?.(remaining) ?? `Show ${remaining} more replies` }) : null
32
+ ] }) });
20
33
  });
21
34
  Replies.displayName = "CommentThreadReplies";
22
- const Tombstone = React.forwardRef(({ children = "Comment removed", className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ...props, ref, className: classNames("dsx-comment-thread__tombstone", className), role: "status", "data-removed": "true", children }));
35
+ const Tombstone = React.forwardRef(({ children, state = "removed", className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ...props, ref, className: classNames("dsx-comment-thread__tombstone", className), role: "status", "data-removed": "true", "data-state": state, children: children ?? `Comment ${state}` }));
23
36
  Tombstone.displayName = "CommentThreadTombstone";
24
- const Composer = React.forwardRef(({ value, onValueChange, onSubmit, maxLength = 2e3, submitting, locked, className, children, ...props }, ref) => /* @__PURE__ */ jsxs("form", { ...props, ref, className: classNames("dsx-comment-thread__composer", className), "aria-busy": submitting || void 0, onSubmit: (event) => {
25
- event.preventDefault();
26
- if (!locked && !submitting && value.trim()) onSubmit?.();
27
- }, children: [
28
- /* @__PURE__ */ jsx("textarea", { value, maxLength, disabled: locked || submitting, onChange: (event) => onValueChange(event.currentTarget.value), "aria-label": "Comment" }),
29
- /* @__PURE__ */ jsxs("span", { "aria-live": "polite", children: [
30
- value.length,
31
- "/",
32
- maxLength
33
- ] }),
34
- children ?? /* @__PURE__ */ jsx("button", { type: "submit", disabled: locked || submitting || !value.trim(), children: submitting ? "Submitting\u2026" : "Comment" })
35
- ] }));
37
+ const Composer = React.forwardRef(({ value, onValueChange, onSubmit, maxLength = 2e3, submitting, locked, label = "Comment", error, status, input, actions, className, children, ...props }, ref) => {
38
+ const id = React.useId();
39
+ const countId = `${id}-count`;
40
+ const errorId = `${id}-error`;
41
+ const statusId = `${id}-status`;
42
+ const invalid = Boolean(error) || value.length > maxLength;
43
+ const disabled = Boolean(locked || submitting);
44
+ const describedBy = [countId, error ? errorId : "", status ? statusId : ""].filter(Boolean).join(" ");
45
+ return /* @__PURE__ */ jsxs("form", { ...props, ref, className: classNames("dsx-comment-thread__composer", className), "aria-busy": submitting || void 0, onSubmit: (event) => {
46
+ event.preventDefault();
47
+ if (!disabled && !invalid && value.trim()) onSubmit?.();
48
+ }, children: [
49
+ /* @__PURE__ */ jsx("label", { id: `${id}-label`, htmlFor: id, children: label }),
50
+ input ? input({ id, value, onValueChange, maxLength, disabled, describedBy, invalid }) : /* @__PURE__ */ jsx("textarea", { id, value, maxLength, disabled, onChange: (event) => onValueChange(event.currentTarget.value), "aria-invalid": invalid || void 0, "aria-describedby": describedBy }),
51
+ /* @__PURE__ */ jsxs("span", { id: countId, className: "dsx-comment-thread__count", "aria-live": "polite", children: [
52
+ value.length,
53
+ "/",
54
+ maxLength
55
+ ] }),
56
+ error ? /* @__PURE__ */ jsx("div", { id: errorId, role: "alert", children: error }) : null,
57
+ status ? /* @__PURE__ */ jsx("div", { id: statusId, role: "status", children: status }) : null,
58
+ /* @__PURE__ */ jsxs("div", { className: "dsx-comment-thread__actions", children: [
59
+ actions,
60
+ children ?? /* @__PURE__ */ jsx(Button, { className: "dsx-comment-thread__submit", type: "submit", size: "lg", disabled: disabled || invalid || !value.trim(), children: submitting ? "Submitting\u2026" : "Comment" })
61
+ ] })
62
+ ] });
63
+ });
36
64
  Composer.displayName = "CommentThreadComposer";
37
65
  const Locked = React.forwardRef(({ children = "Comments are locked", className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ...props, ref, className: classNames("dsx-comment-thread__locked", className), role: "status", children }));
38
66
  Locked.displayName = "CommentThreadLocked";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/commentThread/CommentThread.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\n\nimport type { CommentProps, CommentThreadRootProps, ComposerProps } from './commentThread.props'\n\nconst Comment = React.forwardRef<HTMLElement, CommentProps>(({ author, avatarSrc, badge, dateTime, timeLabel, actions, className, children, ...props }, ref) => <article {...props} ref={ref} className={classNames('dsx-comment-thread__comment', className)}><div className=\"dsx-comment-thread__avatar\">{avatarSrc ? <img src={avatarSrc} alt=\"\" /> : author.split(/\\s+/).map((part) => part[0]).join('').slice(0, 2).toUpperCase()}</div><header><strong>{author}</strong>{badge}<time dateTime={dateTime}>{timeLabel}</time></header><div className=\"dsx-comment-thread__body\">{children}</div>{actions ? <div className=\"dsx-comment-thread__actions\">{actions}</div> : null}</article>)\nComment.displayName = 'CommentThreadComment'\nconst ReplyDepthContext = React.createContext(0)\nconst Replies = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, children, ...props }, ref) => {\n const depth = React.useContext(ReplyDepthContext)\n if (depth >= 1) throw new Error('CommentThread supports one reply level.')\n return <ReplyDepthContext.Provider value={depth + 1}><div {...props} ref={ref} role={props.role ?? 'group'} className={classNames('dsx-comment-thread__replies', className)}>{children}</div></ReplyDepthContext.Provider>\n})\nReplies.displayName = 'CommentThreadReplies'\nconst Tombstone = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ children = 'Comment removed', className, ...props }, ref) => <div {...props} ref={ref} className={classNames('dsx-comment-thread__tombstone', className)} role=\"status\" data-removed=\"true\">{children}</div>)\nTombstone.displayName = 'CommentThreadTombstone'\nconst Composer = React.forwardRef<HTMLFormElement, ComposerProps>(({ value, onValueChange, onSubmit, maxLength = 2000, submitting, locked, className, children, ...props }, ref) => <form {...props} ref={ref} className={classNames('dsx-comment-thread__composer', className)} aria-busy={submitting || undefined} onSubmit={(event) => { event.preventDefault(); if (!locked && !submitting && value.trim()) onSubmit?.() }}><textarea value={value} maxLength={maxLength} disabled={locked || submitting} onChange={(event) => onValueChange(event.currentTarget.value)} aria-label=\"Comment\"/><span aria-live=\"polite\">{value.length}/{maxLength}</span>{children ?? <button type=\"submit\" disabled={locked || submitting || !value.trim()}>{submitting ? 'Submitting\u2026' : 'Comment'}</button>}</form>)\nComposer.displayName = 'CommentThreadComposer'\nconst Locked = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ children = 'Comments are locked', className, ...props }, ref) => <div {...props} ref={ref} className={classNames('dsx-comment-thread__locked', className)} role=\"status\">{children}</div>)\nLocked.displayName = 'CommentThreadLocked'\nconst Root = React.forwardRef<HTMLDivElement, CommentThreadRootProps>(({ className, ...props }, ref) => <div {...props} ref={ref} className={classNames('dsx-comment-thread', className)} />)\nRoot.displayName = 'CommentThread'\nconst CommentThread = Object.assign(Root, { Root, Comment, Replies, Tombstone, Composer, Locked })\nexport { CommentThread, Comment, Composer, Locked, Replies, Root as CommentThreadRoot, Tombstone }\nexport type { CommentProps, CommentThreadRootProps, ComposerProps } from './commentThread.props'\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport { Button } from '../button/Button'\n\nimport type { CommentProps, CommentThreadRootProps, ComposerProps, RepliesProps, TombstoneProps } from './commentThread.props'\n\nconst Comment = React.forwardRef<HTMLElement, CommentProps>(({ author, avatarSrc, badge, dateTime, timeLabel, actions, metadata, className, children, ...props }, ref) => <article {...props} ref={ref} className={classNames('dsx-comment-thread__comment', className)}><div className=\"dsx-comment-thread__avatar\">{avatarSrc ? <img src={avatarSrc} alt=\"\" /> : author.split(/\\s+/).map((part) => part[0]).join('').slice(0, 2).toUpperCase()}</div><header><strong>{author}</strong>{badge}<time dateTime={dateTime}>{timeLabel}</time>{metadata}</header><div className=\"dsx-comment-thread__body\">{children}</div>{actions ? <div className=\"dsx-comment-thread__actions\">{actions}</div> : null}</article>)\nComment.displayName = 'CommentThreadComment'\nconst ReplyDepthContext = React.createContext(0)\nconst Replies = React.forwardRef<HTMLDivElement, RepliesProps>(({ className, children, limit, expanded: expandedProp, onExpandedChange, moreLabel, ...props }, ref) => {\n const [localExpanded, setLocalExpanded] = React.useState(false)\n const expanded = expandedProp ?? localExpanded\n const all = React.Children.toArray(children)\n const visible = limit == null || expanded ? all : all.slice(0, Math.max(0, limit))\n const remaining = all.length - visible.length\n const depth = React.useContext(ReplyDepthContext)\n if (depth >= 1) throw new Error('CommentThread supports one reply level.')\n return <ReplyDepthContext.Provider value={depth + 1}><div {...props} ref={ref} role={props.role ?? 'group'} className={classNames('dsx-comment-thread__replies', className)}>{visible}{remaining > 0 ? <Button type=\"button\" size=\"lg\" variant=\"ghost\" onClick={() => { setLocalExpanded(true); onExpandedChange?.(true) }}>{moreLabel?.(remaining) ?? `Show ${remaining} more replies`}</Button> : null}</div></ReplyDepthContext.Provider>\n})\nReplies.displayName = 'CommentThreadReplies'\nconst Tombstone = React.forwardRef<HTMLDivElement, TombstoneProps>(({ children, state = 'removed', className, ...props }, ref) => <div {...props} ref={ref} className={classNames('dsx-comment-thread__tombstone', className)} role=\"status\" data-removed=\"true\" data-state={state}>{children ?? `Comment ${state}`}</div>)\nTombstone.displayName = 'CommentThreadTombstone'\nconst Composer = React.forwardRef<HTMLFormElement, ComposerProps>(({ value, onValueChange, onSubmit, maxLength = 2000, submitting, locked, label = 'Comment', error, status, input, actions, className, children, ...props }, ref) => {\n const id = React.useId()\n const countId = `${id}-count`\n const errorId = `${id}-error`\n const statusId = `${id}-status`\n const invalid = Boolean(error) || value.length > maxLength\n const disabled = Boolean(locked || submitting)\n const describedBy = [countId, error ? errorId : '', status ? statusId : ''].filter(Boolean).join(' ')\n return <form {...props} ref={ref} className={classNames('dsx-comment-thread__composer', className)} aria-busy={submitting || undefined} onSubmit={event => { event.preventDefault(); if (!disabled && !invalid && value.trim()) onSubmit?.() }}>\n <label id={`${id}-label`} htmlFor={id}>{label}</label>\n {input ? input({ id, value, onValueChange, maxLength, disabled, describedBy, invalid }) : <textarea id={id} value={value} maxLength={maxLength} disabled={disabled} onChange={event => onValueChange(event.currentTarget.value)} aria-invalid={invalid || undefined} aria-describedby={describedBy} />}\n <span id={countId} className=\"dsx-comment-thread__count\" aria-live=\"polite\">{value.length}/{maxLength}</span>\n {error ? <div id={errorId} role=\"alert\">{error}</div> : null}\n {status ? <div id={statusId} role=\"status\">{status}</div> : null}\n <div className=\"dsx-comment-thread__actions\">{actions}{children ?? <Button className=\"dsx-comment-thread__submit\" type=\"submit\" size=\"lg\" disabled={disabled || invalid || !value.trim()}>{submitting ? 'Submitting\u2026' : 'Comment'}</Button>}</div>\n </form>\n})\nComposer.displayName = 'CommentThreadComposer'\nconst Locked = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ children = 'Comments are locked', className, ...props }, ref) => <div {...props} ref={ref} className={classNames('dsx-comment-thread__locked', className)} role=\"status\">{children}</div>)\nLocked.displayName = 'CommentThreadLocked'\nconst Root = React.forwardRef<HTMLDivElement, CommentThreadRootProps>(({ className, ...props }, ref) => <div {...props} ref={ref} className={classNames('dsx-comment-thread', className)} />)\nRoot.displayName = 'CommentThread'\nconst CommentThread = Object.assign(Root, { Root, Comment, Replies, Tombstone, Composer, Locked })\nexport { CommentThread, Comment, Composer, Locked, Replies, Root as CommentThreadRoot, Tombstone }\nexport type { CommentProps, CommentThreadRootProps, ComposerProps, ComposerInputContext, RepliesProps, TombstoneProps } from './commentThread.props'\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;AACvB,OAAO,gBAAgB;AACvB,SAAS,cAAc;AAI2S,cAAqH,YAArH;AAAlU,MAAM,UAAU,MAAM,WAAsC,CAAC,EAAE,QAAQ,WAAW,OAAO,UAAU,WAAW,SAAS,UAAU,WAAW,UAAU,GAAG,MAAM,GAAG,QAAQ,qBAAC,aAAS,GAAG,OAAO,KAAU,WAAW,WAAW,+BAA+B,SAAS,GAAG;AAAA,sBAAC,SAAI,WAAU,8BAA8B,sBAAY,oBAAC,SAAI,KAAK,WAAW,KAAI,IAAG,IAAK,OAAO,MAAM,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,YAAY,GAAE;AAAA,EAAM,qBAAC,YAAO;AAAA,wBAAC,YAAQ,kBAAO;AAAA,IAAU;AAAA,IAAM,oBAAC,UAAK,UAAqB,qBAAU;AAAA,IAAQ;AAAA,KAAS;AAAA,EAAS,oBAAC,SAAI,WAAU,4BAA4B,UAAS;AAAA,EAAO,UAAU,oBAAC,SAAI,WAAU,+BAA+B,mBAAQ,IAAS;AAAA,GAAK,CAAU;AACjrB,QAAQ,cAAc;AACtB,MAAM,oBAAoB,MAAM,cAAc,CAAC;AAC/C,MAAM,UAAU,MAAM,WAAyC,CAAC,EAAE,WAAW,UAAU,OAAO,UAAU,cAAc,kBAAkB,WAAW,GAAG,MAAM,GAAG,QAAQ;AACrK,QAAM,CAAC,eAAe,gBAAgB,IAAI,MAAM,SAAS,KAAK;AAC9D,QAAM,WAAW,gBAAgB;AACjC,QAAM,MAAM,MAAM,SAAS,QAAQ,QAAQ;AAC3C,QAAM,UAAU,SAAS,QAAQ,WAAW,MAAM,IAAI,MAAM,GAAG,KAAK,IAAI,GAAG,KAAK,CAAC;AACjF,QAAM,YAAY,IAAI,SAAS,QAAQ;AACvC,QAAM,QAAQ,MAAM,WAAW,iBAAiB;AAChD,MAAI,SAAS,EAAG,OAAM,IAAI,MAAM,yCAAyC;AACzE,SAAO,oBAAC,kBAAkB,UAAlB,EAA2B,OAAO,QAAQ,GAAG,+BAAC,SAAK,GAAG,OAAO,KAAU,MAAM,MAAM,QAAQ,SAAS,WAAW,WAAW,+BAA+B,SAAS,GAAI;AAAA;AAAA,IAAS,YAAY,IAAI,oBAAC,UAAO,MAAK,UAAS,MAAK,MAAK,SAAQ,SAAQ,SAAS,MAAM;AAAE,uBAAiB,IAAI;AAAG,yBAAmB,IAAI;AAAA,IAAE,GAAI,sBAAY,SAAS,KAAK,QAAQ,SAAS,iBAAgB,IAAY;AAAA,KAAK,GAAM;AACjZ,CAAC;AACD,QAAQ,cAAc;AACtB,MAAM,YAAY,MAAM,WAA2C,CAAC,EAAE,UAAU,QAAQ,WAAW,WAAW,GAAG,MAAM,GAAG,QAAQ,oBAAC,SAAK,GAAG,OAAO,KAAU,WAAW,WAAW,iCAAiC,SAAS,GAAG,MAAK,UAAS,gBAAa,QAAO,cAAY,OAAQ,sBAAY,WAAW,KAAK,IAAG,CAAM;AAC1T,UAAU,cAAc;AACxB,MAAM,WAAW,MAAM,WAA2C,CAAC,EAAE,OAAO,eAAe,UAAU,YAAY,KAAM,YAAY,QAAQ,QAAQ,WAAW,OAAO,QAAQ,OAAO,SAAS,WAAW,UAAU,GAAG,MAAM,GAAG,QAAQ;AACpO,QAAM,KAAK,MAAM,MAAM;AACvB,QAAM,UAAU,GAAG,EAAE;AACrB,QAAM,UAAU,GAAG,EAAE;AACrB,QAAM,WAAW,GAAG,EAAE;AACtB,QAAM,UAAU,QAAQ,KAAK,KAAK,MAAM,SAAS;AACjD,QAAM,WAAW,QAAQ,UAAU,UAAU;AAC7C,QAAM,cAAc,CAAC,SAAS,QAAQ,UAAU,IAAI,SAAS,WAAW,EAAE,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AACpG,SAAO,qBAAC,UAAM,GAAG,OAAO,KAAU,WAAW,WAAW,gCAAgC,SAAS,GAAG,aAAW,cAAc,QAAW,UAAU,WAAS;AAAE,UAAM,eAAe;AAAG,QAAI,CAAC,YAAY,CAAC,WAAW,MAAM,KAAK,EAAG,YAAW;AAAA,EAAE,GAC3O;AAAA,wBAAC,WAAM,IAAI,GAAG,EAAE,UAAU,SAAS,IAAK,iBAAM;AAAA,IAC7C,QAAQ,MAAM,EAAE,IAAI,OAAO,eAAe,WAAW,UAAU,aAAa,QAAQ,CAAC,IAAI,oBAAC,cAAS,IAAQ,OAAc,WAAsB,UAAoB,UAAU,WAAS,cAAc,MAAM,cAAc,KAAK,GAAG,gBAAc,WAAW,QAAW,oBAAkB,aAAa;AAAA,IACpS,qBAAC,UAAK,IAAI,SAAS,WAAU,6BAA4B,aAAU,UAAU;AAAA,YAAM;AAAA,MAAO;AAAA,MAAE;AAAA,OAAU;AAAA,IACrG,QAAQ,oBAAC,SAAI,IAAI,SAAS,MAAK,SAAS,iBAAM,IAAS;AAAA,IACvD,SAAS,oBAAC,SAAI,IAAI,UAAU,MAAK,UAAU,kBAAO,IAAS;AAAA,IAC5D,qBAAC,SAAI,WAAU,+BAA+B;AAAA;AAAA,MAAS,YAAY,oBAAC,UAAO,WAAU,8BAA6B,MAAK,UAAS,MAAK,MAAK,UAAU,YAAY,WAAW,CAAC,MAAM,KAAK,GAAI,uBAAa,qBAAgB,WAAU;AAAA,OAAU;AAAA,KAC9O;AACF,CAAC;AACD,SAAS,cAAc;AACvB,MAAM,SAAS,MAAM,WAAiE,CAAC,EAAE,WAAW,uBAAuB,WAAW,GAAG,MAAM,GAAG,QAAQ,oBAAC,SAAK,GAAG,OAAO,KAAU,WAAW,WAAW,8BAA8B,SAAS,GAAG,MAAK,UAAU,UAAS,CAAM;AAClR,OAAO,cAAc;AACrB,MAAM,OAAO,MAAM,WAAmD,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,oBAAC,SAAK,GAAG,OAAO,KAAU,WAAW,WAAW,sBAAsB,SAAS,GAAG,CAAE;AAC5L,KAAK,cAAc;AACnB,MAAM,gBAAgB,OAAO,OAAO,MAAM,EAAE,MAAM,SAAS,SAAS,WAAW,UAAU,OAAO,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/commentThread/commentThread.props.ts"],
4
- "sourcesContent": ["import type * as React from 'react'\n\ninterface CommentThreadRootProps extends React.HTMLAttributes<HTMLDivElement> {}\n\ninterface CommentProps extends React.HTMLAttributes<HTMLElement> {\n author: string\n avatarSrc?: string\n badge?: React.ReactNode\n dateTime: string\n timeLabel: React.ReactNode\n actions?: React.ReactNode\n}\n\ninterface ComposerProps extends Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit'> {\n value: string\n onValueChange: (value: string) => void\n onSubmit?: () => void\n maxLength?: number\n submitting?: boolean\n locked?: boolean\n}\n\nexport type { CommentProps, CommentThreadRootProps, ComposerProps }\n"],
4
+ "sourcesContent": ["import type * as React from 'react'\n\ninterface CommentThreadRootProps extends React.HTMLAttributes<HTMLDivElement> {}\n\ninterface CommentProps extends React.HTMLAttributes<HTMLElement> {\n author: string\n avatarSrc?: string\n badge?: React.ReactNode\n dateTime: string\n timeLabel: React.ReactNode\n actions?: React.ReactNode\n metadata?: React.ReactNode\n}\n\ninterface ComposerProps extends Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit'> {\n value: string\n onValueChange: (value: string) => void\n onSubmit?: () => void\n maxLength?: number\n submitting?: boolean\n locked?: boolean\n label?: string\n error?: React.ReactNode\n status?: React.ReactNode\n actions?: React.ReactNode\n input?: (context: ComposerInputContext) => React.ReactNode\n}\n\nexport type { CommentProps, CommentThreadRootProps, ComposerProps }\n\nexport interface ComposerInputContext {\n id: string; value: string; onValueChange: (value: string) => void\n maxLength: number; disabled: boolean; describedBy: string; invalid: boolean\n}\nexport interface RepliesProps extends React.HTMLAttributes<HTMLDivElement> {\n limit?: number; expanded?: boolean; onExpandedChange?: (expanded: boolean) => void\n moreLabel?: (remaining: number) => React.ReactNode\n}\nexport interface TombstoneProps extends React.HTMLAttributes<HTMLDivElement> { state?: 'hidden' | 'removed' | 'deleted' }\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -8,6 +8,7 @@ interface CommentProps extends React.HTMLAttributes<HTMLElement> {
8
8
  dateTime: string;
9
9
  timeLabel: React.ReactNode;
10
10
  actions?: React.ReactNode;
11
+ metadata?: React.ReactNode;
11
12
  }
12
13
  interface ComposerProps extends Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit'> {
13
14
  value: string;
@@ -16,6 +17,29 @@ interface ComposerProps extends Omit<React.FormHTMLAttributes<HTMLFormElement>,
16
17
  maxLength?: number;
17
18
  submitting?: boolean;
18
19
  locked?: boolean;
20
+ label?: string;
21
+ error?: React.ReactNode;
22
+ status?: React.ReactNode;
23
+ actions?: React.ReactNode;
24
+ input?: (context: ComposerInputContext) => React.ReactNode;
19
25
  }
20
26
  export type { CommentProps, CommentThreadRootProps, ComposerProps };
27
+ export interface ComposerInputContext {
28
+ id: string;
29
+ value: string;
30
+ onValueChange: (value: string) => void;
31
+ maxLength: number;
32
+ disabled: boolean;
33
+ describedBy: string;
34
+ invalid: boolean;
35
+ }
36
+ export interface RepliesProps extends React.HTMLAttributes<HTMLDivElement> {
37
+ limit?: number;
38
+ expanded?: boolean;
39
+ onExpandedChange?: (expanded: boolean) => void;
40
+ moreLabel?: (remaining: number) => React.ReactNode;
41
+ }
42
+ export interface TombstoneProps extends React.HTMLAttributes<HTMLDivElement> {
43
+ state?: 'hidden' | 'removed' | 'deleted';
44
+ }
21
45
  //# sourceMappingURL=commentThread.props.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commentThread.props.d.cts","sourceRoot":"","sources":["../../../src/components/commentThread/commentThread.props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAEnC,UAAU,sBAAuB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEhF,UAAU,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC9D,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,UAAU,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACzF,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"commentThread.props.d.cts","sourceRoot":"","sources":["../../../src/components/commentThread/commentThread.props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAEnC,UAAU,sBAAuB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEhF,UAAU,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC9D,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAED,UAAU,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACzF,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,KAAK,CAAC,SAAS,CAAA;CAC3D;AAED,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,CAAA;AAEnE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAC5E;AACD,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IAClF,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;CACnD;AACD,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAAG,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE"}
@@ -8,6 +8,7 @@ interface CommentProps extends React.HTMLAttributes<HTMLElement> {
8
8
  dateTime: string;
9
9
  timeLabel: React.ReactNode;
10
10
  actions?: React.ReactNode;
11
+ metadata?: React.ReactNode;
11
12
  }
12
13
  interface ComposerProps extends Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit'> {
13
14
  value: string;
@@ -16,6 +17,29 @@ interface ComposerProps extends Omit<React.FormHTMLAttributes<HTMLFormElement>,
16
17
  maxLength?: number;
17
18
  submitting?: boolean;
18
19
  locked?: boolean;
20
+ label?: string;
21
+ error?: React.ReactNode;
22
+ status?: React.ReactNode;
23
+ actions?: React.ReactNode;
24
+ input?: (context: ComposerInputContext) => React.ReactNode;
19
25
  }
20
26
  export type { CommentProps, CommentThreadRootProps, ComposerProps };
27
+ export interface ComposerInputContext {
28
+ id: string;
29
+ value: string;
30
+ onValueChange: (value: string) => void;
31
+ maxLength: number;
32
+ disabled: boolean;
33
+ describedBy: string;
34
+ invalid: boolean;
35
+ }
36
+ export interface RepliesProps extends React.HTMLAttributes<HTMLDivElement> {
37
+ limit?: number;
38
+ expanded?: boolean;
39
+ onExpandedChange?: (expanded: boolean) => void;
40
+ moreLabel?: (remaining: number) => React.ReactNode;
41
+ }
42
+ export interface TombstoneProps extends React.HTMLAttributes<HTMLDivElement> {
43
+ state?: 'hidden' | 'removed' | 'deleted';
44
+ }
21
45
  //# sourceMappingURL=commentThread.props.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commentThread.props.d.mts","sourceRoot":"","sources":["../../../src/components/commentThread/commentThread.props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAEnC,UAAU,sBAAuB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEhF,UAAU,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC9D,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,UAAU,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACzF,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"commentThread.props.d.mts","sourceRoot":"","sources":["../../../src/components/commentThread/commentThread.props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAEnC,UAAU,sBAAuB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEhF,UAAU,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC9D,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAED,UAAU,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACzF,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,KAAK,CAAC,SAAS,CAAA;CAC3D;AAED,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,CAAA;AAEnE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAC5E;AACD,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IAClF,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;CACnD;AACD,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAAG,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE"}
@@ -8,6 +8,7 @@ interface CommentProps extends React.HTMLAttributes<HTMLElement> {
8
8
  dateTime: string;
9
9
  timeLabel: React.ReactNode;
10
10
  actions?: React.ReactNode;
11
+ metadata?: React.ReactNode;
11
12
  }
12
13
  interface ComposerProps extends Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit'> {
13
14
  value: string;
@@ -16,6 +17,29 @@ interface ComposerProps extends Omit<React.FormHTMLAttributes<HTMLFormElement>,
16
17
  maxLength?: number;
17
18
  submitting?: boolean;
18
19
  locked?: boolean;
20
+ label?: string;
21
+ error?: React.ReactNode;
22
+ status?: React.ReactNode;
23
+ actions?: React.ReactNode;
24
+ input?: (context: ComposerInputContext) => React.ReactNode;
19
25
  }
20
26
  export type { CommentProps, CommentThreadRootProps, ComposerProps };
27
+ export interface ComposerInputContext {
28
+ id: string;
29
+ value: string;
30
+ onValueChange: (value: string) => void;
31
+ maxLength: number;
32
+ disabled: boolean;
33
+ describedBy: string;
34
+ invalid: boolean;
35
+ }
36
+ export interface RepliesProps extends React.HTMLAttributes<HTMLDivElement> {
37
+ limit?: number;
38
+ expanded?: boolean;
39
+ onExpandedChange?: (expanded: boolean) => void;
40
+ moreLabel?: (remaining: number) => React.ReactNode;
41
+ }
42
+ export interface TombstoneProps extends React.HTMLAttributes<HTMLDivElement> {
43
+ state?: 'hidden' | 'removed' | 'deleted';
44
+ }
21
45
  //# sourceMappingURL=commentThread.props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"commentThread.props.d.ts","sourceRoot":"","sources":["../../../src/components/commentThread/commentThread.props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAEnC,UAAU,sBAAuB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEhF,UAAU,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC9D,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,UAAU,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACzF,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"commentThread.props.d.ts","sourceRoot":"","sources":["../../../src/components/commentThread/commentThread.props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAEnC,UAAU,sBAAuB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEhF,UAAU,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC9D,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAED,UAAU,aAAc,SAAQ,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACzF,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,KAAK,CAAC,SAAS,CAAA;CAC3D;AAED,YAAY,EAAE,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,CAAA;AAEnE,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAC5E;AACD,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAA;IAClF,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;CACnD;AACD,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAAG,KAAK,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE"}
@@ -1,6 +1,6 @@
1
1
 
2
2
 
3
- /* ConfigDrawer renders inside Sheet.Content (right-anchored panel).
3
+ /* ConfigDrawer renders inside Drawer.Content (host-selected edge).
4
4
  These rules style the body layout and each settings row. */
5
5
 
6
6
  .dsx-config-drawer__body {
@@ -11,11 +11,13 @@
11
11
  overflow-y: auto;
12
12
  padding: var(--dsx-space-md) 0;
13
13
  min-height: 0;
14
+ min-width: 0;
14
15
  }
15
16
 
16
17
  .dsx-config-drawer__row {
17
18
  display: flex;
18
19
  flex-direction: row;
20
+ flex-wrap: wrap;
19
21
  align-items: center;
20
22
  justify-content: space-between;
21
23
  gap: var(--dsx-space-md);
@@ -26,12 +28,14 @@
26
28
  display: flex;
27
29
  flex-direction: column;
28
30
  gap: var(--dsx-space-2xs);
29
- flex: 1 1 auto;
31
+ flex: 1 1 max-content;
30
32
  min-width: 0;
31
33
  }
32
34
 
33
35
  .dsx-config-drawer__row-control {
34
- flex-shrink: 0;
36
+ flex: 0 0 auto;
37
+ min-width: 0;
38
+ max-width: 100%;
35
39
  }
36
40
 
37
41
  .dsx-config-drawer__accent-swatch {
@@ -61,7 +61,7 @@ function AccentSwatch({ tier }) {
61
61
  );
62
62
  }
63
63
  function SettingRow({ label, description, children }) {
64
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Flex.Flex, { direction: "row", justify: "between", align: "center", gap: "md", className: "dsx-config-drawer__row", children: [
64
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Flex.Flex, { direction: "row", justify: "between", align: "center", gap: "md", wrap: "wrap", className: "dsx-config-drawer__row", children: [
65
65
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Flex.Flex, { direction: "column", gap: "1", className: "dsx-config-drawer__row-info", children: [
66
66
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Label.Label, { children: label }),
67
67
  description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Text.Text, { variant: "label-small", tone: "muted", children: description })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/configDrawer/ConfigDrawer.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\n\nimport { Flex } from '../flex/Flex'\nimport { Icon } from '../icon/Icon'\nimport { IconButton } from '../iconButton/IconButton'\nimport { Label } from '../label/Label'\nimport { NumberInput } from '../numberInput/NumberInput'\nimport { SegmentedControl } from '../segmentedControl/SegmentedControl'\nimport { Separator } from '../separator/Separator'\nimport { Text } from '../text/Text'\nimport { useTheme } from '../themeProvider/ThemeProvider'\nimport { VisuallyHidden } from '../visuallyHidden/VisuallyHidden'\n\nimport type { ThemeAccentColor, ThemeGrayColor, ThemePanelBackground, ThemeRadius, ThemeScaling } from '../../foundations/Theme'\nimport type { ThemePreference } from '../themeProvider/themeProvider.props'\n\nconst configDrawerSides = ['top', 'right', 'bottom', 'left'] as const\ntype ConfigDrawerSide = (typeof configDrawerSides)[number]\n\nconst Drawer = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.Drawer })))\nconst DrawerTrigger = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerTrigger })))\nconst DrawerContent = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerContent })))\nconst DrawerHeader = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerHeader })))\nconst DrawerTitle = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerTitle })))\nconst DrawerDescription = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerDescription })))\n\ntype ConfigDrawerProps = {\n /** Whether the drawer is open (controlled). */\n open?: boolean\n /** Callback when open state changes. */\n onOpenChange?: (open: boolean) => void\n /** Default open state (uncontrolled). */\n defaultOpen?: boolean\n /** Custom trigger button. */\n trigger?: React.ReactNode\n /** Which edge the drawer slides from. Default 'right' (unchanged from before). */\n side?: ConfigDrawerSide\n /**\n * Extra content rendered after the built-in settings \u2014 e.g. a host app's\n * own per-page scenario controls. Kept as a plain slot rather than a\n * fixed \"scenarios\" prop shape: what belongs here differs per host and\n * per page, only the drawer chrome is meant to be shared.\n */\n children?: React.ReactNode\n}\n\ntype SettingRowProps = {\n label: string\n description?: string\n children: React.ReactNode\n}\n\nfunction AccentSwatch({ tier }: { tier: ThemeAccentColor }) {\n return (\n <span\n className=\"dsx-config-drawer__accent-swatch\"\n data-tier={tier}\n aria-hidden=\"true\"\n />\n )\n}\n\nfunction SettingRow({ label, description, children }: SettingRowProps) {\n return (\n <Flex direction=\"row\" justify=\"between\" align=\"center\" gap=\"md\" className=\"dsx-config-drawer__row\">\n <Flex direction=\"column\" gap=\"1\" className=\"dsx-config-drawer__row-info\">\n <Label>{label}</Label>\n {description && (\n <Text variant=\"label-small\" tone=\"muted\">{description}</Text>\n )}\n </Flex>\n <div className=\"dsx-config-drawer__row-control\">{children}</div>\n </Flex>\n )\n}\n\nexport function ConfigDrawer({ open, onOpenChange, defaultOpen, trigger, side = 'right', children }: ConfigDrawerProps) {\n const {\n theme,\n setTheme,\n accentColor,\n setAccentColor,\n grayColor,\n setGrayColor,\n radius,\n setRadius,\n density,\n setDensity,\n scaling,\n setScaling,\n panelBackground,\n setPanelBackground,\n } = useTheme()\n\n const handleScalingChange = React.useCallback(\n (value: number | undefined) => {\n if (value !== undefined) {\n const clamped = Math.min(110, Math.max(90, Math.round(value / 5) * 5))\n setScaling(String(clamped) as ThemeScaling)\n }\n },\n [setScaling],\n )\n\n const scalingNumber = React.useMemo(() => {\n const parsed = parseInt(scaling, 10)\n return isNaN(parsed) ? 100 : parsed\n }, [scaling])\n\n const defaultTrigger = (\n <IconButton variant=\"ghost\" size=\"md\" aria-label=\"Open preferences\">\n <Icon name=\"settings\" size=\"md\" />\n </IconButton>\n )\n\n return (\n <React.Suspense fallback={null}>\n <Drawer open={open} onOpenChange={onOpenChange} defaultOpen={defaultOpen} direction={side}>\n <DrawerTrigger asChild>{trigger ?? defaultTrigger}</DrawerTrigger>\n <DrawerContent>\n <DrawerHeader>\n <DrawerTitle>Preferences</DrawerTitle>\n </DrawerHeader>\n <VisuallyHidden asChild>\n <DrawerDescription>Adjust theme, accent, radius, density, scaling, and panel background for this preview.</DrawerDescription>\n </VisuallyHidden>\n\n <Flex direction=\"column\" gap=\"lg\" className=\"dsx-config-drawer__body\">\n {/* Appearance */}\n <SettingRow label=\"Theme\" description=\"Choose your preferred appearance\">\n <SegmentedControl\n type=\"single\"\n value={theme}\n onValueChange={(value: string) => setTheme(value as ThemePreference)}\n aria-label=\"Theme mode\"\n size=\"sm\"\n >\n <SegmentedControl.Item value=\"light\">Light</SegmentedControl.Item>\n <SegmentedControl.Item value=\"dark\">Dark</SegmentedControl.Item>\n <SegmentedControl.Item value=\"system\">System</SegmentedControl.Item>\n </SegmentedControl>\n </SettingRow>\n\n <Separator />\n\n {/* Accent Color */}\n <SettingRow label=\"Accent\" description=\"Primary color for interactive elements\">\n <SegmentedControl\n type=\"single\"\n value={accentColor}\n onValueChange={(value: string) => setAccentColor(value as ThemeAccentColor)}\n aria-label=\"Accent color\"\n size=\"sm\"\n >\n <SegmentedControl.Item value=\"rift\">\n <AccentSwatch tier=\"rift\" />\n Rift\n </SegmentedControl.Item>\n <SegmentedControl.Item value=\"warp\">\n <AccentSwatch tier=\"warp\" />\n Warp\n </SegmentedControl.Item>\n <SegmentedControl.Item value=\"ray\">\n <AccentSwatch tier=\"ray\" />\n Ray\n </SegmentedControl.Item>\n <SegmentedControl.Item value=\"astral\">\n <AccentSwatch tier=\"astral\" />\n Astral\n </SegmentedControl.Item>\n <SegmentedControl.Item value=\"spark\">\n <AccentSwatch tier=\"spark\" />\n Spark\n </SegmentedControl.Item>\n </SegmentedControl>\n </SettingRow>\n\n <Separator />\n\n {/* Gray Color */}\n <SettingRow label=\"Gray\" description=\"Neutral tone palette\">\n <SegmentedControl\n type=\"single\"\n value={grayColor}\n onValueChange={(value: string) => setGrayColor(value as ThemeGrayColor)}\n aria-label=\"Gray color\"\n size=\"sm\"\n >\n <SegmentedControl.Item value=\"auto\">Auto</SegmentedControl.Item>\n <SegmentedControl.Item value=\"neutral\">Neutral</SegmentedControl.Item>\n </SegmentedControl>\n </SettingRow>\n\n <Separator />\n\n {/* Radius */}\n <SettingRow label=\"Radius\" description=\"Corner rounding for surfaces\">\n <SegmentedControl\n type=\"single\"\n value={radius}\n onValueChange={(value: string) => setRadius(value as ThemeRadius)}\n aria-label=\"Border radius\"\n size=\"sm\"\n >\n <SegmentedControl.Item value=\"none\">None</SegmentedControl.Item>\n <SegmentedControl.Item value=\"sm\">Small</SegmentedControl.Item>\n <SegmentedControl.Item value=\"md\">Medium</SegmentedControl.Item>\n <SegmentedControl.Item value=\"lg\">Large</SegmentedControl.Item>\n <SegmentedControl.Item value=\"full\">Full</SegmentedControl.Item>\n </SegmentedControl>\n </SettingRow>\n\n <Separator />\n\n {/* Density */}\n <SettingRow label=\"Density\" description=\"Spacing between elements\">\n <SegmentedControl\n type=\"single\"\n value={density}\n onValueChange={(value: string) => setDensity(value as 'comfortable' | 'compact')}\n aria-label=\"Density\"\n size=\"sm\"\n >\n <SegmentedControl.Item value=\"comfortable\">Comfortable</SegmentedControl.Item>\n <SegmentedControl.Item value=\"compact\">Compact</SegmentedControl.Item>\n </SegmentedControl>\n </SettingRow>\n\n <Separator />\n\n {/* Scaling */}\n <SettingRow label=\"Scaling\" description=\"UI size multiplier\">\n <NumberInput\n value={scalingNumber}\n onChange={handleScalingChange}\n min={90}\n max={110}\n step={5}\n className=\"dsx-config-drawer__scaling-input\"\n aria-label=\"Scaling percentage\"\n />\n </SettingRow>\n\n <Separator />\n\n {/* Panel BG \u2014 the app-level predecessor to this component had this\n control; ConfigDrawer didn't, a real parity gap. */}\n <SettingRow label=\"Panel BG\" description=\"Surface treatment for glass panels\">\n <SegmentedControl\n type=\"single\"\n value={panelBackground}\n onValueChange={(value: string) => setPanelBackground(value as ThemePanelBackground)}\n aria-label=\"Panel background\"\n size=\"sm\"\n >\n <SegmentedControl.Item value=\"translucent\">Translucent</SegmentedControl.Item>\n <SegmentedControl.Item value=\"solid\">Solid</SegmentedControl.Item>\n </SegmentedControl>\n </SettingRow>\n\n {children && (\n <>\n <Separator />\n {children}\n </>\n )}\n </Flex>\n </DrawerContent>\n </Drawer>\n </React.Suspense>\n )\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\n\nimport { Flex } from '../flex/Flex'\nimport { Icon } from '../icon/Icon'\nimport { IconButton } from '../iconButton/IconButton'\nimport { Label } from '../label/Label'\nimport { NumberInput } from '../numberInput/NumberInput'\nimport { SegmentedControl } from '../segmentedControl/SegmentedControl'\nimport { Separator } from '../separator/Separator'\nimport { Text } from '../text/Text'\nimport { useTheme } from '../themeProvider/ThemeProvider'\nimport { VisuallyHidden } from '../visuallyHidden/VisuallyHidden'\n\nimport type { ThemeAccentColor, ThemeGrayColor, ThemePanelBackground, ThemeRadius, ThemeScaling } from '../../foundations/Theme'\nimport type { ThemePreference } from '../themeProvider/themeProvider.props'\n\nconst configDrawerSides = ['top', 'right', 'bottom', 'left'] as const\ntype ConfigDrawerSide = (typeof configDrawerSides)[number]\n\nconst Drawer = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.Drawer })))\nconst DrawerTrigger = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerTrigger })))\nconst DrawerContent = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerContent })))\nconst DrawerHeader = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerHeader })))\nconst DrawerTitle = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerTitle })))\nconst DrawerDescription = React.lazy(() => import('../drawer/Drawer').then((mod) => ({ default: mod.DrawerDescription })))\n\ntype ConfigDrawerProps = {\n /** Whether the drawer is open (controlled). */\n open?: boolean\n /** Callback when open state changes. */\n onOpenChange?: (open: boolean) => void\n /** Default open state (uncontrolled). */\n defaultOpen?: boolean\n /** Custom trigger button. */\n trigger?: React.ReactNode\n /** Which edge the drawer slides from. Default 'right' (unchanged from before). */\n side?: ConfigDrawerSide\n /**\n * Extra content rendered after the built-in settings \u2014 e.g. a host app's\n * own per-page scenario controls. Kept as a plain slot rather than a\n * fixed \"scenarios\" prop shape: what belongs here differs per host and\n * per page, only the drawer chrome is meant to be shared.\n */\n children?: React.ReactNode\n}\n\ntype SettingRowProps = {\n label: string\n description?: string\n children: React.ReactNode\n}\n\nfunction AccentSwatch({ tier }: { tier: ThemeAccentColor }) {\n return (\n <span\n className=\"dsx-config-drawer__accent-swatch\"\n data-tier={tier}\n aria-hidden=\"true\"\n />\n )\n}\n\nfunction SettingRow({ label, description, children }: SettingRowProps) {\n return (\n <Flex direction=\"row\" justify=\"between\" align=\"center\" gap=\"md\" wrap=\"wrap\" className=\"dsx-config-drawer__row\">\n <Flex direction=\"column\" gap=\"1\" className=\"dsx-config-drawer__row-info\">\n <Label>{label}</Label>\n {description && (\n <Text variant=\"label-small\" tone=\"muted\">{description}</Text>\n )}\n </Flex>\n <div className=\"dsx-config-drawer__row-control\">{children}</div>\n </Flex>\n )\n}\n\nexport function ConfigDrawer({ open, onOpenChange, defaultOpen, trigger, side = 'right', children }: ConfigDrawerProps) {\n const {\n theme,\n setTheme,\n accentColor,\n setAccentColor,\n grayColor,\n setGrayColor,\n radius,\n setRadius,\n density,\n setDensity,\n scaling,\n setScaling,\n panelBackground,\n setPanelBackground,\n } = useTheme()\n\n const handleScalingChange = React.useCallback(\n (value: number | undefined) => {\n if (value !== undefined) {\n const clamped = Math.min(110, Math.max(90, Math.round(value / 5) * 5))\n setScaling(String(clamped) as ThemeScaling)\n }\n },\n [setScaling],\n )\n\n const scalingNumber = React.useMemo(() => {\n const parsed = parseInt(scaling, 10)\n return isNaN(parsed) ? 100 : parsed\n }, [scaling])\n\n const defaultTrigger = (\n <IconButton variant=\"ghost\" size=\"md\" aria-label=\"Open preferences\">\n <Icon name=\"settings\" size=\"md\" />\n </IconButton>\n )\n\n return (\n <React.Suspense fallback={null}>\n <Drawer open={open} onOpenChange={onOpenChange} defaultOpen={defaultOpen} direction={side}>\n <DrawerTrigger asChild>{trigger ?? defaultTrigger}</DrawerTrigger>\n <DrawerContent>\n <DrawerHeader>\n <DrawerTitle>Preferences</DrawerTitle>\n </DrawerHeader>\n <VisuallyHidden asChild>\n <DrawerDescription>Adjust theme, accent, radius, density, scaling, and panel background for this preview.</DrawerDescription>\n </VisuallyHidden>\n\n <Flex direction=\"column\" gap=\"lg\" className=\"dsx-config-drawer__body\">\n {/* Appearance */}\n <SettingRow label=\"Theme\" description=\"Choose your preferred appearance\">\n <SegmentedControl\n type=\"single\"\n value={theme}\n onValueChange={(value: string) => setTheme(value as ThemePreference)}\n aria-label=\"Theme mode\"\n size=\"sm\"\n >\n <SegmentedControl.Item value=\"light\">Light</SegmentedControl.Item>\n <SegmentedControl.Item value=\"dark\">Dark</SegmentedControl.Item>\n <SegmentedControl.Item value=\"system\">System</SegmentedControl.Item>\n </SegmentedControl>\n </SettingRow>\n\n <Separator />\n\n {/* Accent Color */}\n <SettingRow label=\"Accent\" description=\"Primary color for interactive elements\">\n <SegmentedControl\n type=\"single\"\n value={accentColor}\n onValueChange={(value: string) => setAccentColor(value as ThemeAccentColor)}\n aria-label=\"Accent color\"\n size=\"sm\"\n >\n <SegmentedControl.Item value=\"rift\">\n <AccentSwatch tier=\"rift\" />\n Rift\n </SegmentedControl.Item>\n <SegmentedControl.Item value=\"warp\">\n <AccentSwatch tier=\"warp\" />\n Warp\n </SegmentedControl.Item>\n <SegmentedControl.Item value=\"ray\">\n <AccentSwatch tier=\"ray\" />\n Ray\n </SegmentedControl.Item>\n <SegmentedControl.Item value=\"astral\">\n <AccentSwatch tier=\"astral\" />\n Astral\n </SegmentedControl.Item>\n <SegmentedControl.Item value=\"spark\">\n <AccentSwatch tier=\"spark\" />\n Spark\n </SegmentedControl.Item>\n </SegmentedControl>\n </SettingRow>\n\n <Separator />\n\n {/* Gray Color */}\n <SettingRow label=\"Gray\" description=\"Neutral tone palette\">\n <SegmentedControl\n type=\"single\"\n value={grayColor}\n onValueChange={(value: string) => setGrayColor(value as ThemeGrayColor)}\n aria-label=\"Gray color\"\n size=\"sm\"\n >\n <SegmentedControl.Item value=\"auto\">Auto</SegmentedControl.Item>\n <SegmentedControl.Item value=\"neutral\">Neutral</SegmentedControl.Item>\n </SegmentedControl>\n </SettingRow>\n\n <Separator />\n\n {/* Radius */}\n <SettingRow label=\"Radius\" description=\"Corner rounding for surfaces\">\n <SegmentedControl\n type=\"single\"\n value={radius}\n onValueChange={(value: string) => setRadius(value as ThemeRadius)}\n aria-label=\"Border radius\"\n size=\"sm\"\n >\n <SegmentedControl.Item value=\"none\">None</SegmentedControl.Item>\n <SegmentedControl.Item value=\"sm\">Small</SegmentedControl.Item>\n <SegmentedControl.Item value=\"md\">Medium</SegmentedControl.Item>\n <SegmentedControl.Item value=\"lg\">Large</SegmentedControl.Item>\n <SegmentedControl.Item value=\"full\">Full</SegmentedControl.Item>\n </SegmentedControl>\n </SettingRow>\n\n <Separator />\n\n {/* Density */}\n <SettingRow label=\"Density\" description=\"Spacing between elements\">\n <SegmentedControl\n type=\"single\"\n value={density}\n onValueChange={(value: string) => setDensity(value as 'comfortable' | 'compact')}\n aria-label=\"Density\"\n size=\"sm\"\n >\n <SegmentedControl.Item value=\"comfortable\">Comfortable</SegmentedControl.Item>\n <SegmentedControl.Item value=\"compact\">Compact</SegmentedControl.Item>\n </SegmentedControl>\n </SettingRow>\n\n <Separator />\n\n {/* Scaling */}\n <SettingRow label=\"Scaling\" description=\"UI size multiplier\">\n <NumberInput\n value={scalingNumber}\n onChange={handleScalingChange}\n min={90}\n max={110}\n step={5}\n className=\"dsx-config-drawer__scaling-input\"\n aria-label=\"Scaling percentage\"\n />\n </SettingRow>\n\n <Separator />\n\n {/* Panel BG \u2014 the app-level predecessor to this component had this\n control; ConfigDrawer didn't, a real parity gap. */}\n <SettingRow label=\"Panel BG\" description=\"Surface treatment for glass panels\">\n <SegmentedControl\n type=\"single\"\n value={panelBackground}\n onValueChange={(value: string) => setPanelBackground(value as ThemePanelBackground)}\n aria-label=\"Panel background\"\n size=\"sm\"\n >\n <SegmentedControl.Item value=\"translucent\">Translucent</SegmentedControl.Item>\n <SegmentedControl.Item value=\"solid\">Solid</SegmentedControl.Item>\n </SegmentedControl>\n </SettingRow>\n\n {children && (\n <>\n <Separator />\n {children}\n </>\n )}\n </Flex>\n </DrawerContent>\n </Drawer>\n </React.Suspense>\n )\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -28,7 +28,7 @@ function AccentSwatch({ tier }) {
28
28
  );
29
29
  }
30
30
  function SettingRow({ label, description, children }) {
31
- return /* @__PURE__ */ jsxs(Flex, { direction: "row", justify: "between", align: "center", gap: "md", className: "dsx-config-drawer__row", children: [
31
+ return /* @__PURE__ */ jsxs(Flex, { direction: "row", justify: "between", align: "center", gap: "md", wrap: "wrap", className: "dsx-config-drawer__row", children: [
32
32
  /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "1", className: "dsx-config-drawer__row-info", children: [
33
33
  /* @__PURE__ */ jsx(Label, { children: label }),
34
34
  description && /* @__PURE__ */ jsx(Text, { variant: "label-small", tone: "muted", children: description })