@multiplatform.one/rich-text 6.1.0 → 6.4.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/README.md +60 -0
- package/dist/cjs/RichEditor.cjs +89 -9
- package/dist/cjs/RichEditor.native.js +444 -35
- package/dist/cjs/RichEditor.native.js.map +1 -1
- package/dist/cjs/RichTextEditor/index.cjs +20 -2
- package/dist/cjs/RichTextEditor/index.native.js +20 -2
- package/dist/cjs/RichTextEditor/index.native.js.map +1 -1
- package/dist/cjs/constants.cjs +52 -29
- package/dist/cjs/constants.native.js +59 -29
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/editor/BlockDragHandle.cjs +22 -7
- package/dist/cjs/editor/BlockDragHandle.native.js +41 -7
- package/dist/cjs/editor/BlockDragHandle.native.js.map +1 -1
- package/dist/cjs/editor/SlashCommands.cjs +257 -294
- package/dist/cjs/editor/SlashCommands.native.js +320 -341
- package/dist/cjs/editor/SlashCommands.native.js.map +1 -1
- package/dist/cjs/editor/TentapEditor.native.js +59 -12
- package/dist/cjs/editor/TentapEditor.native.js.map +1 -1
- package/dist/cjs/editor/TiptapEditor.cjs +143 -240
- package/dist/cjs/editor/TiptapEditor.native.js +163 -289
- package/dist/cjs/editor/TiptapEditor.native.js.map +1 -1
- package/dist/cjs/editor/blockAnchor.cjs +43 -0
- package/dist/cjs/editor/blockAnchor.native.js +68 -0
- package/dist/cjs/editor/blockAnchor.native.js.map +1 -0
- package/dist/cjs/editor/capabilities.cjs +37 -0
- package/dist/cjs/editor/capabilities.native.js +41 -0
- package/dist/cjs/editor/capabilities.native.js.map +1 -0
- package/dist/cjs/editor/codeBlockPreview.cjs +230 -0
- package/dist/cjs/editor/codeBlockPreview.native.js +265 -0
- package/dist/cjs/editor/codeBlockPreview.native.js.map +1 -0
- package/dist/cjs/editor/editorStyles.cjs +203 -34
- package/dist/cjs/editor/editorStyles.native.js +203 -34
- package/dist/cjs/editor/editorStyles.native.js.map +1 -1
- package/dist/cjs/editor/emoji.cjs +128 -0
- package/dist/cjs/editor/emoji.native.js +184 -0
- package/dist/cjs/editor/emoji.native.js.map +1 -0
- package/dist/cjs/editor/extensions.cjs +275 -0
- package/dist/cjs/editor/extensions.native.js +328 -0
- package/dist/cjs/editor/extensions.native.js.map +1 -0
- package/dist/cjs/editor/lazyKatex.cjs +78 -0
- package/dist/cjs/editor/lazyKatex.native.js +117 -0
- package/dist/cjs/editor/lazyKatex.native.js.map +1 -0
- package/dist/cjs/editor/markdown.cjs +216 -0
- package/dist/cjs/editor/markdown.native.js +278 -0
- package/dist/cjs/editor/markdown.native.js.map +1 -0
- package/dist/cjs/editor/mathematics.cjs +168 -0
- package/dist/cjs/editor/mathematics.native.js +202 -0
- package/dist/cjs/editor/mathematics.native.js.map +1 -0
- package/dist/cjs/editor/media.cjs +138 -0
- package/dist/cjs/editor/media.native.js +172 -0
- package/dist/cjs/editor/media.native.js.map +1 -0
- package/dist/cjs/editor/mentions.cjs +73 -0
- package/dist/cjs/editor/mentions.native.js +84 -0
- package/dist/cjs/editor/mentions.native.js.map +1 -0
- package/dist/cjs/editor/pasteCleanup.cjs +83 -0
- package/dist/cjs/editor/pasteCleanup.native.js +175 -0
- package/dist/cjs/editor/pasteCleanup.native.js.map +1 -0
- package/dist/cjs/editor/suggestionPopup.cjs +297 -0
- package/dist/cjs/editor/suggestionPopup.native.js +327 -0
- package/dist/cjs/editor/suggestionPopup.native.js.map +1 -0
- package/dist/cjs/index.cjs +5 -2
- package/dist/cjs/index.native.js +4 -1
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/preview.cjs +263 -0
- package/dist/cjs/preview.native.js +294 -0
- package/dist/cjs/preview.native.js.map +1 -0
- package/dist/cjs/shared/t.cjs +53 -0
- package/dist/cjs/shared/t.native.js +56 -0
- package/dist/cjs/shared/t.native.js.map +1 -0
- package/dist/cjs/shared/url.cjs +35 -0
- package/dist/cjs/shared/url.native.js +38 -0
- package/dist/cjs/shared/url.native.js.map +1 -0
- package/dist/cjs/styled.cjs +13 -6
- package/dist/cjs/styled.native.js +13 -6
- package/dist/cjs/styled.native.js.map +1 -1
- package/dist/cjs/toolbar/BubbleToolbar.cjs +19 -14
- package/dist/cjs/toolbar/BubbleToolbar.native.js +22 -15
- package/dist/cjs/toolbar/BubbleToolbar.native.js.map +1 -1
- package/dist/cjs/toolbar/CodeBlockBubble.cjs +59 -23
- package/dist/cjs/toolbar/CodeBlockBubble.native.js +71 -25
- package/dist/cjs/toolbar/CodeBlockBubble.native.js.map +1 -1
- package/dist/cjs/toolbar/ColorPicker.cjs +19 -54
- package/dist/cjs/toolbar/ColorPicker.native.js +81 -179
- package/dist/cjs/toolbar/ColorPicker.native.js.map +1 -1
- package/dist/cjs/toolbar/FixedToolbar.cjs +39 -13
- package/dist/cjs/toolbar/FixedToolbar.native.js +46 -54
- package/dist/cjs/toolbar/FixedToolbar.native.js.map +1 -1
- package/dist/cjs/toolbar/HeadingPicker.cjs +32 -39
- package/dist/cjs/toolbar/HeadingPicker.native.js +61 -51
- package/dist/cjs/toolbar/HeadingPicker.native.js.map +1 -1
- package/dist/cjs/toolbar/ImageBubble.cjs +20 -43
- package/dist/cjs/toolbar/ImageBubble.native.js +20 -43
- package/dist/cjs/toolbar/ImageBubble.native.js.map +1 -1
- package/dist/cjs/toolbar/ImageDialog.cjs +5 -4
- package/dist/cjs/toolbar/ImageDialog.native.js +76 -65
- package/dist/cjs/toolbar/ImageDialog.native.js.map +1 -1
- package/dist/cjs/toolbar/LinkBubble.cjs +23 -70
- package/dist/cjs/toolbar/LinkBubble.native.js +23 -70
- package/dist/cjs/toolbar/LinkBubble.native.js.map +1 -1
- package/dist/cjs/toolbar/LinkDialog.cjs +19 -18
- package/dist/cjs/toolbar/LinkDialog.native.js +86 -83
- package/dist/cjs/toolbar/LinkDialog.native.js.map +1 -1
- package/dist/cjs/toolbar/ListPicker.cjs +32 -43
- package/dist/cjs/toolbar/ListPicker.native.js +43 -44
- package/dist/cjs/toolbar/ListPicker.native.js.map +1 -1
- package/dist/cjs/toolbar/MathBubble.cjs +159 -0
- package/dist/cjs/toolbar/MathBubble.native.js +169 -0
- package/dist/cjs/toolbar/MathBubble.native.js.map +1 -0
- package/dist/cjs/toolbar/MoreDropdown.cjs +54 -93
- package/dist/cjs/toolbar/MoreDropdown.native.js +80 -93
- package/dist/cjs/toolbar/MoreDropdown.native.js.map +1 -1
- package/dist/cjs/toolbar/StatusBar.cjs +19 -10
- package/dist/cjs/toolbar/StatusBar.native.js +19 -10
- package/dist/cjs/toolbar/StatusBar.native.js.map +1 -1
- package/dist/cjs/toolbar/TableBubble.cjs +91 -96
- package/dist/cjs/toolbar/TableBubble.native.js +90 -73
- package/dist/cjs/toolbar/TableBubble.native.js.map +1 -1
- package/dist/cjs/toolbar/ToolbarButton.cjs +86 -21
- package/dist/cjs/toolbar/ToolbarButton.native.js +14 -4
- package/dist/cjs/toolbar/ToolbarButton.native.js.map +1 -1
- package/dist/cjs/toolbar/icons.cjs +111 -468
- package/dist/cjs/toolbar/shortcuts.cjs +73 -24
- package/dist/cjs/toolbar/shortcuts.native.js +73 -24
- package/dist/cjs/toolbar/shortcuts.native.js.map +1 -1
- package/dist/cjs/toolbar/useHorizontalScroll.cjs +25 -5
- package/dist/cjs/toolbar/useHorizontalScroll.native.js +25 -5
- package/dist/cjs/toolbar/useHorizontalScroll.native.js.map +1 -1
- package/dist/cjs/toolbar/useRovingFocus.cjs +80 -0
- package/dist/cjs/toolbar/useRovingFocus.native.js +113 -0
- package/dist/cjs/toolbar/useRovingFocus.native.js.map +1 -0
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/esm/RichEditor.mjs +90 -10
- package/dist/esm/RichEditor.mjs.map +1 -1
- package/dist/esm/RichEditor.native.js +447 -38
- package/dist/esm/RichEditor.native.js.map +1 -1
- package/dist/esm/RichTextEditor/index.mjs +20 -2
- package/dist/esm/RichTextEditor/index.mjs.map +1 -1
- package/dist/esm/RichTextEditor/index.native.js +20 -2
- package/dist/esm/RichTextEditor/index.native.js.map +1 -1
- package/dist/esm/constants.mjs +47 -29
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +54 -29
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/editor/BlockDragHandle.mjs +22 -7
- package/dist/esm/editor/BlockDragHandle.mjs.map +1 -1
- package/dist/esm/editor/BlockDragHandle.native.js +41 -7
- package/dist/esm/editor/BlockDragHandle.native.js.map +1 -1
- package/dist/esm/editor/SlashCommands.mjs +258 -295
- package/dist/esm/editor/SlashCommands.mjs.map +1 -1
- package/dist/esm/editor/SlashCommands.native.js +321 -342
- package/dist/esm/editor/SlashCommands.native.js.map +1 -1
- package/dist/esm/editor/TentapEditor.native.js +60 -13
- package/dist/esm/editor/TentapEditor.native.js.map +1 -1
- package/dist/esm/editor/TiptapEditor.mjs +145 -231
- package/dist/esm/editor/TiptapEditor.mjs.map +1 -1
- package/dist/esm/editor/TiptapEditor.native.js +165 -280
- package/dist/esm/editor/TiptapEditor.native.js.map +1 -1
- package/dist/esm/editor/blockAnchor.mjs +18 -0
- package/dist/esm/editor/blockAnchor.mjs.map +1 -0
- package/dist/esm/editor/blockAnchor.native.js +40 -0
- package/dist/esm/editor/blockAnchor.native.js.map +1 -0
- package/dist/esm/editor/capabilities.mjs +10 -0
- package/dist/esm/editor/capabilities.mjs.map +1 -0
- package/dist/esm/editor/capabilities.native.js +11 -0
- package/dist/esm/editor/capabilities.native.js.map +1 -0
- package/dist/esm/editor/codeBlockPreview.mjs +190 -0
- package/dist/esm/editor/codeBlockPreview.mjs.map +1 -0
- package/dist/esm/editor/codeBlockPreview.native.js +222 -0
- package/dist/esm/editor/codeBlockPreview.native.js.map +1 -0
- package/dist/esm/editor/editorStyles.mjs +203 -34
- package/dist/esm/editor/editorStyles.mjs.map +1 -1
- package/dist/esm/editor/editorStyles.native.js +203 -34
- package/dist/esm/editor/editorStyles.native.js.map +1 -1
- package/dist/esm/editor/emoji.mjs +88 -0
- package/dist/esm/editor/emoji.mjs.map +1 -0
- package/dist/esm/editor/emoji.native.js +141 -0
- package/dist/esm/editor/emoji.native.js.map +1 -0
- package/dist/esm/editor/extensions.mjs +236 -0
- package/dist/esm/editor/extensions.mjs.map +1 -0
- package/dist/esm/editor/extensions.native.js +286 -0
- package/dist/esm/editor/extensions.native.js.map +1 -0
- package/dist/esm/editor/lazyKatex.mjs +40 -0
- package/dist/esm/editor/lazyKatex.mjs.map +1 -0
- package/dist/esm/editor/lazyKatex.native.js +76 -0
- package/dist/esm/editor/lazyKatex.native.js.map +1 -0
- package/dist/esm/editor/markdown.mjs +179 -0
- package/dist/esm/editor/markdown.mjs.map +1 -0
- package/dist/esm/editor/markdown.native.js +238 -0
- package/dist/esm/editor/markdown.native.js.map +1 -0
- package/dist/esm/editor/mathematics.mjs +142 -0
- package/dist/esm/editor/mathematics.mjs.map +1 -0
- package/dist/esm/editor/mathematics.native.js +173 -0
- package/dist/esm/editor/mathematics.native.js.map +1 -0
- package/dist/esm/editor/media.mjs +113 -0
- package/dist/esm/editor/media.mjs.map +1 -0
- package/dist/esm/editor/media.native.js +144 -0
- package/dist/esm/editor/media.native.js.map +1 -0
- package/dist/esm/editor/mentions.mjs +37 -0
- package/dist/esm/editor/mentions.mjs.map +1 -0
- package/dist/esm/editor/mentions.native.js +45 -0
- package/dist/esm/editor/mentions.native.js.map +1 -0
- package/dist/esm/editor/pasteCleanup.mjs +57 -0
- package/dist/esm/editor/pasteCleanup.mjs.map +1 -0
- package/dist/esm/editor/pasteCleanup.native.js +146 -0
- package/dist/esm/editor/pasteCleanup.native.js.map +1 -0
- package/dist/esm/editor/suggestionPopup.mjs +268 -0
- package/dist/esm/editor/suggestionPopup.mjs.map +1 -0
- package/dist/esm/editor/suggestionPopup.native.js +295 -0
- package/dist/esm/editor/suggestionPopup.native.js.map +1 -0
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/preview.mjs +236 -0
- package/dist/esm/preview.mjs.map +1 -0
- package/dist/esm/preview.native.js +264 -0
- package/dist/esm/preview.native.js.map +1 -0
- package/dist/esm/shared/t.mjs +17 -0
- package/dist/esm/shared/t.mjs.map +1 -0
- package/dist/esm/shared/t.native.js +17 -0
- package/dist/esm/shared/t.native.js.map +1 -0
- package/dist/esm/shared/url.mjs +10 -0
- package/dist/esm/shared/url.mjs.map +1 -0
- package/dist/esm/shared/url.native.js +10 -0
- package/dist/esm/shared/url.native.js.map +1 -0
- package/dist/esm/styled.mjs +13 -6
- package/dist/esm/styled.mjs.map +1 -1
- package/dist/esm/styled.native.js +13 -6
- package/dist/esm/styled.native.js.map +1 -1
- package/dist/esm/toolbar/BubbleToolbar.mjs +20 -15
- package/dist/esm/toolbar/BubbleToolbar.mjs.map +1 -1
- package/dist/esm/toolbar/BubbleToolbar.native.js +23 -16
- package/dist/esm/toolbar/BubbleToolbar.native.js.map +1 -1
- package/dist/esm/toolbar/CodeBlockBubble.mjs +60 -24
- package/dist/esm/toolbar/CodeBlockBubble.mjs.map +1 -1
- package/dist/esm/toolbar/CodeBlockBubble.native.js +72 -26
- package/dist/esm/toolbar/CodeBlockBubble.native.js.map +1 -1
- package/dist/esm/toolbar/ColorPicker.mjs +21 -56
- package/dist/esm/toolbar/ColorPicker.mjs.map +1 -1
- package/dist/esm/toolbar/ColorPicker.native.js +82 -180
- package/dist/esm/toolbar/ColorPicker.native.js.map +1 -1
- package/dist/esm/toolbar/FixedToolbar.mjs +40 -14
- package/dist/esm/toolbar/FixedToolbar.mjs.map +1 -1
- package/dist/esm/toolbar/FixedToolbar.native.js +47 -55
- package/dist/esm/toolbar/FixedToolbar.native.js.map +1 -1
- package/dist/esm/toolbar/HeadingPicker.mjs +34 -41
- package/dist/esm/toolbar/HeadingPicker.mjs.map +1 -1
- package/dist/esm/toolbar/HeadingPicker.native.js +63 -53
- package/dist/esm/toolbar/HeadingPicker.native.js.map +1 -1
- package/dist/esm/toolbar/ImageBubble.mjs +20 -43
- package/dist/esm/toolbar/ImageBubble.mjs.map +1 -1
- package/dist/esm/toolbar/ImageBubble.native.js +20 -43
- package/dist/esm/toolbar/ImageBubble.native.js.map +1 -1
- package/dist/esm/toolbar/ImageDialog.mjs +5 -4
- package/dist/esm/toolbar/ImageDialog.mjs.map +1 -1
- package/dist/esm/toolbar/ImageDialog.native.js +75 -64
- package/dist/esm/toolbar/ImageDialog.native.js.map +1 -1
- package/dist/esm/toolbar/LinkBubble.mjs +23 -70
- package/dist/esm/toolbar/LinkBubble.mjs.map +1 -1
- package/dist/esm/toolbar/LinkBubble.native.js +23 -70
- package/dist/esm/toolbar/LinkBubble.native.js.map +1 -1
- package/dist/esm/toolbar/LinkDialog.mjs +17 -16
- package/dist/esm/toolbar/LinkDialog.mjs.map +1 -1
- package/dist/esm/toolbar/LinkDialog.native.js +84 -80
- package/dist/esm/toolbar/LinkDialog.native.js.map +1 -1
- package/dist/esm/toolbar/ListPicker.mjs +33 -44
- package/dist/esm/toolbar/ListPicker.mjs.map +1 -1
- package/dist/esm/toolbar/ListPicker.native.js +44 -45
- package/dist/esm/toolbar/ListPicker.native.js.map +1 -1
- package/dist/esm/toolbar/MathBubble.mjs +134 -0
- package/dist/esm/toolbar/MathBubble.mjs.map +1 -0
- package/dist/esm/toolbar/MathBubble.native.js +141 -0
- package/dist/esm/toolbar/MathBubble.native.js.map +1 -0
- package/dist/esm/toolbar/MoreDropdown.mjs +53 -92
- package/dist/esm/toolbar/MoreDropdown.mjs.map +1 -1
- package/dist/esm/toolbar/MoreDropdown.native.js +79 -92
- package/dist/esm/toolbar/MoreDropdown.native.js.map +1 -1
- package/dist/esm/toolbar/StatusBar.mjs +19 -10
- package/dist/esm/toolbar/StatusBar.mjs.map +1 -1
- package/dist/esm/toolbar/StatusBar.native.js +19 -10
- package/dist/esm/toolbar/StatusBar.native.js.map +1 -1
- package/dist/esm/toolbar/TableBubble.mjs +91 -96
- package/dist/esm/toolbar/TableBubble.mjs.map +1 -1
- package/dist/esm/toolbar/TableBubble.native.js +90 -73
- package/dist/esm/toolbar/TableBubble.native.js.map +1 -1
- package/dist/esm/toolbar/ToolbarButton.mjs +87 -22
- package/dist/esm/toolbar/ToolbarButton.mjs.map +1 -1
- package/dist/esm/toolbar/ToolbarButton.native.js +14 -4
- package/dist/esm/toolbar/ToolbarButton.native.js.map +1 -1
- package/dist/esm/toolbar/icons.mjs +109 -469
- package/dist/esm/toolbar/icons.mjs.map +1 -1
- package/dist/esm/toolbar/shortcuts.mjs +73 -24
- package/dist/esm/toolbar/shortcuts.mjs.map +1 -1
- package/dist/esm/toolbar/shortcuts.native.js +73 -24
- package/dist/esm/toolbar/shortcuts.native.js.map +1 -1
- package/dist/esm/toolbar/useHorizontalScroll.mjs +25 -6
- package/dist/esm/toolbar/useHorizontalScroll.mjs.map +1 -1
- package/dist/esm/toolbar/useHorizontalScroll.native.js +25 -6
- package/dist/esm/toolbar/useHorizontalScroll.native.js.map +1 -1
- package/dist/esm/toolbar/useRovingFocus.mjs +55 -0
- package/dist/esm/toolbar/useRovingFocus.mjs.map +1 -0
- package/dist/esm/toolbar/useRovingFocus.native.js +85 -0
- package/dist/esm/toolbar/useRovingFocus.native.js.map +1 -0
- package/dist/esm/types.mjs.map +1 -1
- package/dist/esm/types.native.js.map +1 -1
- package/dist/jsx/RichEditor.mjs +90 -10
- package/dist/jsx/RichEditor.mjs.map +1 -1
- package/dist/jsx/RichEditor.native.js +444 -35
- package/dist/jsx/RichEditor.native.js.map +1 -1
- package/dist/jsx/RichTextEditor/index.mjs +20 -2
- package/dist/jsx/RichTextEditor/index.mjs.map +1 -1
- package/dist/jsx/RichTextEditor/index.native.js +20 -2
- package/dist/jsx/RichTextEditor/index.native.js.map +1 -1
- package/dist/jsx/constants.mjs +47 -29
- package/dist/jsx/constants.mjs.map +1 -1
- package/dist/jsx/constants.native.js +59 -29
- package/dist/jsx/constants.native.js.map +1 -1
- package/dist/jsx/editor/BlockDragHandle.mjs +22 -7
- package/dist/jsx/editor/BlockDragHandle.mjs.map +1 -1
- package/dist/jsx/editor/BlockDragHandle.native.js +41 -7
- package/dist/jsx/editor/BlockDragHandle.native.js.map +1 -1
- package/dist/jsx/editor/SlashCommands.mjs +258 -295
- package/dist/jsx/editor/SlashCommands.mjs.map +1 -1
- package/dist/jsx/editor/SlashCommands.native.js +320 -341
- package/dist/jsx/editor/SlashCommands.native.js.map +1 -1
- package/dist/jsx/editor/TentapEditor.native.js +59 -12
- package/dist/jsx/editor/TentapEditor.native.js.map +1 -1
- package/dist/jsx/editor/TiptapEditor.mjs +145 -231
- package/dist/jsx/editor/TiptapEditor.mjs.map +1 -1
- package/dist/jsx/editor/TiptapEditor.native.js +163 -289
- package/dist/jsx/editor/TiptapEditor.native.js.map +1 -1
- package/dist/jsx/editor/blockAnchor.mjs +18 -0
- package/dist/jsx/editor/blockAnchor.mjs.map +1 -0
- package/dist/jsx/editor/blockAnchor.native.js +68 -0
- package/dist/jsx/editor/blockAnchor.native.js.map +1 -0
- package/dist/jsx/editor/capabilities.mjs +10 -0
- package/dist/jsx/editor/capabilities.mjs.map +1 -0
- package/dist/jsx/editor/capabilities.native.js +41 -0
- package/dist/jsx/editor/capabilities.native.js.map +1 -0
- package/dist/jsx/editor/codeBlockPreview.mjs +190 -0
- package/dist/jsx/editor/codeBlockPreview.mjs.map +1 -0
- package/dist/jsx/editor/codeBlockPreview.native.js +265 -0
- package/dist/jsx/editor/codeBlockPreview.native.js.map +1 -0
- package/dist/jsx/editor/editorStyles.mjs +203 -34
- package/dist/jsx/editor/editorStyles.mjs.map +1 -1
- package/dist/jsx/editor/editorStyles.native.js +203 -34
- package/dist/jsx/editor/editorStyles.native.js.map +1 -1
- package/dist/jsx/editor/emoji.mjs +88 -0
- package/dist/jsx/editor/emoji.mjs.map +1 -0
- package/dist/jsx/editor/emoji.native.js +184 -0
- package/dist/jsx/editor/emoji.native.js.map +1 -0
- package/dist/jsx/editor/extensions.mjs +236 -0
- package/dist/jsx/editor/extensions.mjs.map +1 -0
- package/dist/jsx/editor/extensions.native.js +328 -0
- package/dist/jsx/editor/extensions.native.js.map +1 -0
- package/dist/jsx/editor/lazyKatex.mjs +40 -0
- package/dist/jsx/editor/lazyKatex.mjs.map +1 -0
- package/dist/jsx/editor/lazyKatex.native.js +117 -0
- package/dist/jsx/editor/lazyKatex.native.js.map +1 -0
- package/dist/jsx/editor/markdown.mjs +179 -0
- package/dist/jsx/editor/markdown.mjs.map +1 -0
- package/dist/jsx/editor/markdown.native.js +278 -0
- package/dist/jsx/editor/markdown.native.js.map +1 -0
- package/dist/jsx/editor/mathematics.mjs +142 -0
- package/dist/jsx/editor/mathematics.mjs.map +1 -0
- package/dist/jsx/editor/mathematics.native.js +202 -0
- package/dist/jsx/editor/mathematics.native.js.map +1 -0
- package/dist/jsx/editor/media.mjs +113 -0
- package/dist/jsx/editor/media.mjs.map +1 -0
- package/dist/jsx/editor/media.native.js +172 -0
- package/dist/jsx/editor/media.native.js.map +1 -0
- package/dist/jsx/editor/mentions.mjs +37 -0
- package/dist/jsx/editor/mentions.mjs.map +1 -0
- package/dist/jsx/editor/mentions.native.js +84 -0
- package/dist/jsx/editor/mentions.native.js.map +1 -0
- package/dist/jsx/editor/pasteCleanup.mjs +57 -0
- package/dist/jsx/editor/pasteCleanup.mjs.map +1 -0
- package/dist/jsx/editor/pasteCleanup.native.js +175 -0
- package/dist/jsx/editor/pasteCleanup.native.js.map +1 -0
- package/dist/jsx/editor/suggestionPopup.mjs +268 -0
- package/dist/jsx/editor/suggestionPopup.mjs.map +1 -0
- package/dist/jsx/editor/suggestionPopup.native.js +327 -0
- package/dist/jsx/editor/suggestionPopup.native.js.map +1 -0
- package/dist/jsx/index.js +2 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +2 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +4 -1
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/preview.mjs +236 -0
- package/dist/jsx/preview.mjs.map +1 -0
- package/dist/jsx/preview.native.js +294 -0
- package/dist/jsx/preview.native.js.map +1 -0
- package/dist/jsx/shared/t.mjs +17 -0
- package/dist/jsx/shared/t.mjs.map +1 -0
- package/dist/jsx/shared/t.native.js +56 -0
- package/dist/jsx/shared/t.native.js.map +1 -0
- package/dist/jsx/shared/url.mjs +10 -0
- package/dist/jsx/shared/url.mjs.map +1 -0
- package/dist/jsx/shared/url.native.js +38 -0
- package/dist/jsx/shared/url.native.js.map +1 -0
- package/dist/jsx/styled.mjs +13 -6
- package/dist/jsx/styled.mjs.map +1 -1
- package/dist/jsx/styled.native.js +13 -6
- package/dist/jsx/styled.native.js.map +1 -1
- package/dist/jsx/toolbar/BubbleToolbar.mjs +20 -15
- package/dist/jsx/toolbar/BubbleToolbar.mjs.map +1 -1
- package/dist/jsx/toolbar/BubbleToolbar.native.js +22 -15
- package/dist/jsx/toolbar/BubbleToolbar.native.js.map +1 -1
- package/dist/jsx/toolbar/CodeBlockBubble.mjs +60 -24
- package/dist/jsx/toolbar/CodeBlockBubble.mjs.map +1 -1
- package/dist/jsx/toolbar/CodeBlockBubble.native.js +71 -25
- package/dist/jsx/toolbar/CodeBlockBubble.native.js.map +1 -1
- package/dist/jsx/toolbar/ColorPicker.mjs +21 -56
- package/dist/jsx/toolbar/ColorPicker.mjs.map +1 -1
- package/dist/jsx/toolbar/ColorPicker.native.js +81 -179
- package/dist/jsx/toolbar/ColorPicker.native.js.map +1 -1
- package/dist/jsx/toolbar/FixedToolbar.mjs +40 -14
- package/dist/jsx/toolbar/FixedToolbar.mjs.map +1 -1
- package/dist/jsx/toolbar/FixedToolbar.native.js +46 -54
- package/dist/jsx/toolbar/FixedToolbar.native.js.map +1 -1
- package/dist/jsx/toolbar/HeadingPicker.mjs +34 -41
- package/dist/jsx/toolbar/HeadingPicker.mjs.map +1 -1
- package/dist/jsx/toolbar/HeadingPicker.native.js +61 -51
- package/dist/jsx/toolbar/HeadingPicker.native.js.map +1 -1
- package/dist/jsx/toolbar/ImageBubble.mjs +20 -43
- package/dist/jsx/toolbar/ImageBubble.mjs.map +1 -1
- package/dist/jsx/toolbar/ImageBubble.native.js +20 -43
- package/dist/jsx/toolbar/ImageBubble.native.js.map +1 -1
- package/dist/jsx/toolbar/ImageDialog.mjs +5 -4
- package/dist/jsx/toolbar/ImageDialog.mjs.map +1 -1
- package/dist/jsx/toolbar/ImageDialog.native.js +76 -65
- package/dist/jsx/toolbar/ImageDialog.native.js.map +1 -1
- package/dist/jsx/toolbar/LinkBubble.mjs +23 -70
- package/dist/jsx/toolbar/LinkBubble.mjs.map +1 -1
- package/dist/jsx/toolbar/LinkBubble.native.js +23 -70
- package/dist/jsx/toolbar/LinkBubble.native.js.map +1 -1
- package/dist/jsx/toolbar/LinkDialog.mjs +17 -16
- package/dist/jsx/toolbar/LinkDialog.mjs.map +1 -1
- package/dist/jsx/toolbar/LinkDialog.native.js +86 -83
- package/dist/jsx/toolbar/LinkDialog.native.js.map +1 -1
- package/dist/jsx/toolbar/ListPicker.mjs +33 -44
- package/dist/jsx/toolbar/ListPicker.mjs.map +1 -1
- package/dist/jsx/toolbar/ListPicker.native.js +43 -44
- package/dist/jsx/toolbar/ListPicker.native.js.map +1 -1
- package/dist/jsx/toolbar/MathBubble.mjs +134 -0
- package/dist/jsx/toolbar/MathBubble.mjs.map +1 -0
- package/dist/jsx/toolbar/MathBubble.native.js +169 -0
- package/dist/jsx/toolbar/MathBubble.native.js.map +1 -0
- package/dist/jsx/toolbar/MoreDropdown.mjs +53 -92
- package/dist/jsx/toolbar/MoreDropdown.mjs.map +1 -1
- package/dist/jsx/toolbar/MoreDropdown.native.js +80 -93
- package/dist/jsx/toolbar/MoreDropdown.native.js.map +1 -1
- package/dist/jsx/toolbar/StatusBar.mjs +19 -10
- package/dist/jsx/toolbar/StatusBar.mjs.map +1 -1
- package/dist/jsx/toolbar/StatusBar.native.js +19 -10
- package/dist/jsx/toolbar/StatusBar.native.js.map +1 -1
- package/dist/jsx/toolbar/TableBubble.mjs +91 -96
- package/dist/jsx/toolbar/TableBubble.mjs.map +1 -1
- package/dist/jsx/toolbar/TableBubble.native.js +90 -73
- package/dist/jsx/toolbar/TableBubble.native.js.map +1 -1
- package/dist/jsx/toolbar/ToolbarButton.mjs +87 -22
- package/dist/jsx/toolbar/ToolbarButton.mjs.map +1 -1
- package/dist/jsx/toolbar/ToolbarButton.native.js +14 -4
- package/dist/jsx/toolbar/ToolbarButton.native.js.map +1 -1
- package/dist/jsx/toolbar/icons.mjs +109 -469
- package/dist/jsx/toolbar/icons.mjs.map +1 -1
- package/dist/jsx/toolbar/shortcuts.mjs +73 -24
- package/dist/jsx/toolbar/shortcuts.mjs.map +1 -1
- package/dist/jsx/toolbar/shortcuts.native.js +73 -24
- package/dist/jsx/toolbar/shortcuts.native.js.map +1 -1
- package/dist/jsx/toolbar/useHorizontalScroll.mjs +25 -6
- package/dist/jsx/toolbar/useHorizontalScroll.mjs.map +1 -1
- package/dist/jsx/toolbar/useHorizontalScroll.native.js +25 -5
- package/dist/jsx/toolbar/useHorizontalScroll.native.js.map +1 -1
- package/dist/jsx/toolbar/useRovingFocus.mjs +55 -0
- package/dist/jsx/toolbar/useRovingFocus.mjs.map +1 -0
- package/dist/jsx/toolbar/useRovingFocus.native.js +113 -0
- package/dist/jsx/toolbar/useRovingFocus.native.js.map +1 -0
- package/dist/jsx/types.mjs.map +1 -1
- package/dist/jsx/types.native.js.map +1 -1
- package/package.json +28 -13
- package/src/RichEditor.native.tsx +471 -49
- package/src/RichEditor.stories.tsx +190 -0
- package/src/RichEditor.tsx +126 -7
- package/src/RichTextEditor/index.tsx +54 -3
- package/src/RichTextEditor/richTextEditor.spec.tsx +11 -4
- package/src/constants.ts +86 -24
- package/src/editor/BlockDragHandle.ts +30 -5
- package/src/editor/SlashCommands.tsx +238 -293
- package/src/editor/TentapEditor.native.tsx +81 -17
- package/src/editor/TiptapEditor.tsx +202 -265
- package/src/editor/blockAnchor.spec.ts +70 -0
- package/src/editor/blockAnchor.ts +42 -0
- package/src/editor/capabilities.spec.ts +190 -0
- package/src/editor/capabilities.ts +76 -0
- package/src/editor/codeBlockPreview.spec.ts +144 -0
- package/src/editor/codeBlockPreview.ts +266 -0
- package/src/editor/css.d.ts +2 -0
- package/src/editor/details.spec.ts +48 -0
- package/src/editor/editorStyles.spec.ts +25 -0
- package/src/editor/editorStyles.ts +218 -34
- package/src/editor/emoji.spec.ts +88 -0
- package/src/editor/emoji.ts +147 -0
- package/src/editor/emojilib.d.ts +16 -0
- package/src/editor/extensions.ts +315 -0
- package/src/editor/lazyKatex.spec.ts +38 -0
- package/src/editor/lazyKatex.ts +68 -0
- package/src/editor/markdown.spec.ts +196 -0
- package/src/editor/markdown.ts +249 -0
- package/src/editor/mathematics.spec.ts +97 -0
- package/src/editor/mathematics.ts +179 -0
- package/src/editor/media.spec.ts +121 -0
- package/src/editor/media.ts +133 -0
- package/src/editor/mentions.spec.ts +41 -0
- package/src/editor/mentions.ts +55 -0
- package/src/editor/pasteCleanup.spec.ts +84 -0
- package/src/editor/pasteCleanup.ts +124 -0
- package/src/editor/suggestionPopup.spec.tsx +105 -0
- package/src/editor/suggestionPopup.tsx +414 -0
- package/src/editor/tiptapEditor.spec.tsx +15 -8
- package/src/exports.spec.ts +4 -2
- package/src/index.ts +10 -1
- package/src/integration.spec.tsx +38 -9
- package/src/preview.spec.ts +130 -0
- package/src/preview.ts +287 -0
- package/src/richEditor.spec.tsx +10 -3
- package/src/shared/t.ts +25 -0
- package/src/shared/url.ts +16 -0
- package/src/styled.ts +13 -6
- package/src/toolbar/BubbleToolbar.tsx +48 -33
- package/src/toolbar/CodeBlockBubble.tsx +66 -28
- package/src/toolbar/ColorPicker.native.tsx +126 -0
- package/src/toolbar/ColorPicker.tsx +23 -67
- package/src/toolbar/FixedToolbar.native.tsx +51 -51
- package/src/toolbar/FixedToolbar.tsx +73 -21
- package/src/toolbar/HeadingPicker.tsx +46 -38
- package/src/toolbar/ImageBubble.tsx +26 -44
- package/src/toolbar/ImageDialog.native.tsx +97 -0
- package/src/toolbar/ImageDialog.tsx +5 -4
- package/src/toolbar/LinkBubble.tsx +27 -64
- package/src/toolbar/LinkDialog.native.tsx +117 -0
- package/src/toolbar/LinkDialog.tsx +28 -24
- package/src/toolbar/ListPicker.tsx +47 -43
- package/src/toolbar/MathBubble.tsx +140 -0
- package/src/toolbar/MoreDropdown.tsx +79 -62
- package/src/toolbar/StatusBar.tsx +13 -8
- package/src/toolbar/TableBubble.tsx +136 -95
- package/src/toolbar/ToolbarButton.native.tsx +14 -4
- package/src/toolbar/ToolbarButton.tsx +98 -19
- package/src/toolbar/bubbleToolbar.spec.tsx +2 -1
- package/src/toolbar/fixedToolbar.spec.tsx +4 -2
- package/src/toolbar/icons.tsx +113 -323
- package/src/toolbar/shortcuts.ts +77 -24
- package/src/toolbar/toolbarPrimitives.spec.tsx +29 -1
- package/src/toolbar/toolbarSubComponents.spec.tsx +4 -2
- package/src/toolbar/useHorizontalScroll.spec.ts +67 -0
- package/src/toolbar/useHorizontalScroll.tsx +39 -12
- package/src/toolbar/useRovingFocus.spec.tsx +100 -0
- package/src/toolbar/useRovingFocus.ts +82 -0
- package/src/types.spec.ts +40 -1
- package/src/types.ts +56 -1
- package/types/RichEditor.d.ts +51 -0
- package/types/RichEditor.d.ts.map +1 -0
- package/types/RichEditor.native.d.ts +59 -0
- package/types/RichEditor.native.d.ts.map +1 -0
- package/types/RichTextEditor/index.d.ts +77 -0
- package/types/RichTextEditor/index.d.ts.map +1 -0
- package/types/constants.d.ts +49 -0
- package/types/constants.d.ts.map +1 -0
- package/types/context.d.ts +10 -0
- package/types/context.d.ts.map +1 -0
- package/types/editor/BlockDragHandle.d.ts +8 -0
- package/types/editor/BlockDragHandle.d.ts.map +1 -0
- package/types/editor/MarkdownPaste.d.ts +8 -0
- package/types/editor/MarkdownPaste.d.ts.map +1 -0
- package/types/editor/SlashCommands.d.ts +24 -0
- package/types/editor/SlashCommands.d.ts.map +1 -0
- package/types/editor/TentapEditor.native.d.ts +21 -0
- package/types/editor/TentapEditor.native.d.ts.map +1 -0
- package/types/editor/TiptapEditor.d.ts +24 -0
- package/types/editor/TiptapEditor.d.ts.map +1 -0
- package/types/editor/blockAnchor.d.ts +25 -0
- package/types/editor/blockAnchor.d.ts.map +1 -0
- package/types/editor/capabilities.d.ts +29 -0
- package/types/editor/capabilities.d.ts.map +1 -0
- package/types/editor/codeBlockPreview.d.ts +51 -0
- package/types/editor/codeBlockPreview.d.ts.map +1 -0
- package/types/editor/editorStyles.d.ts +25 -0
- package/types/editor/editorStyles.d.ts.map +1 -0
- package/types/editor/emoji.d.ts +45 -0
- package/types/editor/emoji.d.ts.map +1 -0
- package/types/editor/extensions.d.ts +41 -0
- package/types/editor/extensions.d.ts.map +1 -0
- package/types/editor/index.d.ts +11 -0
- package/types/editor/index.d.ts.map +1 -0
- package/types/editor/lazyKatex.d.ts +33 -0
- package/types/editor/lazyKatex.d.ts.map +1 -0
- package/types/editor/markdown.d.ts +24 -0
- package/types/editor/markdown.d.ts.map +1 -0
- package/types/editor/mathematics.d.ts +44 -0
- package/types/editor/mathematics.d.ts.map +1 -0
- package/types/editor/media.d.ts +32 -0
- package/types/editor/media.d.ts.map +1 -0
- package/types/editor/mentions.d.ts +15 -0
- package/types/editor/mentions.d.ts.map +1 -0
- package/types/editor/pasteCleanup.d.ts +24 -0
- package/types/editor/pasteCleanup.d.ts.map +1 -0
- package/types/editor/suggestionPopup.d.ts +113 -0
- package/types/editor/suggestionPopup.d.ts.map +1 -0
- package/types/editor/types.d.ts +80 -0
- package/types/editor/types.d.ts.map +1 -0
- package/types/editor/useEditorState.d.ts +19 -0
- package/types/editor/useEditorState.d.ts.map +1 -0
- package/types/index.d.ts +12 -0
- package/types/index.d.ts.map +1 -0
- package/types/preview.d.ts +44 -0
- package/types/preview.d.ts.map +1 -0
- package/types/shared/t.d.ts +10 -0
- package/types/shared/t.d.ts.map +1 -0
- package/types/shared/url.d.ts +9 -0
- package/types/shared/url.d.ts.map +1 -0
- package/types/styled.d.ts +40 -0
- package/types/styled.d.ts.map +1 -0
- package/types/toolbar/BubbleToolbar.d.ts +25 -0
- package/types/toolbar/BubbleToolbar.d.ts.map +1 -0
- package/types/toolbar/CodeBlockBubble.d.ts +10 -0
- package/types/toolbar/CodeBlockBubble.d.ts.map +1 -0
- package/types/toolbar/ColorPicker.d.ts +15 -0
- package/types/toolbar/ColorPicker.d.ts.map +1 -0
- package/types/toolbar/ColorPicker.native.d.ts +20 -0
- package/types/toolbar/ColorPicker.native.d.ts.map +1 -0
- package/types/toolbar/FixedToolbar.d.ts +34 -0
- package/types/toolbar/FixedToolbar.d.ts.map +1 -0
- package/types/toolbar/FixedToolbar.native.d.ts +30 -0
- package/types/toolbar/FixedToolbar.native.d.ts.map +1 -0
- package/types/toolbar/HeadingPicker.d.ts +14 -0
- package/types/toolbar/HeadingPicker.d.ts.map +1 -0
- package/types/toolbar/ImageBubble.d.ts +10 -0
- package/types/toolbar/ImageBubble.d.ts.map +1 -0
- package/types/toolbar/ImageDialog.d.ts +12 -0
- package/types/toolbar/ImageDialog.d.ts.map +1 -0
- package/types/toolbar/ImageDialog.native.d.ts +15 -0
- package/types/toolbar/ImageDialog.native.d.ts.map +1 -0
- package/types/toolbar/LinkBubble.d.ts +10 -0
- package/types/toolbar/LinkBubble.d.ts.map +1 -0
- package/types/toolbar/LinkDialog.d.ts +20 -0
- package/types/toolbar/LinkDialog.d.ts.map +1 -0
- package/types/toolbar/LinkDialog.native.d.ts +18 -0
- package/types/toolbar/LinkDialog.native.d.ts.map +1 -0
- package/types/toolbar/ListPicker.d.ts +14 -0
- package/types/toolbar/ListPicker.d.ts.map +1 -0
- package/types/toolbar/MathBubble.d.ts +11 -0
- package/types/toolbar/MathBubble.d.ts.map +1 -0
- package/types/toolbar/MoreDropdown.d.ts +15 -0
- package/types/toolbar/MoreDropdown.d.ts.map +1 -0
- package/types/toolbar/ResizeHandle.d.ts +11 -0
- package/types/toolbar/ResizeHandle.d.ts.map +1 -0
- package/types/toolbar/StatusBar.d.ts +11 -0
- package/types/toolbar/StatusBar.d.ts.map +1 -0
- package/types/toolbar/TableBubble.d.ts +13 -0
- package/types/toolbar/TableBubble.d.ts.map +1 -0
- package/types/toolbar/ToolbarButton.d.ts +35 -0
- package/types/toolbar/ToolbarButton.d.ts.map +1 -0
- package/types/toolbar/ToolbarButton.native.d.ts +30 -0
- package/types/toolbar/ToolbarButton.native.d.ts.map +1 -0
- package/types/toolbar/ToolbarGroup.d.ts +14 -0
- package/types/toolbar/ToolbarGroup.d.ts.map +1 -0
- package/types/toolbar/icons.d.ts +52 -0
- package/types/toolbar/icons.d.ts.map +1 -0
- package/types/toolbar/icons.native.d.ts +41 -0
- package/types/toolbar/icons.native.d.ts.map +1 -0
- package/types/toolbar/shortcuts.d.ts +34 -0
- package/types/toolbar/shortcuts.d.ts.map +1 -0
- package/types/toolbar/useHorizontalScroll.d.ts +43 -0
- package/types/toolbar/useHorizontalScroll.d.ts.map +1 -0
- package/types/toolbar/useRovingFocus.d.ts +10 -0
- package/types/toolbar/useRovingFocus.d.ts.map +1 -0
- package/types/types.d.ts +147 -0
- package/types/types.d.ts.map +1 -0
- package/dist/cjs/RichEditor.stories.cjs +0 -327
- package/dist/cjs/RichEditor.stories.native.js +0 -342
- package/dist/cjs/RichEditor.stories.native.js.map +0 -1
- package/dist/esm/RichEditor.stories.mjs +0 -291
- package/dist/esm/RichEditor.stories.mjs.map +0 -1
- package/dist/esm/RichEditor.stories.native.js +0 -303
- package/dist/esm/RichEditor.stories.native.js.map +0 -1
- package/dist/jsx/RichEditor.stories.mjs +0 -291
- package/dist/jsx/RichEditor.stories.mjs.map +0 -1
- package/dist/jsx/RichEditor.stories.native.js +0 -342
- package/dist/jsx/RichEditor.stories.native.js.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
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 url_exports = {};
|
|
24
|
+
__export(url_exports, {
|
|
25
|
+
normalizeUrl: () => normalizeUrl
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(url_exports);
|
|
28
|
+
function normalizeUrl(url) {
|
|
29
|
+
const trimmed = url.trim();
|
|
30
|
+
if (!trimmed) return trimmed;
|
|
31
|
+
if (/^https?:\/\//i.test(trimmed)) return trimmed;
|
|
32
|
+
if (/^mailto:/i.test(trimmed)) return trimmed;
|
|
33
|
+
if (/^tel:/i.test(trimmed)) return trimmed;
|
|
34
|
+
return `https://${trimmed}`;
|
|
35
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
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 url_exports = {};
|
|
26
|
+
__export(url_exports, {
|
|
27
|
+
normalizeUrl: () => normalizeUrl
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(url_exports);
|
|
30
|
+
function normalizeUrl(url) {
|
|
31
|
+
var trimmed = url.trim();
|
|
32
|
+
if (!trimmed) return trimmed;
|
|
33
|
+
if (/^https?:\/\//i.test(trimmed)) return trimmed;
|
|
34
|
+
if (/^mailto:/i.test(trimmed)) return trimmed;
|
|
35
|
+
if (/^tel:/i.test(trimmed)) return trimmed;
|
|
36
|
+
return `https://${trimmed}`;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=url.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","url_exports","__export","normalizeUrl","module","exports","url","trimmed","trim","test"],"sources":["../../../src/shared/url.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,WAAA;AAAAC,QAAA,CAAAD,WAAA;EAAAE,YAAA,EAAAA,CAAA,KAAAA;AAAA;AAQOC,MAAA,CAAAC,OAAS,GAAAT,YAAkC,CAAAK,WAAA;AAChD,SAAME,YAAUA,CAAIG,GAAA,EAAK;EACzB,IAAIC,OAAC,GAASD,GAAA,CAAAE,IAAO;EACrB,IAAI,CAAAD,OAAA,SAAgBA,OAAK;EACzB,IAAI,eAAY,CAAAE,IAAK,CAAAF,OAAU,UAAOA,OAAA;EACtC,IAAI,WAAS,CAAAE,IAAK,CAAAF,OAAU,UAAOA,OAAA;EACnC,YAAO,CAAAE,IAAA,CAAWF,OAAO,UAAAA,OAAA;EAC3B,kBAAAA,OAAA","ignoreList":[]}
|
package/dist/cjs/styled.cjs
CHANGED
|
@@ -30,6 +30,7 @@ __export(styled_exports, {
|
|
|
30
30
|
});
|
|
31
31
|
module.exports = __toCommonJS(styled_exports);
|
|
32
32
|
var import_tamagui = require("tamagui");
|
|
33
|
+
var import_theme = require("@multiplatform.one/theme");
|
|
33
34
|
var import_context = require("./context.cjs");
|
|
34
35
|
const EditorFrame = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
35
36
|
name: "EditorFrame",
|
|
@@ -134,23 +135,29 @@ const ToolbarSeparatorFrame = (0, import_tamagui.styled)(import_tamagui.Separato
|
|
|
134
135
|
const DropdownMenuItemFrame = (0, import_tamagui.styled)(import_tamagui.XStack, {
|
|
135
136
|
name: "DropdownMenuItemFrame",
|
|
136
137
|
context: import_context.RichEditorContext,
|
|
137
|
-
|
|
138
|
+
// SP-EDGE geometry comes from the shared LC-16 `menuRowFrame` recipe
|
|
139
|
+
// (theme): full-width row, own horizontal padding, flat corners, no focus
|
|
140
|
+
// outline — the same frame DropdownMenu items, Select options, and
|
|
141
|
+
// MentionInput suggestions use. Menu-only concerns stay local: cursor,
|
|
142
|
+
// gap, vertical padding, and the color ramp.
|
|
143
|
+
...import_theme.menuRowFrame,
|
|
144
|
+
// Pressable rows must expose a real control role — without it screen
|
|
145
|
+
// readers (and role-based queries) see an unnamed generic div.
|
|
146
|
+
role: "button",
|
|
138
147
|
paddingVertical: "$2",
|
|
139
148
|
gap: "$2",
|
|
140
|
-
alignItems: "center",
|
|
141
149
|
cursor: "pointer",
|
|
142
|
-
borderRadius: "$2",
|
|
143
150
|
hoverStyle: {
|
|
144
151
|
backgroundColor: "$color4"
|
|
145
152
|
},
|
|
146
153
|
pressStyle: {
|
|
147
154
|
backgroundColor: "$color5"
|
|
148
155
|
},
|
|
156
|
+
// Focus highlight doubles as the focus indicator (full-width row);
|
|
157
|
+
// menuRowFrame suppresses the outline by design.
|
|
149
158
|
focusVisibleStyle: {
|
|
150
159
|
backgroundColor: "$color4",
|
|
151
|
-
|
|
152
|
-
outlineStyle: "solid",
|
|
153
|
-
outlineWidth: 2
|
|
160
|
+
outlineStyle: "none"
|
|
154
161
|
},
|
|
155
162
|
variants: {
|
|
156
163
|
active: {
|
|
@@ -32,6 +32,7 @@ __export(styled_exports, {
|
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(styled_exports);
|
|
34
34
|
var import_tamagui = require("tamagui");
|
|
35
|
+
var import_theme = require("@multiplatform.one/theme");
|
|
35
36
|
var import_context = require("./context.native.js");
|
|
36
37
|
var EditorFrame = (0, import_tamagui.styled)(import_tamagui.View, {
|
|
37
38
|
name: "EditorFrame",
|
|
@@ -143,23 +144,29 @@ var ToolbarSeparatorFrame = (0, import_tamagui.styled)(import_tamagui.Separator,
|
|
|
143
144
|
var DropdownMenuItemFrame = (0, import_tamagui.styled)(import_tamagui.XStack, {
|
|
144
145
|
name: "DropdownMenuItemFrame",
|
|
145
146
|
context: import_context.RichEditorContext,
|
|
146
|
-
|
|
147
|
+
// SP-EDGE geometry comes from the shared LC-16 `menuRowFrame` recipe
|
|
148
|
+
// (theme): full-width row, own horizontal padding, flat corners, no focus
|
|
149
|
+
// outline — the same frame DropdownMenu items, Select options, and
|
|
150
|
+
// MentionInput suggestions use. Menu-only concerns stay local: cursor,
|
|
151
|
+
// gap, vertical padding, and the color ramp.
|
|
152
|
+
...import_theme.menuRowFrame,
|
|
153
|
+
// Pressable rows must expose a real control role — without it screen
|
|
154
|
+
// readers (and role-based queries) see an unnamed generic div.
|
|
155
|
+
role: "button",
|
|
147
156
|
paddingVertical: "$2",
|
|
148
157
|
gap: "$2",
|
|
149
|
-
alignItems: "center",
|
|
150
158
|
cursor: "pointer",
|
|
151
|
-
borderRadius: "$2",
|
|
152
159
|
hoverStyle: {
|
|
153
160
|
backgroundColor: "$color4"
|
|
154
161
|
},
|
|
155
162
|
pressStyle: {
|
|
156
163
|
backgroundColor: "$color5"
|
|
157
164
|
},
|
|
165
|
+
// Focus highlight doubles as the focus indicator (full-width row);
|
|
166
|
+
// menuRowFrame suppresses the outline by design.
|
|
158
167
|
focusVisibleStyle: {
|
|
159
168
|
backgroundColor: "$color4",
|
|
160
|
-
|
|
161
|
-
outlineStyle: "solid",
|
|
162
|
-
outlineWidth: 2
|
|
169
|
+
outlineStyle: "none"
|
|
163
170
|
},
|
|
164
171
|
variants: {
|
|
165
172
|
active: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","styled_exports","__export","DropdownMenuItemFrame","EditorFrame","ToolbarFrame","ToolbarGroupFrame","ToolbarSeparatorFrame","module","exports","import_tamagui","require","import_context","styled","View","name","context","RichEditorContext","borderWidth","borderColor","backgroundColor","overflow","variants","hasError","true","size","...size","_val","param","tokens","_tokens","compact","false","disabled","opacity","pointerEvents","XStack","borderBottomWidth","borderBottomColor","paddingVertical","position","alignItems","gap","Separator","vertical","width","height","marginHorizontal","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","styled_exports","__export","DropdownMenuItemFrame","EditorFrame","ToolbarFrame","ToolbarGroupFrame","ToolbarSeparatorFrame","module","exports","import_tamagui","require","import_theme","import_context","styled","View","name","context","RichEditorContext","borderWidth","borderColor","backgroundColor","overflow","variants","hasError","true","size","...size","_val","param","tokens","_tokens","compact","false","disabled","opacity","pointerEvents","XStack","borderBottomWidth","borderBottomColor","paddingVertical","position","alignItems","gap","Separator","vertical","width","height","marginHorizontal","menuRowFrame","role","cursor","hoverStyle","pressStyle","focusVisibleStyle","outlineStyle","active"],"sources":["../../src/styled.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,qBAAA,EAAAA,CAAA,KAAAA,qBAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAA,YAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,qBAAA,EAAAA,CAAA,KAAAA;AAAA;AAIAC,MAAA,CAAAC,OAAA,GAAAb,YAAgD,CAAAK,cAAA;AAChD,IAAAS,cAAA,GAA6BC,OAAA;AAC7B,IAAAC,YAAA,GAAAD,OAAkC;AAM3B,IAAAE,cAAM,GAAAF,OAAc;AAAa,IACtCP,WAAM,OAAAM,cAAA,CAAAI,MAAA,EAAAJ,cAAA,CAAAK,IAAA;EACNC,IAAA,eAAS;EACTC,OAAA,EAAAJ,cAAa,CAAAK,iBAAA;EACbC,WAAA,EAAa;EACbC,WAAA,WAAiB;EACjBC,eAAU;EAEVC,QAAA,EAAU;EAAAC,QACR;IAAUC,QACF;MAAAC,IACJ;QACFL,WAAA;MACF;IACA;IAAMM,IACJ;MACE,SAAO,EAAC,SAAAC,CAAAC,IAAA,EAAAC,KAAA;QACV;UAAAC,MAAA,EAAAC;QAAA,IAAAF,KAAA;QACF;MACA;IAAS;IACAG,OACP,EAAO;MACTP,IAAA;MACAQ,KAAA,GAAU;IAAA;IACFC,QACJ;MAAST,IACT;QACFU,OAAA;QACFC,aAAA;MACF;IACD;EAMM;AAAoC,EACzC;AAAM,IACN/B,YAAS,OAAAK,cAAA,CAAAI,MAAA,EAAAJ,cAAA,CAAA2B,MAAA;EACTrB,IAAA,gBAAiB;EACjBC,OAAA,EAAAJ,cAAmB,CAAAK,iBAAA;EACnBG,eAAA,WAAmB;EACnBiB,iBAAiB;EACjBC,iBAAU;EAEVC,eAAU;EAAAC,QACR,YAAU;EAAAlB,QACR,EAAM;IAAAC,QACJ;MACFC,IAAA;QACFc,iBAAA;MACA;IAAM;IAENb,IAAA;MACA,SAAS,WAAAC,CAAA;QACP,OAAO;MACP;IACF;IACAK,OAAA;MACEP,IAAA,EAAM,CAAC;MACPQ,KAAA,EAAO,CAAC;IACV;IACFC,QAAA;MACDT,IAAA;MAMYQ,KAAA;IACX;EACA;AAAS,EACT;AAAY,IACZ3B,iBAAK,OAAAI,cAAA,CAAAI,MAAA,EAAAJ,cAAA,CAAA2B,MAAA;EAELrB,IAAA,qBAAU;EAAAC,OACR,EAAMJ,cAAA,CAAAK,iBAAA;EAAAwB,UACJ,UAAW;EAAQC,GACrB;EAAApB,QACA;IAASG,IACP;MACA,SAAQ,WAAAC,CAAA;QACV;MACA;IAAU;IACDK,OACP,EAAO;MACTP,IAAA;MACFQ,KAAA;IACD;IAMMC,QAAM;MACXT,IAAM;MACNQ,KAAS;IACT;EACA;AAAiB,EACjB;AAAO,IACP1B,qBAAQ,OAAAG,cAAA,CAAAI,MAAA,EAAAJ,cAAA,CAAAkC,SAAA;EACR5B,IAAA,yBAAkB;EAElBC,OAAA,EAAAJ,cAAU,CAAAK,iBAAA;EAAA2B,QACF;EAAAxB,eACO,WAAQ;EAAAyB,KACrB;EAAAC,MACA;EAASC,gBACA;EAAAzB,QACP;IACFG,IAAA;MACA,SAAU,WAAAC,CAAA;QACR,OAAO;MACP;IACF;IACFK,OAAA;MACDP,IAAA;MAMYQ,KAAA;IACX;IACAC,QAAS;MAAAT,IAAA;MAAAQ,KAAA;IAAA;EAAA;AAAA;AAAA,IAMT9B,qBAAG,OAAAO,cAAA,CAAAI,MAAA,EAAAJ,cAAA,CAAA2B,MAAA;EAAArB,IAAA;EAAAC,OAAA,EAAAJ,cAAA,CAAAK,iBAAA;EAGH;EACA;EACA;EACA;EAEA;EAAY,GACVN,YAAA,CAAAqC,YAAiB;EACnB;EAEA;EAAYC,IACV;EACFV,eAAA;EAAAG,GAAA;EAAAQ,MAAA;EAIAC,UAAA;IACE/B,eAAA,EAAiB;EAAA;EAEnBgC,UAAA;IAEAhC,eAAU;EAAA;EACA;EACA;EACaiC,iBACnB;IACFjC,eAAA;IACAkC,YAAM;EAAA;EACehC,QACrB;IACAiC,MAAA;MACE/B,IAAA,EAAM;QACNJ,eAAQ;MACV;IACA;IAAUK,IACR;MACA,SAAQ,WAAAC,CAAA;QACV;MACF;IACD","ignoreList":[]}
|
|
@@ -29,23 +29,28 @@ var import_menus = require("@tiptap/react/menus");
|
|
|
29
29
|
var import_theme = require("@multiplatform.one/theme");
|
|
30
30
|
var import_tamagui = require("tamagui");
|
|
31
31
|
var import_types = require("../types.cjs");
|
|
32
|
+
var import_capabilities = require("../editor/capabilities.cjs");
|
|
32
33
|
var import_ToolbarButton = require("./ToolbarButton.cjs");
|
|
33
34
|
var import_icons = require("./icons.cjs");
|
|
34
35
|
var import_ColorPicker = require("./ColorPicker.cjs");
|
|
35
36
|
var import_LinkDialog = require("./LinkDialog.cjs");
|
|
36
37
|
var import_shortcuts = require("./shortcuts.cjs");
|
|
38
|
+
var import_t = require("../shared/t.cjs");
|
|
37
39
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
38
40
|
function BubbleToolbar({
|
|
39
41
|
editor,
|
|
40
42
|
editorRef,
|
|
41
|
-
state = import_types.defaultEditorState
|
|
43
|
+
state = import_types.defaultEditorState,
|
|
44
|
+
capabilities = "full"
|
|
42
45
|
}) {
|
|
43
46
|
const {
|
|
44
47
|
knobProps
|
|
45
48
|
} = (0, import_theme.useResolvedKnobs)();
|
|
49
|
+
const has = command => (0, import_capabilities.isCommandInCapabilities)(command, capabilities);
|
|
46
50
|
if (!editor) return null;
|
|
47
51
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_menus.BubbleMenu, {
|
|
48
52
|
editor,
|
|
53
|
+
className: "rt-bubble-menu",
|
|
49
54
|
shouldShow: ({
|
|
50
55
|
editor: e,
|
|
51
56
|
from,
|
|
@@ -68,7 +73,7 @@ function BubbleToolbar({
|
|
|
68
73
|
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
69
74
|
active: state.isBold,
|
|
70
75
|
onPress: () => editorRef.current?.executeCommand("bold"),
|
|
71
|
-
"aria-label": "Bold",
|
|
76
|
+
"aria-label": (0, import_t.t)("Bold"),
|
|
72
77
|
tooltip: import_shortcuts.SHORTCUTS.bold,
|
|
73
78
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.BoldIcon, {
|
|
74
79
|
children: "B"
|
|
@@ -76,15 +81,15 @@ function BubbleToolbar({
|
|
|
76
81
|
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
77
82
|
active: state.isItalic,
|
|
78
83
|
onPress: () => editorRef.current?.executeCommand("italic"),
|
|
79
|
-
"aria-label": "Italic",
|
|
84
|
+
"aria-label": (0, import_t.t)("Italic"),
|
|
80
85
|
tooltip: import_shortcuts.SHORTCUTS.italic,
|
|
81
86
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.ItalicIcon, {
|
|
82
87
|
children: "I"
|
|
83
88
|
})
|
|
84
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
89
|
+
}), has("underline") && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
85
90
|
active: state.isUnderline,
|
|
86
91
|
onPress: () => editorRef.current?.executeCommand("underline"),
|
|
87
|
-
"aria-label": "Underline",
|
|
92
|
+
"aria-label": (0, import_t.t)("Underline"),
|
|
88
93
|
tooltip: import_shortcuts.SHORTCUTS.underline,
|
|
89
94
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.UnderlineIcon, {
|
|
90
95
|
children: "U"
|
|
@@ -92,7 +97,7 @@ function BubbleToolbar({
|
|
|
92
97
|
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
93
98
|
active: state.isStrike,
|
|
94
99
|
onPress: () => editorRef.current?.executeCommand("strike"),
|
|
95
|
-
"aria-label": "Strikethrough",
|
|
100
|
+
"aria-label": (0, import_t.t)("Strikethrough"),
|
|
96
101
|
tooltip: import_shortcuts.SHORTCUTS.strike,
|
|
97
102
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.StrikeIcon, {
|
|
98
103
|
children: "S"
|
|
@@ -100,25 +105,25 @@ function BubbleToolbar({
|
|
|
100
105
|
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
101
106
|
active: state.isCode,
|
|
102
107
|
onPress: () => editorRef.current?.executeCommand("code"),
|
|
103
|
-
"aria-label": "Code",
|
|
108
|
+
"aria-label": (0, import_t.t)("Code"),
|
|
104
109
|
tooltip: import_shortcuts.SHORTCUTS.code,
|
|
105
|
-
children:
|
|
106
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
110
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.InlineCodeIcon, {})
|
|
111
|
+
}), has("subscript") && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
107
112
|
active: state.isSubscript,
|
|
108
113
|
onPress: () => editorRef.current?.executeCommand("subscript"),
|
|
109
|
-
"aria-label": "Subscript",
|
|
114
|
+
"aria-label": (0, import_t.t)("Subscript"),
|
|
110
115
|
tooltip: import_shortcuts.SHORTCUTS.subscript,
|
|
111
116
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.SubscriptIcon, {})
|
|
112
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
117
|
+
}), has("superscript") && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
113
118
|
active: state.isSuperscript,
|
|
114
119
|
onPress: () => editorRef.current?.executeCommand("superscript"),
|
|
115
|
-
"aria-label": "Superscript",
|
|
120
|
+
"aria-label": (0, import_t.t)("Superscript"),
|
|
116
121
|
tooltip: import_shortcuts.SHORTCUTS.superscript,
|
|
117
122
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.SuperscriptIcon, {})
|
|
118
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ColorPicker.TextColorPicker, {
|
|
123
|
+
}), has("textColor") && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ColorPicker.TextColorPicker, {
|
|
119
124
|
editorRef,
|
|
120
125
|
state
|
|
121
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ColorPicker.HighlightColorPicker, {
|
|
126
|
+
}), has("highlight") && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ColorPicker.HighlightColorPicker, {
|
|
122
127
|
editorRef,
|
|
123
128
|
state
|
|
124
129
|
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_LinkDialog.LinkDialog, {
|
|
@@ -32,23 +32,30 @@ var import_menus = require("@tiptap/react/menus");
|
|
|
32
32
|
var import_theme = require("@multiplatform.one/theme");
|
|
33
33
|
var import_tamagui = require("tamagui");
|
|
34
34
|
var import_types = require("../types.native.js");
|
|
35
|
+
var import_capabilities = require("../editor/capabilities.native.js");
|
|
35
36
|
var import_ToolbarButton = require("./ToolbarButton.native.js");
|
|
36
37
|
var import_icons = require("./icons.native.js");
|
|
37
38
|
var import_ColorPicker = require("./ColorPicker.native.js");
|
|
38
39
|
var import_LinkDialog = require("./LinkDialog.native.js");
|
|
39
40
|
var import_shortcuts = require("./shortcuts.native.js");
|
|
41
|
+
var import_t = require("../shared/t.native.js");
|
|
40
42
|
function BubbleToolbar(param) {
|
|
41
43
|
var {
|
|
42
44
|
editor,
|
|
43
45
|
editorRef,
|
|
44
|
-
state = import_types.defaultEditorState
|
|
46
|
+
state = import_types.defaultEditorState,
|
|
47
|
+
capabilities = "full"
|
|
45
48
|
} = param;
|
|
46
49
|
var {
|
|
47
50
|
knobProps
|
|
48
51
|
} = (0, import_theme.useResolvedKnobs)();
|
|
52
|
+
var has = function has2(command) {
|
|
53
|
+
return (0, import_capabilities.isCommandInCapabilities)(command, capabilities);
|
|
54
|
+
};
|
|
49
55
|
if (!editor) return null;
|
|
50
56
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_menus.BubbleMenu, {
|
|
51
57
|
editor,
|
|
58
|
+
className: "rt-bubble-menu",
|
|
52
59
|
shouldShow: function shouldShow(param2) {
|
|
53
60
|
var {
|
|
54
61
|
editor: e,
|
|
@@ -76,7 +83,7 @@ function BubbleToolbar(param) {
|
|
|
76
83
|
var _editorRef_current;
|
|
77
84
|
return (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand("bold");
|
|
78
85
|
},
|
|
79
|
-
"aria-label": "Bold",
|
|
86
|
+
"aria-label": (0, import_t.t)("Bold"),
|
|
80
87
|
tooltip: import_shortcuts.SHORTCUTS.bold,
|
|
81
88
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.BoldIcon, {
|
|
82
89
|
children: "B"
|
|
@@ -87,18 +94,18 @@ function BubbleToolbar(param) {
|
|
|
87
94
|
var _editorRef_current;
|
|
88
95
|
return (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand("italic");
|
|
89
96
|
},
|
|
90
|
-
"aria-label": "Italic",
|
|
97
|
+
"aria-label": (0, import_t.t)("Italic"),
|
|
91
98
|
tooltip: import_shortcuts.SHORTCUTS.italic,
|
|
92
99
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.ItalicIcon, {
|
|
93
100
|
children: "I"
|
|
94
101
|
})
|
|
95
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
102
|
+
}), has("underline") && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
96
103
|
active: state.isUnderline,
|
|
97
104
|
onPress: function onPress() {
|
|
98
105
|
var _editorRef_current;
|
|
99
106
|
return (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand("underline");
|
|
100
107
|
},
|
|
101
|
-
"aria-label": "Underline",
|
|
108
|
+
"aria-label": (0, import_t.t)("Underline"),
|
|
102
109
|
tooltip: import_shortcuts.SHORTCUTS.underline,
|
|
103
110
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.UnderlineIcon, {
|
|
104
111
|
children: "U"
|
|
@@ -109,7 +116,7 @@ function BubbleToolbar(param) {
|
|
|
109
116
|
var _editorRef_current;
|
|
110
117
|
return (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand("strike");
|
|
111
118
|
},
|
|
112
|
-
"aria-label": "Strikethrough",
|
|
119
|
+
"aria-label": (0, import_t.t)("Strikethrough"),
|
|
113
120
|
tooltip: import_shortcuts.SHORTCUTS.strike,
|
|
114
121
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.StrikeIcon, {
|
|
115
122
|
children: "S"
|
|
@@ -120,32 +127,32 @@ function BubbleToolbar(param) {
|
|
|
120
127
|
var _editorRef_current;
|
|
121
128
|
return (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand("code");
|
|
122
129
|
},
|
|
123
|
-
"aria-label": "Code",
|
|
130
|
+
"aria-label": (0, import_t.t)("Code"),
|
|
124
131
|
tooltip: import_shortcuts.SHORTCUTS.code,
|
|
125
|
-
children:
|
|
126
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
132
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.InlineCodeIcon, {})
|
|
133
|
+
}), has("subscript") && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
127
134
|
active: state.isSubscript,
|
|
128
135
|
onPress: function onPress() {
|
|
129
136
|
var _editorRef_current;
|
|
130
137
|
return (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand("subscript");
|
|
131
138
|
},
|
|
132
|
-
"aria-label": "Subscript",
|
|
139
|
+
"aria-label": (0, import_t.t)("Subscript"),
|
|
133
140
|
tooltip: import_shortcuts.SHORTCUTS.subscript,
|
|
134
141
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.SubscriptIcon, {})
|
|
135
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
142
|
+
}), has("superscript") && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
136
143
|
active: state.isSuperscript,
|
|
137
144
|
onPress: function onPress() {
|
|
138
145
|
var _editorRef_current;
|
|
139
146
|
return (_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand("superscript");
|
|
140
147
|
},
|
|
141
|
-
"aria-label": "Superscript",
|
|
148
|
+
"aria-label": (0, import_t.t)("Superscript"),
|
|
142
149
|
tooltip: import_shortcuts.SHORTCUTS.superscript,
|
|
143
150
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_icons.SuperscriptIcon, {})
|
|
144
|
-
}), /* Color pickers */
|
|
145
|
-
/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ColorPicker.TextColorPicker, {
|
|
151
|
+
}), /* Color pickers — no markdown syntax (LC-52) */
|
|
152
|
+
has("textColor") && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ColorPicker.TextColorPicker, {
|
|
146
153
|
editorRef,
|
|
147
154
|
state
|
|
148
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ColorPicker.HighlightColorPicker, {
|
|
155
|
+
}), has("highlight") && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ColorPicker.HighlightColorPicker, {
|
|
149
156
|
editorRef,
|
|
150
157
|
state
|
|
151
158
|
}), /* Link */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","BubbleToolbar_exports","__export","BubbleToolbar","module","exports","import_jsx_runtime","require","import_menus","import_theme","import_tamagui","import_types","import_ToolbarButton","import_icons","import_ColorPicker","import_LinkDialog","import_shortcuts","param","editor","editorRef","state","defaultEditorState","knobProps","useResolvedKnobs","jsx","BubbleMenu","shouldShow","param2","e","from","to","isActive","children","jsxs","XStack","backgroundColor","borderWidth","borderColor","borderRadius","padding","gap","alignItems","elevation","ToolbarButton","active","isBold","onPress","_editorRef_current","current","executeCommand","tooltip","SHORTCUTS","bold","BoldIcon","isItalic","italic","ItalicIcon","isUnderline","underline","UnderlineIcon","isStrike","strike","StrikeIcon","isCode","code","isSubscript","subscript","SubscriptIcon","isSuperscript","superscript","SuperscriptIcon","TextColorPicker"],"sources":["../../../src/toolbar/BubbleToolbar.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA;AAAA;AAaAC,MAAA,CAAAC,OAAA,GAAAT,YAA2B,CAAAK,qBAAA;AAC3B,IAAAK,kBAAiC,GAAAC,OAAA;AACjC,IAAAC,YAAA,GAAAD,OAAuB;AAEvB,IAAAE,YAAA,GAAmCF,OAAA;AACnC,IAAAG,cAAA,GAAAH,
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","BubbleToolbar_exports","__export","BubbleToolbar","module","exports","import_jsx_runtime","require","import_menus","import_theme","import_tamagui","import_types","import_capabilities","import_ToolbarButton","import_icons","import_ColorPicker","import_LinkDialog","import_shortcuts","import_t","param","editor","editorRef","state","defaultEditorState","capabilities","knobProps","useResolvedKnobs","has","has2","command","isCommandInCapabilities","jsx","BubbleMenu","className","shouldShow","param2","e","from","to","isActive","children","jsxs","XStack","backgroundColor","borderWidth","borderColor","borderRadius","padding","gap","alignItems","elevation","ToolbarButton","active","isBold","onPress","_editorRef_current","current","executeCommand","t","tooltip","SHORTCUTS","bold","BoldIcon","isItalic","italic","ItalicIcon","isUnderline","underline","UnderlineIcon","isStrike","strike","StrikeIcon","isCode","code","InlineCodeIcon","isSubscript","subscript","SubscriptIcon","isSuperscript","superscript","SuperscriptIcon","TextColorPicker"],"sources":["../../../src/toolbar/BubbleToolbar.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -28,9 +28,12 @@ module.exports = __toCommonJS(CodeBlockBubble_exports);
|
|
|
28
28
|
var import_react = require("react");
|
|
29
29
|
var import_menus = require("@tiptap/react/menus");
|
|
30
30
|
var import_theme = require("@multiplatform.one/theme");
|
|
31
|
+
var import_react2 = require("@phosphor-icons/react");
|
|
31
32
|
var import_tamagui = require("tamagui");
|
|
32
33
|
var import_styled = require("../styled.cjs");
|
|
34
|
+
var import_blockAnchor = require("../editor/blockAnchor.cjs");
|
|
33
35
|
var import_ToolbarButton = require("./ToolbarButton.cjs");
|
|
36
|
+
var import_t = require("../shared/t.cjs");
|
|
34
37
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
35
38
|
const LANGUAGES = [{
|
|
36
39
|
value: null,
|
|
@@ -71,6 +74,12 @@ const LANGUAGES = [{
|
|
|
71
74
|
}, {
|
|
72
75
|
value: "markdown",
|
|
73
76
|
label: "Markdown"
|
|
77
|
+
}, {
|
|
78
|
+
value: "math",
|
|
79
|
+
label: "Math (TeX)"
|
|
80
|
+
}, {
|
|
81
|
+
value: "mermaid",
|
|
82
|
+
label: "Mermaid"
|
|
74
83
|
}, {
|
|
75
84
|
value: "php",
|
|
76
85
|
label: "PHP"
|
|
@@ -102,20 +111,15 @@ const LANGUAGES = [{
|
|
|
102
111
|
value: "yaml",
|
|
103
112
|
label: "YAML"
|
|
104
113
|
}];
|
|
105
|
-
function
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
points: "3 6 5 6 21 6"
|
|
115
|
-
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)("path", {
|
|
116
|
-
d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"
|
|
117
|
-
})]
|
|
118
|
-
});
|
|
114
|
+
function getActiveCodeBlockText(editor) {
|
|
115
|
+
const {
|
|
116
|
+
$from
|
|
117
|
+
} = editor.state.selection;
|
|
118
|
+
for (let depth = $from.depth; depth >= 0; depth--) {
|
|
119
|
+
const node = $from.node(depth);
|
|
120
|
+
if (node.type.name === "codeBlock") return node.textContent;
|
|
121
|
+
}
|
|
122
|
+
return "";
|
|
119
123
|
}
|
|
120
124
|
function CodeBlockBubble({
|
|
121
125
|
editor
|
|
@@ -124,8 +128,14 @@ function CodeBlockBubble({
|
|
|
124
128
|
knobProps
|
|
125
129
|
} = (0, import_theme.useResolvedKnobs)();
|
|
126
130
|
const [langOpen, setLangOpen] = (0, import_react.useState)(false);
|
|
131
|
+
const [copied, setCopied] = (0, import_react.useState)(false);
|
|
132
|
+
const copiedTimer = (0, import_react.useRef)(null);
|
|
133
|
+
(0, import_react.useEffect)(() => () => {
|
|
134
|
+
if (copiedTimer.current) clearTimeout(copiedTimer.current);
|
|
135
|
+
}, []);
|
|
127
136
|
const currentLang = editor?.getAttributes("codeBlock")?.language ?? null;
|
|
128
|
-
const
|
|
137
|
+
const rawLabel = LANGUAGES.find(l => l.value === currentLang)?.label ?? currentLang;
|
|
138
|
+
const currentLabel = currentLang === null ? (0, import_t.t)("Plain text") : rawLabel ?? (0, import_t.t)("Plain text");
|
|
129
139
|
const setLanguage = (0, import_react.useCallback)(lang => {
|
|
130
140
|
if (!editor) return;
|
|
131
141
|
editor.chain().focus().updateAttributes("codeBlock", {
|
|
@@ -133,6 +143,17 @@ function CodeBlockBubble({
|
|
|
133
143
|
}).run();
|
|
134
144
|
setLangOpen(false);
|
|
135
145
|
}, [editor]);
|
|
146
|
+
const copyCode = (0, import_react.useCallback)(async () => {
|
|
147
|
+
if (!editor) return;
|
|
148
|
+
try {
|
|
149
|
+
await navigator.clipboard.writeText(getActiveCodeBlockText(editor));
|
|
150
|
+
setCopied(true);
|
|
151
|
+
if (copiedTimer.current) clearTimeout(copiedTimer.current);
|
|
152
|
+
copiedTimer.current = setTimeout(() => setCopied(false), 1500);
|
|
153
|
+
} catch (err) {
|
|
154
|
+
console.warn("[rich-text] copy failed:", err);
|
|
155
|
+
}
|
|
156
|
+
}, [editor]);
|
|
136
157
|
const removeCodeBlock = (0, import_react.useCallback)(() => {
|
|
137
158
|
if (!editor) return;
|
|
138
159
|
editor.chain().focus().toggleCodeBlock().run();
|
|
@@ -140,11 +161,14 @@ function CodeBlockBubble({
|
|
|
140
161
|
if (!editor) return null;
|
|
141
162
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_menus.BubbleMenu, {
|
|
142
163
|
editor,
|
|
164
|
+
className: "rt-bubble-menu",
|
|
143
165
|
shouldShow: ({
|
|
144
166
|
editor: e
|
|
145
167
|
}) => e.isActive("codeBlock"),
|
|
168
|
+
getReferencedVirtualElement: () => (0, import_blockAnchor.getBlockVirtualElement)(editor, "codeBlock"),
|
|
146
169
|
options: {
|
|
147
|
-
placement: "top-start"
|
|
170
|
+
placement: "top-start",
|
|
171
|
+
offset: 6
|
|
148
172
|
},
|
|
149
173
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_tamagui.XStack, {
|
|
150
174
|
backgroundColor: "$background",
|
|
@@ -163,14 +187,15 @@ function CodeBlockBubble({
|
|
|
163
187
|
asChild: true,
|
|
164
188
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarDropdownButton, {
|
|
165
189
|
onPress: () => setLangOpen(true),
|
|
166
|
-
"aria-label": "Select language",
|
|
190
|
+
"aria-label": (0, import_t.t)("Select language"),
|
|
167
191
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
|
|
168
192
|
fontSize: 12,
|
|
169
193
|
children: currentLabel
|
|
170
194
|
})
|
|
171
195
|
})
|
|
172
196
|
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Popover.Content, {
|
|
173
|
-
|
|
197
|
+
padding: 0,
|
|
198
|
+
overflow: "hidden",
|
|
174
199
|
backgroundColor: "$background",
|
|
175
200
|
borderWidth: 1,
|
|
176
201
|
borderColor: "$borderColor",
|
|
@@ -192,19 +217,30 @@ function CodeBlockBubble({
|
|
|
192
217
|
children: LANGUAGES.map(lang => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_styled.DropdownMenuItemFrame, {
|
|
193
218
|
active: currentLang === lang.value,
|
|
194
219
|
onPress: () => setLanguage(lang.value),
|
|
195
|
-
"aria-label": lang.label,
|
|
220
|
+
"aria-label": lang.value === null ? (0, import_t.t)("Plain text") : lang.label,
|
|
196
221
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Text, {
|
|
197
222
|
fontSize: 13,
|
|
198
|
-
children: lang.label
|
|
223
|
+
children: lang.value === null ? (0, import_t.t)("Plain text") : lang.label
|
|
199
224
|
})
|
|
200
225
|
}, lang.label))
|
|
201
226
|
})
|
|
202
227
|
})]
|
|
228
|
+
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
229
|
+
onPress: copyCode,
|
|
230
|
+
"aria-label": copied ? (0, import_t.t)("Copied") : (0, import_t.t)("Copy code"),
|
|
231
|
+
tooltip: copied ? (0, import_t.t)("Copied") : (0, import_t.t)("Copy code"),
|
|
232
|
+
children: copied ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.CheckIcon, {
|
|
233
|
+
size: 14
|
|
234
|
+
}) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.CopyIcon, {
|
|
235
|
+
size: 14
|
|
236
|
+
})
|
|
203
237
|
}), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ToolbarButton.ToolbarButton, {
|
|
204
238
|
onPress: removeCodeBlock,
|
|
205
|
-
"aria-label": "Remove code block",
|
|
206
|
-
tooltip: "Remove code block",
|
|
207
|
-
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(TrashIcon, {
|
|
239
|
+
"aria-label": (0, import_t.t)("Remove code block"),
|
|
240
|
+
tooltip: (0, import_t.t)("Remove code block"),
|
|
241
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react2.TrashIcon, {
|
|
242
|
+
size: 14
|
|
243
|
+
})
|
|
208
244
|
})]
|
|
209
245
|
})
|
|
210
246
|
});
|