@atlaskit/editor-core 166.0.2 → 167.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/.eslintrc.js +46 -1
- package/CHANGELOG.md +99 -0
- package/dist/cjs/actions/index.js +26 -2
- package/dist/cjs/create-editor/ReactEditorView.js +2 -0
- package/dist/cjs/create-editor/create-plugins-list.js +1 -2
- package/dist/cjs/editor.js +5 -2
- package/dist/cjs/keymaps/index.js +5 -1
- package/dist/cjs/labs/next/ContentComponents.js +8 -4
- package/dist/cjs/labs/next/full-page.js +14 -8
- package/dist/cjs/nodeviews/getInlineNodeViewProducer.js +7 -3
- package/dist/cjs/nodeviews/getInlineNodeViewProducer.styles.js +3 -1
- package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/styles.js +3 -1
- 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/annotation/pm-plugins/plugin-factory.js +0 -1
- package/dist/cjs/plugins/base/index.js +8 -17
- package/dist/cjs/plugins/base/pm-plugins/better-type-history.js +3 -12
- package/dist/cjs/plugins/base/pm-plugins/inline-cursor-target.js +71 -16
- package/dist/cjs/plugins/block-type/commands/block-type.js +32 -22
- package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/styled.js +4 -2
- package/dist/cjs/plugins/breakout/ui/LayoutButton.js +4 -11
- package/dist/cjs/plugins/card/styles.js +1 -1
- package/dist/cjs/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
- package/dist/cjs/plugins/code-block/actions.js +36 -2
- package/dist/cjs/plugins/code-block/nodeviews/code-block.js +70 -1
- package/dist/cjs/plugins/code-block/pm-plugins/actions.js +2 -1
- package/dist/cjs/plugins/code-block/pm-plugins/main.js +46 -8
- package/dist/cjs/plugins/code-block/styles.js +28 -24
- package/dist/cjs/plugins/collab-edit/index.js +2 -2
- package/dist/cjs/plugins/collab-edit/provider/channel.js +2 -2
- package/dist/cjs/plugins/collab-edit/styles.js +4 -2
- package/dist/cjs/plugins/collab-edit/ui/styles.js +4 -2
- package/dist/cjs/plugins/collab-edit/utils.js +1 -0
- package/dist/cjs/plugins/date/ui/DatePicker/index.js +3 -1
- package/dist/cjs/plugins/expand/ui/styles.js +16 -14
- package/dist/cjs/plugins/extension/commands.js +3 -2
- package/dist/cjs/plugins/extension/context-panel.js +23 -9
- package/dist/cjs/plugins/extension/plugin-factory.js +1 -4
- package/dist/cjs/plugins/extension/pm-plugins/main.js +13 -36
- package/dist/cjs/plugins/extension/ui/Extension/Extension/styles.js +6 -4
- package/dist/cjs/plugins/extension/ui/Extension/InlineExtension/styles.js +3 -1
- package/dist/cjs/plugins/extension/ui/Extension/styles.js +7 -5
- package/dist/cjs/plugins/extension/ui/SaveIndicator/SaveIndicator.js +4 -2
- package/dist/cjs/plugins/extension/utils.js +12 -57
- package/dist/cjs/plugins/fake-text-cursor/styles.js +3 -1
- package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
- package/dist/cjs/plugins/feedback-dialog/index.js +0 -1
- package/dist/cjs/plugins/find-replace/styles.js +2 -6
- package/dist/cjs/plugins/find-replace/ui/styles.js +4 -2
- package/dist/cjs/plugins/find-replace/utils/batch-decorations.js +0 -1
- package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +3 -1
- package/dist/cjs/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +3 -1
- package/dist/cjs/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +2 -2
- package/dist/cjs/plugins/floating-toolbar/ui/Separator.js +3 -1
- package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +6 -4
- package/dist/cjs/plugins/floating-toolbar/ui/styles.js +12 -10
- package/dist/cjs/plugins/grid/styles.js +3 -1
- package/dist/cjs/plugins/help-dialog/ui/styles.js +9 -7
- package/dist/cjs/plugins/hyperlink/pm-plugins/input-rule.js +23 -1
- package/dist/cjs/plugins/hyperlink/pm-plugins/keymap.js +10 -1
- package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +7 -5
- package/dist/cjs/plugins/hyperlink/utils.js +53 -2
- package/dist/cjs/plugins/jira-issue/nodeviews/jira-issue.js +4 -2
- package/dist/cjs/plugins/layout/styles.js +1 -1
- package/dist/cjs/plugins/macro/actions.js +2 -2
- package/dist/cjs/plugins/media/commands/helpers.js +10 -9
- package/dist/cjs/plugins/media/nodeviews/mediaInline.js +25 -6
- package/dist/cjs/plugins/media/nodeviews/mediaNodeView/media.js +6 -0
- package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +2 -2
- package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -3
- package/dist/cjs/plugins/media/pm-plugins/main.js +1 -0
- package/dist/cjs/plugins/media/styles.js +1 -1
- package/dist/cjs/plugins/media/ui/CaptionPlaceholder/index.js +3 -1
- package/dist/cjs/plugins/media/ui/Media/DropPlaceholder.js +4 -2
- package/dist/cjs/plugins/media/ui/MediaLinkingToolbar.js +3 -1
- package/dist/cjs/plugins/media/ui/ResizableMediaSingle/index.js +2 -2
- package/dist/cjs/plugins/mentions/styles.js +3 -1
- package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +3 -1
- package/dist/cjs/plugins/mentions/ui/InviteItem/styles.js +4 -2
- package/dist/cjs/plugins/panel/index.js +1 -0
- package/dist/cjs/plugins/panel/nodeviews/panel.js +4 -1
- package/dist/cjs/plugins/panel/pm-plugins/keymaps.js +21 -3
- package/dist/cjs/plugins/paste/handlers.js +44 -6
- package/dist/cjs/plugins/paste/linkify-md-plugin.js +7 -0
- package/dist/cjs/plugins/paste/pm-plugins/analytics.js +9 -1
- package/dist/cjs/plugins/paste/pm-plugins/main.js +27 -1
- package/dist/cjs/plugins/placeholder/index.js +15 -3
- package/dist/cjs/plugins/placeholder/styles.js +3 -1
- package/dist/cjs/plugins/placeholder-text/styles.js +3 -1
- package/dist/cjs/plugins/selection/gap-cursor/styles.js +1 -1
- package/dist/cjs/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
- package/dist/cjs/plugins/status/ui/statusPicker.js +3 -3
- package/dist/cjs/plugins/table/index.js +14 -4
- package/dist/cjs/plugins/table/nodeviews/TableComponent.js +6 -6
- package/dist/cjs/plugins/table/nodeviews/table.js +9 -4
- package/dist/cjs/plugins/table/pm-plugins/main.js +1 -4
- package/dist/cjs/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +118 -0
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -5
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -8
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
- package/dist/cjs/plugins/table/transforms/column-width.js +1 -2
- package/dist/cjs/plugins/table/transforms/fix-tables.js +1 -3
- package/dist/cjs/plugins/table/ui/FloatingContextualButton/styles.js +4 -1
- package/dist/cjs/plugins/table/ui/FloatingContextualMenu/styles.js +3 -1
- package/dist/cjs/plugins/table/ui/common-styles.js +4 -2
- package/dist/cjs/plugins/table/ui/consts.js +14 -11
- package/dist/cjs/plugins/table/ui/ui-styles.js +17 -10
- package/dist/cjs/plugins/table/utils/decoration.js +3 -4
- package/dist/cjs/plugins/table/utils/paste.js +9 -9
- package/dist/cjs/plugins/type-ahead/index.js +4 -3
- package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +3 -1
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +4 -4
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadListItem.js +11 -9
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +73 -3
- package/dist/cjs/plugins/unsupported-content/styles.js +1 -1
- package/dist/cjs/ui/Addon/Dropdown/styles.js +3 -1
- package/dist/cjs/ui/Addon/DropdownItem/styles.js +3 -1
- package/dist/cjs/ui/Appearance/Chromeless.js +2 -1
- package/dist/cjs/ui/Appearance/Comment/Comment.js +10 -3
- package/dist/cjs/ui/Appearance/Comment/Toolbar.js +4 -2
- package/dist/cjs/ui/Appearance/FullPage/FullPage.js +5 -2
- package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
- package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
- package/dist/cjs/ui/Appearance/FullPage/MainToolbar.js +6 -3
- package/dist/cjs/ui/ChromeCollapsed/styles.js +1 -1
- package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +23 -16
- package/dist/cjs/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
- package/dist/cjs/ui/ConfigPanel/Fields/CheckboxGroup.js +3 -1
- package/dist/cjs/ui/ConfigPanel/Fields/CustomSelect.js +2 -2
- package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +3 -1
- package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +3 -1
- package/dist/cjs/ui/ConfigPanel/Fields/UserSelect.js +2 -2
- package/dist/cjs/ui/ConfigPanel/Fields/common/RequiredIndicator.js +3 -1
- package/dist/cjs/ui/ConfigPanel/Header.js +4 -2
- package/dist/cjs/ui/ConfigPanel/NestedForms/RemovableField.js +4 -8
- package/dist/cjs/ui/ConfigPanel/transformers.js +2 -2
- package/dist/cjs/ui/ContentStyles/index.js +4 -2
- package/dist/cjs/ui/ContextPanel/index.js +3 -1
- package/dist/cjs/ui/DropdownMenu/index.js +5 -0
- package/dist/cjs/ui/ElementBrowser/InsertMenu.js +6 -4
- package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +4 -2
- package/dist/cjs/ui/ElementBrowser/components/CategoryList.js +4 -2
- package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +12 -5
- package/dist/cjs/ui/ElementBrowser/components/ElementList/EmptyState.js +3 -1
- package/dist/cjs/ui/ElementBrowser/components/ElementSearch.js +3 -1
- package/dist/cjs/ui/ElementBrowser/constants.js +3 -1
- package/dist/cjs/ui/FloatingToolbar/styles.js +2 -2
- package/dist/cjs/ui/LinkSearch/LinkSearchListItem.js +5 -3
- package/dist/cjs/ui/PanelTextInput/styles.js +3 -1
- package/dist/cjs/ui/PluginSlot/index.js +7 -4
- package/dist/cjs/ui/Toolbar/ToolbarInner.js +2 -1
- package/dist/cjs/ui/Toolbar/ToolbarWithSizeDetector.js +5 -2
- package/dist/cjs/ui/ToolbarFeedback/styles.js +5 -3
- package/dist/cjs/ui/WithFlash/index.js +4 -2
- package/dist/cjs/ui/styles.js +6 -4
- package/dist/cjs/utils/document.js +62 -6
- package/dist/cjs/utils/filter/privacy-filter.js +2 -2
- package/dist/cjs/utils/step.js +17 -1
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/actions/index.js +25 -1
- package/dist/es2019/create-editor/ReactEditorView.js +2 -0
- package/dist/es2019/create-editor/create-plugins-list.js +1 -2
- package/dist/es2019/editor.js +5 -2
- package/dist/es2019/keymaps/index.js +5 -1
- package/dist/es2019/labs/next/ContentComponents.js +7 -2
- package/dist/es2019/labs/next/full-page.js +11 -8
- package/dist/es2019/nodeviews/getInlineNodeViewProducer.js +4 -3
- package/dist/es2019/nodeviews/getInlineNodeViewProducer.styles.js +16 -4
- package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/styles.js +2 -1
- package/dist/es2019/plugins/analytics/types/enums.js +3 -0
- package/dist/es2019/plugins/base/index.js +6 -15
- package/dist/es2019/plugins/base/pm-plugins/better-type-history.js +1 -11
- package/dist/es2019/plugins/base/pm-plugins/inline-cursor-target.js +72 -17
- package/dist/es2019/plugins/block-type/commands/block-type.js +25 -16
- package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -2
- package/dist/es2019/plugins/breakout/ui/LayoutButton.js +6 -10
- package/dist/es2019/plugins/card/styles.js +1 -1
- package/dist/es2019/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
- package/dist/es2019/plugins/code-block/actions.js +32 -0
- package/dist/es2019/plugins/code-block/nodeviews/code-block.js +61 -1
- package/dist/es2019/plugins/code-block/pm-plugins/actions.js +2 -1
- package/dist/es2019/plugins/code-block/pm-plugins/main.js +37 -3
- package/dist/es2019/plugins/code-block/styles.js +30 -27
- package/dist/es2019/plugins/collab-edit/styles.js +3 -2
- package/dist/es2019/plugins/collab-edit/ui/styles.js +4 -3
- package/dist/es2019/plugins/collab-edit/utils.js +1 -0
- package/dist/es2019/plugins/date/ui/DatePicker/index.js +3 -2
- package/dist/es2019/plugins/expand/ui/styles.js +15 -14
- package/dist/es2019/plugins/extension/commands.js +3 -2
- package/dist/es2019/plugins/extension/context-panel.js +11 -3
- package/dist/es2019/plugins/extension/plugin-factory.js +1 -3
- package/dist/es2019/plugins/extension/pm-plugins/main.js +12 -38
- package/dist/es2019/plugins/extension/ui/Extension/Extension/styles.js +5 -4
- package/dist/es2019/plugins/extension/ui/Extension/InlineExtension/styles.js +2 -1
- package/dist/es2019/plugins/extension/ui/Extension/styles.js +7 -6
- package/dist/es2019/plugins/extension/ui/SaveIndicator/SaveIndicator.js +4 -4
- package/dist/es2019/plugins/extension/utils.js +2 -37
- package/dist/es2019/plugins/fake-text-cursor/styles.js +3 -2
- package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
- package/dist/es2019/plugins/find-replace/styles.js +4 -4
- package/dist/es2019/plugins/find-replace/ui/styles.js +3 -2
- package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
- package/dist/es2019/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +2 -1
- package/dist/es2019/plugins/floating-toolbar/ui/Separator.js +2 -1
- package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +4 -4
- package/dist/es2019/plugins/floating-toolbar/ui/styles.js +11 -10
- package/dist/es2019/plugins/grid/styles.js +4 -2
- package/dist/es2019/plugins/help-dialog/ui/styles.js +10 -9
- package/dist/es2019/plugins/hyperlink/pm-plugins/input-rule.js +24 -2
- package/dist/es2019/plugins/hyperlink/pm-plugins/keymap.js +9 -1
- package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +5 -4
- package/dist/es2019/plugins/hyperlink/utils.js +43 -2
- package/dist/es2019/plugins/jira-issue/nodeviews/jira-issue.js +6 -5
- package/dist/es2019/plugins/layout/styles.js +10 -7
- package/dist/es2019/plugins/media/commands/helpers.js +6 -8
- package/dist/es2019/plugins/media/nodeviews/mediaInline.js +21 -5
- package/dist/es2019/plugins/media/nodeviews/mediaNodeView/media.js +7 -0
- package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -4
- package/dist/es2019/plugins/media/pm-plugins/main.js +2 -0
- package/dist/es2019/plugins/media/styles.js +3 -3
- package/dist/es2019/plugins/media/ui/CaptionPlaceholder/index.js +2 -1
- package/dist/es2019/plugins/media/ui/Media/DropPlaceholder.js +4 -3
- package/dist/es2019/plugins/media/ui/MediaLinkingToolbar.js +2 -1
- package/dist/es2019/plugins/mentions/styles.js +5 -4
- package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +2 -1
- package/dist/es2019/plugins/mentions/ui/InviteItem/styles.js +3 -2
- package/dist/es2019/plugins/panel/index.js +1 -0
- package/dist/es2019/plugins/panel/nodeviews/panel.js +4 -1
- package/dist/es2019/plugins/panel/pm-plugins/keymaps.js +22 -4
- package/dist/es2019/plugins/paste/handlers.js +45 -7
- package/dist/es2019/plugins/paste/linkify-md-plugin.js +7 -1
- package/dist/es2019/plugins/paste/pm-plugins/analytics.js +4 -1
- package/dist/es2019/plugins/paste/pm-plugins/main.js +27 -2
- package/dist/es2019/plugins/placeholder/index.js +12 -1
- package/dist/es2019/plugins/placeholder/styles.js +3 -1
- package/dist/es2019/plugins/placeholder-text/styles.js +5 -4
- package/dist/es2019/plugins/selection/gap-cursor/styles.js +9 -9
- package/dist/es2019/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
- package/dist/es2019/plugins/status/ui/statusPicker.js +3 -3
- package/dist/es2019/plugins/table/index.js +13 -4
- package/dist/es2019/plugins/table/nodeviews/TableComponent.js +6 -6
- package/dist/es2019/plugins/table/nodeviews/table.js +6 -2
- package/dist/es2019/plugins/table/pm-plugins/main.js +1 -4
- package/dist/es2019/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +106 -0
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -4
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/misc.js +3 -7
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
- package/dist/es2019/plugins/table/transforms/column-width.js +1 -2
- package/dist/es2019/plugins/table/transforms/fix-tables.js +1 -3
- package/dist/es2019/plugins/table/ui/FloatingContextualButton/styles.js +4 -2
- package/dist/es2019/plugins/table/ui/FloatingContextualMenu/styles.js +4 -3
- package/dist/es2019/plugins/table/ui/common-styles.js +29 -27
- package/dist/es2019/plugins/table/ui/consts.js +15 -12
- package/dist/es2019/plugins/table/ui/ui-styles.js +28 -23
- package/dist/es2019/plugins/table/utils/decoration.js +1 -4
- package/dist/es2019/plugins/table/utils/paste.js +9 -9
- package/dist/es2019/plugins/type-ahead/index.js +4 -3
- package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +2 -1
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +4 -4
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +10 -9
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +64 -6
- package/dist/es2019/plugins/unsupported-content/styles.js +1 -1
- package/dist/es2019/ui/Addon/Dropdown/styles.js +3 -2
- package/dist/es2019/ui/Addon/DropdownItem/styles.js +3 -2
- package/dist/es2019/ui/Appearance/Chromeless.js +2 -1
- package/dist/es2019/ui/Appearance/Comment/Comment.js +9 -4
- package/dist/es2019/ui/Appearance/Comment/Toolbar.js +4 -2
- package/dist/es2019/ui/Appearance/FullPage/FullPage.js +6 -2
- package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
- package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
- package/dist/es2019/ui/Appearance/FullPage/MainToolbar.js +7 -3
- package/dist/es2019/ui/ChromeCollapsed/styles.js +4 -3
- package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +10 -2
- package/dist/es2019/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
- package/dist/es2019/ui/ConfigPanel/ErrorMessage/ErrorImage.js +3 -0
- package/dist/es2019/ui/ConfigPanel/Fields/CheckboxGroup.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/common/RequiredIndicator.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Header.js +3 -2
- package/dist/es2019/ui/ConfigPanel/NestedForms/RemovableField.js +4 -3
- package/dist/es2019/ui/ContentStyles/index.js +3 -2
- package/dist/es2019/ui/ContextPanel/index.js +2 -1
- package/dist/es2019/ui/DropdownMenu/index.js +5 -0
- package/dist/es2019/ui/ElementBrowser/InsertMenu.js +6 -3
- package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +3 -2
- package/dist/es2019/ui/ElementBrowser/components/CategoryList.js +3 -2
- package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +12 -5
- package/dist/es2019/ui/ElementBrowser/components/ElementList/EmptyState.js +2 -1
- package/dist/es2019/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +3 -0
- package/dist/es2019/ui/ElementBrowser/components/ElementSearch.js +2 -1
- package/dist/es2019/ui/ElementBrowser/constants.js +3 -1
- package/dist/es2019/ui/FloatingToolbar/styles.js +4 -4
- package/dist/es2019/ui/LinkSearch/LinkSearchListItem.js +4 -3
- package/dist/es2019/ui/PanelTextInput/styles.js +5 -5
- package/dist/es2019/ui/PluginSlot/index.js +7 -4
- package/dist/es2019/ui/Toolbar/ToolbarInner.js +2 -1
- package/dist/es2019/ui/Toolbar/ToolbarWithSizeDetector.js +4 -2
- package/dist/es2019/ui/ToolbarFeedback/styles.js +5 -4
- package/dist/es2019/ui/WithFlash/index.js +4 -3
- package/dist/es2019/ui/styles.js +10 -9
- package/dist/es2019/utils/document.js +58 -5
- package/dist/es2019/utils/filter/privacy-filter.js +1 -1
- package/dist/es2019/utils/step.js +12 -1
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/actions/index.js +27 -2
- package/dist/esm/create-editor/ErrorBoundary.js +1 -1
- package/dist/esm/create-editor/ReactEditorView.js +2 -0
- package/dist/esm/create-editor/create-plugins-list.js +1 -2
- package/dist/esm/editor.js +6 -4
- package/dist/esm/keymaps/index.js +5 -1
- package/dist/esm/labs/next/ContentComponents.js +8 -4
- package/dist/esm/labs/next/full-page.js +11 -8
- package/dist/esm/nodeviews/getInlineNodeViewProducer.js +4 -3
- package/dist/esm/nodeviews/getInlineNodeViewProducer.styles.js +3 -2
- package/dist/esm/plugins/alignment/ui/ToolbarAlignment/styles.js +2 -1
- package/dist/esm/plugins/analytics/types/enums.js +3 -0
- package/dist/esm/plugins/annotation/pm-plugins/inline-comment.js +1 -1
- package/dist/esm/plugins/annotation/pm-plugins/plugin-factory.js +0 -1
- package/dist/esm/plugins/base/index.js +8 -17
- package/dist/esm/plugins/base/pm-plugins/better-type-history.js +1 -11
- package/dist/esm/plugins/base/pm-plugins/inline-cursor-target.js +72 -17
- package/dist/esm/plugins/block-type/commands/block-type.js +31 -22
- package/dist/esm/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -2
- package/dist/esm/plugins/breakout/ui/LayoutButton.js +3 -5
- package/dist/esm/plugins/card/styles.js +1 -1
- package/dist/esm/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
- package/dist/esm/plugins/code-block/actions.js +28 -0
- package/dist/esm/plugins/code-block/nodeviews/code-block.js +67 -1
- package/dist/esm/plugins/code-block/pm-plugins/actions.js +2 -1
- package/dist/esm/plugins/code-block/pm-plugins/main.js +39 -3
- package/dist/esm/plugins/code-block/styles.js +27 -23
- package/dist/esm/plugins/collab-edit/index.js +1 -1
- package/dist/esm/plugins/collab-edit/provider/channel.js +1 -1
- package/dist/esm/plugins/collab-edit/styles.js +3 -2
- package/dist/esm/plugins/collab-edit/ui/styles.js +3 -2
- package/dist/esm/plugins/collab-edit/utils.js +2 -0
- package/dist/esm/plugins/custom-autoformat/doc.js +1 -1
- package/dist/esm/plugins/custom-autoformat/index.js +1 -1
- package/dist/esm/plugins/date/ui/DatePicker/index.js +2 -1
- package/dist/esm/plugins/expand/ui/styles.js +15 -14
- package/dist/esm/plugins/extension/actions.js +1 -1
- package/dist/esm/plugins/extension/commands.js +3 -2
- package/dist/esm/plugins/extension/context-panel.js +22 -8
- package/dist/esm/plugins/extension/plugin-factory.js +1 -3
- package/dist/esm/plugins/extension/pm-plugins/main.js +12 -35
- package/dist/esm/plugins/extension/ui/Extension/Extension/styles.js +5 -4
- package/dist/esm/plugins/extension/ui/Extension/ExtensionComponent.js +1 -1
- package/dist/esm/plugins/extension/ui/Extension/InlineExtension/styles.js +2 -1
- package/dist/esm/plugins/extension/ui/Extension/styles.js +6 -5
- package/dist/esm/plugins/extension/ui/SaveIndicator/SaveIndicator.js +3 -2
- package/dist/esm/plugins/extension/utils.js +9 -51
- package/dist/esm/plugins/fake-text-cursor/styles.js +2 -1
- package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
- package/dist/esm/plugins/feedback-dialog/index.js +1 -2
- package/dist/esm/plugins/feedback-dialog/loadJiraCollectorDialogScript.js +1 -1
- package/dist/esm/plugins/find-replace/styles.js +3 -3
- package/dist/esm/plugins/find-replace/ui/styles.js +3 -2
- package/dist/esm/plugins/find-replace/utils/batch-decorations.js +1 -2
- package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
- package/dist/esm/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +2 -1
- package/dist/esm/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +1 -1
- package/dist/esm/plugins/floating-toolbar/ui/Separator.js +2 -1
- package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +5 -4
- package/dist/esm/plugins/floating-toolbar/ui/styles.js +11 -10
- package/dist/esm/plugins/grid/styles.js +2 -1
- package/dist/esm/plugins/help-dialog/ui/styles.js +8 -7
- package/dist/esm/plugins/hyperlink/HyperlinkToolbarAppearance.js +1 -1
- package/dist/esm/plugins/hyperlink/pm-plugins/input-rule.js +24 -2
- package/dist/esm/plugins/hyperlink/pm-plugins/keymap.js +9 -1
- package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +5 -5
- package/dist/esm/plugins/hyperlink/utils.js +44 -2
- package/dist/esm/plugins/image-upload/pm-plugins/main.js +1 -1
- package/dist/esm/plugins/jira-issue/nodeviews/jira-issue.js +3 -2
- package/dist/esm/plugins/layout/styles.js +1 -1
- package/dist/esm/plugins/macro/actions.js +1 -1
- package/dist/esm/plugins/media/commands/helpers.js +6 -8
- package/dist/esm/plugins/media/nodeviews/mediaGroup.js +1 -1
- package/dist/esm/plugins/media/nodeviews/mediaInline.js +23 -6
- package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +1 -1
- package/dist/esm/plugins/media/nodeviews/mediaNodeView/media.js +8 -1
- package/dist/esm/plugins/media/nodeviews/mediaSingle.js +1 -1
- package/dist/esm/plugins/media/picker-facade.js +1 -1
- package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +4 -3
- package/dist/esm/plugins/media/pm-plugins/main.js +3 -1
- package/dist/esm/plugins/media/styles.js +1 -1
- package/dist/esm/plugins/media/toolbar/utils.js +1 -1
- package/dist/esm/plugins/media/ui/CaptionPlaceholder/index.js +2 -1
- package/dist/esm/plugins/media/ui/Media/DropPlaceholder.js +3 -2
- package/dist/esm/plugins/media/ui/MediaLinkingToolbar.js +2 -1
- package/dist/esm/plugins/media/ui/MediaPicker/PickerFacadeProvider.js +1 -1
- package/dist/esm/plugins/media/ui/ResizableMediaSingle/index.js +1 -1
- package/dist/esm/plugins/media/utils/check-media-type.js +1 -1
- package/dist/esm/plugins/mentions/styles.js +2 -1
- package/dist/esm/plugins/mentions/ui/InviteItem/index.js +2 -1
- package/dist/esm/plugins/mentions/ui/InviteItem/styles.js +3 -2
- package/dist/esm/plugins/panel/index.js +1 -0
- package/dist/esm/plugins/panel/nodeviews/panel.js +4 -1
- package/dist/esm/plugins/panel/pm-plugins/keymaps.js +22 -4
- package/dist/esm/plugins/paste/handlers.js +44 -8
- package/dist/esm/plugins/paste/linkify-md-plugin.js +7 -1
- package/dist/esm/plugins/paste/pm-plugins/analytics.js +6 -1
- package/dist/esm/plugins/paste/pm-plugins/main.js +28 -3
- package/dist/esm/plugins/placeholder/index.js +12 -1
- package/dist/esm/plugins/placeholder/styles.js +2 -1
- package/dist/esm/plugins/placeholder-text/styles.js +2 -1
- package/dist/esm/plugins/quick-insert/index.js +1 -1
- package/dist/esm/plugins/selection/gap-cursor/styles.js +1 -1
- package/dist/esm/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
- package/dist/esm/plugins/status/ui/statusPicker.js +2 -2
- package/dist/esm/plugins/table/index.js +13 -4
- package/dist/esm/plugins/table/nodeviews/TableComponent.js +6 -6
- package/dist/esm/plugins/table/nodeviews/table.js +6 -2
- package/dist/esm/plugins/table/pm-plugins/main.js +1 -4
- package/dist/esm/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +102 -0
- package/dist/esm/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
- package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -5
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -8
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
- package/dist/esm/plugins/table/transforms/column-width.js +1 -2
- package/dist/esm/plugins/table/transforms/fix-tables.js +1 -3
- package/dist/esm/plugins/table/ui/FloatingContextualButton/styles.js +3 -1
- package/dist/esm/plugins/table/ui/FloatingContextualMenu/styles.js +2 -1
- package/dist/esm/plugins/table/ui/common-styles.js +4 -2
- package/dist/esm/plugins/table/ui/consts.js +15 -12
- package/dist/esm/plugins/table/ui/ui-styles.js +15 -10
- package/dist/esm/plugins/table/utils/decoration.js +3 -4
- package/dist/esm/plugins/table/utils/paste.js +9 -9
- package/dist/esm/plugins/tasks-and-decisions/ui/Task/task-item-with-providers.js +1 -1
- package/dist/esm/plugins/type-ahead/index.js +4 -3
- package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +2 -1
- package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +4 -4
- package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +10 -9
- package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +71 -5
- package/dist/esm/plugins/unsupported-content/styles.js +1 -1
- package/dist/esm/ui/Addon/Dropdown/styles.js +2 -1
- package/dist/esm/ui/Addon/DropdownItem/styles.js +2 -1
- package/dist/esm/ui/Appearance/Chromeless.js +2 -1
- package/dist/esm/ui/Appearance/Comment/Comment.js +10 -3
- package/dist/esm/ui/Appearance/Comment/Toolbar.js +3 -2
- package/dist/esm/ui/Appearance/FullPage/FullPage.js +6 -2
- package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
- package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
- package/dist/esm/ui/Appearance/FullPage/MainToolbar.js +5 -3
- package/dist/esm/ui/ChromeCollapsed/styles.js +1 -1
- package/dist/esm/ui/ConfigPanel/ConfigPanel.js +22 -15
- package/dist/esm/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
- package/dist/esm/ui/ConfigPanel/ErrorMessage/ErrorImage.js +3 -0
- package/dist/esm/ui/ConfigPanel/Fields/CheckboxGroup.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/CustomSelect.js +1 -1
- package/dist/esm/ui/ConfigPanel/Fields/Expand.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/UserSelect.js +1 -1
- package/dist/esm/ui/ConfigPanel/Fields/common/RequiredIndicator.js +2 -1
- package/dist/esm/ui/ConfigPanel/FormErrorBoundary.js +1 -1
- package/dist/esm/ui/ConfigPanel/Header.js +3 -2
- package/dist/esm/ui/ConfigPanel/NestedForms/RemovableField.js +3 -2
- package/dist/esm/ui/ConfigPanel/transformers.js +1 -1
- package/dist/esm/ui/ContentStyles/index.js +3 -2
- package/dist/esm/ui/ContextPanel/index.js +2 -1
- package/dist/esm/ui/DropdownMenu/index.js +5 -0
- package/dist/esm/ui/ElementBrowser/InsertMenu.js +5 -4
- package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +3 -2
- package/dist/esm/ui/ElementBrowser/components/CategoryList.js +3 -2
- package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +11 -5
- package/dist/esm/ui/ElementBrowser/components/ElementList/EmptyState.js +2 -1
- package/dist/esm/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +3 -0
- package/dist/esm/ui/ElementBrowser/components/ElementSearch.js +2 -1
- package/dist/esm/ui/ElementBrowser/constants.js +3 -1
- package/dist/esm/ui/FloatingToolbar/styles.js +3 -3
- package/dist/esm/ui/LinkSearch/LinkSearchListItem.js +4 -3
- package/dist/esm/ui/LinkSearch/index.js +1 -1
- package/dist/esm/ui/PanelTextInput/styles.js +4 -3
- package/dist/esm/ui/PluginSlot/index.js +7 -4
- package/dist/esm/ui/Toolbar/ToolbarInner.js +2 -1
- package/dist/esm/ui/Toolbar/ToolbarWithSizeDetector.js +4 -2
- package/dist/esm/ui/ToolbarFeedback/index.js +1 -1
- package/dist/esm/ui/ToolbarFeedback/styles.js +4 -3
- package/dist/esm/ui/WithFlash/index.js +3 -2
- package/dist/esm/ui/styles.js +5 -4
- package/dist/esm/utils/action.js +1 -1
- package/dist/esm/utils/clipboard.js +1 -1
- package/dist/esm/utils/document.js +59 -5
- package/dist/esm/utils/extensions.js +1 -1
- package/dist/esm/utils/filter/privacy-filter.js +1 -1
- package/dist/esm/utils/step.js +12 -1
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/actions/index.d.ts +6 -0
- package/dist/types/labs/next/ContentComponents.d.ts +7 -1
- package/dist/types/nodeviews/getInlineNodeViewProducer.d.ts +1 -0
- package/dist/types/plugins/analytics/types/enums.d.ts +3 -0
- package/dist/types/plugins/analytics/types/general-events.d.ts +7 -1
- package/dist/types/plugins/base/pm-plugins/inline-cursor-target.d.ts +1 -1
- package/dist/types/plugins/code-block/actions.d.ts +2 -0
- package/dist/types/plugins/code-block/nodeviews/code-block.d.ts +2 -0
- package/dist/types/plugins/code-block/pm-plugins/actions.d.ts +1 -0
- package/dist/types/plugins/code-block/pm-plugins/main-state.d.ts +1 -0
- package/dist/types/plugins/extension/commands.d.ts +1 -1
- package/dist/types/plugins/extension/pm-plugins/main.d.ts +1 -2
- package/dist/types/plugins/extension/types.d.ts +1 -1
- package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
- package/dist/types/plugins/extension/utils.d.ts +1 -3
- package/dist/types/plugins/find-replace/styles.d.ts +0 -2
- package/dist/types/plugins/hyperlink/utils.d.ts +8 -0
- package/dist/types/plugins/media/commands/helpers.d.ts +2 -0
- package/dist/types/plugins/media/nodeviews/mediaNodeView/media.d.ts +1 -0
- package/dist/types/plugins/media/pm-plugins/main.d.ts +2 -1
- package/dist/types/plugins/media/pm-plugins/types.d.ts +2 -1
- package/dist/types/plugins/paste/handlers.d.ts +1 -0
- package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +1 -0
- package/dist/types/plugins/table/commands/misc.d.ts +0 -1
- package/dist/types/plugins/table/index.d.ts +0 -1
- package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +1 -0
- package/dist/types/plugins/table/nodeviews/types.d.ts +0 -1
- package/dist/types/plugins/table/pm-plugins/main.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.d.ts +15 -0
- package/dist/types/plugins/table/pm-plugins/table-resizing/event-handlers.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/misc.d.ts +1 -2
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/scale-table.d.ts +0 -1
- package/dist/types/plugins/table/transforms/fix-tables.d.ts +0 -1
- package/dist/types/plugins/table/types.d.ts +0 -1
- package/dist/types/plugins/table/ui/consts.d.ts +9 -9
- package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +2 -0
- package/dist/types/plugins/type-ahead/ui/TypeAheadListItem.d.ts +4 -4
- package/dist/types/types/editor-appearance-component.d.ts +0 -1
- package/dist/types/types/editor-props.d.ts +4 -0
- package/dist/types/types/feature-flags.d.ts +8 -0
- package/dist/types/types/ui-components.d.ts +1 -0
- package/dist/types/ui/Appearance/FullPage/FullPage.d.ts +1 -0
- package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +1 -0
- package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +3 -2
- package/dist/types/ui/ConfigPanel/ConfigPanelFieldsLoader.d.ts +3 -2
- package/dist/types/ui/PluginSlot/index.d.ts +1 -0
- package/dist/types/ui/Toolbar/toolbar-types.d.ts +1 -0
- package/dist/types/utils/document.d.ts +1 -0
- package/dist/types/utils/step.d.ts +1 -0
- package/docs/0-intro.tsx +12 -4
- package/package.json +22 -22
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { linkifyMatch } from '@atlaskit/adf-schema';
|
|
2
|
-
import LinkifyIt from 'linkify-it';
|
|
2
|
+
import LinkifyIt from 'linkify-it';
|
|
3
|
+
import { findFilepaths, isLinkInMatches } from '../hyperlink/utils'; // modified version of the original Linkify plugin
|
|
3
4
|
// https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/linkify.js
|
|
4
5
|
|
|
5
6
|
var arrayReplaceAt = function arrayReplaceAt(src, pos, newElements) {
|
|
@@ -67,8 +68,13 @@ var linkify = function linkify(state) {
|
|
|
67
68
|
var nodes = [];
|
|
68
69
|
var level = currentToken.level;
|
|
69
70
|
var lastPos = 0;
|
|
71
|
+
var filepaths = findFilepaths(text);
|
|
70
72
|
|
|
71
73
|
for (var ln = 0; ln < links.length; ln++) {
|
|
74
|
+
if (isLinkInMatches(links[ln].index, filepaths)) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
|
|
72
78
|
var url = links[ln].url;
|
|
73
79
|
var fullUrl = state.md.normalizeLink(url);
|
|
74
80
|
|
|
@@ -7,7 +7,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
7
7
|
|
|
8
8
|
import { ACTION, INPUT_METHOD, EVENT_TYPE, ACTION_SUBJECT, ACTION_SUBJECT_ID, addAnalytics, PasteTypes, PasteContents, withAnalytics } from '../../analytics';
|
|
9
9
|
import { getPasteSource } from '../util';
|
|
10
|
-
import { handlePasteAsPlainText, handlePasteIntoTaskAndDecision, handleCodeBlock, handleMediaSingle, handlePastePreservingMarks, handleMarkdown, handleRichText, handleExpandPasteInTable, handleSelectedTable, handlePasteLinkOnSelectedText } from '../handlers';
|
|
10
|
+
import { handlePasteAsPlainText, handlePasteIntoTaskAndDecision, handleCodeBlock, handleMediaSingle, handlePastePreservingMarks, handleMarkdown, handleRichText, handleExpandPasteInTable, handleSelectedTable, handlePasteLinkOnSelectedText, handlePasteIntoCaption } from '../handlers';
|
|
11
11
|
import { pipe } from '../../../utils';
|
|
12
12
|
import { findParentNode } from 'prosemirror-utils';
|
|
13
13
|
import { mapSlice } from '../../../utils/slice';
|
|
@@ -222,6 +222,11 @@ export var handlePasteIntoTaskAndDecisionWithAnalytics = function handlePasteInt
|
|
|
222
222
|
type: type
|
|
223
223
|
}))(slice);
|
|
224
224
|
};
|
|
225
|
+
export var handlePasteIntoCaptionWithAnalytics = function handlePasteIntoCaptionWithAnalytics(view, event, slice, type) {
|
|
226
|
+
return pipe(handlePasteIntoCaption, pasteCommandWithAnalytics(view, event, slice, {
|
|
227
|
+
type: type
|
|
228
|
+
}))(slice);
|
|
229
|
+
};
|
|
225
230
|
export var handleCodeBlockWithAnalytics = function handleCodeBlockWithAnalytics(view, event, slice, text) {
|
|
226
231
|
return pipe(handleCodeBlock, pasteCommandWithAnalytics(view, event, slice, {
|
|
227
232
|
type: PasteTypes.plain
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
1
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
3
|
import { Slice, Fragment } from 'prosemirror-model';
|
|
4
4
|
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
5
5
|
import { PluginKey } from 'prosemirror-state';
|
|
@@ -14,7 +14,7 @@ import { linkifyContent } from '../../hyperlink/utils';
|
|
|
14
14
|
import { transformSliceNestedExpandToExpand } from '../../expand/utils';
|
|
15
15
|
import { handleMacroAutoConvert, handleMention, handleParagraphBlockMarks } from '../handlers';
|
|
16
16
|
import { transformSliceToJoinAdjacentCodeBlocks, transformSingleLineCodeBlockToCodeMark } from '../../code-block/utils';
|
|
17
|
-
import { createPasteMeasurePayload, getContentNodeTypes, handlePasteAsPlainTextWithAnalytics, handlePasteIntoTaskAndDecisionWithAnalytics, handleCodeBlockWithAnalytics, handleMediaSingleWithAnalytics, handlePastePreservingMarksWithAnalytics, handleMarkdownWithAnalytics, handleRichTextWithAnalytics, handleExpandWithAnalytics, handleSelectedTableWithAnalytics, handlePasteLinkOnSelectedTextWithAnalytics, sendPasteAnalyticsEvent } from './analytics';
|
|
17
|
+
import { createPasteMeasurePayload, getContentNodeTypes, handlePasteAsPlainTextWithAnalytics, handlePasteIntoTaskAndDecisionWithAnalytics, handleCodeBlockWithAnalytics, handleMediaSingleWithAnalytics, handlePastePreservingMarksWithAnalytics, handleMarkdownWithAnalytics, handleRichTextWithAnalytics, handleExpandWithAnalytics, handleSelectedTableWithAnalytics, handlePasteLinkOnSelectedTextWithAnalytics, sendPasteAnalyticsEvent, handlePasteIntoCaptionWithAnalytics } from './analytics';
|
|
18
18
|
import { analyticsPluginKey, PasteTypes } from '../../analytics';
|
|
19
19
|
import { insideTable, measurements } from '../../../utils';
|
|
20
20
|
import { measureRender } from '@atlaskit/editor-common/utils';
|
|
@@ -28,6 +28,7 @@ import { pluginKey as betterTypePluginKey } from '../../base/pm-plugins/better-t
|
|
|
28
28
|
import { clipboardTextSerializer } from './clipboard-text-serializer';
|
|
29
29
|
import { htmlHasIncompleteTable, tryRebuildCompleteTableHtml, isPastedFromTinyMCEConfluence } from '../util/tinyMCE';
|
|
30
30
|
import { handlePaste as handlePasteTable } from '@atlaskit/editor-tables/utils';
|
|
31
|
+
import { extractSliceFromStep } from '../../../utils/step';
|
|
31
32
|
export var stateKey = new PluginKey('pastePlugin');
|
|
32
33
|
export { md } from '../md';
|
|
33
34
|
export function createPlugin(schema, dispatchAnalyticsEvent, plainTextPasteLinkification, cardOptions, sanitizePrivateContent, providerFactory) {
|
|
@@ -184,8 +185,25 @@ export function createPlugin(schema, dispatchAnalyticsEvent, plainTextPasteLinki
|
|
|
184
185
|
// don't add closeHistory call if we're pasting a text inside placeholder text as we want the whole action
|
|
185
186
|
// to be atomic
|
|
186
187
|
var placeholder = state.schema.nodes.placeholder;
|
|
188
|
+
var isPastingTextInsidePlaceholderText = ((_state$doc$resolve$no = state.doc.resolve(state.selection.$anchor.pos).nodeAfter) === null || _state$doc$resolve$no === void 0 ? void 0 : _state$doc$resolve$no.type) === placeholder; // don't add closeHistory call if we're pasting a table, as some tables may involve additional
|
|
189
|
+
// appendedTransactions to repair them (if they're partial or incomplete) and we don't want
|
|
190
|
+
// to split those repairing transactions in prosemirror-history when they're being added to the
|
|
191
|
+
// "done" stack
|
|
192
|
+
|
|
193
|
+
var isPastingTable = tr.steps.some(function (step) {
|
|
194
|
+
var _slice$content;
|
|
195
|
+
|
|
196
|
+
var slice = extractSliceFromStep(step);
|
|
197
|
+
var tableExists = false;
|
|
198
|
+
slice === null || slice === void 0 ? void 0 : (_slice$content = slice.content) === null || _slice$content === void 0 ? void 0 : _slice$content.forEach(function (node) {
|
|
199
|
+
if (node.type === state.schema.nodes.table) {
|
|
200
|
+
tableExists = true;
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
return tableExists;
|
|
204
|
+
});
|
|
187
205
|
|
|
188
|
-
if (
|
|
206
|
+
if (!isPastingTextInsidePlaceholderText && !isPastingTable) {
|
|
189
207
|
tr.setMeta(betterTypePluginKey, true);
|
|
190
208
|
}
|
|
191
209
|
|
|
@@ -308,6 +326,13 @@ export function createPlugin(schema, dispatchAnalyticsEvent, plainTextPasteLinki
|
|
|
308
326
|
|
|
309
327
|
if (!insideTable(state)) {
|
|
310
328
|
slice = transformSliceNestedExpandToExpand(slice, state.schema);
|
|
329
|
+
} // Create a custom handler to avoid handling with handleRichText method
|
|
330
|
+
// As SafeInsert is used inside handleRichText which caused some bad UX like this:
|
|
331
|
+
// https://product-fabric.atlassian.net/browse/MEX-1520
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
if (handlePasteIntoCaptionWithAnalytics(view, event, slice, PasteTypes.richText)(state, dispatch)) {
|
|
335
|
+
return true;
|
|
311
336
|
}
|
|
312
337
|
|
|
313
338
|
return handleRichTextWithAnalytics(view, event, slice)(state, dispatch);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
2
|
+
import { browser } from '@atlaskit/editor-common/utils';
|
|
2
3
|
import { PluginKey } from 'prosemirror-state';
|
|
3
4
|
import { DecorationSet, Decoration } from 'prosemirror-view';
|
|
4
5
|
import { isInEmptyLine, isEmptyDocument, bracketTyped } from '../../utils/document';
|
|
@@ -27,7 +28,17 @@ export function createPlaceholderDecoration(editorState, placeholderText) {
|
|
|
27
28
|
placeholderDecoration.className = placeHolderClass;
|
|
28
29
|
var placeholderNode = document.createElement('span');
|
|
29
30
|
placeholderNode.textContent = placeholderText;
|
|
30
|
-
placeholderDecoration.appendChild(placeholderNode);
|
|
31
|
+
placeholderDecoration.appendChild(placeholderNode); // ME-2289 Tapping on backspace in empty editor hides and displays the keyboard
|
|
32
|
+
// Add a editable buff node as the cursor moving forward is inevitable
|
|
33
|
+
// when backspace in GBoard composition
|
|
34
|
+
|
|
35
|
+
if (browser.android && browser.chrome) {
|
|
36
|
+
var buffNode = document.createElement('span');
|
|
37
|
+
buffNode.setAttribute('contenteditable', 'true');
|
|
38
|
+
buffNode.textContent = ' ';
|
|
39
|
+
placeholderDecoration.appendChild(buffNode);
|
|
40
|
+
}
|
|
41
|
+
|
|
31
42
|
return DecorationSet.create(editorState.doc, [Decoration.widget(pos, placeholderDecoration, {
|
|
32
43
|
side: -1,
|
|
33
44
|
key: 'placeholder'
|
|
@@ -4,5 +4,6 @@ var _templateObject;
|
|
|
4
4
|
|
|
5
5
|
import { css } from '@emotion/react';
|
|
6
6
|
import { N200 } from '@atlaskit/theme/colors';
|
|
7
|
+
import { token } from '@atlaskit/tokens';
|
|
7
8
|
export var placeHolderClassName = 'placeholder-decoration';
|
|
8
|
-
export var placeholderStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ProseMirror .", " {\n position: relative;\n color: ", ";\n width: 100%;\n\n pointer-events: none;\n display: block;\n user-select: none;\n\n > span {\n position: absolute;\n pointer-events: none;\n }\n\n &.align-end > span {\n right: 0;\n }\n\n &.align-center > span {\n left: 0;\n }\n }\n"])), placeHolderClassName, N200);
|
|
9
|
+
export var placeholderStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ProseMirror .", " {\n position: relative;\n color: ", ";\n width: 100%;\n\n pointer-events: none;\n display: block;\n user-select: none;\n\n > span {\n position: absolute;\n pointer-events: none;\n outline: none;\n }\n\n &.align-end > span {\n right: 0;\n }\n\n &.align-center > span {\n left: 0;\n }\n }\n"])), placeHolderClassName, token('color.text.subtlest', N200));
|
|
@@ -5,4 +5,5 @@ var _templateObject;
|
|
|
5
5
|
import { css } from '@emotion/react';
|
|
6
6
|
import { N300 } from '@atlaskit/theme/colors';
|
|
7
7
|
import { SelectionStyle, getSelectionStyles, akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles';
|
|
8
|
-
|
|
8
|
+
import { token } from '@atlaskit/tokens';
|
|
9
|
+
export var placeholderTextStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ProseMirror span[data-placeholder] {\n color: ", ";\n display: inline;\n }\n\n .ProseMirror span.pm-placeholder {\n display: inline;\n color: ", ";\n }\n .ProseMirror span.pm-placeholder__text {\n display: inline;\n color: ", ";\n }\n\n .ProseMirror span.pm-placeholder.", " {\n ", "\n }\n\n .ProseMirror span.pm-placeholder__text[data-placeholder]::after {\n color: ", ";\n cursor: text;\n content: attr(data-placeholder);\n display: inline;\n }\n"])), token('color.text.subtlest', N300), token('color.text.subtlest', N300), token('color.text.subtlest', N300), akEditorSelectedNodeClassName, getSelectionStyles([SelectionStyle.Background]), token('color.text.subtlest', N300));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
1
2
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
3
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
4
|
|
|
5
5
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6
6
|
|
|
@@ -9,4 +9,4 @@ var gapCursor = '.ProseMirror-gapcursor';
|
|
|
9
9
|
var prosemirrorwidget = '.ProseMirror-widget';
|
|
10
10
|
var wrapLeft = '[layout="wrap-left"]';
|
|
11
11
|
var wrapRight = '[layout="wrap-right"]';
|
|
12
|
-
export var gapCursorStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n /* =============== GAP CURSOR ================== */\n .ProseMirror {\n &.", " {\n caret-color: transparent;\n }\n\n ", " {\n display: none;\n pointer-events: none;\n position: relative;\n\n & span {\n caret-color: transparent;\n position: absolute;\n height: 100%;\n width: 100%;\n display: block;\n }\n\n & span::after {\n animation: 1s ", " step-end infinite;\n border-left: 1px solid;\n content: '';\n display: block;\n position: absolute;\n top: 0;\n height: 100%;\n }\n &.-left span::after {\n left: -3px;\n }\n &.-right span::after {\n right: -3px;\n }\n & span[layout='full-width'],\n & span[layout='wide'] {\n margin-left: 50%;\n transform: translateX(-50%);\n }\n &", " {\n float: right;\n }\n\n /* fix vertical
|
|
12
|
+
export var gapCursorStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n /* =============== GAP CURSOR ================== */\n .ProseMirror {\n &.", " {\n caret-color: transparent;\n }\n\n ", " {\n display: none;\n pointer-events: none;\n position: relative;\n\n & span {\n caret-color: transparent;\n position: absolute;\n height: 100%;\n width: 100%;\n display: block;\n }\n\n & span::after {\n animation: 1s ", " step-end infinite;\n border-left: 1px solid;\n content: '';\n display: block;\n position: absolute;\n top: 0;\n height: 100%;\n }\n &.-left span::after {\n left: -3px;\n }\n &.-right span::after {\n right: -3px;\n }\n & span[layout='full-width'],\n & span[layout='wide'] {\n margin-left: 50%;\n transform: translateX(-50%);\n }\n &", " {\n float: right;\n }\n\n /* fix vertical alignment of gap cursor */\n &:first-of-type + ul,\n &:first-of-type + span + ul,\n &:first-of-type + ol,\n &:first-of-type + span + ol,\n &:first-of-type + pre,\n &:first-of-type + span + pre,\n &:first-of-type + blockquote,\n &:first-of-type + span + blockquote {\n margin-top: 0;\n }\n }\n &.ProseMirror-focused ", " {\n display: block;\n border-color: transparent;\n }\n }\n\n /* This hack below is for two images aligned side by side */\n ", "", " + span + ", ",\n ", "", " + span + ", ",\n ", " + ", " + ", ",\n ", " + ", " + span + ", ",\n ", " + ", " + ", ",\n ", " + ", " + span + ", ",\n ", " + ", " + ", ",\n ", " + ", " + span ", ",\n ", " + ", " + ", ",\n ", " + ", " + span + ", ",\n ", " + ", " {\n clear: none;\n }\n\n ", " + ", " + ", " > div,\n ", " + ", " + span + ", " > div,\n ", " + ", " + ", " > div,\n ", " + ", " + span + ", " > div,\n ", " + ", " + ", " > div,\n ", " + ", " + span + ", " > div,\n ", " + ", " + ", " > div,\n ", " + ", " + span + ", " > div {\n margin-right: 0;\n margin-left: 0;\n margin-bottom: 0;\n }\n\n ", " + ", ",\n ", " + ", " {\n float: left;\n }\n\n ", " + ", " + span + ", "::after,\n ", " + ", " + span + ", "::after,\n ", " + ", " + ", "::after,\n ", " + ", " + span + ", "::after,\n ", " + ", " + ", "::after,\n ", " + ", " + span + ", "::after {\n visibility: hidden;\n display: block;\n font-size: 0;\n content: ' ';\n clear: both;\n height: 0;\n }\n\n ", " + ", " + ", " + *,\n ", " + ", " + ", " + span + *,\n ", " + ", " + ", " + *,\n ", " + ", " + ", " + span + *,\n ", " + ", " + span + ", " + *,\n ", " + ", " + span + ", " + *,\n ", " + ", " + span + ", " + *,\n ", " + ", " + span + ", " + *,\n ", " + ", " + ", " + * > *,\n ", " + ", " + ", " + span + * > *,\n ", " + ", " + ", " + * > *,\n ", " + ", " + ", " + span + * > *,\n ", " + ", " + span + ", " + * > *,\n ", " + ", " + span + ", " + * > *,\n ", " + ", " + span + ", " + * > *,\n ", " + ", " + span + ", " + * > *,\n ", " + ", " + *,\n ", " + ", " + span + * {\n margin-top: 0;\n }\n"])), hideCaretModifier, gapCursor, gapCursorBlink, wrapRight, gapCursor, gapCursor, wrapLeft, wrapLeft, gapCursor, wrapRight, wrapRight, gapCursor, wrapLeft, wrapRight, gapCursor, wrapLeft, wrapRight, gapCursor, wrapRight, wrapLeft, gapCursor, wrapRight, wrapLeft, wrapLeft, gapCursor, wrapRight, wrapLeft, gapCursor, wrapRight, wrapRight, gapCursor, wrapLeft, wrapRight, gapCursor, wrapLeft, wrapLeft, gapCursor, wrapLeft, gapCursor, wrapRight, wrapLeft, gapCursor, wrapRight, wrapRight, gapCursor, wrapLeft, wrapRight, gapCursor, wrapLeft, gapCursor, wrapRight, wrapLeft, gapCursor, wrapRight, wrapLeft, gapCursor, wrapLeft, wrapRight, gapCursor, wrapLeft, wrapRight, wrapLeft, gapCursor, wrapRight, gapCursor, gapCursor, wrapLeft, wrapRight, gapCursor, wrapRight, wrapLeft, wrapLeft, gapCursor, wrapRight, wrapLeft, gapCursor, wrapRight, wrapRight, gapCursor, wrapLeft, wrapRight, gapCursor, wrapLeft, wrapLeft, gapCursor, wrapRight, wrapLeft, gapCursor, wrapRight, wrapRight, gapCursor, wrapLeft, wrapRight, gapCursor, wrapLeft, wrapLeft, gapCursor, wrapRight, wrapRight, gapCursor, wrapLeft, gapCursor, wrapLeft, wrapRight, gapCursor, wrapRight, wrapLeft, wrapLeft, gapCursor, wrapRight, wrapLeft, gapCursor, wrapRight, wrapRight, gapCursor, wrapLeft, wrapRight, gapCursor, wrapLeft, wrapLeft, gapCursor, wrapRight, wrapRight, gapCursor, wrapLeft, gapCursor, wrapLeft, wrapRight, gapCursor, wrapRight, wrapLeft, prosemirrorwidget, gapCursor, prosemirrorwidget, gapCursor);
|
|
@@ -34,8 +34,8 @@ var plugin = new SafePlugin({
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
return {
|
|
37
|
-
update: function update(view
|
|
38
|
-
var pluginState = gapCursorPluginKey.getState(state);
|
|
37
|
+
update: function update(view) {
|
|
38
|
+
var pluginState = gapCursorPluginKey.getState(view.state);
|
|
39
39
|
/**
|
|
40
40
|
* Starting with prosemirror-view 1.19.4, cursor wrapper that previousely was hiding cursor doesn't exist:
|
|
41
41
|
* https://github.com/ProseMirror/prosemirror-view/commit/4a56bc7b7e61e96ef879d1dae1014ede0fc09e43
|
|
@@ -22,10 +22,10 @@ import { akEditorFloatingDialogZIndex } from '@atlaskit/editor-shared-styles';
|
|
|
22
22
|
import { StatusPicker as AkStatusPicker } from '@atlaskit/status/picker';
|
|
23
23
|
import { borderRadius, gridSize } from '@atlaskit/theme/constants';
|
|
24
24
|
import { N0 } from '@atlaskit/theme/colors';
|
|
25
|
-
import { dropShadow } from '../../../ui/styles';
|
|
26
25
|
import withOuterListeners from '../../../ui/with-outer-listeners';
|
|
27
26
|
import { DEFAULT_STATUS } from '../actions';
|
|
28
27
|
import { analyticsState, createStatusAnalyticsAndFire } from '../analytics';
|
|
28
|
+
import { token } from '@atlaskit/tokens';
|
|
29
29
|
var PopupWithListeners = withOuterListeners(Popup);
|
|
30
30
|
export var InputMethod;
|
|
31
31
|
|
|
@@ -35,7 +35,7 @@ export var InputMethod;
|
|
|
35
35
|
InputMethod["enterKey"] = "enterKey";
|
|
36
36
|
})(InputMethod || (InputMethod = {}));
|
|
37
37
|
|
|
38
|
-
var pickerContainer = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: ", ";\n padding: ", "px 0;\n border-radius: ", "px;\n ", ";\n input {\n text-transform: uppercase;\n }\n"])), N0, gridSize(), borderRadius(),
|
|
38
|
+
var pickerContainer = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: ", ";\n padding: ", "px 0;\n border-radius: ", "px;\n box-shadow: ", ";\n input {\n text-transform: uppercase;\n }\n"])), token('elevation.surface.overlay', N0), gridSize(), borderRadius(), token('elevation.shadow.overlay', '0 0 1px rgba(9, 30, 66, 0.31), 0 4px 8px -2px rgba(9, 30, 66, 0.25)'));
|
|
39
39
|
export var StatusPickerWithoutAnalytcs = /*#__PURE__*/function (_React$Component) {
|
|
40
40
|
_inherits(StatusPickerWithoutAnalytcs, _React$Component);
|
|
41
41
|
|
|
@@ -11,6 +11,7 @@ import { IconTable } from '../quick-insert/assets';
|
|
|
11
11
|
import { pluginConfig } from './create-plugin-config';
|
|
12
12
|
import { createPlugin as createTableLocalIdPlugin } from './pm-plugins/table-local-id';
|
|
13
13
|
import { createPlugin as createTableSafariDelayedDomSelectionSyncingWorkaroundPlugin } from './pm-plugins/safari-delayed-dom-selection-syncing-workaround';
|
|
14
|
+
import { createPlugin as createTableSafariDeleteCompositionTextIssueWorkaroundPlugin } from './pm-plugins/safari-delete-composition-text-issue-workaround';
|
|
14
15
|
import { createPlugin as createDecorationsPlugin } from './pm-plugins/decorations/plugin';
|
|
15
16
|
import { keymapPlugin } from './pm-plugins/keymap';
|
|
16
17
|
import { tableSelectionKeymapPlugin } from './pm-plugins/table-selection-keymap';
|
|
@@ -55,13 +56,12 @@ var tablesPlugin = function tablesPlugin(options) {
|
|
|
55
56
|
eventDispatcher = _ref.eventDispatcher;
|
|
56
57
|
|
|
57
58
|
var _ref2 = options || {},
|
|
58
|
-
dynamicSizingEnabled = _ref2.dynamicSizingEnabled,
|
|
59
59
|
fullWidthEnabled = _ref2.fullWidthEnabled,
|
|
60
60
|
wasFullWidthEnabled = _ref2.wasFullWidthEnabled,
|
|
61
61
|
breakoutEnabled = _ref2.breakoutEnabled,
|
|
62
62
|
tableOptions = _ref2.tableOptions;
|
|
63
63
|
|
|
64
|
-
return createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig(tableOptions), breakoutEnabled
|
|
64
|
+
return createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig(tableOptions), breakoutEnabled, fullWidthEnabled, wasFullWidthEnabled);
|
|
65
65
|
}
|
|
66
66
|
}, {
|
|
67
67
|
name: 'tablePMColResizing',
|
|
@@ -69,7 +69,6 @@ var tablesPlugin = function tablesPlugin(options) {
|
|
|
69
69
|
var dispatch = _ref3.dispatch;
|
|
70
70
|
|
|
71
71
|
var _ref4 = options || {},
|
|
72
|
-
dynamicSizingEnabled = _ref4.dynamicSizingEnabled,
|
|
73
72
|
fullWidthEnabled = _ref4.fullWidthEnabled,
|
|
74
73
|
tableOptions = _ref4.tableOptions;
|
|
75
74
|
|
|
@@ -77,7 +76,6 @@ var tablesPlugin = function tablesPlugin(options) {
|
|
|
77
76
|
allowColumnResizing = _pluginConfig.allowColumnResizing;
|
|
78
77
|
|
|
79
78
|
return allowColumnResizing ? createFlexiResizingPlugin(dispatch, {
|
|
80
|
-
dynamicTextSizing: dynamicSizingEnabled && !fullWidthEnabled,
|
|
81
79
|
lastColumnResizable: !fullWidthEnabled
|
|
82
80
|
}) : undefined;
|
|
83
81
|
}
|
|
@@ -129,6 +127,17 @@ var tablesPlugin = function tablesPlugin(options) {
|
|
|
129
127
|
return createTableSafariDelayedDomSelectionSyncingWorkaroundPlugin();
|
|
130
128
|
}
|
|
131
129
|
});
|
|
130
|
+
} // Workaround for table element breaking issue caused by composition event with an inputType of deleteCompositionText.
|
|
131
|
+
// https://github.com/ProseMirror/prosemirror/issues/934
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
if (browser.safari) {
|
|
135
|
+
plugins.push({
|
|
136
|
+
name: 'tableSafariDeleteCompositionTextIssueWorkaround',
|
|
137
|
+
plugin: function plugin() {
|
|
138
|
+
return createTableSafariDeleteCompositionTextIssueWorkaroundPlugin();
|
|
139
|
+
}
|
|
140
|
+
});
|
|
132
141
|
}
|
|
133
142
|
|
|
134
143
|
return plugins;
|
|
@@ -223,7 +223,6 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
223
223
|
view = _this$props3.view,
|
|
224
224
|
getNode = _this$props3.getNode,
|
|
225
225
|
getPos = _this$props3.getPos,
|
|
226
|
-
options = _this$props3.options,
|
|
227
226
|
containerWidth = _this$props3.containerWidth;
|
|
228
227
|
var node = getNode();
|
|
229
228
|
var pos = getPos();
|
|
@@ -233,7 +232,6 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
233
232
|
}
|
|
234
233
|
|
|
235
234
|
autoSizeTable(view, node, _this.table, pos, {
|
|
236
|
-
dynamicTextSizing: options && options.dynamicTextSizing || false,
|
|
237
235
|
containerWidth: containerWidth.width
|
|
238
236
|
});
|
|
239
237
|
}
|
|
@@ -327,10 +325,8 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
327
325
|
_this.node = _getNode();
|
|
328
326
|
_this.containerWidth = _containerWidth; // store table size using previous full-width mode so can detect if it has changed
|
|
329
327
|
|
|
330
|
-
var dynamicTextSizing = _options ? _options.dynamicTextSizing : false;
|
|
331
328
|
var isFullWidthModeEnabled = _options ? _options.wasFullWidthModeEnabled : false;
|
|
332
329
|
_this.layoutSize = _this.tableNodeLayoutSize(_this.node, _containerWidth.width, {
|
|
333
|
-
dynamicTextSizing: dynamicTextSizing,
|
|
334
330
|
isFullWidthModeEnabled: isFullWidthModeEnabled
|
|
335
331
|
}); // Disable inline table editing and resizing controls in Firefox
|
|
336
332
|
// https://github.com/ProseMirror/prosemirror/issues/432
|
|
@@ -415,7 +411,9 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
415
411
|
value: function componentDidUpdate(prevProps) {
|
|
416
412
|
var _this$props8 = this.props,
|
|
417
413
|
view = _this$props8.view,
|
|
418
|
-
getNode = _this$props8.getNode
|
|
414
|
+
getNode = _this$props8.getNode,
|
|
415
|
+
isMediaFullscreen = _this$props8.isMediaFullscreen,
|
|
416
|
+
allowColumnResizing = _this$props8.allowColumnResizing;
|
|
419
417
|
|
|
420
418
|
var _ref4 = getFeatureFlags(view.state) || {},
|
|
421
419
|
tableOverflowShadowsOptimization = _ref4.tableOverflowShadowsOptimization;
|
|
@@ -441,7 +439,9 @@ var TableComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
441
439
|
if (currentTable.attrs.__autoSize) {
|
|
442
440
|
// Wait for next tick to handle auto sizing, gives the browser time to do layout calc etc.
|
|
443
441
|
this.handleAutoSizeDebounced();
|
|
444
|
-
}
|
|
442
|
+
} // re-drawing will cause media component get unmounted that will exit fullscreen mode if media is in fullscreen mode
|
|
443
|
+
// see https://product-fabric.atlassian.net/browse/MEX-1290
|
|
444
|
+
else if (allowColumnResizing && this.table && !isMediaFullscreen) {
|
|
445
445
|
// If col widths (e.g. via collab) or number of columns (e.g. delete a column) have changed,
|
|
446
446
|
// re-draw colgroup.
|
|
447
447
|
var previousTable = this.node;
|
|
@@ -15,6 +15,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
15
15
|
|
|
16
16
|
import React from 'react';
|
|
17
17
|
import { DOMSerializer } from 'prosemirror-model';
|
|
18
|
+
import { stateKey as mediaPluginKey } from '../../../plugins/media/pm-plugins/plugin-key';
|
|
18
19
|
import ReactNodeView from '../../../nodeviews/ReactNodeView';
|
|
19
20
|
import WithPluginState from '../../../ui/WithPluginState';
|
|
20
21
|
import { pluginKey as widthPluginKey } from '../../width';
|
|
@@ -105,19 +106,22 @@ var TableView = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
105
106
|
plugins: {
|
|
106
107
|
containerWidth: widthPluginKey,
|
|
107
108
|
pluginState: pluginKey,
|
|
108
|
-
tableResizingPluginState: tableResizingPluginKey
|
|
109
|
+
tableResizingPluginState: tableResizingPluginKey,
|
|
110
|
+
mediaState: mediaPluginKey
|
|
109
111
|
},
|
|
110
112
|
editorView: props.view,
|
|
111
113
|
render: function render(pluginStates) {
|
|
112
114
|
var tableResizingPluginState = pluginStates.tableResizingPluginState,
|
|
113
115
|
pluginState = pluginStates.pluginState,
|
|
114
|
-
containerWidth = pluginStates.containerWidth
|
|
116
|
+
containerWidth = pluginStates.containerWidth,
|
|
117
|
+
mediaState = pluginStates.mediaState;
|
|
115
118
|
var tableActive = props.getPos() === pluginState.tablePos;
|
|
116
119
|
return /*#__PURE__*/React.createElement(TableComponent, {
|
|
117
120
|
view: props.view,
|
|
118
121
|
allowColumnResizing: props.allowColumnResizing,
|
|
119
122
|
eventDispatcher: props.eventDispatcher,
|
|
120
123
|
getPos: props.getPos,
|
|
124
|
+
isMediaFullscreen: mediaState === null || mediaState === void 0 ? void 0 : mediaState.isFullscreen,
|
|
121
125
|
options: props.options,
|
|
122
126
|
allowControls: pluginState.pluginConfig.allowControls,
|
|
123
127
|
isHeaderRowEnabled: pluginState.isHeaderRowEnabled,
|
|
@@ -28,14 +28,12 @@ import { transformSliceToRemoveOpenBodiedExtension } from '../../extension/actio
|
|
|
28
28
|
import { insideTable } from '../../../utils';
|
|
29
29
|
import { isHeaderRowRequired } from '../utils/paste';
|
|
30
30
|
var isBreakoutEnabled;
|
|
31
|
-
var isDynamicTextSizingEnabled;
|
|
32
31
|
var isFullWidthModeEnabled;
|
|
33
32
|
var wasFullWidthModeEnabled;
|
|
34
|
-
export var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig,
|
|
33
|
+
export var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig, breakoutEnabled, fullWidthModeEnabled, previousFullWidthModeEnabled) {
|
|
35
34
|
var _window;
|
|
36
35
|
|
|
37
36
|
isBreakoutEnabled = breakoutEnabled;
|
|
38
|
-
isDynamicTextSizingEnabled = dynamicTextSizing;
|
|
39
37
|
isFullWidthModeEnabled = fullWidthModeEnabled;
|
|
40
38
|
wasFullWidthModeEnabled = previousFullWidthModeEnabled;
|
|
41
39
|
var state = createPluginState(dispatch, _objectSpread({
|
|
@@ -259,7 +257,6 @@ export var createPlugin = function createPlugin(dispatchAnalyticsEvent, dispatch
|
|
|
259
257
|
table: function table(node, view, getPos) {
|
|
260
258
|
return createTableView(node, view, getPos, portalProviderAPI, eventDispatcher, {
|
|
261
259
|
isBreakoutEnabled: isBreakoutEnabled,
|
|
262
|
-
dynamicTextSizing: isDynamicTextSizingEnabled,
|
|
263
260
|
isFullWidthModeEnabled: isFullWidthModeEnabled,
|
|
264
261
|
wasFullWidthModeEnabled: wasFullWidthModeEnabled
|
|
265
262
|
});
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fix an issue that composition text replacement in Safari removes empty nodes during text composition text deletion.
|
|
3
|
+
* https://github.com/ProseMirror/prosemirror/issues/934
|
|
4
|
+
* We will remove this plugin when Webkit fix the problem itself.
|
|
5
|
+
*/
|
|
6
|
+
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
7
|
+
import { PluginKey } from 'prosemirror-state';
|
|
8
|
+
import { Decoration, DecorationSet } from 'prosemirror-view';
|
|
9
|
+
export var tableSafariDeleteCompositionTextIssueWorkaroundKey = new PluginKey('tableSafariDeleteCompositionTextIssueWorkaround');
|
|
10
|
+
export var createPlugin = function createPlugin() {
|
|
11
|
+
return new SafePlugin({
|
|
12
|
+
key: tableSafariDeleteCompositionTextIssueWorkaroundKey,
|
|
13
|
+
state: {
|
|
14
|
+
init: function init() {
|
|
15
|
+
return {
|
|
16
|
+
renderSpan: false,
|
|
17
|
+
decorations: DecorationSet.empty
|
|
18
|
+
};
|
|
19
|
+
},
|
|
20
|
+
apply: function apply(tr, value) {
|
|
21
|
+
var renderSpan = tr.getMeta(tableSafariDeleteCompositionTextIssueWorkaroundKey);
|
|
22
|
+
|
|
23
|
+
if (typeof renderSpan === 'undefined') {
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var decorations;
|
|
28
|
+
|
|
29
|
+
if (renderSpan) {
|
|
30
|
+
// Find position of the first text node in case it has multiple text nodes created by Japanese IME
|
|
31
|
+
var $from = tr.selection.$from;
|
|
32
|
+
var pos = $from.before($from.depth);
|
|
33
|
+
var spanDecoration = Decoration.widget(pos, function () {
|
|
34
|
+
var spanElement = document.createElement('span');
|
|
35
|
+
return spanElement;
|
|
36
|
+
});
|
|
37
|
+
decorations = DecorationSet.create(tr.doc, [spanDecoration]);
|
|
38
|
+
} else {
|
|
39
|
+
decorations = DecorationSet.empty;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return {
|
|
43
|
+
renderSpan: renderSpan,
|
|
44
|
+
decorations: decorations
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
props: {
|
|
49
|
+
decorations: function decorations(state) {
|
|
50
|
+
return tableSafariDeleteCompositionTextIssueWorkaroundKey.getState(state).decorations;
|
|
51
|
+
},
|
|
52
|
+
handleDOMEvents: {
|
|
53
|
+
beforeinput: function beforeinput(view, event) {
|
|
54
|
+
if ((event === null || event === void 0 ? void 0 : event.inputType) !== 'deleteCompositionText') {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
var selection = window.getSelection();
|
|
59
|
+
|
|
60
|
+
if (!selection || selection.rangeCount <= 0 || selection.type !== 'Range') {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
var range = selection.getRangeAt(0);
|
|
65
|
+
var startContainer = range.startContainer,
|
|
66
|
+
endContainer = range.endContainer,
|
|
67
|
+
endOffset = range.endOffset,
|
|
68
|
+
startOffset = range.startOffset;
|
|
69
|
+
/**
|
|
70
|
+
* On Safari when composition text is deleted, it deletes any empty elements it finds up the dom tree. Prosemirror can sometimes be confused by this
|
|
71
|
+
* and will think that we meant to delete those elements. This fix forces the resulting node to not be empty.
|
|
72
|
+
* The condition here checks to see if the entire text node is about to be swapped inside of an element
|
|
73
|
+
*/
|
|
74
|
+
|
|
75
|
+
if (startContainer.nodeType === Node.TEXT_NODE && startContainer === endContainer && startOffset === 0 && endOffset === startContainer.length) {
|
|
76
|
+
var tr = view.state.tr;
|
|
77
|
+
tr.setMeta(tableSafariDeleteCompositionTextIssueWorkaroundKey, true);
|
|
78
|
+
view.dispatch(tr);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
return false;
|
|
82
|
+
},
|
|
83
|
+
input: function input(view, event) {
|
|
84
|
+
if ((event === null || event === void 0 ? void 0 : event.inputType) !== 'deleteCompositionText') {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
var selection = window.getSelection();
|
|
89
|
+
|
|
90
|
+
if (!selection) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
var tr = view.state.tr;
|
|
95
|
+
tr.setMeta(tableSafariDeleteCompositionTextIssueWorkaroundKey, false);
|
|
96
|
+
view.dispatch(tr);
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
};
|
|
@@ -11,7 +11,7 @@ import { evenColumns, setDragging, stopResizing } from './commands';
|
|
|
11
11
|
import { getPluginState } from './plugin-factory';
|
|
12
12
|
import { currentColWidth, getLayoutSize, getResizeState, pointsAtCell, resizeColumn, updateControls } from './utils';
|
|
13
13
|
import { ACTION_SUBJECT, addAnalytics, EVENT_TYPE, TABLE_ACTION } from '../../../analytics';
|
|
14
|
-
export var handleMouseDown = function handleMouseDown(view, event, localResizeHandlePos
|
|
14
|
+
export var handleMouseDown = function handleMouseDown(view, event, localResizeHandlePos) {
|
|
15
15
|
var state = view.state,
|
|
16
16
|
dispatch = view.dispatch;
|
|
17
17
|
|
|
@@ -38,9 +38,7 @@ export var handleMouseDown = function handleMouseDown(view, event, localResizeHa
|
|
|
38
38
|
|
|
39
39
|
var containerWidth = widthPluginKey.getState(state);
|
|
40
40
|
var parentWidth = getParentNodeWidth(start, state, containerWidth);
|
|
41
|
-
var maxSize = parentWidth || getLayoutSize(dom.getAttribute('data-layout'), containerWidth.width, {
|
|
42
|
-
dynamicTextSizing: dynamicTextSizing
|
|
43
|
-
});
|
|
41
|
+
var maxSize = parentWidth || getLayoutSize(dom.getAttribute('data-layout'), containerWidth.width, {});
|
|
44
42
|
|
|
45
43
|
if (originalTable.attrs.isNumberColumnEnabled) {
|
|
46
44
|
maxSize -= akEditorTableNumberColumnWidth;
|
|
@@ -9,14 +9,11 @@ import { pluginKey } from './plugin-key';
|
|
|
9
9
|
import { getResizeCellPos } from './utils';
|
|
10
10
|
export function createPlugin(dispatch, _ref) {
|
|
11
11
|
var _ref$lastColumnResiza = _ref.lastColumnResizable,
|
|
12
|
-
lastColumnResizable = _ref$lastColumnResiza === void 0 ? true : _ref$lastColumnResiza
|
|
13
|
-
_ref$dynamicTextSizin = _ref.dynamicTextSizing,
|
|
14
|
-
dynamicTextSizing = _ref$dynamicTextSizin === void 0 ? false : _ref$dynamicTextSizin;
|
|
12
|
+
lastColumnResizable = _ref$lastColumnResiza === void 0 ? true : _ref$lastColumnResiza;
|
|
15
13
|
return new SafePlugin({
|
|
16
14
|
key: pluginKey,
|
|
17
15
|
state: createPluginState(dispatch, {
|
|
18
16
|
lastColumnResizable: lastColumnResizable,
|
|
19
|
-
dynamicTextSizing: dynamicTextSizing,
|
|
20
17
|
resizeHandlePos: null,
|
|
21
18
|
dragging: null,
|
|
22
19
|
lastClick: null
|
|
@@ -40,7 +37,7 @@ export function createPlugin(dispatch, _ref) {
|
|
|
40
37
|
dragging = _getPluginState.dragging;
|
|
41
38
|
|
|
42
39
|
if (resizeHandlePos !== null && !dragging) {
|
|
43
|
-
if (handleMouseDown(view, event, resizeHandlePos
|
|
40
|
+
if (handleMouseDown(view, event, resizeHandlePos)) {
|
|
44
41
|
var _state = view.state,
|
|
45
42
|
_dispatch = view.dispatch;
|
|
46
43
|
return setResizeHandlePos(resizeHandlePos)(_state, _dispatch);
|
|
@@ -13,8 +13,7 @@ export var tableLayoutToSize = {
|
|
|
13
13
|
export function getLayoutSize(tableLayout) {
|
|
14
14
|
var containerWidth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
15
15
|
var options = arguments.length > 2 ? arguments[2] : undefined;
|
|
16
|
-
var
|
|
17
|
-
isFullWidthModeEnabled = options.isFullWidthModeEnabled;
|
|
16
|
+
var isFullWidthModeEnabled = options.isFullWidthModeEnabled;
|
|
18
17
|
|
|
19
18
|
if (isFullWidthModeEnabled) {
|
|
20
19
|
return containerWidth ? Math.min(containerWidth - akEditorGutterPadding * 2, akEditorFullWidthLayoutWidth) : akEditorFullWidthLayoutWidth;
|
|
@@ -26,7 +25,7 @@ export function getLayoutSize(tableLayout) {
|
|
|
26
25
|
return parseInt(calculatedTableWidth, 10);
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
if (
|
|
28
|
+
if (tableLayout === 'default') {
|
|
30
29
|
return getDefaultLayoutMaxWidth(containerWidth);
|
|
31
30
|
}
|
|
32
31
|
|
|
@@ -76,13 +75,10 @@ export var getTableMaxWidth = function getTableMaxWidth(_ref2) {
|
|
|
76
75
|
var table = _ref2.table,
|
|
77
76
|
tableStart = _ref2.tableStart,
|
|
78
77
|
state = _ref2.state,
|
|
79
|
-
layout = _ref2.layout
|
|
80
|
-
dynamicTextSizing = _ref2.dynamicTextSizing;
|
|
78
|
+
layout = _ref2.layout;
|
|
81
79
|
var containerWidth = widthPluginKey.getState(state);
|
|
82
80
|
var parentWidth = getParentNodeWidth(tableStart, state, containerWidth);
|
|
83
|
-
var maxWidth = parentWidth || getLayoutSize(layout, containerWidth.width, {
|
|
84
|
-
dynamicTextSizing: dynamicTextSizing
|
|
85
|
-
});
|
|
81
|
+
var maxWidth = parentWidth || getLayoutSize(layout, containerWidth.width, {});
|
|
86
82
|
|
|
87
83
|
if (table.attrs.isNumberColumnEnabled) {
|
|
88
84
|
maxWidth -= akEditorTableNumberColumnWidth;
|
|
@@ -265,7 +265,7 @@ export var normaliseTableLayout = function normaliseTableLayout(input) {
|
|
|
265
265
|
return 'default';
|
|
266
266
|
}
|
|
267
267
|
};
|
|
268
|
-
export var getNewResizeStateFromSelectedColumns = function getNewResizeStateFromSelectedColumns(rect, state, domAtPos
|
|
268
|
+
export var getNewResizeStateFromSelectedColumns = function getNewResizeStateFromSelectedColumns(rect, state, domAtPos) {
|
|
269
269
|
var _getSelectedTableInfo = getSelectedTableInfo(state.selection),
|
|
270
270
|
totalRowCount = _getSelectedTableInfo.totalRowCount,
|
|
271
271
|
totalColumnCount = _getSelectedTableInfo.totalColumnCount,
|
|
@@ -287,8 +287,7 @@ export var getNewResizeStateFromSelectedColumns = function getNewResizeStateFrom
|
|
|
287
287
|
table: table.node,
|
|
288
288
|
tableStart: table.start,
|
|
289
289
|
state: state,
|
|
290
|
-
layout: layout
|
|
291
|
-
dynamicTextSizing: dynamicTextSizing
|
|
290
|
+
layout: layout
|
|
292
291
|
});
|
|
293
292
|
var resizeState = getResizeState({
|
|
294
293
|
minWidth: tableCellMinWidth,
|
|
@@ -20,18 +20,15 @@ export var scale = function scale(tableRef, options, domAtPos) {
|
|
|
20
20
|
var node = options.node,
|
|
21
21
|
containerWidth = options.containerWidth,
|
|
22
22
|
previousContainerWidth = options.previousContainerWidth,
|
|
23
|
-
dynamicTextSizing = options.dynamicTextSizing,
|
|
24
23
|
prevNode = options.prevNode,
|
|
25
24
|
start = options.start,
|
|
26
25
|
isBreakoutEnabled = options.isBreakoutEnabled,
|
|
27
26
|
layoutChanged = options.layoutChanged;
|
|
28
27
|
var maxSize = getLayoutSize(node.attrs.layout, containerWidth, {
|
|
29
|
-
dynamicTextSizing: dynamicTextSizing,
|
|
30
28
|
isBreakoutEnabled: isBreakoutEnabled
|
|
31
29
|
});
|
|
32
30
|
var prevTableWidth = getTableWidth(prevNode);
|
|
33
31
|
var previousMaxSize = getLayoutSize(prevNode.attrs.layout, previousContainerWidth, {
|
|
34
|
-
dynamicTextSizing: dynamicTextSizing,
|
|
35
32
|
isBreakoutEnabled: isBreakoutEnabled
|
|
36
33
|
});
|
|
37
34
|
var newWidth = maxSize; // adjust table width if layout is updated
|
|
@@ -149,8 +149,7 @@ export var rescaleColumns = function rescaleColumns(table, view) {
|
|
|
149
149
|
table: table.node,
|
|
150
150
|
tableStart: table.start,
|
|
151
151
|
state: state,
|
|
152
|
-
layout: layout
|
|
153
|
-
dynamicTextSizing: true
|
|
152
|
+
layout: layout
|
|
154
153
|
});
|
|
155
154
|
var resizeState = getResizeState({
|
|
156
155
|
minWidth: tableCellMinWidth,
|