@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,327 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var RichEditor_stories_exports = {};
|
|
24
|
+
__export(RichEditor_stories_exports, {
|
|
25
|
+
BubbleToolbarOnly: () => BubbleToolbarOnly,
|
|
26
|
+
FormIntegrated: () => FormIntegrated,
|
|
27
|
+
Interactive: () => Interactive,
|
|
28
|
+
Main: () => Main,
|
|
29
|
+
MinimalToolbar: () => MinimalToolbar,
|
|
30
|
+
ReadOnly: () => ReadOnly,
|
|
31
|
+
Skeleton: () => Skeleton,
|
|
32
|
+
WithError: () => WithError,
|
|
33
|
+
WithInitialContent: () => WithInitialContent,
|
|
34
|
+
WithMaxHeight: () => WithMaxHeight,
|
|
35
|
+
WithoutToolbar: () => WithoutToolbar,
|
|
36
|
+
default: () => RichEditor_stories_default
|
|
37
|
+
});
|
|
38
|
+
module.exports = __toCommonJS(RichEditor_stories_exports);
|
|
39
|
+
var import_react_form = require("@tanstack/react-form");
|
|
40
|
+
var import_react = require("react");
|
|
41
|
+
var import_tamagui = require("tamagui");
|
|
42
|
+
var import_RichTextEditor = require("./RichTextEditor/index.cjs");
|
|
43
|
+
var import_RichEditor = require("./RichEditor.cjs");
|
|
44
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
45
|
+
const meta = {
|
|
46
|
+
title: "Forms/RichTextEditor",
|
|
47
|
+
component: import_RichTextEditor.RichTextEditor,
|
|
48
|
+
parameters: {
|
|
49
|
+
layout: "padded"
|
|
50
|
+
},
|
|
51
|
+
argTypes: {
|
|
52
|
+
label: {
|
|
53
|
+
control: "text"
|
|
54
|
+
},
|
|
55
|
+
placeholder: {
|
|
56
|
+
control: "text"
|
|
57
|
+
},
|
|
58
|
+
helperText: {
|
|
59
|
+
control: "text"
|
|
60
|
+
},
|
|
61
|
+
error: {
|
|
62
|
+
control: "text"
|
|
63
|
+
},
|
|
64
|
+
required: {
|
|
65
|
+
control: "boolean"
|
|
66
|
+
},
|
|
67
|
+
disabled: {
|
|
68
|
+
control: "boolean"
|
|
69
|
+
},
|
|
70
|
+
readOnly: {
|
|
71
|
+
control: "boolean"
|
|
72
|
+
},
|
|
73
|
+
showToolbar: {
|
|
74
|
+
control: "boolean"
|
|
75
|
+
},
|
|
76
|
+
showBubbleToolbar: {
|
|
77
|
+
control: "boolean"
|
|
78
|
+
},
|
|
79
|
+
compact: {
|
|
80
|
+
control: "boolean"
|
|
81
|
+
},
|
|
82
|
+
skeleton: {
|
|
83
|
+
control: "boolean"
|
|
84
|
+
},
|
|
85
|
+
size: {
|
|
86
|
+
control: "select",
|
|
87
|
+
options: ["$2", "$3", "$4"]
|
|
88
|
+
},
|
|
89
|
+
minHeight: {
|
|
90
|
+
control: "number"
|
|
91
|
+
},
|
|
92
|
+
maxHeight: {
|
|
93
|
+
control: "number"
|
|
94
|
+
},
|
|
95
|
+
sections: {
|
|
96
|
+
control: false
|
|
97
|
+
},
|
|
98
|
+
form: {
|
|
99
|
+
control: false
|
|
100
|
+
},
|
|
101
|
+
validators: {
|
|
102
|
+
control: false
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
decorators: [Story => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
|
|
106
|
+
padding: "$4",
|
|
107
|
+
maxWidth: 800,
|
|
108
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Story, {})
|
|
109
|
+
})]
|
|
110
|
+
};
|
|
111
|
+
var RichEditor_stories_default = meta;
|
|
112
|
+
const Main = {
|
|
113
|
+
args: {
|
|
114
|
+
label: "Content",
|
|
115
|
+
placeholder: "Start typing your content...",
|
|
116
|
+
helperText: "Rich text editor with full formatting support",
|
|
117
|
+
minHeight: 200,
|
|
118
|
+
showToolbar: true,
|
|
119
|
+
showBubbleToolbar: false,
|
|
120
|
+
compact: false,
|
|
121
|
+
skeleton: false
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
const WithInitialContent = {
|
|
125
|
+
args: {
|
|
126
|
+
label: "Article Body",
|
|
127
|
+
defaultValue: `
|
|
128
|
+
<h1>Welcome to the Rich Editor</h1>
|
|
129
|
+
<p>This is a <strong>rich text editor</strong> built with <em>Tiptap</em>.</p>
|
|
130
|
+
<h2>Features</h2>
|
|
131
|
+
<ul>
|
|
132
|
+
<li>Bold, italic, underline, strikethrough</li>
|
|
133
|
+
<li>Headings (H1-H6)</li>
|
|
134
|
+
<li>Bullet and numbered lists</li>
|
|
135
|
+
<li>Blockquotes and code blocks</li>
|
|
136
|
+
<li>Links and images</li>
|
|
137
|
+
<li>Text color and highlighting</li>
|
|
138
|
+
</ul>
|
|
139
|
+
<blockquote>
|
|
140
|
+
<p>This is a blockquote with some important information.</p>
|
|
141
|
+
</blockquote>
|
|
142
|
+
<p>Here is some <code>inline code</code> for you.</p>
|
|
143
|
+
`,
|
|
144
|
+
minHeight: 300
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
const WithoutToolbar = {
|
|
148
|
+
args: {
|
|
149
|
+
label: "No Toolbar",
|
|
150
|
+
showToolbar: false,
|
|
151
|
+
defaultValue: "<p>Editor without toolbar - keyboard shortcuts still work</p>",
|
|
152
|
+
minHeight: 150
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
const BubbleToolbarOnly = {
|
|
156
|
+
args: {
|
|
157
|
+
label: "Bubble Toolbar Only",
|
|
158
|
+
showToolbar: false,
|
|
159
|
+
showBubbleToolbar: true,
|
|
160
|
+
defaultValue: "<p>Select some text to see the bubble toolbar appear with inline formatting options.</p>",
|
|
161
|
+
minHeight: 150,
|
|
162
|
+
helperText: "Select text to see the bubble toolbar"
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
const MinimalToolbar = {
|
|
166
|
+
args: {
|
|
167
|
+
label: "Minimal Toolbar",
|
|
168
|
+
sections: ["formatting", "list"],
|
|
169
|
+
defaultValue: "<p>Minimal toolbar with only formatting and list options</p>",
|
|
170
|
+
minHeight: 150,
|
|
171
|
+
helperText: "Only text formatting and list controls are shown"
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
const ReadOnly = {
|
|
175
|
+
args: {
|
|
176
|
+
label: "Read-only Content",
|
|
177
|
+
readOnly: true,
|
|
178
|
+
defaultValue: `
|
|
179
|
+
<h2>Read-only Content</h2>
|
|
180
|
+
<p>This content cannot be edited. The toolbar is hidden.</p>
|
|
181
|
+
<ul>
|
|
182
|
+
<li>View-only mode for displaying formatted content</li>
|
|
183
|
+
<li>No toolbar or editing capabilities</li>
|
|
184
|
+
</ul>
|
|
185
|
+
`,
|
|
186
|
+
minHeight: 150
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
const WithError = {
|
|
190
|
+
args: {
|
|
191
|
+
label: "Content",
|
|
192
|
+
error: "This field is required",
|
|
193
|
+
placeholder: "This field has an error...",
|
|
194
|
+
required: true,
|
|
195
|
+
minHeight: 150
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
const WithMaxHeight = {
|
|
199
|
+
args: {
|
|
200
|
+
label: "Scrollable Content",
|
|
201
|
+
defaultValue: `
|
|
202
|
+
<h1>Scrollable Content</h1>
|
|
203
|
+
<p>This editor has a maximum height and will scroll when content exceeds it.</p>
|
|
204
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
|
205
|
+
<p>Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
|
206
|
+
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco.</p>
|
|
207
|
+
<p>Duis aute irure dolor in reprehenderit in voluptate velit.</p>
|
|
208
|
+
<p>Excepteur sint occaecat cupidatat non proident.</p>
|
|
209
|
+
<p>Sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
|
210
|
+
<p>More content to demonstrate scrolling...</p>
|
|
211
|
+
<p>And even more content...</p>
|
|
212
|
+
<p>Keep scrolling...</p>
|
|
213
|
+
`,
|
|
214
|
+
minHeight: 150,
|
|
215
|
+
maxHeight: 250
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
const Interactive = {
|
|
219
|
+
render: () => {
|
|
220
|
+
const editorRef = (0, import_react.useRef)(null);
|
|
221
|
+
const [html, setHtml] = (0, import_react.useState)("");
|
|
222
|
+
const [charCount, setCharCount] = (0, import_react.useState)(0);
|
|
223
|
+
const handleChange = newHtml => {
|
|
224
|
+
setHtml(newHtml);
|
|
225
|
+
const text = newHtml.replace(/<[^>]*>/g, "");
|
|
226
|
+
setCharCount(text.length);
|
|
227
|
+
};
|
|
228
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
|
|
229
|
+
gap: "$4",
|
|
230
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_RichEditor.RichEditor, {
|
|
231
|
+
ref: editorRef,
|
|
232
|
+
placeholder: "Type here to see live updates...",
|
|
233
|
+
onChange: handleChange,
|
|
234
|
+
minHeight: 200,
|
|
235
|
+
showBubbleToolbar: true
|
|
236
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
|
|
237
|
+
gap: "$4",
|
|
238
|
+
alignItems: "center",
|
|
239
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
|
|
240
|
+
color: "$color10",
|
|
241
|
+
fontSize: "$2",
|
|
242
|
+
children: ["Characters: ", charCount]
|
|
243
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
244
|
+
size: "$3",
|
|
245
|
+
onPress: () => {
|
|
246
|
+
const content = editorRef.current?.getHTML();
|
|
247
|
+
console.log("HTML Content:", content);
|
|
248
|
+
},
|
|
249
|
+
children: "Log HTML"
|
|
250
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
251
|
+
size: "$3",
|
|
252
|
+
onPress: () => {
|
|
253
|
+
editorRef.current?.setHTML("<p>Content set programmatically!</p>");
|
|
254
|
+
},
|
|
255
|
+
children: "Set Content"
|
|
256
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
257
|
+
size: "$3",
|
|
258
|
+
onPress: () => editorRef.current?.focus(),
|
|
259
|
+
children: "Focus"
|
|
260
|
+
})]
|
|
261
|
+
}), html && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
|
|
262
|
+
backgroundColor: "$color3",
|
|
263
|
+
padding: "$3",
|
|
264
|
+
borderRadius: "$3",
|
|
265
|
+
maxHeight: 200,
|
|
266
|
+
overflow: "scroll",
|
|
267
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Paragraph, {
|
|
268
|
+
size: "$1",
|
|
269
|
+
fontFamily: "$mono",
|
|
270
|
+
whiteSpace: "pre-wrap",
|
|
271
|
+
children: html
|
|
272
|
+
})
|
|
273
|
+
})]
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
const FormIntegrated = {
|
|
278
|
+
render: () => {
|
|
279
|
+
const FormExample = () => {
|
|
280
|
+
const form = (0, import_react_form.useForm)({
|
|
281
|
+
defaultValues: {
|
|
282
|
+
title: "",
|
|
283
|
+
content: ""
|
|
284
|
+
},
|
|
285
|
+
onSubmit: async ({
|
|
286
|
+
value
|
|
287
|
+
}) => {
|
|
288
|
+
console.log("Form submitted:", value);
|
|
289
|
+
alert(JSON.stringify(value, null, 2));
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
|
|
293
|
+
gap: "$4",
|
|
294
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_RichTextEditor.RichTextEditor, {
|
|
295
|
+
form,
|
|
296
|
+
name: "content",
|
|
297
|
+
label: "Article Content",
|
|
298
|
+
helperText: "Write your article content here",
|
|
299
|
+
required: true,
|
|
300
|
+
placeholder: "Start writing...",
|
|
301
|
+
minHeight: 250,
|
|
302
|
+
showBubbleToolbar: true
|
|
303
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
|
|
304
|
+
gap: "$2",
|
|
305
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
306
|
+
size: "$3",
|
|
307
|
+
onPress: () => form.handleSubmit(),
|
|
308
|
+
children: "Submit"
|
|
309
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
310
|
+
size: "$3",
|
|
311
|
+
theme: "gray",
|
|
312
|
+
onPress: () => form.reset(),
|
|
313
|
+
children: "Reset"
|
|
314
|
+
})]
|
|
315
|
+
})]
|
|
316
|
+
});
|
|
317
|
+
};
|
|
318
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(FormExample, {});
|
|
319
|
+
}
|
|
320
|
+
};
|
|
321
|
+
const Skeleton = {
|
|
322
|
+
args: {
|
|
323
|
+
skeleton: true,
|
|
324
|
+
label: "Loading Content",
|
|
325
|
+
minHeight: 200
|
|
326
|
+
}
|
|
327
|
+
};
|
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var RichEditor_stories_exports = {};
|
|
26
|
+
__export(RichEditor_stories_exports, {
|
|
27
|
+
BubbleToolbarOnly: () => BubbleToolbarOnly,
|
|
28
|
+
FormIntegrated: () => FormIntegrated,
|
|
29
|
+
Interactive: () => Interactive,
|
|
30
|
+
Main: () => Main,
|
|
31
|
+
MinimalToolbar: () => MinimalToolbar,
|
|
32
|
+
ReadOnly: () => ReadOnly,
|
|
33
|
+
Skeleton: () => Skeleton,
|
|
34
|
+
WithError: () => WithError,
|
|
35
|
+
WithInitialContent: () => WithInitialContent,
|
|
36
|
+
WithMaxHeight: () => WithMaxHeight,
|
|
37
|
+
WithoutToolbar: () => WithoutToolbar,
|
|
38
|
+
default: () => RichEditor_stories_default
|
|
39
|
+
});
|
|
40
|
+
module.exports = __toCommonJS(RichEditor_stories_exports);
|
|
41
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
42
|
+
var import_react_form = require("@tanstack/react-form");
|
|
43
|
+
var import_react = require("react");
|
|
44
|
+
var import_tamagui = require("tamagui");
|
|
45
|
+
var import_RichTextEditor = require("./RichTextEditor/index.native.js");
|
|
46
|
+
var import_RichEditor = require("./RichEditor.native.js");
|
|
47
|
+
var meta = {
|
|
48
|
+
title: "Forms/RichTextEditor",
|
|
49
|
+
component: import_RichTextEditor.RichTextEditor,
|
|
50
|
+
parameters: {
|
|
51
|
+
layout: "padded"
|
|
52
|
+
},
|
|
53
|
+
argTypes: {
|
|
54
|
+
label: {
|
|
55
|
+
control: "text"
|
|
56
|
+
},
|
|
57
|
+
placeholder: {
|
|
58
|
+
control: "text"
|
|
59
|
+
},
|
|
60
|
+
helperText: {
|
|
61
|
+
control: "text"
|
|
62
|
+
},
|
|
63
|
+
error: {
|
|
64
|
+
control: "text"
|
|
65
|
+
},
|
|
66
|
+
required: {
|
|
67
|
+
control: "boolean"
|
|
68
|
+
},
|
|
69
|
+
disabled: {
|
|
70
|
+
control: "boolean"
|
|
71
|
+
},
|
|
72
|
+
readOnly: {
|
|
73
|
+
control: "boolean"
|
|
74
|
+
},
|
|
75
|
+
showToolbar: {
|
|
76
|
+
control: "boolean"
|
|
77
|
+
},
|
|
78
|
+
showBubbleToolbar: {
|
|
79
|
+
control: "boolean"
|
|
80
|
+
},
|
|
81
|
+
compact: {
|
|
82
|
+
control: "boolean"
|
|
83
|
+
},
|
|
84
|
+
skeleton: {
|
|
85
|
+
control: "boolean"
|
|
86
|
+
},
|
|
87
|
+
size: {
|
|
88
|
+
control: "select",
|
|
89
|
+
options: ["$2", "$3", "$4"]
|
|
90
|
+
},
|
|
91
|
+
minHeight: {
|
|
92
|
+
control: "number"
|
|
93
|
+
},
|
|
94
|
+
maxHeight: {
|
|
95
|
+
control: "number"
|
|
96
|
+
},
|
|
97
|
+
sections: {
|
|
98
|
+
control: false
|
|
99
|
+
},
|
|
100
|
+
form: {
|
|
101
|
+
control: false
|
|
102
|
+
},
|
|
103
|
+
validators: {
|
|
104
|
+
control: false
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
decorators: [function (Story) {
|
|
108
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
|
|
109
|
+
padding: "$4",
|
|
110
|
+
maxWidth: 800,
|
|
111
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Story, {})
|
|
112
|
+
});
|
|
113
|
+
}]
|
|
114
|
+
};
|
|
115
|
+
var RichEditor_stories_default = meta;
|
|
116
|
+
var Main = {
|
|
117
|
+
args: {
|
|
118
|
+
label: "Content",
|
|
119
|
+
placeholder: "Start typing your content...",
|
|
120
|
+
helperText: "Rich text editor with full formatting support",
|
|
121
|
+
minHeight: 200,
|
|
122
|
+
showToolbar: true,
|
|
123
|
+
showBubbleToolbar: false,
|
|
124
|
+
compact: false,
|
|
125
|
+
skeleton: false
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
var WithInitialContent = {
|
|
129
|
+
args: {
|
|
130
|
+
label: "Article Body",
|
|
131
|
+
defaultValue: `
|
|
132
|
+
<h1>Welcome to the Rich Editor</h1>
|
|
133
|
+
<p>This is a <strong>rich text editor</strong> built with <em>Tiptap</em>.</p>
|
|
134
|
+
<h2>Features</h2>
|
|
135
|
+
<ul>
|
|
136
|
+
<li>Bold, italic, underline, strikethrough</li>
|
|
137
|
+
<li>Headings (H1-H6)</li>
|
|
138
|
+
<li>Bullet and numbered lists</li>
|
|
139
|
+
<li>Blockquotes and code blocks</li>
|
|
140
|
+
<li>Links and images</li>
|
|
141
|
+
<li>Text color and highlighting</li>
|
|
142
|
+
</ul>
|
|
143
|
+
<blockquote>
|
|
144
|
+
<p>This is a blockquote with some important information.</p>
|
|
145
|
+
</blockquote>
|
|
146
|
+
<p>Here is some <code>inline code</code> for you.</p>
|
|
147
|
+
`,
|
|
148
|
+
minHeight: 300
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
var WithoutToolbar = {
|
|
152
|
+
args: {
|
|
153
|
+
label: "No Toolbar",
|
|
154
|
+
showToolbar: false,
|
|
155
|
+
defaultValue: "<p>Editor without toolbar - keyboard shortcuts still work</p>",
|
|
156
|
+
minHeight: 150
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
var BubbleToolbarOnly = {
|
|
160
|
+
args: {
|
|
161
|
+
label: "Bubble Toolbar Only",
|
|
162
|
+
showToolbar: false,
|
|
163
|
+
showBubbleToolbar: true,
|
|
164
|
+
defaultValue: "<p>Select some text to see the bubble toolbar appear with inline formatting options.</p>",
|
|
165
|
+
minHeight: 150,
|
|
166
|
+
helperText: "Select text to see the bubble toolbar"
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
var MinimalToolbar = {
|
|
170
|
+
args: {
|
|
171
|
+
label: "Minimal Toolbar",
|
|
172
|
+
sections: ["formatting", "list"],
|
|
173
|
+
defaultValue: "<p>Minimal toolbar with only formatting and list options</p>",
|
|
174
|
+
minHeight: 150,
|
|
175
|
+
helperText: "Only text formatting and list controls are shown"
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
var ReadOnly = {
|
|
179
|
+
args: {
|
|
180
|
+
label: "Read-only Content",
|
|
181
|
+
readOnly: true,
|
|
182
|
+
defaultValue: `
|
|
183
|
+
<h2>Read-only Content</h2>
|
|
184
|
+
<p>This content cannot be edited. The toolbar is hidden.</p>
|
|
185
|
+
<ul>
|
|
186
|
+
<li>View-only mode for displaying formatted content</li>
|
|
187
|
+
<li>No toolbar or editing capabilities</li>
|
|
188
|
+
</ul>
|
|
189
|
+
`,
|
|
190
|
+
minHeight: 150
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
var WithError = {
|
|
194
|
+
args: {
|
|
195
|
+
label: "Content",
|
|
196
|
+
error: "This field is required",
|
|
197
|
+
placeholder: "This field has an error...",
|
|
198
|
+
required: true,
|
|
199
|
+
minHeight: 150
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
var WithMaxHeight = {
|
|
203
|
+
args: {
|
|
204
|
+
label: "Scrollable Content",
|
|
205
|
+
defaultValue: `
|
|
206
|
+
<h1>Scrollable Content</h1>
|
|
207
|
+
<p>This editor has a maximum height and will scroll when content exceeds it.</p>
|
|
208
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
|
209
|
+
<p>Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
|
|
210
|
+
<p>Ut enim ad minim veniam, quis nostrud exercitation ullamco.</p>
|
|
211
|
+
<p>Duis aute irure dolor in reprehenderit in voluptate velit.</p>
|
|
212
|
+
<p>Excepteur sint occaecat cupidatat non proident.</p>
|
|
213
|
+
<p>Sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
|
|
214
|
+
<p>More content to demonstrate scrolling...</p>
|
|
215
|
+
<p>And even more content...</p>
|
|
216
|
+
<p>Keep scrolling...</p>
|
|
217
|
+
`,
|
|
218
|
+
minHeight: 150,
|
|
219
|
+
maxHeight: 250
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
var Interactive = {
|
|
223
|
+
render: function render() {
|
|
224
|
+
var editorRef = (0, import_react.useRef)(null);
|
|
225
|
+
var [html, setHtml] = (0, import_react.useState)("");
|
|
226
|
+
var [charCount, setCharCount] = (0, import_react.useState)(0);
|
|
227
|
+
var handleChange = function handleChange2(newHtml) {
|
|
228
|
+
setHtml(newHtml);
|
|
229
|
+
var text = newHtml.replace(/<[^>]*>/g, "");
|
|
230
|
+
setCharCount(text.length);
|
|
231
|
+
};
|
|
232
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
|
|
233
|
+
gap: "$4",
|
|
234
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_RichEditor.RichEditor, {
|
|
235
|
+
ref: editorRef,
|
|
236
|
+
placeholder: "Type here to see live updates...",
|
|
237
|
+
onChange: handleChange,
|
|
238
|
+
minHeight: 200,
|
|
239
|
+
showBubbleToolbar: true
|
|
240
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
|
|
241
|
+
gap: "$4",
|
|
242
|
+
alignItems: "center",
|
|
243
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.Text, {
|
|
244
|
+
color: "$color10",
|
|
245
|
+
fontSize: "$2",
|
|
246
|
+
children: ["Characters: ", charCount]
|
|
247
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
248
|
+
size: "$3",
|
|
249
|
+
onPress: function onPress() {
|
|
250
|
+
var _editorRef_current;
|
|
251
|
+
var content = (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.getHTML();
|
|
252
|
+
console.log("HTML Content:", content);
|
|
253
|
+
},
|
|
254
|
+
children: "Log HTML"
|
|
255
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
256
|
+
size: "$3",
|
|
257
|
+
onPress: function onPress() {
|
|
258
|
+
var _editorRef_current;
|
|
259
|
+
(_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.setHTML("<p>Content set programmatically!</p>");
|
|
260
|
+
},
|
|
261
|
+
children: "Set Content"
|
|
262
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
263
|
+
size: "$3",
|
|
264
|
+
onPress: function onPress() {
|
|
265
|
+
var _editorRef_current;
|
|
266
|
+
return (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.focus();
|
|
267
|
+
},
|
|
268
|
+
children: "Focus"
|
|
269
|
+
})]
|
|
270
|
+
}), html && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.YStack, {
|
|
271
|
+
backgroundColor: "$color3",
|
|
272
|
+
padding: "$3",
|
|
273
|
+
borderRadius: "$3",
|
|
274
|
+
maxHeight: 200,
|
|
275
|
+
overflow: "scroll",
|
|
276
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Paragraph, {
|
|
277
|
+
size: "$1",
|
|
278
|
+
fontFamily: "$mono",
|
|
279
|
+
whiteSpace: "pre-wrap",
|
|
280
|
+
children: html
|
|
281
|
+
})
|
|
282
|
+
})]
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
var FormIntegrated = {
|
|
287
|
+
render: function render2() {
|
|
288
|
+
var FormExample = function FormExample2() {
|
|
289
|
+
var form = (0, import_react_form.useForm)({
|
|
290
|
+
defaultValues: {
|
|
291
|
+
title: "",
|
|
292
|
+
content: ""
|
|
293
|
+
},
|
|
294
|
+
onSubmit: async function onSubmit(param) {
|
|
295
|
+
var {
|
|
296
|
+
value
|
|
297
|
+
} = param;
|
|
298
|
+
console.log("Form submitted:", value);
|
|
299
|
+
alert(JSON.stringify(value, null, 2));
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.YStack, {
|
|
303
|
+
gap: "$4",
|
|
304
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_RichTextEditor.RichTextEditor, {
|
|
305
|
+
form,
|
|
306
|
+
name: "content",
|
|
307
|
+
label: "Article Content",
|
|
308
|
+
helperText: "Write your article content here",
|
|
309
|
+
required: true,
|
|
310
|
+
placeholder: "Start writing...",
|
|
311
|
+
minHeight: 250,
|
|
312
|
+
showBubbleToolbar: true
|
|
313
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
|
|
314
|
+
gap: "$2",
|
|
315
|
+
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
316
|
+
size: "$3",
|
|
317
|
+
onPress: function onPress() {
|
|
318
|
+
return form.handleSubmit();
|
|
319
|
+
},
|
|
320
|
+
children: "Submit"
|
|
321
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Button, {
|
|
322
|
+
size: "$3",
|
|
323
|
+
theme: "gray",
|
|
324
|
+
onPress: function onPress() {
|
|
325
|
+
return form.reset();
|
|
326
|
+
},
|
|
327
|
+
children: "Reset"
|
|
328
|
+
})]
|
|
329
|
+
})]
|
|
330
|
+
});
|
|
331
|
+
};
|
|
332
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(FormExample, {});
|
|
333
|
+
}
|
|
334
|
+
};
|
|
335
|
+
var Skeleton = {
|
|
336
|
+
args: {
|
|
337
|
+
skeleton: true,
|
|
338
|
+
label: "Loading Content",
|
|
339
|
+
minHeight: 200
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
//# sourceMappingURL=RichEditor.stories.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","RichEditor_stories_exports","__export","BubbleToolbarOnly","FormIntegrated","Interactive","Main","MinimalToolbar","ReadOnly","Skeleton","WithError","WithInitialContent","WithMaxHeight","WithoutToolbar","default","RichEditor_stories_default","module","exports","import_jsx_runtime","require","import_react_form","import_react","import_tamagui","import_RichTextEditor","import_RichEditor","meta","title","component","RichTextEditor","parameters","layout","argTypes","label","control","placeholder","helperText","error","required","disabled","readOnly","showToolbar","showBubbleToolbar","compact","skeleton","size","options","minHeight","maxHeight","sections","form","validators","decorators","Story","jsx","View","padding","maxWidth","children","args","defaultValue","render","editorRef","useRef","html","setHtml","useState","charCount","setCharCount","handleChange","handleChange2","newHtml","text","replace","length","jsxs","YStack","gap","RichEditor","ref","onChange","XStack","alignItems","Text","color","fontSize","Button","onPress","_editorRef_current","content","current","getHTML","console","log","setHTML","focus"],"sources":["../../src/RichEditor.stories.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|