@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
package/README.md CHANGED
@@ -12,6 +12,25 @@ pnpm add @d4gger/design-system react react-dom lucide-react
12
12
  React 18 and 19 are supported. Add optional peers only for the advanced
13
13
  surfaces you use.
14
14
 
15
+ ## Migrating from 3.x
16
+
17
+ Text and Heading now accept single typography and spacing values. Replace
18
+ responsive maps on `size`, `color`, `align`, `wrap`, `trim`, `weight`, and
19
+ the margin/padding props with scalar values. Choose one readable type role;
20
+ put responsive spacing and composition on layout primitives such as Flex and Grid.
21
+
22
+ ```tsx
23
+ // 3.x
24
+ <Text size={{ initial: '2', md: '3' }}>Workspace update</Text>
25
+
26
+ // 4.x
27
+ <Text size="3">Workspace update</Text>
28
+ ```
29
+
30
+ Responsive layout props remain available. There is no compatibility adapter
31
+ for the removed typography maps. Rebuild generated declarations and styles
32
+ together when upgrading.
33
+
15
34
  ## Start using it
16
35
 
17
36
  Import the complete stylesheet once at application entry:
@@ -2,7 +2,7 @@
2
2
 
3
3
  .dsx-accordion__item {
4
4
  width: 100%;
5
- overflow: hidden;
5
+ overflow: visible;
6
6
  border-bottom: var(--dsx-border-width-sm) solid var(--dsx-color-outline);
7
7
  }
8
8
 
@@ -33,10 +33,11 @@
33
33
  flex: 1;
34
34
  min-width: 0;
35
35
  text-align: start;
36
+ overflow-wrap: anywhere;
36
37
  }
37
38
 
38
39
  .dsx-accordion__trigger[data-state='open'] {
39
- color: var(--dsx-color-primary);
40
+ color: var(--dsx-color-accent-indicator);
40
41
  }
41
42
 
42
43
  .dsx-accordion__trigger:focus-visible {
@@ -89,3 +90,9 @@
89
90
  font-family: var(--dsx-typography-body-medium-font-family), sans-serif;
90
91
  font-size: var(--dsx-typography-body-medium-font-size);
91
92
  }
93
+
94
+ @media (prefers-reduced-motion: reduce) {
95
+ .dsx-accordion__chevron { transition: none; }
96
+ }
97
+
98
+ .dsx-accordion__trigger:disabled { opacity: var(--dsx-opacity-disabled); }
@@ -39,7 +39,6 @@ var React = __toESM(require("react"), 1);
39
39
  var import_classnames = __toESM(require("classnames"), 1);
40
40
  var import_react_slot = require("@radix-ui/react-slot");
41
41
  var import_extractProps = require("../../_internal/helpers/extractProps");
42
- var import_Card = require("../card/Card");
43
42
  var import_Icon = require("../icon/Icon");
44
43
  var import_alert = require("./alert.props");
45
44
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -54,6 +53,7 @@ const AlertRoot = React.forwardRef((props, forwardedRef) => {
54
53
  color,
55
54
  highContrast = false,
56
55
  icon,
56
+ children,
57
57
  role,
58
58
  size = "md",
59
59
  variant = "default",
@@ -61,19 +61,23 @@ const AlertRoot = React.forwardRef((props, forwardedRef) => {
61
61
  } = (0, import_extractProps.extractProps)(props, import_alert.alertPropDefs);
62
62
  const Comp = asChild ? import_react_slot.Slot : "div";
63
63
  const fallbackIcon = variant === "success" ? "check-circle" : variant === "default" ? "info" : "alert-triangle";
64
+ const child = asChild ? React.Children.only(children) : null;
65
+ const content = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
66
+ icon === null ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { "aria-hidden": "true", className: "dsx-alert__icon", children: icon ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: fallbackIcon, size: "md", strokeWidth: "var(--dsx-icon-stroke-width-strong, 2.25)" }) }),
67
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "dsx-alert__content", children: child ? child.props.children : children })
68
+ ] });
64
69
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
65
- import_Card.CardRoot,
70
+ Comp,
66
71
  {
67
- asChild: true,
72
+ ...alertProps,
73
+ ref: forwardedRef,
74
+ role: role ?? "alert",
68
75
  className: (0, import_classnames.default)("dsx-alert", className),
69
76
  "data-accent-color": color,
70
77
  "data-high-contrast": highContrast ? "true" : void 0,
71
78
  "data-size": size,
72
79
  "data-variant": variant,
73
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Comp, { ...alertProps, ref: forwardedRef, role: role ?? "alert", children: [
74
- icon === null ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { "aria-hidden": "true", className: "dsx-alert__icon", children: icon ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: fallbackIcon, size: "md", strokeWidth: "var(--dsx-icon-stroke-width-strong, 2.25)" }) }),
75
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "dsx-alert__content", children: alertProps.children })
76
- ] })
80
+ children: child ? React.cloneElement(child, void 0, content) : content
77
81
  }
78
82
  );
79
83
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/alert/Alert.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { CardRoot } from '../card/Card'\nimport { Icon } from '../icon/Icon'\nimport { alertDescriptionPropDefs, alertPropDefs, alertTitlePropDefs } from './alert.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype AlertActionElement = React.ComponentRef<'div'>\n\nconst AlertAction = React.forwardRef<AlertActionElement, React.ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, forwardedRef) => (\n <div {...props} ref={forwardedRef} className={classNames('dsx-alert__action', className)} />\n ),\n)\nAlertAction.displayName = 'AlertAction'\n\ntype AlertElement = React.ComponentRef<'div'>\ntype AlertOwnProps = GetPropDefTypes<typeof alertPropDefs> & {\n icon?: React.ReactNode\n}\n\ninterface AlertProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'color'>, AlertOwnProps {}\n\nconst AlertRoot = React.forwardRef<AlertElement, AlertProps>((props, forwardedRef) => {\n const {\n asChild,\n className,\n color,\n highContrast = false,\n icon,\n role,\n size = 'md',\n variant = 'default',\n ...alertProps\n } = extractProps(props, alertPropDefs)\n const Comp = asChild ? Slot : 'div'\n const fallbackIcon = variant === 'success' ? 'check-circle' : variant === 'default' ? 'info' : 'alert-triangle'\n\n return (\n <CardRoot\n asChild\n className={classNames('dsx-alert', className)}\n data-accent-color={color}\n data-high-contrast={highContrast ? 'true' : undefined}\n data-size={size}\n data-variant={variant}\n >\n <Comp {...alertProps} ref={forwardedRef} role={role ?? 'alert'}>\n {icon === null ? null : (\n <span aria-hidden=\"true\" className=\"dsx-alert__icon\">\n {icon ?? <Icon name={fallbackIcon} size=\"md\" strokeWidth=\"var(--dsx-icon-stroke-width-strong, 2.25)\" />}\n </span>\n )}\n <div className=\"dsx-alert__content\">{alertProps.children}</div>\n </Comp>\n </CardRoot>\n )\n})\nAlertRoot.displayName = 'Alert'\n\ntype AlertTitleElement = React.ComponentRef<'h5'>\ntype AlertTitleOwnProps = GetPropDefTypes<typeof alertTitlePropDefs>\n\ninterface AlertTitleProps extends React.ComponentPropsWithoutRef<'h5'>, AlertTitleOwnProps {}\n\nconst AlertTitle = React.forwardRef<AlertTitleElement, AlertTitleProps>((props, forwardedRef) => {\n const { asChild, className, ...titleProps } = extractProps(props, alertTitlePropDefs)\n const Comp = asChild ? Slot : 'h5'\n\n return <Comp {...titleProps} ref={forwardedRef} className={classNames('dsx-alert__title', className)} />\n})\nAlertTitle.displayName = 'AlertTitle'\n\ntype AlertDescriptionElement = React.ComponentRef<'p'>\ntype AlertDescriptionOwnProps = GetPropDefTypes<typeof alertDescriptionPropDefs>\n\ninterface AlertDescriptionProps\n extends React.ComponentPropsWithoutRef<'p'>,\n AlertDescriptionOwnProps {}\n\nconst AlertDescription = React.forwardRef<AlertDescriptionElement, AlertDescriptionProps>(\n (props, forwardedRef) => {\n const { asChild, className, ...descriptionProps } = extractProps(props, alertDescriptionPropDefs)\n const Comp = asChild ? Slot : 'p'\n\n return (\n <Comp\n {...descriptionProps}\n ref={forwardedRef}\n className={classNames('dsx-alert__description', className)}\n />\n )\n },\n)\nAlertDescription.displayName = 'AlertDescription'\n\nconst Alert: typeof AlertRoot & {\n Title: typeof AlertTitle\n Description: typeof AlertDescription\n Action: typeof AlertAction\n} = Object.assign(AlertRoot, {\n Title: AlertTitle,\n Description: AlertDescription,\n Action: AlertAction,\n})\n\nexport { Alert, AlertAction, AlertDescription, AlertRoot, AlertTitle }\nexport type { AlertDescriptionProps, AlertProps, AlertTitleProps }\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,wBAAuB;AACvB,wBAAqB;AAErB,0BAA6B;AAC7B,kBAAyB;AACzB,kBAAqB;AACrB,mBAA4E;AAQxE;AAFJ,MAAM,cAAc,MAAM;AAAA,EACxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,iBACxB,4CAAC,SAAK,GAAG,OAAO,KAAK,cAAc,eAAW,kBAAAA,SAAW,qBAAqB,SAAS,GAAG;AAE9F;AACA,YAAY,cAAc;AAS1B,MAAM,YAAY,MAAM,WAAqC,CAAC,OAAO,iBAAiB;AACpF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP,UAAU;AAAA,IACV,GAAG;AAAA,EACL,QAAI,kCAAa,OAAO,0BAAa;AACrC,QAAM,OAAO,UAAU,yBAAO;AAC9B,QAAM,eAAe,YAAY,YAAY,iBAAiB,YAAY,YAAY,SAAS;AAE/F,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAO;AAAA,MACP,eAAW,kBAAAA,SAAW,aAAa,SAAS;AAAA,MAC5C,qBAAmB;AAAA,MACnB,sBAAoB,eAAe,SAAS;AAAA,MAC5C,aAAW;AAAA,MACX,gBAAc;AAAA,MAEd,uDAAC,QAAM,GAAG,YAAY,KAAK,cAAc,MAAM,QAAQ,SACpD;AAAA,iBAAS,OAAO,OACf,4CAAC,UAAK,eAAY,QAAO,WAAU,mBAChC,kBAAQ,4CAAC,oBAAK,MAAM,cAAc,MAAK,MAAK,aAAY,6CAA4C,GACvG;AAAA,QAEF,4CAAC,SAAI,WAAU,sBAAsB,qBAAW,UAAS;AAAA,SAC3D;AAAA;AAAA,EACF;AAEJ,CAAC;AACD,UAAU,cAAc;AAOxB,MAAM,aAAa,MAAM,WAA+C,CAAC,OAAO,iBAAiB;AAC/F,QAAM,EAAE,SAAS,WAAW,GAAG,WAAW,QAAI,kCAAa,OAAO,+BAAkB;AACpF,QAAM,OAAO,UAAU,yBAAO;AAE9B,SAAO,4CAAC,QAAM,GAAG,YAAY,KAAK,cAAc,eAAW,kBAAAA,SAAW,oBAAoB,SAAS,GAAG;AACxG,CAAC;AACD,WAAW,cAAc;AASzB,MAAM,mBAAmB,MAAM;AAAA,EAC7B,CAAC,OAAO,iBAAiB;AACvB,UAAM,EAAE,SAAS,WAAW,GAAG,iBAAiB,QAAI,kCAAa,OAAO,qCAAwB;AAChG,UAAM,OAAO,UAAU,yBAAO;AAE9B,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,eAAW,kBAAAA,SAAW,0BAA0B,SAAS;AAAA;AAAA,IAC3D;AAAA,EAEJ;AACF;AACA,iBAAiB,cAAc;AAE/B,MAAM,QAIF,OAAO,OAAO,WAAW;AAAA,EAC3B,OAAO;AAAA,EACP,aAAa;AAAA,EACb,QAAQ;AACV,CAAC;",
4
+ "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { Icon } from '../icon/Icon'\nimport { alertDescriptionPropDefs, alertPropDefs, alertTitlePropDefs } from './alert.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype AlertActionElement = React.ComponentRef<'div'>\n\nconst AlertAction = React.forwardRef<AlertActionElement, React.ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, forwardedRef) => (\n <div {...props} ref={forwardedRef} className={classNames('dsx-alert__action', className)} />\n ),\n)\nAlertAction.displayName = 'AlertAction'\n\ntype AlertElement = React.ComponentRef<'div'>\ntype AlertOwnProps = GetPropDefTypes<typeof alertPropDefs> & {\n icon?: React.ReactNode\n}\n\ninterface AlertProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'color'>, AlertOwnProps {}\n\nconst AlertRoot = React.forwardRef<AlertElement, AlertProps>((props, forwardedRef) => {\n const {\n asChild,\n className,\n color,\n highContrast = false,\n icon,\n children,\n role,\n size = 'md',\n variant = 'default',\n ...alertProps\n } = extractProps(props, alertPropDefs)\n const Comp = asChild ? Slot : 'div'\n const fallbackIcon = variant === 'success' ? 'check-circle' : variant === 'default' ? 'info' : 'alert-triangle'\n const child = asChild ? React.Children.only(children) as React.ReactElement<{ children?: React.ReactNode }> : null\n const content = <>\n {icon === null ? null : (\n <span aria-hidden=\"true\" className=\"dsx-alert__icon\">\n {icon ?? <Icon name={fallbackIcon} size=\"md\" strokeWidth=\"var(--dsx-icon-stroke-width-strong, 2.25)\" />}\n </span>\n )}\n <div className=\"dsx-alert__content\">{child ? child.props.children : children}</div>\n </>\n\n return (\n <Comp\n {...alertProps}\n ref={forwardedRef}\n role={role ?? 'alert'}\n className={classNames('dsx-alert', className)}\n data-accent-color={color}\n data-high-contrast={highContrast ? 'true' : undefined}\n data-size={size}\n data-variant={variant}\n >\n {child ? React.cloneElement(child, undefined, content) : content}\n </Comp>\n )\n})\nAlertRoot.displayName = 'Alert'\n\ntype AlertTitleElement = React.ComponentRef<'h5'>\ntype AlertTitleOwnProps = GetPropDefTypes<typeof alertTitlePropDefs>\n\ninterface AlertTitleProps extends React.ComponentPropsWithoutRef<'h5'>, AlertTitleOwnProps {}\n\nconst AlertTitle = React.forwardRef<AlertTitleElement, AlertTitleProps>((props, forwardedRef) => {\n const { asChild, className, ...titleProps } = extractProps(props, alertTitlePropDefs)\n const Comp = asChild ? Slot : 'h5'\n\n return <Comp {...titleProps} ref={forwardedRef} className={classNames('dsx-alert__title', className)} />\n})\nAlertTitle.displayName = 'AlertTitle'\n\ntype AlertDescriptionElement = React.ComponentRef<'p'>\ntype AlertDescriptionOwnProps = GetPropDefTypes<typeof alertDescriptionPropDefs>\n\ninterface AlertDescriptionProps\n extends React.ComponentPropsWithoutRef<'p'>,\n AlertDescriptionOwnProps {}\n\nconst AlertDescription = React.forwardRef<AlertDescriptionElement, AlertDescriptionProps>(\n (props, forwardedRef) => {\n const { asChild, className, ...descriptionProps } = extractProps(props, alertDescriptionPropDefs)\n const Comp = asChild ? Slot : 'p'\n\n return (\n <Comp\n {...descriptionProps}\n ref={forwardedRef}\n className={classNames('dsx-alert__description', className)}\n />\n )\n },\n)\nAlertDescription.displayName = 'AlertDescription'\n\nconst Alert: typeof AlertRoot & {\n Title: typeof AlertTitle\n Description: typeof AlertDescription\n Action: typeof AlertAction\n} = Object.assign(AlertRoot, {\n Title: AlertTitle,\n Description: AlertDescription,\n Action: AlertAction,\n})\n\nexport { Alert, AlertAction, AlertDescription, AlertRoot, AlertTitle }\nexport type { AlertDescriptionProps, AlertProps, AlertTitleProps }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,wBAAuB;AACvB,wBAAqB;AAErB,0BAA6B;AAC7B,kBAAqB;AACrB,mBAA4E;AAQxE;AAFJ,MAAM,cAAc,MAAM;AAAA,EACxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,iBACxB,4CAAC,SAAK,GAAG,OAAO,KAAK,cAAc,eAAW,kBAAAA,SAAW,qBAAqB,SAAS,GAAG;AAE9F;AACA,YAAY,cAAc;AAS1B,MAAM,YAAY,MAAM,WAAqC,CAAC,OAAO,iBAAiB;AACpF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP,UAAU;AAAA,IACV,GAAG;AAAA,EACL,QAAI,kCAAa,OAAO,0BAAa;AACrC,QAAM,OAAO,UAAU,yBAAO;AAC9B,QAAM,eAAe,YAAY,YAAY,iBAAiB,YAAY,YAAY,SAAS;AAC/F,QAAM,QAAQ,UAAU,MAAM,SAAS,KAAK,QAAQ,IAA0D;AAC9G,QAAM,UAAU,4EACb;AAAA,aAAS,OAAO,OACf,4CAAC,UAAK,eAAY,QAAO,WAAU,mBAChC,kBAAQ,4CAAC,oBAAK,MAAM,cAAc,MAAK,MAAK,aAAY,6CAA4C,GACvG;AAAA,IAEF,4CAAC,SAAI,WAAU,sBAAsB,kBAAQ,MAAM,MAAM,WAAW,UAAS;AAAA,KAC/E;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,MAAM,QAAQ;AAAA,MACd,eAAW,kBAAAA,SAAW,aAAa,SAAS;AAAA,MAC5C,qBAAmB;AAAA,MACnB,sBAAoB,eAAe,SAAS;AAAA,MAC5C,aAAW;AAAA,MACX,gBAAc;AAAA,MAEb,kBAAQ,MAAM,aAAa,OAAO,QAAW,OAAO,IAAI;AAAA;AAAA,EAC3D;AAEJ,CAAC;AACD,UAAU,cAAc;AAOxB,MAAM,aAAa,MAAM,WAA+C,CAAC,OAAO,iBAAiB;AAC/F,QAAM,EAAE,SAAS,WAAW,GAAG,WAAW,QAAI,kCAAa,OAAO,+BAAkB;AACpF,QAAM,OAAO,UAAU,yBAAO;AAE9B,SAAO,4CAAC,QAAM,GAAG,YAAY,KAAK,cAAc,eAAW,kBAAAA,SAAW,oBAAoB,SAAS,GAAG;AACxG,CAAC;AACD,WAAW,cAAc;AASzB,MAAM,mBAAmB,MAAM;AAAA,EAC7B,CAAC,OAAO,iBAAiB;AACvB,UAAM,EAAE,SAAS,WAAW,GAAG,iBAAiB,QAAI,kCAAa,OAAO,qCAAwB;AAChG,UAAM,OAAO,UAAU,yBAAO;AAE9B,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,eAAW,kBAAAA,SAAW,0BAA0B,SAAS;AAAA;AAAA,IAC3D;AAAA,EAEJ;AACF;AACA,iBAAiB,cAAc;AAE/B,MAAM,QAIF,OAAO,OAAO,WAAW;AAAA,EAC3B,OAAO;AAAA,EACP,aAAa;AAAA,EACb,QAAQ;AACV,CAAC;",
6
6
  "names": ["classNames"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.d.cts","sourceRoot":"","sources":["../../../src/components/alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAE3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAIpE,QAAA,MAAM,WAAW,mKAIhB,CAAA;AAID,KAAK,aAAa,GAAG,eAAe,CAAC,OAAO,aAAa,CAAC,GAAG;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,UAAU,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa;CAAG;AAEnG,QAAA,MAAM,SAAS,mFAkCb,CAAA;AAIF,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEpE,UAAU,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,kBAAkB;CAAG;AAE7F,QAAA,MAAM,UAAU,4FAKd,CAAA;AAIF,KAAK,wBAAwB,GAAG,eAAe,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEhF,UAAU,qBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,EACzC,wBAAwB;CAAG;AAE/B,QAAA,MAAM,gBAAgB,oGAarB,CAAA;AAGD,QAAA,MAAM,KAAK,EAAE,OAAO,SAAS,GAAG;IAC9B,KAAK,EAAE,OAAO,UAAU,CAAA;IACxB,WAAW,EAAE,OAAO,gBAAgB,CAAA;IACpC,MAAM,EAAE,OAAO,WAAW,CAAA;CAK1B,CAAA;AAEF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AACtE,YAAY,EAAE,qBAAqB,EAAE,UAAU,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"Alert.d.cts","sourceRoot":"","sources":["../../../src/components/alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAE3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAIpE,QAAA,MAAM,WAAW,mKAIhB,CAAA;AAID,KAAK,aAAa,GAAG,eAAe,CAAC,OAAO,aAAa,CAAC,GAAG;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,UAAU,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa;CAAG;AAEnG,QAAA,MAAM,SAAS,mFAuCb,CAAA;AAIF,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEpE,UAAU,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,kBAAkB;CAAG;AAE7F,QAAA,MAAM,UAAU,4FAKd,CAAA;AAIF,KAAK,wBAAwB,GAAG,eAAe,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEhF,UAAU,qBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,EACzC,wBAAwB;CAAG;AAE/B,QAAA,MAAM,gBAAgB,oGAarB,CAAA;AAGD,QAAA,MAAM,KAAK,EAAE,OAAO,SAAS,GAAG;IAC9B,KAAK,EAAE,OAAO,UAAU,CAAA;IACxB,WAAW,EAAE,OAAO,gBAAgB,CAAA;IACpC,MAAM,EAAE,OAAO,WAAW,CAAA;CAK1B,CAAA;AAEF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AACtE,YAAY,EAAE,qBAAqB,EAAE,UAAU,EAAE,eAAe,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.d.mts","sourceRoot":"","sources":["../../../src/components/alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAE3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAIpE,QAAA,MAAM,WAAW,mKAIhB,CAAA;AAID,KAAK,aAAa,GAAG,eAAe,CAAC,OAAO,aAAa,CAAC,GAAG;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,UAAU,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa;CAAG;AAEnG,QAAA,MAAM,SAAS,mFAkCb,CAAA;AAIF,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEpE,UAAU,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,kBAAkB;CAAG;AAE7F,QAAA,MAAM,UAAU,4FAKd,CAAA;AAIF,KAAK,wBAAwB,GAAG,eAAe,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEhF,UAAU,qBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,EACzC,wBAAwB;CAAG;AAE/B,QAAA,MAAM,gBAAgB,oGAarB,CAAA;AAGD,QAAA,MAAM,KAAK,EAAE,OAAO,SAAS,GAAG;IAC9B,KAAK,EAAE,OAAO,UAAU,CAAA;IACxB,WAAW,EAAE,OAAO,gBAAgB,CAAA;IACpC,MAAM,EAAE,OAAO,WAAW,CAAA;CAK1B,CAAA;AAEF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AACtE,YAAY,EAAE,qBAAqB,EAAE,UAAU,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"Alert.d.mts","sourceRoot":"","sources":["../../../src/components/alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAE3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAIpE,QAAA,MAAM,WAAW,mKAIhB,CAAA;AAID,KAAK,aAAa,GAAG,eAAe,CAAC,OAAO,aAAa,CAAC,GAAG;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,UAAU,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa;CAAG;AAEnG,QAAA,MAAM,SAAS,mFAuCb,CAAA;AAIF,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEpE,UAAU,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,kBAAkB;CAAG;AAE7F,QAAA,MAAM,UAAU,4FAKd,CAAA;AAIF,KAAK,wBAAwB,GAAG,eAAe,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEhF,UAAU,qBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,EACzC,wBAAwB;CAAG;AAE/B,QAAA,MAAM,gBAAgB,oGAarB,CAAA;AAGD,QAAA,MAAM,KAAK,EAAE,OAAO,SAAS,GAAG;IAC9B,KAAK,EAAE,OAAO,UAAU,CAAA;IACxB,WAAW,EAAE,OAAO,gBAAgB,CAAA;IACpC,MAAM,EAAE,OAAO,WAAW,CAAA;CAK1B,CAAA;AAEF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AACtE,YAAY,EAAE,qBAAqB,EAAE,UAAU,EAAE,eAAe,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../src/components/alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAE3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAIpE,QAAA,MAAM,WAAW,mKAIhB,CAAA;AAID,KAAK,aAAa,GAAG,eAAe,CAAC,OAAO,aAAa,CAAC,GAAG;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,UAAU,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa;CAAG;AAEnG,QAAA,MAAM,SAAS,mFAkCb,CAAA;AAIF,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEpE,UAAU,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,kBAAkB;CAAG;AAE7F,QAAA,MAAM,UAAU,4FAKd,CAAA;AAIF,KAAK,wBAAwB,GAAG,eAAe,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEhF,UAAU,qBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,EACzC,wBAAwB;CAAG;AAE/B,QAAA,MAAM,gBAAgB,oGAarB,CAAA;AAGD,QAAA,MAAM,KAAK,EAAE,OAAO,SAAS,GAAG;IAC9B,KAAK,EAAE,OAAO,UAAU,CAAA;IACxB,WAAW,EAAE,OAAO,gBAAgB,CAAA;IACpC,MAAM,EAAE,OAAO,WAAW,CAAA;CAK1B,CAAA;AAEF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AACtE,YAAY,EAAE,qBAAqB,EAAE,UAAU,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../src/components/alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAE3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAIpE,QAAA,MAAM,WAAW,mKAIhB,CAAA;AAID,KAAK,aAAa,GAAG,eAAe,CAAC,OAAO,aAAa,CAAC,GAAG;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACvB,CAAA;AAED,UAAU,UAAW,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa;CAAG;AAEnG,QAAA,MAAM,SAAS,mFAuCb,CAAA;AAIF,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEpE,UAAU,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,kBAAkB;CAAG;AAE7F,QAAA,MAAM,UAAU,4FAKd,CAAA;AAIF,KAAK,wBAAwB,GAAG,eAAe,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAEhF,UAAU,qBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,EACzC,wBAAwB;CAAG;AAE/B,QAAA,MAAM,gBAAgB,oGAarB,CAAA;AAGD,QAAA,MAAM,KAAK,EAAE,OAAO,SAAS,GAAG;IAC9B,KAAK,EAAE,OAAO,UAAU,CAAA;IACxB,WAAW,EAAE,OAAO,gBAAgB,CAAA;IACpC,MAAM,EAAE,OAAO,WAAW,CAAA;CAK1B,CAAA;AAEF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AACtE,YAAY,EAAE,qBAAqB,EAAE,UAAU,EAAE,eAAe,EAAE,CAAA"}
@@ -2,10 +2,9 @@ import * as React from "react";
2
2
  import classNames from "classnames";
3
3
  import { Slot } from "@radix-ui/react-slot";
4
4
  import { extractProps } from "../../_internal/helpers/extractProps.js";
5
- import { CardRoot } from "../card/Card.js";
6
5
  import { Icon } from "../icon/Icon.js";
7
6
  import { alertDescriptionPropDefs, alertPropDefs, alertTitlePropDefs } from "./alert.props.js";
8
- import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
8
  const AlertAction = React.forwardRef(
10
9
  ({ className, ...props }, forwardedRef) => /* @__PURE__ */ jsx("div", { ...props, ref: forwardedRef, className: classNames("dsx-alert__action", className) })
11
10
  );
@@ -17,6 +16,7 @@ const AlertRoot = React.forwardRef((props, forwardedRef) => {
17
16
  color,
18
17
  highContrast = false,
19
18
  icon,
19
+ children,
20
20
  role,
21
21
  size = "md",
22
22
  variant = "default",
@@ -24,19 +24,23 @@ const AlertRoot = React.forwardRef((props, forwardedRef) => {
24
24
  } = extractProps(props, alertPropDefs);
25
25
  const Comp = asChild ? Slot : "div";
26
26
  const fallbackIcon = variant === "success" ? "check-circle" : variant === "default" ? "info" : "alert-triangle";
27
+ const child = asChild ? React.Children.only(children) : null;
28
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
29
+ icon === null ? null : /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "dsx-alert__icon", children: icon ?? /* @__PURE__ */ jsx(Icon, { name: fallbackIcon, size: "md", strokeWidth: "var(--dsx-icon-stroke-width-strong, 2.25)" }) }),
30
+ /* @__PURE__ */ jsx("div", { className: "dsx-alert__content", children: child ? child.props.children : children })
31
+ ] });
27
32
  return /* @__PURE__ */ jsx(
28
- CardRoot,
33
+ Comp,
29
34
  {
30
- asChild: true,
35
+ ...alertProps,
36
+ ref: forwardedRef,
37
+ role: role ?? "alert",
31
38
  className: classNames("dsx-alert", className),
32
39
  "data-accent-color": color,
33
40
  "data-high-contrast": highContrast ? "true" : void 0,
34
41
  "data-size": size,
35
42
  "data-variant": variant,
36
- children: /* @__PURE__ */ jsxs(Comp, { ...alertProps, ref: forwardedRef, role: role ?? "alert", children: [
37
- icon === null ? null : /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "dsx-alert__icon", children: icon ?? /* @__PURE__ */ jsx(Icon, { name: fallbackIcon, size: "md", strokeWidth: "var(--dsx-icon-stroke-width-strong, 2.25)" }) }),
38
- /* @__PURE__ */ jsx("div", { className: "dsx-alert__content", children: alertProps.children })
39
- ] })
43
+ children: child ? React.cloneElement(child, void 0, content) : content
40
44
  }
41
45
  );
42
46
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/alert/Alert.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { CardRoot } from '../card/Card'\nimport { Icon } from '../icon/Icon'\nimport { alertDescriptionPropDefs, alertPropDefs, alertTitlePropDefs } from './alert.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype AlertActionElement = React.ComponentRef<'div'>\n\nconst AlertAction = React.forwardRef<AlertActionElement, React.ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, forwardedRef) => (\n <div {...props} ref={forwardedRef} className={classNames('dsx-alert__action', className)} />\n ),\n)\nAlertAction.displayName = 'AlertAction'\n\ntype AlertElement = React.ComponentRef<'div'>\ntype AlertOwnProps = GetPropDefTypes<typeof alertPropDefs> & {\n icon?: React.ReactNode\n}\n\ninterface AlertProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'color'>, AlertOwnProps {}\n\nconst AlertRoot = React.forwardRef<AlertElement, AlertProps>((props, forwardedRef) => {\n const {\n asChild,\n className,\n color,\n highContrast = false,\n icon,\n role,\n size = 'md',\n variant = 'default',\n ...alertProps\n } = extractProps(props, alertPropDefs)\n const Comp = asChild ? Slot : 'div'\n const fallbackIcon = variant === 'success' ? 'check-circle' : variant === 'default' ? 'info' : 'alert-triangle'\n\n return (\n <CardRoot\n asChild\n className={classNames('dsx-alert', className)}\n data-accent-color={color}\n data-high-contrast={highContrast ? 'true' : undefined}\n data-size={size}\n data-variant={variant}\n >\n <Comp {...alertProps} ref={forwardedRef} role={role ?? 'alert'}>\n {icon === null ? null : (\n <span aria-hidden=\"true\" className=\"dsx-alert__icon\">\n {icon ?? <Icon name={fallbackIcon} size=\"md\" strokeWidth=\"var(--dsx-icon-stroke-width-strong, 2.25)\" />}\n </span>\n )}\n <div className=\"dsx-alert__content\">{alertProps.children}</div>\n </Comp>\n </CardRoot>\n )\n})\nAlertRoot.displayName = 'Alert'\n\ntype AlertTitleElement = React.ComponentRef<'h5'>\ntype AlertTitleOwnProps = GetPropDefTypes<typeof alertTitlePropDefs>\n\ninterface AlertTitleProps extends React.ComponentPropsWithoutRef<'h5'>, AlertTitleOwnProps {}\n\nconst AlertTitle = React.forwardRef<AlertTitleElement, AlertTitleProps>((props, forwardedRef) => {\n const { asChild, className, ...titleProps } = extractProps(props, alertTitlePropDefs)\n const Comp = asChild ? Slot : 'h5'\n\n return <Comp {...titleProps} ref={forwardedRef} className={classNames('dsx-alert__title', className)} />\n})\nAlertTitle.displayName = 'AlertTitle'\n\ntype AlertDescriptionElement = React.ComponentRef<'p'>\ntype AlertDescriptionOwnProps = GetPropDefTypes<typeof alertDescriptionPropDefs>\n\ninterface AlertDescriptionProps\n extends React.ComponentPropsWithoutRef<'p'>,\n AlertDescriptionOwnProps {}\n\nconst AlertDescription = React.forwardRef<AlertDescriptionElement, AlertDescriptionProps>(\n (props, forwardedRef) => {\n const { asChild, className, ...descriptionProps } = extractProps(props, alertDescriptionPropDefs)\n const Comp = asChild ? Slot : 'p'\n\n return (\n <Comp\n {...descriptionProps}\n ref={forwardedRef}\n className={classNames('dsx-alert__description', className)}\n />\n )\n },\n)\nAlertDescription.displayName = 'AlertDescription'\n\nconst Alert: typeof AlertRoot & {\n Title: typeof AlertTitle\n Description: typeof AlertDescription\n Action: typeof AlertAction\n} = Object.assign(AlertRoot, {\n Title: AlertTitle,\n Description: AlertDescription,\n Action: AlertAction,\n})\n\nexport { Alert, AlertAction, AlertDescription, AlertRoot, AlertTitle }\nexport type { AlertDescriptionProps, AlertProps, AlertTitleProps }\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AACvB,OAAO,gBAAgB;AACvB,SAAS,YAAY;AAErB,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,SAAS,0BAA0B,eAAe,0BAA0B;AAQxE,cAoCE,YApCF;AAFJ,MAAM,cAAc,MAAM;AAAA,EACxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,iBACxB,oBAAC,SAAK,GAAG,OAAO,KAAK,cAAc,WAAW,WAAW,qBAAqB,SAAS,GAAG;AAE9F;AACA,YAAY,cAAc;AAS1B,MAAM,YAAY,MAAM,WAAqC,CAAC,OAAO,iBAAiB;AACpF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP,UAAU;AAAA,IACV,GAAG;AAAA,EACL,IAAI,aAAa,OAAO,aAAa;AACrC,QAAM,OAAO,UAAU,OAAO;AAC9B,QAAM,eAAe,YAAY,YAAY,iBAAiB,YAAY,YAAY,SAAS;AAE/F,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAO;AAAA,MACP,WAAW,WAAW,aAAa,SAAS;AAAA,MAC5C,qBAAmB;AAAA,MACnB,sBAAoB,eAAe,SAAS;AAAA,MAC5C,aAAW;AAAA,MACX,gBAAc;AAAA,MAEd,+BAAC,QAAM,GAAG,YAAY,KAAK,cAAc,MAAM,QAAQ,SACpD;AAAA,iBAAS,OAAO,OACf,oBAAC,UAAK,eAAY,QAAO,WAAU,mBAChC,kBAAQ,oBAAC,QAAK,MAAM,cAAc,MAAK,MAAK,aAAY,6CAA4C,GACvG;AAAA,QAEF,oBAAC,SAAI,WAAU,sBAAsB,qBAAW,UAAS;AAAA,SAC3D;AAAA;AAAA,EACF;AAEJ,CAAC;AACD,UAAU,cAAc;AAOxB,MAAM,aAAa,MAAM,WAA+C,CAAC,OAAO,iBAAiB;AAC/F,QAAM,EAAE,SAAS,WAAW,GAAG,WAAW,IAAI,aAAa,OAAO,kBAAkB;AACpF,QAAM,OAAO,UAAU,OAAO;AAE9B,SAAO,oBAAC,QAAM,GAAG,YAAY,KAAK,cAAc,WAAW,WAAW,oBAAoB,SAAS,GAAG;AACxG,CAAC;AACD,WAAW,cAAc;AASzB,MAAM,mBAAmB,MAAM;AAAA,EAC7B,CAAC,OAAO,iBAAiB;AACvB,UAAM,EAAE,SAAS,WAAW,GAAG,iBAAiB,IAAI,aAAa,OAAO,wBAAwB;AAChG,UAAM,OAAO,UAAU,OAAO;AAE9B,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,WAAW,WAAW,0BAA0B,SAAS;AAAA;AAAA,IAC3D;AAAA,EAEJ;AACF;AACA,iBAAiB,cAAc;AAE/B,MAAM,QAIF,OAAO,OAAO,WAAW;AAAA,EAC3B,OAAO;AAAA,EACP,aAAa;AAAA,EACb,QAAQ;AACV,CAAC;",
4
+ "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { Icon } from '../icon/Icon'\nimport { alertDescriptionPropDefs, alertPropDefs, alertTitlePropDefs } from './alert.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype AlertActionElement = React.ComponentRef<'div'>\n\nconst AlertAction = React.forwardRef<AlertActionElement, React.ComponentPropsWithoutRef<'div'>>(\n ({ className, ...props }, forwardedRef) => (\n <div {...props} ref={forwardedRef} className={classNames('dsx-alert__action', className)} />\n ),\n)\nAlertAction.displayName = 'AlertAction'\n\ntype AlertElement = React.ComponentRef<'div'>\ntype AlertOwnProps = GetPropDefTypes<typeof alertPropDefs> & {\n icon?: React.ReactNode\n}\n\ninterface AlertProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'color'>, AlertOwnProps {}\n\nconst AlertRoot = React.forwardRef<AlertElement, AlertProps>((props, forwardedRef) => {\n const {\n asChild,\n className,\n color,\n highContrast = false,\n icon,\n children,\n role,\n size = 'md',\n variant = 'default',\n ...alertProps\n } = extractProps(props, alertPropDefs)\n const Comp = asChild ? Slot : 'div'\n const fallbackIcon = variant === 'success' ? 'check-circle' : variant === 'default' ? 'info' : 'alert-triangle'\n const child = asChild ? React.Children.only(children) as React.ReactElement<{ children?: React.ReactNode }> : null\n const content = <>\n {icon === null ? null : (\n <span aria-hidden=\"true\" className=\"dsx-alert__icon\">\n {icon ?? <Icon name={fallbackIcon} size=\"md\" strokeWidth=\"var(--dsx-icon-stroke-width-strong, 2.25)\" />}\n </span>\n )}\n <div className=\"dsx-alert__content\">{child ? child.props.children : children}</div>\n </>\n\n return (\n <Comp\n {...alertProps}\n ref={forwardedRef}\n role={role ?? 'alert'}\n className={classNames('dsx-alert', className)}\n data-accent-color={color}\n data-high-contrast={highContrast ? 'true' : undefined}\n data-size={size}\n data-variant={variant}\n >\n {child ? React.cloneElement(child, undefined, content) : content}\n </Comp>\n )\n})\nAlertRoot.displayName = 'Alert'\n\ntype AlertTitleElement = React.ComponentRef<'h5'>\ntype AlertTitleOwnProps = GetPropDefTypes<typeof alertTitlePropDefs>\n\ninterface AlertTitleProps extends React.ComponentPropsWithoutRef<'h5'>, AlertTitleOwnProps {}\n\nconst AlertTitle = React.forwardRef<AlertTitleElement, AlertTitleProps>((props, forwardedRef) => {\n const { asChild, className, ...titleProps } = extractProps(props, alertTitlePropDefs)\n const Comp = asChild ? Slot : 'h5'\n\n return <Comp {...titleProps} ref={forwardedRef} className={classNames('dsx-alert__title', className)} />\n})\nAlertTitle.displayName = 'AlertTitle'\n\ntype AlertDescriptionElement = React.ComponentRef<'p'>\ntype AlertDescriptionOwnProps = GetPropDefTypes<typeof alertDescriptionPropDefs>\n\ninterface AlertDescriptionProps\n extends React.ComponentPropsWithoutRef<'p'>,\n AlertDescriptionOwnProps {}\n\nconst AlertDescription = React.forwardRef<AlertDescriptionElement, AlertDescriptionProps>(\n (props, forwardedRef) => {\n const { asChild, className, ...descriptionProps } = extractProps(props, alertDescriptionPropDefs)\n const Comp = asChild ? Slot : 'p'\n\n return (\n <Comp\n {...descriptionProps}\n ref={forwardedRef}\n className={classNames('dsx-alert__description', className)}\n />\n )\n },\n)\nAlertDescription.displayName = 'AlertDescription'\n\nconst Alert: typeof AlertRoot & {\n Title: typeof AlertTitle\n Description: typeof AlertDescription\n Action: typeof AlertAction\n} = Object.assign(AlertRoot, {\n Title: AlertTitle,\n Description: AlertDescription,\n Action: AlertAction,\n})\n\nexport { Alert, AlertAction, AlertDescription, AlertRoot, AlertTitle }\nexport type { AlertDescriptionProps, AlertProps, AlertTitleProps }\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;AACvB,OAAO,gBAAgB;AACvB,SAAS,YAAY;AAErB,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AACrB,SAAS,0BAA0B,eAAe,0BAA0B;AAQxE,SA4Bc,UA5Bd,KA4Bc,YA5Bd;AAFJ,MAAM,cAAc,MAAM;AAAA,EACxB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,iBACxB,oBAAC,SAAK,GAAG,OAAO,KAAK,cAAc,WAAW,WAAW,qBAAqB,SAAS,GAAG;AAE9F;AACA,YAAY,cAAc;AAS1B,MAAM,YAAY,MAAM,WAAqC,CAAC,OAAO,iBAAiB;AACpF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP,UAAU;AAAA,IACV,GAAG;AAAA,EACL,IAAI,aAAa,OAAO,aAAa;AACrC,QAAM,OAAO,UAAU,OAAO;AAC9B,QAAM,eAAe,YAAY,YAAY,iBAAiB,YAAY,YAAY,SAAS;AAC/F,QAAM,QAAQ,UAAU,MAAM,SAAS,KAAK,QAAQ,IAA0D;AAC9G,QAAM,UAAU,iCACb;AAAA,aAAS,OAAO,OACf,oBAAC,UAAK,eAAY,QAAO,WAAU,mBAChC,kBAAQ,oBAAC,QAAK,MAAM,cAAc,MAAK,MAAK,aAAY,6CAA4C,GACvG;AAAA,IAEF,oBAAC,SAAI,WAAU,sBAAsB,kBAAQ,MAAM,MAAM,WAAW,UAAS;AAAA,KAC/E;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,MAAM,QAAQ;AAAA,MACd,WAAW,WAAW,aAAa,SAAS;AAAA,MAC5C,qBAAmB;AAAA,MACnB,sBAAoB,eAAe,SAAS;AAAA,MAC5C,aAAW;AAAA,MACX,gBAAc;AAAA,MAEb,kBAAQ,MAAM,aAAa,OAAO,QAAW,OAAO,IAAI;AAAA;AAAA,EAC3D;AAEJ,CAAC;AACD,UAAU,cAAc;AAOxB,MAAM,aAAa,MAAM,WAA+C,CAAC,OAAO,iBAAiB;AAC/F,QAAM,EAAE,SAAS,WAAW,GAAG,WAAW,IAAI,aAAa,OAAO,kBAAkB;AACpF,QAAM,OAAO,UAAU,OAAO;AAE9B,SAAO,oBAAC,QAAM,GAAG,YAAY,KAAK,cAAc,WAAW,WAAW,oBAAoB,SAAS,GAAG;AACxG,CAAC;AACD,WAAW,cAAc;AASzB,MAAM,mBAAmB,MAAM;AAAA,EAC7B,CAAC,OAAO,iBAAiB;AACvB,UAAM,EAAE,SAAS,WAAW,GAAG,iBAAiB,IAAI,aAAa,OAAO,wBAAwB;AAChG,UAAM,OAAO,UAAU,OAAO;AAE9B,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,WAAW,WAAW,0BAA0B,SAAS;AAAA;AAAA,IAC3D;AAAA,EAEJ;AACF;AACA,iBAAiB,cAAc;AAE/B,MAAM,QAIF,OAAO,OAAO,WAAW;AAAA,EAC3B,OAAO;AAAA,EACP,aAAa;AAAA,EACb,QAAQ;AACV,CAAC;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,7 @@
2
2
  @import '../../_internal/baseCard.css';
3
3
 
4
4
  .dsx-alert {
5
+ box-sizing: border-box;
5
6
  display: flex;
6
7
  align-items: flex-start;
7
8
  gap: var(--dsx-space-md);
@@ -23,16 +24,28 @@
23
24
  color: currentColor;
24
25
  }
25
26
 
27
+ .dsx-alert__icon { flex-shrink: 0; }
28
+
26
29
  .dsx-alert__action {
27
30
  align-self: center;
31
+ justify-content: flex-start;
32
+ flex-wrap: wrap;
33
+ gap: var(--dsx-space-sm);
28
34
  }
29
35
 
30
36
  .dsx-alert__content {
31
37
  display: grid;
32
38
  gap: var(--dsx-space-xs);
33
39
  flex: 1;
40
+ min-width: 0;
41
+ overflow-wrap: anywhere;
34
42
  }
35
43
 
44
+ .dsx-alert[data-variant='warning'] { border-color: var(--dsx-color-warning); }
45
+ .dsx-alert[data-variant='success'] { border-color: var(--dsx-color-success); }
46
+ .dsx-alert[data-variant='destructive'] { border-color: var(--dsx-color-error); }
47
+ .dsx-alert[data-high-contrast='true'] { border-color: var(--dsx-color-high-contrast-border); }
48
+
36
49
  .dsx-alert__title {
37
50
  margin: 0;
38
51
  font-family: var(--dsx-typography-label-large-font-family), sans-serif;
@@ -2,7 +2,22 @@
2
2
  .dsx-article-image__media, .dsx-before-after img { display: block; width: 100%; height: auto; border-radius: var(--dsx-rounded-md); }
3
3
  .dsx-article-image figcaption { margin-block-start: var(--dsx-space-sm); color: var(--dsx-color-on-surface-variant); text-align: center; }
4
4
  .dsx-article-embed, .dsx-article-poll { display: grid; gap: var(--dsx-space-sm); padding: var(--dsx-space-md); border: var(--dsx-border-width-sm) solid var(--dsx-color-outline); border-radius: var(--dsx-rounded-md); background: var(--dsx-color-surface-raised); }
5
+ .dsx-article-image, .dsx-article-embed, .dsx-article-poll, .dsx-before-after { min-width: 0; overflow-wrap: anywhere; }
5
6
  .dsx-before-after { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--dsx-space-sm); overflow-x: auto; }
6
7
  .dsx-before-after > div { min-width: var(--dsx-size-3xl); }
7
8
  .dsx-before-after span { display: block; margin-block-start: var(--dsx-space-xs); color: var(--dsx-color-on-surface-variant); }
8
- .dsx-article-poll button { min-height: var(--dsx-size-lg); }
9
+ .dsx-article-poll__option { min-width: 0; width: 100%; }
10
+ .dsx-article-video { margin: var(--dsx-space-md) 0; min-width: 0; }
11
+ .dsx-article-video__media { display: block; width: 100%; border-radius: var(--dsx-rounded-md); }
12
+ .dsx-article-video figcaption { margin-block-start: var(--dsx-space-sm); color: var(--dsx-color-on-surface-variant); }
13
+ .dsx-article-platform-tabs { min-width: 0; }
14
+ .dsx-article-poll__result { display: grid; gap: var(--dsx-space-xs); min-width: 0; }
15
+ .dsx-article-poll__result progress { width: 100%; accent-color: var(--dsx-color-accent-indicator); }
16
+ .dsx-article-poll__actions { display: flex; flex-wrap: wrap; gap: var(--dsx-space-sm); }
17
+ .dsx-article-editor-block { display: grid; gap: var(--dsx-space-md); min-width: 0; margin-block: var(--dsx-space-md); padding: var(--dsx-space-md); border: var(--dsx-border-width-sm) solid var(--dsx-color-outline); border-radius: var(--dsx-rounded-md); background: var(--dsx-color-surface); }
18
+ .dsx-article-editor-block[aria-current='true'] { border-color: var(--dsx-color-accent-border); }
19
+ .dsx-article-editor-block__controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--dsx-space-sm); }
20
+ .dsx-article-editor-block__actions { display: flex; flex-wrap: wrap; gap: var(--dsx-space-xs); }
21
+ .dsx-article-editor-block__fields { display: grid; gap: var(--dsx-space-sm); min-width: 0; }
22
+ .dsx-article-editor-block__content { min-width: 0; }
23
+ .dsx-article-editor-block__textarea { width: 100%; min-height: var(--dsx-size-4xl); display: block; padding: var(--dsx-space-sm); border: var(--dsx-border-width-sm) solid var(--dsx-color-outline); border-radius: var(--dsx-rounded-sm); background: var(--dsx-color-surface-raised); color: var(--dsx-color-on-surface); font: inherit; }
@@ -30,12 +30,17 @@ var ArticleNodes_exports = {};
30
30
  __export(ArticleNodes_exports, {
31
31
  ArticleEmbed: () => ArticleEmbed,
32
32
  ArticleImage: () => ArticleImage,
33
+ ArticleMaterialLink: () => ArticleMaterialLink,
34
+ ArticlePlatformTabs: () => ArticlePlatformTabs,
33
35
  ArticlePoll: () => ArticlePoll,
36
+ ArticleVideo: () => ArticleVideo,
34
37
  BeforeAfterComparison: () => BeforeAfterComparison
35
38
  });
36
39
  module.exports = __toCommonJS(ArticleNodes_exports);
37
40
  var React = __toESM(require("react"), 1);
38
41
  var import_classnames = __toESM(require("classnames"), 1);
42
+ var import_Button = require("../button/Button");
43
+ var import_Tabs = require("../tabs/Tabs");
39
44
  var import_jsx_runtime = require("react/jsx-runtime");
40
45
  const ArticleImage = ({ caption, className, alt = "", ...props }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("figure", { className: "dsx-article-image", children: [
41
46
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", { ...props, alt, className: (0, import_classnames.default)("dsx-article-image__media", className) }),
@@ -61,16 +66,52 @@ const BeforeAfterComparison = ({ beforeSrc, afterSrc, beforeAlt, afterAlt, befor
61
66
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: afterLabel })
62
67
  ] })
63
68
  ] });
64
- const ArticlePoll = ({ pollId, question, options = [], state = "ready", onLoad, onVote, className, ...props }) => {
69
+ const ArticleVideo = ({ caption, className, controls = true, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("figure", { className: "dsx-article-video", children: [
70
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("video", { ...props, controls, className: (0, import_classnames.default)("dsx-article-video__media", className) }),
71
+ caption ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("figcaption", { children: caption }) : null
72
+ ] });
73
+ const ArticleMaterialLink = ({ materialId, href, children, unavailableLabel = "Material unavailable", ...props }) => {
74
+ let allowed = false;
75
+ try {
76
+ allowed = ["http:", "https:"].includes(new URL(href ?? "", "https://example.invalid").protocol);
77
+ } catch {
78
+ }
79
+ return href && allowed ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { ...props, href, "data-dsx-material-id": materialId, children }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { role: "status", "data-dsx-material-id": materialId, children: unavailableLabel });
80
+ };
81
+ const ArticlePlatformTabs = ({ tabs, value, onValueChange, className, dir, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Tabs.Tabs, { ...props, dir: dir === "rtl" || dir === "ltr" ? dir : void 0, className: (0, import_classnames.default)("dsx-article-platform-tabs", className), defaultValue: tabs[0]?.platform, value, onValueChange, children: [
82
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Tabs.Tabs.List, { "aria-label": "Platform instructions", children: [
83
+ tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Tabs.Tabs.Trigger, { value: tab.platform, children: tab.label }, tab.platform)),
84
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Tabs.Tabs.Indicator, {})
85
+ ] }),
86
+ tabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Tabs.Tabs.Content, { value: tab.platform, children: tab.content }, tab.platform))
87
+ ] });
88
+ const ArticlePoll = ({ pollId, question, options = [], state = "ready", onLoad, onVote, selection, multiple = false, onSelectionChange, onSubmit, onRetract, totalVotes, className, ...props }) => {
65
89
  React.useEffect(() => {
66
90
  onLoad?.(pollId);
67
91
  }, [pollId, onLoad]);
92
+ const controlled = selection !== void 0;
93
+ const total = totalVotes ?? options.reduce((sum, option) => sum + (option.votes ?? 0), 0);
94
+ const inert = state === "closed" || state === "loading" || state === "error" || !controlled && state !== "ready";
68
95
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { ...props, className: (0, import_classnames.default)("dsx-article-poll", className), "data-dsx-poll-id": pollId, "data-state": state, "aria-busy": state === "loading" || void 0, children: [
69
96
  question ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { children: question }) : null,
70
- state === "error" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { role: "alert", children: "Poll unavailable" }) : options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", { type: "button", disabled: state !== "ready", onClick: () => onVote?.(pollId, option.id), children: [
71
- option.label,
72
- option.votes === void 0 ? null : ` (${option.votes})`
73
- ] }, option.id))
97
+ state === "closed" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { role: "status", children: "Poll closed" }) : null,
98
+ state === "error" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { role: "alert", children: "Poll unavailable" }) : options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-article-poll__result", children: [
99
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Button.Button, { className: "dsx-article-poll__option", type: "button", size: "lg", variant: selection?.includes(option.id) ? "secondary" : "outline", "aria-pressed": controlled ? selection.includes(option.id) : void 0, disabled: inert, onClick: () => {
100
+ if (!controlled) {
101
+ onVote?.(pollId, option.id);
102
+ return;
103
+ }
104
+ onSelectionChange?.(multiple ? selection.includes(option.id) ? selection.filter((id) => id !== option.id) : [...selection, option.id] : [option.id]);
105
+ }, children: [
106
+ option.label,
107
+ option.votes === void 0 ? null : ` (${option.votes})`
108
+ ] }),
109
+ option.votes !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("progress", { "aria-label": `${String(option.label)} results`, value: option.votes, max: Math.max(total, 1) }) : null
110
+ ] }, option.id)),
111
+ controlled && !inert ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-article-poll__actions", children: [
112
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button, { type: "button", size: "lg", disabled: !selection.length || !onSubmit, onClick: () => onSubmit?.(pollId, selection), children: state === "voted" ? "Change vote" : "Vote" }),
113
+ state === "voted" && onRetract ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button, { type: "button", size: "lg", variant: "outline", onClick: () => onRetract(pollId), children: "Retract vote" }) : null
114
+ ] }) : null
74
115
  ] });
75
116
  };
76
117
  //# sourceMappingURL=ArticleNodes.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/articleNodes/ArticleNodes.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\n\nimport type {\n ArticleEmbedProps,\n ArticleImageProps,\n ArticlePollProps,\n BeforeAfterComparisonProps,\n} from './articleNodes.props'\n\nconst ArticleImage = ({ caption, className, alt = '', ...props }: ArticleImageProps) => <figure className=\"dsx-article-image\"><img {...props} alt={alt} className={classNames('dsx-article-image__media', className)} />{caption ? <figcaption>{caption}</figcaption> : null}</figure>\n\nconst ArticleEmbed = ({ url, render, isAllowed, className, ...props }: ArticleEmbedProps) => {\n let canonical: string | undefined\n try { const parsed = new URL(url); if (parsed.protocol === 'https:' || parsed.protocol === 'http:') canonical = parsed.href } catch {}\n const allowed = Boolean(canonical && (isAllowed?.(canonical) ?? true))\n return <div {...props} className={classNames('dsx-article-embed', className)} data-dsx-url={allowed ? canonical : undefined}>{allowed && canonical ? (render?.(canonical) ?? <a href={canonical}>{canonical}</a>) : <span role=\"alert\">Embed unavailable</span>}</div>\n}\n\nconst BeforeAfterComparison = ({ beforeSrc, afterSrc, beforeAlt, afterAlt, beforeLabel = 'Before', afterLabel = 'After', className, ...props }: BeforeAfterComparisonProps) => <figure {...props} className={classNames('dsx-before-after', className)}><div><img src={beforeSrc} alt={beforeAlt}/><span>{beforeLabel}</span></div><div><img src={afterSrc} alt={afterAlt}/><span>{afterLabel}</span></div></figure>\n\nconst ArticlePoll = ({ pollId, question, options = [], state = 'ready', onLoad, onVote, className, ...props }: ArticlePollProps) => {\n React.useEffect(() => { onLoad?.(pollId) }, [pollId, onLoad])\n return <div {...props} className={classNames('dsx-article-poll', className)} data-dsx-poll-id={pollId} data-state={state} aria-busy={state === 'loading' || undefined}>{question ? <strong>{question}</strong> : null}{state === 'error' ? <span role=\"alert\">Poll unavailable</span> : options.map((option) => <button key={option.id} type=\"button\" disabled={state !== 'ready'} onClick={() => onVote?.(pollId, option.id)}>{option.label}{option.votes === undefined ? null : ` (${option.votes})`}</button>)}</div>\n}\n\nexport { ArticleEmbed, ArticleImage, ArticlePoll, BeforeAfterComparison }\nexport type {\n ArticleEmbedProps,\n ArticleImageProps,\n ArticlePollProps,\n BeforeAfterComparisonProps,\n PollState,\n} from './articleNodes.props'\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,wBAAuB;AASiE;AAAxF,MAAM,eAAe,CAAC,EAAE,SAAS,WAAW,MAAM,IAAI,GAAG,MAAM,MAAyB,6CAAC,YAAO,WAAU,qBAAoB;AAAA,8CAAC,SAAK,GAAG,OAAO,KAAU,eAAW,kBAAAA,SAAW,4BAA4B,SAAS,GAAG;AAAA,EAAG,UAAU,4CAAC,gBAAY,mBAAQ,IAAgB;AAAA,GAAK;AAE7Q,MAAM,eAAe,CAAC,EAAE,KAAK,QAAQ,WAAW,WAAW,GAAG,MAAM,MAAyB;AAC3F,MAAI;AACJ,MAAI;AAAE,UAAM,SAAS,IAAI,IAAI,GAAG;AAAG,QAAI,OAAO,aAAa,YAAY,OAAO,aAAa,QAAS,aAAY,OAAO;AAAA,EAAK,QAAQ;AAAA,EAAC;AACrI,QAAM,UAAU,QAAQ,cAAc,YAAY,SAAS,KAAK,KAAK;AACrE,SAAO,4CAAC,SAAK,GAAG,OAAO,eAAW,kBAAAA,SAAW,qBAAqB,SAAS,GAAG,gBAAc,UAAU,YAAY,QAAY,qBAAW,YAAa,SAAS,SAAS,KAAK,4CAAC,OAAE,MAAM,WAAY,qBAAU,IAAQ,4CAAC,UAAK,MAAK,SAAQ,+BAAiB,GAAQ;AAClQ;AAEA,MAAM,wBAAwB,CAAC,EAAE,WAAW,UAAU,WAAW,UAAU,cAAc,UAAU,aAAa,SAAS,WAAW,GAAG,MAAM,MAAkC,6CAAC,YAAQ,GAAG,OAAO,eAAW,kBAAAA,SAAW,oBAAoB,SAAS,GAAG;AAAA,+CAAC,SAAI;AAAA,gDAAC,SAAI,KAAK,WAAW,KAAK,WAAU;AAAA,IAAE,4CAAC,UAAM,uBAAY;AAAA,KAAO;AAAA,EAAM,6CAAC,SAAI;AAAA,gDAAC,SAAI,KAAK,UAAU,KAAK,UAAS;AAAA,IAAE,4CAAC,UAAM,sBAAW;AAAA,KAAO;AAAA,GAAM;AAE3Y,MAAM,cAAc,CAAC,EAAE,QAAQ,UAAU,UAAU,CAAC,GAAG,QAAQ,SAAS,QAAQ,QAAQ,WAAW,GAAG,MAAM,MAAwB;AAClI,QAAM,UAAU,MAAM;AAAE,aAAS,MAAM;AAAA,EAAE,GAAG,CAAC,QAAQ,MAAM,CAAC;AAC5D,SAAO,6CAAC,SAAK,GAAG,OAAO,eAAW,kBAAAA,SAAW,oBAAoB,SAAS,GAAG,oBAAkB,QAAQ,cAAY,OAAO,aAAW,UAAU,aAAa,QAAY;AAAA,eAAW,4CAAC,YAAQ,oBAAS,IAAY;AAAA,IAAM,UAAU,UAAU,4CAAC,UAAK,MAAK,SAAQ,8BAAgB,IAAU,QAAQ,IAAI,CAAC,WAAW,6CAAC,YAAuB,MAAK,UAAS,UAAU,UAAU,SAAS,SAAS,MAAM,SAAS,QAAQ,OAAO,EAAE,GAAI;AAAA,aAAO;AAAA,MAAO,OAAO,UAAU,SAAY,OAAO,KAAK,OAAO,KAAK;AAAA,SAAtK,OAAO,EAAmK,CAAS;AAAA,KAAE;AACpf;",
4
+ "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport { Button } from '../button/Button'\nimport { Tabs } from '../tabs/Tabs'\nimport type { ArticleVideoProps, ArticleMaterialLinkProps, ArticlePlatformTabsProps } from './articleNodes.props'\n\nimport type {\n ArticleEmbedProps,\n ArticleImageProps,\n ArticlePollProps,\n BeforeAfterComparisonProps,\n} from './articleNodes.props'\n\nconst ArticleImage = ({ caption, className, alt = '', ...props }: ArticleImageProps) => <figure className=\"dsx-article-image\"><img {...props} alt={alt} className={classNames('dsx-article-image__media', className)} />{caption ? <figcaption>{caption}</figcaption> : null}</figure>\n\nconst ArticleEmbed = ({ url, render, isAllowed, className, ...props }: ArticleEmbedProps) => {\n let canonical: string | undefined\n try { const parsed = new URL(url); if (parsed.protocol === 'https:' || parsed.protocol === 'http:') canonical = parsed.href } catch {}\n const allowed = Boolean(canonical && (isAllowed?.(canonical) ?? true))\n return <div {...props} className={classNames('dsx-article-embed', className)} data-dsx-url={allowed ? canonical : undefined}>{allowed && canonical ? (render?.(canonical) ?? <a href={canonical}>{canonical}</a>) : <span role=\"alert\">Embed unavailable</span>}</div>\n}\n\nconst BeforeAfterComparison = ({ beforeSrc, afterSrc, beforeAlt, afterAlt, beforeLabel = 'Before', afterLabel = 'After', className, ...props }: BeforeAfterComparisonProps) => <figure {...props} className={classNames('dsx-before-after', className)}><div><img src={beforeSrc} alt={beforeAlt}/><span>{beforeLabel}</span></div><div><img src={afterSrc} alt={afterAlt}/><span>{afterLabel}</span></div></figure>\n\nconst ArticleVideo = ({ caption, className, controls = true, ...props }: ArticleVideoProps) => <figure className=\"dsx-article-video\"><video {...props} controls={controls} className={classNames('dsx-article-video__media', className)} />{caption ? <figcaption>{caption}</figcaption> : null}</figure>\nconst ArticleMaterialLink = ({ materialId, href, children, unavailableLabel = 'Material unavailable', ...props }: ArticleMaterialLinkProps) => {\n let allowed = false\n try { allowed = ['http:', 'https:'].includes(new URL(href ?? '', 'https://example.invalid').protocol) } catch {}\n return href && allowed ? <a {...props} href={href} data-dsx-material-id={materialId}>{children}</a> : <span role=\"status\" data-dsx-material-id={materialId}>{unavailableLabel}</span>\n}\nconst ArticlePlatformTabs = ({ tabs, value, onValueChange, className, dir, ...props }: ArticlePlatformTabsProps) => <Tabs {...props} dir={dir === 'rtl' || dir === 'ltr' ? dir : undefined} className={classNames('dsx-article-platform-tabs', className)} defaultValue={tabs[0]?.platform} value={value} onValueChange={onValueChange}>\n <Tabs.List aria-label=\"Platform instructions\">{tabs.map(tab => <Tabs.Trigger key={tab.platform} value={tab.platform}>{tab.label}</Tabs.Trigger>)}<Tabs.Indicator /></Tabs.List>\n {tabs.map(tab => <Tabs.Content key={tab.platform} value={tab.platform}>{tab.content}</Tabs.Content>)}\n</Tabs>\nconst ArticlePoll = ({ pollId, question, options = [], state = 'ready', onLoad, onVote, selection, multiple = false, onSelectionChange, onSubmit, onRetract, totalVotes, className, ...props }: ArticlePollProps) => {\n React.useEffect(() => { onLoad?.(pollId) }, [pollId, onLoad])\n const controlled = selection !== undefined\n const total = totalVotes ?? options.reduce((sum, option) => sum + (option.votes ?? 0), 0)\n const inert = state === 'closed' || state === 'loading' || state === 'error' || (!controlled && state !== 'ready')\n return <div {...props} className={classNames('dsx-article-poll', className)} data-dsx-poll-id={pollId} data-state={state} aria-busy={state === 'loading' || undefined}>\n {question ? <strong>{question}</strong> : null}\n {state === 'closed' ? <span role=\"status\">Poll closed</span> : null}\n {state === 'error' ? <span role=\"alert\">Poll unavailable</span> : options.map(option => <div className=\"dsx-article-poll__result\" key={option.id}>\n <Button className=\"dsx-article-poll__option\" type=\"button\" size=\"lg\" variant={selection?.includes(option.id) ? 'secondary' : 'outline'} aria-pressed={controlled ? selection.includes(option.id) : undefined} disabled={inert} onClick={() => {\n if (!controlled) { onVote?.(pollId, option.id); return }\n onSelectionChange?.(multiple ? selection.includes(option.id) ? selection.filter(id => id !== option.id) : [...selection, option.id] : [option.id])\n }}>{option.label}{option.votes === undefined ? null : ` (${option.votes})`}</Button>\n {option.votes !== undefined ? <progress aria-label={`${String(option.label)} results`} value={option.votes} max={Math.max(total, 1)} /> : null}\n </div>)}\n {controlled && !inert ? <div className=\"dsx-article-poll__actions\"><Button type=\"button\" size=\"lg\" disabled={!selection.length || !onSubmit} onClick={() => onSubmit?.(pollId, selection)}>{state === 'voted' ? 'Change vote' : 'Vote'}</Button>{state === 'voted' && onRetract ? <Button type=\"button\" size=\"lg\" variant=\"outline\" onClick={() => onRetract(pollId)}>Retract vote</Button> : null}</div> : null}\n </div>\n}\n\nexport { ArticleEmbed, ArticleImage, ArticlePoll, BeforeAfterComparison, ArticleVideo, ArticleMaterialLink, ArticlePlatformTabs }\nexport type {\n ArticleEmbedProps,\n ArticleImageProps,\n ArticlePollProps,\n BeforeAfterComparisonProps,\n PollState, ArticleVideoProps, ArticleMaterialLinkProps, ArticlePlatformTabsProps,\n} from './articleNodes.props'\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,wBAAuB;AACvB,oBAAuB;AACvB,kBAAqB;AAUmE;AAAxF,MAAM,eAAe,CAAC,EAAE,SAAS,WAAW,MAAM,IAAI,GAAG,MAAM,MAAyB,6CAAC,YAAO,WAAU,qBAAoB;AAAA,8CAAC,SAAK,GAAG,OAAO,KAAU,eAAW,kBAAAA,SAAW,4BAA4B,SAAS,GAAG;AAAA,EAAG,UAAU,4CAAC,gBAAY,mBAAQ,IAAgB;AAAA,GAAK;AAE7Q,MAAM,eAAe,CAAC,EAAE,KAAK,QAAQ,WAAW,WAAW,GAAG,MAAM,MAAyB;AAC3F,MAAI;AACJ,MAAI;AAAE,UAAM,SAAS,IAAI,IAAI,GAAG;AAAG,QAAI,OAAO,aAAa,YAAY,OAAO,aAAa,QAAS,aAAY,OAAO;AAAA,EAAK,QAAQ;AAAA,EAAC;AACrI,QAAM,UAAU,QAAQ,cAAc,YAAY,SAAS,KAAK,KAAK;AACrE,SAAO,4CAAC,SAAK,GAAG,OAAO,eAAW,kBAAAA,SAAW,qBAAqB,SAAS,GAAG,gBAAc,UAAU,YAAY,QAAY,qBAAW,YAAa,SAAS,SAAS,KAAK,4CAAC,OAAE,MAAM,WAAY,qBAAU,IAAQ,4CAAC,UAAK,MAAK,SAAQ,+BAAiB,GAAQ;AAClQ;AAEA,MAAM,wBAAwB,CAAC,EAAE,WAAW,UAAU,WAAW,UAAU,cAAc,UAAU,aAAa,SAAS,WAAW,GAAG,MAAM,MAAkC,6CAAC,YAAQ,GAAG,OAAO,eAAW,kBAAAA,SAAW,oBAAoB,SAAS,GAAG;AAAA,+CAAC,SAAI;AAAA,gDAAC,SAAI,KAAK,WAAW,KAAK,WAAU;AAAA,IAAE,4CAAC,UAAM,uBAAY;AAAA,KAAO;AAAA,EAAM,6CAAC,SAAI;AAAA,gDAAC,SAAI,KAAK,UAAU,KAAK,UAAS;AAAA,IAAE,4CAAC,UAAM,sBAAW;AAAA,KAAO;AAAA,GAAM;AAE3Y,MAAM,eAAe,CAAC,EAAE,SAAS,WAAW,WAAW,MAAM,GAAG,MAAM,MAAyB,6CAAC,YAAO,WAAU,qBAAoB;AAAA,8CAAC,WAAO,GAAG,OAAO,UAAoB,eAAW,kBAAAA,SAAW,4BAA4B,SAAS,GAAG;AAAA,EAAG,UAAU,4CAAC,gBAAY,mBAAQ,IAAgB;AAAA,GAAK;AAChS,MAAM,sBAAsB,CAAC,EAAE,YAAY,MAAM,UAAU,mBAAmB,wBAAwB,GAAG,MAAM,MAAgC;AAC7I,MAAI,UAAU;AACd,MAAI;AAAE,cAAU,CAAC,SAAS,QAAQ,EAAE,SAAS,IAAI,IAAI,QAAQ,IAAI,yBAAyB,EAAE,QAAQ;AAAA,EAAE,QAAQ;AAAA,EAAC;AAC/G,SAAO,QAAQ,UAAU,4CAAC,OAAG,GAAG,OAAO,MAAY,wBAAsB,YAAa,UAAS,IAAO,4CAAC,UAAK,MAAK,UAAS,wBAAsB,YAAa,4BAAiB;AAChL;AACA,MAAM,sBAAsB,CAAC,EAAE,MAAM,OAAO,eAAe,WAAW,KAAK,GAAG,MAAM,MAAgC,6CAAC,oBAAM,GAAG,OAAO,KAAK,QAAQ,SAAS,QAAQ,QAAQ,MAAM,QAAW,eAAW,kBAAAA,SAAW,6BAA6B,SAAS,GAAG,cAAc,KAAK,CAAC,GAAG,UAAU,OAAc,eACxS;AAAA,+CAAC,iBAAK,MAAL,EAAU,cAAW,yBAAyB;AAAA,SAAK,IAAI,SAAO,4CAAC,iBAAK,SAAL,EAAgC,OAAO,IAAI,UAAW,cAAI,SAAxC,IAAI,QAA0C,CAAe;AAAA,IAAE,4CAAC,iBAAK,WAAL,EAAe;AAAA,KAAE;AAAA,EAClK,KAAK,IAAI,SAAO,4CAAC,iBAAK,SAAL,EAAgC,OAAO,IAAI,UAAW,cAAI,WAAxC,IAAI,QAA4C,CAAe;AAAA,GACrG;AACA,MAAM,cAAc,CAAC,EAAE,QAAQ,UAAU,UAAU,CAAC,GAAG,QAAQ,SAAS,QAAQ,QAAQ,WAAW,WAAW,OAAO,mBAAmB,UAAU,WAAW,YAAY,WAAW,GAAG,MAAM,MAAwB;AACnN,QAAM,UAAU,MAAM;AAAE,aAAS,MAAM;AAAA,EAAE,GAAG,CAAC,QAAQ,MAAM,CAAC;AAC5D,QAAM,aAAa,cAAc;AACjC,QAAM,QAAQ,cAAc,QAAQ,OAAO,CAAC,KAAK,WAAW,OAAO,OAAO,SAAS,IAAI,CAAC;AACxF,QAAM,QAAQ,UAAU,YAAY,UAAU,aAAa,UAAU,WAAY,CAAC,cAAc,UAAU;AAC1G,SAAO,6CAAC,SAAK,GAAG,OAAO,eAAW,kBAAAA,SAAW,oBAAoB,SAAS,GAAG,oBAAkB,QAAQ,cAAY,OAAO,aAAW,UAAU,aAAa,QACzJ;AAAA,eAAW,4CAAC,YAAQ,oBAAS,IAAY;AAAA,IACzC,UAAU,WAAW,4CAAC,UAAK,MAAK,UAAS,yBAAW,IAAU;AAAA,IAC9D,UAAU,UAAU,4CAAC,UAAK,MAAK,SAAQ,8BAAgB,IAAU,QAAQ,IAAI,YAAU,6CAAC,SAAI,WAAU,4BACrG;AAAA,mDAAC,wBAAO,WAAU,4BAA2B,MAAK,UAAS,MAAK,MAAK,SAAS,WAAW,SAAS,OAAO,EAAE,IAAI,cAAc,WAAW,gBAAc,aAAa,UAAU,SAAS,OAAO,EAAE,IAAI,QAAW,UAAU,OAAO,SAAS,MAAM;AAC5O,YAAI,CAAC,YAAY;AAAE,mBAAS,QAAQ,OAAO,EAAE;AAAG;AAAA,QAAO;AACvD,4BAAoB,WAAW,UAAU,SAAS,OAAO,EAAE,IAAI,UAAU,OAAO,QAAM,OAAO,OAAO,EAAE,IAAI,CAAC,GAAG,WAAW,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AAAA,MACnJ,GAAI;AAAA,eAAO;AAAA,QAAO,OAAO,UAAU,SAAY,OAAO,KAAK,OAAO,KAAK;AAAA,SAAI;AAAA,MAC1E,OAAO,UAAU,SAAY,4CAAC,cAAS,cAAY,GAAG,OAAO,OAAO,KAAK,CAAC,YAAY,OAAO,OAAO,OAAO,KAAK,KAAK,IAAI,OAAO,CAAC,GAAG,IAAK;AAAA,SALL,OAAO,EAM9I,CAAM;AAAA,IACL,cAAc,CAAC,QAAQ,6CAAC,SAAI,WAAU,6BAA4B;AAAA,kDAAC,wBAAO,MAAK,UAAS,MAAK,MAAK,UAAU,CAAC,UAAU,UAAU,CAAC,UAAU,SAAS,MAAM,WAAW,QAAQ,SAAS,GAAI,oBAAU,UAAU,gBAAgB,QAAO;AAAA,MAAU,UAAU,WAAW,YAAY,4CAAC,wBAAO,MAAK,UAAS,MAAK,MAAK,SAAQ,WAAU,SAAS,MAAM,UAAU,MAAM,GAAG,0BAAY,IAAY;AAAA,OAAK,IAAS;AAAA,KAC9Y;AACF;",
6
6
  "names": ["classNames"]
7
7
  }
@@ -1,8 +1,12 @@
1
+ import type { ArticleVideoProps, ArticleMaterialLinkProps, ArticlePlatformTabsProps } from './articleNodes.props.cjs';
1
2
  import type { ArticleEmbedProps, ArticleImageProps, ArticlePollProps, BeforeAfterComparisonProps } from './articleNodes.props.cjs';
2
3
  declare const ArticleImage: ({ caption, className, alt, ...props }: ArticleImageProps) => import("react/jsx-runtime").JSX.Element;
3
4
  declare const ArticleEmbed: ({ url, render, isAllowed, className, ...props }: ArticleEmbedProps) => import("react/jsx-runtime").JSX.Element;
4
5
  declare const BeforeAfterComparison: ({ beforeSrc, afterSrc, beforeAlt, afterAlt, beforeLabel, afterLabel, className, ...props }: BeforeAfterComparisonProps) => import("react/jsx-runtime").JSX.Element;
5
- declare const ArticlePoll: ({ pollId, question, options, state, onLoad, onVote, className, ...props }: ArticlePollProps) => import("react/jsx-runtime").JSX.Element;
6
- export { ArticleEmbed, ArticleImage, ArticlePoll, BeforeAfterComparison };
7
- export type { ArticleEmbedProps, ArticleImageProps, ArticlePollProps, BeforeAfterComparisonProps, PollState, } from './articleNodes.props.cjs';
6
+ declare const ArticleVideo: ({ caption, className, controls, ...props }: ArticleVideoProps) => import("react/jsx-runtime").JSX.Element;
7
+ declare const ArticleMaterialLink: ({ materialId, href, children, unavailableLabel, ...props }: ArticleMaterialLinkProps) => import("react/jsx-runtime").JSX.Element;
8
+ declare const ArticlePlatformTabs: ({ tabs, value, onValueChange, className, dir, ...props }: ArticlePlatformTabsProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const ArticlePoll: ({ pollId, question, options, state, onLoad, onVote, selection, multiple, onSelectionChange, onSubmit, onRetract, totalVotes, className, ...props }: ArticlePollProps) => import("react/jsx-runtime").JSX.Element;
10
+ export { ArticleEmbed, ArticleImage, ArticlePoll, BeforeAfterComparison, ArticleVideo, ArticleMaterialLink, ArticlePlatformTabs };
11
+ export type { ArticleEmbedProps, ArticleImageProps, ArticlePollProps, BeforeAfterComparisonProps, PollState, ArticleVideoProps, ArticleMaterialLinkProps, ArticlePlatformTabsProps, } from './articleNodes.props.cjs';
8
12
  //# sourceMappingURL=ArticleNodes.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArticleNodes.d.cts","sourceRoot":"","sources":["../../../src/components/articleNodes/ArticleNodes.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAA;AAE7B,QAAA,MAAM,YAAY,GAAI,uCAA4C,iBAAiB,4CAAmM,CAAA;AAEtR,QAAA,MAAM,YAAY,GAAI,iDAAiD,iBAAiB,4CAKvF,CAAA;AAED,QAAA,MAAM,qBAAqB,GAAI,4FAAiH,0BAA0B,4CAA0O,CAAA;AAEpZ,QAAA,MAAM,WAAW,GAAI,2EAA0F,gBAAgB,4CAG9H,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAA;AACzE,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,SAAS,GACV,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"ArticleNodes.d.cts","sourceRoot":"","sources":["../../../src/components/articleNodes/ArticleNodes.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAEjH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAA;AAE7B,QAAA,MAAM,YAAY,GAAI,uCAA4C,iBAAiB,4CAAmM,CAAA;AAEtR,QAAA,MAAM,YAAY,GAAI,iDAAiD,iBAAiB,4CAKvF,CAAA;AAED,QAAA,MAAM,qBAAqB,GAAI,4FAAiH,0BAA0B,4CAA0O,CAAA;AAEpZ,QAAA,MAAM,YAAY,GAAI,4CAAmD,iBAAiB,4CAA+M,CAAA;AACzS,QAAA,MAAM,mBAAmB,GAAI,4DAAqF,wBAAwB,4CAIzI,CAAA;AACD,QAAA,MAAM,mBAAmB,GAAI,0DAA0D,wBAAwB,4CAGxG,CAAA;AACP,QAAA,MAAM,WAAW,GAAI,oJAA2K,gBAAgB,4CAiB/M,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAA;AACjI,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,SAAS,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,GACjF,MAAM,sBAAsB,CAAA"}
@@ -1,8 +1,12 @@
1
+ import type { ArticleVideoProps, ArticleMaterialLinkProps, ArticlePlatformTabsProps } from './articleNodes.props.js';
1
2
  import type { ArticleEmbedProps, ArticleImageProps, ArticlePollProps, BeforeAfterComparisonProps } from './articleNodes.props.js';
2
3
  declare const ArticleImage: ({ caption, className, alt, ...props }: ArticleImageProps) => import("react/jsx-runtime").JSX.Element;
3
4
  declare const ArticleEmbed: ({ url, render, isAllowed, className, ...props }: ArticleEmbedProps) => import("react/jsx-runtime").JSX.Element;
4
5
  declare const BeforeAfterComparison: ({ beforeSrc, afterSrc, beforeAlt, afterAlt, beforeLabel, afterLabel, className, ...props }: BeforeAfterComparisonProps) => import("react/jsx-runtime").JSX.Element;
5
- declare const ArticlePoll: ({ pollId, question, options, state, onLoad, onVote, className, ...props }: ArticlePollProps) => import("react/jsx-runtime").JSX.Element;
6
- export { ArticleEmbed, ArticleImage, ArticlePoll, BeforeAfterComparison };
7
- export type { ArticleEmbedProps, ArticleImageProps, ArticlePollProps, BeforeAfterComparisonProps, PollState, } from './articleNodes.props.js';
6
+ declare const ArticleVideo: ({ caption, className, controls, ...props }: ArticleVideoProps) => import("react/jsx-runtime").JSX.Element;
7
+ declare const ArticleMaterialLink: ({ materialId, href, children, unavailableLabel, ...props }: ArticleMaterialLinkProps) => import("react/jsx-runtime").JSX.Element;
8
+ declare const ArticlePlatformTabs: ({ tabs, value, onValueChange, className, dir, ...props }: ArticlePlatformTabsProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const ArticlePoll: ({ pollId, question, options, state, onLoad, onVote, selection, multiple, onSelectionChange, onSubmit, onRetract, totalVotes, className, ...props }: ArticlePollProps) => import("react/jsx-runtime").JSX.Element;
10
+ export { ArticleEmbed, ArticleImage, ArticlePoll, BeforeAfterComparison, ArticleVideo, ArticleMaterialLink, ArticlePlatformTabs };
11
+ export type { ArticleEmbedProps, ArticleImageProps, ArticlePollProps, BeforeAfterComparisonProps, PollState, ArticleVideoProps, ArticleMaterialLinkProps, ArticlePlatformTabsProps, } from './articleNodes.props.js';
8
12
  //# sourceMappingURL=ArticleNodes.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArticleNodes.d.mts","sourceRoot":"","sources":["../../../src/components/articleNodes/ArticleNodes.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAA;AAE7B,QAAA,MAAM,YAAY,GAAI,uCAA4C,iBAAiB,4CAAmM,CAAA;AAEtR,QAAA,MAAM,YAAY,GAAI,iDAAiD,iBAAiB,4CAKvF,CAAA;AAED,QAAA,MAAM,qBAAqB,GAAI,4FAAiH,0BAA0B,4CAA0O,CAAA;AAEpZ,QAAA,MAAM,WAAW,GAAI,2EAA0F,gBAAgB,4CAG9H,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAA;AACzE,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,SAAS,GACV,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"ArticleNodes.d.mts","sourceRoot":"","sources":["../../../src/components/articleNodes/ArticleNodes.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAEjH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAA;AAE7B,QAAA,MAAM,YAAY,GAAI,uCAA4C,iBAAiB,4CAAmM,CAAA;AAEtR,QAAA,MAAM,YAAY,GAAI,iDAAiD,iBAAiB,4CAKvF,CAAA;AAED,QAAA,MAAM,qBAAqB,GAAI,4FAAiH,0BAA0B,4CAA0O,CAAA;AAEpZ,QAAA,MAAM,YAAY,GAAI,4CAAmD,iBAAiB,4CAA+M,CAAA;AACzS,QAAA,MAAM,mBAAmB,GAAI,4DAAqF,wBAAwB,4CAIzI,CAAA;AACD,QAAA,MAAM,mBAAmB,GAAI,0DAA0D,wBAAwB,4CAGxG,CAAA;AACP,QAAA,MAAM,WAAW,GAAI,oJAA2K,gBAAgB,4CAiB/M,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAA;AACjI,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,SAAS,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,GACjF,MAAM,sBAAsB,CAAA"}
@@ -1,8 +1,12 @@
1
+ import type { ArticleVideoProps, ArticleMaterialLinkProps, ArticlePlatformTabsProps } from './articleNodes.props.js';
1
2
  import type { ArticleEmbedProps, ArticleImageProps, ArticlePollProps, BeforeAfterComparisonProps } from './articleNodes.props.js';
2
3
  declare const ArticleImage: ({ caption, className, alt, ...props }: ArticleImageProps) => import("react/jsx-runtime").JSX.Element;
3
4
  declare const ArticleEmbed: ({ url, render, isAllowed, className, ...props }: ArticleEmbedProps) => import("react/jsx-runtime").JSX.Element;
4
5
  declare const BeforeAfterComparison: ({ beforeSrc, afterSrc, beforeAlt, afterAlt, beforeLabel, afterLabel, className, ...props }: BeforeAfterComparisonProps) => import("react/jsx-runtime").JSX.Element;
5
- declare const ArticlePoll: ({ pollId, question, options, state, onLoad, onVote, className, ...props }: ArticlePollProps) => import("react/jsx-runtime").JSX.Element;
6
- export { ArticleEmbed, ArticleImage, ArticlePoll, BeforeAfterComparison };
7
- export type { ArticleEmbedProps, ArticleImageProps, ArticlePollProps, BeforeAfterComparisonProps, PollState, } from './articleNodes.props.js';
6
+ declare const ArticleVideo: ({ caption, className, controls, ...props }: ArticleVideoProps) => import("react/jsx-runtime").JSX.Element;
7
+ declare const ArticleMaterialLink: ({ materialId, href, children, unavailableLabel, ...props }: ArticleMaterialLinkProps) => import("react/jsx-runtime").JSX.Element;
8
+ declare const ArticlePlatformTabs: ({ tabs, value, onValueChange, className, dir, ...props }: ArticlePlatformTabsProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const ArticlePoll: ({ pollId, question, options, state, onLoad, onVote, selection, multiple, onSelectionChange, onSubmit, onRetract, totalVotes, className, ...props }: ArticlePollProps) => import("react/jsx-runtime").JSX.Element;
10
+ export { ArticleEmbed, ArticleImage, ArticlePoll, BeforeAfterComparison, ArticleVideo, ArticleMaterialLink, ArticlePlatformTabs };
11
+ export type { ArticleEmbedProps, ArticleImageProps, ArticlePollProps, BeforeAfterComparisonProps, PollState, ArticleVideoProps, ArticleMaterialLinkProps, ArticlePlatformTabsProps, } from './articleNodes.props.js';
8
12
  //# sourceMappingURL=ArticleNodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArticleNodes.d.ts","sourceRoot":"","sources":["../../../src/components/articleNodes/ArticleNodes.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAA;AAE7B,QAAA,MAAM,YAAY,GAAI,uCAA4C,iBAAiB,4CAAmM,CAAA;AAEtR,QAAA,MAAM,YAAY,GAAI,iDAAiD,iBAAiB,4CAKvF,CAAA;AAED,QAAA,MAAM,qBAAqB,GAAI,4FAAiH,0BAA0B,4CAA0O,CAAA;AAEpZ,QAAA,MAAM,WAAW,GAAI,2EAA0F,gBAAgB,4CAG9H,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAA;AACzE,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,SAAS,GACV,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"ArticleNodes.d.ts","sourceRoot":"","sources":["../../../src/components/articleNodes/ArticleNodes.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAEjH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,sBAAsB,CAAA;AAE7B,QAAA,MAAM,YAAY,GAAI,uCAA4C,iBAAiB,4CAAmM,CAAA;AAEtR,QAAA,MAAM,YAAY,GAAI,iDAAiD,iBAAiB,4CAKvF,CAAA;AAED,QAAA,MAAM,qBAAqB,GAAI,4FAAiH,0BAA0B,4CAA0O,CAAA;AAEpZ,QAAA,MAAM,YAAY,GAAI,4CAAmD,iBAAiB,4CAA+M,CAAA;AACzS,QAAA,MAAM,mBAAmB,GAAI,4DAAqF,wBAAwB,4CAIzI,CAAA;AACD,QAAA,MAAM,mBAAmB,GAAI,0DAA0D,wBAAwB,4CAGxG,CAAA;AACP,QAAA,MAAM,WAAW,GAAI,oJAA2K,gBAAgB,4CAiB/M,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,qBAAqB,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAA;AACjI,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,0BAA0B,EAC1B,SAAS,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,wBAAwB,GACjF,MAAM,sBAAsB,CAAA"}