@atlaskit/editor-core 153.1.5 → 157.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/CHANGELOG.md +195 -0
- package/dist/cjs/actions/index.js +34 -0
- package/dist/cjs/create-editor/ReactEditorView.js +33 -15
- package/dist/cjs/create-editor/create-editor.js +8 -3
- package/dist/cjs/create-editor/create-plugins-list.js +7 -7
- package/dist/cjs/labs/next/presets/cxhtml.js +3 -1
- package/dist/cjs/labs/next/presets/mobile.js +6 -9
- package/dist/cjs/plugins/alignment/pm-plugins/main.js +3 -1
- package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/icon-map.js +30 -12
- package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/index.js +4 -2
- package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/messages.js +15 -0
- package/dist/cjs/plugins/analytics/plugin.js +2 -2
- package/dist/cjs/plugins/analytics/types/enums.js +3 -0
- package/dist/cjs/plugins/annotation/pm-plugins/inline-comment.js +2 -2
- package/dist/cjs/plugins/avatar-group/index.js +2 -2
- package/dist/cjs/plugins/avatar-group/messages.js +17 -0
- package/dist/cjs/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +9 -3
- package/dist/cjs/plugins/base/pm-plugins/better-type-history.js +3 -1
- package/dist/cjs/plugins/base/pm-plugins/context-identifier.js +3 -1
- package/dist/cjs/plugins/base/pm-plugins/decoration.js +3 -1
- package/dist/cjs/plugins/base/pm-plugins/filter-steps.js +2 -2
- package/dist/cjs/plugins/base/pm-plugins/fix-chrome-88-selection.js +3 -1
- package/dist/cjs/plugins/base/pm-plugins/fix-chrome-spell-checking.js +3 -1
- package/dist/cjs/plugins/base/pm-plugins/focus-handler.js +3 -1
- package/dist/cjs/plugins/base/pm-plugins/frozen-editor.js +3 -1
- package/dist/cjs/plugins/base/pm-plugins/inline-cursor-target.js +3 -1
- package/dist/cjs/plugins/base/pm-plugins/newline-preserve-marks.js +3 -1
- package/dist/cjs/plugins/base/pm-plugins/react-nodeview.js +3 -1
- package/dist/cjs/plugins/base/pm-plugins/scroll-gutter.js +2 -2
- package/dist/cjs/plugins/block-type/pm-plugins/main.js +3 -1
- package/dist/cjs/plugins/breakout/index.js +2 -2
- package/dist/cjs/plugins/caption/pm-plugins/main.js +2 -2
- package/dist/cjs/plugins/card/index.js +13 -3
- package/dist/cjs/plugins/card/messages.js +40 -0
- package/dist/cjs/plugins/card/nodeviews/blockCard.js +3 -5
- package/dist/cjs/plugins/card/nodeviews/embedCard.js +10 -0
- package/dist/cjs/plugins/card/nodeviews/genericCard.js +32 -2
- package/dist/cjs/plugins/card/nodeviews/inlineCard.js +5 -23
- package/dist/cjs/plugins/card/pm-plugins/doc.js +55 -6
- package/dist/cjs/plugins/card/pm-plugins/keymap.js +89 -0
- package/dist/cjs/plugins/card/pm-plugins/main.js +3 -4
- package/dist/cjs/plugins/card/ui/LinkToolbarAppearance.js +21 -0
- package/dist/cjs/plugins/card/ui/LinkToolbarButtonGroup.js +20 -0
- package/dist/cjs/plugins/card/ui/LinkToolbarIconDropdown.js +20 -0
- package/dist/cjs/plugins/card/ui/ResizableEmbedCard.js +6 -2
- package/dist/cjs/plugins/card/ui/assets/card.js +37 -0
- package/dist/cjs/plugins/card/ui/assets/embed.js +37 -0
- package/dist/cjs/plugins/card/ui/assets/inline.js +37 -0
- package/dist/cjs/plugins/card/ui/assets/url.js +39 -0
- package/dist/cjs/plugins/card/ui/styled.js +14 -4
- package/dist/cjs/plugins/clear-marks-on-change-to-empty-document/index.js +3 -1
- package/dist/cjs/plugins/clipboard/pm-plugins/main.js +3 -1
- package/dist/cjs/plugins/code-bidi-warning/pm-plugins/main.js +2 -2
- package/dist/cjs/plugins/code-block/pm-plugins/ide-ux.js +3 -1
- package/dist/cjs/plugins/code-block/pm-plugins/keymaps.js +1 -1
- package/dist/cjs/plugins/code-block/pm-plugins/main.js +3 -1
- package/dist/cjs/plugins/code-block/toolbar.js +4 -2
- package/dist/cjs/plugins/collab-edit/actions.js +10 -0
- package/dist/cjs/plugins/collab-edit/events/initialize.js +16 -5
- package/dist/cjs/plugins/collab-edit/index.js +9 -8
- package/dist/cjs/plugins/collab-edit/native-collab-provider-plugin.js +46 -0
- package/dist/cjs/plugins/collab-edit/plugin.js +20 -2
- package/dist/cjs/plugins/collab-edit/provider/index.js +1 -9
- package/dist/cjs/plugins/context-panel/index.js +3 -1
- package/dist/cjs/plugins/custom-autoformat/index.js +2 -2
- package/dist/cjs/plugins/date/pm-plugins/main.js +2 -2
- package/dist/cjs/plugins/editor-disabled/index.js +3 -1
- package/dist/cjs/plugins/emoji/index.js +3 -1
- package/dist/cjs/plugins/emoji/nodeviews/emoji-next.js +3 -14
- package/dist/cjs/plugins/emoji/nodeviews/emoji.js +1 -15
- package/dist/cjs/plugins/expand/index.js +1 -1
- package/dist/cjs/plugins/expand/nodeviews/index.js +13 -3
- package/dist/cjs/plugins/expand/pm-plugins/keymap.js +13 -1
- package/dist/cjs/plugins/expand/pm-plugins/main.js +13 -5
- package/dist/cjs/plugins/expand/toolbar.js +2 -1
- package/dist/cjs/plugins/extension/pm-plugins/main.js +2 -2
- package/dist/cjs/plugins/extension/pm-plugins/unique-id.js +3 -1
- package/dist/cjs/plugins/extension/toolbar.js +10 -5
- package/dist/cjs/plugins/fake-text-cursor/index.js +3 -1
- package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +11 -6
- package/dist/cjs/plugins/feature-flags-context/get-feature-flags.js +14 -0
- package/dist/cjs/plugins/feature-flags-context/index.js +8 -9
- package/dist/cjs/plugins/feature-flags-context/plugin-key.js +11 -0
- package/dist/cjs/plugins/find-replace/plugin.js +2 -2
- package/dist/cjs/plugins/find-replace/ui/Find.js +16 -12
- package/dist/cjs/plugins/floating-toolbar/index.js +3 -1
- package/dist/cjs/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.js +2 -2
- package/dist/cjs/plugins/floating-toolbar/ui/Button.js +8 -2
- package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +12 -5
- package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +13 -5
- package/dist/cjs/plugins/floating-toolbar/ui/messages.js +10 -0
- package/dist/cjs/plugins/fragment/index.js +2 -2
- package/dist/cjs/plugins/fragment/pm-plugins/fragment-consistency.js +3 -1
- package/dist/cjs/plugins/help-dialog/index.js +2 -2
- package/dist/cjs/plugins/help-dialog/ui/index.js +2 -1
- package/dist/cjs/plugins/history/index.js +3 -1
- package/dist/cjs/plugins/hyperlink/Toolbar.js +6 -3
- package/dist/cjs/plugins/hyperlink/pm-plugins/fake-cursor-for-toolbar.js +2 -2
- package/dist/cjs/plugins/hyperlink/pm-plugins/main.js +49 -5
- package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +6 -1
- package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/messages.js +42 -0
- package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/utils.js +58 -18
- package/dist/cjs/plugins/hyperlink/utils.js +4 -0
- package/dist/cjs/plugins/image-upload/pm-plugins/main.js +2 -2
- package/dist/cjs/plugins/jira-issue/index.js +3 -1
- package/dist/cjs/plugins/layout/pm-plugins/main.js +3 -1
- package/dist/cjs/plugins/layout/toolbar.js +4 -2
- package/dist/cjs/plugins/list/commands/indent-list.js +1 -7
- package/dist/cjs/plugins/list/commands/index.js +1 -1
- package/dist/cjs/plugins/list/commands/outdent-list.js +2 -1
- package/dist/cjs/plugins/list/pm-plugins/main.js +3 -1
- package/dist/cjs/plugins/list/utils/node.js +11 -3
- package/dist/cjs/plugins/list/utils/selection.js +10 -1
- package/dist/cjs/plugins/macro/index.js +2 -2
- package/dist/cjs/plugins/max-content-size/index.js +3 -1
- package/dist/cjs/plugins/media/index.js +2 -1
- package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +9 -3
- package/dist/cjs/plugins/media/nodeviews/mediaNodeUpdater.js +3 -3
- package/dist/cjs/plugins/media/nodeviews/messages.js +17 -0
- package/dist/cjs/plugins/media/pm-plugins/alt-text/index.js +3 -1
- package/dist/cjs/plugins/media/pm-plugins/linking/index.js +3 -1
- package/dist/cjs/plugins/media/pm-plugins/main.js +17 -7
- package/dist/cjs/plugins/media/pm-plugins/media-editor.js +2 -2
- package/dist/cjs/plugins/media/toolbar/commands.js +58 -1
- package/dist/cjs/plugins/media/toolbar/index.js +8 -41
- package/dist/cjs/plugins/media/ui/Media/DropPlaceholder.js +16 -4
- package/dist/cjs/plugins/media/ui/Media/drop-placeholder-messages.js +17 -0
- package/dist/cjs/plugins/media/ui/ToolbarMedia/index.js +11 -4
- package/dist/cjs/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +17 -0
- package/dist/cjs/plugins/media/utils/media-common.js +5 -4
- package/dist/cjs/plugins/mentions/messages.js +10 -0
- package/dist/cjs/plugins/mentions/nodeviews/mention.js +3 -16
- package/dist/cjs/plugins/mentions/pm-plugins/main.js +2 -2
- package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +5 -3
- package/dist/cjs/plugins/mentions/ui/ToolbarMention/index.js +10 -3
- package/dist/cjs/plugins/mobile-dimensions/index.js +16 -2
- package/dist/cjs/plugins/mobile-selection/content-in-selection.js +4 -4
- package/dist/cjs/plugins/mobile-selection/mobile-selection-plugin.js +3 -1
- package/dist/cjs/plugins/panel/pm-plugins/main.js +2 -2
- package/dist/cjs/plugins/panel/toolbar.js +13 -6
- package/dist/cjs/plugins/paste/handlers.js +31 -12
- package/dist/cjs/plugins/paste/index.js +3 -2
- package/dist/cjs/plugins/paste/pm-plugins/analytics.js +22 -20
- package/dist/cjs/plugins/paste/pm-plugins/clipboard-text-serializer.js +44 -0
- package/dist/cjs/plugins/paste/pm-plugins/main.js +32 -3
- package/dist/cjs/plugins/paste/{util.js → util/index.js} +0 -0
- package/dist/cjs/plugins/paste/util/tinyMCE.js +218 -0
- package/dist/cjs/plugins/placeholder/index.js +3 -1
- package/dist/cjs/plugins/placeholder-text/index.js +3 -1
- package/dist/cjs/plugins/quick-insert/index.js +2 -2
- package/dist/cjs/plugins/rank.js +1 -1
- package/dist/cjs/plugins/scroll-into-view/index.js +3 -1
- package/dist/cjs/plugins/selection/pm-plugins/gap-cursor-main.js +3 -1
- package/dist/cjs/plugins/selection/pm-plugins/selection-main.js +3 -1
- package/dist/cjs/plugins/status/nodeviews/status.js +1 -15
- package/dist/cjs/plugins/status/plugin.js +3 -1
- package/dist/cjs/plugins/status/ui/statusPicker.js +2 -4
- package/dist/cjs/plugins/table/commands/misc.js +12 -1
- package/dist/cjs/plugins/table/index.js +2 -1
- package/dist/cjs/plugins/table/nodeviews/TableComponent.js +1 -19
- package/dist/cjs/plugins/table/pm-plugins/decorations/plugin.js +3 -1
- package/dist/cjs/plugins/table/pm-plugins/main.js +2 -2
- package/dist/cjs/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.js +3 -1
- package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +69 -32
- package/dist/cjs/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
- package/dist/cjs/plugins/table/pm-plugins/table-local-id.js +3 -1
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
- package/dist/cjs/plugins/table/toolbar.js +1 -0
- package/dist/cjs/plugins/table/ui/LayoutButton/index.js +86 -28
- package/dist/cjs/plugins/table/ui/common-styles.css.js +3 -2
- package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/main.js +3 -1
- package/dist/cjs/plugins/text-color/index.js +0 -3
- package/dist/cjs/plugins/text-color/pm-plugins/main.js +5 -22
- package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +9 -79
- package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/styles.js +4 -8
- package/dist/cjs/plugins/text-formatting/pm-plugins/clear-formatting.js +3 -1
- package/dist/cjs/plugins/text-formatting/pm-plugins/cursor.js +3 -1
- package/dist/cjs/plugins/text-formatting/pm-plugins/main.js +2 -2
- package/dist/cjs/plugins/type-ahead/index.js +17 -0
- package/dist/cjs/plugins/type-ahead/messages.js +17 -0
- package/dist/cjs/plugins/type-ahead/pm-plugins/insert-item-plugin.js +2 -2
- package/dist/cjs/plugins/type-ahead/pm-plugins/main.js +10 -9
- package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +12 -4
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +9 -3
- package/dist/cjs/plugins/undo-redo/pm-plugins/main.js +2 -2
- package/dist/cjs/plugins/unsupported-content/index.js +3 -1
- package/dist/cjs/plugins/view-update-subscription/index.js +3 -1
- package/dist/cjs/plugins/width/index.js +3 -1
- package/dist/cjs/ui/Alignment/index.js +3 -1
- package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +8 -1
- package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +14 -4
- package/dist/cjs/ui/Appearance/FullPage/messages.js +28 -0
- package/dist/cjs/ui/ChromeCollapsed/index.js +8 -2
- package/dist/cjs/ui/ChromeCollapsed/messages.js +17 -0
- package/dist/cjs/ui/ColorPalette/index.js +1 -3
- package/dist/cjs/ui/ConfigPanel/Header.js +5 -2
- package/dist/cjs/ui/ContentStyles/index.js +1 -1
- package/dist/cjs/ui/ContextPanel/index.js +3 -1
- package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +2 -3
- package/dist/cjs/ui/ToolbarHelp/index.js +18 -4
- package/dist/cjs/ui/ToolbarHelp/messages.js +17 -0
- package/dist/cjs/utils/document.js +17 -3
- package/dist/cjs/utils/keymap.js +2 -2
- package/dist/cjs/utils/performance/instrumented-plugin.js +20 -10
- package/dist/cjs/utils/performance/safer-transactions.js +59 -0
- package/dist/cjs/utils/plugin-state-factory.js +1 -1
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/actions/index.js +33 -0
- package/dist/es2019/create-editor/ReactEditorView.js +34 -17
- package/dist/es2019/create-editor/create-editor.js +8 -3
- package/dist/es2019/create-editor/create-plugins-list.js +7 -7
- package/dist/es2019/labs/next/presets/cxhtml.js +3 -1
- package/dist/es2019/labs/next/presets/mobile.js +6 -9
- package/dist/es2019/plugins/alignment/pm-plugins/main.js +3 -2
- package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/icon-map.js +25 -10
- package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/index.js +5 -3
- package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/messages.js +15 -0
- package/dist/es2019/plugins/analytics/plugin.js +2 -2
- package/dist/es2019/plugins/analytics/types/enums.js +3 -0
- package/dist/es2019/plugins/annotation/pm-plugins/inline-comment.js +2 -2
- package/dist/es2019/plugins/avatar-group/index.js +1 -1
- package/dist/es2019/plugins/avatar-group/messages.js +8 -0
- package/dist/es2019/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +9 -3
- package/dist/es2019/plugins/base/pm-plugins/better-type-history.js +3 -2
- package/dist/es2019/plugins/base/pm-plugins/context-identifier.js +3 -2
- package/dist/es2019/plugins/base/pm-plugins/decoration.js +3 -2
- package/dist/es2019/plugins/base/pm-plugins/filter-steps.js +2 -2
- package/dist/es2019/plugins/base/pm-plugins/fix-chrome-88-selection.js +3 -2
- package/dist/es2019/plugins/base/pm-plugins/fix-chrome-spell-checking.js +3 -2
- package/dist/es2019/plugins/base/pm-plugins/focus-handler.js +3 -2
- package/dist/es2019/plugins/base/pm-plugins/frozen-editor.js +3 -2
- package/dist/es2019/plugins/base/pm-plugins/inline-cursor-target.js +3 -2
- package/dist/es2019/plugins/base/pm-plugins/newline-preserve-marks.js +3 -2
- package/dist/es2019/plugins/base/pm-plugins/react-nodeview.js +3 -2
- package/dist/es2019/plugins/base/pm-plugins/scroll-gutter.js +2 -2
- package/dist/es2019/plugins/block-type/pm-plugins/main.js +3 -2
- package/dist/es2019/plugins/breakout/index.js +2 -2
- package/dist/es2019/plugins/caption/pm-plugins/main.js +2 -2
- package/dist/es2019/plugins/card/index.js +11 -1
- package/dist/es2019/plugins/card/messages.js +40 -0
- package/dist/es2019/plugins/card/nodeviews/blockCard.js +2 -3
- package/dist/es2019/plugins/card/nodeviews/embedCard.js +8 -0
- package/dist/es2019/plugins/card/nodeviews/genericCard.js +14 -2
- package/dist/es2019/plugins/card/nodeviews/inlineCard.js +3 -12
- package/dist/es2019/plugins/card/pm-plugins/doc.js +46 -4
- package/dist/es2019/plugins/card/pm-plugins/keymap.js +72 -0
- package/dist/es2019/plugins/card/pm-plugins/main.js +3 -4
- package/dist/es2019/plugins/card/ui/LinkToolbarAppearance.js +19 -0
- package/dist/es2019/plugins/card/ui/LinkToolbarButtonGroup.js +7 -0
- package/dist/es2019/plugins/card/ui/LinkToolbarIconDropdown.js +7 -0
- package/dist/es2019/plugins/card/ui/ResizableEmbedCard.js +5 -2
- package/dist/es2019/plugins/card/ui/assets/card.js +24 -0
- package/dist/es2019/plugins/card/ui/assets/embed.js +24 -0
- package/dist/es2019/plugins/card/ui/assets/inline.js +24 -0
- package/dist/es2019/plugins/card/ui/assets/url.js +26 -0
- package/dist/es2019/plugins/card/ui/styled.js +4 -1
- package/dist/es2019/plugins/clear-marks-on-change-to-empty-document/index.js +3 -2
- package/dist/es2019/plugins/clipboard/pm-plugins/main.js +3 -2
- package/dist/es2019/plugins/code-bidi-warning/pm-plugins/main.js +2 -2
- package/dist/es2019/plugins/code-block/pm-plugins/ide-ux.js +3 -2
- package/dist/es2019/plugins/code-block/pm-plugins/keymaps.js +1 -1
- package/dist/es2019/plugins/code-block/pm-plugins/main.js +3 -2
- package/dist/es2019/plugins/code-block/toolbar.js +4 -2
- package/dist/es2019/plugins/collab-edit/actions.js +10 -0
- package/dist/es2019/plugins/collab-edit/events/initialize.js +11 -2
- package/dist/es2019/plugins/collab-edit/index.js +6 -1
- package/dist/es2019/plugins/collab-edit/native-collab-provider-plugin.js +32 -0
- package/dist/es2019/plugins/collab-edit/plugin.js +18 -2
- package/dist/es2019/plugins/collab-edit/provider/index.js +1 -2
- package/dist/es2019/plugins/context-panel/index.js +3 -2
- package/dist/es2019/plugins/custom-autoformat/index.js +2 -2
- package/dist/es2019/plugins/date/pm-plugins/main.js +2 -2
- package/dist/es2019/plugins/editor-disabled/index.js +3 -2
- package/dist/es2019/plugins/emoji/index.js +3 -2
- package/dist/es2019/plugins/emoji/nodeviews/emoji-next.js +3 -11
- package/dist/es2019/plugins/emoji/nodeviews/emoji.js +1 -8
- package/dist/es2019/plugins/expand/index.js +1 -1
- package/dist/es2019/plugins/expand/nodeviews/index.js +15 -3
- package/dist/es2019/plugins/expand/pm-plugins/keymap.js +15 -1
- package/dist/es2019/plugins/expand/pm-plugins/main.js +12 -5
- package/dist/es2019/plugins/expand/toolbar.js +2 -1
- package/dist/es2019/plugins/extension/pm-plugins/main.js +2 -2
- package/dist/es2019/plugins/extension/pm-plugins/unique-id.js +3 -2
- package/dist/es2019/plugins/extension/toolbar.js +10 -5
- package/dist/es2019/plugins/fake-text-cursor/index.js +2 -2
- package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +11 -6
- package/dist/es2019/plugins/feature-flags-context/get-feature-flags.js +2 -0
- package/dist/es2019/plugins/feature-flags-context/index.js +3 -3
- package/dist/es2019/plugins/feature-flags-context/plugin-key.js +2 -0
- package/dist/es2019/plugins/find-replace/plugin.js +2 -2
- package/dist/es2019/plugins/find-replace/ui/Find.js +17 -12
- package/dist/es2019/plugins/floating-toolbar/index.js +3 -2
- package/dist/es2019/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.js +2 -2
- package/dist/es2019/plugins/floating-toolbar/ui/Button.js +8 -2
- package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +12 -6
- package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +13 -6
- package/dist/es2019/plugins/floating-toolbar/ui/messages.js +10 -0
- package/dist/es2019/plugins/fragment/index.js +2 -2
- package/dist/es2019/plugins/fragment/pm-plugins/fragment-consistency.js +3 -2
- package/dist/es2019/plugins/help-dialog/index.js +2 -2
- package/dist/es2019/plugins/help-dialog/ui/index.js +2 -1
- package/dist/es2019/plugins/history/index.js +3 -2
- package/dist/es2019/plugins/hyperlink/Toolbar.js +6 -3
- package/dist/es2019/plugins/hyperlink/pm-plugins/fake-cursor-for-toolbar.js +2 -2
- package/dist/es2019/plugins/hyperlink/pm-plugins/main.js +55 -6
- package/dist/es2019/plugins/hyperlink/styles.js +1 -0
- package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +6 -1
- package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/messages.js +33 -0
- package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/utils.js +69 -18
- package/dist/es2019/plugins/hyperlink/utils.js +4 -0
- package/dist/es2019/plugins/image-upload/pm-plugins/main.js +2 -2
- package/dist/es2019/plugins/jira-issue/index.js +3 -2
- package/dist/es2019/plugins/layout/pm-plugins/main.js +3 -2
- package/dist/es2019/plugins/layout/toolbar.js +4 -2
- package/dist/es2019/plugins/list/commands/indent-list.js +2 -9
- package/dist/es2019/plugins/list/commands/index.js +1 -1
- package/dist/es2019/plugins/list/commands/outdent-list.js +3 -2
- package/dist/es2019/plugins/list/pm-plugins/main.js +3 -2
- package/dist/es2019/plugins/list/utils/node.js +11 -3
- package/dist/es2019/plugins/list/utils/selection.js +8 -1
- package/dist/es2019/plugins/macro/index.js +2 -2
- package/dist/es2019/plugins/max-content-size/index.js +3 -2
- package/dist/es2019/plugins/media/index.js +2 -1
- package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +8 -3
- package/dist/es2019/plugins/media/nodeviews/mediaNodeUpdater.js +3 -3
- package/dist/es2019/plugins/media/nodeviews/messages.js +8 -0
- package/dist/es2019/plugins/media/pm-plugins/alt-text/index.js +3 -2
- package/dist/es2019/plugins/media/pm-plugins/linking/index.js +3 -2
- package/dist/es2019/plugins/media/pm-plugins/main.js +16 -8
- package/dist/es2019/plugins/media/pm-plugins/media-editor.js +2 -2
- package/dist/es2019/plugins/media/toolbar/commands.js +50 -0
- package/dist/es2019/plugins/media/toolbar/index.js +4 -35
- package/dist/es2019/plugins/media/ui/Media/DropPlaceholder.js +18 -4
- package/dist/es2019/plugins/media/ui/Media/drop-placeholder-messages.js +8 -0
- package/dist/es2019/plugins/media/ui/ToolbarMedia/index.js +10 -4
- package/dist/es2019/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +8 -0
- package/dist/es2019/plugins/media/utils/media-common.js +6 -5
- package/dist/es2019/plugins/mentions/messages.js +10 -0
- package/dist/es2019/plugins/mentions/nodeviews/mention.js +8 -12
- package/dist/es2019/plugins/mentions/pm-plugins/main.js +2 -2
- package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +5 -4
- package/dist/es2019/plugins/mentions/ui/ToolbarMention/index.js +10 -4
- package/dist/es2019/plugins/mobile-dimensions/index.js +16 -2
- package/dist/es2019/plugins/mobile-selection/content-in-selection.js +4 -4
- package/dist/es2019/plugins/mobile-selection/mobile-selection-plugin.js +3 -2
- package/dist/es2019/plugins/panel/pm-plugins/main.js +2 -2
- package/dist/es2019/plugins/panel/toolbar.js +13 -6
- package/dist/es2019/plugins/paste/handlers.js +34 -13
- package/dist/es2019/plugins/paste/index.js +3 -2
- package/dist/es2019/plugins/paste/pm-plugins/analytics.js +22 -20
- package/dist/es2019/plugins/paste/pm-plugins/clipboard-text-serializer.js +37 -0
- package/dist/es2019/plugins/paste/pm-plugins/main.js +31 -4
- package/dist/es2019/plugins/paste/{util.js → util/index.js} +0 -0
- package/dist/es2019/plugins/paste/util/tinyMCE.js +185 -0
- package/dist/es2019/plugins/placeholder/index.js +3 -2
- package/dist/es2019/plugins/placeholder-text/index.js +3 -2
- package/dist/es2019/plugins/quick-insert/index.js +2 -2
- package/dist/es2019/plugins/rank.js +1 -1
- package/dist/es2019/plugins/scroll-into-view/index.js +3 -2
- package/dist/es2019/plugins/selection/pm-plugins/gap-cursor-main.js +3 -2
- package/dist/es2019/plugins/selection/pm-plugins/selection-main.js +3 -2
- package/dist/es2019/plugins/status/nodeviews/status.js +1 -8
- package/dist/es2019/plugins/status/plugin.js +3 -2
- package/dist/es2019/plugins/status/ui/statusPicker.js +2 -4
- package/dist/es2019/plugins/table/commands/misc.js +12 -1
- package/dist/es2019/plugins/table/index.js +2 -1
- package/dist/es2019/plugins/table/nodeviews/TableComponent.js +1 -17
- package/dist/es2019/plugins/table/pm-plugins/decorations/plugin.js +3 -2
- package/dist/es2019/plugins/table/pm-plugins/main.js +2 -2
- package/dist/es2019/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.js +3 -2
- package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +64 -30
- package/dist/es2019/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
- package/dist/es2019/plugins/table/pm-plugins/table-local-id.js +3 -2
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
- package/dist/es2019/plugins/table/toolbar.js +2 -1
- package/dist/es2019/plugins/table/ui/LayoutButton/index.js +80 -23
- package/dist/es2019/plugins/table/ui/common-styles.css.js +18 -5
- package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/main.js +3 -2
- package/dist/es2019/plugins/text-color/index.js +0 -3
- package/dist/es2019/plugins/text-color/pm-plugins/main.js +6 -24
- package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +10 -83
- package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/styles.js +1 -12
- package/dist/es2019/plugins/text-formatting/pm-plugins/clear-formatting.js +3 -2
- package/dist/es2019/plugins/text-formatting/pm-plugins/cursor.js +3 -2
- package/dist/es2019/plugins/text-formatting/pm-plugins/main.js +2 -2
- package/dist/es2019/plugins/type-ahead/index.js +16 -0
- package/dist/es2019/plugins/type-ahead/messages.js +8 -0
- package/dist/es2019/plugins/type-ahead/pm-plugins/insert-item-plugin.js +2 -2
- package/dist/es2019/plugins/type-ahead/pm-plugins/main.js +9 -8
- package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +12 -4
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +7 -3
- package/dist/es2019/plugins/undo-redo/pm-plugins/main.js +2 -2
- package/dist/es2019/plugins/unsupported-content/index.js +3 -2
- package/dist/es2019/plugins/view-update-subscription/index.js +3 -2
- package/dist/es2019/plugins/width/index.js +3 -2
- package/dist/es2019/ui/Alignment/index.js +4 -2
- package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +7 -2
- package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +11 -4
- package/dist/es2019/ui/Appearance/FullPage/messages.js +18 -0
- package/dist/es2019/ui/ChromeCollapsed/index.js +8 -3
- package/dist/es2019/ui/ChromeCollapsed/messages.js +8 -0
- package/dist/es2019/ui/ColorPalette/index.js +1 -3
- package/dist/es2019/ui/ConfigPanel/Header.js +5 -2
- package/dist/es2019/ui/ContentStyles/index.js +2 -3
- package/dist/es2019/ui/ContextPanel/index.js +3 -1
- package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +2 -3
- package/dist/es2019/ui/ToolbarHelp/index.js +26 -11
- package/dist/es2019/ui/ToolbarHelp/messages.js +8 -0
- package/dist/es2019/utils/document.js +19 -5
- package/dist/es2019/utils/keymap.js +2 -2
- package/dist/es2019/utils/performance/instrumented-plugin.js +16 -8
- package/dist/es2019/utils/performance/safer-transactions.js +43 -0
- package/dist/es2019/utils/plugin-state-factory.js +1 -1
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/actions/index.js +33 -0
- package/dist/esm/create-editor/ReactEditorView.js +32 -15
- package/dist/esm/create-editor/create-editor.js +8 -3
- package/dist/esm/create-editor/create-plugins-list.js +7 -7
- package/dist/esm/labs/next/presets/cxhtml.js +3 -1
- package/dist/esm/labs/next/presets/mobile.js +6 -9
- package/dist/esm/plugins/alignment/pm-plugins/main.js +3 -2
- package/dist/esm/plugins/alignment/ui/ToolbarAlignment/icon-map.js +24 -10
- package/dist/esm/plugins/alignment/ui/ToolbarAlignment/index.js +5 -3
- package/dist/esm/plugins/alignment/ui/ToolbarAlignment/messages.js +15 -0
- package/dist/esm/plugins/analytics/plugin.js +2 -2
- package/dist/esm/plugins/analytics/types/enums.js +3 -0
- package/dist/esm/plugins/annotation/pm-plugins/inline-comment.js +2 -2
- package/dist/esm/plugins/avatar-group/index.js +1 -1
- package/dist/esm/plugins/avatar-group/messages.js +8 -0
- package/dist/esm/plugins/avatar-group/ui/AvatarGroupPluginWrapper.js +9 -3
- package/dist/esm/plugins/base/pm-plugins/better-type-history.js +3 -2
- package/dist/esm/plugins/base/pm-plugins/context-identifier.js +3 -2
- package/dist/esm/plugins/base/pm-plugins/decoration.js +3 -2
- package/dist/esm/plugins/base/pm-plugins/filter-steps.js +2 -2
- package/dist/esm/plugins/base/pm-plugins/fix-chrome-88-selection.js +3 -2
- package/dist/esm/plugins/base/pm-plugins/fix-chrome-spell-checking.js +3 -2
- package/dist/esm/plugins/base/pm-plugins/focus-handler.js +3 -2
- package/dist/esm/plugins/base/pm-plugins/frozen-editor.js +3 -2
- package/dist/esm/plugins/base/pm-plugins/inline-cursor-target.js +3 -2
- package/dist/esm/plugins/base/pm-plugins/newline-preserve-marks.js +3 -2
- package/dist/esm/plugins/base/pm-plugins/react-nodeview.js +3 -2
- package/dist/esm/plugins/base/pm-plugins/scroll-gutter.js +2 -2
- package/dist/esm/plugins/block-type/pm-plugins/main.js +3 -2
- package/dist/esm/plugins/breakout/index.js +2 -2
- package/dist/esm/plugins/caption/pm-plugins/main.js +2 -2
- package/dist/esm/plugins/card/index.js +12 -3
- package/dist/esm/plugins/card/messages.js +40 -0
- package/dist/esm/plugins/card/nodeviews/blockCard.js +4 -5
- package/dist/esm/plugins/card/nodeviews/embedCard.js +10 -0
- package/dist/esm/plugins/card/nodeviews/genericCard.js +31 -3
- package/dist/esm/plugins/card/nodeviews/inlineCard.js +6 -16
- package/dist/esm/plugins/card/pm-plugins/doc.js +49 -4
- package/dist/esm/plugins/card/pm-plugins/keymap.js +71 -0
- package/dist/esm/plugins/card/pm-plugins/main.js +3 -4
- package/dist/esm/plugins/card/ui/LinkToolbarAppearance.js +18 -0
- package/dist/esm/plugins/card/ui/LinkToolbarButtonGroup.js +10 -0
- package/dist/esm/plugins/card/ui/LinkToolbarIconDropdown.js +10 -0
- package/dist/esm/plugins/card/ui/ResizableEmbedCard.js +5 -2
- package/dist/esm/plugins/card/ui/assets/card.js +24 -0
- package/dist/esm/plugins/card/ui/assets/embed.js +24 -0
- package/dist/esm/plugins/card/ui/assets/inline.js +24 -0
- package/dist/esm/plugins/card/ui/assets/url.js +26 -0
- package/dist/esm/plugins/card/ui/styled.js +4 -3
- package/dist/esm/plugins/clear-marks-on-change-to-empty-document/index.js +3 -2
- package/dist/esm/plugins/clipboard/pm-plugins/main.js +3 -2
- package/dist/esm/plugins/code-bidi-warning/pm-plugins/main.js +2 -2
- package/dist/esm/plugins/code-block/pm-plugins/ide-ux.js +3 -2
- package/dist/esm/plugins/code-block/pm-plugins/keymaps.js +1 -1
- package/dist/esm/plugins/code-block/pm-plugins/main.js +3 -2
- package/dist/esm/plugins/code-block/toolbar.js +4 -2
- package/dist/esm/plugins/collab-edit/actions.js +10 -0
- package/dist/esm/plugins/collab-edit/events/initialize.js +16 -5
- package/dist/esm/plugins/collab-edit/index.js +8 -1
- package/dist/esm/plugins/collab-edit/native-collab-provider-plugin.js +31 -0
- package/dist/esm/plugins/collab-edit/plugin.js +18 -2
- package/dist/esm/plugins/collab-edit/provider/index.js +1 -2
- package/dist/esm/plugins/context-panel/index.js +3 -2
- package/dist/esm/plugins/custom-autoformat/index.js +2 -2
- package/dist/esm/plugins/date/pm-plugins/main.js +2 -2
- package/dist/esm/plugins/editor-disabled/index.js +3 -2
- package/dist/esm/plugins/emoji/index.js +3 -2
- package/dist/esm/plugins/emoji/nodeviews/emoji-next.js +3 -13
- package/dist/esm/plugins/emoji/nodeviews/emoji.js +1 -8
- package/dist/esm/plugins/expand/index.js +1 -1
- package/dist/esm/plugins/expand/nodeviews/index.js +14 -3
- package/dist/esm/plugins/expand/pm-plugins/keymap.js +13 -1
- package/dist/esm/plugins/expand/pm-plugins/main.js +13 -5
- package/dist/esm/plugins/expand/toolbar.js +2 -1
- package/dist/esm/plugins/extension/pm-plugins/main.js +2 -2
- package/dist/esm/plugins/extension/pm-plugins/unique-id.js +3 -2
- package/dist/esm/plugins/extension/toolbar.js +10 -5
- package/dist/esm/plugins/fake-text-cursor/index.js +2 -2
- package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +11 -6
- package/dist/esm/plugins/feature-flags-context/get-feature-flags.js +4 -0
- package/dist/esm/plugins/feature-flags-context/index.js +3 -3
- package/dist/esm/plugins/feature-flags-context/plugin-key.js +2 -0
- package/dist/esm/plugins/find-replace/plugin.js +2 -2
- package/dist/esm/plugins/find-replace/ui/Find.js +17 -12
- package/dist/esm/plugins/floating-toolbar/index.js +3 -2
- package/dist/esm/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.js +2 -2
- package/dist/esm/plugins/floating-toolbar/ui/Button.js +8 -2
- package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +8 -5
- package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +9 -5
- package/dist/esm/plugins/floating-toolbar/ui/messages.js +10 -0
- package/dist/esm/plugins/fragment/index.js +2 -2
- package/dist/esm/plugins/fragment/pm-plugins/fragment-consistency.js +3 -2
- package/dist/esm/plugins/help-dialog/index.js +2 -2
- package/dist/esm/plugins/help-dialog/ui/index.js +2 -1
- package/dist/esm/plugins/history/index.js +3 -2
- package/dist/esm/plugins/hyperlink/Toolbar.js +6 -3
- package/dist/esm/plugins/hyperlink/pm-plugins/fake-cursor-for-toolbar.js +2 -2
- package/dist/esm/plugins/hyperlink/pm-plugins/main.js +49 -6
- package/dist/esm/plugins/hyperlink/styles.js +1 -0
- package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +6 -1
- package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/messages.js +33 -0
- package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/utils.js +57 -18
- package/dist/esm/plugins/hyperlink/utils.js +4 -0
- package/dist/esm/plugins/image-upload/pm-plugins/main.js +2 -2
- package/dist/esm/plugins/jira-issue/index.js +3 -2
- package/dist/esm/plugins/layout/pm-plugins/main.js +3 -2
- package/dist/esm/plugins/layout/toolbar.js +4 -2
- package/dist/esm/plugins/list/commands/indent-list.js +2 -8
- package/dist/esm/plugins/list/commands/index.js +1 -1
- package/dist/esm/plugins/list/commands/outdent-list.js +3 -2
- package/dist/esm/plugins/list/pm-plugins/main.js +3 -2
- package/dist/esm/plugins/list/utils/node.js +11 -3
- package/dist/esm/plugins/list/utils/selection.js +7 -1
- package/dist/esm/plugins/macro/index.js +2 -2
- package/dist/esm/plugins/max-content-size/index.js +3 -2
- package/dist/esm/plugins/media/index.js +2 -1
- package/dist/esm/plugins/media/nodeviews/mediaGroup.js +6 -3
- package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +3 -3
- package/dist/esm/plugins/media/nodeviews/messages.js +8 -0
- package/dist/esm/plugins/media/pm-plugins/alt-text/index.js +3 -2
- package/dist/esm/plugins/media/pm-plugins/linking/index.js +3 -2
- package/dist/esm/plugins/media/pm-plugins/main.js +16 -8
- package/dist/esm/plugins/media/pm-plugins/media-editor.js +2 -2
- package/dist/esm/plugins/media/toolbar/commands.js +49 -0
- package/dist/esm/plugins/media/toolbar/index.js +9 -39
- package/dist/esm/plugins/media/ui/Media/DropPlaceholder.js +14 -4
- package/dist/esm/plugins/media/ui/Media/drop-placeholder-messages.js +8 -0
- package/dist/esm/plugins/media/ui/ToolbarMedia/index.js +8 -4
- package/dist/esm/plugins/media/ui/ToolbarMedia/toolbar-media-messages.js +8 -0
- package/dist/esm/plugins/media/utils/media-common.js +5 -4
- package/dist/esm/plugins/mentions/messages.js +10 -0
- package/dist/esm/plugins/mentions/nodeviews/mention.js +3 -9
- package/dist/esm/plugins/mentions/pm-plugins/main.js +2 -2
- package/dist/esm/plugins/mentions/ui/InviteItem/index.js +5 -4
- package/dist/esm/plugins/mentions/ui/ToolbarMention/index.js +6 -3
- package/dist/esm/plugins/mobile-dimensions/index.js +16 -2
- package/dist/esm/plugins/mobile-selection/content-in-selection.js +4 -4
- package/dist/esm/plugins/mobile-selection/mobile-selection-plugin.js +3 -2
- package/dist/esm/plugins/panel/pm-plugins/main.js +2 -2
- package/dist/esm/plugins/panel/toolbar.js +13 -6
- package/dist/esm/plugins/paste/handlers.js +31 -12
- package/dist/esm/plugins/paste/index.js +3 -2
- package/dist/esm/plugins/paste/pm-plugins/analytics.js +22 -20
- package/dist/esm/plugins/paste/pm-plugins/clipboard-text-serializer.js +37 -0
- package/dist/esm/plugins/paste/pm-plugins/main.js +30 -4
- package/dist/esm/plugins/paste/{util.js → util/index.js} +0 -0
- package/dist/esm/plugins/paste/util/tinyMCE.js +195 -0
- package/dist/esm/plugins/placeholder/index.js +3 -2
- package/dist/esm/plugins/placeholder-text/index.js +3 -2
- package/dist/esm/plugins/quick-insert/index.js +2 -2
- package/dist/esm/plugins/rank.js +1 -1
- package/dist/esm/plugins/scroll-into-view/index.js +3 -2
- package/dist/esm/plugins/selection/pm-plugins/gap-cursor-main.js +3 -2
- package/dist/esm/plugins/selection/pm-plugins/selection-main.js +3 -2
- package/dist/esm/plugins/status/nodeviews/status.js +1 -8
- package/dist/esm/plugins/status/plugin.js +3 -2
- package/dist/esm/plugins/status/ui/statusPicker.js +2 -4
- package/dist/esm/plugins/table/commands/misc.js +12 -1
- package/dist/esm/plugins/table/index.js +2 -1
- package/dist/esm/plugins/table/nodeviews/TableComponent.js +1 -19
- package/dist/esm/plugins/table/pm-plugins/decorations/plugin.js +3 -2
- package/dist/esm/plugins/table/pm-plugins/main.js +2 -2
- package/dist/esm/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.js +3 -2
- package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +73 -37
- package/dist/esm/plugins/table/pm-plugins/sticky-headers/plugin.js +2 -2
- package/dist/esm/plugins/table/pm-plugins/table-local-id.js +3 -2
- package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -2
- package/dist/esm/plugins/table/toolbar.js +2 -1
- package/dist/esm/plugins/table/ui/LayoutButton/index.js +85 -28
- package/dist/esm/plugins/table/ui/common-styles.css.js +3 -2
- package/dist/esm/plugins/tasks-and-decisions/pm-plugins/main.js +3 -2
- package/dist/esm/plugins/text-color/index.js +0 -3
- package/dist/esm/plugins/text-color/pm-plugins/main.js +6 -24
- package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +10 -79
- package/dist/esm/plugins/text-color/ui/ToolbarTextColor/styles.js +4 -5
- package/dist/esm/plugins/text-formatting/pm-plugins/clear-formatting.js +3 -2
- package/dist/esm/plugins/text-formatting/pm-plugins/cursor.js +3 -2
- package/dist/esm/plugins/text-formatting/pm-plugins/main.js +2 -2
- package/dist/esm/plugins/type-ahead/index.js +17 -0
- package/dist/esm/plugins/type-ahead/messages.js +8 -0
- package/dist/esm/plugins/type-ahead/pm-plugins/insert-item-plugin.js +2 -2
- package/dist/esm/plugins/type-ahead/pm-plugins/main.js +10 -9
- package/dist/esm/plugins/type-ahead/ui/InputQuery.js +12 -4
- package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +7 -3
- package/dist/esm/plugins/undo-redo/pm-plugins/main.js +2 -2
- package/dist/esm/plugins/unsupported-content/index.js +3 -2
- package/dist/esm/plugins/view-update-subscription/index.js +3 -2
- package/dist/esm/plugins/width/index.js +3 -2
- package/dist/esm/ui/Alignment/index.js +4 -2
- package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +7 -2
- package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +11 -4
- package/dist/esm/ui/Appearance/FullPage/messages.js +18 -0
- package/dist/esm/ui/ChromeCollapsed/index.js +4 -2
- package/dist/esm/ui/ChromeCollapsed/messages.js +8 -0
- package/dist/esm/ui/ColorPalette/index.js +1 -3
- package/dist/esm/ui/ConfigPanel/Header.js +5 -2
- package/dist/esm/ui/ContentStyles/index.js +2 -2
- package/dist/esm/ui/ContextPanel/index.js +3 -1
- package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +2 -3
- package/dist/esm/ui/ToolbarHelp/index.js +18 -5
- package/dist/esm/ui/ToolbarHelp/messages.js +8 -0
- package/dist/esm/utils/document.js +18 -4
- package/dist/esm/utils/keymap.js +2 -2
- package/dist/esm/utils/performance/instrumented-plugin.js +20 -11
- package/dist/esm/utils/performance/safer-transactions.js +47 -0
- package/dist/esm/utils/plugin-state-factory.js +1 -1
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/actions/index.d.ts +11 -0
- package/dist/types/create-editor/create-editor.d.ts +2 -2
- package/dist/types/create-editor/get-plugins.d.ts +3 -2
- package/dist/types/plugins/alignment/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/alignment/pm-plugins/main.d.ts +3 -2
- package/dist/types/plugins/alignment/ui/ToolbarAlignment/icon-map.d.ts +4 -4
- package/dist/types/plugins/alignment/ui/ToolbarAlignment/messages.d.ts +15 -0
- package/dist/types/plugins/analytics/types/enums.d.ts +3 -0
- package/dist/types/plugins/analytics/types/events.d.ts +8 -2
- package/dist/types/plugins/analytics/types/experimental-events.d.ts +1 -8
- package/dist/types/plugins/analytics/types/general-events.d.ts +5 -1
- package/dist/types/plugins/analytics/types/media-events.d.ts +6 -1
- package/dist/types/plugins/analytics/types/paste-events.d.ts +1 -0
- package/dist/types/plugins/analytics/utils.d.ts +2 -2
- package/dist/types/plugins/annotation/pm-plugins/inline-comment.d.ts +2 -2
- package/dist/types/plugins/annotation/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/annotation/pm-plugins/plugin-factory.d.ts +1 -2
- package/dist/types/plugins/avatar-group/messages.d.ts +7 -0
- package/dist/types/plugins/avatar-group/ui/AvatarGroupPluginWrapper.d.ts +2 -1
- package/dist/types/plugins/base/pm-plugins/better-type-history.d.ts +2 -2
- package/dist/types/plugins/base/pm-plugins/context-identifier.d.ts +3 -2
- package/dist/types/plugins/base/pm-plugins/decoration.d.ts +3 -2
- package/dist/types/plugins/base/pm-plugins/filter-steps.d.ts +2 -2
- package/dist/types/plugins/base/pm-plugins/fix-chrome-88-selection.d.ts +3 -2
- package/dist/types/plugins/base/pm-plugins/fix-chrome-spell-checking.d.ts +2 -2
- package/dist/types/plugins/base/pm-plugins/focus-handler.d.ts +3 -2
- package/dist/types/plugins/base/pm-plugins/frozen-editor.d.ts +3 -2
- package/dist/types/plugins/base/pm-plugins/inline-cursor-target.d.ts +5 -4
- package/dist/types/plugins/base/pm-plugins/newline-preserve-marks.d.ts +3 -2
- package/dist/types/plugins/base/pm-plugins/react-nodeview.d.ts +4 -3
- package/dist/types/plugins/base/pm-plugins/scroll-gutter.d.ts +2 -2
- package/dist/types/plugins/block-type/pm-plugins/input-rule.d.ts +2 -2
- package/dist/types/plugins/block-type/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/block-type/pm-plugins/main.d.ts +3 -7
- package/dist/types/plugins/caption/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/caption/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/card/messages.d.ts +40 -0
- package/dist/types/plugins/card/nodeviews/blockCard.d.ts +3 -3
- package/dist/types/plugins/card/nodeviews/embedCard.d.ts +1 -0
- package/dist/types/plugins/card/nodeviews/genericCard.d.ts +4 -0
- package/dist/types/plugins/card/nodeviews/inlineCard.d.ts +3 -6
- package/dist/types/plugins/card/pm-plugins/doc.d.ts +1 -0
- package/dist/types/plugins/card/pm-plugins/keymap.d.ts +3 -0
- package/dist/types/plugins/card/pm-plugins/main.d.ts +3 -3
- package/dist/types/plugins/card/pm-plugins/util/state.d.ts +2 -2
- package/dist/types/plugins/card/ui/LinkToolbarButtonGroup.d.ts +5 -0
- package/dist/types/plugins/card/ui/LinkToolbarIconDropdown.d.ts +5 -0
- package/dist/types/plugins/card/ui/assets/card.d.ts +3 -0
- package/dist/types/plugins/card/ui/assets/embed.d.ts +3 -0
- package/dist/types/plugins/card/ui/assets/inline.d.ts +3 -0
- package/dist/types/plugins/card/ui/assets/url.d.ts +3 -0
- package/dist/types/plugins/card/ui/styled.d.ts +2 -0
- package/dist/types/plugins/clear-marks-on-change-to-empty-document/index.d.ts +3 -2
- package/dist/types/plugins/clipboard/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/code-bidi-warning/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/code-bidi-warning/pm-plugins/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/code-block/pm-plugins/ide-ux.d.ts +2 -2
- package/dist/types/plugins/code-block/pm-plugins/keymaps.d.ts +2 -2
- package/dist/types/plugins/code-block/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/collab-edit/index.d.ts +0 -1
- package/dist/types/plugins/collab-edit/native-collab-provider-plugin.d.ts +7 -0
- package/dist/types/plugins/collab-edit/plugin-state.d.ts +2 -2
- package/dist/types/plugins/collab-edit/plugin.d.ts +2 -2
- package/dist/types/plugins/collab-edit/provider/index.d.ts +0 -1
- package/dist/types/plugins/collab-edit/types.d.ts +4 -0
- package/dist/types/plugins/custom-autoformat/index.d.ts +3 -2
- package/dist/types/plugins/date/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/date/pm-plugins/utils.d.ts +3 -3
- package/dist/types/plugins/editor-disabled/index.d.ts +3 -2
- package/dist/types/plugins/emoji/index.d.ts +3 -2
- package/dist/types/plugins/emoji/pm-plugins/ascii-input-rules.d.ts +4 -3
- package/dist/types/plugins/emoji/types.d.ts +0 -1
- package/dist/types/plugins/expand/index.d.ts +1 -0
- package/dist/types/plugins/expand/nodeviews/index.d.ts +6 -2
- package/dist/types/plugins/expand/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/expand/pm-plugins/main.d.ts +3 -2
- package/dist/types/plugins/expand/pm-plugins/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/extension/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/extension/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/extension/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/extension/pm-plugins/unique-id.d.ts +2 -2
- package/dist/types/plugins/fake-text-cursor/index.d.ts +2 -2
- package/dist/types/plugins/feature-flags-context/get-enabled-feature-flag-keys.d.ts +1 -1
- package/dist/types/plugins/feature-flags-context/get-feature-flags.d.ts +3 -0
- package/dist/types/plugins/feature-flags-context/index.d.ts +1 -2
- package/dist/types/plugins/feature-flags-context/plugin-key.d.ts +2 -0
- package/dist/types/plugins/find-replace/keymap.d.ts +2 -1
- package/dist/types/plugins/find-replace/plugin.d.ts +3 -3
- package/dist/types/plugins/find-replace/utils/index.d.ts +2 -2
- package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/floating-toolbar/pm-plugins/toolbar-data/plugin.d.ts +2 -2
- package/dist/types/plugins/floating-toolbar/types.d.ts +1 -0
- package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +2 -1
- package/dist/types/plugins/floating-toolbar/ui/DropdownMenu.d.ts +6 -5
- package/dist/types/plugins/floating-toolbar/ui/Toolbar.d.ts +6 -5
- package/dist/types/plugins/floating-toolbar/ui/messages.d.ts +10 -0
- package/dist/types/plugins/fragment/index.d.ts +2 -2
- package/dist/types/plugins/fragment/pm-plugins/fragment-consistency.d.ts +2 -2
- package/dist/types/plugins/help-dialog/index.d.ts +2 -2
- package/dist/types/plugins/hyperlink/pm-plugins/fake-cursor-for-toolbar.d.ts +2 -2
- package/dist/types/plugins/hyperlink/pm-plugins/input-rule.d.ts +2 -2
- package/dist/types/plugins/hyperlink/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/hyperlink/pm-plugins/main.d.ts +3 -2
- package/dist/types/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.d.ts +5 -0
- package/dist/types/plugins/hyperlink/ui/HyperlinkAddToolbar/messages.d.ts +32 -0
- package/dist/types/plugins/image-upload/pm-plugins/input-rule.d.ts +2 -2
- package/dist/types/plugins/image-upload/pm-plugins/main.d.ts +2 -3
- package/dist/types/plugins/indentation/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/layout/pm-plugins/main.d.ts +2 -3
- package/dist/types/plugins/list/pm-plugins/input-rules/index.d.ts +2 -2
- package/dist/types/plugins/list/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/list/pm-plugins/main.d.ts +3 -2
- package/dist/types/plugins/list/utils/selection.d.ts +1 -0
- package/dist/types/plugins/macro/index.d.ts +2 -2
- package/dist/types/plugins/max-content-size/index.d.ts +3 -2
- package/dist/types/plugins/media/nodeviews/mediaGroup.d.ts +6 -19
- package/dist/types/plugins/media/nodeviews/mediaNodeUpdater.d.ts +2 -2
- package/dist/types/plugins/media/nodeviews/messages.d.ts +7 -0
- package/dist/types/plugins/media/pm-plugins/alt-text/index.d.ts +3 -2
- package/dist/types/plugins/media/pm-plugins/alt-text/keymap.d.ts +2 -2
- package/dist/types/plugins/media/pm-plugins/keymap-media-single.d.ts +2 -2
- package/dist/types/plugins/media/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/media/pm-plugins/linking/index.d.ts +4 -3
- package/dist/types/plugins/media/pm-plugins/linking/keymap.d.ts +2 -2
- package/dist/types/plugins/media/pm-plugins/main.d.ts +4 -2
- package/dist/types/plugins/media/pm-plugins/media-editor-plugin-factory.d.ts +1 -1
- package/dist/types/plugins/media/pm-plugins/media-editor.d.ts +2 -2
- package/dist/types/plugins/media/toolbar/commands.d.ts +1 -0
- package/dist/types/plugins/media/ui/Media/drop-placeholder-messages.d.ts +7 -0
- package/dist/types/plugins/media/ui/ToolbarMedia/index.d.ts +6 -3
- package/dist/types/plugins/media/ui/ToolbarMedia/toolbar-media-messages.d.ts +7 -0
- package/dist/types/plugins/media/utils/media-common.d.ts +2 -1
- package/dist/types/plugins/mentions/messages.d.ts +10 -0
- package/dist/types/plugins/mentions/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/mentions/types.d.ts +0 -1
- package/dist/types/plugins/mentions/ui/InviteItem/index.d.ts +6 -3
- package/dist/types/plugins/mentions/ui/ToolbarMention/index.d.ts +6 -5
- package/dist/types/plugins/mobile-dimensions/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/mobile-selection/mobile-selection-plugin.d.ts +3 -2
- package/dist/types/plugins/panel/pm-plugins/keymaps.d.ts +2 -2
- package/dist/types/plugins/panel/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/paste/index.d.ts +2 -1
- package/dist/types/plugins/paste/pm-plugins/clipboard-text-serializer.d.ts +13 -0
- package/dist/types/plugins/paste/pm-plugins/main.d.ts +3 -2
- package/dist/types/plugins/paste/{util.d.ts → util/index.d.ts} +1 -1
- package/dist/types/plugins/paste/util/tinyMCE.d.ts +32 -0
- package/dist/types/plugins/placeholder/index.d.ts +3 -2
- package/dist/types/plugins/placeholder-text/index.d.ts +2 -2
- package/dist/types/plugins/rule/pm-plugins/input-rule.d.ts +3 -2
- package/dist/types/plugins/rule/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/save-on-enter/index.d.ts +2 -2
- package/dist/types/plugins/selection/plugin-factory.d.ts +1 -2
- package/dist/types/plugins/selection/pm-plugins/gap-cursor-keymap.d.ts +2 -2
- package/dist/types/plugins/selection/pm-plugins/gap-cursor-main.d.ts +2 -2
- package/dist/types/plugins/selection/pm-plugins/keymap.d.ts +2 -1
- package/dist/types/plugins/selection/pm-plugins/selection-main.d.ts +3 -2
- package/dist/types/plugins/selection/utils.d.ts +2 -2
- package/dist/types/plugins/status/keymap.d.ts +2 -2
- package/dist/types/plugins/status/plugin.d.ts +2 -2
- package/dist/types/plugins/status/types.d.ts +0 -1
- package/dist/types/plugins/submit-editor/index.d.ts +2 -2
- package/dist/types/plugins/table/handlers.d.ts +2 -2
- package/dist/types/plugins/table/pm-plugins/decorations/plugin.d.ts +4 -3
- package/dist/types/plugins/table/pm-plugins/decorations/utils/types.d.ts +2 -2
- package/dist/types/plugins/table/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/table/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/table/pm-plugins/plugin-factory.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/safari-delayed-dom-selection-syncing-workaround.d.ts +3 -2
- package/dist/types/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.d.ts +5 -3
- package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin-state.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/sticky-headers/plugin.d.ts +2 -2
- package/dist/types/plugins/table/pm-plugins/table-local-id.d.ts +2 -2
- package/dist/types/plugins/table/pm-plugins/table-resizing/plugin-factory.d.ts +2 -3
- package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +2 -2
- package/dist/types/plugins/table/pm-plugins/table-selection-keymap.d.ts +2 -2
- package/dist/types/plugins/table/ui/LayoutButton/index.d.ts +2 -0
- package/dist/types/plugins/table/utils/collapse.d.ts +2 -2
- package/dist/types/plugins/table/utils/decoration.d.ts +3 -3
- package/dist/types/plugins/tasks-and-decisions/pm-plugins/input-rules.d.ts +2 -2
- package/dist/types/plugins/tasks-and-decisions/pm-plugins/keymaps.d.ts +2 -2
- package/dist/types/plugins/tasks-and-decisions/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/text-color/pm-plugins/main.d.ts +3 -2
- package/dist/types/plugins/text-color/ui/ToolbarTextColor/index.d.ts +0 -14
- package/dist/types/plugins/text-color/ui/ToolbarTextColor/styles.d.ts +4 -5
- package/dist/types/plugins/text-formatting/pm-plugins/clear-formatting-keymap.d.ts +2 -2
- package/dist/types/plugins/text-formatting/pm-plugins/clear-formatting.d.ts +3 -2
- package/dist/types/plugins/text-formatting/pm-plugins/cursor.d.ts +2 -2
- package/dist/types/plugins/text-formatting/pm-plugins/input-rule.d.ts +2 -2
- package/dist/types/plugins/text-formatting/pm-plugins/keymap.d.ts +2 -2
- package/dist/types/plugins/text-formatting/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/text-formatting/pm-plugins/smart-input-rule.d.ts +1 -1
- package/dist/types/plugins/type-ahead/index.d.ts +9 -1
- package/dist/types/plugins/type-ahead/messages.d.ts +7 -0
- package/dist/types/plugins/type-ahead/pm-plugins/input-rules.d.ts +2 -2
- package/dist/types/plugins/type-ahead/pm-plugins/insert-item-plugin.d.ts +2 -2
- package/dist/types/plugins/type-ahead/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/type-ahead/pm-plugins/reducer.d.ts +2 -2
- package/dist/types/plugins/type-ahead/types.d.ts +2 -2
- package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +4 -1
- package/dist/types/plugins/undo-redo/pm-plugins/keymaps.d.ts +2 -2
- package/dist/types/plugins/width/index.d.ts +3 -2
- package/dist/types/types/feature-flags.d.ts +35 -0
- package/dist/types/types/pm-plugin.d.ts +2 -2
- package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +4 -1
- package/dist/types/ui/Appearance/FullPage/FullPageToolbar.d.ts +5 -1
- package/dist/types/ui/Appearance/FullPage/messages.d.ts +18 -0
- package/dist/types/ui/ChromeCollapsed/index.d.ts +5 -7
- package/dist/types/ui/ChromeCollapsed/messages.d.ts +7 -0
- package/dist/types/ui/ColorPalette/index.d.ts +0 -1
- package/dist/types/ui/ToolbarHelp/index.d.ts +5 -2
- package/dist/types/ui/ToolbarHelp/messages.d.ts +7 -0
- package/dist/types/utils/document.d.ts +5 -5
- package/dist/types/utils/input-rules.d.ts +3 -2
- package/dist/types/utils/is-text-input.d.ts +2 -2
- package/dist/types/utils/keymap.d.ts +2 -2
- package/dist/types/utils/performance/instrumented-plugin.d.ts +12 -4
- package/dist/types/utils/performance/safer-transactions.d.ts +8 -0
- package/dist/types/utils/plugin-state-factory.d.ts +5 -5
- package/package.json +32 -32
- package/dist/cjs/plugins/collab-edit/provider/collab-provider.js +0 -376
- package/dist/cjs/ui/InlineNodeWrapper/index.js +0 -47
- package/dist/es2019/plugins/collab-edit/provider/collab-provider.js +0 -293
- package/dist/es2019/ui/InlineNodeWrapper/index.js +0 -28
- package/dist/esm/plugins/collab-edit/provider/collab-provider.js +0 -364
- package/dist/esm/ui/InlineNodeWrapper/index.js +0 -31
- package/dist/types/plugins/collab-edit/provider/collab-provider.d.ts +0 -45
- package/dist/types/ui/InlineNodeWrapper/index.d.ts +0 -15
|
@@ -148,9 +148,18 @@ function handlePasteLinkOnSelectedText(slice) {
|
|
|
148
148
|
var paragraph = slice.content.child(0);
|
|
149
149
|
|
|
150
150
|
if (paragraph.content.childCount === 1 && (0, _utils.isText)(paragraph.content.child(0), schema)) {
|
|
151
|
-
var text = paragraph.content.child(0);
|
|
151
|
+
var text = paragraph.content.child(0); // If pasteType is plain text, then
|
|
152
|
+
// @atlaskit/editor-markdown-transformer in getMarkdownSlice decode
|
|
153
|
+
// url before setting text property of text node.
|
|
154
|
+
// However href of marks will be without decoding.
|
|
155
|
+
// So, if there is character (e.g space) in url eligible escaping then
|
|
156
|
+
// mark.attrs.href will not be equal to text.text.
|
|
157
|
+
// That's why decoding mark.attrs.href before comparing.
|
|
158
|
+
// However, if pasteType is richText, that means url in text.text
|
|
159
|
+
// and href in marks, both won't be decoded.
|
|
160
|
+
|
|
152
161
|
linkMark = text.marks.find(function (mark) {
|
|
153
|
-
return (0, _utils.isLinkMark)(mark, schema) && mark.attrs.href === text.text;
|
|
162
|
+
return (0, _utils.isLinkMark)(mark, schema) && (mark.attrs.href === text.text || decodeURI(mark.attrs.href) === text.text);
|
|
154
163
|
});
|
|
155
164
|
}
|
|
156
165
|
} // if we have a link, apply it to the selected text if we have any and it's allowed
|
|
@@ -677,11 +686,14 @@ function insertIntoPanel(tr, slice, panel) {
|
|
|
677
686
|
|
|
678
687
|
function handleRichText(slice) {
|
|
679
688
|
return function (state, dispatch) {
|
|
680
|
-
var
|
|
689
|
+
var _slice$content;
|
|
681
690
|
|
|
682
691
|
var _state$schema$nodes2 = state.schema.nodes,
|
|
683
692
|
codeBlock = _state$schema$nodes2.codeBlock,
|
|
684
|
-
|
|
693
|
+
heading = _state$schema$nodes2.heading,
|
|
694
|
+
paragraph = _state$schema$nodes2.paragraph;
|
|
695
|
+
var selection = state.selection;
|
|
696
|
+
var firstChildOfSlice = (_slice$content = slice.content) === null || _slice$content === void 0 ? void 0 : _slice$content.firstChild; // In case user is pasting inline code,
|
|
685
697
|
// any backtick ` immediately preceding it should be removed.
|
|
686
698
|
|
|
687
699
|
var tr = state.tr;
|
|
@@ -695,20 +707,27 @@ function handleRichText(slice) {
|
|
|
695
707
|
}
|
|
696
708
|
|
|
697
709
|
(0, _prosemirrorHistory.closeHistory)(tr);
|
|
698
|
-
var
|
|
699
|
-
var
|
|
700
|
-
var
|
|
701
|
-
|
|
702
|
-
|
|
710
|
+
var isFirstChildListNode = (0, _node.isListNode)(firstChildOfSlice);
|
|
711
|
+
var isLastChildListNode = (0, _node.isListNode)(firstChildOfSlice);
|
|
712
|
+
var isSliceContentListNodes = isFirstChildListNode || isLastChildListNode; // We want to use safeInsert to insert invalid content, as it inserts at the closest non schema violating position
|
|
713
|
+
// rather than spliting the selection parent node in half (which is what replaceSelection does)
|
|
714
|
+
// Exception is paragraph and heading nodes, these should be split, provided their parent supports the pasted content
|
|
715
|
+
|
|
716
|
+
var textNodes = [heading, paragraph];
|
|
717
|
+
var selectionParent = selection.$to.node(selection.$to.depth - 1);
|
|
718
|
+
var noNeedForSafeInsert = selection.$to.node().type.validContent(slice.content) || textNodes.includes(selection.$to.node().type) && selectionParent.type.validContent(slice.content);
|
|
703
719
|
|
|
704
|
-
if (isSliceContentListNodes
|
|
720
|
+
if (isSliceContentListNodes) {
|
|
705
721
|
(0, _edgeCases.insertSliceForLists)({
|
|
706
722
|
tr: tr,
|
|
707
723
|
slice: slice
|
|
708
724
|
});
|
|
725
|
+
} else if (noNeedForSafeInsert) {
|
|
726
|
+
tr.replaceSelection(slice);
|
|
709
727
|
} else {
|
|
710
|
-
//
|
|
711
|
-
|
|
728
|
+
// need safeInsert rather than replaceSelection, so that nodes aren't split in half
|
|
729
|
+
// e.g. when pasting a layout into a table, replaceSelection splits the table in half and adds the layout in the middle
|
|
730
|
+
tr = (0, _prosemirrorUtils.safeInsert)(slice.content, tr.selection.$to.pos)(tr);
|
|
712
731
|
}
|
|
713
732
|
|
|
714
733
|
tr.setStoredMarks([]);
|
|
@@ -9,7 +9,8 @@ var _main = require("./pm-plugins/main");
|
|
|
9
9
|
|
|
10
10
|
var pastePlugin = function pastePlugin(_ref) {
|
|
11
11
|
var cardOptions = _ref.cardOptions,
|
|
12
|
-
sanitizePrivateContent = _ref.sanitizePrivateContent
|
|
12
|
+
sanitizePrivateContent = _ref.sanitizePrivateContent,
|
|
13
|
+
plainTextPasteLinkification = _ref.plainTextPasteLinkification;
|
|
13
14
|
return {
|
|
14
15
|
name: 'paste',
|
|
15
16
|
pmPlugins: function pmPlugins() {
|
|
@@ -19,7 +20,7 @@ var pastePlugin = function pastePlugin(_ref) {
|
|
|
19
20
|
var schema = _ref2.schema,
|
|
20
21
|
providerFactory = _ref2.providerFactory,
|
|
21
22
|
dispatchAnalyticsEvent = _ref2.dispatchAnalyticsEvent;
|
|
22
|
-
return (0, _main.createPlugin)(schema, dispatchAnalyticsEvent, cardOptions, sanitizePrivateContent, providerFactory);
|
|
23
|
+
return (0, _main.createPlugin)(schema, dispatchAnalyticsEvent, plainTextPasteLinkification, cardOptions, sanitizePrivateContent, providerFactory);
|
|
23
24
|
}
|
|
24
25
|
}];
|
|
25
26
|
}
|
|
@@ -143,7 +143,7 @@ function getActionSubjectId(view) {
|
|
|
143
143
|
return actionSubjectId ? actionSubjectId : _analytics.ACTION_SUBJECT_ID.PASTE_PARAGRAPH;
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
-
function createPasteAsPlainPayload(actionSubjectId, text) {
|
|
146
|
+
function createPasteAsPlainPayload(actionSubjectId, text, linksInPasteCount) {
|
|
147
147
|
return {
|
|
148
148
|
action: _analytics.ACTION.PASTED_AS_PLAIN,
|
|
149
149
|
actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
|
|
@@ -151,7 +151,8 @@ function createPasteAsPlainPayload(actionSubjectId, text) {
|
|
|
151
151
|
eventType: _analytics.EVENT_TYPE.TRACK,
|
|
152
152
|
attributes: {
|
|
153
153
|
inputMethod: _analytics.INPUT_METHOD.KEYBOARD,
|
|
154
|
-
pasteSize: text.length
|
|
154
|
+
pasteSize: text.length,
|
|
155
|
+
linksInPasteCount: linksInPasteCount
|
|
155
156
|
}
|
|
156
157
|
};
|
|
157
158
|
}
|
|
@@ -175,23 +176,6 @@ function createPastePayload(actionSubjectId, attributes, linkDomain) {
|
|
|
175
176
|
function createPasteAnalyticsPayload(view, event, slice, pasteContext) {
|
|
176
177
|
var text = event.clipboardData ? event.clipboardData.getData('text/plain') || event.clipboardData.getData('text/uri-list') : '';
|
|
177
178
|
var actionSubjectId = getActionSubjectId(view);
|
|
178
|
-
|
|
179
|
-
if (pasteContext.asPlain) {
|
|
180
|
-
return createPasteAsPlainPayload(actionSubjectId, text);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
var source = (0, _util.getPasteSource)(event);
|
|
184
|
-
|
|
185
|
-
if (pasteContext.type === _analytics.PasteTypes.plain) {
|
|
186
|
-
return createPastePayload(actionSubjectId, {
|
|
187
|
-
pasteSize: text.length,
|
|
188
|
-
type: pasteContext.type,
|
|
189
|
-
content: _analytics.PasteContents.text,
|
|
190
|
-
source: source,
|
|
191
|
-
hyperlinkPasteOnText: false
|
|
192
|
-
});
|
|
193
|
-
}
|
|
194
|
-
|
|
195
179
|
var pasteSize = slice.size;
|
|
196
180
|
var content = getContent(view.state, slice);
|
|
197
181
|
var linkUrls = []; // If we have a link among the pasted content, grab the
|
|
@@ -211,13 +195,31 @@ function createPasteAnalyticsPayload(view, event, slice, pasteContext) {
|
|
|
211
195
|
});
|
|
212
196
|
}
|
|
213
197
|
|
|
198
|
+
if (pasteContext.asPlain) {
|
|
199
|
+
return createPasteAsPlainPayload(actionSubjectId, text, linkUrls.length);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
var source = (0, _util.getPasteSource)(event);
|
|
203
|
+
|
|
204
|
+
if (pasteContext.type === _analytics.PasteTypes.plain) {
|
|
205
|
+
return createPastePayload(actionSubjectId, {
|
|
206
|
+
pasteSize: text.length,
|
|
207
|
+
type: pasteContext.type,
|
|
208
|
+
content: _analytics.PasteContents.text,
|
|
209
|
+
source: source,
|
|
210
|
+
hyperlinkPasteOnText: false,
|
|
211
|
+
linksInPasteCount: linkUrls.length
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
|
|
214
215
|
var linkDomains = linkUrls.map(_utils2.getLinkDomain);
|
|
215
216
|
return createPastePayload(actionSubjectId, {
|
|
216
217
|
type: pasteContext.type,
|
|
217
218
|
pasteSize: pasteSize,
|
|
218
219
|
content: content,
|
|
219
220
|
source: source,
|
|
220
|
-
hyperlinkPasteOnText: !!pasteContext.hyperlinkPasteOnText
|
|
221
|
+
hyperlinkPasteOnText: !!pasteContext.hyperlinkPasteOnText,
|
|
222
|
+
linksInPasteCount: linkUrls.length
|
|
221
223
|
}, linkDomains);
|
|
222
224
|
} // TODO: ED-6612 We should not dispatch only analytics, it's preferred to wrap each command with his own analytics.
|
|
223
225
|
// However, handlers like handleMacroAutoConvert dispatch multiple time,
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.clipboardTextSerializer = clipboardTextSerializer;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Returns a plain text serialization of a given slice. This is used for populating the plain text
|
|
10
|
+
* section of the clipboard on copy.
|
|
11
|
+
* The current implementation is bare bones - only inlineCards and blockCards are tested (they
|
|
12
|
+
* previously were empty on plain text copy).
|
|
13
|
+
* Unknown nodes are passed to node.textBetween().
|
|
14
|
+
*
|
|
15
|
+
* By default (without this function passed to the editor), the editor uses
|
|
16
|
+
* `slice.content.textBetween(0, slice.content.size, "\n\n")`
|
|
17
|
+
* (see https://prosemirror.net/docs/ref/#view.EditorProps.clipboardTextSerializer)
|
|
18
|
+
*/
|
|
19
|
+
function clipboardTextSerializer(slice) {
|
|
20
|
+
var text = '';
|
|
21
|
+
var blockSeparater = '\n\n';
|
|
22
|
+
slice.content.nodesBetween(0, slice.content.size, function (node) {
|
|
23
|
+
if (node.type.isBlock) {
|
|
24
|
+
text += blockSeparater;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (node.type.name === 'paragraph') {
|
|
28
|
+
return true;
|
|
29
|
+
} else if (node.type.name === 'hardBreak') {
|
|
30
|
+
text += '\n';
|
|
31
|
+
} else if (node.type.name === 'text') {
|
|
32
|
+
text += node.text;
|
|
33
|
+
} else if (node.type.name === 'inlineCard') {
|
|
34
|
+
text += node.attrs.url;
|
|
35
|
+
} else if (node.type.name === 'blockCard') {
|
|
36
|
+
text += node.attrs.url;
|
|
37
|
+
} else {
|
|
38
|
+
text += node.textBetween(0, node.content.size, '\n\n');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return false;
|
|
42
|
+
});
|
|
43
|
+
return text.trim();
|
|
44
|
+
}
|
|
@@ -24,6 +24,8 @@ var _utils = require("@atlaskit/editor-tables/utils");
|
|
|
24
24
|
|
|
25
25
|
var _prosemirrorModel = require("prosemirror-model");
|
|
26
26
|
|
|
27
|
+
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
28
|
+
|
|
27
29
|
var _prosemirrorState = require("prosemirror-state");
|
|
28
30
|
|
|
29
31
|
var _uuid = _interopRequireDefault(require("uuid"));
|
|
@@ -80,11 +82,16 @@ var _utils11 = require("../../annotation/utils");
|
|
|
80
82
|
|
|
81
83
|
var _betterTypeHistory = require("../../base/pm-plugins/better-type-history");
|
|
82
84
|
|
|
85
|
+
var _clipboardTextSerializer = require("./clipboard-text-serializer");
|
|
86
|
+
|
|
87
|
+
var _tinyMCE = require("../util/tinyMCE");
|
|
88
|
+
|
|
83
89
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
84
90
|
|
|
85
91
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
86
92
|
|
|
87
93
|
// @ts-ignore: outdated type definitions
|
|
94
|
+
_analytics.sendPasteAnalyticsEvent;
|
|
88
95
|
var stateKey = new _prosemirrorState.PluginKey('pastePlugin');
|
|
89
96
|
exports.stateKey = stateKey;
|
|
90
97
|
|
|
@@ -103,7 +110,7 @@ function isBackgroundCellAllowed(state) {
|
|
|
103
110
|
return tableState && tableState.pluginConfig.allowBackgroundColor;
|
|
104
111
|
}
|
|
105
112
|
|
|
106
|
-
function createPlugin(schema, dispatchAnalyticsEvent, cardOptions, sanitizePrivateContent, providerFactory) {
|
|
113
|
+
function createPlugin(schema, dispatchAnalyticsEvent, plainTextPasteLinkification, cardOptions, sanitizePrivateContent, providerFactory) {
|
|
107
114
|
var atlassianMarkDownParser = new _editorMarkdownTransformer.MarkdownTransformer(schema, _md.md);
|
|
108
115
|
|
|
109
116
|
function getMarkdownSlice(text, openStart, openEnd) {
|
|
@@ -171,9 +178,18 @@ function createPlugin(schema, dispatchAnalyticsEvent, cardOptions, sanitizePriva
|
|
|
171
178
|
providerFactory.subscribe('extensionProvider', setExtensionAutoConverter);
|
|
172
179
|
}
|
|
173
180
|
|
|
174
|
-
|
|
181
|
+
var mostRecentPasteEvent;
|
|
182
|
+
return new _safePlugin.SafePlugin({
|
|
175
183
|
key: stateKey,
|
|
176
184
|
props: {
|
|
185
|
+
// For serialising to plain text
|
|
186
|
+
clipboardTextSerializer: _clipboardTextSerializer.clipboardTextSerializer,
|
|
187
|
+
handleDOMEvents: {
|
|
188
|
+
paste: function paste(view, event) {
|
|
189
|
+
mostRecentPasteEvent = event;
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
},
|
|
177
193
|
handlePaste: function handlePaste(view, rawEvent, slice) {
|
|
178
194
|
var _analyticsPlugin$perf, _analyticsPlugin$perf2;
|
|
179
195
|
|
|
@@ -258,8 +274,9 @@ function createPlugin(schema, dispatchAnalyticsEvent, cardOptions, sanitizePriva
|
|
|
258
274
|
};
|
|
259
275
|
|
|
260
276
|
slice = (0, _handlers.handleParagraphBlockMarks)(state, slice);
|
|
277
|
+
var plainTextPasteSlice = plainTextPasteLinkification === true ? (0, _utils2.linkifyContent)(state.schema)(slice) : slice;
|
|
261
278
|
|
|
262
|
-
if ((0, _analytics.handlePasteAsPlainTextWithAnalytics)(view, event,
|
|
279
|
+
if ((0, _analytics.handlePasteAsPlainTextWithAnalytics)(view, event, plainTextPasteSlice)(state, dispatch, view)) {
|
|
263
280
|
return true;
|
|
264
281
|
} // transform slices based on destination
|
|
265
282
|
|
|
@@ -425,6 +442,17 @@ function createPlugin(schema, dispatchAnalyticsEvent, cardOptions, sanitizePriva
|
|
|
425
442
|
if (html.indexOf('id="docs-internal-guid-') >= 0) {
|
|
426
443
|
html = html.replace(/white-space:pre/g, '');
|
|
427
444
|
html = html.replace(/white-space:pre-wrap/g, '');
|
|
445
|
+
} // Partial fix for ED-7331: During a copy/paste from the legacy tinyMCE
|
|
446
|
+
// confluence editor, if we encounter an incomplete table (e.g. table elements
|
|
447
|
+
// not wrapped in <table>), we try to rebuild a complete, valid table if possible.
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
if (mostRecentPasteEvent && (0, _tinyMCE.isPastedFromTinyMCEConfluence)(mostRecentPasteEvent, html) && (0, _tinyMCE.htmlHasIncompleteTable)(html)) {
|
|
451
|
+
var completeTableHtml = (0, _tinyMCE.tryRebuildCompleteTableHtml)(html);
|
|
452
|
+
|
|
453
|
+
if (completeTableHtml) {
|
|
454
|
+
html = completeTableHtml;
|
|
455
|
+
}
|
|
428
456
|
}
|
|
429
457
|
|
|
430
458
|
if (!(0, _util.isPastedFromWord)(html) && !(0, _util.isPastedFromExcel)(html) && html.indexOf('<img ') >= 0) {
|
|
@@ -438,6 +466,7 @@ function createPlugin(schema, dispatchAnalyticsEvent, cardOptions, sanitizePriva
|
|
|
438
466
|
html = (0, _util.removeDuplicateInvalidLinks)(html);
|
|
439
467
|
}
|
|
440
468
|
|
|
469
|
+
mostRecentPasteEvent = null;
|
|
441
470
|
return html;
|
|
442
471
|
}
|
|
443
472
|
}
|
|
File without changes
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.wrapWithTable = exports.tryReconstructTableRows = exports.tryRebuildCompleteTableHtml = exports.isPastedFromTinyMCEConfluence = exports.htmlHasIncompleteTable = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var _chunk = _interopRequireDefault(require("lodash/chunk"));
|
|
13
|
+
|
|
14
|
+
var isPastedFromTinyMCE = function isPastedFromTinyMCE(pasteEvent) {
|
|
15
|
+
var _pasteEvent$clipboard, _pasteEvent$clipboard2, _pasteEvent$clipboard3;
|
|
16
|
+
|
|
17
|
+
return (_pasteEvent$clipboard = pasteEvent === null || pasteEvent === void 0 ? void 0 : (_pasteEvent$clipboard2 = pasteEvent.clipboardData) === null || _pasteEvent$clipboard2 === void 0 ? void 0 : (_pasteEvent$clipboard3 = _pasteEvent$clipboard2.types) === null || _pasteEvent$clipboard3 === void 0 ? void 0 : _pasteEvent$clipboard3.some(function (mimeType) {
|
|
18
|
+
return mimeType === 'x-tinymce/html';
|
|
19
|
+
})) !== null && _pasteEvent$clipboard !== void 0 ? _pasteEvent$clipboard : false;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
var isPastedFromTinyMCEConfluence = function isPastedFromTinyMCEConfluence(pasteEvent, html) {
|
|
23
|
+
return isPastedFromTinyMCE(pasteEvent) && !!html && !!html.match(/class=\"\s?(confluenceTd|confluenceTh|confluenceTable).+"/gim);
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Wraps html markup with a `<table>` and uses `DOMParser` to generate
|
|
27
|
+
* and return both the table-wrapped and non-table-wrapped DOM document
|
|
28
|
+
* instances.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
exports.isPastedFromTinyMCEConfluence = isPastedFromTinyMCEConfluence;
|
|
33
|
+
|
|
34
|
+
var wrapWithTable = function wrapWithTable(html) {
|
|
35
|
+
var parser = new DOMParser();
|
|
36
|
+
var nonTableWrappedDoc = parser.parseFromString(html, 'text/html');
|
|
37
|
+
var tableWrappedDoc = parser.parseFromString("<table>".concat(html, "</table>"), 'text/html');
|
|
38
|
+
tableWrappedDoc.body.querySelectorAll('meta').forEach(function (meta) {
|
|
39
|
+
tableWrappedDoc.head.prepend(meta);
|
|
40
|
+
});
|
|
41
|
+
return {
|
|
42
|
+
tableWrappedDoc: tableWrappedDoc,
|
|
43
|
+
nonTableWrappedDoc: nonTableWrappedDoc
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
exports.wrapWithTable = wrapWithTable;
|
|
48
|
+
|
|
49
|
+
var exactlyDivisible = function exactlyDivisible(larger, smaller) {
|
|
50
|
+
return larger % smaller === 0;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
var getTableElementsInfo = function getTableElementsInfo(doc) {
|
|
54
|
+
var cellCount = doc.querySelectorAll('td').length;
|
|
55
|
+
var thCount = doc.querySelectorAll('th').length;
|
|
56
|
+
var mergedCellCount = doc.querySelectorAll('td[colspan]:not([colspan="1"])').length;
|
|
57
|
+
var hasThAfterTd = false;
|
|
58
|
+
var thsAndCells = doc.querySelectorAll('th,td');
|
|
59
|
+
|
|
60
|
+
for (var i = 0, cellFound = false; i < thsAndCells.length; i++) {
|
|
61
|
+
if (cellFound && thsAndCells[i].nodeName === 'TH') {
|
|
62
|
+
hasThAfterTd = true;
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (thsAndCells[i].nodeName === 'TD') {
|
|
67
|
+
cellFound = true;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
var onlyTh = thCount > 0 && cellCount === 0;
|
|
72
|
+
var onlyCells = cellCount > 0 && thCount === 0;
|
|
73
|
+
var hasCompleteRow = // we take header-only and cell-only tables to be
|
|
74
|
+
// row-complete
|
|
75
|
+
onlyTh || onlyCells || // if headers and cells can "fit" against each other,
|
|
76
|
+
// then we assume a complete row exists
|
|
77
|
+
(exactlyDivisible(thCount, cellCount) || exactlyDivisible(cellCount, thCount)) && // all numbers are divisible by 1, so we carve out a specific
|
|
78
|
+
// check for when there is only 1 table cell, and more than 1
|
|
79
|
+
// table header.
|
|
80
|
+
!(thCount > 1 && cellCount === 1);
|
|
81
|
+
return {
|
|
82
|
+
cellCount: cellCount,
|
|
83
|
+
thCount: thCount,
|
|
84
|
+
mergedCellCount: mergedCellCount,
|
|
85
|
+
hasThAfterTd: hasThAfterTd,
|
|
86
|
+
hasIncompleteRow: !hasCompleteRow
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
var configureTableRows = function configureTableRows(doc, colsInRow) {
|
|
91
|
+
var _Array$from;
|
|
92
|
+
|
|
93
|
+
var tableHeadersAndCells = Array.from(doc.body.querySelectorAll('th,td'));
|
|
94
|
+
var evenlySplitChunks = (0, _chunk.default)(tableHeadersAndCells, colsInRow);
|
|
95
|
+
var tableBody = doc.body.querySelector('tbody');
|
|
96
|
+
evenlySplitChunks.forEach(function (chunk) {
|
|
97
|
+
var tr = doc.createElement('tr');
|
|
98
|
+
tableBody === null || tableBody === void 0 ? void 0 : tableBody.append(tr);
|
|
99
|
+
tr.append.apply(tr, (0, _toConsumableArray2.default)(chunk));
|
|
100
|
+
}); // We remove any leftover empty rows which may cause fabric editor
|
|
101
|
+
// to no-op when parsing the table
|
|
102
|
+
|
|
103
|
+
var emptyRows = (_Array$from = Array.from(tableBody.querySelectorAll('tr'))) === null || _Array$from === void 0 ? void 0 : _Array$from.filter(function (row) {
|
|
104
|
+
return row.innerHTML.trim().length === 0;
|
|
105
|
+
});
|
|
106
|
+
emptyRows.forEach(function (row) {
|
|
107
|
+
return row.remove();
|
|
108
|
+
});
|
|
109
|
+
return doc.body.innerHTML;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
var fillIncompleteRowWithEmptyCells = function fillIncompleteRowWithEmptyCells(doc, thCount, cellCount) {
|
|
113
|
+
var _lastCell$parentEleme;
|
|
114
|
+
|
|
115
|
+
var extraCellsCount = 0;
|
|
116
|
+
|
|
117
|
+
while (!exactlyDivisible(cellCount + extraCellsCount, thCount)) {
|
|
118
|
+
extraCellsCount++;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
var extraEmptyCells = Array.from(Array(extraCellsCount)).map(function () {
|
|
122
|
+
return doc.createElement('td');
|
|
123
|
+
});
|
|
124
|
+
var lastCell = doc.body.querySelector('td:last-of-type');
|
|
125
|
+
lastCell === null || lastCell === void 0 ? void 0 : (_lastCell$parentEleme = lastCell.parentElement) === null || _lastCell$parentEleme === void 0 ? void 0 : _lastCell$parentEleme.append.apply(_lastCell$parentEleme, (0, _toConsumableArray2.default)(extraEmptyCells));
|
|
126
|
+
return {
|
|
127
|
+
updatedCellCount: cellCount + extraCellsCount
|
|
128
|
+
};
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Given a DOM document, it will try to rebuild table rows by using the
|
|
132
|
+
* table headers count as an initial starting point for the assumed
|
|
133
|
+
* number of columns that make up a row (`colsInRow`). It will slowly
|
|
134
|
+
* decrease that `colsInRow` count until it finds exact fit for table
|
|
135
|
+
* headers and cells with `colsInRow` else it returns the original
|
|
136
|
+
* document's markup.
|
|
137
|
+
*
|
|
138
|
+
* NOTE: It will NOT try to rebuild table rows if it encounters merged cells
|
|
139
|
+
* or compex table configurations (where table headers exist after normal
|
|
140
|
+
* table cells). It will build a single column table if NO table
|
|
141
|
+
* headers exist.
|
|
142
|
+
*/
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
var tryReconstructTableRows = function tryReconstructTableRows(doc) {
|
|
146
|
+
var _getTableElementsInfo = getTableElementsInfo(doc),
|
|
147
|
+
cellCount = _getTableElementsInfo.cellCount,
|
|
148
|
+
thCount = _getTableElementsInfo.thCount,
|
|
149
|
+
mergedCellCount = _getTableElementsInfo.mergedCellCount,
|
|
150
|
+
hasThAfterTd = _getTableElementsInfo.hasThAfterTd,
|
|
151
|
+
hasIncompleteRow = _getTableElementsInfo.hasIncompleteRow;
|
|
152
|
+
|
|
153
|
+
if (mergedCellCount || hasThAfterTd) {
|
|
154
|
+
// bail out to avoid handling more complex table structures
|
|
155
|
+
return doc.body.innerHTML;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
if (!thCount) {
|
|
159
|
+
// if no table headers exist for reference, fallback to a single column table structure
|
|
160
|
+
return configureTableRows(doc, 1);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
if (hasIncompleteRow) {
|
|
164
|
+
// if shift-click selection copies a partial table row to the clipboard,
|
|
165
|
+
// and we do have table headers for reference, then we add empty table cells
|
|
166
|
+
// to fill out the partial row
|
|
167
|
+
var _fillIncompleteRowWit = fillIncompleteRowWithEmptyCells(doc, thCount, cellCount),
|
|
168
|
+
updatedCellCount = _fillIncompleteRowWit.updatedCellCount;
|
|
169
|
+
|
|
170
|
+
cellCount = updatedCellCount;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
for (var possibleColsInRow = thCount; possibleColsInRow > 0; possibleColsInRow--) {
|
|
174
|
+
if (exactlyDivisible(thCount, possibleColsInRow) && exactlyDivisible(cellCount, possibleColsInRow)) {
|
|
175
|
+
return configureTableRows(doc, possibleColsInRow);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
return doc.body.innerHTML;
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
exports.tryReconstructTableRows = tryReconstructTableRows;
|
|
183
|
+
|
|
184
|
+
var htmlHasIncompleteTable = function htmlHasIncompleteTable(html) {
|
|
185
|
+
return !html.includes('<table ') && (html.includes('<td ') || html.includes('<th '));
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* Strictly for ED-7331. Given incomplete table html from tinyMCE, it will try to rebuild
|
|
189
|
+
* a whole valid table. If it rebuilds the table, it may first rebuild it as a single
|
|
190
|
+
* row table, so this also then tries to reconstruct the table rows/columns if
|
|
191
|
+
* possible (best effort).
|
|
192
|
+
*/
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
exports.htmlHasIncompleteTable = htmlHasIncompleteTable;
|
|
196
|
+
|
|
197
|
+
var tryRebuildCompleteTableHtml = function tryRebuildCompleteTableHtml(incompleteTableHtml) {
|
|
198
|
+
// first we try wrapping the table elements with <table> and let DOMParser try to rebuild
|
|
199
|
+
// a valid DOM tree. we also keep the non-wrapped table for comparison purposes.
|
|
200
|
+
var _wrapWithTable = wrapWithTable(incompleteTableHtml),
|
|
201
|
+
nonTableWrappedDoc = _wrapWithTable.nonTableWrappedDoc,
|
|
202
|
+
tableWrappedDoc = _wrapWithTable.tableWrappedDoc;
|
|
203
|
+
|
|
204
|
+
var didPreserveTableElements = Boolean(!nonTableWrappedDoc.body.querySelector('th, td') && tableWrappedDoc.body.querySelector('th, td'));
|
|
205
|
+
var isExpectedStructure = tableWrappedDoc.querySelectorAll('body > table:only-child') && !tableWrappedDoc.querySelector("body > table > tbody > tr > :not(th,td)"); // if DOMParser saves table elements that we would otherwise lose, and
|
|
206
|
+
// if the table html is what we'd expect (a single table, with no extraneous
|
|
207
|
+
// elements in table rows other than th, td), then we can now also try to
|
|
208
|
+
// rebuild table rows/columns.
|
|
209
|
+
|
|
210
|
+
if (didPreserveTableElements && isExpectedStructure) {
|
|
211
|
+
var completeTableHtml = tryReconstructTableRows(tableWrappedDoc);
|
|
212
|
+
return completeTableHtml;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
return null;
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
exports.tryRebuildCompleteTableHtml = tryRebuildCompleteTableHtml;
|
|
@@ -7,6 +7,8 @@ exports.createPlaceholderDecoration = createPlaceholderDecoration;
|
|
|
7
7
|
exports.createPlugin = createPlugin;
|
|
8
8
|
exports.pluginKey = exports.default = void 0;
|
|
9
9
|
|
|
10
|
+
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
11
|
+
|
|
10
12
|
var _prosemirrorState = require("prosemirror-state");
|
|
11
13
|
|
|
12
14
|
var _prosemirrorView = require("prosemirror-view");
|
|
@@ -111,7 +113,7 @@ function createPlugin(defaultPlaceholderText, placeholderHints, bracketPlacehold
|
|
|
111
113
|
}
|
|
112
114
|
|
|
113
115
|
var getPlaceholderHintMessage = createGetPlaceholderHintMessage(placeholderHints);
|
|
114
|
-
return new
|
|
116
|
+
return new _safePlugin.SafePlugin({
|
|
115
117
|
key: pluginKey,
|
|
116
118
|
state: {
|
|
117
119
|
init: function init(_, state) {
|
|
@@ -10,6 +10,8 @@ exports.default = void 0;
|
|
|
10
10
|
|
|
11
11
|
var _react = _interopRequireDefault(require("react"));
|
|
12
12
|
|
|
13
|
+
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
14
|
+
|
|
13
15
|
var _prosemirrorState = require("prosemirror-state");
|
|
14
16
|
|
|
15
17
|
var _adfSchema = require("@atlaskit/adf-schema");
|
|
@@ -36,7 +38,7 @@ var _messages = require("../insert-block/ui/ToolbarInsertBlock/messages");
|
|
|
36
38
|
|
|
37
39
|
function createPlugin(dispatch, options) {
|
|
38
40
|
var allowInserting = !!options.allowInserting;
|
|
39
|
-
return new
|
|
41
|
+
return new _safePlugin.SafePlugin({
|
|
40
42
|
key: _pluginKey.pluginKey,
|
|
41
43
|
state: {
|
|
42
44
|
init: function init() {
|
|
@@ -21,7 +21,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
21
21
|
|
|
22
22
|
var _react = _interopRequireDefault(require("react"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
25
25
|
|
|
26
26
|
var _memoizeOne = _interopRequireDefault(require("memoize-one"));
|
|
27
27
|
|
|
@@ -142,7 +142,7 @@ var setProviderState = function setProviderState(providerState) {
|
|
|
142
142
|
};
|
|
143
143
|
|
|
144
144
|
function quickInsertPluginFactory(quickInsertItems, providerFactory, getIntl, dispatch, emptyStateHandler) {
|
|
145
|
-
return new
|
|
145
|
+
return new _safePlugin.SafePlugin({
|
|
146
146
|
key: _pluginKey.pluginKey,
|
|
147
147
|
state: {
|
|
148
148
|
init: function init() {
|
package/dist/cjs/plugins/rank.js
CHANGED
|
@@ -17,7 +17,7 @@ var _default = {
|
|
|
17
17
|
marks: [// Fragment mark is both for inline and block elements
|
|
18
18
|
'fragment', // Inline marks
|
|
19
19
|
'link', 'em', 'strong', 'textColor', 'strike', 'subsup', 'underline', 'code', 'typeAheadQuery', // Block marks
|
|
20
|
-
'alignment', 'breakout', 'indentation', 'annotation', //Unsupported mark
|
|
20
|
+
'alignment', 'breakout', 'indentation', 'annotation', 'dataConsumer', // Unsupported mark
|
|
21
21
|
'unsupportedMark', 'unsupportedNodeAttribute']
|
|
22
22
|
};
|
|
23
23
|
exports.default = _default;
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.scrollIntoViewPluginKey = exports.default = void 0;
|
|
7
7
|
|
|
8
|
+
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
9
|
+
|
|
8
10
|
var _prosemirrorState = require("prosemirror-state");
|
|
9
11
|
|
|
10
12
|
var _prosemirrorInputRules = require("@atlaskit/prosemirror-input-rules");
|
|
@@ -22,7 +24,7 @@ var scrollIntoViewPluginKey = new _prosemirrorState.PluginKey('scrollIntoViewPlu
|
|
|
22
24
|
exports.scrollIntoViewPluginKey = scrollIntoViewPluginKey;
|
|
23
25
|
|
|
24
26
|
var createPlugin = function createPlugin() {
|
|
25
|
-
return new
|
|
27
|
+
return new _safePlugin.SafePlugin({
|
|
26
28
|
key: scrollIntoViewPluginKey,
|
|
27
29
|
appendTransaction: function appendTransaction(transactions, oldState, newState) {
|
|
28
30
|
if (!transactions.length) {
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
+
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
9
|
+
|
|
8
10
|
var _prosemirrorState = require("prosemirror-state");
|
|
9
11
|
|
|
10
12
|
var _prosemirrorView = require("prosemirror-view");
|
|
@@ -27,7 +29,7 @@ var _direction = require("../gap-cursor/direction");
|
|
|
27
29
|
|
|
28
30
|
var _gapCursorPluginKey = require("./gap-cursor-plugin-key");
|
|
29
31
|
|
|
30
|
-
var plugin = new
|
|
32
|
+
var plugin = new _safePlugin.SafePlugin({
|
|
31
33
|
key: _gapCursorPluginKey.gapCursorPluginKey,
|
|
32
34
|
state: {
|
|
33
35
|
init: function init() {
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getInitialState = exports.createPlugin = void 0;
|
|
7
7
|
|
|
8
|
+
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
9
|
+
|
|
8
10
|
var _prosemirrorState = require("prosemirror-state");
|
|
9
11
|
|
|
10
12
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
@@ -50,7 +52,7 @@ var toggleContentEditable = function toggleContentEditable(node) {
|
|
|
50
52
|
|
|
51
53
|
var createPlugin = function createPlugin(dispatch, dispatchAnalyticsEvent) {
|
|
52
54
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
53
|
-
return new
|
|
55
|
+
return new _safePlugin.SafePlugin({
|
|
54
56
|
key: _types.selectionPluginKey,
|
|
55
57
|
state: (0, _pluginFactory.createPluginState)(dispatch, getInitialState),
|
|
56
58
|
view: function view() {
|