@d4gger/design-system 3.0.1 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/README.md +19 -0
  2. package/dist/brand-effects.css +5 -3
  3. package/dist/components/accordion.css +9 -2
  4. package/dist/components/alert/Alert.cjs +27 -9
  5. package/dist/components/alert/Alert.cjs.map +2 -2
  6. package/dist/components/alert/Alert.d.cts +6 -0
  7. package/dist/components/alert/Alert.d.cts.map +1 -1
  8. package/dist/components/alert/Alert.d.mts +6 -0
  9. package/dist/components/alert/Alert.d.mts.map +1 -1
  10. package/dist/components/alert/Alert.d.ts +6 -0
  11. package/dist/components/alert/Alert.d.ts.map +1 -1
  12. package/dist/components/alert/Alert.js +28 -10
  13. package/dist/components/alert/Alert.js.map +2 -2
  14. package/dist/components/alert.css +73 -3
  15. package/dist/components/article-nodes.css +16 -1
  16. package/dist/components/articleNodes/ArticleNodes.cjs +46 -5
  17. package/dist/components/articleNodes/ArticleNodes.cjs.map +2 -2
  18. package/dist/components/articleNodes/ArticleNodes.d.cts +7 -3
  19. package/dist/components/articleNodes/ArticleNodes.d.cts.map +1 -1
  20. package/dist/components/articleNodes/ArticleNodes.d.mts +7 -3
  21. package/dist/components/articleNodes/ArticleNodes.d.mts.map +1 -1
  22. package/dist/components/articleNodes/ArticleNodes.d.ts +7 -3
  23. package/dist/components/articleNodes/ArticleNodes.d.ts.map +1 -1
  24. package/dist/components/articleNodes/ArticleNodes.js +46 -5
  25. package/dist/components/articleNodes/ArticleNodes.js.map +2 -2
  26. package/dist/components/articleNodes/articleExtensions.cjs +21 -4
  27. package/dist/components/articleNodes/articleExtensions.cjs.map +2 -2
  28. package/dist/components/articleNodes/articleExtensions.d.cts +8 -2
  29. package/dist/components/articleNodes/articleExtensions.d.cts.map +1 -1
  30. package/dist/components/articleNodes/articleExtensions.d.mts +8 -2
  31. package/dist/components/articleNodes/articleExtensions.d.mts.map +1 -1
  32. package/dist/components/articleNodes/articleExtensions.d.ts +8 -2
  33. package/dist/components/articleNodes/articleExtensions.d.ts.map +1 -1
  34. package/dist/components/articleNodes/articleExtensions.js +21 -4
  35. package/dist/components/articleNodes/articleExtensions.js.map +2 -2
  36. package/dist/components/articleNodes/articleNodeViews.cjs +154 -0
  37. package/dist/components/articleNodes/articleNodeViews.cjs.map +7 -0
  38. package/dist/components/articleNodes/articleNodeViews.d.cts +3 -0
  39. package/dist/components/articleNodes/articleNodeViews.d.cts.map +1 -0
  40. package/dist/components/articleNodes/articleNodeViews.d.mts +3 -0
  41. package/dist/components/articleNodes/articleNodeViews.d.mts.map +1 -0
  42. package/dist/components/articleNodes/articleNodeViews.d.ts +3 -0
  43. package/dist/components/articleNodes/articleNodeViews.d.ts.map +1 -0
  44. package/dist/components/articleNodes/articleNodeViews.js +124 -0
  45. package/dist/components/articleNodes/articleNodeViews.js.map +7 -0
  46. package/dist/components/articleNodes/articleNodes.props.cjs.map +1 -1
  47. package/dist/components/articleNodes/articleNodes.props.d.cts +25 -2
  48. package/dist/components/articleNodes/articleNodes.props.d.cts.map +1 -1
  49. package/dist/components/articleNodes/articleNodes.props.d.mts +25 -2
  50. package/dist/components/articleNodes/articleNodes.props.d.mts.map +1 -1
  51. package/dist/components/articleNodes/articleNodes.props.d.ts +25 -2
  52. package/dist/components/articleNodes/articleNodes.props.d.ts.map +1 -1
  53. package/dist/components/banner.css +5 -4
  54. package/dist/components/blockquote.css +7 -4
  55. package/dist/components/bottom-dock.css +140 -0
  56. package/dist/components/bottomDock/BottomDock.cjs +140 -0
  57. package/dist/components/bottomDock/BottomDock.cjs.map +7 -0
  58. package/dist/components/bottomDock/BottomDock.d.cts +25 -0
  59. package/dist/components/bottomDock/BottomDock.d.cts.map +1 -0
  60. package/dist/components/bottomDock/BottomDock.d.mts +25 -0
  61. package/dist/components/bottomDock/BottomDock.d.mts.map +1 -0
  62. package/dist/components/bottomDock/BottomDock.d.ts +25 -0
  63. package/dist/components/bottomDock/BottomDock.d.ts.map +1 -0
  64. package/dist/components/bottomDock/BottomDock.js +110 -0
  65. package/dist/components/bottomDock/BottomDock.js.map +7 -0
  66. package/dist/components/bottomDock/bottomDock.props.cjs +49 -0
  67. package/dist/components/bottomDock/bottomDock.props.cjs.map +7 -0
  68. package/dist/components/bottomDock/bottomDock.props.d.cts +29 -0
  69. package/dist/components/bottomDock/bottomDock.props.d.cts.map +1 -0
  70. package/dist/components/bottomDock/bottomDock.props.d.mts +29 -0
  71. package/dist/components/bottomDock/bottomDock.props.d.mts.map +1 -0
  72. package/dist/components/bottomDock/bottomDock.props.d.ts +29 -0
  73. package/dist/components/bottomDock/bottomDock.props.d.ts.map +1 -0
  74. package/dist/components/bottomDock/bottomDock.props.js +29 -0
  75. package/dist/components/bottomDock/bottomDock.props.js.map +7 -0
  76. package/dist/components/breadcrumb.css +24 -3
  77. package/dist/components/callout.css +20 -7
  78. package/dist/components/card.css +9 -1
  79. package/dist/components/code.css +29 -13
  80. package/dist/components/collapsible/Collapsible.cjs +14 -0
  81. package/dist/components/collapsible/Collapsible.cjs.map +2 -2
  82. package/dist/components/collapsible/Collapsible.d.cts.map +1 -1
  83. package/dist/components/collapsible/Collapsible.d.mts.map +1 -1
  84. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  85. package/dist/components/collapsible/Collapsible.js +14 -0
  86. package/dist/components/collapsible/Collapsible.js.map +2 -2
  87. package/dist/components/collapsible.css +10 -1
  88. package/dist/components/command.css +0 -2
  89. package/dist/components/comment-thread.css +15 -7
  90. package/dist/components/commentThread/CommentThread.cjs +45 -17
  91. package/dist/components/commentThread/CommentThread.cjs.map +2 -2
  92. package/dist/components/commentThread/CommentThread.d.cts +6 -6
  93. package/dist/components/commentThread/CommentThread.d.cts.map +1 -1
  94. package/dist/components/commentThread/CommentThread.d.mts +6 -6
  95. package/dist/components/commentThread/CommentThread.d.mts.map +1 -1
  96. package/dist/components/commentThread/CommentThread.d.ts +6 -6
  97. package/dist/components/commentThread/CommentThread.d.ts.map +1 -1
  98. package/dist/components/commentThread/CommentThread.js +45 -17
  99. package/dist/components/commentThread/CommentThread.js.map +2 -2
  100. package/dist/components/commentThread/commentThread.props.cjs.map +1 -1
  101. package/dist/components/commentThread/commentThread.props.d.cts +24 -0
  102. package/dist/components/commentThread/commentThread.props.d.cts.map +1 -1
  103. package/dist/components/commentThread/commentThread.props.d.mts +24 -0
  104. package/dist/components/commentThread/commentThread.props.d.mts.map +1 -1
  105. package/dist/components/commentThread/commentThread.props.d.ts +24 -0
  106. package/dist/components/commentThread/commentThread.props.d.ts.map +1 -1
  107. package/dist/components/config-drawer.css +7 -3
  108. package/dist/components/configDrawer/ConfigDrawer.cjs +1 -1
  109. package/dist/components/configDrawer/ConfigDrawer.cjs.map +2 -2
  110. package/dist/components/configDrawer/ConfigDrawer.js +1 -1
  111. package/dist/components/configDrawer/ConfigDrawer.js.map +2 -2
  112. package/dist/components/context-menu.css +3 -1
  113. package/dist/components/contextMenu/ContextMenu.cjs +37 -6
  114. package/dist/components/contextMenu/ContextMenu.cjs.map +2 -2
  115. package/dist/components/contextMenu/ContextMenu.d.cts +1 -1
  116. package/dist/components/contextMenu/ContextMenu.d.cts.map +1 -1
  117. package/dist/components/contextMenu/ContextMenu.d.mts +1 -1
  118. package/dist/components/contextMenu/ContextMenu.d.mts.map +1 -1
  119. package/dist/components/contextMenu/ContextMenu.d.ts +1 -1
  120. package/dist/components/contextMenu/ContextMenu.d.ts.map +1 -1
  121. package/dist/components/contextMenu/ContextMenu.js +37 -6
  122. package/dist/components/contextMenu/ContextMenu.js.map +2 -2
  123. package/dist/components/dialog.css +1 -1
  124. package/dist/components/drawer.css +23 -6
  125. package/dist/components/dropdownMenu/DropdownMenu.cjs +10 -5
  126. package/dist/components/dropdownMenu/DropdownMenu.cjs.map +2 -2
  127. package/dist/components/dropdownMenu/DropdownMenu.d.cts.map +1 -1
  128. package/dist/components/dropdownMenu/DropdownMenu.d.mts.map +1 -1
  129. package/dist/components/dropdownMenu/DropdownMenu.d.ts.map +1 -1
  130. package/dist/components/dropdownMenu/DropdownMenu.js +10 -5
  131. package/dist/components/dropdownMenu/DropdownMenu.js.map +2 -2
  132. package/dist/components/environment-ribbon.css +73 -0
  133. package/dist/components/environmentRibbon/EnvironmentRibbon.cjs +69 -0
  134. package/dist/components/environmentRibbon/EnvironmentRibbon.cjs.map +7 -0
  135. package/dist/components/environmentRibbon/EnvironmentRibbon.d.cts +15 -0
  136. package/dist/components/environmentRibbon/EnvironmentRibbon.d.cts.map +1 -0
  137. package/dist/components/environmentRibbon/EnvironmentRibbon.d.mts +15 -0
  138. package/dist/components/environmentRibbon/EnvironmentRibbon.d.mts.map +1 -0
  139. package/dist/components/environmentRibbon/EnvironmentRibbon.d.ts +15 -0
  140. package/dist/components/environmentRibbon/EnvironmentRibbon.d.ts.map +1 -0
  141. package/dist/components/environmentRibbon/EnvironmentRibbon.js +39 -0
  142. package/dist/components/environmentRibbon/EnvironmentRibbon.js.map +7 -0
  143. package/dist/components/environmentRibbon/environmentRibbon.props.cjs +39 -0
  144. package/dist/components/environmentRibbon/environmentRibbon.props.cjs.map +7 -0
  145. package/dist/components/environmentRibbon/environmentRibbon.props.d.cts +18 -0
  146. package/dist/components/environmentRibbon/environmentRibbon.props.d.cts.map +1 -0
  147. package/dist/components/environmentRibbon/environmentRibbon.props.d.mts +18 -0
  148. package/dist/components/environmentRibbon/environmentRibbon.props.d.mts.map +1 -0
  149. package/dist/components/environmentRibbon/environmentRibbon.props.d.ts +18 -0
  150. package/dist/components/environmentRibbon/environmentRibbon.props.d.ts.map +1 -0
  151. package/dist/components/environmentRibbon/environmentRibbon.props.js +19 -0
  152. package/dist/components/environmentRibbon/environmentRibbon.props.js.map +7 -0
  153. package/dist/components/field.css +5 -0
  154. package/dist/components/file-upload.css +36 -9
  155. package/dist/components/floating-panel.css +49 -18
  156. package/dist/components/floatingPanel/FloatingPanel.cjs +156 -58
  157. package/dist/components/floatingPanel/FloatingPanel.cjs.map +2 -2
  158. package/dist/components/floatingPanel/FloatingPanel.d.cts.map +1 -1
  159. package/dist/components/floatingPanel/FloatingPanel.d.mts.map +1 -1
  160. package/dist/components/floatingPanel/FloatingPanel.d.ts.map +1 -1
  161. package/dist/components/floatingPanel/FloatingPanel.js +156 -58
  162. package/dist/components/floatingPanel/FloatingPanel.js.map +2 -2
  163. package/dist/components/grid/Grid.cjs +24 -35
  164. package/dist/components/grid/Grid.cjs.map +2 -2
  165. package/dist/components/grid/Grid.d.cts.map +1 -1
  166. package/dist/components/grid/Grid.d.mts.map +1 -1
  167. package/dist/components/grid/Grid.d.ts.map +1 -1
  168. package/dist/components/grid/Grid.js +24 -35
  169. package/dist/components/grid/Grid.js.map +2 -2
  170. package/dist/components/heading/Heading.cjs +1 -8
  171. package/dist/components/heading/Heading.cjs.map +2 -2
  172. package/dist/components/heading/Heading.d.cts.map +1 -1
  173. package/dist/components/heading/Heading.d.mts.map +1 -1
  174. package/dist/components/heading/Heading.d.ts.map +1 -1
  175. package/dist/components/heading/Heading.js +1 -8
  176. package/dist/components/heading/Heading.js.map +2 -2
  177. package/dist/components/heading/heading.props.cjs +9 -9
  178. package/dist/components/heading/heading.props.cjs.map +2 -2
  179. package/dist/components/heading/heading.props.d.cts +42 -43
  180. package/dist/components/heading/heading.props.d.cts.map +1 -1
  181. package/dist/components/heading/heading.props.d.mts +42 -43
  182. package/dist/components/heading/heading.props.d.mts.map +1 -1
  183. package/dist/components/heading/heading.props.d.ts +42 -43
  184. package/dist/components/heading/heading.props.d.ts.map +1 -1
  185. package/dist/components/heading/heading.props.js +9 -9
  186. package/dist/components/heading/heading.props.js.map +2 -2
  187. package/dist/components/heading.css +127 -104
  188. package/dist/components/hover-card.css +5 -2
  189. package/dist/components/icon/Icon.cjs +19 -0
  190. package/dist/components/icon/Icon.cjs.map +2 -2
  191. package/dist/components/icon/Icon.d.cts +29 -1
  192. package/dist/components/icon/Icon.d.cts.map +1 -1
  193. package/dist/components/icon/Icon.d.mts +29 -1
  194. package/dist/components/icon/Icon.d.mts.map +1 -1
  195. package/dist/components/icon/Icon.d.ts +29 -1
  196. package/dist/components/icon/Icon.d.ts.map +1 -1
  197. package/dist/components/icon/Icon.js +25 -0
  198. package/dist/components/icon/Icon.js.map +2 -2
  199. package/dist/components/icon/icons.cjs +14 -0
  200. package/dist/components/icon/icons.cjs.map +2 -2
  201. package/dist/components/icon/icons.d.cts +35 -0
  202. package/dist/components/icon/icons.d.cts.map +1 -1
  203. package/dist/components/icon/icons.d.mts +35 -0
  204. package/dist/components/icon/icons.d.mts.map +1 -1
  205. package/dist/components/icon/icons.d.ts +35 -0
  206. package/dist/components/icon/icons.d.ts.map +1 -1
  207. package/dist/components/icon/icons.js +14 -0
  208. package/dist/components/icon/icons.js.map +2 -2
  209. package/dist/components/index.cjs +2 -0
  210. package/dist/components/index.cjs.map +2 -2
  211. package/dist/components/index.d.cts +2 -0
  212. package/dist/components/index.d.cts.map +1 -1
  213. package/dist/components/index.d.mts +2 -0
  214. package/dist/components/index.d.mts.map +1 -1
  215. package/dist/components/index.d.ts +2 -0
  216. package/dist/components/index.d.ts.map +1 -1
  217. package/dist/components/index.js +2 -0
  218. package/dist/components/index.js.map +2 -2
  219. package/dist/components/label.css +3 -0
  220. package/dist/components/link.css +33 -97
  221. package/dist/components/notification-center.css +58 -10
  222. package/dist/components/notificationCenter/NotificationCenter.cjs +27 -17
  223. package/dist/components/notificationCenter/NotificationCenter.cjs.map +2 -2
  224. package/dist/components/notificationCenter/NotificationCenter.d.cts +2 -0
  225. package/dist/components/notificationCenter/NotificationCenter.d.cts.map +1 -1
  226. package/dist/components/notificationCenter/NotificationCenter.d.mts +2 -0
  227. package/dist/components/notificationCenter/NotificationCenter.d.mts.map +1 -1
  228. package/dist/components/notificationCenter/NotificationCenter.d.ts +2 -0
  229. package/dist/components/notificationCenter/NotificationCenter.d.ts.map +1 -1
  230. package/dist/components/notificationCenter/NotificationCenter.js +28 -18
  231. package/dist/components/notificationCenter/NotificationCenter.js.map +2 -2
  232. package/dist/components/page-header.css +21 -0
  233. package/dist/components/pageHeader/PageHeader.cjs +10 -2
  234. package/dist/components/pageHeader/PageHeader.cjs.map +2 -2
  235. package/dist/components/pageHeader/PageHeader.d.cts.map +1 -1
  236. package/dist/components/pageHeader/PageHeader.d.mts.map +1 -1
  237. package/dist/components/pageHeader/PageHeader.d.ts.map +1 -1
  238. package/dist/components/pageHeader/PageHeader.js +10 -2
  239. package/dist/components/pageHeader/PageHeader.js.map +2 -2
  240. package/dist/components/pageHeader/pageHeader.props.cjs +7 -1
  241. package/dist/components/pageHeader/pageHeader.props.cjs.map +2 -2
  242. package/dist/components/pageHeader/pageHeader.props.d.cts +5 -0
  243. package/dist/components/pageHeader/pageHeader.props.d.cts.map +1 -1
  244. package/dist/components/pageHeader/pageHeader.props.d.mts +5 -0
  245. package/dist/components/pageHeader/pageHeader.props.d.mts.map +1 -1
  246. package/dist/components/pageHeader/pageHeader.props.d.ts +5 -0
  247. package/dist/components/pageHeader/pageHeader.props.d.ts.map +1 -1
  248. package/dist/components/pageHeader/pageHeader.props.js +7 -1
  249. package/dist/components/pageHeader/pageHeader.props.js.map +2 -2
  250. package/dist/components/pills/Pills.cjs +1 -1
  251. package/dist/components/pills/Pills.cjs.map +2 -2
  252. package/dist/components/pills/Pills.js +2 -2
  253. package/dist/components/pills/Pills.js.map +2 -2
  254. package/dist/components/pills.css +6 -0
  255. package/dist/components/popover.css +45 -6
  256. package/dist/components/prose.css +3 -3
  257. package/dist/components/qr-code.css +5 -2
  258. package/dist/components/qrCode/QrCode.cjs +14 -11
  259. package/dist/components/qrCode/QrCode.cjs.map +2 -2
  260. package/dist/components/qrCode/QrCode.d.cts.map +1 -1
  261. package/dist/components/qrCode/QrCode.d.mts.map +1 -1
  262. package/dist/components/qrCode/QrCode.d.ts.map +1 -1
  263. package/dist/components/qrCode/QrCode.js +14 -11
  264. package/dist/components/qrCode/QrCode.js.map +2 -2
  265. package/dist/components/resizable.css +20 -4
  266. package/dist/components/rich-text-editor.css +50 -14
  267. package/dist/components/richTextEditor/EditorTools.cjs +226 -0
  268. package/dist/components/richTextEditor/EditorTools.cjs.map +7 -0
  269. package/dist/components/richTextEditor/EditorTools.d.cts +22 -0
  270. package/dist/components/richTextEditor/EditorTools.d.cts.map +1 -0
  271. package/dist/components/richTextEditor/EditorTools.d.mts +22 -0
  272. package/dist/components/richTextEditor/EditorTools.d.mts.map +1 -0
  273. package/dist/components/richTextEditor/EditorTools.d.ts +22 -0
  274. package/dist/components/richTextEditor/EditorTools.d.ts.map +1 -0
  275. package/dist/components/richTextEditor/EditorTools.js +196 -0
  276. package/dist/components/richTextEditor/EditorTools.js.map +7 -0
  277. package/dist/components/richTextEditor/MentionSuggestions.cjs +96 -0
  278. package/dist/components/richTextEditor/MentionSuggestions.cjs.map +7 -0
  279. package/dist/components/richTextEditor/MentionSuggestions.d.cts +7 -0
  280. package/dist/components/richTextEditor/MentionSuggestions.d.cts.map +1 -0
  281. package/dist/components/richTextEditor/MentionSuggestions.d.mts +7 -0
  282. package/dist/components/richTextEditor/MentionSuggestions.d.mts.map +1 -0
  283. package/dist/components/richTextEditor/MentionSuggestions.d.ts +7 -0
  284. package/dist/components/richTextEditor/MentionSuggestions.d.ts.map +1 -0
  285. package/dist/components/richTextEditor/MentionSuggestions.js +66 -0
  286. package/dist/components/richTextEditor/MentionSuggestions.js.map +7 -0
  287. package/dist/components/richTextEditor/RichTextEditor.cjs +53 -206
  288. package/dist/components/richTextEditor/RichTextEditor.cjs.map +3 -3
  289. package/dist/components/richTextEditor/RichTextEditor.d.cts +17 -7
  290. package/dist/components/richTextEditor/RichTextEditor.d.cts.map +1 -1
  291. package/dist/components/richTextEditor/RichTextEditor.d.mts +17 -7
  292. package/dist/components/richTextEditor/RichTextEditor.d.mts.map +1 -1
  293. package/dist/components/richTextEditor/RichTextEditor.d.ts +17 -7
  294. package/dist/components/richTextEditor/RichTextEditor.d.ts.map +1 -1
  295. package/dist/components/richTextEditor/RichTextEditor.js +53 -206
  296. package/dist/components/richTextEditor/RichTextEditor.js.map +3 -3
  297. package/dist/components/richTextEditor/editorTokens.cjs +75 -0
  298. package/dist/components/richTextEditor/editorTokens.cjs.map +7 -0
  299. package/dist/components/richTextEditor/editorTokens.d.cts +21 -0
  300. package/dist/components/richTextEditor/editorTokens.d.cts.map +1 -0
  301. package/dist/components/richTextEditor/editorTokens.d.mts +21 -0
  302. package/dist/components/richTextEditor/editorTokens.d.mts.map +1 -0
  303. package/dist/components/richTextEditor/editorTokens.d.ts +21 -0
  304. package/dist/components/richTextEditor/editorTokens.d.ts.map +1 -0
  305. package/dist/components/richTextEditor/editorTokens.js +55 -0
  306. package/dist/components/richTextEditor/editorTokens.js.map +7 -0
  307. package/dist/components/scroll-area.css +12 -0
  308. package/dist/components/scrollArea/ScrollArea.cjs +12 -1
  309. package/dist/components/scrollArea/ScrollArea.cjs.map +2 -2
  310. package/dist/components/scrollArea/ScrollArea.d.cts.map +1 -1
  311. package/dist/components/scrollArea/ScrollArea.d.mts.map +1 -1
  312. package/dist/components/scrollArea/ScrollArea.d.ts.map +1 -1
  313. package/dist/components/scrollArea/ScrollArea.js +12 -1
  314. package/dist/components/scrollArea/ScrollArea.js.map +2 -2
  315. package/dist/components/segmentedControl/SegmentedControl.cjs +2 -2
  316. package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
  317. package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
  318. package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
  319. package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
  320. package/dist/components/segmentedControl/SegmentedControl.js +2 -2
  321. package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
  322. package/dist/components/separator.css +3 -9
  323. package/dist/components/sidebar/Sidebar.cjs +17 -5
  324. package/dist/components/sidebar/Sidebar.cjs.map +2 -2
  325. package/dist/components/sidebar/Sidebar.d.cts +12 -1
  326. package/dist/components/sidebar/Sidebar.d.cts.map +1 -1
  327. package/dist/components/sidebar/Sidebar.d.mts +12 -1
  328. package/dist/components/sidebar/Sidebar.d.mts.map +1 -1
  329. package/dist/components/sidebar/Sidebar.d.ts +12 -1
  330. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  331. package/dist/components/sidebar/Sidebar.js +17 -5
  332. package/dist/components/sidebar/Sidebar.js.map +2 -2
  333. package/dist/components/sidebar/sidebar.props.cjs +8 -1
  334. package/dist/components/sidebar/sidebar.props.cjs.map +2 -2
  335. package/dist/components/sidebar/sidebar.props.d.cts +9 -1
  336. package/dist/components/sidebar/sidebar.props.d.cts.map +1 -1
  337. package/dist/components/sidebar/sidebar.props.d.mts +9 -1
  338. package/dist/components/sidebar/sidebar.props.d.mts.map +1 -1
  339. package/dist/components/sidebar/sidebar.props.d.ts +9 -1
  340. package/dist/components/sidebar/sidebar.props.d.ts.map +1 -1
  341. package/dist/components/sidebar/sidebar.props.js +8 -1
  342. package/dist/components/sidebar/sidebar.props.js.map +2 -2
  343. package/dist/components/sidebar.css +86 -13
  344. package/dist/components/sonner.css +78 -16
  345. package/dist/components/stepper.css +23 -12
  346. package/dist/components/tab-nav.css +25 -13
  347. package/dist/components/tabNav/TabNav.cjs +1 -4
  348. package/dist/components/tabNav/TabNav.cjs.map +2 -2
  349. package/dist/components/tabNav/TabNav.d.cts.map +1 -1
  350. package/dist/components/tabNav/TabNav.d.mts.map +1 -1
  351. package/dist/components/tabNav/TabNav.d.ts.map +1 -1
  352. package/dist/components/tabNav/TabNav.js +1 -4
  353. package/dist/components/tabNav/TabNav.js.map +2 -2
  354. package/dist/components/table-of-contents.css +12 -2
  355. package/dist/components/tableOfContents/TableOfContents.cjs +11 -4
  356. package/dist/components/tableOfContents/TableOfContents.cjs.map +2 -2
  357. package/dist/components/tableOfContents/TableOfContents.d.cts.map +1 -1
  358. package/dist/components/tableOfContents/TableOfContents.d.mts.map +1 -1
  359. package/dist/components/tableOfContents/TableOfContents.d.ts.map +1 -1
  360. package/dist/components/tableOfContents/TableOfContents.js +11 -4
  361. package/dist/components/tableOfContents/TableOfContents.js.map +2 -2
  362. package/dist/components/tabs/Tabs.cjs +39 -54
  363. package/dist/components/tabs/Tabs.cjs.map +2 -2
  364. package/dist/components/tabs/Tabs.d.cts.map +1 -1
  365. package/dist/components/tabs/Tabs.d.mts.map +1 -1
  366. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  367. package/dist/components/tabs/Tabs.js +39 -54
  368. package/dist/components/tabs/Tabs.js.map +2 -2
  369. package/dist/components/tabs.css +52 -7
  370. package/dist/components/text/text.props.cjs +9 -9
  371. package/dist/components/text/text.props.cjs.map +2 -2
  372. package/dist/components/text/text.props.d.cts +42 -43
  373. package/dist/components/text/text.props.d.cts.map +1 -1
  374. package/dist/components/text/text.props.d.mts +42 -43
  375. package/dist/components/text/text.props.d.mts.map +1 -1
  376. package/dist/components/text/text.props.d.ts +42 -43
  377. package/dist/components/text/text.props.d.ts.map +1 -1
  378. package/dist/components/text/text.props.js +9 -9
  379. package/dist/components/text/text.props.js.map +2 -2
  380. package/dist/components/text/typography.props.cjs +32 -0
  381. package/dist/components/text/typography.props.cjs.map +7 -0
  382. package/dist/components/text/typography.props.d.cts +3 -0
  383. package/dist/components/text/typography.props.d.cts.map +1 -0
  384. package/dist/components/text/typography.props.d.mts +3 -0
  385. package/dist/components/text/typography.props.d.mts.map +1 -0
  386. package/dist/components/text/typography.props.d.ts +3 -0
  387. package/dist/components/text/typography.props.d.ts.map +1 -0
  388. package/dist/components/text/typography.props.js +12 -0
  389. package/dist/components/text/typography.props.js.map +7 -0
  390. package/dist/components/text-field.css +1 -0
  391. package/dist/components/text.css +41 -6
  392. package/dist/components/theme-panel.css +6 -0
  393. package/dist/components/toast/Toast.cjs +3 -1
  394. package/dist/components/toast/Toast.cjs.map +2 -2
  395. package/dist/components/toast/Toast.d.cts.map +1 -1
  396. package/dist/components/toast/Toast.d.mts.map +1 -1
  397. package/dist/components/toast/Toast.d.ts.map +1 -1
  398. package/dist/components/toast/Toast.js +3 -1
  399. package/dist/components/toast/Toast.js.map +2 -2
  400. package/dist/components/toast.css +36 -36
  401. package/dist/components/toggle-tip.css +58 -9
  402. package/dist/components/toggleTip/ToggleTip.cjs +9 -5
  403. package/dist/components/toggleTip/ToggleTip.cjs.map +2 -2
  404. package/dist/components/toggleTip/ToggleTip.d.cts.map +1 -1
  405. package/dist/components/toggleTip/ToggleTip.d.mts.map +1 -1
  406. package/dist/components/toggleTip/ToggleTip.d.ts.map +1 -1
  407. package/dist/components/toggleTip/ToggleTip.js +9 -5
  408. package/dist/components/toggleTip/ToggleTip.js.map +2 -2
  409. package/dist/components/toolbar/Toolbar.cjs +10 -7
  410. package/dist/components/toolbar/Toolbar.cjs.map +2 -2
  411. package/dist/components/toolbar/Toolbar.js +10 -7
  412. package/dist/components/toolbar/Toolbar.js.map +2 -2
  413. package/dist/components/toolbar.css +58 -4
  414. package/dist/components/tooltip.css +9 -5
  415. package/dist/components/tree-view.css +17 -3
  416. package/dist/components/treeView/TreeView.cjs +76 -21
  417. package/dist/components/treeView/TreeView.cjs.map +2 -2
  418. package/dist/components/treeView/TreeView.d.cts.map +1 -1
  419. package/dist/components/treeView/TreeView.d.mts.map +1 -1
  420. package/dist/components/treeView/TreeView.d.ts.map +1 -1
  421. package/dist/components/treeView/TreeView.js +76 -21
  422. package/dist/components/treeView/TreeView.js.map +2 -2
  423. package/dist/components.css +2 -0
  424. package/dist/docs/README.md +2 -0
  425. package/dist/docs/component-contract.md +7 -4
  426. package/dist/docs/component-index.json +17 -1
  427. package/dist/docs/components/accordion.md +5 -36
  428. package/dist/docs/components/alert.md +44 -17
  429. package/dist/docs/components/article-nodes.md +59 -2
  430. package/dist/docs/components/aspect-ratio.md +3 -26
  431. package/dist/docs/components/banner.md +7 -7
  432. package/dist/docs/components/blockquote.md +15 -14
  433. package/dist/docs/components/bottom-dock.md +146 -0
  434. package/dist/docs/components/box.md +3 -34
  435. package/dist/docs/components/breadcrumb.md +13 -8
  436. package/dist/docs/components/callout.md +18 -7
  437. package/dist/docs/components/card.md +10 -3
  438. package/dist/docs/components/code.md +33 -220
  439. package/dist/docs/components/collapsible.md +16 -35
  440. package/dist/docs/components/command.md +2 -0
  441. package/dist/docs/components/comment-thread.md +51 -1
  442. package/dist/docs/components/config-drawer.md +72 -171
  443. package/dist/docs/components/container.md +2 -0
  444. package/dist/docs/components/context-menu.md +19 -5
  445. package/dist/docs/components/dialog.md +4 -2
  446. package/dist/docs/components/drawer.md +17 -6
  447. package/dist/docs/components/dropdown-menu.md +11 -2
  448. package/dist/docs/components/em.md +1 -1
  449. package/dist/docs/components/environment-ribbon.md +126 -0
  450. package/dist/docs/components/field.md +2 -0
  451. package/dist/docs/components/file-upload.md +13 -7
  452. package/dist/docs/components/floating-panel.md +79 -285
  453. package/dist/docs/components/form.md +4 -0
  454. package/dist/docs/components/grid.md +11 -60
  455. package/dist/docs/components/heading.md +35 -32
  456. package/dist/docs/components/hover-card.md +9 -1
  457. package/dist/docs/components/icon.md +1 -0
  458. package/dist/docs/components/kbd.md +2 -0
  459. package/dist/docs/components/label.md +11 -9
  460. package/dist/docs/components/link.md +31 -209
  461. package/dist/docs/components/notification-center.md +30 -15
  462. package/dist/docs/components/page-header.md +20 -6
  463. package/dist/docs/components/pagination.md +4 -0
  464. package/dist/docs/components/pills.md +13 -4
  465. package/dist/docs/components/popover.md +10 -3
  466. package/dist/docs/components/prose.md +9 -0
  467. package/dist/docs/components/qr-code.md +12 -12
  468. package/dist/docs/components/quote.md +9 -4
  469. package/dist/docs/components/resizable.md +26 -18
  470. package/dist/docs/components/rich-text-editor.md +68 -18
  471. package/dist/docs/components/scroll-area.md +17 -9
  472. package/dist/docs/components/section.md +3 -38
  473. package/dist/docs/components/segmented-control.md +1 -1
  474. package/dist/docs/components/segmented-meter.md +9 -0
  475. package/dist/docs/components/separator.md +10 -46
  476. package/dist/docs/components/sidebar.md +34 -9
  477. package/dist/docs/components/sonner.md +25 -16
  478. package/dist/docs/components/stepper.md +8 -33
  479. package/dist/docs/components/strong.md +1 -1
  480. package/dist/docs/components/tab-nav.md +33 -96
  481. package/dist/docs/components/table-of-contents.md +8 -2
  482. package/dist/docs/components/tabs.md +19 -50
  483. package/dist/docs/components/text-field.md +1 -0
  484. package/dist/docs/components/text.md +34 -28
  485. package/dist/docs/components/theme-panel.md +3 -28
  486. package/dist/docs/components/theme.md +7 -3
  487. package/dist/docs/components/toast.md +27 -13
  488. package/dist/docs/components/toggle-tip.md +58 -241
  489. package/dist/docs/components/toolbar.md +16 -39
  490. package/dist/docs/components/tooltip.md +13 -7
  491. package/dist/docs/components/tree-view.md +22 -55
  492. package/dist/docs/consumer-guide.md +11 -4
  493. package/dist/generated/tokens.cjs +1 -0
  494. package/dist/generated/tokens.cjs.map +2 -2
  495. package/dist/generated/tokens.d.cts.map +1 -1
  496. package/dist/generated/tokens.d.mts.map +1 -1
  497. package/dist/generated/tokens.d.ts.map +1 -1
  498. package/dist/generated/tokens.js +1 -0
  499. package/dist/generated/tokens.js.map +2 -2
  500. package/dist/styles.css +1921 -1349
  501. package/dist/tokens.css +346 -362
  502. package/package.json +1 -1
@@ -34,7 +34,10 @@ __export(RichTextEditor_exports, {
34
34
  RichTextEditorRoot: () => RichTextEditorRoot,
35
35
  RichTextEditorShell: () => RichTextEditorShell,
36
36
  RichTextEditorToolbar: () => RichTextEditorToolbar,
37
- createRichTextEditorExtensions: () => createRichTextEditorExtensions
37
+ RichTextEditorToolbarButton: () => RichTextEditorToolbarButton,
38
+ createMentionExtension: () => import_editorTokens2.createMentionExtension,
39
+ createRichTextEditorExtensions: () => createRichTextEditorExtensions,
40
+ createVariableExtension: () => import_editorTokens2.createVariableExtension
38
41
  });
39
42
  module.exports = __toCommonJS(RichTextEditor_exports);
40
43
  var React = __toESM(require("react"), 1);
@@ -45,17 +48,21 @@ var import_extractProps = require("../../_internal/helpers/extractProps");
45
48
  var import_richTextEditor = require("./richTextEditor.props");
46
49
  var import_Button = require("../button/Button");
47
50
  var import_Icon = require("../icon/Icon");
51
+ var import_Toolbar = require("../toolbar/Toolbar");
48
52
  var import_articleExtensions = require("../articleNodes/articleExtensions");
53
+ var import_EditorTools = require("./EditorTools");
54
+ var import_editorTokens = require("./editorTokens");
55
+ var import_editorTokens2 = require("./editorTokens");
49
56
  var import_jsx_runtime = require("react/jsx-runtime");
50
57
  const defaultRichTextEditorExtensions = [import_starter_kit.default];
51
58
  function createRichTextEditorExtensions(config = {}) {
52
59
  if (config.extensions) return config.extensions;
53
- return config.preset === "article" ? [import_starter_kit.default.configure({ codeBlock: false }), ...(0, import_articleExtensions.createArticleExtensions)()] : defaultRichTextEditorExtensions;
60
+ return [...config.preset === "article" ? [import_starter_kit.default.configure({ codeBlock: false }), ...(0, import_articleExtensions.createArticleExtensions)()] : defaultRichTextEditorExtensions, ...config.variables ? [(0, import_editorTokens.createVariableExtension)({ variables: config.variables })] : [], ...config.mentions ? [(0, import_editorTokens.createMentionExtension)({ mentions: config.mentions })] : []];
54
61
  }
55
62
  function isRichTextEditorContent(value) {
56
63
  return value === null || typeof value === "string" || typeof value === "object";
57
64
  }
58
- function renderRichTextEditorToolbar(toolbar, editor, disabled) {
65
+ function renderRichTextEditorToolbar(toolbar, editor, disabled, options) {
59
66
  if (toolbar === null) {
60
67
  return null;
61
68
  }
@@ -65,19 +72,23 @@ function renderRichTextEditorToolbar(toolbar, editor, disabled) {
65
72
  if (toolbar !== void 0) {
66
73
  return toolbar;
67
74
  }
68
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RichTextEditorToolbar, { editor, disabled });
75
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RichTextEditorToolbar, { editor, disabled, ...options });
69
76
  }
70
77
  function getRichTextEditorAttributes(editorOptions) {
71
78
  const attributes = editorOptions?.editorProps?.attributes;
72
- if (!attributes || typeof attributes === "function") {
73
- return {
74
- class: "dsx-rich-text-editor__prosemirror",
75
- "data-slot": "rich-text-editor-prosemirror"
79
+ if (typeof attributes === "function") {
80
+ return (state) => {
81
+ const resolved = attributes(state);
82
+ return {
83
+ ...resolved,
84
+ class: (0, import_classnames.default)("dsx-rich-text-editor__prosemirror", resolved.class),
85
+ "data-slot": "rich-text-editor-prosemirror"
86
+ };
76
87
  };
77
88
  }
78
89
  return {
79
90
  ...attributes,
80
- class: (0, import_classnames.default)("dsx-rich-text-editor__prosemirror", attributes.class),
91
+ class: (0, import_classnames.default)("dsx-rich-text-editor__prosemirror", attributes?.class),
81
92
  "data-slot": "rich-text-editor-prosemirror"
82
93
  };
83
94
  }
@@ -92,7 +103,7 @@ function getRichTextEditorStatus(editor) {
92
103
  return `${plainText.length} characters`;
93
104
  }
94
105
  const RichTextEditorShell = React.forwardRef(
95
- ({ className: propClassName, disabled = false, editor, placeholder, toolbar, ...props }, forwardedRef) => {
106
+ ({ className: propClassName, disabled = false, editor, placeholder, toolbar, tools, headingLevels, insertItems, variables, mentions, ...props }, forwardedRef) => {
96
107
  const {
97
108
  asChild: _asChild,
98
109
  className,
@@ -115,7 +126,7 @@ const RichTextEditorShell = React.forwardRef(
115
126
  "data-disabled": disabled ? "true" : void 0,
116
127
  "data-slot": "rich-text-editor",
117
128
  children: [
118
- renderRichTextEditorToolbar(toolbar, editor, disabled),
129
+ renderRichTextEditorToolbar(toolbar, editor, disabled, { tools, headingLevels, insertItems, variables, mentions }),
119
130
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RichTextEditorContent, { editor, placeholder, disabled }),
120
131
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "dsx-rich-text-editor__status", "data-slot": "rich-text-editor-status", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: getRichTextEditorStatus(editor) }) })
121
132
  ]
@@ -134,7 +145,7 @@ const RichTextEditorToolbarButton = React.forwardRef(
134
145
  },
135
146
  import_richTextEditor.richTextEditorToolbarButtonPropDefs
136
147
  );
137
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
148
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Toolbar.Toolbar.Button, { asChild: true, disabled: buttonProps.disabled, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
138
149
  import_Button.Button,
139
150
  {
140
151
  ...buttonProps,
@@ -147,200 +158,12 @@ const RichTextEditorToolbarButton = React.forwardRef(
147
158
  "data-slot": "rich-text-editor-toolbar-button",
148
159
  className: (0, import_classnames.default)("dsx-rich-text-editor__toolbar-button", className)
149
160
  }
150
- );
161
+ ) });
151
162
  }
152
163
  );
153
164
  RichTextEditorToolbarButton.displayName = "RichTextEditorToolbarButton";
154
165
  const RichTextEditorToolbar = React.forwardRef(
155
- ({ editor, disabled = false, className, ...props }, forwardedRef) => {
156
- const toolbarDisabled = disabled || !editor;
157
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
158
- "div",
159
- {
160
- ...props,
161
- ref: forwardedRef,
162
- className: (0, import_classnames.default)("dsx-rich-text-editor__toolbar", className),
163
- "data-disabled": toolbarDisabled ? "true" : void 0,
164
- "data-slot": "rich-text-editor-toolbar",
165
- role: "toolbar",
166
- "aria-label": "Formatting toolbar",
167
- children: [
168
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-rich-text-editor__toolbar-group", role: "group", "aria-label": "Text style", children: [
169
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "dsx-rich-text-editor__toolbar-label", children: "Text" }),
170
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
171
- RichTextEditorToolbarButton,
172
- {
173
- disabled: toolbarDisabled,
174
- active: editor?.isActive("bold") ?? false,
175
- "aria-label": "Bold",
176
- onMouseDown: (event) => event.preventDefault(),
177
- onClick: () => editor?.chain().focus().toggleBold().run(),
178
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "bold", size: "sm" })
179
- }
180
- ),
181
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
182
- RichTextEditorToolbarButton,
183
- {
184
- disabled: toolbarDisabled,
185
- active: editor?.isActive("italic") ?? false,
186
- "aria-label": "Italic",
187
- onMouseDown: (event) => event.preventDefault(),
188
- onClick: () => editor?.chain().focus().toggleItalic().run(),
189
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "italic", size: "sm" })
190
- }
191
- ),
192
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
193
- RichTextEditorToolbarButton,
194
- {
195
- disabled: toolbarDisabled,
196
- active: editor?.isActive("strike") ?? false,
197
- "aria-label": "Strikethrough",
198
- onMouseDown: (event) => event.preventDefault(),
199
- onClick: () => editor?.chain().focus().toggleStrike().run(),
200
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "strikethrough", size: "sm" })
201
- }
202
- )
203
- ] }),
204
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-rich-text-editor__toolbar-group", role: "group", "aria-label": "Block style", children: [
205
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "dsx-rich-text-editor__toolbar-label", children: "Blocks" }),
206
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
207
- RichTextEditorToolbarButton,
208
- {
209
- disabled: toolbarDisabled,
210
- active: editor?.isActive("heading", { level: 1 }) ?? false,
211
- "aria-label": "Heading 1",
212
- onMouseDown: (event) => event.preventDefault(),
213
- onClick: () => editor?.chain().focus().toggleHeading({ level: 1 }).run(),
214
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "heading-1", size: "sm" })
215
- }
216
- ),
217
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
218
- RichTextEditorToolbarButton,
219
- {
220
- disabled: toolbarDisabled,
221
- active: editor?.isActive("heading", { level: 2 }) ?? false,
222
- "aria-label": "Heading",
223
- onMouseDown: (event) => event.preventDefault(),
224
- onClick: () => editor?.chain().focus().toggleHeading({ level: 2 }).run(),
225
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "heading-2", size: "sm" })
226
- }
227
- ),
228
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
229
- RichTextEditorToolbarButton,
230
- {
231
- disabled: toolbarDisabled,
232
- active: editor?.isActive("heading", { level: 3 }) ?? false,
233
- "aria-label": "Subheading",
234
- onMouseDown: (event) => event.preventDefault(),
235
- onClick: () => editor?.chain().focus().toggleHeading({ level: 3 }).run(),
236
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "heading-3", size: "sm" })
237
- }
238
- ),
239
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
240
- RichTextEditorToolbarButton,
241
- {
242
- disabled: toolbarDisabled,
243
- active: editor?.isActive("bulletList") ?? false,
244
- "aria-label": "Bulleted list",
245
- onMouseDown: (event) => event.preventDefault(),
246
- onClick: () => editor?.chain().focus().toggleBulletList().run(),
247
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "list", size: "sm" })
248
- }
249
- ),
250
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
251
- RichTextEditorToolbarButton,
252
- {
253
- disabled: toolbarDisabled,
254
- active: editor?.isActive("orderedList") ?? false,
255
- "aria-label": "Numbered list",
256
- onMouseDown: (event) => event.preventDefault(),
257
- onClick: () => editor?.chain().focus().toggleOrderedList().run(),
258
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "list-ordered", size: "sm" })
259
- }
260
- ),
261
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
262
- RichTextEditorToolbarButton,
263
- {
264
- disabled: toolbarDisabled,
265
- active: editor?.isActive("blockquote") ?? false,
266
- "aria-label": "Quote block",
267
- onMouseDown: (event) => event.preventDefault(),
268
- onClick: () => editor?.chain().focus().toggleBlockquote().run(),
269
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "quote", size: "sm" })
270
- }
271
- ),
272
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
273
- RichTextEditorToolbarButton,
274
- {
275
- disabled: toolbarDisabled,
276
- active: editor?.isActive("codeBlock") ?? false,
277
- "aria-label": "Code block",
278
- onMouseDown: (event) => event.preventDefault(),
279
- onClick: () => editor?.chain().focus().toggleCodeBlock().run(),
280
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "code", size: "sm" })
281
- }
282
- )
283
- ] }),
284
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-rich-text-editor__toolbar-group", role: "group", "aria-label": "Insert", children: [
285
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "dsx-rich-text-editor__toolbar-label", children: "Insert" }),
286
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
287
- RichTextEditorToolbarButton,
288
- {
289
- disabled: toolbarDisabled,
290
- active: editor?.isActive("link") ?? false,
291
- "aria-label": "Link",
292
- onMouseDown: (event) => event.preventDefault(),
293
- onClick: () => {
294
- if (!editor) return;
295
- if (editor.isActive("link")) {
296
- editor.chain().focus().unsetLink().run();
297
- return;
298
- }
299
- const url = window.prompt("URL");
300
- if (!url) return;
301
- editor.chain().focus().extendMarkRange("link").setLink({ href: url }).run();
302
- },
303
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "link", size: "sm" })
304
- }
305
- ),
306
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
307
- RichTextEditorToolbarButton,
308
- {
309
- disabled: toolbarDisabled,
310
- "aria-label": "Clear formatting",
311
- onMouseDown: (event) => event.preventDefault(),
312
- onClick: () => editor?.chain().focus().clearNodes().unsetAllMarks().run(),
313
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "eraser", size: "sm" })
314
- }
315
- )
316
- ] }),
317
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-rich-text-editor__toolbar-group", role: "group", "aria-label": "History", children: [
318
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "dsx-rich-text-editor__toolbar-label", children: "History" }),
319
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
320
- RichTextEditorToolbarButton,
321
- {
322
- disabled: toolbarDisabled || !editor?.can().undo(),
323
- "aria-label": "Undo",
324
- onMouseDown: (event) => event.preventDefault(),
325
- onClick: () => editor?.chain().focus().undo().run(),
326
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "undo", size: "sm" })
327
- }
328
- ),
329
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
330
- RichTextEditorToolbarButton,
331
- {
332
- disabled: toolbarDisabled || !editor?.can().redo(),
333
- "aria-label": "Redo",
334
- onMouseDown: (event) => event.preventDefault(),
335
- onClick: () => editor?.chain().focus().redo().run(),
336
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "redo", size: "sm" })
337
- }
338
- )
339
- ] })
340
- ]
341
- }
342
- );
343
- }
166
+ ({ editor, disabled = false, className, tools, headingLevels, insertItems, variables, mentions, ...props }, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Toolbar.Toolbar, { asChild: true, dir: props.dir === "rtl" || props.dir === "ltr" ? props.dir : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...props, ref: forwardedRef, className: (0, import_classnames.default)("dsx-rich-text-editor__toolbar", className), "data-disabled": disabled || !editor ? "true" : void 0, "data-slot": "rich-text-editor-toolbar", "aria-label": "Formatting toolbar", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_EditorTools.EditorTools, { editor, disabled: disabled || !editor, tools, headingLevels, insertItems, variables, mentions }) }) })
344
167
  );
345
168
  RichTextEditorToolbar.displayName = "RichTextEditorToolbar";
346
169
  const RichTextEditorContent = React.forwardRef(
@@ -388,6 +211,11 @@ const RichTextEditorRoot = React.forwardRef(
388
211
  preset = "basic",
389
212
  serialize,
390
213
  toolbar,
214
+ tools,
215
+ headingLevels,
216
+ insertItems,
217
+ variables,
218
+ mentions,
391
219
  ...props
392
220
  }, forwardedRef) => {
393
221
  const managedContent = isRichTextEditorContent(content) ? content : void 0;
@@ -399,12 +227,21 @@ const RichTextEditorRoot = React.forwardRef(
399
227
  onUpdateRef.current = onUpdate;
400
228
  serializeRef.current = serialize;
401
229
  });
230
+ const registryRef = React.useRef({ variables, mentions });
231
+ registryRef.current = { variables, mentions };
232
+ const hasVariables = variables !== void 0;
233
+ const hasMentions = mentions !== void 0;
234
+ const managedExtensions = React.useMemo(() => extensions ?? [
235
+ ...createRichTextEditorExtensions({ preset }),
236
+ ...hasVariables ? [(0, import_editorTokens.createVariableExtension)({ variables: () => registryRef.current.variables ?? [] })] : [],
237
+ ...hasMentions ? [(0, import_editorTokens.createMentionExtension)({ mentions: () => registryRef.current.mentions ?? [] })] : []
238
+ ], [extensions, preset, hasVariables, hasMentions]);
402
239
  const editor = (0, import_react.useEditor)(
403
240
  {
404
241
  ...editorOptions,
405
242
  content: managedContent,
406
243
  editable: !disabled,
407
- extensions: extensions ?? createRichTextEditorExtensions({ preset }),
244
+ extensions: managedExtensions,
408
245
  immediatelyRender: false,
409
246
  shouldRerenderOnTransaction: true,
410
247
  editorProps: {
@@ -416,8 +253,11 @@ const RichTextEditorRoot = React.forwardRef(
416
253
  onUpdateRef.current?.((serializeRef.current ?? ((editorInstance) => editorInstance.getHTML()))(currentEditor));
417
254
  }
418
255
  },
419
- [disabled, editorOptions, extensions, preset]
256
+ [editorOptions, managedExtensions]
420
257
  );
258
+ React.useEffect(() => {
259
+ if (editor && !editor.isDestroyed) editor.view.dispatch(editor.state.tr.setMeta("dsxRegistryRefresh", true));
260
+ }, [editor, variables, mentions]);
421
261
  React.useEffect(() => {
422
262
  editor?.setEditable(!disabled);
423
263
  }, [disabled, editor]);
@@ -447,15 +287,22 @@ const RichTextEditorRoot = React.forwardRef(
447
287
  disabled,
448
288
  editor,
449
289
  placeholder,
450
- toolbar
290
+ toolbar,
291
+ tools,
292
+ headingLevels,
293
+ insertItems,
294
+ variables,
295
+ mentions
451
296
  }
452
297
  );
453
298
  }
454
299
  );
455
300
  RichTextEditorRoot.displayName = "RichTextEditor";
456
301
  const RichTextEditor = Object.assign(RichTextEditorRoot, {
302
+ Root: RichTextEditorRoot,
457
303
  Shell: RichTextEditorShell,
458
304
  Toolbar: RichTextEditorToolbar,
459
- Content: RichTextEditorContent
305
+ Content: RichTextEditorContent,
306
+ ToolbarButton: RichTextEditorToolbarButton
460
307
  });
461
308
  //# sourceMappingURL=RichTextEditor.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/richTextEditor/RichTextEditor.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { EditorContent, useEditor, type Content, type Editor, type UseEditorOptions } from '@tiptap/react'\nimport StarterKit from '@tiptap/starter-kit'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { richTextEditorContentPropDefs, richTextEditorPropDefs, richTextEditorToolbarButtonPropDefs } from './richTextEditor.props'\nimport { Button } from '../button/Button'\nimport { Icon } from '../icon/Icon'\nimport { createArticleExtensions } from '../articleNodes/articleExtensions'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype RichTextEditorOwnProps = GetPropDefTypes<typeof richTextEditorPropDefs>\ntype RichTextEditorContentOwnProps = GetPropDefTypes<typeof richTextEditorContentPropDefs>\ntype RichTextEditorToolbarButtonOwnProps = GetPropDefTypes<typeof richTextEditorToolbarButtonPropDefs>\n\ntype RichTextEditorManagedEditorOptions = Omit<UseEditorOptions, 'content' | 'editable' | 'extensions' | 'onUpdate'>\ntype RichTextEditorToolbarSlot = React.ReactNode | ((context: { disabled: boolean; editor: Editor | null }) => React.ReactNode)\n\nconst defaultRichTextEditorExtensions: NonNullable<UseEditorOptions['extensions']> = [StarterKit]\n\ntype RichTextEditorPreset = 'basic' | 'article'\ntype RichTextEditorExtensionConfig = { preset?: RichTextEditorPreset; extensions?: UseEditorOptions['extensions'] }\n\nfunction createRichTextEditorExtensions(config: RichTextEditorExtensionConfig = {}): NonNullable<UseEditorOptions['extensions']> {\n if (config.extensions) return config.extensions\n return config.preset === 'article' ? [StarterKit.configure({ codeBlock: false }), ...createArticleExtensions()] : defaultRichTextEditorExtensions\n}\n\nfunction isRichTextEditorContent(value: unknown): value is Content {\n return value === null || typeof value === 'string' || typeof value === 'object'\n}\n\nfunction renderRichTextEditorToolbar(toolbar: RichTextEditorToolbarSlot | null | undefined, editor: Editor | null, disabled: boolean) {\n if (toolbar === null) {\n return null\n }\n\n if (typeof toolbar === 'function') {\n return toolbar({ disabled, editor })\n }\n\n if (toolbar !== undefined) {\n return toolbar\n }\n\n return <RichTextEditorToolbar editor={editor} disabled={disabled} />\n}\n\nfunction getRichTextEditorAttributes(editorOptions?: RichTextEditorManagedEditorOptions) {\n const attributes = editorOptions?.editorProps?.attributes\n\n if (!attributes || typeof attributes === 'function') {\n return {\n class: 'dsx-rich-text-editor__prosemirror',\n 'data-slot': 'rich-text-editor-prosemirror',\n }\n }\n\n return {\n ...attributes,\n class: classNames('dsx-rich-text-editor__prosemirror', attributes.class),\n 'data-slot': 'rich-text-editor-prosemirror',\n }\n}\n\nfunction getRichTextEditorStatus(editor: Editor | null) {\n if (!editor) {\n return 'Editor loading'\n }\n\n const plainText = editor.getText().trim()\n\n if (plainText.length === 0) {\n return 'Ready to write'\n }\n\n return `${plainText.length} characters`\n}\n\ninterface RichTextEditorProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content' | 'onUpdate'>,\n RichTextEditorOwnProps {\n content?: unknown\n editorOptions?: RichTextEditorManagedEditorOptions\n extensions?: UseEditorOptions['extensions']\n onEditorUpdate?: (editor: Editor) => void\n onUpdate?: (content: string) => void\n placeholder?: string\n preset?: RichTextEditorPreset\n serialize?: (editor: Editor) => string\n toolbar?: RichTextEditorToolbarSlot | null\n}\n\ninterface RichTextEditorShellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>, RichTextEditorOwnProps {\n editor: Editor | null\n placeholder?: string\n toolbar?: RichTextEditorToolbarSlot | null\n}\n\ninterface RichTextEditorToolbarProps extends React.HTMLAttributes<HTMLDivElement> {\n editor: Editor | null\n disabled?: boolean\n}\n\ninterface RichTextEditorContentProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>,\n RichTextEditorContentOwnProps {\n editor: Editor | null\n placeholder?: string\n}\n\ninterface RichTextEditorToolbarButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n RichTextEditorToolbarButtonOwnProps {}\n\nconst RichTextEditorShell = React.forwardRef<HTMLDivElement, RichTextEditorShellProps>(\n ({ className: propClassName, disabled = false, editor, placeholder, toolbar, ...props }, forwardedRef) => {\n const {\n asChild: _asChild,\n className,\n ...editorProps\n } = extractProps(\n {\n ...props,\n className: propClassName,\n disabled,\n },\n richTextEditorPropDefs,\n )\n\n return (\n <div\n {...editorProps}\n ref={forwardedRef}\n className={classNames('dsx-rich-text-editor', className)}\n aria-disabled={disabled}\n data-disabled={disabled ? 'true' : undefined}\n data-slot=\"rich-text-editor\"\n >\n {renderRichTextEditorToolbar(toolbar, editor, disabled)}\n <RichTextEditorContent editor={editor} placeholder={placeholder} disabled={disabled} />\n <div className=\"dsx-rich-text-editor__status\" data-slot=\"rich-text-editor-status\">\n <span>{getRichTextEditorStatus(editor)}</span>\n </div>\n </div>\n )\n },\n)\nRichTextEditorShell.displayName = 'RichTextEditorShell'\n\nconst RichTextEditorToolbarButton = React.forwardRef<HTMLButtonElement, RichTextEditorToolbarButtonProps>(\n ({ active = false, className: propClassName, ...props }, forwardedRef) => {\n const { asChild, className, ...buttonProps } = extractProps(\n {\n ...props,\n className: propClassName,\n active,\n },\n richTextEditorToolbarButtonPropDefs,\n )\n\n return (\n <Button\n {...buttonProps}\n ref={forwardedRef}\n asChild={asChild}\n variant=\"ghost\"\n size=\"sm\"\n aria-pressed={active}\n data-active={active ? 'true' : undefined}\n data-slot=\"rich-text-editor-toolbar-button\"\n className={classNames('dsx-rich-text-editor__toolbar-button', className)}\n />\n )\n },\n)\nRichTextEditorToolbarButton.displayName = 'RichTextEditorToolbarButton'\n\nconst RichTextEditorToolbar = React.forwardRef<HTMLDivElement, RichTextEditorToolbarProps>(\n ({ editor, disabled = false, className, ...props }, forwardedRef) => {\n const toolbarDisabled = disabled || !editor\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-rich-text-editor__toolbar', className)}\n data-disabled={toolbarDisabled ? 'true' : undefined}\n data-slot=\"rich-text-editor-toolbar\"\n role=\"toolbar\"\n aria-label=\"Formatting toolbar\"\n >\n <div className=\"dsx-rich-text-editor__toolbar-group\" role=\"group\" aria-label=\"Text style\">\n <span className=\"dsx-rich-text-editor__toolbar-label\">Text</span>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled}\n active={editor?.isActive('bold') ?? false}\n aria-label=\"Bold\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().toggleBold().run()}\n >\n <Icon name=\"bold\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled}\n active={editor?.isActive('italic') ?? false}\n aria-label=\"Italic\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().toggleItalic().run()}\n >\n <Icon name=\"italic\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled}\n active={editor?.isActive('strike') ?? false}\n aria-label=\"Strikethrough\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().toggleStrike().run()}\n >\n <Icon name=\"strikethrough\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n </div>\n <div className=\"dsx-rich-text-editor__toolbar-group\" role=\"group\" aria-label=\"Block style\">\n <span className=\"dsx-rich-text-editor__toolbar-label\">Blocks</span>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled}\n active={editor?.isActive('heading', { level: 1 }) ?? false}\n aria-label=\"Heading 1\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().toggleHeading({ level: 1 }).run()}\n >\n <Icon name=\"heading-1\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled}\n active={editor?.isActive('heading', { level: 2 }) ?? false}\n aria-label=\"Heading\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().toggleHeading({ level: 2 }).run()}\n >\n <Icon name=\"heading-2\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled}\n active={editor?.isActive('heading', { level: 3 }) ?? false}\n aria-label=\"Subheading\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().toggleHeading({ level: 3 }).run()}\n >\n <Icon name=\"heading-3\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled}\n active={editor?.isActive('bulletList') ?? false}\n aria-label=\"Bulleted list\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().toggleBulletList().run()}\n >\n <Icon name=\"list\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled}\n active={editor?.isActive('orderedList') ?? false}\n aria-label=\"Numbered list\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().toggleOrderedList().run()}\n >\n <Icon name=\"list-ordered\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled}\n active={editor?.isActive('blockquote') ?? false}\n aria-label=\"Quote block\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().toggleBlockquote().run()}\n >\n <Icon name=\"quote\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled}\n active={editor?.isActive('codeBlock') ?? false}\n aria-label=\"Code block\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().toggleCodeBlock().run()}\n >\n <Icon name=\"code\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n </div>\n <div className=\"dsx-rich-text-editor__toolbar-group\" role=\"group\" aria-label=\"Insert\">\n <span className=\"dsx-rich-text-editor__toolbar-label\">Insert</span>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled}\n active={editor?.isActive('link') ?? false}\n aria-label=\"Link\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n if (!editor) return\n if (editor.isActive('link')) {\n editor.chain().focus().unsetLink().run()\n return\n }\n const url = window.prompt('URL')\n if (!url) return\n editor.chain().focus().extendMarkRange('link').setLink({ href: url }).run()\n }}\n >\n <Icon name=\"link\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled}\n aria-label=\"Clear formatting\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().clearNodes().unsetAllMarks().run()}\n >\n <Icon name=\"eraser\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n </div>\n <div className=\"dsx-rich-text-editor__toolbar-group\" role=\"group\" aria-label=\"History\">\n <span className=\"dsx-rich-text-editor__toolbar-label\">History</span>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled || !editor?.can().undo()}\n aria-label=\"Undo\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().undo().run()}\n >\n <Icon name=\"undo\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n <RichTextEditorToolbarButton\n disabled={toolbarDisabled || !editor?.can().redo()}\n aria-label=\"Redo\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => editor?.chain().focus().redo().run()}\n >\n <Icon name=\"redo\" size=\"sm\" />\n </RichTextEditorToolbarButton>\n </div>\n </div>\n )\n },\n)\nRichTextEditorToolbar.displayName = 'RichTextEditorToolbar'\n\nconst RichTextEditorContent = React.forwardRef<HTMLDivElement, RichTextEditorContentProps>(\n ({ className: propClassName, disabled = false, editor, placeholder, ...props }, forwardedRef) => {\n const {\n asChild: _asChild,\n className,\n mode: _mode,\n ...contentProps\n } = extractProps(\n {\n ...props,\n className: propClassName,\n disabled,\n },\n richTextEditorContentPropDefs,\n )\n\n return (\n <div\n {...contentProps}\n ref={forwardedRef}\n className={classNames('dsx-rich-text-editor__area', className)}\n data-disabled={disabled ? 'true' : undefined}\n data-slot=\"rich-text-editor-area\"\n >\n {editor?.isEmpty && placeholder ? (\n <div className=\"dsx-rich-text-editor__placeholder\" data-slot=\"rich-text-editor-placeholder\">\n {placeholder}\n </div>\n ) : null}\n <EditorContent editor={editor} className=\"dsx-rich-text-editor__content\" data-slot=\"rich-text-editor-content\" />\n </div>\n )\n },\n)\nRichTextEditorContent.displayName = 'RichTextEditorContent'\n\nconst RichTextEditorRoot = React.forwardRef<HTMLDivElement, RichTextEditorProps>(\n (\n {\n className,\n content = '',\n disabled = false,\n editorOptions,\n extensions,\n onEditorUpdate,\n onUpdate,\n placeholder,\n preset = 'basic',\n serialize,\n toolbar,\n ...props\n },\n forwardedRef,\n ) => {\n const managedContent = isRichTextEditorContent(content) ? content : undefined\n\n const onEditorUpdateRef = React.useRef(onEditorUpdate)\n const onUpdateRef = React.useRef(onUpdate)\n const serializeRef = React.useRef(serialize)\n\n React.useEffect(() => {\n onEditorUpdateRef.current = onEditorUpdate\n onUpdateRef.current = onUpdate\n serializeRef.current = serialize\n })\n\n const editor = useEditor(\n {\n ...editorOptions,\n content: managedContent,\n editable: !disabled,\n extensions: extensions ?? createRichTextEditorExtensions({ preset }),\n immediatelyRender: false,\n shouldRerenderOnTransaction: true,\n editorProps: {\n ...editorOptions?.editorProps,\n attributes: getRichTextEditorAttributes(editorOptions),\n },\n onUpdate: ({ editor: currentEditor }) => {\n onEditorUpdateRef.current?.(currentEditor)\n onUpdateRef.current?.((serializeRef.current ?? ((editorInstance: Editor) => editorInstance.getHTML()))(currentEditor))\n },\n },\n [disabled, editorOptions, extensions, preset],\n )\n\n React.useEffect(() => {\n editor?.setEditable(!disabled)\n }, [disabled, editor])\n\n React.useEffect(() => {\n if (!editor) {\n return\n }\n\n if (managedContent === undefined) {\n return\n }\n\n if (typeof managedContent === 'string') {\n if (editor.getHTML() !== managedContent) {\n editor.commands.setContent(managedContent, { emitUpdate: false })\n }\n\n return\n }\n\n if (JSON.stringify(editor.getJSON()) !== JSON.stringify(managedContent)) {\n editor.commands.setContent(managedContent, { emitUpdate: false })\n }\n }, [editor, managedContent])\n\n return (\n <RichTextEditorShell\n {...props}\n ref={forwardedRef}\n className={className}\n disabled={disabled}\n editor={editor}\n placeholder={placeholder}\n toolbar={toolbar}\n />\n )\n },\n)\nRichTextEditorRoot.displayName = 'RichTextEditor'\n\nconst RichTextEditor: typeof RichTextEditorRoot & {\n Shell: typeof RichTextEditorShell\n Toolbar: typeof RichTextEditorToolbar\n Content: typeof RichTextEditorContent\n} = Object.assign(RichTextEditorRoot, {\n Shell: RichTextEditorShell,\n Toolbar: RichTextEditorToolbar,\n Content: RichTextEditorContent,\n})\n\nexport { RichTextEditor, RichTextEditorContent, RichTextEditorRoot, RichTextEditorShell, RichTextEditorToolbar, createRichTextEditorExtensions }\nexport type {\n RichTextEditorContentProps,\n RichTextEditorProps,\n RichTextEditorShellProps,\n RichTextEditorToolbarProps,\n RichTextEditorToolbarSlot,\n RichTextEditorPreset,\n RichTextEditorExtensionConfig,\n}\n"],
5
- "mappings": "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",
6
- "names": ["StarterKit", "classNames"]
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { EditorContent, useEditor, type Content, type Editor, type UseEditorOptions } from '@tiptap/react'\nimport StarterKit from '@tiptap/starter-kit'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { richTextEditorContentPropDefs, richTextEditorPropDefs, richTextEditorToolbarButtonPropDefs } from './richTextEditor.props'\nimport { Button } from '../button/Button'\nimport { Icon } from '../icon/Icon'\nimport { Toolbar } from '../toolbar/Toolbar'\nimport { createArticleExtensions } from '../articleNodes/articleExtensions'\nimport { EditorTools, type EditorToolsOptions } from './EditorTools'\nimport { createVariableExtension, createMentionExtension } from './editorTokens'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype RichTextEditorOwnProps = GetPropDefTypes<typeof richTextEditorPropDefs>\ntype RichTextEditorContentOwnProps = GetPropDefTypes<typeof richTextEditorContentPropDefs>\ntype RichTextEditorToolbarButtonOwnProps = GetPropDefTypes<typeof richTextEditorToolbarButtonPropDefs>\n\ntype RichTextEditorManagedEditorOptions = Omit<UseEditorOptions, 'content' | 'editable' | 'extensions' | 'onUpdate'>\ntype RichTextEditorToolbarSlot = React.ReactNode | ((context: { disabled: boolean; editor: Editor | null }) => React.ReactNode)\n\nconst defaultRichTextEditorExtensions: NonNullable<UseEditorOptions['extensions']> = [StarterKit]\n\ntype RichTextEditorPreset = 'basic' | 'article'\ntype RichTextEditorExtensionConfig = Pick<EditorToolsOptions, 'variables' | 'mentions'> & { preset?: RichTextEditorPreset; extensions?: UseEditorOptions['extensions'] }\n\nfunction createRichTextEditorExtensions(config: RichTextEditorExtensionConfig = {}): NonNullable<UseEditorOptions['extensions']> {\n if (config.extensions) return config.extensions\n return [...(config.preset === 'article' ? [StarterKit.configure({ codeBlock: false }), ...createArticleExtensions()] : defaultRichTextEditorExtensions), ...(config.variables ? [createVariableExtension({ variables: config.variables })] : []), ...(config.mentions ? [createMentionExtension({ mentions: config.mentions })] : [])]\n}\n\nfunction isRichTextEditorContent(value: unknown): value is Content {\n return value === null || typeof value === 'string' || typeof value === 'object'\n}\n\nfunction renderRichTextEditorToolbar(toolbar: RichTextEditorToolbarSlot | null | undefined, editor: Editor | null, disabled: boolean, options: EditorToolsOptions) {\n if (toolbar === null) {\n return null\n }\n\n if (typeof toolbar === 'function') {\n return toolbar({ disabled, editor })\n }\n\n if (toolbar !== undefined) {\n return toolbar\n }\n\n return <RichTextEditorToolbar editor={editor} disabled={disabled} {...options} />\n}\n\nfunction getRichTextEditorAttributes(editorOptions?: RichTextEditorManagedEditorOptions): NonNullable<NonNullable<UseEditorOptions['editorProps']>['attributes']> {\n const attributes = editorOptions?.editorProps?.attributes\n if (typeof attributes === 'function') {\n return (state) => {\n const resolved = attributes(state)\n return {\n ...resolved,\n class: classNames('dsx-rich-text-editor__prosemirror', resolved.class),\n 'data-slot': 'rich-text-editor-prosemirror',\n }\n }\n }\n\n return {\n ...attributes,\n class: classNames('dsx-rich-text-editor__prosemirror', attributes?.class),\n 'data-slot': 'rich-text-editor-prosemirror',\n }\n}\n\nfunction getRichTextEditorStatus(editor: Editor | null) {\n if (!editor) {\n return 'Editor loading'\n }\n\n const plainText = editor.getText().trim()\n\n if (plainText.length === 0) {\n return 'Ready to write'\n }\n\n return `${plainText.length} characters`\n}\n\ninterface RichTextEditorProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content' | 'onUpdate'>,\n RichTextEditorOwnProps, EditorToolsOptions {\n content?: unknown\n editorOptions?: RichTextEditorManagedEditorOptions\n extensions?: UseEditorOptions['extensions']\n onEditorUpdate?: (editor: Editor) => void\n onUpdate?: (content: string) => void\n placeholder?: string\n preset?: RichTextEditorPreset\n serialize?: (editor: Editor) => string\n toolbar?: RichTextEditorToolbarSlot | null\n}\n\ninterface RichTextEditorShellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>, RichTextEditorOwnProps, EditorToolsOptions {\n editor: Editor | null\n placeholder?: string\n toolbar?: RichTextEditorToolbarSlot | null\n}\n\ninterface RichTextEditorToolbarProps extends React.HTMLAttributes<HTMLDivElement>, EditorToolsOptions {\n editor: Editor | null\n disabled?: boolean\n}\n\ninterface RichTextEditorContentProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>,\n RichTextEditorContentOwnProps {\n editor: Editor | null\n placeholder?: string\n}\n\ninterface RichTextEditorToolbarButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n RichTextEditorToolbarButtonOwnProps {}\n\nconst RichTextEditorShell = React.forwardRef<HTMLDivElement, RichTextEditorShellProps>(\n ({ className: propClassName, disabled = false, editor, placeholder, toolbar, tools, headingLevels, insertItems, variables, mentions, ...props }, forwardedRef) => {\n const {\n asChild: _asChild,\n className,\n ...editorProps\n } = extractProps(\n {\n ...props,\n className: propClassName,\n disabled,\n },\n richTextEditorPropDefs,\n )\n\n return (\n <div\n {...editorProps}\n ref={forwardedRef}\n className={classNames('dsx-rich-text-editor', className)}\n aria-disabled={disabled}\n data-disabled={disabled ? 'true' : undefined}\n data-slot=\"rich-text-editor\"\n >\n {renderRichTextEditorToolbar(toolbar, editor, disabled, { tools, headingLevels, insertItems, variables, mentions })}\n <RichTextEditorContent editor={editor} placeholder={placeholder} disabled={disabled} />\n <div className=\"dsx-rich-text-editor__status\" data-slot=\"rich-text-editor-status\">\n <span>{getRichTextEditorStatus(editor)}</span>\n </div>\n </div>\n )\n },\n)\nRichTextEditorShell.displayName = 'RichTextEditorShell'\n\nconst RichTextEditorToolbarButton = React.forwardRef<HTMLButtonElement, RichTextEditorToolbarButtonProps>(\n ({ active = false, className: propClassName, ...props }, forwardedRef) => {\n const { asChild, className, ...buttonProps } = extractProps(\n {\n ...props,\n className: propClassName,\n active,\n },\n richTextEditorToolbarButtonPropDefs,\n )\n\n return (\n <Toolbar.Button asChild disabled={buttonProps.disabled}>\n <Button\n {...buttonProps}\n ref={forwardedRef}\n asChild={asChild}\n variant=\"ghost\"\n size=\"sm\"\n aria-pressed={active}\n data-active={active ? 'true' : undefined}\n data-slot=\"rich-text-editor-toolbar-button\"\n className={classNames('dsx-rich-text-editor__toolbar-button', className)}\n />\n </Toolbar.Button>\n )\n },\n)\nRichTextEditorToolbarButton.displayName = 'RichTextEditorToolbarButton'\n\nconst RichTextEditorToolbar = React.forwardRef<HTMLDivElement, RichTextEditorToolbarProps>(\n ({ editor, disabled = false, className, tools, headingLevels, insertItems, variables, mentions, ...props }, forwardedRef) => (\n <Toolbar asChild dir={props.dir === 'rtl' || props.dir === 'ltr' ? props.dir : undefined}>\n <div {...props} ref={forwardedRef} className={classNames('dsx-rich-text-editor__toolbar', className)} data-disabled={disabled || !editor ? 'true' : undefined} data-slot=\"rich-text-editor-toolbar\" aria-label=\"Formatting toolbar\">\n <EditorTools editor={editor} disabled={disabled || !editor} tools={tools} headingLevels={headingLevels} insertItems={insertItems} variables={variables} mentions={mentions} />\n </div>\n </Toolbar>\n ),\n)\nRichTextEditorToolbar.displayName = 'RichTextEditorToolbar'\n\nconst RichTextEditorContent = React.forwardRef<HTMLDivElement, RichTextEditorContentProps>(\n ({ className: propClassName, disabled = false, editor, placeholder, ...props }, forwardedRef) => {\n const {\n asChild: _asChild,\n className,\n mode: _mode,\n ...contentProps\n } = extractProps(\n {\n ...props,\n className: propClassName,\n disabled,\n },\n richTextEditorContentPropDefs,\n )\n\n return (\n <div\n {...contentProps}\n ref={forwardedRef}\n className={classNames('dsx-rich-text-editor__area', className)}\n data-disabled={disabled ? 'true' : undefined}\n data-slot=\"rich-text-editor-area\"\n >\n {editor?.isEmpty && placeholder ? (\n <div className=\"dsx-rich-text-editor__placeholder\" data-slot=\"rich-text-editor-placeholder\">\n {placeholder}\n </div>\n ) : null}\n <EditorContent editor={editor} className=\"dsx-rich-text-editor__content\" data-slot=\"rich-text-editor-content\" />\n </div>\n )\n },\n)\nRichTextEditorContent.displayName = 'RichTextEditorContent'\n\nconst RichTextEditorRoot = React.forwardRef<HTMLDivElement, RichTextEditorProps>(\n (\n {\n className,\n content = '',\n disabled = false,\n editorOptions,\n extensions,\n onEditorUpdate,\n onUpdate,\n placeholder,\n preset = 'basic',\n serialize,\n toolbar, tools, headingLevels, insertItems, variables, mentions,\n ...props\n },\n forwardedRef,\n ) => {\n const managedContent = isRichTextEditorContent(content) ? content : undefined\n\n const onEditorUpdateRef = React.useRef(onEditorUpdate)\n const onUpdateRef = React.useRef(onUpdate)\n const serializeRef = React.useRef(serialize)\n\n React.useEffect(() => {\n onEditorUpdateRef.current = onEditorUpdate\n onUpdateRef.current = onUpdate\n serializeRef.current = serialize\n })\n\n const registryRef = React.useRef({ variables, mentions })\n registryRef.current = { variables, mentions }\n const hasVariables = variables !== undefined\n const hasMentions = mentions !== undefined\n const managedExtensions = React.useMemo(() => extensions ?? [\n ...createRichTextEditorExtensions({ preset }),\n ...(hasVariables ? [createVariableExtension({ variables: () => registryRef.current.variables ?? [] })] : []),\n ...(hasMentions ? [createMentionExtension({ mentions: () => registryRef.current.mentions ?? [] })] : []),\n ], [extensions, preset, hasVariables, hasMentions])\n\n const editor = useEditor(\n {\n ...editorOptions,\n content: managedContent,\n editable: !disabled,\n extensions: managedExtensions,\n immediatelyRender: false,\n shouldRerenderOnTransaction: true,\n editorProps: {\n ...editorOptions?.editorProps,\n attributes: getRichTextEditorAttributes(editorOptions),\n },\n onUpdate: ({ editor: currentEditor }) => {\n onEditorUpdateRef.current?.(currentEditor)\n onUpdateRef.current?.((serializeRef.current ?? ((editorInstance: Editor) => editorInstance.getHTML()))(currentEditor))\n },\n },\n [editorOptions, managedExtensions],\n )\n\n React.useEffect(() => {\n if (editor && !editor.isDestroyed) editor.view.dispatch(editor.state.tr.setMeta('dsxRegistryRefresh', true))\n }, [editor, variables, mentions])\n\n React.useEffect(() => {\n editor?.setEditable(!disabled)\n }, [disabled, editor])\n\n React.useEffect(() => {\n if (!editor) {\n return\n }\n\n if (managedContent === undefined) {\n return\n }\n\n if (typeof managedContent === 'string') {\n if (editor.getHTML() !== managedContent) {\n editor.commands.setContent(managedContent, { emitUpdate: false })\n }\n\n return\n }\n\n if (JSON.stringify(editor.getJSON()) !== JSON.stringify(managedContent)) {\n editor.commands.setContent(managedContent, { emitUpdate: false })\n }\n }, [editor, managedContent])\n\n return (\n <RichTextEditorShell\n {...props}\n ref={forwardedRef}\n className={className}\n disabled={disabled}\n editor={editor}\n placeholder={placeholder}\n toolbar={toolbar}\n tools={tools} headingLevels={headingLevels} insertItems={insertItems} variables={variables} mentions={mentions}\n />\n )\n },\n)\nRichTextEditorRoot.displayName = 'RichTextEditor'\n\nconst RichTextEditor: typeof RichTextEditorRoot & {\n Root: typeof RichTextEditorRoot\n Shell: typeof RichTextEditorShell\n Toolbar: typeof RichTextEditorToolbar\n Content: typeof RichTextEditorContent\n ToolbarButton: typeof RichTextEditorToolbarButton\n} = Object.assign(RichTextEditorRoot, {\n Root: RichTextEditorRoot,\n Shell: RichTextEditorShell,\n Toolbar: RichTextEditorToolbar,\n Content: RichTextEditorContent,\n ToolbarButton: RichTextEditorToolbarButton,\n})\n\nexport { RichTextEditor, RichTextEditorContent, RichTextEditorRoot, RichTextEditorShell, RichTextEditorToolbar, RichTextEditorToolbarButton, createRichTextEditorExtensions }\nexport type {\n RichTextEditorContentProps,\n RichTextEditorProps,\n RichTextEditorShellProps,\n RichTextEditorToolbarProps,\n RichTextEditorToolbarButtonProps,\n RichTextEditorToolbarSlot,\n RichTextEditorPreset,\n RichTextEditorExtensionConfig,\n}\n\nexport { createVariableExtension, createMentionExtension } from './editorTokens'\nexport type { EditorVariable, EditorMention } from './editorTokens'\nexport type { EditorTool, EditorInsertItem, EditorToolsOptions } from './EditorTools'\n"],
5
+ "mappings": "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",
6
+ "names": ["import_editorTokens", "StarterKit", "classNames"]
7
7
  }
@@ -1,21 +1,23 @@
1
1
  import * as React from 'react';
2
2
  import { type Editor, type UseEditorOptions } from '@tiptap/react';
3
- import { richTextEditorContentPropDefs, richTextEditorPropDefs } from './richTextEditor.props.cjs';
3
+ import { richTextEditorContentPropDefs, richTextEditorPropDefs, richTextEditorToolbarButtonPropDefs } from './richTextEditor.props.cjs';
4
+ import { type EditorToolsOptions } from './EditorTools.cjs';
4
5
  import type { GetPropDefTypes } from '../../_internal/props/propDef.cjs';
5
6
  type RichTextEditorOwnProps = GetPropDefTypes<typeof richTextEditorPropDefs>;
6
7
  type RichTextEditorContentOwnProps = GetPropDefTypes<typeof richTextEditorContentPropDefs>;
8
+ type RichTextEditorToolbarButtonOwnProps = GetPropDefTypes<typeof richTextEditorToolbarButtonPropDefs>;
7
9
  type RichTextEditorManagedEditorOptions = Omit<UseEditorOptions, 'content' | 'editable' | 'extensions' | 'onUpdate'>;
8
10
  type RichTextEditorToolbarSlot = React.ReactNode | ((context: {
9
11
  disabled: boolean;
10
12
  editor: Editor | null;
11
13
  }) => React.ReactNode);
12
14
  type RichTextEditorPreset = 'basic' | 'article';
13
- type RichTextEditorExtensionConfig = {
15
+ type RichTextEditorExtensionConfig = Pick<EditorToolsOptions, 'variables' | 'mentions'> & {
14
16
  preset?: RichTextEditorPreset;
15
17
  extensions?: UseEditorOptions['extensions'];
16
18
  };
17
19
  declare function createRichTextEditorExtensions(config?: RichTextEditorExtensionConfig): NonNullable<UseEditorOptions['extensions']>;
18
- interface RichTextEditorProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content' | 'onUpdate'>, RichTextEditorOwnProps {
20
+ interface RichTextEditorProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'content' | 'onUpdate'>, RichTextEditorOwnProps, EditorToolsOptions {
19
21
  content?: unknown;
20
22
  editorOptions?: RichTextEditorManagedEditorOptions;
21
23
  extensions?: UseEditorOptions['extensions'];
@@ -26,12 +28,12 @@ interface RichTextEditorProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
26
28
  serialize?: (editor: Editor) => string;
27
29
  toolbar?: RichTextEditorToolbarSlot | null;
28
30
  }
29
- interface RichTextEditorShellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>, RichTextEditorOwnProps {
31
+ interface RichTextEditorShellProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>, RichTextEditorOwnProps, EditorToolsOptions {
30
32
  editor: Editor | null;
31
33
  placeholder?: string;
32
34
  toolbar?: RichTextEditorToolbarSlot | null;
33
35
  }
34
- interface RichTextEditorToolbarProps extends React.HTMLAttributes<HTMLDivElement> {
36
+ interface RichTextEditorToolbarProps extends React.HTMLAttributes<HTMLDivElement>, EditorToolsOptions {
35
37
  editor: Editor | null;
36
38
  disabled?: boolean;
37
39
  }
@@ -39,15 +41,23 @@ interface RichTextEditorContentProps extends Omit<React.HTMLAttributes<HTMLDivEl
39
41
  editor: Editor | null;
40
42
  placeholder?: string;
41
43
  }
44
+ interface RichTextEditorToolbarButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, RichTextEditorToolbarButtonOwnProps {
45
+ }
42
46
  declare const RichTextEditorShell: React.ForwardRefExoticComponent<RichTextEditorShellProps & React.RefAttributes<HTMLDivElement>>;
47
+ declare const RichTextEditorToolbarButton: React.ForwardRefExoticComponent<RichTextEditorToolbarButtonProps & React.RefAttributes<HTMLButtonElement>>;
43
48
  declare const RichTextEditorToolbar: React.ForwardRefExoticComponent<RichTextEditorToolbarProps & React.RefAttributes<HTMLDivElement>>;
44
49
  declare const RichTextEditorContent: React.ForwardRefExoticComponent<RichTextEditorContentProps & React.RefAttributes<HTMLDivElement>>;
45
50
  declare const RichTextEditorRoot: React.ForwardRefExoticComponent<RichTextEditorProps & React.RefAttributes<HTMLDivElement>>;
46
51
  declare const RichTextEditor: typeof RichTextEditorRoot & {
52
+ Root: typeof RichTextEditorRoot;
47
53
  Shell: typeof RichTextEditorShell;
48
54
  Toolbar: typeof RichTextEditorToolbar;
49
55
  Content: typeof RichTextEditorContent;
56
+ ToolbarButton: typeof RichTextEditorToolbarButton;
50
57
  };
51
- export { RichTextEditor, RichTextEditorContent, RichTextEditorRoot, RichTextEditorShell, RichTextEditorToolbar, createRichTextEditorExtensions };
52
- export type { RichTextEditorContentProps, RichTextEditorProps, RichTextEditorShellProps, RichTextEditorToolbarProps, RichTextEditorToolbarSlot, RichTextEditorPreset, RichTextEditorExtensionConfig, };
58
+ export { RichTextEditor, RichTextEditorContent, RichTextEditorRoot, RichTextEditorShell, RichTextEditorToolbar, RichTextEditorToolbarButton, createRichTextEditorExtensions };
59
+ export type { RichTextEditorContentProps, RichTextEditorProps, RichTextEditorShellProps, RichTextEditorToolbarProps, RichTextEditorToolbarButtonProps, RichTextEditorToolbarSlot, RichTextEditorPreset, RichTextEditorExtensionConfig, };
60
+ export { createVariableExtension, createMentionExtension } from './editorTokens.cjs';
61
+ export type { EditorVariable, EditorMention } from './editorTokens.cjs';
62
+ export type { EditorTool, EditorInsertItem, EditorToolsOptions } from './EditorTools.cjs';
53
63
  //# sourceMappingURL=RichTextEditor.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RichTextEditor.d.cts","sourceRoot":"","sources":["../../../src/components/richTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RichTextEditor.d.cts","sourceRoot":"","sources":["../../../src/components/richTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"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"}