@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.
- package/README.md +19 -0
- package/dist/brand-effects.css +5 -3
- package/dist/components/accordion.css +9 -2
- package/dist/components/alert/Alert.cjs +27 -9
- package/dist/components/alert/Alert.cjs.map +2 -2
- package/dist/components/alert/Alert.d.cts +6 -0
- package/dist/components/alert/Alert.d.cts.map +1 -1
- package/dist/components/alert/Alert.d.mts +6 -0
- package/dist/components/alert/Alert.d.mts.map +1 -1
- package/dist/components/alert/Alert.d.ts +6 -0
- package/dist/components/alert/Alert.d.ts.map +1 -1
- package/dist/components/alert/Alert.js +28 -10
- package/dist/components/alert/Alert.js.map +2 -2
- package/dist/components/alert.css +73 -3
- package/dist/components/article-nodes.css +16 -1
- package/dist/components/articleNodes/ArticleNodes.cjs +46 -5
- package/dist/components/articleNodes/ArticleNodes.cjs.map +2 -2
- package/dist/components/articleNodes/ArticleNodes.d.cts +7 -3
- package/dist/components/articleNodes/ArticleNodes.d.cts.map +1 -1
- package/dist/components/articleNodes/ArticleNodes.d.mts +7 -3
- package/dist/components/articleNodes/ArticleNodes.d.mts.map +1 -1
- package/dist/components/articleNodes/ArticleNodes.d.ts +7 -3
- package/dist/components/articleNodes/ArticleNodes.d.ts.map +1 -1
- package/dist/components/articleNodes/ArticleNodes.js +46 -5
- package/dist/components/articleNodes/ArticleNodes.js.map +2 -2
- package/dist/components/articleNodes/articleExtensions.cjs +21 -4
- package/dist/components/articleNodes/articleExtensions.cjs.map +2 -2
- package/dist/components/articleNodes/articleExtensions.d.cts +8 -2
- package/dist/components/articleNodes/articleExtensions.d.cts.map +1 -1
- package/dist/components/articleNodes/articleExtensions.d.mts +8 -2
- package/dist/components/articleNodes/articleExtensions.d.mts.map +1 -1
- package/dist/components/articleNodes/articleExtensions.d.ts +8 -2
- package/dist/components/articleNodes/articleExtensions.d.ts.map +1 -1
- package/dist/components/articleNodes/articleExtensions.js +21 -4
- package/dist/components/articleNodes/articleExtensions.js.map +2 -2
- package/dist/components/articleNodes/articleNodeViews.cjs +154 -0
- package/dist/components/articleNodes/articleNodeViews.cjs.map +7 -0
- package/dist/components/articleNodes/articleNodeViews.d.cts +3 -0
- package/dist/components/articleNodes/articleNodeViews.d.cts.map +1 -0
- package/dist/components/articleNodes/articleNodeViews.d.mts +3 -0
- package/dist/components/articleNodes/articleNodeViews.d.mts.map +1 -0
- package/dist/components/articleNodes/articleNodeViews.d.ts +3 -0
- package/dist/components/articleNodes/articleNodeViews.d.ts.map +1 -0
- package/dist/components/articleNodes/articleNodeViews.js +124 -0
- package/dist/components/articleNodes/articleNodeViews.js.map +7 -0
- package/dist/components/articleNodes/articleNodes.props.cjs.map +1 -1
- package/dist/components/articleNodes/articleNodes.props.d.cts +25 -2
- package/dist/components/articleNodes/articleNodes.props.d.cts.map +1 -1
- package/dist/components/articleNodes/articleNodes.props.d.mts +25 -2
- package/dist/components/articleNodes/articleNodes.props.d.mts.map +1 -1
- package/dist/components/articleNodes/articleNodes.props.d.ts +25 -2
- package/dist/components/articleNodes/articleNodes.props.d.ts.map +1 -1
- package/dist/components/banner.css +5 -4
- package/dist/components/blockquote.css +7 -4
- package/dist/components/bottom-dock.css +140 -0
- package/dist/components/bottomDock/BottomDock.cjs +140 -0
- package/dist/components/bottomDock/BottomDock.cjs.map +7 -0
- package/dist/components/bottomDock/BottomDock.d.cts +25 -0
- package/dist/components/bottomDock/BottomDock.d.cts.map +1 -0
- package/dist/components/bottomDock/BottomDock.d.mts +25 -0
- package/dist/components/bottomDock/BottomDock.d.mts.map +1 -0
- package/dist/components/bottomDock/BottomDock.d.ts +25 -0
- package/dist/components/bottomDock/BottomDock.d.ts.map +1 -0
- package/dist/components/bottomDock/BottomDock.js +110 -0
- package/dist/components/bottomDock/BottomDock.js.map +7 -0
- package/dist/components/bottomDock/bottomDock.props.cjs +49 -0
- package/dist/components/bottomDock/bottomDock.props.cjs.map +7 -0
- package/dist/components/bottomDock/bottomDock.props.d.cts +29 -0
- package/dist/components/bottomDock/bottomDock.props.d.cts.map +1 -0
- package/dist/components/bottomDock/bottomDock.props.d.mts +29 -0
- package/dist/components/bottomDock/bottomDock.props.d.mts.map +1 -0
- package/dist/components/bottomDock/bottomDock.props.d.ts +29 -0
- package/dist/components/bottomDock/bottomDock.props.d.ts.map +1 -0
- package/dist/components/bottomDock/bottomDock.props.js +29 -0
- package/dist/components/bottomDock/bottomDock.props.js.map +7 -0
- package/dist/components/breadcrumb.css +24 -3
- package/dist/components/callout.css +20 -7
- package/dist/components/card.css +9 -1
- package/dist/components/code.css +29 -13
- package/dist/components/collapsible/Collapsible.cjs +14 -0
- package/dist/components/collapsible/Collapsible.cjs.map +2 -2
- package/dist/components/collapsible/Collapsible.d.cts.map +1 -1
- package/dist/components/collapsible/Collapsible.d.mts.map +1 -1
- package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
- package/dist/components/collapsible/Collapsible.js +14 -0
- package/dist/components/collapsible/Collapsible.js.map +2 -2
- package/dist/components/collapsible.css +10 -1
- package/dist/components/command.css +0 -2
- package/dist/components/comment-thread.css +15 -7
- package/dist/components/commentThread/CommentThread.cjs +45 -17
- package/dist/components/commentThread/CommentThread.cjs.map +2 -2
- package/dist/components/commentThread/CommentThread.d.cts +6 -6
- package/dist/components/commentThread/CommentThread.d.cts.map +1 -1
- package/dist/components/commentThread/CommentThread.d.mts +6 -6
- package/dist/components/commentThread/CommentThread.d.mts.map +1 -1
- package/dist/components/commentThread/CommentThread.d.ts +6 -6
- package/dist/components/commentThread/CommentThread.d.ts.map +1 -1
- package/dist/components/commentThread/CommentThread.js +45 -17
- package/dist/components/commentThread/CommentThread.js.map +2 -2
- package/dist/components/commentThread/commentThread.props.cjs.map +1 -1
- package/dist/components/commentThread/commentThread.props.d.cts +24 -0
- package/dist/components/commentThread/commentThread.props.d.cts.map +1 -1
- package/dist/components/commentThread/commentThread.props.d.mts +24 -0
- package/dist/components/commentThread/commentThread.props.d.mts.map +1 -1
- package/dist/components/commentThread/commentThread.props.d.ts +24 -0
- package/dist/components/commentThread/commentThread.props.d.ts.map +1 -1
- package/dist/components/config-drawer.css +7 -3
- package/dist/components/configDrawer/ConfigDrawer.cjs +1 -1
- package/dist/components/configDrawer/ConfigDrawer.cjs.map +2 -2
- package/dist/components/configDrawer/ConfigDrawer.js +1 -1
- package/dist/components/configDrawer/ConfigDrawer.js.map +2 -2
- package/dist/components/context-menu.css +3 -1
- package/dist/components/contextMenu/ContextMenu.cjs +37 -6
- package/dist/components/contextMenu/ContextMenu.cjs.map +2 -2
- package/dist/components/contextMenu/ContextMenu.d.cts +1 -1
- package/dist/components/contextMenu/ContextMenu.d.cts.map +1 -1
- package/dist/components/contextMenu/ContextMenu.d.mts +1 -1
- package/dist/components/contextMenu/ContextMenu.d.mts.map +1 -1
- package/dist/components/contextMenu/ContextMenu.d.ts +1 -1
- package/dist/components/contextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/components/contextMenu/ContextMenu.js +37 -6
- package/dist/components/contextMenu/ContextMenu.js.map +2 -2
- package/dist/components/dialog.css +1 -1
- package/dist/components/drawer.css +23 -6
- package/dist/components/dropdownMenu/DropdownMenu.cjs +10 -5
- package/dist/components/dropdownMenu/DropdownMenu.cjs.map +2 -2
- package/dist/components/dropdownMenu/DropdownMenu.d.cts.map +1 -1
- package/dist/components/dropdownMenu/DropdownMenu.d.mts.map +1 -1
- package/dist/components/dropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/dropdownMenu/DropdownMenu.js +10 -5
- package/dist/components/dropdownMenu/DropdownMenu.js.map +2 -2
- package/dist/components/environment-ribbon.css +73 -0
- package/dist/components/environmentRibbon/EnvironmentRibbon.cjs +69 -0
- package/dist/components/environmentRibbon/EnvironmentRibbon.cjs.map +7 -0
- package/dist/components/environmentRibbon/EnvironmentRibbon.d.cts +15 -0
- package/dist/components/environmentRibbon/EnvironmentRibbon.d.cts.map +1 -0
- package/dist/components/environmentRibbon/EnvironmentRibbon.d.mts +15 -0
- package/dist/components/environmentRibbon/EnvironmentRibbon.d.mts.map +1 -0
- package/dist/components/environmentRibbon/EnvironmentRibbon.d.ts +15 -0
- package/dist/components/environmentRibbon/EnvironmentRibbon.d.ts.map +1 -0
- package/dist/components/environmentRibbon/EnvironmentRibbon.js +39 -0
- package/dist/components/environmentRibbon/EnvironmentRibbon.js.map +7 -0
- package/dist/components/environmentRibbon/environmentRibbon.props.cjs +39 -0
- package/dist/components/environmentRibbon/environmentRibbon.props.cjs.map +7 -0
- package/dist/components/environmentRibbon/environmentRibbon.props.d.cts +18 -0
- package/dist/components/environmentRibbon/environmentRibbon.props.d.cts.map +1 -0
- package/dist/components/environmentRibbon/environmentRibbon.props.d.mts +18 -0
- package/dist/components/environmentRibbon/environmentRibbon.props.d.mts.map +1 -0
- package/dist/components/environmentRibbon/environmentRibbon.props.d.ts +18 -0
- package/dist/components/environmentRibbon/environmentRibbon.props.d.ts.map +1 -0
- package/dist/components/environmentRibbon/environmentRibbon.props.js +19 -0
- package/dist/components/environmentRibbon/environmentRibbon.props.js.map +7 -0
- package/dist/components/field.css +5 -0
- package/dist/components/file-upload.css +36 -9
- package/dist/components/floating-panel.css +49 -18
- package/dist/components/floatingPanel/FloatingPanel.cjs +156 -58
- package/dist/components/floatingPanel/FloatingPanel.cjs.map +2 -2
- package/dist/components/floatingPanel/FloatingPanel.d.cts.map +1 -1
- package/dist/components/floatingPanel/FloatingPanel.d.mts.map +1 -1
- package/dist/components/floatingPanel/FloatingPanel.d.ts.map +1 -1
- package/dist/components/floatingPanel/FloatingPanel.js +156 -58
- package/dist/components/floatingPanel/FloatingPanel.js.map +2 -2
- package/dist/components/grid/Grid.cjs +24 -35
- package/dist/components/grid/Grid.cjs.map +2 -2
- package/dist/components/grid/Grid.d.cts.map +1 -1
- package/dist/components/grid/Grid.d.mts.map +1 -1
- package/dist/components/grid/Grid.d.ts.map +1 -1
- package/dist/components/grid/Grid.js +24 -35
- package/dist/components/grid/Grid.js.map +2 -2
- package/dist/components/heading/Heading.cjs +1 -8
- package/dist/components/heading/Heading.cjs.map +2 -2
- package/dist/components/heading/Heading.d.cts.map +1 -1
- package/dist/components/heading/Heading.d.mts.map +1 -1
- package/dist/components/heading/Heading.d.ts.map +1 -1
- package/dist/components/heading/Heading.js +1 -8
- package/dist/components/heading/Heading.js.map +2 -2
- package/dist/components/heading/heading.props.cjs +9 -9
- package/dist/components/heading/heading.props.cjs.map +2 -2
- package/dist/components/heading/heading.props.d.cts +42 -43
- package/dist/components/heading/heading.props.d.cts.map +1 -1
- package/dist/components/heading/heading.props.d.mts +42 -43
- package/dist/components/heading/heading.props.d.mts.map +1 -1
- package/dist/components/heading/heading.props.d.ts +42 -43
- package/dist/components/heading/heading.props.d.ts.map +1 -1
- package/dist/components/heading/heading.props.js +9 -9
- package/dist/components/heading/heading.props.js.map +2 -2
- package/dist/components/heading.css +127 -104
- package/dist/components/hover-card.css +5 -2
- package/dist/components/icon/Icon.cjs +19 -0
- package/dist/components/icon/Icon.cjs.map +2 -2
- package/dist/components/icon/Icon.d.cts +29 -1
- package/dist/components/icon/Icon.d.cts.map +1 -1
- package/dist/components/icon/Icon.d.mts +29 -1
- package/dist/components/icon/Icon.d.mts.map +1 -1
- package/dist/components/icon/Icon.d.ts +29 -1
- package/dist/components/icon/Icon.d.ts.map +1 -1
- package/dist/components/icon/Icon.js +25 -0
- package/dist/components/icon/Icon.js.map +2 -2
- package/dist/components/icon/icons.cjs +14 -0
- package/dist/components/icon/icons.cjs.map +2 -2
- package/dist/components/icon/icons.d.cts +35 -0
- package/dist/components/icon/icons.d.cts.map +1 -1
- package/dist/components/icon/icons.d.mts +35 -0
- package/dist/components/icon/icons.d.mts.map +1 -1
- package/dist/components/icon/icons.d.ts +35 -0
- package/dist/components/icon/icons.d.ts.map +1 -1
- package/dist/components/icon/icons.js +14 -0
- package/dist/components/icon/icons.js.map +2 -2
- package/dist/components/index.cjs +2 -0
- package/dist/components/index.cjs.map +2 -2
- package/dist/components/index.d.cts +2 -0
- package/dist/components/index.d.cts.map +1 -1
- package/dist/components/index.d.mts +2 -0
- package/dist/components/index.d.mts.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +2 -2
- package/dist/components/label.css +3 -0
- package/dist/components/link.css +33 -97
- package/dist/components/notification-center.css +58 -10
- package/dist/components/notificationCenter/NotificationCenter.cjs +27 -17
- package/dist/components/notificationCenter/NotificationCenter.cjs.map +2 -2
- package/dist/components/notificationCenter/NotificationCenter.d.cts +2 -0
- package/dist/components/notificationCenter/NotificationCenter.d.cts.map +1 -1
- package/dist/components/notificationCenter/NotificationCenter.d.mts +2 -0
- package/dist/components/notificationCenter/NotificationCenter.d.mts.map +1 -1
- package/dist/components/notificationCenter/NotificationCenter.d.ts +2 -0
- package/dist/components/notificationCenter/NotificationCenter.d.ts.map +1 -1
- package/dist/components/notificationCenter/NotificationCenter.js +28 -18
- package/dist/components/notificationCenter/NotificationCenter.js.map +2 -2
- package/dist/components/page-header.css +21 -0
- package/dist/components/pageHeader/PageHeader.cjs +10 -2
- package/dist/components/pageHeader/PageHeader.cjs.map +2 -2
- package/dist/components/pageHeader/PageHeader.d.cts.map +1 -1
- package/dist/components/pageHeader/PageHeader.d.mts.map +1 -1
- package/dist/components/pageHeader/PageHeader.d.ts.map +1 -1
- package/dist/components/pageHeader/PageHeader.js +10 -2
- package/dist/components/pageHeader/PageHeader.js.map +2 -2
- package/dist/components/pageHeader/pageHeader.props.cjs +7 -1
- package/dist/components/pageHeader/pageHeader.props.cjs.map +2 -2
- package/dist/components/pageHeader/pageHeader.props.d.cts +5 -0
- package/dist/components/pageHeader/pageHeader.props.d.cts.map +1 -1
- package/dist/components/pageHeader/pageHeader.props.d.mts +5 -0
- package/dist/components/pageHeader/pageHeader.props.d.mts.map +1 -1
- package/dist/components/pageHeader/pageHeader.props.d.ts +5 -0
- package/dist/components/pageHeader/pageHeader.props.d.ts.map +1 -1
- package/dist/components/pageHeader/pageHeader.props.js +7 -1
- package/dist/components/pageHeader/pageHeader.props.js.map +2 -2
- package/dist/components/pills/Pills.cjs +1 -1
- package/dist/components/pills/Pills.cjs.map +2 -2
- package/dist/components/pills/Pills.js +2 -2
- package/dist/components/pills/Pills.js.map +2 -2
- package/dist/components/pills.css +6 -0
- package/dist/components/popover.css +45 -6
- package/dist/components/prose.css +3 -3
- package/dist/components/qr-code.css +5 -2
- package/dist/components/qrCode/QrCode.cjs +14 -11
- package/dist/components/qrCode/QrCode.cjs.map +2 -2
- package/dist/components/qrCode/QrCode.d.cts.map +1 -1
- package/dist/components/qrCode/QrCode.d.mts.map +1 -1
- package/dist/components/qrCode/QrCode.d.ts.map +1 -1
- package/dist/components/qrCode/QrCode.js +14 -11
- package/dist/components/qrCode/QrCode.js.map +2 -2
- package/dist/components/resizable.css +20 -4
- package/dist/components/rich-text-editor.css +50 -14
- package/dist/components/richTextEditor/EditorTools.cjs +226 -0
- package/dist/components/richTextEditor/EditorTools.cjs.map +7 -0
- package/dist/components/richTextEditor/EditorTools.d.cts +22 -0
- package/dist/components/richTextEditor/EditorTools.d.cts.map +1 -0
- package/dist/components/richTextEditor/EditorTools.d.mts +22 -0
- package/dist/components/richTextEditor/EditorTools.d.mts.map +1 -0
- package/dist/components/richTextEditor/EditorTools.d.ts +22 -0
- package/dist/components/richTextEditor/EditorTools.d.ts.map +1 -0
- package/dist/components/richTextEditor/EditorTools.js +196 -0
- package/dist/components/richTextEditor/EditorTools.js.map +7 -0
- package/dist/components/richTextEditor/MentionSuggestions.cjs +96 -0
- package/dist/components/richTextEditor/MentionSuggestions.cjs.map +7 -0
- package/dist/components/richTextEditor/MentionSuggestions.d.cts +7 -0
- package/dist/components/richTextEditor/MentionSuggestions.d.cts.map +1 -0
- package/dist/components/richTextEditor/MentionSuggestions.d.mts +7 -0
- package/dist/components/richTextEditor/MentionSuggestions.d.mts.map +1 -0
- package/dist/components/richTextEditor/MentionSuggestions.d.ts +7 -0
- package/dist/components/richTextEditor/MentionSuggestions.d.ts.map +1 -0
- package/dist/components/richTextEditor/MentionSuggestions.js +66 -0
- package/dist/components/richTextEditor/MentionSuggestions.js.map +7 -0
- package/dist/components/richTextEditor/RichTextEditor.cjs +53 -206
- package/dist/components/richTextEditor/RichTextEditor.cjs.map +3 -3
- package/dist/components/richTextEditor/RichTextEditor.d.cts +17 -7
- package/dist/components/richTextEditor/RichTextEditor.d.cts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.d.mts +17 -7
- package/dist/components/richTextEditor/RichTextEditor.d.mts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.d.ts +17 -7
- package/dist/components/richTextEditor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.js +53 -206
- package/dist/components/richTextEditor/RichTextEditor.js.map +3 -3
- package/dist/components/richTextEditor/editorTokens.cjs +75 -0
- package/dist/components/richTextEditor/editorTokens.cjs.map +7 -0
- package/dist/components/richTextEditor/editorTokens.d.cts +21 -0
- package/dist/components/richTextEditor/editorTokens.d.cts.map +1 -0
- package/dist/components/richTextEditor/editorTokens.d.mts +21 -0
- package/dist/components/richTextEditor/editorTokens.d.mts.map +1 -0
- package/dist/components/richTextEditor/editorTokens.d.ts +21 -0
- package/dist/components/richTextEditor/editorTokens.d.ts.map +1 -0
- package/dist/components/richTextEditor/editorTokens.js +55 -0
- package/dist/components/richTextEditor/editorTokens.js.map +7 -0
- package/dist/components/scroll-area.css +12 -0
- package/dist/components/scrollArea/ScrollArea.cjs +12 -1
- package/dist/components/scrollArea/ScrollArea.cjs.map +2 -2
- package/dist/components/scrollArea/ScrollArea.d.cts.map +1 -1
- package/dist/components/scrollArea/ScrollArea.d.mts.map +1 -1
- package/dist/components/scrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/components/scrollArea/ScrollArea.js +12 -1
- package/dist/components/scrollArea/ScrollArea.js.map +2 -2
- package/dist/components/segmentedControl/SegmentedControl.cjs +2 -2
- package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
- package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.js +2 -2
- package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
- package/dist/components/separator.css +3 -9
- package/dist/components/sidebar/Sidebar.cjs +17 -5
- package/dist/components/sidebar/Sidebar.cjs.map +2 -2
- package/dist/components/sidebar/Sidebar.d.cts +12 -1
- package/dist/components/sidebar/Sidebar.d.cts.map +1 -1
- package/dist/components/sidebar/Sidebar.d.mts +12 -1
- package/dist/components/sidebar/Sidebar.d.mts.map +1 -1
- package/dist/components/sidebar/Sidebar.d.ts +12 -1
- package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/components/sidebar/Sidebar.js +17 -5
- package/dist/components/sidebar/Sidebar.js.map +2 -2
- package/dist/components/sidebar/sidebar.props.cjs +8 -1
- package/dist/components/sidebar/sidebar.props.cjs.map +2 -2
- package/dist/components/sidebar/sidebar.props.d.cts +9 -1
- package/dist/components/sidebar/sidebar.props.d.cts.map +1 -1
- package/dist/components/sidebar/sidebar.props.d.mts +9 -1
- package/dist/components/sidebar/sidebar.props.d.mts.map +1 -1
- package/dist/components/sidebar/sidebar.props.d.ts +9 -1
- package/dist/components/sidebar/sidebar.props.d.ts.map +1 -1
- package/dist/components/sidebar/sidebar.props.js +8 -1
- package/dist/components/sidebar/sidebar.props.js.map +2 -2
- package/dist/components/sidebar.css +86 -13
- package/dist/components/sonner.css +78 -16
- package/dist/components/stepper.css +23 -12
- package/dist/components/tab-nav.css +25 -13
- package/dist/components/tabNav/TabNav.cjs +1 -4
- package/dist/components/tabNav/TabNav.cjs.map +2 -2
- package/dist/components/tabNav/TabNav.d.cts.map +1 -1
- package/dist/components/tabNav/TabNav.d.mts.map +1 -1
- package/dist/components/tabNav/TabNav.d.ts.map +1 -1
- package/dist/components/tabNav/TabNav.js +1 -4
- package/dist/components/tabNav/TabNav.js.map +2 -2
- package/dist/components/table-of-contents.css +12 -2
- package/dist/components/tableOfContents/TableOfContents.cjs +11 -4
- package/dist/components/tableOfContents/TableOfContents.cjs.map +2 -2
- package/dist/components/tableOfContents/TableOfContents.d.cts.map +1 -1
- package/dist/components/tableOfContents/TableOfContents.d.mts.map +1 -1
- package/dist/components/tableOfContents/TableOfContents.d.ts.map +1 -1
- package/dist/components/tableOfContents/TableOfContents.js +11 -4
- package/dist/components/tableOfContents/TableOfContents.js.map +2 -2
- package/dist/components/tabs/Tabs.cjs +39 -54
- package/dist/components/tabs/Tabs.cjs.map +2 -2
- package/dist/components/tabs/Tabs.d.cts.map +1 -1
- package/dist/components/tabs/Tabs.d.mts.map +1 -1
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.js +39 -54
- package/dist/components/tabs/Tabs.js.map +2 -2
- package/dist/components/tabs.css +52 -7
- package/dist/components/text/text.props.cjs +9 -9
- package/dist/components/text/text.props.cjs.map +2 -2
- package/dist/components/text/text.props.d.cts +42 -43
- package/dist/components/text/text.props.d.cts.map +1 -1
- package/dist/components/text/text.props.d.mts +42 -43
- package/dist/components/text/text.props.d.mts.map +1 -1
- package/dist/components/text/text.props.d.ts +42 -43
- package/dist/components/text/text.props.d.ts.map +1 -1
- package/dist/components/text/text.props.js +9 -9
- package/dist/components/text/text.props.js.map +2 -2
- package/dist/components/text/typography.props.cjs +32 -0
- package/dist/components/text/typography.props.cjs.map +7 -0
- package/dist/components/text/typography.props.d.cts +3 -0
- package/dist/components/text/typography.props.d.cts.map +1 -0
- package/dist/components/text/typography.props.d.mts +3 -0
- package/dist/components/text/typography.props.d.mts.map +1 -0
- package/dist/components/text/typography.props.d.ts +3 -0
- package/dist/components/text/typography.props.d.ts.map +1 -0
- package/dist/components/text/typography.props.js +12 -0
- package/dist/components/text/typography.props.js.map +7 -0
- package/dist/components/text-field.css +1 -0
- package/dist/components/text.css +41 -6
- package/dist/components/theme-panel.css +6 -0
- package/dist/components/toast/Toast.cjs +3 -1
- package/dist/components/toast/Toast.cjs.map +2 -2
- package/dist/components/toast/Toast.d.cts.map +1 -1
- package/dist/components/toast/Toast.d.mts.map +1 -1
- package/dist/components/toast/Toast.d.ts.map +1 -1
- package/dist/components/toast/Toast.js +3 -1
- package/dist/components/toast/Toast.js.map +2 -2
- package/dist/components/toast.css +36 -36
- package/dist/components/toggle-tip.css +58 -9
- package/dist/components/toggleTip/ToggleTip.cjs +9 -5
- package/dist/components/toggleTip/ToggleTip.cjs.map +2 -2
- package/dist/components/toggleTip/ToggleTip.d.cts.map +1 -1
- package/dist/components/toggleTip/ToggleTip.d.mts.map +1 -1
- package/dist/components/toggleTip/ToggleTip.d.ts.map +1 -1
- package/dist/components/toggleTip/ToggleTip.js +9 -5
- package/dist/components/toggleTip/ToggleTip.js.map +2 -2
- package/dist/components/toolbar/Toolbar.cjs +10 -7
- package/dist/components/toolbar/Toolbar.cjs.map +2 -2
- package/dist/components/toolbar/Toolbar.js +10 -7
- package/dist/components/toolbar/Toolbar.js.map +2 -2
- package/dist/components/toolbar.css +58 -4
- package/dist/components/tooltip.css +9 -5
- package/dist/components/tree-view.css +17 -3
- package/dist/components/treeView/TreeView.cjs +76 -21
- package/dist/components/treeView/TreeView.cjs.map +2 -2
- package/dist/components/treeView/TreeView.d.cts.map +1 -1
- package/dist/components/treeView/TreeView.d.mts.map +1 -1
- package/dist/components/treeView/TreeView.d.ts.map +1 -1
- package/dist/components/treeView/TreeView.js +76 -21
- package/dist/components/treeView/TreeView.js.map +2 -2
- package/dist/components.css +2 -0
- package/dist/docs/README.md +2 -0
- package/dist/docs/component-contract.md +7 -4
- package/dist/docs/component-index.json +17 -1
- package/dist/docs/components/accordion.md +5 -36
- package/dist/docs/components/alert.md +44 -17
- package/dist/docs/components/article-nodes.md +59 -2
- package/dist/docs/components/aspect-ratio.md +3 -26
- package/dist/docs/components/banner.md +7 -7
- package/dist/docs/components/blockquote.md +15 -14
- package/dist/docs/components/bottom-dock.md +146 -0
- package/dist/docs/components/box.md +3 -34
- package/dist/docs/components/breadcrumb.md +13 -8
- package/dist/docs/components/callout.md +18 -7
- package/dist/docs/components/card.md +10 -3
- package/dist/docs/components/code.md +33 -220
- package/dist/docs/components/collapsible.md +16 -35
- package/dist/docs/components/command.md +2 -0
- package/dist/docs/components/comment-thread.md +51 -1
- package/dist/docs/components/config-drawer.md +72 -171
- package/dist/docs/components/container.md +2 -0
- package/dist/docs/components/context-menu.md +19 -5
- package/dist/docs/components/dialog.md +4 -2
- package/dist/docs/components/drawer.md +17 -6
- package/dist/docs/components/dropdown-menu.md +11 -2
- package/dist/docs/components/em.md +1 -1
- package/dist/docs/components/environment-ribbon.md +126 -0
- package/dist/docs/components/field.md +2 -0
- package/dist/docs/components/file-upload.md +13 -7
- package/dist/docs/components/floating-panel.md +79 -285
- package/dist/docs/components/form.md +4 -0
- package/dist/docs/components/grid.md +11 -60
- package/dist/docs/components/heading.md +35 -32
- package/dist/docs/components/hover-card.md +9 -1
- package/dist/docs/components/icon.md +1 -0
- package/dist/docs/components/kbd.md +2 -0
- package/dist/docs/components/label.md +11 -9
- package/dist/docs/components/link.md +31 -209
- package/dist/docs/components/notification-center.md +30 -15
- package/dist/docs/components/page-header.md +20 -6
- package/dist/docs/components/pagination.md +4 -0
- package/dist/docs/components/pills.md +13 -4
- package/dist/docs/components/popover.md +10 -3
- package/dist/docs/components/prose.md +9 -0
- package/dist/docs/components/qr-code.md +12 -12
- package/dist/docs/components/quote.md +9 -4
- package/dist/docs/components/resizable.md +26 -18
- package/dist/docs/components/rich-text-editor.md +68 -18
- package/dist/docs/components/scroll-area.md +17 -9
- package/dist/docs/components/section.md +3 -38
- package/dist/docs/components/segmented-control.md +1 -1
- package/dist/docs/components/segmented-meter.md +9 -0
- package/dist/docs/components/separator.md +10 -46
- package/dist/docs/components/sidebar.md +34 -9
- package/dist/docs/components/sonner.md +25 -16
- package/dist/docs/components/stepper.md +8 -33
- package/dist/docs/components/strong.md +1 -1
- package/dist/docs/components/tab-nav.md +33 -96
- package/dist/docs/components/table-of-contents.md +8 -2
- package/dist/docs/components/tabs.md +19 -50
- package/dist/docs/components/text-field.md +1 -0
- package/dist/docs/components/text.md +34 -28
- package/dist/docs/components/theme-panel.md +3 -28
- package/dist/docs/components/theme.md +7 -3
- package/dist/docs/components/toast.md +27 -13
- package/dist/docs/components/toggle-tip.md +58 -241
- package/dist/docs/components/toolbar.md +16 -39
- package/dist/docs/components/tooltip.md +13 -7
- package/dist/docs/components/tree-view.md +22 -55
- package/dist/docs/consumer-guide.md +11 -4
- package/dist/generated/tokens.cjs +1 -0
- package/dist/generated/tokens.cjs.map +2 -2
- package/dist/generated/tokens.d.cts.map +1 -1
- package/dist/generated/tokens.d.mts.map +1 -1
- package/dist/generated/tokens.d.ts.map +1 -1
- package/dist/generated/tokens.js +1 -0
- package/dist/generated/tokens.js.map +2 -2
- package/dist/styles.css +1921 -1349
- package/dist/tokens.css +346 -362
- 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
|
-
|
|
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 (
|
|
73
|
-
return {
|
|
74
|
-
|
|
75
|
-
|
|
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
|
|
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:
|
|
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
|
-
[
|
|
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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,YAAuB;AACvB,wBAAuB;AACvB,mBAA2F;AAC3F,yBAAuB;AAEvB,0BAA6B;AAC7B,4BAA2G;AAC3G,oBAAuB;AACvB,kBAAqB;AACrB,+BAAwC;
|
|
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":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAA0C,KAAK,MAAM,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAI1G,OAAO,EAAE,6BAA6B,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"RichTextEditor.d.cts","sourceRoot":"","sources":["../../../src/components/richTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"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"}
|