@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 { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useState } from "react";
|
|
3
|
+
import { BubbleMenu } from "@tiptap/react/menus";
|
|
4
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
5
|
+
import { Input, Text, XStack, YStack } from "tamagui";
|
|
6
|
+
import { Button } from "@multiplatform.one/forms";
|
|
7
|
+
import { ToolbarButton } from "./ToolbarButton.native.js";
|
|
8
|
+
function ExternalLinkIcon() {
|
|
9
|
+
return /* @__PURE__ */_jsxs("svg", {
|
|
10
|
+
width: "14",
|
|
11
|
+
height: "14",
|
|
12
|
+
viewBox: "0 0 24 24",
|
|
13
|
+
fill: "none",
|
|
14
|
+
stroke: "currentColor",
|
|
15
|
+
strokeWidth: "2",
|
|
16
|
+
children: [/* @__PURE__ */_jsx("path", {
|
|
17
|
+
d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"
|
|
18
|
+
}), /* @__PURE__ */_jsx("polyline", {
|
|
19
|
+
points: "15 3 21 3 21 9"
|
|
20
|
+
}), /* @__PURE__ */_jsx("line", {
|
|
21
|
+
x1: "10",
|
|
22
|
+
y1: "14",
|
|
23
|
+
x2: "21",
|
|
24
|
+
y2: "3"
|
|
25
|
+
})]
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function UnlinkIcon() {
|
|
29
|
+
return /* @__PURE__ */_jsxs("svg", {
|
|
30
|
+
width: "14",
|
|
31
|
+
height: "14",
|
|
32
|
+
viewBox: "0 0 24 24",
|
|
33
|
+
fill: "none",
|
|
34
|
+
stroke: "currentColor",
|
|
35
|
+
strokeWidth: "2",
|
|
36
|
+
children: [/* @__PURE__ */_jsx("path", {
|
|
37
|
+
d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"
|
|
38
|
+
}), /* @__PURE__ */_jsx("path", {
|
|
39
|
+
d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"
|
|
40
|
+
}), /* @__PURE__ */_jsx("line", {
|
|
41
|
+
x1: "2",
|
|
42
|
+
y1: "2",
|
|
43
|
+
x2: "22",
|
|
44
|
+
y2: "22",
|
|
45
|
+
strokeWidth: "2"
|
|
46
|
+
})]
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function EditIcon() {
|
|
50
|
+
return /* @__PURE__ */_jsxs("svg", {
|
|
51
|
+
width: "14",
|
|
52
|
+
height: "14",
|
|
53
|
+
viewBox: "0 0 24 24",
|
|
54
|
+
fill: "none",
|
|
55
|
+
stroke: "currentColor",
|
|
56
|
+
strokeWidth: "2",
|
|
57
|
+
children: [/* @__PURE__ */_jsx("path", {
|
|
58
|
+
d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"
|
|
59
|
+
}), /* @__PURE__ */_jsx("path", {
|
|
60
|
+
d: "M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"
|
|
61
|
+
})]
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function LinkBubble(param) {
|
|
65
|
+
var {
|
|
66
|
+
editor
|
|
67
|
+
} = param;
|
|
68
|
+
var {
|
|
69
|
+
knobProps
|
|
70
|
+
} = useResolvedKnobs();
|
|
71
|
+
var [editing, setEditing] = useState(false);
|
|
72
|
+
var [editUrl, setEditUrl] = useState("");
|
|
73
|
+
var handleEdit = useCallback(function () {
|
|
74
|
+
if (!editor) return;
|
|
75
|
+
var attrs = editor.getAttributes("link");
|
|
76
|
+
setEditUrl(attrs.href || "");
|
|
77
|
+
setEditing(true);
|
|
78
|
+
}, [editor]);
|
|
79
|
+
var handleSave = useCallback(function () {
|
|
80
|
+
if (!editor) return;
|
|
81
|
+
var trimmed = editUrl.trim();
|
|
82
|
+
if (trimmed) {
|
|
83
|
+
editor.chain().focus().extendMarkRange("link").setLink({
|
|
84
|
+
href: trimmed
|
|
85
|
+
}).run();
|
|
86
|
+
}
|
|
87
|
+
setEditing(false);
|
|
88
|
+
}, [editor, editUrl]);
|
|
89
|
+
var handleUnlink = useCallback(function () {
|
|
90
|
+
if (!editor) return;
|
|
91
|
+
editor.chain().focus().extendMarkRange("link").unsetLink().run();
|
|
92
|
+
setEditing(false);
|
|
93
|
+
}, [editor]);
|
|
94
|
+
if (!editor) return null;
|
|
95
|
+
return /* @__PURE__ */_jsx(BubbleMenu, {
|
|
96
|
+
editor,
|
|
97
|
+
shouldShow: function shouldShow(param2) {
|
|
98
|
+
var {
|
|
99
|
+
editor: e
|
|
100
|
+
} = param2;
|
|
101
|
+
return e.isActive("link");
|
|
102
|
+
},
|
|
103
|
+
children: /* @__PURE__ */_jsx(XStack, {
|
|
104
|
+
backgroundColor: "$background",
|
|
105
|
+
borderWidth: 1,
|
|
106
|
+
borderColor: "$borderColor",
|
|
107
|
+
borderRadius: knobProps.borderRadius.borderRadius,
|
|
108
|
+
padding: "$1.5",
|
|
109
|
+
gap: "$1.5",
|
|
110
|
+
alignItems: "center",
|
|
111
|
+
elevation: knobProps.elevation,
|
|
112
|
+
children: editing ? /* @__PURE__ */_jsxs(YStack, {
|
|
113
|
+
gap: "$1.5",
|
|
114
|
+
children: [/* @__PURE__ */_jsx(Input, {
|
|
115
|
+
size: "$2",
|
|
116
|
+
placeholder: "https://example.com",
|
|
117
|
+
value: editUrl,
|
|
118
|
+
onChangeText: setEditUrl,
|
|
119
|
+
onSubmitEditing: handleSave,
|
|
120
|
+
autoFocus: true,
|
|
121
|
+
minWidth: 220
|
|
122
|
+
}), /* @__PURE__ */_jsxs(XStack, {
|
|
123
|
+
gap: "$1",
|
|
124
|
+
justifyContent: "flex-end",
|
|
125
|
+
children: [/* @__PURE__ */_jsx(Button, {
|
|
126
|
+
size: "$2",
|
|
127
|
+
onPress: function onPress() {
|
|
128
|
+
return setEditing(false);
|
|
129
|
+
},
|
|
130
|
+
"aria-label": "Cancel",
|
|
131
|
+
children: "Cancel"
|
|
132
|
+
}), /* @__PURE__ */_jsx(Button, {
|
|
133
|
+
size: "$2",
|
|
134
|
+
theme: "active",
|
|
135
|
+
onPress: handleSave,
|
|
136
|
+
"aria-label": "Save link",
|
|
137
|
+
children: "Save"
|
|
138
|
+
})]
|
|
139
|
+
})]
|
|
140
|
+
}) : /* @__PURE__ */_jsxs(_Fragment, {
|
|
141
|
+
children: [/* @__PURE__ */_jsx(Text, {
|
|
142
|
+
fontSize: 12,
|
|
143
|
+
color: "$blue10",
|
|
144
|
+
maxWidth: 200,
|
|
145
|
+
numberOfLines: 1,
|
|
146
|
+
cursor: "pointer",
|
|
147
|
+
onPress: function onPress() {
|
|
148
|
+
var href = editor.getAttributes("link").href;
|
|
149
|
+
if (href) window.open(href, "_blank", "noopener,noreferrer");
|
|
150
|
+
},
|
|
151
|
+
children: editor.getAttributes("link").href || "No URL"
|
|
152
|
+
}), /* @__PURE__ */_jsx(ToolbarButton, {
|
|
153
|
+
onPress: function onPress() {
|
|
154
|
+
var href = editor.getAttributes("link").href;
|
|
155
|
+
if (href) window.open(href, "_blank", "noopener,noreferrer");
|
|
156
|
+
},
|
|
157
|
+
"aria-label": "Open link",
|
|
158
|
+
tooltip: "Open link",
|
|
159
|
+
children: /* @__PURE__ */_jsx(ExternalLinkIcon, {})
|
|
160
|
+
}), /* @__PURE__ */_jsx(ToolbarButton, {
|
|
161
|
+
onPress: handleEdit,
|
|
162
|
+
"aria-label": "Edit link",
|
|
163
|
+
tooltip: "Edit link",
|
|
164
|
+
children: /* @__PURE__ */_jsx(EditIcon, {})
|
|
165
|
+
}), /* @__PURE__ */_jsx(ToolbarButton, {
|
|
166
|
+
onPress: handleUnlink,
|
|
167
|
+
"aria-label": "Remove link",
|
|
168
|
+
tooltip: "Unlink",
|
|
169
|
+
children: /* @__PURE__ */_jsx(UnlinkIcon, {})
|
|
170
|
+
})]
|
|
171
|
+
})
|
|
172
|
+
})
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
export { LinkBubble };
|
|
176
|
+
//# sourceMappingURL=LinkBubble.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useCallback","useState","BubbleMenu","useResolvedKnobs","Input","Text","XStack","YStack","Button","ToolbarButton","ExternalLinkIcon","width","height","viewBox","fill","stroke","strokeWidth","children","d","points","x1","y1","x2","y2","UnlinkIcon","EditIcon","LinkBubble","param","editor","knobProps","editing","setEditing","editUrl","setEditUrl","handleEdit","attrs","getAttributes","href","handleSave","trimmed","trim","chain","focus","extendMarkRange","setLink","run","handleUnlink","unsetLink","shouldShow","param2","e","isActive","backgroundColor","borderWidth","borderColor","borderRadius","padding","gap","alignItems","elevation","size","placeholder","value","onChangeText","onSubmitEditing","autoFocus","minWidth","justifyContent","onPress"],"sources":["../../../src/toolbar/LinkBubble.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { useCallback, useState } from "react";
|
|
2
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
3
|
+
import { Input, Popover, Text, XStack, YStack } from "tamagui";
|
|
4
|
+
import { Button } from "@multiplatform.one/forms";
|
|
5
|
+
import { ToolbarButton } from "./ToolbarButton.mjs";
|
|
6
|
+
import { LinkIcon } from "./icons.mjs";
|
|
7
|
+
import { SHORTCUTS } from "./shortcuts.mjs";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
function normalizeUrl(url) {
|
|
10
|
+
const trimmed = url.trim();
|
|
11
|
+
if (!trimmed) return trimmed;
|
|
12
|
+
if (/^https?:\/\//i.test(trimmed)) return trimmed;
|
|
13
|
+
if (/^mailto:/i.test(trimmed)) return trimmed;
|
|
14
|
+
if (/^tel:/i.test(trimmed)) return trimmed;
|
|
15
|
+
return `https://${trimmed}`;
|
|
16
|
+
}
|
|
17
|
+
function LinkDialog({
|
|
18
|
+
editorRef,
|
|
19
|
+
state,
|
|
20
|
+
disabled
|
|
21
|
+
}) {
|
|
22
|
+
const {
|
|
23
|
+
knobProps
|
|
24
|
+
} = useResolvedKnobs();
|
|
25
|
+
const [open, setOpen] = useState(false);
|
|
26
|
+
const [linkUrl, setLinkUrl] = useState("");
|
|
27
|
+
const handleSubmit = useCallback(() => {
|
|
28
|
+
const normalized = normalizeUrl(linkUrl);
|
|
29
|
+
if (normalized) {
|
|
30
|
+
editorRef.current?.executeCommand("link", {
|
|
31
|
+
href: normalized
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
setLinkUrl("");
|
|
35
|
+
setOpen(false);
|
|
36
|
+
}, [linkUrl, editorRef]);
|
|
37
|
+
const handleRemove = useCallback(() => {
|
|
38
|
+
editorRef.current?.executeCommand("link", {
|
|
39
|
+
href: null
|
|
40
|
+
});
|
|
41
|
+
setOpen(false);
|
|
42
|
+
}, [editorRef]);
|
|
43
|
+
return /* @__PURE__ */jsxs(Popover, {
|
|
44
|
+
open,
|
|
45
|
+
onOpenChange: setOpen,
|
|
46
|
+
placement: "bottom",
|
|
47
|
+
children: [/* @__PURE__ */jsx(Popover.Trigger, {
|
|
48
|
+
asChild: true,
|
|
49
|
+
children: /* @__PURE__ */jsx(ToolbarButton, {
|
|
50
|
+
active: state.isLink,
|
|
51
|
+
disabled,
|
|
52
|
+
onPress: () => setOpen(true),
|
|
53
|
+
"aria-label": "Link",
|
|
54
|
+
tooltip: SHORTCUTS.link,
|
|
55
|
+
children: /* @__PURE__ */jsx(LinkIcon, {})
|
|
56
|
+
})
|
|
57
|
+
}), /* @__PURE__ */jsxs(Popover.Content, {
|
|
58
|
+
...knobProps.panelPadding,
|
|
59
|
+
backgroundColor: "$background",
|
|
60
|
+
borderWidth: 1,
|
|
61
|
+
borderColor: "$borderColor",
|
|
62
|
+
borderRadius: knobProps.borderRadius.borderRadius,
|
|
63
|
+
elevation: knobProps.elevation,
|
|
64
|
+
enterStyle: {
|
|
65
|
+
opacity: 0,
|
|
66
|
+
y: -5
|
|
67
|
+
},
|
|
68
|
+
exitStyle: {
|
|
69
|
+
opacity: 0,
|
|
70
|
+
y: -5
|
|
71
|
+
},
|
|
72
|
+
children: [/* @__PURE__ */jsx(Popover.Arrow, {
|
|
73
|
+
borderColor: "$borderColor",
|
|
74
|
+
backgroundColor: "$background"
|
|
75
|
+
}), /* @__PURE__ */jsxs(YStack, {
|
|
76
|
+
gap: "$2",
|
|
77
|
+
minWidth: 250,
|
|
78
|
+
children: [/* @__PURE__ */jsx(Text, {
|
|
79
|
+
fontSize: knobProps.sizeToken,
|
|
80
|
+
fontWeight: "600",
|
|
81
|
+
children: state.isLink ? "Edit Link" : "Add Link"
|
|
82
|
+
}), /* @__PURE__ */jsx(Input, {
|
|
83
|
+
size: "$3",
|
|
84
|
+
placeholder: "https://example.com",
|
|
85
|
+
value: linkUrl,
|
|
86
|
+
onChangeText: setLinkUrl,
|
|
87
|
+
onSubmitEditing: handleSubmit,
|
|
88
|
+
autoFocus: true
|
|
89
|
+
}), /* @__PURE__ */jsxs(XStack, {
|
|
90
|
+
gap: "$2",
|
|
91
|
+
justifyContent: "flex-end",
|
|
92
|
+
children: [state.isLink && /* @__PURE__ */jsx(Button, {
|
|
93
|
+
size: "$2",
|
|
94
|
+
theme: "red",
|
|
95
|
+
onPress: handleRemove,
|
|
96
|
+
"aria-label": "Remove link",
|
|
97
|
+
children: "Remove"
|
|
98
|
+
}), /* @__PURE__ */jsx(Button, {
|
|
99
|
+
size: "$2",
|
|
100
|
+
theme: "active",
|
|
101
|
+
onPress: handleSubmit,
|
|
102
|
+
disabled: !linkUrl.trim(),
|
|
103
|
+
"aria-label": state.isLink ? "Update link" : "Add link",
|
|
104
|
+
children: state.isLink ? "Update" : "Add"
|
|
105
|
+
})]
|
|
106
|
+
})]
|
|
107
|
+
})]
|
|
108
|
+
})]
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
export { LinkDialog, normalizeUrl };
|
|
112
|
+
//# sourceMappingURL=LinkDialog.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useState","useResolvedKnobs","Input","Popover","Text","XStack","YStack","Button","ToolbarButton","LinkIcon","SHORTCUTS","jsx","jsxs","normalizeUrl","url","trimmed","trim","test","LinkDialog","editorRef","state","disabled","knobProps","open","setOpen","linkUrl","setLinkUrl","handleSubmit","normalized","current","executeCommand","href","handleRemove","onOpenChange","placement","children","Trigger","asChild","active","isLink","onPress","tooltip","link","Content","panelPadding","backgroundColor","borderWidth","borderColor","borderRadius","elevation","enterStyle","opacity","y","exitStyle","Arrow","gap","minWidth","fontSize","sizeToken","fontWeight","size","placeholder","value","onChangeText","onSubmitEditing","autoFocus","justifyContent","theme"],"sources":["../../../src/toolbar/LinkDialog.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useState } from "react";
|
|
3
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
4
|
+
import { Input, Popover, Text, XStack, YStack } from "tamagui";
|
|
5
|
+
import { Button } from "@multiplatform.one/forms";
|
|
6
|
+
import { ToolbarButton } from "./ToolbarButton.native.js";
|
|
7
|
+
import { LinkIcon } from "./icons.native.js";
|
|
8
|
+
import { SHORTCUTS } from "./shortcuts.native.js";
|
|
9
|
+
function normalizeUrl(url) {
|
|
10
|
+
var trimmed = url.trim();
|
|
11
|
+
if (!trimmed) return trimmed;
|
|
12
|
+
if (/^https?:\/\//i.test(trimmed)) return trimmed;
|
|
13
|
+
if (/^mailto:/i.test(trimmed)) return trimmed;
|
|
14
|
+
if (/^tel:/i.test(trimmed)) return trimmed;
|
|
15
|
+
return `https://${trimmed}`;
|
|
16
|
+
}
|
|
17
|
+
function LinkDialog(param) {
|
|
18
|
+
var {
|
|
19
|
+
editorRef,
|
|
20
|
+
state,
|
|
21
|
+
disabled
|
|
22
|
+
} = param;
|
|
23
|
+
var {
|
|
24
|
+
knobProps
|
|
25
|
+
} = useResolvedKnobs();
|
|
26
|
+
var [open, setOpen] = useState(false);
|
|
27
|
+
var [linkUrl, setLinkUrl] = useState("");
|
|
28
|
+
var handleSubmit = useCallback(function () {
|
|
29
|
+
var normalized = normalizeUrl(linkUrl);
|
|
30
|
+
if (normalized) {
|
|
31
|
+
var _editorRef_current;
|
|
32
|
+
(_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand("link", {
|
|
33
|
+
href: normalized
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
setLinkUrl("");
|
|
37
|
+
setOpen(false);
|
|
38
|
+
}, [linkUrl, editorRef]);
|
|
39
|
+
var handleRemove = useCallback(function () {
|
|
40
|
+
var _editorRef_current;
|
|
41
|
+
(_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand("link", {
|
|
42
|
+
href: null
|
|
43
|
+
});
|
|
44
|
+
setOpen(false);
|
|
45
|
+
}, [editorRef]);
|
|
46
|
+
return /* @__PURE__ */_jsxs(Popover, {
|
|
47
|
+
open,
|
|
48
|
+
onOpenChange: setOpen,
|
|
49
|
+
placement: "bottom",
|
|
50
|
+
children: [/* @__PURE__ */_jsx(Popover.Trigger, {
|
|
51
|
+
asChild: true,
|
|
52
|
+
children: /* @__PURE__ */_jsx(ToolbarButton, {
|
|
53
|
+
active: state.isLink,
|
|
54
|
+
disabled,
|
|
55
|
+
onPress: function onPress() {
|
|
56
|
+
return setOpen(true);
|
|
57
|
+
},
|
|
58
|
+
"aria-label": "Link",
|
|
59
|
+
tooltip: SHORTCUTS.link,
|
|
60
|
+
children: /* @__PURE__ */_jsx(LinkIcon, {})
|
|
61
|
+
})
|
|
62
|
+
}), /* @__PURE__ */_jsxs(Popover.Content, {
|
|
63
|
+
...knobProps.panelPadding,
|
|
64
|
+
backgroundColor: "$background",
|
|
65
|
+
borderWidth: 1,
|
|
66
|
+
borderColor: "$borderColor",
|
|
67
|
+
borderRadius: knobProps.borderRadius.borderRadius,
|
|
68
|
+
elevation: knobProps.elevation,
|
|
69
|
+
enterStyle: {
|
|
70
|
+
opacity: 0,
|
|
71
|
+
y: -5
|
|
72
|
+
},
|
|
73
|
+
exitStyle: {
|
|
74
|
+
opacity: 0,
|
|
75
|
+
y: -5
|
|
76
|
+
},
|
|
77
|
+
children: [/* @__PURE__ */_jsx(Popover.Arrow, {
|
|
78
|
+
borderColor: "$borderColor",
|
|
79
|
+
backgroundColor: "$background"
|
|
80
|
+
}), /* @__PURE__ */_jsxs(YStack, {
|
|
81
|
+
gap: "$2",
|
|
82
|
+
minWidth: 250,
|
|
83
|
+
children: [/* @__PURE__ */_jsx(Text, {
|
|
84
|
+
fontSize: knobProps.sizeToken,
|
|
85
|
+
fontWeight: "600",
|
|
86
|
+
children: state.isLink ? "Edit Link" : "Add Link"
|
|
87
|
+
}), /* @__PURE__ */_jsx(Input, {
|
|
88
|
+
size: "$3",
|
|
89
|
+
placeholder: "https://example.com",
|
|
90
|
+
value: linkUrl,
|
|
91
|
+
onChangeText: setLinkUrl,
|
|
92
|
+
onSubmitEditing: handleSubmit,
|
|
93
|
+
autoFocus: true
|
|
94
|
+
}), /* @__PURE__ */_jsxs(XStack, {
|
|
95
|
+
gap: "$2",
|
|
96
|
+
justifyContent: "flex-end",
|
|
97
|
+
children: [state.isLink && /* @__PURE__ */_jsx(Button, {
|
|
98
|
+
size: "$2",
|
|
99
|
+
theme: "red",
|
|
100
|
+
onPress: handleRemove,
|
|
101
|
+
"aria-label": "Remove link",
|
|
102
|
+
children: "Remove"
|
|
103
|
+
}), /* @__PURE__ */_jsx(Button, {
|
|
104
|
+
size: "$2",
|
|
105
|
+
theme: "active",
|
|
106
|
+
onPress: handleSubmit,
|
|
107
|
+
disabled: !linkUrl.trim(),
|
|
108
|
+
"aria-label": state.isLink ? "Update link" : "Add link",
|
|
109
|
+
children: state.isLink ? "Update" : "Add"
|
|
110
|
+
})]
|
|
111
|
+
})]
|
|
112
|
+
})]
|
|
113
|
+
})]
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
export { LinkDialog, normalizeUrl };
|
|
117
|
+
//# sourceMappingURL=LinkDialog.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useCallback","useState","useResolvedKnobs","Input","Popover","Text","XStack","YStack","Button","ToolbarButton","LinkIcon","SHORTCUTS","normalizeUrl","url","trimmed","trim","test","LinkDialog","param","editorRef","state","disabled","knobProps","open","setOpen","linkUrl","setLinkUrl","handleSubmit","normalized","_editorRef_current","current","executeCommand","href","handleRemove","onOpenChange","placement","children","Trigger","asChild","active","isLink","onPress","tooltip","link","Content","panelPadding","backgroundColor","borderWidth","borderColor","borderRadius","elevation","enterStyle","opacity","y","exitStyle","Arrow","gap","minWidth","fontSize","sizeToken","fontWeight"],"sources":["../../../src/toolbar/LinkDialog.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
3
|
+
import { Popover, Text, YStack } from "tamagui";
|
|
4
|
+
import { DropdownMenuItemFrame } from "../styled.mjs";
|
|
5
|
+
import { ToolbarDropdownButton } from "./ToolbarButton.mjs";
|
|
6
|
+
import { BulletListIcon, OrderedListIcon, TaskListIcon } from "./icons.mjs";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
const LIST_OPTIONS = [{
|
|
9
|
+
label: "Bullet List",
|
|
10
|
+
command: "bulletList",
|
|
11
|
+
stateKey: "isBulletList",
|
|
12
|
+
icon: BulletListIcon
|
|
13
|
+
}, {
|
|
14
|
+
label: "Ordered List",
|
|
15
|
+
command: "orderedList",
|
|
16
|
+
stateKey: "isOrderedList",
|
|
17
|
+
icon: OrderedListIcon
|
|
18
|
+
}, {
|
|
19
|
+
label: "Task List",
|
|
20
|
+
command: "taskList",
|
|
21
|
+
stateKey: "isTaskList",
|
|
22
|
+
icon: TaskListIcon
|
|
23
|
+
}];
|
|
24
|
+
function getActiveListIcon(state) {
|
|
25
|
+
if (state.isOrderedList) return OrderedListIcon;
|
|
26
|
+
if (state.isTaskList) return TaskListIcon;
|
|
27
|
+
return BulletListIcon;
|
|
28
|
+
}
|
|
29
|
+
function isAnyListActive(state) {
|
|
30
|
+
return state.isBulletList || state.isOrderedList || state.isTaskList;
|
|
31
|
+
}
|
|
32
|
+
function ListPicker({
|
|
33
|
+
editorRef,
|
|
34
|
+
state,
|
|
35
|
+
disabled
|
|
36
|
+
}) {
|
|
37
|
+
const {
|
|
38
|
+
knobProps
|
|
39
|
+
} = useResolvedKnobs();
|
|
40
|
+
const [open, setOpen] = useState(false);
|
|
41
|
+
const ActiveIcon = getActiveListIcon(state);
|
|
42
|
+
return /* @__PURE__ */jsxs(Popover, {
|
|
43
|
+
open,
|
|
44
|
+
onOpenChange: setOpen,
|
|
45
|
+
placement: "bottom-start",
|
|
46
|
+
children: [/* @__PURE__ */jsx(Popover.Trigger, {
|
|
47
|
+
asChild: true,
|
|
48
|
+
children: /* @__PURE__ */jsx(ToolbarDropdownButton, {
|
|
49
|
+
active: isAnyListActive(state),
|
|
50
|
+
disabled,
|
|
51
|
+
onPress: () => setOpen(true),
|
|
52
|
+
"aria-label": "Lists",
|
|
53
|
+
children: /* @__PURE__ */jsx(ActiveIcon, {})
|
|
54
|
+
})
|
|
55
|
+
}), /* @__PURE__ */jsx(Popover.Content, {
|
|
56
|
+
...knobProps.panelPadding,
|
|
57
|
+
backgroundColor: "$background",
|
|
58
|
+
borderWidth: 1,
|
|
59
|
+
borderColor: "$borderColor",
|
|
60
|
+
borderRadius: knobProps.borderRadius.borderRadius,
|
|
61
|
+
elevation: knobProps.elevation,
|
|
62
|
+
enterStyle: {
|
|
63
|
+
opacity: 0,
|
|
64
|
+
y: -5
|
|
65
|
+
},
|
|
66
|
+
exitStyle: {
|
|
67
|
+
opacity: 0,
|
|
68
|
+
y: -5
|
|
69
|
+
},
|
|
70
|
+
children: /* @__PURE__ */jsx(YStack, {
|
|
71
|
+
gap: "$1",
|
|
72
|
+
minWidth: 150,
|
|
73
|
+
children: LIST_OPTIONS.map(option => {
|
|
74
|
+
const Icon = option.icon;
|
|
75
|
+
return /* @__PURE__ */jsxs(DropdownMenuItemFrame, {
|
|
76
|
+
active: state[option.stateKey],
|
|
77
|
+
onPress: () => {
|
|
78
|
+
editorRef.current?.executeCommand(option.command);
|
|
79
|
+
setOpen(false);
|
|
80
|
+
},
|
|
81
|
+
"aria-label": option.label,
|
|
82
|
+
children: [/* @__PURE__ */jsx(Icon, {}), /* @__PURE__ */jsx(Text, {
|
|
83
|
+
children: option.label
|
|
84
|
+
})]
|
|
85
|
+
}, option.command);
|
|
86
|
+
})
|
|
87
|
+
})
|
|
88
|
+
})]
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
export { ListPicker };
|
|
92
|
+
//# sourceMappingURL=ListPicker.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","useResolvedKnobs","Popover","Text","YStack","DropdownMenuItemFrame","ToolbarDropdownButton","BulletListIcon","OrderedListIcon","TaskListIcon","jsx","jsxs","LIST_OPTIONS","label","command","stateKey","icon","getActiveListIcon","state","isOrderedList","isTaskList","isAnyListActive","isBulletList","ListPicker","editorRef","disabled","knobProps","open","setOpen","ActiveIcon","onOpenChange","placement","children","Trigger","asChild","active","onPress","Content","panelPadding","backgroundColor","borderWidth","borderColor","borderRadius","elevation","enterStyle","opacity","y","exitStyle","gap","minWidth","map","option","Icon","current","executeCommand"],"sources":["../../../src/toolbar/ListPicker.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { useResolvedKnobs } from "@multiplatform.one/theme";
|
|
4
|
+
import { Popover, Text, YStack } from "tamagui";
|
|
5
|
+
import { DropdownMenuItemFrame } from "../styled.native.js";
|
|
6
|
+
import { ToolbarDropdownButton } from "./ToolbarButton.native.js";
|
|
7
|
+
import { BulletListIcon, OrderedListIcon, TaskListIcon } from "./icons.native.js";
|
|
8
|
+
var LIST_OPTIONS = [{
|
|
9
|
+
label: "Bullet List",
|
|
10
|
+
command: "bulletList",
|
|
11
|
+
stateKey: "isBulletList",
|
|
12
|
+
icon: BulletListIcon
|
|
13
|
+
}, {
|
|
14
|
+
label: "Ordered List",
|
|
15
|
+
command: "orderedList",
|
|
16
|
+
stateKey: "isOrderedList",
|
|
17
|
+
icon: OrderedListIcon
|
|
18
|
+
}, {
|
|
19
|
+
label: "Task List",
|
|
20
|
+
command: "taskList",
|
|
21
|
+
stateKey: "isTaskList",
|
|
22
|
+
icon: TaskListIcon
|
|
23
|
+
}];
|
|
24
|
+
function getActiveListIcon(state) {
|
|
25
|
+
if (state.isOrderedList) return OrderedListIcon;
|
|
26
|
+
if (state.isTaskList) return TaskListIcon;
|
|
27
|
+
return BulletListIcon;
|
|
28
|
+
}
|
|
29
|
+
function isAnyListActive(state) {
|
|
30
|
+
return state.isBulletList || state.isOrderedList || state.isTaskList;
|
|
31
|
+
}
|
|
32
|
+
function ListPicker(param) {
|
|
33
|
+
var {
|
|
34
|
+
editorRef,
|
|
35
|
+
state,
|
|
36
|
+
disabled
|
|
37
|
+
} = param;
|
|
38
|
+
var {
|
|
39
|
+
knobProps
|
|
40
|
+
} = useResolvedKnobs();
|
|
41
|
+
var [open, setOpen] = useState(false);
|
|
42
|
+
var ActiveIcon = getActiveListIcon(state);
|
|
43
|
+
return /* @__PURE__ */_jsxs(Popover, {
|
|
44
|
+
open,
|
|
45
|
+
onOpenChange: setOpen,
|
|
46
|
+
placement: "bottom-start",
|
|
47
|
+
children: [/* @__PURE__ */_jsx(Popover.Trigger, {
|
|
48
|
+
asChild: true,
|
|
49
|
+
children: /* @__PURE__ */_jsx(ToolbarDropdownButton, {
|
|
50
|
+
active: isAnyListActive(state),
|
|
51
|
+
disabled,
|
|
52
|
+
onPress: function onPress() {
|
|
53
|
+
return setOpen(true);
|
|
54
|
+
},
|
|
55
|
+
"aria-label": "Lists",
|
|
56
|
+
children: /* @__PURE__ */_jsx(ActiveIcon, {})
|
|
57
|
+
})
|
|
58
|
+
}), /* @__PURE__ */_jsx(Popover.Content, {
|
|
59
|
+
...knobProps.panelPadding,
|
|
60
|
+
backgroundColor: "$background",
|
|
61
|
+
borderWidth: 1,
|
|
62
|
+
borderColor: "$borderColor",
|
|
63
|
+
borderRadius: knobProps.borderRadius.borderRadius,
|
|
64
|
+
elevation: knobProps.elevation,
|
|
65
|
+
enterStyle: {
|
|
66
|
+
opacity: 0,
|
|
67
|
+
y: -5
|
|
68
|
+
},
|
|
69
|
+
exitStyle: {
|
|
70
|
+
opacity: 0,
|
|
71
|
+
y: -5
|
|
72
|
+
},
|
|
73
|
+
children: /* @__PURE__ */_jsx(YStack, {
|
|
74
|
+
gap: "$1",
|
|
75
|
+
minWidth: 150,
|
|
76
|
+
children: LIST_OPTIONS.map(function (option) {
|
|
77
|
+
var Icon = option.icon;
|
|
78
|
+
return /* @__PURE__ */_jsxs(DropdownMenuItemFrame, {
|
|
79
|
+
active: state[option.stateKey],
|
|
80
|
+
onPress: function onPress() {
|
|
81
|
+
var _editorRef_current;
|
|
82
|
+
(_editorRef_current = editorRef.current) === null || _editorRef_current === void 0 ? void 0 : _editorRef_current.executeCommand(option.command);
|
|
83
|
+
setOpen(false);
|
|
84
|
+
},
|
|
85
|
+
"aria-label": option.label,
|
|
86
|
+
children: [/* @__PURE__ */_jsx(Icon, {}), /* @__PURE__ */_jsx(Text, {
|
|
87
|
+
children: option.label
|
|
88
|
+
})]
|
|
89
|
+
}, option.command);
|
|
90
|
+
})
|
|
91
|
+
})
|
|
92
|
+
})]
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
export { ListPicker };
|
|
96
|
+
//# sourceMappingURL=ListPicker.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useState","useResolvedKnobs","Popover","Text","YStack","DropdownMenuItemFrame","ToolbarDropdownButton","BulletListIcon","OrderedListIcon","TaskListIcon","LIST_OPTIONS","label","command","stateKey","icon","getActiveListIcon","state","isOrderedList","isTaskList","isAnyListActive","isBulletList","ListPicker","param","editorRef","disabled","knobProps","open","setOpen","ActiveIcon","onOpenChange","placement","children","Trigger","asChild","active","onPress","Content","panelPadding","backgroundColor","borderWidth","borderColor","borderRadius","elevation","enterStyle","opacity","y","exitStyle","gap","minWidth","map","option","Icon","_editorRef_current","current","executeCommand"],"sources":["../../../src/toolbar/ListPicker.tsx"],"sourcesContent":[null],"mappings":"AAIA,SAASA,GAAA,IAAAC,IAAA,EAAAC,IAAgB,IAAAC,KAAA;AACzB,SAASC,QAAA;AACT,SAASC,gBAAe,kCAAc;AAEtC,SAASC,OAAA,EAAAC,IAAA,EAAAC,MAAA,QAA6B;AACtC,SAASC,qBAAA,QAA6B;AACtC,SAASC,qBAAgB,mCAAiB;AA2EhC,SAAAC,cAiBI,EAAAC,eAjBJ,EAAAC,YAAA;AAjDV,IAAAC,YAAM,IACJ;EACEC,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAMP;AACR,GACA;EACEI,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAMN;AACR,GACA;EACEG,KAAA,EAAO;EACPC,OAAA,EAAS;EACTC,QAAA,EAAU;EACVC,IAAA,EAAML;AACR,EACF;AAMA,SAASM,kBAAkBC,KAAA,EAAoB;EAC7C,IAAIA,KAAA,CAAMC,aAAA,EAAe,OAAOT,eAAA;EAChC,IAAIQ,KAAA,CAAME,UAAA,EAAY,OAAOT,YAAA;EAC7B,OAAOF,cAAA;AACT;AAEA,SAASY,gBAAgBH,KAAA,EAA6B;EACpD,OAAOA,KAAA,CAAMI,YAAA,IAAgBJ,KAAA,CAAMC,aAAA,IAAiBD,KAAA,CAAME,UAAA;AAC5D;AAEO,SAASG,WAAWC,KAAE;EAC3B;IAAMC,SAAE;IAAAP,KAAc;IAAAQ;EAAA,IAAAF,KAAiB;EACvC;IAAMG;EAAO,IAAOxB,gBAAa,EAAK;EACtC,KAAAyB,IAAM,EAAAC,OAAA,CAAa,GAAA3B,QAAA,OAAkB;EAErC,IAAA4B,UACE,GAAAb,iBAAC,CAAAC,KAAQ;EACP,sBAACjB,KAAA,CAAAG,OAAQ;IACPwB,IAAC;IAAAG,YAAA,EAAAF,OAAA;IAAAG,SACC,gBAAQ;IAAqBC,QAC7B,kBACSlC,IAAM,CAAAK,OAAQ,CAAI8B,OAAA;MAC3BC,OAAA;MAEAF,QAAA,iBAAAlC,IAAC,CAAAS,qBAAW;QAAA4B,MAAA,EAAAf,eAAA,CAAAH,KAAA;QAEhBQ,QAAA;QACAW,OAAA,WAAAA,QAAA;UAAC,OAAQR,OAAA;QAAR;QACE,YAAa;QACdI,QAAA,iBAAgBlC,IAAA,CAAA+B,UAAA;MAChB;IAAa,EACb,EAAY,eACE/B,IAAA,CAAAK,OAAU,CAAAkC,OAAA;MACxB,GAAAX,SAAW,CAAAY,YAAU;MACrBC,eAAc,eAAe;MAC7BC,WAAW,EAAE;MAEbC,WAAA;MAEIC,YAAM,EAAAhB,SAAc,CAAAgB,YAAA,CAAAA,YAAA;MACpBC,SACE,EAAAjB,SAAA,CAAAiB,SAAA;MAAAC,UAAC;QAAAC,OAAA;QAAAC,CAAA,GAEC;MAA6B;MAE3BC,SAAA;QACAF,OAAA;QAAaC,CAAA,GACf;MAAA;MACmBd,QAEnB,iBAAAlC,IAAA,CAAAO,MAAA;QAAA2C,GAAA;QAAMC,QACN;QAAoBjB,QAAA,EAAArB,YAAA,CAAAuC,GAAA,WAAAC,MAAA;UAAA,IAAAC,IAAA,GAAAD,MAAA,CAAApC,IAAA;UATf,OAAO,eAAAf,KAAA,CAAAM,qBAAA;YAUd6B,MAAA,EAAAlB,KAAA,CAAAkC,MAAA,CAAArC,QAAA;YAGNsB,OAAA,WAAAA,QAAA;cAAA,IAAAiB,kBAAA;cACF,CAAAA,kBAAA,GAAA7B,SAAA,CAAA8B,OAAA,cAAAD,kBAAA,uBAAAA,kBAAA,CAAAE,cAAA,CAAAJ,MAAA,CAAAtC,OAAA;cACFe,OAAA;YAEJ","ignoreList":[]}
|