@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,176 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
3
|
+
import { Popover, Text, XStack, YStack } from "tamagui";
|
|
4
|
+
import { DropdownMenuItemFrame, ToolbarSeparatorFrame } from "../styled.mjs";
|
|
5
|
+
import { ToolbarButton } from "./ToolbarButton.mjs";
|
|
6
|
+
import { SubscriptIcon, SuperscriptIcon, AlignLeftIcon, AlignCenterIcon, AlignRightIcon, AlignJustifyIcon, HorizontalRuleIcon, ClearFormattingIcon } from "./icons.mjs";
|
|
7
|
+
import { SHORTCUTS } from "./shortcuts.mjs";
|
|
8
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
const INLINE_ITEMS = [{
|
|
10
|
+
label: SHORTCUTS.subscript,
|
|
11
|
+
command: "subscript",
|
|
12
|
+
icon: SubscriptIcon,
|
|
13
|
+
isActive: s => s.isSubscript
|
|
14
|
+
}, {
|
|
15
|
+
label: SHORTCUTS.superscript,
|
|
16
|
+
command: "superscript",
|
|
17
|
+
icon: SuperscriptIcon,
|
|
18
|
+
isActive: s => s.isSuperscript
|
|
19
|
+
}];
|
|
20
|
+
const ALIGN_ITEMS = [{
|
|
21
|
+
label: SHORTCUTS.alignLeft,
|
|
22
|
+
command: "alignLeft",
|
|
23
|
+
icon: AlignLeftIcon,
|
|
24
|
+
isActive: s => s.textAlign === "left"
|
|
25
|
+
}, {
|
|
26
|
+
label: SHORTCUTS.alignCenter,
|
|
27
|
+
command: "alignCenter",
|
|
28
|
+
icon: AlignCenterIcon,
|
|
29
|
+
isActive: s => s.textAlign === "center"
|
|
30
|
+
}, {
|
|
31
|
+
label: SHORTCUTS.alignRight,
|
|
32
|
+
command: "alignRight",
|
|
33
|
+
icon: AlignRightIcon,
|
|
34
|
+
isActive: s => s.textAlign === "right"
|
|
35
|
+
}, {
|
|
36
|
+
label: SHORTCUTS.alignJustify,
|
|
37
|
+
command: "alignJustify",
|
|
38
|
+
icon: AlignJustifyIcon,
|
|
39
|
+
isActive: s => s.textAlign === "justify"
|
|
40
|
+
}];
|
|
41
|
+
const BLOCK_ITEMS = [{
|
|
42
|
+
label: SHORTCUTS.horizontalRule,
|
|
43
|
+
command: "horizontalRule",
|
|
44
|
+
icon: HorizontalRuleIcon
|
|
45
|
+
}, {
|
|
46
|
+
label: SHORTCUTS.clearFormatting,
|
|
47
|
+
command: "clearFormatting",
|
|
48
|
+
icon: ClearFormattingIcon
|
|
49
|
+
}];
|
|
50
|
+
function MoreIcon() {
|
|
51
|
+
return /* @__PURE__ */jsxs("svg", {
|
|
52
|
+
width: "16",
|
|
53
|
+
height: "16",
|
|
54
|
+
viewBox: "0 0 24 24",
|
|
55
|
+
fill: "currentColor",
|
|
56
|
+
stroke: "none",
|
|
57
|
+
children: [/* @__PURE__ */jsx("circle", {
|
|
58
|
+
cx: "5",
|
|
59
|
+
cy: "12",
|
|
60
|
+
r: "2"
|
|
61
|
+
}), /* @__PURE__ */jsx("circle", {
|
|
62
|
+
cx: "12",
|
|
63
|
+
cy: "12",
|
|
64
|
+
r: "2"
|
|
65
|
+
}), /* @__PURE__ */jsx("circle", {
|
|
66
|
+
cx: "19",
|
|
67
|
+
cy: "12",
|
|
68
|
+
r: "2"
|
|
69
|
+
})]
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
function preventFocusTheft(e) {
|
|
73
|
+
e.preventDefault();
|
|
74
|
+
}
|
|
75
|
+
function ItemSection({
|
|
76
|
+
items,
|
|
77
|
+
state,
|
|
78
|
+
onSelect
|
|
79
|
+
}) {
|
|
80
|
+
return /* @__PURE__ */jsx(Fragment, {
|
|
81
|
+
children: items.map(item => {
|
|
82
|
+
const Icon = item.icon;
|
|
83
|
+
return /* @__PURE__ */jsxs(DropdownMenuItemFrame, {
|
|
84
|
+
active: item.isActive?.(state),
|
|
85
|
+
onMouseDown: preventFocusTheft,
|
|
86
|
+
onPress: () => onSelect(item.command, item.payload),
|
|
87
|
+
"aria-label": item.label,
|
|
88
|
+
children: [/* @__PURE__ */jsx(Icon, {}), /* @__PURE__ */jsx(Text, {
|
|
89
|
+
fontSize: 13,
|
|
90
|
+
children: item.label
|
|
91
|
+
})]
|
|
92
|
+
}, item.command);
|
|
93
|
+
})
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
function MoreDropdown({
|
|
97
|
+
editorRef,
|
|
98
|
+
state,
|
|
99
|
+
disabled
|
|
100
|
+
}) {
|
|
101
|
+
const {
|
|
102
|
+
knobProps
|
|
103
|
+
} = useResolvedKnobs();
|
|
104
|
+
const [open, setOpen] = useState(false);
|
|
105
|
+
const handleSelect = (command, payload) => {
|
|
106
|
+
editorRef.current?.executeCommand(command, payload);
|
|
107
|
+
if (command === "horizontalRule" || command === "clearFormatting") {
|
|
108
|
+
setOpen(false);
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
return /* @__PURE__ */jsxs(Popover, {
|
|
112
|
+
open,
|
|
113
|
+
onOpenChange: setOpen,
|
|
114
|
+
placement: "bottom-end",
|
|
115
|
+
children: [/* @__PURE__ */jsx(Popover.Trigger, {
|
|
116
|
+
asChild: true,
|
|
117
|
+
children: /* @__PURE__ */jsx(ToolbarButton, {
|
|
118
|
+
disabled,
|
|
119
|
+
onPress: () => setOpen(true),
|
|
120
|
+
"aria-label": "More formatting options",
|
|
121
|
+
tooltip: "More",
|
|
122
|
+
children: /* @__PURE__ */jsx(MoreIcon, {})
|
|
123
|
+
})
|
|
124
|
+
}), /* @__PURE__ */jsx(Popover.Content, {
|
|
125
|
+
...knobProps.panelPadding,
|
|
126
|
+
backgroundColor: "$background",
|
|
127
|
+
borderWidth: 1,
|
|
128
|
+
borderColor: "$borderColor",
|
|
129
|
+
borderRadius: knobProps.borderRadius.borderRadius,
|
|
130
|
+
elevation: knobProps.elevation,
|
|
131
|
+
enterStyle: {
|
|
132
|
+
opacity: 0,
|
|
133
|
+
y: -5
|
|
134
|
+
},
|
|
135
|
+
exitStyle: {
|
|
136
|
+
opacity: 0,
|
|
137
|
+
y: -5
|
|
138
|
+
},
|
|
139
|
+
children: /* @__PURE__ */jsxs(YStack, {
|
|
140
|
+
gap: "$1",
|
|
141
|
+
minWidth: 200,
|
|
142
|
+
children: [/* @__PURE__ */jsx(ItemSection, {
|
|
143
|
+
items: INLINE_ITEMS,
|
|
144
|
+
state,
|
|
145
|
+
onSelect: handleSelect
|
|
146
|
+
}), /* @__PURE__ */jsx(XStack, {
|
|
147
|
+
paddingVertical: "$1",
|
|
148
|
+
children: /* @__PURE__ */jsx(ToolbarSeparatorFrame, {
|
|
149
|
+
vertical: false,
|
|
150
|
+
width: "100%",
|
|
151
|
+
height: 1,
|
|
152
|
+
marginHorizontal: 0
|
|
153
|
+
})
|
|
154
|
+
}), /* @__PURE__ */jsx(ItemSection, {
|
|
155
|
+
items: ALIGN_ITEMS,
|
|
156
|
+
state,
|
|
157
|
+
onSelect: handleSelect
|
|
158
|
+
}), /* @__PURE__ */jsx(XStack, {
|
|
159
|
+
paddingVertical: "$1",
|
|
160
|
+
children: /* @__PURE__ */jsx(ToolbarSeparatorFrame, {
|
|
161
|
+
vertical: false,
|
|
162
|
+
width: "100%",
|
|
163
|
+
height: 1,
|
|
164
|
+
marginHorizontal: 0
|
|
165
|
+
})
|
|
166
|
+
}), /* @__PURE__ */jsx(ItemSection, {
|
|
167
|
+
items: BLOCK_ITEMS,
|
|
168
|
+
state,
|
|
169
|
+
onSelect: handleSelect
|
|
170
|
+
})]
|
|
171
|
+
})
|
|
172
|
+
})]
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
export { MoreDropdown };
|
|
176
|
+
//# sourceMappingURL=MoreDropdown.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","useResolvedKnobs","Popover","Text","XStack","YStack","DropdownMenuItemFrame","ToolbarSeparatorFrame","ToolbarButton","SubscriptIcon","SuperscriptIcon","AlignLeftIcon","AlignCenterIcon","AlignRightIcon","AlignJustifyIcon","HorizontalRuleIcon","ClearFormattingIcon","SHORTCUTS","Fragment","jsx","jsxs","INLINE_ITEMS","label","subscript","command","icon","isActive","s","isSubscript","superscript","isSuperscript","ALIGN_ITEMS","alignLeft","textAlign","alignCenter","alignRight","alignJustify","BLOCK_ITEMS","horizontalRule","clearFormatting","MoreIcon","width","height","viewBox","fill","stroke","children","cx","cy","r","preventFocusTheft","e","preventDefault","ItemSection","items","state","onSelect","map","item","Icon","active","onMouseDown","onPress","payload","fontSize","MoreDropdown","editorRef","disabled","knobProps","open","setOpen","handleSelect","current","executeCommand","onOpenChange","placement","Trigger","asChild","tooltip","Content","panelPadding","backgroundColor","borderWidth","borderColor","borderRadius","elevation","enterStyle","opacity","y","exitStyle","gap","minWidth","paddingVertical","vertical","marginHorizontal"],"sources":["../../../src/toolbar/MoreDropdown.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
4
|
+
import { Popover, Text, XStack, YStack } from "tamagui";
|
|
5
|
+
import { DropdownMenuItemFrame, ToolbarSeparatorFrame } from "../styled.native.js";
|
|
6
|
+
import { ToolbarButton } from "./ToolbarButton.native.js";
|
|
7
|
+
import { SubscriptIcon, SuperscriptIcon, AlignLeftIcon, AlignCenterIcon, AlignRightIcon, AlignJustifyIcon, HorizontalRuleIcon, ClearFormattingIcon } from "./icons.native.js";
|
|
8
|
+
import { SHORTCUTS } from "./shortcuts.native.js";
|
|
9
|
+
var INLINE_ITEMS = [{
|
|
10
|
+
label: SHORTCUTS.subscript,
|
|
11
|
+
command: "subscript",
|
|
12
|
+
icon: SubscriptIcon,
|
|
13
|
+
isActive: function isActive(s) {
|
|
14
|
+
return s.isSubscript;
|
|
15
|
+
}
|
|
16
|
+
}, {
|
|
17
|
+
label: SHORTCUTS.superscript,
|
|
18
|
+
command: "superscript",
|
|
19
|
+
icon: SuperscriptIcon,
|
|
20
|
+
isActive: function isActive2(s) {
|
|
21
|
+
return s.isSuperscript;
|
|
22
|
+
}
|
|
23
|
+
}];
|
|
24
|
+
var ALIGN_ITEMS = [{
|
|
25
|
+
label: SHORTCUTS.alignLeft,
|
|
26
|
+
command: "alignLeft",
|
|
27
|
+
icon: AlignLeftIcon,
|
|
28
|
+
isActive: function isActive3(s) {
|
|
29
|
+
return s.textAlign === "left";
|
|
30
|
+
}
|
|
31
|
+
}, {
|
|
32
|
+
label: SHORTCUTS.alignCenter,
|
|
33
|
+
command: "alignCenter",
|
|
34
|
+
icon: AlignCenterIcon,
|
|
35
|
+
isActive: function isActive4(s) {
|
|
36
|
+
return s.textAlign === "center";
|
|
37
|
+
}
|
|
38
|
+
}, {
|
|
39
|
+
label: SHORTCUTS.alignRight,
|
|
40
|
+
command: "alignRight",
|
|
41
|
+
icon: AlignRightIcon,
|
|
42
|
+
isActive: function isActive5(s) {
|
|
43
|
+
return s.textAlign === "right";
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
label: SHORTCUTS.alignJustify,
|
|
47
|
+
command: "alignJustify",
|
|
48
|
+
icon: AlignJustifyIcon,
|
|
49
|
+
isActive: function isActive6(s) {
|
|
50
|
+
return s.textAlign === "justify";
|
|
51
|
+
}
|
|
52
|
+
}];
|
|
53
|
+
var BLOCK_ITEMS = [{
|
|
54
|
+
label: SHORTCUTS.horizontalRule,
|
|
55
|
+
command: "horizontalRule",
|
|
56
|
+
icon: HorizontalRuleIcon
|
|
57
|
+
}, {
|
|
58
|
+
label: SHORTCUTS.clearFormatting,
|
|
59
|
+
command: "clearFormatting",
|
|
60
|
+
icon: ClearFormattingIcon
|
|
61
|
+
}];
|
|
62
|
+
function MoreIcon() {
|
|
63
|
+
return /* @__PURE__ */_jsxs("svg", {
|
|
64
|
+
width: "16",
|
|
65
|
+
height: "16",
|
|
66
|
+
viewBox: "0 0 24 24",
|
|
67
|
+
fill: "currentColor",
|
|
68
|
+
stroke: "none",
|
|
69
|
+
children: [/* @__PURE__ */_jsx("circle", {
|
|
70
|
+
cx: "5",
|
|
71
|
+
cy: "12",
|
|
72
|
+
r: "2"
|
|
73
|
+
}), /* @__PURE__ */_jsx("circle", {
|
|
74
|
+
cx: "12",
|
|
75
|
+
cy: "12",
|
|
76
|
+
r: "2"
|
|
77
|
+
}), /* @__PURE__ */_jsx("circle", {
|
|
78
|
+
cx: "19",
|
|
79
|
+
cy: "12",
|
|
80
|
+
r: "2"
|
|
81
|
+
})]
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function preventFocusTheft(e) {
|
|
85
|
+
e.preventDefault();
|
|
86
|
+
}
|
|
87
|
+
function ItemSection(param) {
|
|
88
|
+
var {
|
|
89
|
+
items,
|
|
90
|
+
state,
|
|
91
|
+
onSelect
|
|
92
|
+
} = param;
|
|
93
|
+
return /* @__PURE__ */_jsx(_Fragment, {
|
|
94
|
+
children: items.map(function (item) {
|
|
95
|
+
var _item_isActive;
|
|
96
|
+
var Icon = item.icon;
|
|
97
|
+
return /* @__PURE__ */_jsxs(DropdownMenuItemFrame, {
|
|
98
|
+
active: (_item_isActive = item.isActive) === null || _item_isActive === void 0 ? void 0 : _item_isActive.call(item, state),
|
|
99
|
+
onMouseDown: preventFocusTheft,
|
|
100
|
+
onPress: function onPress() {
|
|
101
|
+
return onSelect(item.command, item.payload);
|
|
102
|
+
},
|
|
103
|
+
"aria-label": item.label,
|
|
104
|
+
children: [/* @__PURE__ */_jsx(Icon, {}), /* @__PURE__ */_jsx(Text, {
|
|
105
|
+
fontSize: 13,
|
|
106
|
+
children: item.label
|
|
107
|
+
})]
|
|
108
|
+
}, item.command);
|
|
109
|
+
})
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function MoreDropdown(param) {
|
|
113
|
+
var {
|
|
114
|
+
editorRef,
|
|
115
|
+
state,
|
|
116
|
+
disabled
|
|
117
|
+
} = param;
|
|
118
|
+
var {
|
|
119
|
+
knobProps
|
|
120
|
+
} = useResolvedKnobs();
|
|
121
|
+
var [open, setOpen] = useState(false);
|
|
122
|
+
var handleSelect = function handleSelect2(command, payload) {
|
|
123
|
+
var _editorRef_current;
|
|
124
|
+
(_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand(command, payload);
|
|
125
|
+
if (command === "horizontalRule" || command === "clearFormatting") {
|
|
126
|
+
setOpen(false);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
return /* @__PURE__ */_jsxs(Popover, {
|
|
130
|
+
open,
|
|
131
|
+
onOpenChange: setOpen,
|
|
132
|
+
placement: "bottom-end",
|
|
133
|
+
children: [/* @__PURE__ */_jsx(Popover.Trigger, {
|
|
134
|
+
asChild: true,
|
|
135
|
+
children: /* @__PURE__ */_jsx(ToolbarButton, {
|
|
136
|
+
disabled,
|
|
137
|
+
onPress: function onPress() {
|
|
138
|
+
return setOpen(true);
|
|
139
|
+
},
|
|
140
|
+
"aria-label": "More formatting options",
|
|
141
|
+
tooltip: "More",
|
|
142
|
+
children: /* @__PURE__ */_jsx(MoreIcon, {})
|
|
143
|
+
})
|
|
144
|
+
}), /* @__PURE__ */_jsx(Popover.Content, {
|
|
145
|
+
...knobProps.panelPadding,
|
|
146
|
+
backgroundColor: "$background",
|
|
147
|
+
borderWidth: 1,
|
|
148
|
+
borderColor: "$borderColor",
|
|
149
|
+
borderRadius: knobProps.borderRadius.borderRadius,
|
|
150
|
+
elevation: knobProps.elevation,
|
|
151
|
+
enterStyle: {
|
|
152
|
+
opacity: 0,
|
|
153
|
+
y: -5
|
|
154
|
+
},
|
|
155
|
+
exitStyle: {
|
|
156
|
+
opacity: 0,
|
|
157
|
+
y: -5
|
|
158
|
+
},
|
|
159
|
+
children: /* @__PURE__ */_jsxs(YStack, {
|
|
160
|
+
gap: "$1",
|
|
161
|
+
minWidth: 200,
|
|
162
|
+
children: [/* @__PURE__ */_jsx(ItemSection, {
|
|
163
|
+
items: INLINE_ITEMS,
|
|
164
|
+
state,
|
|
165
|
+
onSelect: handleSelect
|
|
166
|
+
}), /* @__PURE__ */_jsx(XStack, {
|
|
167
|
+
paddingVertical: "$1",
|
|
168
|
+
children: /* @__PURE__ */_jsx(ToolbarSeparatorFrame, {
|
|
169
|
+
vertical: false,
|
|
170
|
+
width: "100%",
|
|
171
|
+
height: 1,
|
|
172
|
+
marginHorizontal: 0
|
|
173
|
+
})
|
|
174
|
+
}), /* @__PURE__ */_jsx(ItemSection, {
|
|
175
|
+
items: ALIGN_ITEMS,
|
|
176
|
+
state,
|
|
177
|
+
onSelect: handleSelect
|
|
178
|
+
}), /* @__PURE__ */_jsx(XStack, {
|
|
179
|
+
paddingVertical: "$1",
|
|
180
|
+
children: /* @__PURE__ */_jsx(ToolbarSeparatorFrame, {
|
|
181
|
+
vertical: false,
|
|
182
|
+
width: "100%",
|
|
183
|
+
height: 1,
|
|
184
|
+
marginHorizontal: 0
|
|
185
|
+
})
|
|
186
|
+
}), /* @__PURE__ */_jsx(ItemSection, {
|
|
187
|
+
items: BLOCK_ITEMS,
|
|
188
|
+
state,
|
|
189
|
+
onSelect: handleSelect
|
|
190
|
+
})]
|
|
191
|
+
})
|
|
192
|
+
})]
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
export { MoreDropdown };
|
|
196
|
+
//# sourceMappingURL=MoreDropdown.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useState","useResolvedKnobs","Popover","Text","XStack","YStack","DropdownMenuItemFrame","ToolbarSeparatorFrame","ToolbarButton","SubscriptIcon","SuperscriptIcon","AlignLeftIcon","AlignCenterIcon","AlignRightIcon","AlignJustifyIcon","HorizontalRuleIcon","ClearFormattingIcon","SHORTCUTS","INLINE_ITEMS","label","subscript","command","icon","isActive","s","isSubscript","superscript","isActive2","isSuperscript","ALIGN_ITEMS","alignLeft","isActive3","textAlign","alignCenter","isActive4","alignRight","isActive5","alignJustify","isActive6","BLOCK_ITEMS","horizontalRule","clearFormatting","MoreIcon","width","height","viewBox","fill","stroke","children","cx","cy","r","preventFocusTheft","e","preventDefault","ItemSection","param","items","state","onSelect","map","item","_item_isActive","Icon","active","call","onMouseDown","onPress","payload","fontSize","MoreDropdown","editorRef","disabled","knobProps","open","setOpen","handleSelect","handleSelect2","_editorRef_current","current","executeCommand","onOpenChange","placement","Trigger","asChild"],"sources":["../../../src/toolbar/MoreDropdown.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { useCallback, useRef } from "react";
|
|
2
|
+
import { View } from "tamagui";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
function GripIcon() {
|
|
5
|
+
return /* @__PURE__ */jsxs("svg", {
|
|
6
|
+
width: "12",
|
|
7
|
+
height: "12",
|
|
8
|
+
viewBox: "0 0 12 12",
|
|
9
|
+
fill: "currentColor",
|
|
10
|
+
opacity: 0.4,
|
|
11
|
+
children: [/* @__PURE__ */jsx("path", {
|
|
12
|
+
d: "M10 2L2 10",
|
|
13
|
+
stroke: "currentColor",
|
|
14
|
+
strokeWidth: "1.5",
|
|
15
|
+
fill: "none"
|
|
16
|
+
}), /* @__PURE__ */jsx("path", {
|
|
17
|
+
d: "M10 6L6 10",
|
|
18
|
+
stroke: "currentColor",
|
|
19
|
+
strokeWidth: "1.5",
|
|
20
|
+
fill: "none"
|
|
21
|
+
}), /* @__PURE__ */jsx("path", {
|
|
22
|
+
d: "M10 10L10 10",
|
|
23
|
+
stroke: "currentColor",
|
|
24
|
+
strokeWidth: "1.5",
|
|
25
|
+
fill: "none"
|
|
26
|
+
})]
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function ResizeHandle({
|
|
30
|
+
containerRef,
|
|
31
|
+
minHeight = 150,
|
|
32
|
+
maxHeight
|
|
33
|
+
}) {
|
|
34
|
+
const startY = useRef(0);
|
|
35
|
+
const startHeight = useRef(0);
|
|
36
|
+
const onMouseDown = useCallback(e => {
|
|
37
|
+
e.preventDefault();
|
|
38
|
+
const el = containerRef.current;
|
|
39
|
+
if (!el) return;
|
|
40
|
+
startY.current = e.clientY;
|
|
41
|
+
startHeight.current = el.getBoundingClientRect().height;
|
|
42
|
+
const onMouseMove = ev => {
|
|
43
|
+
const delta = ev.clientY - startY.current;
|
|
44
|
+
let newHeight = startHeight.current + delta;
|
|
45
|
+
if (newHeight < minHeight) newHeight = minHeight;
|
|
46
|
+
if (maxHeight && newHeight > maxHeight) newHeight = maxHeight;
|
|
47
|
+
el.style.height = `${newHeight}px`;
|
|
48
|
+
};
|
|
49
|
+
const onMouseUp = () => {
|
|
50
|
+
document.removeEventListener("mousemove", onMouseMove);
|
|
51
|
+
document.removeEventListener("mouseup", onMouseUp);
|
|
52
|
+
document.body.style.cursor = "";
|
|
53
|
+
document.body.style.userSelect = "";
|
|
54
|
+
};
|
|
55
|
+
document.body.style.cursor = "ns-resize";
|
|
56
|
+
document.body.style.userSelect = "none";
|
|
57
|
+
document.addEventListener("mousemove", onMouseMove);
|
|
58
|
+
document.addEventListener("mouseup", onMouseUp);
|
|
59
|
+
}, [containerRef, minHeight, maxHeight]);
|
|
60
|
+
return /* @__PURE__ */jsx(View, {
|
|
61
|
+
position: "absolute",
|
|
62
|
+
bottom: 0,
|
|
63
|
+
right: 0,
|
|
64
|
+
width: 16,
|
|
65
|
+
height: 16,
|
|
66
|
+
cursor: "ns-resize",
|
|
67
|
+
alignItems: "center",
|
|
68
|
+
justifyContent: "center",
|
|
69
|
+
opacity: 0.6,
|
|
70
|
+
hoverStyle: {
|
|
71
|
+
opacity: 1
|
|
72
|
+
},
|
|
73
|
+
onMouseDown,
|
|
74
|
+
"aria-label": "Resize editor",
|
|
75
|
+
role: "separator",
|
|
76
|
+
children: /* @__PURE__ */jsx(GripIcon, {})
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
export { ResizeHandle };
|
|
80
|
+
//# sourceMappingURL=ResizeHandle.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useRef","View","jsx","jsxs","GripIcon","width","height","viewBox","fill","opacity","children","d","stroke","strokeWidth","ResizeHandle","containerRef","minHeight","maxHeight","startY","startHeight","onMouseDown","e","preventDefault","el","current","clientY","getBoundingClientRect","onMouseMove","ev","delta","newHeight","style","onMouseUp","document","removeEventListener","body","cursor","userSelect","addEventListener","position","bottom","right","alignItems","justifyContent","hoverStyle","role"],"sources":["../../../src/toolbar/ResizeHandle.tsx"],"sourcesContent":[null],"mappings":"AAKA,SAASA,WAAA,EAAaC,MAAA,QAAc;AACpC,SAASC,IAAA,QAAY;AAUjB,SACEC,GAAA,EADFC,IAAA;AAFJ,SAASC,SAAA,EAAW;EAClB,OACE,eAAAD,IAAA,CAAC;IAAIE,KAAA,EAAM;IAAKC,MAAA,EAAO;IAAKC,OAAA,EAAQ;IAAYC,IAAA,EAAK;IAAeC,OAAA,EAAS;IAC3EC,QAAA,kBAAAR,GAAA,CAAC;MAAKS,CAAA,EAAE;MAAaC,MAAA,EAAO;MAAeC,WAAA,EAAY;MAAML,IAAA,EAAK;IAAA,CAAO,GACzE,eAAAN,GAAA,CAAC;MAAKS,CAAA,EAAE;MAAaC,MAAA,EAAO;MAAeC,WAAA,EAAY;MAAML,IAAA,EAAK;IAAA,CAAO,GACzE,eAAAN,GAAA,CAAC;MAAKS,CAAA,EAAE;MAAeC,MAAA,EAAO;MAAeC,WAAA,EAAY;MAAML,IAAA,EAAK;IAAA,CAAO;EAAA,CAC7E;AAEJ;AAEO,SAASM,aAAa;EAAEC,YAAA;EAAcC,SAAA,GAAY;EAAKC;AAAU,GAAsB;EAC5F,MAAMC,MAAA,GAASlB,MAAA,CAAO,CAAC;EACvB,MAAMmB,WAAA,GAAcnB,MAAA,CAAO,CAAC;EAE5B,MAAMoB,WAAA,GAAcrB,WAAA,CACjBsB,CAAA,IAAwB;IACvBA,CAAA,CAAEC,cAAA,CAAe;IACjB,MAAMC,EAAA,GAAKR,YAAA,CAAaS,OAAA;IACxB,IAAI,CAACD,EAAA,EAAI;IAETL,MAAA,CAAOM,OAAA,GAAUH,CAAA,CAAEI,OAAA;IACnBN,WAAA,CAAYK,OAAA,GAAUD,EAAA,CAAGG,qBAAA,CAAsB,EAAEpB,MAAA;IAEjD,MAAMqB,WAAA,GAAeC,EAAA,IAAmB;MACtC,MAAMC,KAAA,GAAQD,EAAA,CAAGH,OAAA,GAAUP,MAAA,CAAOM,OAAA;MAClC,IAAIM,SAAA,GAAYX,WAAA,CAAYK,OAAA,GAAUK,KAAA;MACtC,IAAIC,SAAA,GAAYd,SAAA,EAAWc,SAAA,GAAYd,SAAA;MACvC,IAAIC,SAAA,IAAaa,SAAA,GAAYb,SAAA,EAAWa,SAAA,GAAYb,SAAA;MACpDM,EAAA,CAAGQ,KAAA,CAAMzB,MAAA,GAAS,GAAGwB,SAAS;IAChC;IAEA,MAAME,SAAA,GAAYA,CAAA,KAAM;MACtBC,QAAA,CAASC,mBAAA,CAAoB,aAAaP,WAAW;MACrDM,QAAA,CAASC,mBAAA,CAAoB,WAAWF,SAAS;MACjDC,QAAA,CAASE,IAAA,CAAKJ,KAAA,CAAMK,MAAA,GAAS;MAC7BH,QAAA,CAASE,IAAA,CAAKJ,KAAA,CAAMM,UAAA,GAAa;IACnC;IAEAJ,QAAA,CAASE,IAAA,CAAKJ,KAAA,CAAMK,MAAA,GAAS;IAC7BH,QAAA,CAASE,IAAA,CAAKJ,KAAA,CAAMM,UAAA,GAAa;IACjCJ,QAAA,CAASK,gBAAA,CAAiB,aAAaX,WAAW;IAClDM,QAAA,CAASK,gBAAA,CAAiB,WAAWN,SAAS;EAChD,GACA,CAACjB,YAAA,EAAcC,SAAA,EAAWC,SAAS,CACrC;EAEA,OACE,eAAAf,GAAA,CAACD,IAAA;IACCsC,QAAA,EAAS;IACTC,MAAA,EAAQ;IACRC,KAAA,EAAO;IACPpC,KAAA,EAAO;IACPC,MAAA,EAAQ;IACR8B,MAAA,EAAO;IACPM,UAAA,EAAW;IACXC,cAAA,EAAe;IACflC,OAAA,EAAS;IACTmC,UAAA,EAAY;MAAEnC,OAAA,EAAS;IAAE;IACzBW,WAAA;IACA,cAAW;IACXyB,IAAA,EAAK;IAELnC,QAAA,iBAAAR,GAAA,CAACE,QAAA,IAAS;EAAA,CACZ;AAEJ","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useRef } from "react";
|
|
3
|
+
import { View } from "tamagui";
|
|
4
|
+
function GripIcon() {
|
|
5
|
+
return /* @__PURE__ */_jsxs("svg", {
|
|
6
|
+
width: "12",
|
|
7
|
+
height: "12",
|
|
8
|
+
viewBox: "0 0 12 12",
|
|
9
|
+
fill: "currentColor",
|
|
10
|
+
opacity: 0.4,
|
|
11
|
+
children: [/* @__PURE__ */_jsx("path", {
|
|
12
|
+
d: "M10 2L2 10",
|
|
13
|
+
stroke: "currentColor",
|
|
14
|
+
strokeWidth: "1.5",
|
|
15
|
+
fill: "none"
|
|
16
|
+
}), /* @__PURE__ */_jsx("path", {
|
|
17
|
+
d: "M10 6L6 10",
|
|
18
|
+
stroke: "currentColor",
|
|
19
|
+
strokeWidth: "1.5",
|
|
20
|
+
fill: "none"
|
|
21
|
+
}), /* @__PURE__ */_jsx("path", {
|
|
22
|
+
d: "M10 10L10 10",
|
|
23
|
+
stroke: "currentColor",
|
|
24
|
+
strokeWidth: "1.5",
|
|
25
|
+
fill: "none"
|
|
26
|
+
})]
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
function ResizeHandle(param) {
|
|
30
|
+
var {
|
|
31
|
+
containerRef,
|
|
32
|
+
minHeight = 150,
|
|
33
|
+
maxHeight
|
|
34
|
+
} = param;
|
|
35
|
+
var startY = useRef(0);
|
|
36
|
+
var startHeight = useRef(0);
|
|
37
|
+
var onMouseDown = useCallback(function (e) {
|
|
38
|
+
e.preventDefault();
|
|
39
|
+
var el = containerRef.current;
|
|
40
|
+
if (!el) return;
|
|
41
|
+
startY.current = e.clientY;
|
|
42
|
+
startHeight.current = el.getBoundingClientRect().height;
|
|
43
|
+
var onMouseMove = function onMouseMove2(ev) {
|
|
44
|
+
var delta = ev.clientY - startY.current;
|
|
45
|
+
var newHeight = startHeight.current + delta;
|
|
46
|
+
if (newHeight < minHeight) newHeight = minHeight;
|
|
47
|
+
if (maxHeight && newHeight > maxHeight) newHeight = maxHeight;
|
|
48
|
+
el.style.height = `${newHeight}px`;
|
|
49
|
+
};
|
|
50
|
+
var onMouseUp = function onMouseUp1() {
|
|
51
|
+
document.removeEventListener("mousemove", onMouseMove);
|
|
52
|
+
document.removeEventListener("mouseup", onMouseUp);
|
|
53
|
+
document.body.style.cursor = "";
|
|
54
|
+
document.body.style.userSelect = "";
|
|
55
|
+
};
|
|
56
|
+
document.body.style.cursor = "ns-resize";
|
|
57
|
+
document.body.style.userSelect = "none";
|
|
58
|
+
document.addEventListener("mousemove", onMouseMove);
|
|
59
|
+
document.addEventListener("mouseup", onMouseUp);
|
|
60
|
+
}, [containerRef, minHeight, maxHeight]);
|
|
61
|
+
return /* @__PURE__ */_jsx(View, {
|
|
62
|
+
position: "absolute",
|
|
63
|
+
bottom: 0,
|
|
64
|
+
right: 0,
|
|
65
|
+
width: 16,
|
|
66
|
+
height: 16,
|
|
67
|
+
cursor: "ns-resize",
|
|
68
|
+
alignItems: "center",
|
|
69
|
+
justifyContent: "center",
|
|
70
|
+
opacity: 0.6,
|
|
71
|
+
hoverStyle: {
|
|
72
|
+
opacity: 1
|
|
73
|
+
},
|
|
74
|
+
onMouseDown,
|
|
75
|
+
"aria-label": "Resize editor",
|
|
76
|
+
role: "separator",
|
|
77
|
+
children: /* @__PURE__ */_jsx(GripIcon, {})
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
export { ResizeHandle };
|
|
81
|
+
//# sourceMappingURL=ResizeHandle.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useCallback","useRef","View","GripIcon","width","height","viewBox","fill","opacity","children","d","stroke","strokeWidth","ResizeHandle","param","containerRef","minHeight","maxHeight","startY","startHeight","onMouseDown","e","preventDefault","el","current","clientY","getBoundingClientRect","onMouseMove","onMouseMove2","ev","delta","newHeight","style","onMouseUp","onMouseUp1","document","removeEventListener","body","cursor","userSelect","addEventListener"],"sources":["../../../src/toolbar/ResizeHandle.tsx"],"sourcesContent":[null],"mappings":"AAKA,SAASA,GAAA,IAAAC,IAAA,EAAaC,IAAA,IAAAC,KAAA,QAAc;AACpC,SAASC,WAAA,EAAYC,MAAA;AAUjB,SACEC,IAAA,QADF;AAFJ,SAASC,SAAA,EAAW;EAClB,OACE,eAAAJ,KAAC;IACCK,KAAA;IACAC,MAAA;IACAC,OAAA,aAAC;IAA0EC,IAC7E;IAEJC,OAAA;IAEOC,QAAS,GACd,eAAeZ,IAAQ;MACjBa,CAAA,cAAc;MAEdC,MAAA,gBAAc;MACjBC,WAAwB;MACrBL,IAAA;IACF,IACA,eAASV,IAAA;MAETa,CAAA,cAAiB;MACjBC,MAAA,gBAAsB;MAEtBC,WAAM,OAAc;MAClBL,IAAA,EAAM;IACN,IACA,eAAIV,IAAY,SAAW;MAC3Ba,CAAA,gBAAiB;MACjBC,MAAG,gBAAkB;MACvBC,WAAA;MAEAL,IAAM;IACJ;EAEA;AACA;AAAiC,SACnCM,aAAAC,KAAA;EAEA;IAAAC,YAAc;IAAAC,SAAM,MAAS;IAAAC;EAAA,IAAAH,KAAA;EAC7B,IAAAI,MAAA,GAASjB,MAAK;EACd,IAAAkB,WAAS,GAAAlB,MAAA;EACT,IAAAmB,WAAS,GAAApB,WAAA,CAAiB,UAAAqB,CAAA,EAAW;IACvCA,CAAA,CAAAC,cAAA;IACA,IAACC,EAAA,GAAAR,YAAc,CAAAS,OAAW;IAC5B,KAAAD,EAAA;IAEAL,MACE,CAAAM,OAAA,GAAAH,CAAA,CAAAI,OAAA;IAACN,WAAA,CAAAK,OAAA,GAAAD,EAAA,CAAAG,qBAAA,GAAArB,MAAA;IAAA,IAAAsB,WAAA,YAAAC,aAAAC,EAAA;MACC,IAAAC,KAAA,GAASD,EAAA,CAAAJ,OAAA,GAAAP,MAAA,CAAAM,OAAA;MACT,IAAAO,SAAQ,GAAAZ,WAAA,CAAAK,OAAA,GAAAM,KAAA;MACR,IAAAC,SAAO,GAAAf,SAAA,EAAAe,SAAA,GAAAf,SAAA;MACP,IAAAC,SAAO,IAAAc,SAAA,GAAAd,SAAA,EAAAc,SAAA,GAAAd,SAAA;MACPM,EAAA,CAAAS,KAAQ,CAAA3B,MAAA,MAAA0B,SAAA;IAAA;IACD,IACPE,SAAA,GAAW,SAAAC,WAAA;MACXC,QAAA,CAAAC,mBAAe,cAAAT,WAAA;MACfQ,QAAA,CAASC,mBAAA,YAAAH,SAAA;MACTE,QAAA,CAAAE,IAAY,CAAEL,KAAA,CAAAM,MAAW;MACzBH,QAAA,CAAAE,IAAA,CAAAL,KAAA,CAAAO,UAAA;IAAA;IACWJ,QACN,CAAAE,IAAA,CAAAL,KAAA,CAAAM,MAAA;IAAAH,QAEL,CAAAE,IAAA,CAAAL,KAAA,CAAAO,UAAA,GAAC;IAASJ,QAAA,CAAAK,gBAAA,cAAAb,WAAA;IACZQ,QAAA,CAAAK,gBAAA,YAAAP,SAAA;EAEJ,I","ignoreList":[]}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { XStack, Text } from "tamagui";
|
|
2
|
+
import { RichEditorContext } from "../context.mjs";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
function ModeButton({
|
|
5
|
+
label,
|
|
6
|
+
active,
|
|
7
|
+
onPress
|
|
8
|
+
}) {
|
|
9
|
+
return /* @__PURE__ */jsx(Text, {
|
|
10
|
+
fontSize: 11,
|
|
11
|
+
color: active ? "$color12" : "$color9",
|
|
12
|
+
fontWeight: active ? "600" : "400",
|
|
13
|
+
cursor: "pointer",
|
|
14
|
+
onPress,
|
|
15
|
+
hoverStyle: {
|
|
16
|
+
color: "$color11"
|
|
17
|
+
},
|
|
18
|
+
userSelect: "none",
|
|
19
|
+
children: label
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function StatusBar({
|
|
23
|
+
state,
|
|
24
|
+
mode,
|
|
25
|
+
onModeChange
|
|
26
|
+
}) {
|
|
27
|
+
const _ctx = RichEditorContext.useStyledContext();
|
|
28
|
+
return /* @__PURE__ */jsxs(XStack, {
|
|
29
|
+
borderTopWidth: 1,
|
|
30
|
+
borderTopColor: "$color5",
|
|
31
|
+
paddingHorizontal: "$3",
|
|
32
|
+
paddingVertical: "$1.5",
|
|
33
|
+
justifyContent: "space-between",
|
|
34
|
+
alignItems: "center",
|
|
35
|
+
children: [/* @__PURE__ */jsxs(XStack, {
|
|
36
|
+
gap: "$1.5",
|
|
37
|
+
alignItems: "center",
|
|
38
|
+
children: [/* @__PURE__ */jsx(ModeButton, {
|
|
39
|
+
label: "Rich text",
|
|
40
|
+
active: mode === "richtext",
|
|
41
|
+
onPress: () => onModeChange("richtext")
|
|
42
|
+
}), /* @__PURE__ */jsx(Text, {
|
|
43
|
+
fontSize: 11,
|
|
44
|
+
color: "$color7",
|
|
45
|
+
children: "|"
|
|
46
|
+
}), /* @__PURE__ */jsx(ModeButton, {
|
|
47
|
+
label: "Markdown",
|
|
48
|
+
active: mode === "markdown",
|
|
49
|
+
onPress: () => onModeChange("markdown")
|
|
50
|
+
})]
|
|
51
|
+
}), /* @__PURE__ */jsxs(XStack, {
|
|
52
|
+
gap: "$3",
|
|
53
|
+
children: [/* @__PURE__ */jsxs(Text, {
|
|
54
|
+
fontSize: 11,
|
|
55
|
+
color: "$color9",
|
|
56
|
+
children: [state.wordCount, " ", state.wordCount === 1 ? "word" : "words"]
|
|
57
|
+
}), /* @__PURE__ */jsxs(Text, {
|
|
58
|
+
fontSize: 11,
|
|
59
|
+
color: "$color9",
|
|
60
|
+
children: [state.characterCount, " ", state.characterCount === 1 ? "character" : "characters"]
|
|
61
|
+
})]
|
|
62
|
+
})]
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
export { StatusBar };
|
|
66
|
+
//# sourceMappingURL=StatusBar.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["XStack","Text","RichEditorContext","jsx","jsxs","ModeButton","label","active","onPress","fontSize","color","fontWeight","cursor","hoverStyle","userSelect","children","StatusBar","state","mode","onModeChange","_ctx","useStyledContext","borderTopWidth","borderTopColor","paddingHorizontal","paddingVertical","justifyContent","alignItems","gap","wordCount","characterCount"],"sources":["../../../src/toolbar/StatusBar.tsx"],"sourcesContent":[null],"mappings":"AAIA,SAASA,MAAA,EAAQC,IAAA,QAAY;AAC7B,SAASC,iBAAA,QAAyB;AAmB9B,SAAAC,GAAA,EA0BEC,IAAA,QA1BF;AAVJ,SAASC,WAAW;EAClBC,KAAA;EACAC,MAAA;EACAC;AACF,GAIG;EACD,OACE,eAAAL,GAAA,CAACF,IAAA;IACCQ,QAAA,EAAU;IACVC,KAAA,EAAOH,MAAA,GAAS,aAAa;IAC7BI,UAAA,EAAYJ,MAAA,GAAS,QAAQ;IAC7BK,MAAA,EAAO;IACPJ,OAAA;IACAK,UAAA,EAAY;MAAEH,KAAA,EAAO;IAAW;IAChCI,UAAA,EAAW;IAEVC,QAAA,EAAAT;EAAA,CACH;AAEJ;AAEO,SAASU,UAAU;EAAEC,KAAA;EAAOC,IAAA;EAAMC;AAAa,GAAmB;EACvE,MAAMC,IAAA,GAAOlB,iBAAA,CAAkBmB,gBAAA,CAAiB;EAEhD,OACE,eAAAjB,IAAA,CAACJ,MAAA;IACCsB,cAAA,EAAgB;IAChBC,cAAA,EAAe;IACfC,iBAAA,EAAkB;IAClBC,eAAA,EAAgB;IAChBC,cAAA,EAAe;IACfC,UAAA,EAAW;IAEXZ,QAAA,kBAAAX,IAAA,CAACJ,MAAA;MAAO4B,GAAA,EAAI;MAAOD,UAAA,EAAW;MAC5BZ,QAAA,kBAAAZ,GAAA,CAACE,UAAA;QACCC,KAAA,EAAM;QACNC,MAAA,EAAQW,IAAA,KAAS;QACjBV,OAAA,EAASA,CAAA,KAAMW,YAAA,CAAa,UAAU;MAAA,CACxC,GACA,eAAAhB,GAAA,CAACF,IAAA;QAAKQ,QAAA,EAAU;QAAIC,KAAA,EAAM;QAAUK,QAAA;MAAA,CAEpC,GACA,eAAAZ,GAAA,CAACE,UAAA;QACCC,KAAA,EAAM;QACNC,MAAA,EAAQW,IAAA,KAAS;QACjBV,OAAA,EAASA,CAAA,KAAMW,YAAA,CAAa,UAAU;MAAA,CACxC;IAAA,CACF,GACA,eAAAf,IAAA,CAACJ,MAAA;MAAO4B,GAAA,EAAI;MACVb,QAAA,kBAAAX,IAAA,CAACH,IAAA;QAAKQ,QAAA,EAAU;QAAIC,KAAA,EAAM;QACvBK,QAAA,GAAAE,KAAA,CAAMY,SAAA,EAAU,KAAEZ,KAAA,CAAMY,SAAA,KAAc,IAAI,SAAS;MAAA,CACtD,GACA,eAAAzB,IAAA,CAACH,IAAA;QAAKQ,QAAA,EAAU;QAAIC,KAAA,EAAM;QACvBK,QAAA,GAAAE,KAAA,CAAMa,cAAA,EAAe,KAAEb,KAAA,CAAMa,cAAA,KAAmB,IAAI,cAAc;MAAA,CACrE;IAAA,CACF;EAAA,CACF;AAEJ","ignoreList":[]}
|