@multiplatform.one/rich-text 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/dist/cjs/RichEditor.cjs +132 -0
- package/dist/cjs/RichEditor.native.js +120 -0
- package/dist/cjs/RichEditor.native.js.map +1 -0
- package/dist/cjs/RichEditor.stories.cjs +327 -0
- package/dist/cjs/RichEditor.stories.native.js +342 -0
- package/dist/cjs/RichEditor.stories.native.js.map +1 -0
- package/dist/cjs/RichTextEditor/index.cjs +148 -0
- package/dist/cjs/RichTextEditor/index.native.js +160 -0
- package/dist/cjs/RichTextEditor/index.native.js.map +1 -0
- package/dist/cjs/constants.cjs +135 -0
- package/dist/cjs/constants.native.js +138 -0
- package/dist/cjs/constants.native.js.map +1 -0
- package/dist/cjs/context.cjs +33 -0
- package/dist/cjs/context.native.js +36 -0
- package/dist/cjs/context.native.js.map +1 -0
- package/dist/cjs/editor/BlockDragHandle.cjs +137 -0
- package/dist/cjs/editor/BlockDragHandle.native.js +142 -0
- package/dist/cjs/editor/BlockDragHandle.native.js.map +1 -0
- package/dist/cjs/editor/MarkdownPaste.cjs +65 -0
- package/dist/cjs/editor/MarkdownPaste.native.js +68 -0
- package/dist/cjs/editor/MarkdownPaste.native.js.map +1 -0
- package/dist/cjs/editor/SlashCommands.cjs +369 -0
- package/dist/cjs/editor/SlashCommands.native.js +424 -0
- package/dist/cjs/editor/SlashCommands.native.js.map +1 -0
- package/dist/cjs/editor/TentapEditor.native.js +242 -0
- package/dist/cjs/editor/TentapEditor.native.js.map +1 -0
- package/dist/cjs/editor/TiptapEditor.cjs +578 -0
- package/dist/cjs/editor/TiptapEditor.native.js +661 -0
- package/dist/cjs/editor/TiptapEditor.native.js.map +1 -0
- package/dist/cjs/editor/editorStyles.cjs +272 -0
- package/dist/cjs/editor/editorStyles.native.js +276 -0
- package/dist/cjs/editor/editorStyles.native.js.map +1 -0
- package/dist/cjs/editor/index.cjs +33 -0
- package/dist/cjs/editor/index.native.js +36 -0
- package/dist/cjs/editor/index.native.js.map +1 -0
- package/dist/cjs/editor/types.cjs +54 -0
- package/dist/cjs/editor/types.native.js +57 -0
- package/dist/cjs/editor/types.native.js.map +1 -0
- package/dist/cjs/editor/useEditorState.cjs +129 -0
- package/dist/cjs/editor/useEditorState.native.js +135 -0
- package/dist/cjs/editor/useEditorState.native.js.map +1 -0
- package/dist/cjs/index.cjs +30 -0
- package/dist/cjs/index.native.js +33 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/styled.cjs +173 -0
- package/dist/cjs/styled.native.js +185 -0
- package/dist/cjs/styled.native.js.map +1 -0
- package/dist/cjs/toolbar/BubbleToolbar.cjs +130 -0
- package/dist/cjs/toolbar/BubbleToolbar.native.js +159 -0
- package/dist/cjs/toolbar/BubbleToolbar.native.js.map +1 -0
- package/dist/cjs/toolbar/CodeBlockBubble.cjs +211 -0
- package/dist/cjs/toolbar/CodeBlockBubble.native.js +228 -0
- package/dist/cjs/toolbar/CodeBlockBubble.native.js.map +1 -0
- package/dist/cjs/toolbar/ColorPicker.cjs +217 -0
- package/dist/cjs/toolbar/ColorPicker.native.js +234 -0
- package/dist/cjs/toolbar/ColorPicker.native.js.map +1 -0
- package/dist/cjs/toolbar/FixedToolbar.cjs +221 -0
- package/dist/cjs/toolbar/FixedToolbar.native.js +322 -0
- package/dist/cjs/toolbar/FixedToolbar.native.js.map +1 -0
- package/dist/cjs/toolbar/HeadingPicker.cjs +158 -0
- package/dist/cjs/toolbar/HeadingPicker.native.js +167 -0
- package/dist/cjs/toolbar/HeadingPicker.native.js.map +1 -0
- package/dist/cjs/toolbar/ImageBubble.cjs +156 -0
- package/dist/cjs/toolbar/ImageBubble.native.js +165 -0
- package/dist/cjs/toolbar/ImageBubble.native.js.map +1 -0
- package/dist/cjs/toolbar/ImageDialog.cjs +115 -0
- package/dist/cjs/toolbar/ImageDialog.native.js +122 -0
- package/dist/cjs/toolbar/ImageDialog.native.js.map +1 -0
- package/dist/cjs/toolbar/LinkBubble.cjs +195 -0
- package/dist/cjs/toolbar/LinkBubble.native.js +204 -0
- package/dist/cjs/toolbar/LinkBubble.native.js.map +1 -0
- package/dist/cjs/toolbar/LinkDialog.cjs +138 -0
- package/dist/cjs/toolbar/LinkDialog.native.js +146 -0
- package/dist/cjs/toolbar/LinkDialog.native.js.map +1 -0
- package/dist/cjs/toolbar/ListPicker.cjs +117 -0
- package/dist/cjs/toolbar/ListPicker.native.js +124 -0
- package/dist/cjs/toolbar/ListPicker.native.js.map +1 -0
- package/dist/cjs/toolbar/MoreDropdown.cjs +201 -0
- package/dist/cjs/toolbar/MoreDropdown.native.js +224 -0
- package/dist/cjs/toolbar/MoreDropdown.native.js.map +1 -0
- package/dist/cjs/toolbar/ResizeHandle.cjs +105 -0
- package/dist/cjs/toolbar/ResizeHandle.native.js +109 -0
- package/dist/cjs/toolbar/ResizeHandle.native.js.map +1 -0
- package/dist/cjs/toolbar/StatusBar.cjs +91 -0
- package/dist/cjs/toolbar/StatusBar.native.js +100 -0
- package/dist/cjs/toolbar/StatusBar.native.js.map +1 -0
- package/dist/cjs/toolbar/TableBubble.cjs +232 -0
- package/dist/cjs/toolbar/TableBubble.native.js +273 -0
- package/dist/cjs/toolbar/TableBubble.native.js.map +1 -0
- package/dist/cjs/toolbar/ToolbarButton.cjs +105 -0
- package/dist/cjs/toolbar/ToolbarButton.native.js +97 -0
- package/dist/cjs/toolbar/ToolbarButton.native.js.map +1 -0
- package/dist/cjs/toolbar/ToolbarGroup.cjs +41 -0
- package/dist/cjs/toolbar/ToolbarGroup.native.js +45 -0
- package/dist/cjs/toolbar/ToolbarGroup.native.js.map +1 -0
- package/dist/cjs/toolbar/icons.cjs +601 -0
- package/dist/cjs/toolbar/icons.native.js +165 -0
- package/dist/cjs/toolbar/icons.native.js.map +1 -0
- package/dist/cjs/toolbar/shortcuts.cjs +62 -0
- package/dist/cjs/toolbar/shortcuts.native.js +66 -0
- package/dist/cjs/toolbar/shortcuts.native.js.map +1 -0
- package/dist/cjs/toolbar/useHorizontalScroll.cjs +250 -0
- package/dist/cjs/toolbar/useHorizontalScroll.native.js +260 -0
- package/dist/cjs/toolbar/useHorizontalScroll.native.js.map +1 -0
- package/dist/cjs/types.cjs +56 -0
- package/dist/cjs/types.native.js +59 -0
- package/dist/cjs/types.native.js.map +1 -0
- package/dist/esm/RichEditor.mjs +107 -0
- package/dist/esm/RichEditor.mjs.map +1 -0
- package/dist/esm/RichEditor.native.js +92 -0
- package/dist/esm/RichEditor.native.js.map +1 -0
- package/dist/esm/RichEditor.stories.mjs +291 -0
- package/dist/esm/RichEditor.stories.mjs.map +1 -0
- package/dist/esm/RichEditor.stories.native.js +303 -0
- package/dist/esm/RichEditor.stories.native.js.map +1 -0
- package/dist/esm/RichTextEditor/index.mjs +123 -0
- package/dist/esm/RichTextEditor/index.mjs.map +1 -0
- package/dist/esm/RichTextEditor/index.native.js +132 -0
- package/dist/esm/RichTextEditor/index.native.js.map +1 -0
- package/dist/esm/constants.mjs +108 -0
- package/dist/esm/constants.mjs.map +1 -0
- package/dist/esm/constants.native.js +108 -0
- package/dist/esm/constants.native.js.map +1 -0
- package/dist/esm/context.mjs +8 -0
- package/dist/esm/context.mjs.map +1 -0
- package/dist/esm/context.native.js +8 -0
- package/dist/esm/context.native.js.map +1 -0
- package/dist/esm/editor/BlockDragHandle.mjs +112 -0
- package/dist/esm/editor/BlockDragHandle.mjs.map +1 -0
- package/dist/esm/editor/BlockDragHandle.native.js +114 -0
- package/dist/esm/editor/BlockDragHandle.native.js.map +1 -0
- package/dist/esm/editor/MarkdownPaste.mjs +40 -0
- package/dist/esm/editor/MarkdownPaste.mjs.map +1 -0
- package/dist/esm/editor/MarkdownPaste.native.js +40 -0
- package/dist/esm/editor/MarkdownPaste.native.js.map +1 -0
- package/dist/esm/editor/SlashCommands.mjs +333 -0
- package/dist/esm/editor/SlashCommands.mjs.map +1 -0
- package/dist/esm/editor/SlashCommands.native.js +385 -0
- package/dist/esm/editor/SlashCommands.native.js.map +1 -0
- package/dist/esm/editor/TentapEditor.native.js +214 -0
- package/dist/esm/editor/TentapEditor.native.js.map +1 -0
- package/dist/esm/editor/TiptapEditor.mjs +542 -0
- package/dist/esm/editor/TiptapEditor.mjs.map +1 -0
- package/dist/esm/editor/TiptapEditor.native.js +622 -0
- package/dist/esm/editor/TiptapEditor.native.js.map +1 -0
- package/dist/esm/editor/editorStyles.mjs +247 -0
- package/dist/esm/editor/editorStyles.mjs.map +1 -0
- package/dist/esm/editor/editorStyles.native.js +248 -0
- package/dist/esm/editor/editorStyles.native.js.map +1 -0
- package/dist/esm/editor/index.mjs +5 -0
- package/dist/esm/editor/index.mjs.map +1 -0
- package/dist/esm/editor/index.native.js +5 -0
- package/dist/esm/editor/index.native.js.map +1 -0
- package/dist/esm/editor/types.mjs +29 -0
- package/dist/esm/editor/types.mjs.map +1 -0
- package/dist/esm/editor/types.native.js +29 -0
- package/dist/esm/editor/types.native.js.map +1 -0
- package/dist/esm/editor/useEditorState.mjs +102 -0
- package/dist/esm/editor/useEditorState.mjs.map +1 -0
- package/dist/esm/editor/useEditorState.native.js +105 -0
- package/dist/esm/editor/useEditorState.native.js.map +1 -0
- package/dist/esm/index.mjs +4 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +4 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/styled.mjs +144 -0
- package/dist/esm/styled.mjs.map +1 -0
- package/dist/esm/styled.native.js +153 -0
- package/dist/esm/styled.native.js.map +1 -0
- package/dist/esm/toolbar/BubbleToolbar.mjs +105 -0
- package/dist/esm/toolbar/BubbleToolbar.mjs.map +1 -0
- package/dist/esm/toolbar/BubbleToolbar.native.js +131 -0
- package/dist/esm/toolbar/BubbleToolbar.native.js.map +1 -0
- package/dist/esm/toolbar/CodeBlockBubble.mjs +186 -0
- package/dist/esm/toolbar/CodeBlockBubble.mjs.map +1 -0
- package/dist/esm/toolbar/CodeBlockBubble.native.js +200 -0
- package/dist/esm/toolbar/CodeBlockBubble.native.js.map +1 -0
- package/dist/esm/toolbar/ColorPicker.mjs +191 -0
- package/dist/esm/toolbar/ColorPicker.mjs.map +1 -0
- package/dist/esm/toolbar/ColorPicker.native.js +205 -0
- package/dist/esm/toolbar/ColorPicker.native.js.map +1 -0
- package/dist/esm/toolbar/FixedToolbar.mjs +196 -0
- package/dist/esm/toolbar/FixedToolbar.mjs.map +1 -0
- package/dist/esm/toolbar/FixedToolbar.native.js +294 -0
- package/dist/esm/toolbar/FixedToolbar.native.js.map +1 -0
- package/dist/esm/toolbar/HeadingPicker.mjs +133 -0
- package/dist/esm/toolbar/HeadingPicker.mjs.map +1 -0
- package/dist/esm/toolbar/HeadingPicker.native.js +139 -0
- package/dist/esm/toolbar/HeadingPicker.native.js.map +1 -0
- package/dist/esm/toolbar/ImageBubble.mjs +131 -0
- package/dist/esm/toolbar/ImageBubble.mjs.map +1 -0
- package/dist/esm/toolbar/ImageBubble.native.js +137 -0
- package/dist/esm/toolbar/ImageBubble.native.js.map +1 -0
- package/dist/esm/toolbar/ImageDialog.mjs +90 -0
- package/dist/esm/toolbar/ImageDialog.mjs.map +1 -0
- package/dist/esm/toolbar/ImageDialog.native.js +94 -0
- package/dist/esm/toolbar/ImageDialog.native.js.map +1 -0
- package/dist/esm/toolbar/LinkBubble.mjs +170 -0
- package/dist/esm/toolbar/LinkBubble.mjs.map +1 -0
- package/dist/esm/toolbar/LinkBubble.native.js +176 -0
- package/dist/esm/toolbar/LinkBubble.native.js.map +1 -0
- package/dist/esm/toolbar/LinkDialog.mjs +112 -0
- package/dist/esm/toolbar/LinkDialog.mjs.map +1 -0
- package/dist/esm/toolbar/LinkDialog.native.js +117 -0
- package/dist/esm/toolbar/LinkDialog.native.js.map +1 -0
- package/dist/esm/toolbar/ListPicker.mjs +92 -0
- package/dist/esm/toolbar/ListPicker.mjs.map +1 -0
- package/dist/esm/toolbar/ListPicker.native.js +96 -0
- package/dist/esm/toolbar/ListPicker.native.js.map +1 -0
- package/dist/esm/toolbar/MoreDropdown.mjs +176 -0
- package/dist/esm/toolbar/MoreDropdown.mjs.map +1 -0
- package/dist/esm/toolbar/MoreDropdown.native.js +196 -0
- package/dist/esm/toolbar/MoreDropdown.native.js.map +1 -0
- package/dist/esm/toolbar/ResizeHandle.mjs +80 -0
- package/dist/esm/toolbar/ResizeHandle.mjs.map +1 -0
- package/dist/esm/toolbar/ResizeHandle.native.js +81 -0
- package/dist/esm/toolbar/ResizeHandle.native.js.map +1 -0
- package/dist/esm/toolbar/StatusBar.mjs +66 -0
- package/dist/esm/toolbar/StatusBar.mjs.map +1 -0
- package/dist/esm/toolbar/StatusBar.native.js +72 -0
- package/dist/esm/toolbar/StatusBar.native.js.map +1 -0
- package/dist/esm/toolbar/TableBubble.mjs +207 -0
- package/dist/esm/toolbar/TableBubble.mjs.map +1 -0
- package/dist/esm/toolbar/TableBubble.native.js +245 -0
- package/dist/esm/toolbar/TableBubble.native.js.map +1 -0
- package/dist/esm/toolbar/ToolbarButton.mjs +79 -0
- package/dist/esm/toolbar/ToolbarButton.mjs.map +1 -0
- package/dist/esm/toolbar/ToolbarButton.native.js +68 -0
- package/dist/esm/toolbar/ToolbarButton.native.js.map +1 -0
- package/dist/esm/toolbar/ToolbarGroup.mjs +16 -0
- package/dist/esm/toolbar/ToolbarGroup.mjs.map +1 -0
- package/dist/esm/toolbar/ToolbarGroup.native.js +17 -0
- package/dist/esm/toolbar/ToolbarGroup.native.js.map +1 -0
- package/dist/esm/toolbar/icons.mjs +554 -0
- package/dist/esm/toolbar/icons.mjs.map +1 -0
- package/dist/esm/toolbar/icons.native.js +115 -0
- package/dist/esm/toolbar/icons.native.js.map +1 -0
- package/dist/esm/toolbar/shortcuts.mjs +36 -0
- package/dist/esm/toolbar/shortcuts.mjs.map +1 -0
- package/dist/esm/toolbar/shortcuts.native.js +37 -0
- package/dist/esm/toolbar/shortcuts.native.js.map +1 -0
- package/dist/esm/toolbar/useHorizontalScroll.mjs +223 -0
- package/dist/esm/toolbar/useHorizontalScroll.mjs.map +1 -0
- package/dist/esm/toolbar/useHorizontalScroll.native.js +230 -0
- package/dist/esm/toolbar/useHorizontalScroll.native.js.map +1 -0
- package/dist/esm/types.mjs +31 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/types.native.js +31 -0
- package/dist/esm/types.native.js.map +1 -0
- package/dist/jsx/RichEditor.mjs +107 -0
- package/dist/jsx/RichEditor.mjs.map +1 -0
- package/dist/jsx/RichEditor.native.js +120 -0
- package/dist/jsx/RichEditor.native.js.map +1 -0
- package/dist/jsx/RichEditor.stories.mjs +291 -0
- package/dist/jsx/RichEditor.stories.mjs.map +1 -0
- package/dist/jsx/RichEditor.stories.native.js +342 -0
- package/dist/jsx/RichEditor.stories.native.js.map +1 -0
- package/dist/jsx/RichTextEditor/index.mjs +123 -0
- package/dist/jsx/RichTextEditor/index.mjs.map +1 -0
- package/dist/jsx/RichTextEditor/index.native.js +160 -0
- package/dist/jsx/RichTextEditor/index.native.js.map +1 -0
- package/dist/jsx/constants.mjs +108 -0
- package/dist/jsx/constants.mjs.map +1 -0
- package/dist/jsx/constants.native.js +138 -0
- package/dist/jsx/constants.native.js.map +1 -0
- package/dist/jsx/context.mjs +8 -0
- package/dist/jsx/context.mjs.map +1 -0
- package/dist/jsx/context.native.js +36 -0
- package/dist/jsx/context.native.js.map +1 -0
- package/dist/jsx/editor/BlockDragHandle.mjs +112 -0
- package/dist/jsx/editor/BlockDragHandle.mjs.map +1 -0
- package/dist/jsx/editor/BlockDragHandle.native.js +142 -0
- package/dist/jsx/editor/BlockDragHandle.native.js.map +1 -0
- package/dist/jsx/editor/MarkdownPaste.mjs +40 -0
- package/dist/jsx/editor/MarkdownPaste.mjs.map +1 -0
- package/dist/jsx/editor/MarkdownPaste.native.js +68 -0
- package/dist/jsx/editor/MarkdownPaste.native.js.map +1 -0
- package/dist/jsx/editor/SlashCommands.mjs +333 -0
- package/dist/jsx/editor/SlashCommands.mjs.map +1 -0
- package/dist/jsx/editor/SlashCommands.native.js +424 -0
- package/dist/jsx/editor/SlashCommands.native.js.map +1 -0
- package/dist/jsx/editor/TentapEditor.native.js +242 -0
- package/dist/jsx/editor/TentapEditor.native.js.map +1 -0
- package/dist/jsx/editor/TiptapEditor.mjs +542 -0
- package/dist/jsx/editor/TiptapEditor.mjs.map +1 -0
- package/dist/jsx/editor/TiptapEditor.native.js +661 -0
- package/dist/jsx/editor/TiptapEditor.native.js.map +1 -0
- package/dist/jsx/editor/editorStyles.mjs +247 -0
- package/dist/jsx/editor/editorStyles.mjs.map +1 -0
- package/dist/jsx/editor/editorStyles.native.js +276 -0
- package/dist/jsx/editor/editorStyles.native.js.map +1 -0
- package/dist/jsx/editor/index.mjs +5 -0
- package/dist/jsx/editor/index.mjs.map +1 -0
- package/dist/jsx/editor/index.native.js +36 -0
- package/dist/jsx/editor/index.native.js.map +1 -0
- package/dist/jsx/editor/types.mjs +29 -0
- package/dist/jsx/editor/types.mjs.map +1 -0
- package/dist/jsx/editor/types.native.js +57 -0
- package/dist/jsx/editor/types.native.js.map +1 -0
- package/dist/jsx/editor/useEditorState.mjs +102 -0
- package/dist/jsx/editor/useEditorState.mjs.map +1 -0
- package/dist/jsx/editor/useEditorState.native.js +135 -0
- package/dist/jsx/editor/useEditorState.native.js.map +1 -0
- package/dist/jsx/index.js +4 -0
- package/dist/jsx/index.js.map +1 -0
- package/dist/jsx/index.mjs +4 -0
- package/dist/jsx/index.mjs.map +1 -0
- package/dist/jsx/index.native.js +33 -0
- package/dist/jsx/index.native.js.map +1 -0
- package/dist/jsx/styled.mjs +144 -0
- package/dist/jsx/styled.mjs.map +1 -0
- package/dist/jsx/styled.native.js +185 -0
- package/dist/jsx/styled.native.js.map +1 -0
- package/dist/jsx/toolbar/BubbleToolbar.mjs +105 -0
- package/dist/jsx/toolbar/BubbleToolbar.mjs.map +1 -0
- package/dist/jsx/toolbar/BubbleToolbar.native.js +159 -0
- package/dist/jsx/toolbar/BubbleToolbar.native.js.map +1 -0
- package/dist/jsx/toolbar/CodeBlockBubble.mjs +186 -0
- package/dist/jsx/toolbar/CodeBlockBubble.mjs.map +1 -0
- package/dist/jsx/toolbar/CodeBlockBubble.native.js +228 -0
- package/dist/jsx/toolbar/CodeBlockBubble.native.js.map +1 -0
- package/dist/jsx/toolbar/ColorPicker.mjs +191 -0
- package/dist/jsx/toolbar/ColorPicker.mjs.map +1 -0
- package/dist/jsx/toolbar/ColorPicker.native.js +234 -0
- package/dist/jsx/toolbar/ColorPicker.native.js.map +1 -0
- package/dist/jsx/toolbar/FixedToolbar.mjs +196 -0
- package/dist/jsx/toolbar/FixedToolbar.mjs.map +1 -0
- package/dist/jsx/toolbar/FixedToolbar.native.js +322 -0
- package/dist/jsx/toolbar/FixedToolbar.native.js.map +1 -0
- package/dist/jsx/toolbar/HeadingPicker.mjs +133 -0
- package/dist/jsx/toolbar/HeadingPicker.mjs.map +1 -0
- package/dist/jsx/toolbar/HeadingPicker.native.js +167 -0
- package/dist/jsx/toolbar/HeadingPicker.native.js.map +1 -0
- package/dist/jsx/toolbar/ImageBubble.mjs +131 -0
- package/dist/jsx/toolbar/ImageBubble.mjs.map +1 -0
- package/dist/jsx/toolbar/ImageBubble.native.js +165 -0
- package/dist/jsx/toolbar/ImageBubble.native.js.map +1 -0
- package/dist/jsx/toolbar/ImageDialog.mjs +90 -0
- package/dist/jsx/toolbar/ImageDialog.mjs.map +1 -0
- package/dist/jsx/toolbar/ImageDialog.native.js +122 -0
- package/dist/jsx/toolbar/ImageDialog.native.js.map +1 -0
- package/dist/jsx/toolbar/LinkBubble.mjs +170 -0
- package/dist/jsx/toolbar/LinkBubble.mjs.map +1 -0
- package/dist/jsx/toolbar/LinkBubble.native.js +204 -0
- package/dist/jsx/toolbar/LinkBubble.native.js.map +1 -0
- package/dist/jsx/toolbar/LinkDialog.mjs +112 -0
- package/dist/jsx/toolbar/LinkDialog.mjs.map +1 -0
- package/dist/jsx/toolbar/LinkDialog.native.js +146 -0
- package/dist/jsx/toolbar/LinkDialog.native.js.map +1 -0
- package/dist/jsx/toolbar/ListPicker.mjs +92 -0
- package/dist/jsx/toolbar/ListPicker.mjs.map +1 -0
- package/dist/jsx/toolbar/ListPicker.native.js +124 -0
- package/dist/jsx/toolbar/ListPicker.native.js.map +1 -0
- package/dist/jsx/toolbar/MoreDropdown.mjs +176 -0
- package/dist/jsx/toolbar/MoreDropdown.mjs.map +1 -0
- package/dist/jsx/toolbar/MoreDropdown.native.js +224 -0
- package/dist/jsx/toolbar/MoreDropdown.native.js.map +1 -0
- package/dist/jsx/toolbar/ResizeHandle.mjs +80 -0
- package/dist/jsx/toolbar/ResizeHandle.mjs.map +1 -0
- package/dist/jsx/toolbar/ResizeHandle.native.js +109 -0
- package/dist/jsx/toolbar/ResizeHandle.native.js.map +1 -0
- package/dist/jsx/toolbar/StatusBar.mjs +66 -0
- package/dist/jsx/toolbar/StatusBar.mjs.map +1 -0
- package/dist/jsx/toolbar/StatusBar.native.js +100 -0
- package/dist/jsx/toolbar/StatusBar.native.js.map +1 -0
- package/dist/jsx/toolbar/TableBubble.mjs +207 -0
- package/dist/jsx/toolbar/TableBubble.mjs.map +1 -0
- package/dist/jsx/toolbar/TableBubble.native.js +273 -0
- package/dist/jsx/toolbar/TableBubble.native.js.map +1 -0
- package/dist/jsx/toolbar/ToolbarButton.mjs +79 -0
- package/dist/jsx/toolbar/ToolbarButton.mjs.map +1 -0
- package/dist/jsx/toolbar/ToolbarButton.native.js +97 -0
- package/dist/jsx/toolbar/ToolbarButton.native.js.map +1 -0
- package/dist/jsx/toolbar/ToolbarGroup.mjs +16 -0
- package/dist/jsx/toolbar/ToolbarGroup.mjs.map +1 -0
- package/dist/jsx/toolbar/ToolbarGroup.native.js +45 -0
- package/dist/jsx/toolbar/ToolbarGroup.native.js.map +1 -0
- package/dist/jsx/toolbar/icons.mjs +554 -0
- package/dist/jsx/toolbar/icons.mjs.map +1 -0
- package/dist/jsx/toolbar/icons.native.js +165 -0
- package/dist/jsx/toolbar/icons.native.js.map +1 -0
- package/dist/jsx/toolbar/shortcuts.mjs +36 -0
- package/dist/jsx/toolbar/shortcuts.mjs.map +1 -0
- package/dist/jsx/toolbar/shortcuts.native.js +66 -0
- package/dist/jsx/toolbar/shortcuts.native.js.map +1 -0
- package/dist/jsx/toolbar/useHorizontalScroll.mjs +223 -0
- package/dist/jsx/toolbar/useHorizontalScroll.mjs.map +1 -0
- package/dist/jsx/toolbar/useHorizontalScroll.native.js +260 -0
- package/dist/jsx/toolbar/useHorizontalScroll.native.js.map +1 -0
- package/dist/jsx/types.mjs +31 -0
- package/dist/jsx/types.mjs.map +1 -0
- package/dist/jsx/types.native.js +59 -0
- package/dist/jsx/types.native.js.map +1 -0
- package/package.json +117 -0
- package/src/RichEditor.native.tsx +161 -0
- package/src/RichEditor.stories.tsx +324 -0
- package/src/RichEditor.tsx +185 -0
- package/src/RichTextEditor/index.tsx +245 -0
- package/src/RichTextEditor/richTextEditor.spec.tsx +239 -0
- package/src/constants.ts +100 -0
- package/src/context.spec.ts +9 -0
- package/src/context.ts +16 -0
- package/src/editor/BlockDragHandle.ts +141 -0
- package/src/editor/MarkdownPaste.ts +50 -0
- package/src/editor/SlashCommands.tsx +357 -0
- package/src/editor/TentapEditor.native.tsx +269 -0
- package/src/editor/TiptapEditor.tsx +616 -0
- package/src/editor/editorStyles.spec.ts +24 -0
- package/src/editor/editorStyles.ts +260 -0
- package/src/editor/index.ts +10 -0
- package/src/editor/tentapEditor.spec.ts +125 -0
- package/src/editor/tiptapEditor.spec.tsx +169 -0
- package/src/editor/types.ts +142 -0
- package/src/editor/useEditorState.spec.ts +93 -0
- package/src/editor/useEditorState.ts +125 -0
- package/src/exports.spec.ts +128 -0
- package/src/index.ts +13 -0
- package/src/integration.spec.tsx +430 -0
- package/src/richEditor.spec.tsx +169 -0
- package/src/styled.spec.tsx +42 -0
- package/src/styled.ts +177 -0
- package/src/toolbar/BubbleToolbar.tsx +151 -0
- package/src/toolbar/CodeBlockBubble.tsx +141 -0
- package/src/toolbar/ColorPicker.tsx +211 -0
- package/src/toolbar/FixedToolbar.native.tsx +381 -0
- package/src/toolbar/FixedToolbar.tsx +252 -0
- package/src/toolbar/HeadingPicker.tsx +169 -0
- package/src/toolbar/ImageBubble.tsx +126 -0
- package/src/toolbar/ImageDialog.tsx +93 -0
- package/src/toolbar/LinkBubble.tsx +166 -0
- package/src/toolbar/LinkDialog.tsx +124 -0
- package/src/toolbar/ListPicker.tsx +121 -0
- package/src/toolbar/MoreDropdown.tsx +185 -0
- package/src/toolbar/ResizeHandle.tsx +80 -0
- package/src/toolbar/StatusBar.tsx +76 -0
- package/src/toolbar/TableBubble.tsx +197 -0
- package/src/toolbar/ToolbarButton.native.tsx +105 -0
- package/src/toolbar/ToolbarButton.tsx +114 -0
- package/src/toolbar/ToolbarGroup.tsx +38 -0
- package/src/toolbar/bubbleToolbar.spec.tsx +93 -0
- package/src/toolbar/fixedToolbar.spec.tsx +127 -0
- package/src/toolbar/icons.native.tsx +112 -0
- package/src/toolbar/icons.tsx +417 -0
- package/src/toolbar/shortcuts.ts +42 -0
- package/src/toolbar/toolbarPrimitives.spec.tsx +118 -0
- package/src/toolbar/toolbarSubComponents.spec.tsx +115 -0
- package/src/toolbar/useHorizontalScroll.tsx +270 -0
- package/src/types.spec.ts +102 -0
- package/src/types.ts +217 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import {
|
|
3
|
+
getEditorStateFromTiptap,
|
|
4
|
+
getEditorStateFromBridge,
|
|
5
|
+
defaultEditorState,
|
|
6
|
+
} from "./useEditorState";
|
|
7
|
+
|
|
8
|
+
describe("getEditorStateFromTiptap", () => {
|
|
9
|
+
it("returns defaultEditorState when editor is null", () => {
|
|
10
|
+
const state = getEditorStateFromTiptap(null);
|
|
11
|
+
expect(state).toEqual(defaultEditorState);
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
it("maps a mock Tiptap editor to correct EditorState shape", () => {
|
|
15
|
+
const mockEditor = {
|
|
16
|
+
isActive: (type: string, attrs?: any) => {
|
|
17
|
+
if (type === "bold") return true;
|
|
18
|
+
if (type === "heading" && attrs?.level === 2) return true;
|
|
19
|
+
if (type === "paragraph") return true;
|
|
20
|
+
if (type === "link") return true;
|
|
21
|
+
return false;
|
|
22
|
+
},
|
|
23
|
+
getAttributes: (type: string) => {
|
|
24
|
+
if (type === "textStyle") return { color: "#e53935" };
|
|
25
|
+
if (type === "highlight") return { color: "#fff59d" };
|
|
26
|
+
return {};
|
|
27
|
+
},
|
|
28
|
+
can: () => ({
|
|
29
|
+
undo: () => true,
|
|
30
|
+
redo: () => false,
|
|
31
|
+
}),
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const state = getEditorStateFromTiptap(mockEditor);
|
|
35
|
+
expect(state.isBold).toBe(true);
|
|
36
|
+
expect(state.isItalic).toBe(false);
|
|
37
|
+
expect(state.isHeading2).toBe(true);
|
|
38
|
+
expect(state.isParagraph).toBe(false);
|
|
39
|
+
expect(state.isLink).toBe(true);
|
|
40
|
+
expect(state.textColor).toBe("#e53935");
|
|
41
|
+
expect(state.highlightColor).toBe("#fff59d");
|
|
42
|
+
expect(state.canUndo).toBe(true);
|
|
43
|
+
expect(state.canRedo).toBe(false);
|
|
44
|
+
expect(state.textAlign).toBe("left");
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
describe("getEditorStateFromBridge", () => {
|
|
49
|
+
it("returns defaultEditorState when bridgeState is null", () => {
|
|
50
|
+
const state = getEditorStateFromBridge(null);
|
|
51
|
+
expect(state).toEqual(defaultEditorState);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it("properly reads activeColor, activeHighlight, and isTaskListActive", () => {
|
|
55
|
+
const bridgeState = {
|
|
56
|
+
isBoldActive: true,
|
|
57
|
+
isItalicActive: false,
|
|
58
|
+
isUnderlineActive: false,
|
|
59
|
+
isStrikeActive: false,
|
|
60
|
+
isCodeActive: false,
|
|
61
|
+
headingLevel: 0,
|
|
62
|
+
isBulletListActive: false,
|
|
63
|
+
isOrderedListActive: false,
|
|
64
|
+
isTaskListActive: true,
|
|
65
|
+
isBlockquoteActive: false,
|
|
66
|
+
isLinkActive: false,
|
|
67
|
+
canUndo: true,
|
|
68
|
+
canRedo: false,
|
|
69
|
+
activeColor: "#1e88e5",
|
|
70
|
+
activeHighlight: "#c8e6c9",
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const state = getEditorStateFromBridge(bridgeState);
|
|
74
|
+
expect(state.isBold).toBe(true);
|
|
75
|
+
expect(state.isTaskList).toBe(true);
|
|
76
|
+
expect(state.textColor).toBe("#1e88e5");
|
|
77
|
+
expect(state.highlightColor).toBe("#c8e6c9");
|
|
78
|
+
expect(state.canUndo).toBe(true);
|
|
79
|
+
expect(state.isParagraph).toBe(true);
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
it("reads heading level from bridgeState", () => {
|
|
83
|
+
const bridgeState = {
|
|
84
|
+
headingLevel: 3,
|
|
85
|
+
isBoldActive: false,
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const state = getEditorStateFromBridge(bridgeState);
|
|
89
|
+
expect(state.isHeading3).toBe(true);
|
|
90
|
+
expect(state.isHeading1).toBe(false);
|
|
91
|
+
expect(state.isParagraph).toBe(false);
|
|
92
|
+
});
|
|
93
|
+
});
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* State mapping functions for extracting EditorState from platform editors
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import type { EditorState, TextAlignment } from "../types";
|
|
6
|
+
import { defaultEditorState } from "../types";
|
|
7
|
+
|
|
8
|
+
export { defaultEditorState };
|
|
9
|
+
|
|
10
|
+
// ===========================================================================
|
|
11
|
+
// Web (Tiptap)
|
|
12
|
+
// ===========================================================================
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Extract EditorState from a Tiptap editor instance.
|
|
16
|
+
* Returns defaultEditorState if the editor is null/undefined.
|
|
17
|
+
*/
|
|
18
|
+
export function getEditorStateFromTiptap(editor: any): EditorState {
|
|
19
|
+
if (!editor) return defaultEditorState;
|
|
20
|
+
|
|
21
|
+
let textAlign: TextAlignment = "left";
|
|
22
|
+
if (editor.isActive({ textAlign: "center" })) textAlign = "center";
|
|
23
|
+
else if (editor.isActive({ textAlign: "right" })) textAlign = "right";
|
|
24
|
+
else if (editor.isActive({ textAlign: "justify" })) textAlign = "justify";
|
|
25
|
+
|
|
26
|
+
const textColor = editor.getAttributes("textStyle").color || null;
|
|
27
|
+
const highlightColor = editor.getAttributes("highlight").color || null;
|
|
28
|
+
|
|
29
|
+
const isHeading1 = editor.isActive("heading", { level: 1 });
|
|
30
|
+
const isHeading2 = editor.isActive("heading", { level: 2 });
|
|
31
|
+
const isHeading3 = editor.isActive("heading", { level: 3 });
|
|
32
|
+
const isHeading4 = editor.isActive("heading", { level: 4 });
|
|
33
|
+
const isHeading5 = editor.isActive("heading", { level: 5 });
|
|
34
|
+
const isHeading6 = editor.isActive("heading", { level: 6 });
|
|
35
|
+
const isParagraph =
|
|
36
|
+
editor.isActive("paragraph") &&
|
|
37
|
+
!isHeading1 &&
|
|
38
|
+
!isHeading2 &&
|
|
39
|
+
!isHeading3 &&
|
|
40
|
+
!isHeading4 &&
|
|
41
|
+
!isHeading5 &&
|
|
42
|
+
!isHeading6;
|
|
43
|
+
|
|
44
|
+
return {
|
|
45
|
+
isBold: editor.isActive("bold"),
|
|
46
|
+
isItalic: editor.isActive("italic"),
|
|
47
|
+
isUnderline: editor.isActive("underline"),
|
|
48
|
+
isStrike: editor.isActive("strike"),
|
|
49
|
+
isCode: editor.isActive("code"),
|
|
50
|
+
isSubscript: editor.isActive("subscript"),
|
|
51
|
+
isSuperscript: editor.isActive("superscript"),
|
|
52
|
+
isHeading1,
|
|
53
|
+
isHeading2,
|
|
54
|
+
isHeading3,
|
|
55
|
+
isHeading4,
|
|
56
|
+
isHeading5,
|
|
57
|
+
isHeading6,
|
|
58
|
+
isParagraph,
|
|
59
|
+
isBulletList: editor.isActive("bulletList"),
|
|
60
|
+
isOrderedList: editor.isActive("orderedList"),
|
|
61
|
+
isTaskList: editor.isActive("taskList"),
|
|
62
|
+
isBlockquote: editor.isActive("blockquote"),
|
|
63
|
+
isCodeBlock: editor.isActive("codeBlock"),
|
|
64
|
+
isLink: editor.isActive("link"),
|
|
65
|
+
canUndo: editor.can().undo(),
|
|
66
|
+
canRedo: editor.can().redo(),
|
|
67
|
+
textAlign,
|
|
68
|
+
textColor,
|
|
69
|
+
highlightColor,
|
|
70
|
+
wordCount: editor.storage?.characterCount?.words?.() ?? 0,
|
|
71
|
+
characterCount: editor.storage?.characterCount?.characters?.() ?? 0,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// ===========================================================================
|
|
76
|
+
// Native (10Tap Bridge)
|
|
77
|
+
// ===========================================================================
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Extract EditorState from a 10Tap bridge state object.
|
|
81
|
+
*
|
|
82
|
+
* Reads activeColor, activeHighlight, and isTaskListActive from bridge
|
|
83
|
+
* state instead of hardcoding them to false/null.
|
|
84
|
+
*/
|
|
85
|
+
export function getEditorStateFromBridge(bridgeState: any): EditorState {
|
|
86
|
+
if (!bridgeState) return defaultEditorState;
|
|
87
|
+
|
|
88
|
+
const isHeading1 = bridgeState.headingLevel === 1;
|
|
89
|
+
const isHeading2 = bridgeState.headingLevel === 2;
|
|
90
|
+
const isHeading3 = bridgeState.headingLevel === 3;
|
|
91
|
+
const isHeading4 = bridgeState.headingLevel === 4;
|
|
92
|
+
const isHeading5 = bridgeState.headingLevel === 5;
|
|
93
|
+
const isHeading6 = bridgeState.headingLevel === 6;
|
|
94
|
+
|
|
95
|
+
return {
|
|
96
|
+
isBold: bridgeState.isBoldActive ?? false,
|
|
97
|
+
isItalic: bridgeState.isItalicActive ?? false,
|
|
98
|
+
isUnderline: bridgeState.isUnderlineActive ?? false,
|
|
99
|
+
isStrike: bridgeState.isStrikeActive ?? false,
|
|
100
|
+
isCode: bridgeState.isCodeActive ?? false,
|
|
101
|
+
isSubscript: false,
|
|
102
|
+
isSuperscript: false,
|
|
103
|
+
isHeading1,
|
|
104
|
+
isHeading2,
|
|
105
|
+
isHeading3,
|
|
106
|
+
isHeading4,
|
|
107
|
+
isHeading5,
|
|
108
|
+
isHeading6,
|
|
109
|
+
isParagraph:
|
|
110
|
+
!isHeading1 && !isHeading2 && !isHeading3 && !isHeading4 && !isHeading5 && !isHeading6,
|
|
111
|
+
isBulletList: bridgeState.isBulletListActive ?? false,
|
|
112
|
+
isOrderedList: bridgeState.isOrderedListActive ?? false,
|
|
113
|
+
isTaskList: bridgeState.isTaskListActive ?? false,
|
|
114
|
+
isBlockquote: bridgeState.isBlockquoteActive ?? false,
|
|
115
|
+
isCodeBlock: false,
|
|
116
|
+
isLink: bridgeState.isLinkActive ?? false,
|
|
117
|
+
canUndo: bridgeState.canUndo ?? false,
|
|
118
|
+
canRedo: bridgeState.canRedo ?? false,
|
|
119
|
+
textAlign: "left",
|
|
120
|
+
textColor: bridgeState.activeColor ?? null,
|
|
121
|
+
highlightColor: bridgeState.activeHighlight ?? null,
|
|
122
|
+
wordCount: 0,
|
|
123
|
+
characterCount: 0,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { describe, it, expect, vi } from "vitest";
|
|
2
|
+
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Mocks -- must come before imports to prevent Tiptap module errors
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
vi.mock("@multiplatform.one/forms", () => ({
|
|
8
|
+
Field: () => null,
|
|
9
|
+
FieldLayout: ({ children }: any) => children,
|
|
10
|
+
Skeleton: () => null,
|
|
11
|
+
getFieldError: () => undefined,
|
|
12
|
+
useFormField: () => ({
|
|
13
|
+
resolvedForm: undefined,
|
|
14
|
+
knobProps: {
|
|
15
|
+
body: {},
|
|
16
|
+
borderRadius: { borderRadius: "$3", borderWidth: 1 },
|
|
17
|
+
elevation: undefined,
|
|
18
|
+
sizeToken: "$4",
|
|
19
|
+
outlined: false,
|
|
20
|
+
inputBackground: "$color2",
|
|
21
|
+
textAccentColor: "$color",
|
|
22
|
+
transition: undefined,
|
|
23
|
+
heading: {},
|
|
24
|
+
gap: { gap: "$2" },
|
|
25
|
+
},
|
|
26
|
+
id: "test-id",
|
|
27
|
+
}),
|
|
28
|
+
useResolvedValidators: () => undefined,
|
|
29
|
+
mergeFieldHandler: () => () => {},
|
|
30
|
+
clampRadiusForLargeComponent: () => "$3",
|
|
31
|
+
Button: () => null,
|
|
32
|
+
}));
|
|
33
|
+
|
|
34
|
+
vi.mock("@multiplatform.one/components", () => ({
|
|
35
|
+
Tooltip: ({ children }: any) => children,
|
|
36
|
+
}));
|
|
37
|
+
|
|
38
|
+
vi.mock("@multiplatform.one/theme", () => ({
|
|
39
|
+
useResolvedKnobs: () => ({
|
|
40
|
+
knobProps: {
|
|
41
|
+
body: {},
|
|
42
|
+
borderRadius: { borderRadius: "$3", borderWidth: 1 },
|
|
43
|
+
elevation: undefined,
|
|
44
|
+
sizeToken: "$4",
|
|
45
|
+
outlined: false,
|
|
46
|
+
inputBackground: "$color2",
|
|
47
|
+
textAccentColor: "$color",
|
|
48
|
+
transition: undefined,
|
|
49
|
+
heading: {},
|
|
50
|
+
gap: { gap: "$2" },
|
|
51
|
+
},
|
|
52
|
+
control: {},
|
|
53
|
+
}),
|
|
54
|
+
}));
|
|
55
|
+
|
|
56
|
+
vi.mock("@tiptap/react/menus", () => ({
|
|
57
|
+
BubbleMenu: () => null,
|
|
58
|
+
}));
|
|
59
|
+
|
|
60
|
+
vi.mock("@tiptap/react", () => ({
|
|
61
|
+
useEditor: vi.fn().mockReturnValue(null),
|
|
62
|
+
EditorContent: () => null,
|
|
63
|
+
}));
|
|
64
|
+
|
|
65
|
+
vi.mock("@tiptap/starter-kit", () => ({
|
|
66
|
+
default: { configure: vi.fn().mockReturnValue({}) },
|
|
67
|
+
}));
|
|
68
|
+
vi.mock("@tiptap/extension-underline", () => ({ default: {} }));
|
|
69
|
+
vi.mock("@tiptap/extension-link", () => ({
|
|
70
|
+
default: { configure: vi.fn().mockReturnValue({}) },
|
|
71
|
+
}));
|
|
72
|
+
vi.mock("@tiptap/extension-placeholder", () => ({
|
|
73
|
+
default: { configure: vi.fn().mockReturnValue({}) },
|
|
74
|
+
}));
|
|
75
|
+
vi.mock("@tiptap/extension-text-align", () => ({
|
|
76
|
+
default: { configure: vi.fn().mockReturnValue({}) },
|
|
77
|
+
}));
|
|
78
|
+
vi.mock("@tiptap/extension-color", () => ({ Color: {} }));
|
|
79
|
+
vi.mock("@tiptap/extension-text-style", () => ({ TextStyle: {} }));
|
|
80
|
+
vi.mock("@tiptap/extension-highlight", () => ({
|
|
81
|
+
Highlight: { configure: vi.fn().mockReturnValue({}) },
|
|
82
|
+
}));
|
|
83
|
+
vi.mock("@tiptap/extension-subscript", () => ({ Subscript: {} }));
|
|
84
|
+
vi.mock("@tiptap/extension-superscript", () => ({ Superscript: {} }));
|
|
85
|
+
vi.mock("@tiptap/extension-task-list", () => ({ default: {} }));
|
|
86
|
+
vi.mock("@tiptap/extension-task-item", () => ({
|
|
87
|
+
default: { configure: vi.fn().mockReturnValue({}) },
|
|
88
|
+
}));
|
|
89
|
+
vi.mock("@tiptap/extension-image", () => ({
|
|
90
|
+
default: { configure: vi.fn().mockReturnValue({}) },
|
|
91
|
+
}));
|
|
92
|
+
|
|
93
|
+
// ---------------------------------------------------------------------------
|
|
94
|
+
// Imports (after mocks)
|
|
95
|
+
// ---------------------------------------------------------------------------
|
|
96
|
+
|
|
97
|
+
const exports = await import("./index");
|
|
98
|
+
|
|
99
|
+
// ---------------------------------------------------------------------------
|
|
100
|
+
// Tests
|
|
101
|
+
// ---------------------------------------------------------------------------
|
|
102
|
+
|
|
103
|
+
describe("package exports", () => {
|
|
104
|
+
it("exports RichEditor and RichTextEditor as named exports", () => {
|
|
105
|
+
expect(exports.RichEditor).toBeDefined();
|
|
106
|
+
expect(typeof exports.RichEditor).not.toBe("undefined");
|
|
107
|
+
expect(exports.RichTextEditor).toBeDefined();
|
|
108
|
+
expect(typeof exports.RichTextEditor).toBe("function");
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
it("exports expected type-compatible values (EditorState default, EditorCommand support)", () => {
|
|
112
|
+
// Verify that types are usable through their runtime counterparts
|
|
113
|
+
// RichEditorRef, RichEditorProps, EditorCommand, EditorState are types
|
|
114
|
+
// but we can verify their related runtime exports work
|
|
115
|
+
expect(exports.RichEditor).toBeDefined();
|
|
116
|
+
expect(exports.RichTextEditor).toBeDefined();
|
|
117
|
+
|
|
118
|
+
// Verify the compound component has expected static properties
|
|
119
|
+
expect((exports.RichEditor as any).FixedToolbar).toBeDefined();
|
|
120
|
+
expect((exports.RichEditor as any).BubbleToolbar).toBeDefined();
|
|
121
|
+
expect((exports.RichEditor as any).Editor).toBeDefined();
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
it("does NOT export EditorToolbar or CodeTheme", () => {
|
|
125
|
+
expect((exports as any).EditorToolbar).toBeUndefined();
|
|
126
|
+
expect((exports as any).CodeTheme).toBeUndefined();
|
|
127
|
+
});
|
|
128
|
+
});
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @multiplatform.one/rich-text
|
|
3
|
+
*
|
|
4
|
+
* Cross-platform rich text editor built on Tiptap (web) and 10Tap (native)
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
export { RichEditor } from "./RichEditor";
|
|
8
|
+
export type { RichEditorCombinedProps } from "./RichEditor";
|
|
9
|
+
|
|
10
|
+
export { RichTextEditor } from "./RichTextEditor";
|
|
11
|
+
export type { RichTextEditorProps } from "./RichTextEditor";
|
|
12
|
+
|
|
13
|
+
export type { RichEditorRef, RichEditorProps, EditorCommand, EditorState } from "./types";
|