@atlaskit/editor-core 180.0.0 → 181.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 +117 -0
- package/codemods/180.1.0-update-to-editor-migration-component.ts +8 -0
- package/codemods/__tests__/rename-editor-to-editor-migration-component.ts +156 -0
- package/codemods/migrates/rename-editor-to-editor-migration-component.ts +34 -0
- package/dist/cjs/actions/index.js +26 -11
- package/dist/cjs/analytics-api/attach-payload-into-transaction.js +1 -1
- package/dist/cjs/create-editor/ReactEditorView.js +9 -764
- package/dist/cjs/create-editor/ReactEditorViewInternal.js +753 -0
- package/dist/cjs/create-editor/ReactEditorViewNext.js +16 -0
- package/dist/cjs/create-editor/create-plugins-list.js +31 -3
- package/dist/cjs/create-editor/feature-flags-from-props.js +3 -2
- package/dist/cjs/create-editor/preset-utils.js +27 -0
- package/dist/cjs/editor-next/editor-internal.js +147 -0
- package/dist/cjs/editor-next/editor-migration-component.js +51 -0
- package/dist/cjs/editor-next/hooks/useEditorMeasuresConstructor.js +36 -0
- package/dist/cjs/editor-next/hooks/useMeasureEditorMountTime.js +42 -0
- package/dist/cjs/editor-next/hooks/useProviderFactory.js +73 -0
- package/dist/cjs/editor-next/index.js +143 -0
- package/dist/cjs/editor-next/utils/deprecationWarnings.js +45 -0
- package/dist/cjs/editor-next/utils/editorMeasureTTICallback.js +44 -0
- package/dist/cjs/editor-next/utils/editorPropTypes.js +36 -0
- package/dist/cjs/editor-next/utils/getBaseFontSize.js +17 -0
- package/dist/cjs/editor-next/utils/getProvidersFromEditorProps.js +41 -0
- package/dist/cjs/editor-next/utils/handleProviders.js +51 -0
- package/dist/cjs/editor-next/utils/onEditorCreated.js +28 -0
- package/dist/cjs/editor-next/utils/sendDurationAnalytics.js +68 -0
- package/dist/cjs/editor-next/utils/trackEditorActions.js +101 -0
- package/dist/cjs/editor.js +139 -445
- package/dist/cjs/index.js +7 -0
- package/dist/cjs/keymaps/consts.js +1 -16
- package/dist/cjs/labs/next/internal/hooks/use-analytics/index.js +4 -4
- package/dist/cjs/labs/next/internal/hooks/use-editor/create-dispatch-transaction.js +6 -6
- package/dist/cjs/labs/next/presets/create-stub-internal-apis.js +117 -0
- package/dist/cjs/labs/next/presets/cxhtml.js +56 -55
- package/dist/cjs/labs/next/presets/default.js +15 -42
- package/dist/cjs/labs/next/presets/mobile.js +76 -89
- package/dist/cjs/labs/next/presets/universal.js +337 -255
- package/dist/cjs/labs/next/presets/useUniversalPreset.js +36 -0
- package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/index.js +48 -13
- package/dist/cjs/plugins/analytics/index.js +2 -3
- package/dist/cjs/plugins/analytics/plugin.js +11 -6
- package/dist/cjs/plugins/analytics/utils.js +0 -11
- package/dist/cjs/plugins/annotation/utils.js +2 -36
- package/dist/cjs/plugins/base/pm-plugins/filter-steps.js +1 -1
- package/dist/cjs/plugins/base/pm-plugins/frozen-editor.js +98 -56
- package/dist/cjs/plugins/base/pm-plugins/react-nodeview.js +2 -7
- package/dist/cjs/plugins/base/utils/input-latency-tracking.js +24 -25
- package/dist/cjs/plugins/block-type/pm-plugins/input-rule.js +0 -10
- package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/blocktype-button.js +1 -0
- package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/index.js +36 -9
- package/dist/cjs/plugins/caption/index.js +0 -7
- package/dist/cjs/plugins/card/nodeviews/blockCard.js +9 -3
- package/dist/cjs/plugins/card/nodeviews/genericCard.js +16 -2
- package/dist/cjs/plugins/card/nodeviews/inlineCard.js +6 -2
- package/dist/cjs/plugins/card/pm-plugins/main.js +10 -5
- package/dist/cjs/plugins/card/pm-plugins/util/resolve.js +4 -0
- package/dist/cjs/plugins/clipboard/pm-plugins/main.js +4 -1
- package/dist/cjs/plugins/code-block/pm-plugins/main-state.js +2 -14
- package/dist/cjs/plugins/collab-edit/plugin.js +2 -3
- package/dist/cjs/plugins/collab-edit/provider/index.js +1 -8
- package/dist/cjs/plugins/collab-edit/provider/types.js +1 -12
- package/dist/cjs/plugins/context-panel/index.js +1 -6
- package/dist/cjs/plugins/data-consumer/index.js +0 -8
- package/dist/cjs/plugins/date/utils/internal.js +0 -4
- package/dist/cjs/plugins/extension/commands.js +1 -8
- package/dist/cjs/plugins/extension/toolbar.js +7 -1
- package/dist/cjs/plugins/extension/ui/Extension/Extension/index.js +9 -2
- package/dist/cjs/plugins/extension/ui/Extension/Extension/styles.js +2 -2
- package/dist/cjs/plugins/extension/ui/Extension/Lozenge.js +1 -0
- package/dist/cjs/plugins/feedback-dialog/index.js +1 -4
- package/dist/cjs/plugins/find-replace/ui/FindReplaceToolbarButton.js +5 -1
- package/dist/cjs/plugins/floating-toolbar/ui/Button.js +9 -3
- package/dist/cjs/plugins/floating-toolbar/ui/CheckboxModal.js +5 -3
- package/dist/cjs/plugins/floating-toolbar/ui/Dropdown.js +48 -14
- package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.js +2 -9
- package/dist/cjs/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +24 -21
- package/dist/cjs/plugins/floating-toolbar/ui/ScrollButtons.js +12 -7
- package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +32 -5
- package/dist/cjs/plugins/floating-toolbar/utils.js +0 -12
- package/dist/cjs/plugins/fragment/index.js +0 -8
- package/dist/cjs/plugins/fragment/pm-plugins/fragment-consistency.js +1 -0
- package/dist/cjs/plugins/help-dialog/commands.js +2 -6
- package/dist/cjs/plugins/hyperlink/analytics.js +5 -5
- package/dist/cjs/plugins/hyperlink/index.js +1 -1
- package/dist/cjs/plugins/hyperlink/pm-plugins/main.js +9 -5
- package/dist/cjs/plugins/hyperlink/ui/EditorLinkPicker/index.js +10 -4
- package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
- package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +4 -3
- package/dist/cjs/plugins/image-upload/pm-plugins/main.js +50 -12
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -0
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +1 -0
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +3 -0
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +1 -0
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -0
- package/dist/cjs/plugins/layout/styles.js +10 -1
- package/dist/cjs/plugins/list/utils/find.js +0 -28
- package/dist/cjs/plugins/list/utils/indentation.js +1 -25
- package/dist/cjs/plugins/list/utils/node.js +0 -5
- package/dist/cjs/plugins/list/utils/selection.js +2 -15
- package/dist/cjs/plugins/media/commands/helpers.js +12 -40
- package/dist/cjs/plugins/media/commands/index.js +4 -4
- package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +14 -12
- package/dist/cjs/plugins/media/nodeviews/mediaInline.js +1 -1
- package/dist/cjs/plugins/media/nodeviews/mediaNodeUpdater.js +310 -205
- package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +1 -1
- package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
- package/dist/cjs/plugins/media/pm-plugins/main.js +2 -27
- package/dist/cjs/plugins/media/toolbar/filePreviewItem.js +1 -4
- package/dist/cjs/plugins/media/utils/media-common.js +1 -20
- package/dist/cjs/plugins/mentions/nodeviews/mention.js +100 -16
- package/dist/cjs/plugins/mentions/type-ahead/index.js +1 -18
- package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +1 -3
- package/dist/cjs/plugins/mobile-dimensions/index.js +1 -4
- package/dist/cjs/plugins/panel/utils.js +4 -1
- package/dist/cjs/plugins/paste/handlers.js +128 -13
- package/dist/cjs/plugins/paste/index.js +1 -2
- package/dist/cjs/plugins/paste/pm-plugins/analytics.js +133 -88
- package/dist/cjs/plugins/paste/pm-plugins/main.js +12 -3
- package/dist/cjs/plugins/paste/util/index.js +0 -46
- package/dist/cjs/plugins/placeholder-text/index.js +2 -2
- package/dist/cjs/plugins/quick-insert/assets/index.js +1 -27
- package/dist/cjs/plugins/selection/gap-cursor/actions.js +49 -44
- package/dist/cjs/plugins/status/index.js +9 -3
- package/dist/cjs/plugins/status/ui/statusPicker.js +8 -2
- package/dist/cjs/plugins/status/utils.js +1 -15
- package/dist/cjs/plugins/text-color/pm-plugins/main.js +0 -1
- package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +48 -12
- package/dist/cjs/plugins/text-formatting/pm-plugins/smart-input-rule.js +8 -2
- package/dist/cjs/plugins/text-formatting/ui/Toolbar/dropdown-menu.js +22 -2
- package/dist/cjs/plugins/text-formatting/ui/Toolbar/index.js +3 -1
- package/dist/cjs/plugins/text-formatting/ui/Toolbar/more-button.js +3 -1
- package/dist/cjs/plugins/text-formatting/utils.js +1 -35
- package/dist/cjs/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +19 -1
- package/dist/cjs/plugins/type-ahead/constants.js +1 -7
- package/dist/cjs/plugins/type-ahead/index.js +1 -1
- package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +2 -35
- package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +79 -106
- package/dist/cjs/plugins/type-ahead/utils.js +3 -22
- package/dist/cjs/test-utils.js +4 -12
- package/dist/cjs/ui/Appearance/Comment/Toolbar.js +43 -8
- package/dist/cjs/ui/ChromeCollapsed/index.js +1 -0
- package/dist/cjs/ui/CollapsedEditor/index.js +7 -13
- package/dist/cjs/ui/ColorPalette/index.js +18 -0
- package/dist/cjs/ui/ColorPickerButton/index.js +73 -7
- package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +1 -1
- package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +1 -0
- package/dist/cjs/ui/ConfigPanel/utils.js +4 -17
- package/dist/cjs/ui/ContentStyles/index.js +1 -1
- package/dist/cjs/ui/ContextPanel/context.js +13 -12
- package/dist/cjs/ui/Dropdown/index.js +7 -2
- package/dist/cjs/ui/DropdownMenu/index.js +7 -2
- package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +1 -1
- package/dist/cjs/ui/ElementBrowser/components/CategoryList.js +1 -1
- package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +1 -1
- package/dist/cjs/ui/ElementBrowser/components/StatelessElementBrowser.js +1 -1
- package/dist/cjs/ui/ElementBrowser/constants.js +1 -3
- package/dist/cjs/ui/PanelTextInput/index.js +4 -4
- package/dist/cjs/ui/PortalProvider/index.js +5 -5
- package/dist/cjs/ui/Resizer/utils.js +1 -3
- package/dist/cjs/ui/WidthEmitter/index.js +29 -35
- package/dist/cjs/ui/styles.js +3 -7
- package/dist/cjs/utils/document.js +15 -0
- package/dist/cjs/utils/extensions.js +6 -7
- package/dist/cjs/utils/get-editor-plugins.js +30 -0
- package/dist/cjs/utils/index.js +9 -269
- package/dist/cjs/utils/input-rules.js +1 -15
- package/dist/cjs/utils/linking-utils.js +1 -1
- package/dist/cjs/utils/performance/components/RenderTracking.js +1 -1
- package/dist/cjs/utils/performance/safer-transactions.js +1 -1
- package/dist/cjs/utils/prepare-extension-provider.js +25 -0
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/actions/index.js +24 -10
- package/dist/es2019/analytics-api/attach-payload-into-transaction.js +1 -1
- package/dist/es2019/create-editor/ReactEditorView.js +3 -710
- package/dist/es2019/create-editor/ReactEditorViewInternal.js +697 -0
- package/dist/es2019/create-editor/ReactEditorViewNext.js +7 -0
- package/dist/es2019/create-editor/create-plugins-list.js +26 -3
- package/dist/es2019/create-editor/feature-flags-from-props.js +3 -2
- package/dist/es2019/create-editor/preset-utils.js +15 -0
- package/dist/es2019/editor-next/editor-internal.js +142 -0
- package/dist/es2019/editor-next/editor-migration-component.js +27 -0
- package/dist/es2019/editor-next/hooks/useEditorMeasuresConstructor.js +30 -0
- package/dist/es2019/editor-next/hooks/useMeasureEditorMountTime.js +35 -0
- package/dist/es2019/editor-next/hooks/useProviderFactory.js +62 -0
- package/dist/es2019/editor-next/index.js +96 -0
- package/dist/es2019/editor-next/utils/deprecationWarnings.js +39 -0
- package/dist/es2019/editor-next/utils/editorMeasureTTICallback.js +40 -0
- package/dist/es2019/editor-next/utils/editorPropTypes.js +29 -0
- package/dist/es2019/editor-next/utils/getBaseFontSize.js +11 -0
- package/dist/es2019/editor-next/utils/getProvidersFromEditorProps.js +36 -0
- package/dist/es2019/editor-next/utils/handleProviders.js +46 -0
- package/dist/es2019/editor-next/utils/onEditorCreated.js +21 -0
- package/dist/es2019/editor-next/utils/sendDurationAnalytics.js +40 -0
- package/dist/es2019/editor-next/utils/trackEditorActions.js +78 -0
- package/dist/es2019/editor.js +122 -398
- package/dist/es2019/index.js +2 -1
- package/dist/es2019/keymaps/consts.js +7 -11
- package/dist/es2019/labs/next/internal/hooks/use-analytics/index.js +2 -2
- package/dist/es2019/labs/next/internal/hooks/use-editor/create-dispatch-transaction.js +2 -3
- package/dist/es2019/labs/next/presets/create-stub-internal-apis.js +105 -0
- package/dist/es2019/labs/next/presets/cxhtml.js +56 -53
- package/dist/es2019/labs/next/presets/default.js +18 -38
- package/dist/es2019/labs/next/presets/mobile.js +88 -88
- package/dist/es2019/labs/next/presets/universal.js +347 -263
- package/dist/es2019/labs/next/presets/useUniversalPreset.js +25 -0
- package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/index.js +41 -12
- package/dist/es2019/plugins/analytics/index.js +3 -4
- package/dist/es2019/plugins/analytics/plugin.js +8 -2
- package/dist/es2019/plugins/analytics/utils.js +0 -4
- package/dist/es2019/plugins/annotation/utils.js +2 -30
- package/dist/es2019/plugins/base/pm-plugins/filter-steps.js +1 -1
- package/dist/es2019/plugins/base/pm-plugins/frozen-editor.js +96 -58
- package/dist/es2019/plugins/base/pm-plugins/react-nodeview.js +1 -3
- package/dist/es2019/plugins/base/utils/input-latency-tracking.js +23 -23
- package/dist/es2019/plugins/block-type/pm-plugins/input-rule.js +3 -9
- package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/blocktype-button.js +1 -0
- package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/index.js +31 -5
- package/dist/es2019/plugins/caption/index.js +0 -2
- package/dist/es2019/plugins/card/nodeviews/blockCard.js +10 -3
- package/dist/es2019/plugins/card/nodeviews/genericCard.js +16 -2
- package/dist/es2019/plugins/card/nodeviews/inlineCard.js +6 -2
- package/dist/es2019/plugins/card/pm-plugins/main.js +9 -4
- package/dist/es2019/plugins/card/pm-plugins/util/resolve.js +4 -0
- package/dist/es2019/plugins/clipboard/pm-plugins/main.js +3 -1
- package/dist/es2019/plugins/code-block/pm-plugins/main-state.js +1 -9
- package/dist/es2019/plugins/collab-edit/plugin.js +1 -2
- package/dist/es2019/plugins/collab-edit/provider/index.js +1 -1
- package/dist/es2019/plugins/collab-edit/provider/types.js +1 -10
- package/dist/es2019/plugins/context-panel/index.js +0 -3
- package/dist/es2019/plugins/data-consumer/index.js +0 -7
- package/dist/es2019/plugins/date/utils/internal.js +0 -3
- package/dist/es2019/plugins/extension/commands.js +0 -6
- package/dist/es2019/plugins/extension/toolbar.js +7 -1
- package/dist/es2019/plugins/extension/ui/Extension/Extension/index.js +12 -2
- package/dist/es2019/plugins/extension/ui/Extension/Extension/styles.js +3 -0
- package/dist/es2019/plugins/extension/ui/Extension/Lozenge.js +1 -0
- package/dist/es2019/plugins/feedback-dialog/index.js +0 -2
- package/dist/es2019/plugins/find-replace/ui/FindReplaceToolbarButton.js +5 -1
- package/dist/es2019/plugins/floating-toolbar/ui/Button.js +9 -3
- package/dist/es2019/plugins/floating-toolbar/ui/CheckboxModal.js +5 -3
- package/dist/es2019/plugins/floating-toolbar/ui/Dropdown.js +45 -12
- package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.js +1 -11
- package/dist/es2019/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +3 -2
- package/dist/es2019/plugins/floating-toolbar/ui/ScrollButtons.js +12 -7
- package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +29 -1
- package/dist/es2019/plugins/floating-toolbar/utils.js +0 -10
- package/dist/es2019/plugins/fragment/index.js +0 -7
- package/dist/es2019/plugins/fragment/pm-plugins/fragment-consistency.js +1 -0
- package/dist/es2019/plugins/help-dialog/commands.js +1 -2
- package/dist/es2019/plugins/hyperlink/analytics.js +1 -1
- package/dist/es2019/plugins/hyperlink/index.js +1 -1
- package/dist/es2019/plugins/hyperlink/pm-plugins/main.js +8 -4
- package/dist/es2019/plugins/hyperlink/ui/EditorLinkPicker/index.js +9 -3
- package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
- package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +3 -2
- package/dist/es2019/plugins/image-upload/pm-plugins/main.js +47 -5
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -0
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +1 -0
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +3 -0
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +1 -0
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +24 -0
- package/dist/es2019/plugins/layout/styles.js +12 -4
- package/dist/es2019/plugins/list/utils/find.js +0 -27
- package/dist/es2019/plugins/list/utils/indentation.js +0 -23
- package/dist/es2019/plugins/list/utils/node.js +1 -4
- package/dist/es2019/plugins/list/utils/selection.js +2 -15
- package/dist/es2019/plugins/media/commands/helpers.js +9 -35
- package/dist/es2019/plugins/media/commands/index.js +1 -1
- package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +3 -3
- package/dist/es2019/plugins/media/nodeviews/mediaInline.js +1 -1
- package/dist/es2019/plugins/media/nodeviews/mediaNodeUpdater.js +70 -37
- package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +1 -1
- package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
- package/dist/es2019/plugins/media/pm-plugins/main.js +3 -30
- package/dist/es2019/plugins/media/toolbar/filePreviewItem.js +1 -4
- package/dist/es2019/plugins/media/utils/media-common.js +1 -19
- package/dist/es2019/plugins/mentions/nodeviews/mention.js +64 -16
- package/dist/es2019/plugins/mentions/type-ahead/index.js +1 -14
- package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +1 -2
- package/dist/es2019/plugins/mobile-dimensions/index.js +0 -3
- package/dist/es2019/plugins/panel/utils.js +4 -1
- package/dist/es2019/plugins/paste/handlers.js +127 -5
- package/dist/es2019/plugins/paste/index.js +1 -2
- package/dist/es2019/plugins/paste/pm-plugins/analytics.js +131 -93
- package/dist/es2019/plugins/paste/pm-plugins/main.js +13 -4
- package/dist/es2019/plugins/paste/util/index.js +5 -45
- package/dist/es2019/plugins/placeholder-text/index.js +1 -1
- package/dist/es2019/plugins/quick-insert/assets/index.js +0 -8
- package/dist/es2019/plugins/selection/gap-cursor/actions.js +56 -56
- package/dist/es2019/plugins/status/index.js +8 -2
- package/dist/es2019/plugins/status/ui/statusPicker.js +8 -2
- package/dist/es2019/plugins/status/utils.js +1 -11
- package/dist/es2019/plugins/text-color/pm-plugins/main.js +1 -1
- package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +48 -12
- package/dist/es2019/plugins/text-formatting/pm-plugins/smart-input-rule.js +8 -2
- package/dist/es2019/plugins/text-formatting/ui/Toolbar/dropdown-menu.js +20 -3
- package/dist/es2019/plugins/text-formatting/ui/Toolbar/index.js +4 -2
- package/dist/es2019/plugins/text-formatting/ui/Toolbar/more-button.js +3 -1
- package/dist/es2019/plugins/text-formatting/utils.js +0 -27
- package/dist/es2019/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +16 -1
- package/dist/es2019/plugins/type-ahead/constants.js +0 -5
- package/dist/es2019/plugins/type-ahead/index.js +1 -1
- package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +0 -35
- package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +73 -92
- package/dist/es2019/plugins/type-ahead/utils.js +0 -23
- package/dist/es2019/test-utils.js +4 -7
- package/dist/es2019/ui/Appearance/Comment/Toolbar.js +40 -6
- package/dist/es2019/ui/ChromeCollapsed/index.js +1 -0
- package/dist/es2019/ui/CollapsedEditor/index.js +7 -11
- package/dist/es2019/ui/ColorPalette/index.js +2 -1
- package/dist/es2019/ui/ColorPickerButton/index.js +66 -9
- package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +1 -1
- package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +1 -0
- package/dist/es2019/ui/ConfigPanel/utils.js +0 -6
- package/dist/es2019/ui/ContentStyles/index.js +1 -1
- package/dist/es2019/ui/ContextPanel/context.js +5 -4
- package/dist/es2019/ui/Dropdown/index.js +5 -2
- package/dist/es2019/ui/DropdownMenu/index.js +5 -2
- package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +1 -1
- package/dist/es2019/ui/ElementBrowser/components/CategoryList.js +1 -1
- package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +1 -1
- package/dist/es2019/ui/ElementBrowser/components/StatelessElementBrowser.js +1 -1
- package/dist/es2019/ui/ElementBrowser/constants.js +0 -1
- package/dist/es2019/ui/PanelTextInput/index.js +3 -3
- package/dist/es2019/ui/PortalProvider/index.js +1 -1
- package/dist/es2019/ui/Resizer/utils.js +0 -1
- package/dist/es2019/ui/WidthEmitter/index.js +25 -29
- package/dist/es2019/ui/styles.js +0 -6
- package/dist/es2019/utils/document.js +11 -1
- package/dist/es2019/utils/extensions.js +1 -3
- package/dist/es2019/utils/get-editor-plugins.js +23 -0
- package/dist/es2019/utils/index.js +13 -199
- package/dist/es2019/utils/input-rules.js +0 -14
- package/dist/es2019/utils/linking-utils.js +1 -1
- package/dist/es2019/utils/performance/components/RenderTracking.js +1 -1
- package/dist/es2019/utils/performance/safer-transactions.js +1 -1
- package/dist/es2019/utils/prepare-extension-provider.js +13 -0
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/actions/index.js +24 -10
- package/dist/esm/analytics-api/attach-payload-into-transaction.js +1 -1
- package/dist/esm/create-editor/ReactEditorView.js +9 -765
- package/dist/esm/create-editor/ReactEditorViewInternal.js +747 -0
- package/dist/esm/create-editor/ReactEditorViewNext.js +7 -0
- package/dist/esm/create-editor/create-plugins-list.js +30 -3
- package/dist/esm/create-editor/feature-flags-from-props.js +3 -2
- package/dist/esm/create-editor/preset-utils.js +21 -0
- package/dist/esm/editor-next/editor-internal.js +141 -0
- package/dist/esm/editor-next/editor-migration-component.js +44 -0
- package/dist/esm/editor-next/hooks/useEditorMeasuresConstructor.js +30 -0
- package/dist/esm/editor-next/hooks/useMeasureEditorMountTime.js +35 -0
- package/dist/esm/editor-next/hooks/useProviderFactory.js +66 -0
- package/dist/esm/editor-next/index.js +138 -0
- package/dist/esm/editor-next/utils/deprecationWarnings.js +39 -0
- package/dist/esm/editor-next/utils/editorMeasureTTICallback.js +38 -0
- package/dist/esm/editor-next/utils/editorPropTypes.js +28 -0
- package/dist/esm/editor-next/utils/getBaseFontSize.js +11 -0
- package/dist/esm/editor-next/utils/getProvidersFromEditorProps.js +35 -0
- package/dist/esm/editor-next/utils/handleProviders.js +45 -0
- package/dist/esm/editor-next/utils/onEditorCreated.js +21 -0
- package/dist/esm/editor-next/utils/sendDurationAnalytics.js +61 -0
- package/dist/esm/editor-next/utils/trackEditorActions.js +94 -0
- package/dist/esm/editor.js +139 -442
- package/dist/esm/index.js +2 -1
- package/dist/esm/keymaps/consts.js +7 -11
- package/dist/esm/labs/next/internal/hooks/use-analytics/index.js +2 -2
- package/dist/esm/labs/next/internal/hooks/use-editor/create-dispatch-transaction.js +2 -3
- package/dist/esm/labs/next/presets/create-stub-internal-apis.js +110 -0
- package/dist/esm/labs/next/presets/cxhtml.js +56 -55
- package/dist/esm/labs/next/presets/default.js +18 -41
- package/dist/esm/labs/next/presets/mobile.js +88 -90
- package/dist/esm/labs/next/presets/universal.js +337 -255
- package/dist/esm/labs/next/presets/useUniversalPreset.js +29 -0
- package/dist/esm/plugins/alignment/ui/ToolbarAlignment/index.js +48 -13
- package/dist/esm/plugins/analytics/index.js +3 -4
- package/dist/esm/plugins/analytics/plugin.js +7 -2
- package/dist/esm/plugins/analytics/utils.js +0 -9
- package/dist/esm/plugins/annotation/utils.js +2 -32
- package/dist/esm/plugins/base/pm-plugins/filter-steps.js +1 -1
- package/dist/esm/plugins/base/pm-plugins/frozen-editor.js +98 -56
- package/dist/esm/plugins/base/pm-plugins/react-nodeview.js +1 -5
- package/dist/esm/plugins/base/utils/input-latency-tracking.js +24 -25
- package/dist/esm/plugins/block-type/pm-plugins/input-rule.js +3 -9
- package/dist/esm/plugins/block-type/ui/ToolbarBlockType/blocktype-button.js +1 -0
- package/dist/esm/plugins/block-type/ui/ToolbarBlockType/index.js +36 -9
- package/dist/esm/plugins/caption/index.js +0 -2
- package/dist/esm/plugins/card/nodeviews/blockCard.js +9 -3
- package/dist/esm/plugins/card/nodeviews/genericCard.js +16 -2
- package/dist/esm/plugins/card/nodeviews/inlineCard.js +6 -2
- package/dist/esm/plugins/card/pm-plugins/main.js +10 -5
- package/dist/esm/plugins/card/pm-plugins/util/resolve.js +4 -0
- package/dist/esm/plugins/clipboard/pm-plugins/main.js +4 -1
- package/dist/esm/plugins/code-block/pm-plugins/main-state.js +0 -10
- package/dist/esm/plugins/collab-edit/plugin.js +1 -2
- package/dist/esm/plugins/collab-edit/provider/index.js +1 -1
- package/dist/esm/plugins/collab-edit/provider/types.js +1 -10
- package/dist/esm/plugins/context-panel/index.js +0 -3
- package/dist/esm/plugins/data-consumer/index.js +0 -7
- package/dist/esm/plugins/date/utils/internal.js +0 -3
- package/dist/esm/plugins/extension/commands.js +0 -6
- package/dist/esm/plugins/extension/toolbar.js +7 -1
- package/dist/esm/plugins/extension/ui/Extension/Extension/index.js +9 -2
- package/dist/esm/plugins/extension/ui/Extension/Extension/styles.js +2 -2
- package/dist/esm/plugins/extension/ui/Extension/Lozenge.js +1 -0
- package/dist/esm/plugins/feedback-dialog/index.js +0 -2
- package/dist/esm/plugins/find-replace/ui/FindReplaceToolbarButton.js +5 -1
- package/dist/esm/plugins/floating-toolbar/ui/Button.js +9 -3
- package/dist/esm/plugins/floating-toolbar/ui/CheckboxModal.js +5 -3
- package/dist/esm/plugins/floating-toolbar/ui/Dropdown.js +48 -14
- package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.js +2 -9
- package/dist/esm/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +24 -21
- package/dist/esm/plugins/floating-toolbar/ui/ScrollButtons.js +12 -7
- package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +32 -5
- package/dist/esm/plugins/floating-toolbar/utils.js +0 -10
- package/dist/esm/plugins/fragment/index.js +0 -7
- package/dist/esm/plugins/fragment/pm-plugins/fragment-consistency.js +1 -0
- package/dist/esm/plugins/help-dialog/commands.js +0 -3
- package/dist/esm/plugins/hyperlink/analytics.js +1 -1
- package/dist/esm/plugins/hyperlink/index.js +1 -1
- package/dist/esm/plugins/hyperlink/pm-plugins/main.js +9 -5
- package/dist/esm/plugins/hyperlink/ui/EditorLinkPicker/index.js +10 -4
- package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
- package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +3 -2
- package/dist/esm/plugins/image-upload/pm-plugins/main.js +51 -12
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -0
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +1 -0
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +3 -0
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +1 -0
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +22 -0
- package/dist/esm/plugins/layout/styles.js +11 -2
- package/dist/esm/plugins/list/utils/find.js +0 -27
- package/dist/esm/plugins/list/utils/indentation.js +0 -23
- package/dist/esm/plugins/list/utils/node.js +1 -4
- package/dist/esm/plugins/list/utils/selection.js +2 -12
- package/dist/esm/plugins/media/commands/helpers.js +9 -35
- package/dist/esm/plugins/media/commands/index.js +1 -1
- package/dist/esm/plugins/media/nodeviews/mediaGroup.js +14 -12
- package/dist/esm/plugins/media/nodeviews/mediaInline.js +1 -1
- package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +311 -206
- package/dist/esm/plugins/media/nodeviews/mediaSingle.js +1 -1
- package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
- package/dist/esm/plugins/media/pm-plugins/main.js +3 -28
- package/dist/esm/plugins/media/toolbar/filePreviewItem.js +1 -4
- package/dist/esm/plugins/media/utils/media-common.js +1 -17
- package/dist/esm/plugins/mentions/nodeviews/mention.js +97 -16
- package/dist/esm/plugins/mentions/type-ahead/index.js +1 -18
- package/dist/esm/plugins/mentions/ui/InviteItem/index.js +1 -2
- package/dist/esm/plugins/mobile-dimensions/index.js +0 -3
- package/dist/esm/plugins/panel/utils.js +4 -1
- package/dist/esm/plugins/paste/handlers.js +127 -13
- package/dist/esm/plugins/paste/index.js +1 -2
- package/dist/esm/plugins/paste/pm-plugins/analytics.js +130 -86
- package/dist/esm/plugins/paste/pm-plugins/main.js +13 -4
- package/dist/esm/plugins/paste/util/index.js +5 -45
- package/dist/esm/plugins/placeholder-text/index.js +2 -2
- package/dist/esm/plugins/quick-insert/assets/index.js +0 -20
- package/dist/esm/plugins/selection/gap-cursor/actions.js +52 -45
- package/dist/esm/plugins/status/index.js +9 -3
- package/dist/esm/plugins/status/ui/statusPicker.js +8 -2
- package/dist/esm/plugins/status/utils.js +1 -13
- package/dist/esm/plugins/text-color/pm-plugins/main.js +1 -1
- package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +48 -12
- package/dist/esm/plugins/text-formatting/pm-plugins/smart-input-rule.js +8 -2
- package/dist/esm/plugins/text-formatting/ui/Toolbar/dropdown-menu.js +23 -3
- package/dist/esm/plugins/text-formatting/ui/Toolbar/index.js +4 -2
- package/dist/esm/plugins/text-formatting/ui/Toolbar/more-button.js +3 -1
- package/dist/esm/plugins/text-formatting/utils.js +0 -29
- package/dist/esm/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +19 -1
- package/dist/esm/plugins/type-ahead/constants.js +0 -5
- package/dist/esm/plugins/type-ahead/index.js +1 -1
- package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +0 -31
- package/dist/esm/plugins/type-ahead/ui/InputQuery.js +79 -106
- package/dist/esm/plugins/type-ahead/utils.js +2 -20
- package/dist/esm/test-utils.js +4 -7
- package/dist/esm/ui/Appearance/Comment/Toolbar.js +41 -6
- package/dist/esm/ui/ChromeCollapsed/index.js +1 -0
- package/dist/esm/ui/CollapsedEditor/index.js +7 -13
- package/dist/esm/ui/ColorPalette/index.js +2 -1
- package/dist/esm/ui/ColorPickerButton/index.js +74 -8
- package/dist/esm/ui/ConfigPanel/ConfigPanel.js +1 -1
- package/dist/esm/ui/ConfigPanel/Fields/Expand.js +1 -0
- package/dist/esm/ui/ConfigPanel/utils.js +3 -14
- package/dist/esm/ui/ContentStyles/index.js +1 -1
- package/dist/esm/ui/ContextPanel/context.js +8 -8
- package/dist/esm/ui/Dropdown/index.js +7 -2
- package/dist/esm/ui/DropdownMenu/index.js +7 -2
- package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +1 -1
- package/dist/esm/ui/ElementBrowser/components/CategoryList.js +1 -1
- package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +1 -1
- package/dist/esm/ui/ElementBrowser/components/StatelessElementBrowser.js +1 -1
- package/dist/esm/ui/ElementBrowser/constants.js +0 -1
- package/dist/esm/ui/PanelTextInput/index.js +4 -4
- package/dist/esm/ui/PortalProvider/index.js +1 -1
- package/dist/esm/ui/Resizer/utils.js +0 -1
- package/dist/esm/ui/WidthEmitter/index.js +28 -37
- package/dist/esm/ui/styles.js +2 -5
- package/dist/esm/utils/document.js +15 -1
- package/dist/esm/utils/extensions.js +1 -3
- package/dist/esm/utils/get-editor-plugins.js +23 -0
- package/dist/esm/utils/index.js +13 -196
- package/dist/esm/utils/input-rules.js +0 -13
- package/dist/esm/utils/linking-utils.js +1 -1
- package/dist/esm/utils/performance/components/RenderTracking.js +1 -1
- package/dist/esm/utils/performance/safer-transactions.js +1 -1
- package/dist/esm/utils/prepare-extension-provider.js +17 -0
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/actions/index.d.ts +5 -5
- package/dist/types/create-editor/ReactEditorView.d.ts +5 -110
- package/dist/types/create-editor/ReactEditorViewInternal.d.ts +114 -0
- package/dist/types/create-editor/ReactEditorViewNext.d.ts +8 -0
- package/dist/types/create-editor/create-plugins-list.d.ts +3 -5
- package/dist/types/create-editor/preset-utils.d.ts +2 -0
- package/dist/types/editor-next/editor-internal.d.ts +44 -0
- package/dist/types/editor-next/editor-migration-component.d.ts +5 -0
- package/dist/types/editor-next/hooks/useEditorMeasuresConstructor.d.ts +17 -0
- package/dist/types/editor-next/hooks/useMeasureEditorMountTime.d.ts +13 -0
- package/dist/types/editor-next/hooks/useProviderFactory.d.ts +21 -0
- package/dist/types/editor-next/index.d.ts +34 -0
- package/dist/types/editor-next/utils/deprecationWarnings.d.ts +2 -0
- package/dist/types/editor-next/utils/editorMeasureTTICallback.d.ts +5 -0
- package/dist/types/editor-next/utils/editorPropTypes.d.ts +19 -0
- package/dist/types/editor-next/utils/getBaseFontSize.d.ts +6 -0
- package/dist/types/editor-next/utils/getProvidersFromEditorProps.d.ts +9 -0
- package/dist/types/editor-next/utils/handleProviders.d.ts +14 -0
- package/dist/types/editor-next/utils/onEditorCreated.d.ts +12 -0
- package/dist/types/editor-next/utils/sendDurationAnalytics.d.ts +15 -0
- package/dist/types/editor-next/utils/trackEditorActions.d.ts +29 -0
- package/dist/types/editor.d.ts +50 -25
- package/dist/types/index.d.ts +1 -0
- package/dist/types/keymaps/consts.d.ts +0 -11
- package/dist/types/labs/next/internal/hooks/use-analytics/index.d.ts +1 -1
- package/dist/types/labs/next/presets/create-stub-internal-apis.d.ts +16 -0
- package/dist/types/labs/next/presets/cxhtml.d.ts +33 -1
- package/dist/types/labs/next/presets/default.d.ts +67 -10
- package/dist/types/labs/next/presets/mobile.d.ts +33 -1
- package/dist/types/labs/next/presets/universal.d.ts +5 -13
- package/dist/types/labs/next/presets/useUniversalPreset.d.ts +7 -0
- package/dist/types/nodeviews/context-adapter.d.ts +0 -1
- package/dist/types/nodeviews/index.d.ts +0 -1
- package/dist/types/plugins/alignment/index.d.ts +1 -1
- package/dist/types/plugins/alignment/pm-plugins/types.d.ts +0 -11
- package/dist/types/plugins/alignment/ui/ToolbarAlignment/index.d.ts +3 -1
- package/dist/types/plugins/analytics/index.d.ts +3 -6
- package/dist/types/plugins/analytics/plugin.d.ts +3 -1
- package/dist/types/plugins/analytics/utils.d.ts +2 -3
- package/dist/types/plugins/annotation/index.d.ts +3 -1
- package/dist/types/plugins/annotation/utils.d.ts +0 -17
- package/dist/types/plugins/avatar-group/index.d.ts +3 -1
- package/dist/types/plugins/base/index.d.ts +3 -1
- package/dist/types/plugins/base/pm-plugins/filter-steps.d.ts +1 -1
- package/dist/types/plugins/base/pm-plugins/react-nodeview.d.ts +2 -3
- package/dist/types/plugins/base/utils/input-latency-tracking.d.ts +1 -3
- package/dist/types/plugins/before-primaryToolbar/index.d.ts +3 -1
- package/dist/types/plugins/block-type/index.d.ts +3 -1
- package/dist/types/plugins/block-type/pm-plugins/input-rule.d.ts +2 -6
- package/dist/types/plugins/block-type/ui/ToolbarBlockType/blocktype-button.d.ts +1 -0
- package/dist/types/plugins/block-type/ui/ToolbarBlockType/index.d.ts +1 -0
- package/dist/types/plugins/breakout/index.d.ts +3 -1
- package/dist/types/plugins/caption/index.d.ts +0 -2
- package/dist/types/plugins/card/index.d.ts +3 -1
- package/dist/types/plugins/card/nodeviews/blockCard.d.ts +2 -10
- package/dist/types/plugins/card/nodeviews/genericCard.d.ts +2 -1
- package/dist/types/plugins/card/nodeviews/inlineCard.d.ts +1 -1
- package/dist/types/plugins/card/pm-plugins/util/state.d.ts +1 -0
- package/dist/types/plugins/card/types.d.ts +3 -0
- package/dist/types/plugins/code-bidi-warning/index.d.ts +3 -1
- package/dist/types/plugins/code-block/actions.d.ts +0 -4
- package/dist/types/plugins/code-block/index.d.ts +3 -1
- package/dist/types/plugins/code-block/pm-plugins/main-state.d.ts +0 -3
- package/dist/types/plugins/collab-edit/index.d.ts +3 -1
- package/dist/types/plugins/collab-edit/provider/index.d.ts +1 -2
- package/dist/types/plugins/collab-edit/provider/types.d.ts +1 -36
- package/dist/types/plugins/context-panel/index.d.ts +3 -4
- package/dist/types/plugins/data-consumer/index.d.ts +0 -2
- package/dist/types/plugins/date/utils/internal.d.ts +0 -1
- package/dist/types/plugins/emoji/index.d.ts +3 -1
- package/dist/types/plugins/expand/index.d.ts +3 -1
- package/dist/types/plugins/extension/commands.d.ts +0 -1
- package/dist/types/plugins/extension/index.d.ts +3 -1
- package/dist/types/plugins/extension/nodeviews/extension.d.ts +0 -5
- package/dist/types/plugins/extension/toolbar.d.ts +5 -0
- package/dist/types/plugins/feature-flags-context/index.d.ts +3 -1
- package/dist/types/plugins/feedback-dialog/index.d.ts +3 -3
- package/dist/types/plugins/find-replace/index.d.ts +3 -1
- package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +4 -1
- package/dist/types/plugins/floating-toolbar/ui/Dropdown.d.ts +6 -2
- package/dist/types/plugins/floating-toolbar/utils.d.ts +0 -2
- package/dist/types/plugins/fragment/index.d.ts +0 -2
- package/dist/types/plugins/grid/index.d.ts +3 -1
- package/dist/types/plugins/help-dialog/commands.d.ts +0 -1
- package/dist/types/plugins/help-dialog/index.d.ts +3 -1
- package/dist/types/plugins/history/actions.d.ts +1 -2
- package/dist/types/plugins/hyperlink/analytics.d.ts +1 -1
- package/dist/types/plugins/hyperlink/index.d.ts +3 -1
- package/dist/types/plugins/hyperlink/pm-plugins/main.d.ts +4 -2
- package/dist/types/plugins/hyperlink/types.d.ts +3 -1
- package/dist/types/plugins/hyperlink/ui/EditorLinkPicker/index.d.ts +3 -1
- package/dist/types/plugins/insert-block/index.d.ts +3 -1
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.d.ts +1 -0
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.d.ts +1 -0
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.d.ts +1 -0
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.d.ts +1 -0
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/index.d.ts +1 -0
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +1 -0
- package/dist/types/plugins/layout/index.d.ts +3 -1
- package/dist/types/plugins/layout/styles.d.ts +2 -1
- package/dist/types/plugins/list/index.d.ts +3 -1
- package/dist/types/plugins/list/utils/find.d.ts +0 -1
- package/dist/types/plugins/list/utils/indentation.d.ts +0 -1
- package/dist/types/plugins/list/utils/node.d.ts +0 -2
- package/dist/types/plugins/list/utils/selection.d.ts +0 -3
- package/dist/types/plugins/max-content-size/index.d.ts +3 -1
- package/dist/types/plugins/media/commands/helpers.d.ts +5 -12
- package/dist/types/plugins/media/commands/index.d.ts +1 -1
- package/dist/types/plugins/media/index.d.ts +3 -1
- package/dist/types/plugins/media/nodeviews/__mocks__/mediaNodeUpdater.d.ts +3 -1
- package/dist/types/plugins/media/nodeviews/mediaNodeUpdater.d.ts +4 -1
- package/dist/types/plugins/media/pm-plugins/main.d.ts +1 -4
- package/dist/types/plugins/media/pm-plugins/types.d.ts +1 -4
- package/dist/types/plugins/media/utils/media-common.d.ts +0 -5
- package/dist/types/plugins/mentions/index.d.ts +3 -1
- package/dist/types/plugins/mentions/types.d.ts +1 -2
- package/dist/types/plugins/mentions/ui/InviteItem/index.d.ts +2 -3
- package/dist/types/plugins/mentions/ui/InviteItem/styles.d.ts +0 -6
- package/dist/types/plugins/mentions/ui/ToolbarMention/index.d.ts +1 -4
- package/dist/types/plugins/mobile-dimensions/index.d.ts +0 -1
- package/dist/types/plugins/panel/index.d.ts +3 -1
- package/dist/types/plugins/paste/handlers.d.ts +2 -1
- package/dist/types/plugins/paste/index.d.ts +3 -2
- package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +10 -4
- package/dist/types/plugins/paste/util/index.d.ts +0 -6
- package/dist/types/plugins/placeholder/index.d.ts +3 -1
- package/dist/types/plugins/placeholder-text/index.d.ts +3 -1
- package/dist/types/plugins/quick-insert/assets/index.d.ts +0 -2
- package/dist/types/plugins/quick-insert/index.d.ts +3 -1
- package/dist/types/plugins/save-on-enter/index.d.ts +3 -1
- package/dist/types/plugins/selection/index.d.ts +3 -1
- package/dist/types/plugins/status/index.d.ts +3 -1
- package/dist/types/plugins/status/ui/statusPicker.d.ts +3 -0
- package/dist/types/plugins/status/utils.d.ts +0 -3
- package/dist/types/plugins/submit-editor/index.d.ts +3 -1
- package/dist/types/plugins/tasks-and-decisions/index.d.ts +3 -1
- package/dist/types/plugins/tasks-and-decisions/pm-plugins/main.d.ts +0 -6
- package/dist/types/plugins/text-color/index.d.ts +3 -1
- package/dist/types/plugins/text-color/pm-plugins/main.d.ts +2 -12
- package/dist/types/plugins/text-color/ui/ToolbarTextColor/index.d.ts +2 -0
- package/dist/types/plugins/text-formatting/index.d.ts +3 -1
- package/dist/types/plugins/text-formatting/pm-plugins/clear-formatting.d.ts +0 -1
- package/dist/types/plugins/text-formatting/ui/Toolbar/more-button.d.ts +2 -1
- package/dist/types/plugins/text-formatting/utils.d.ts +0 -5
- package/dist/types/plugins/toolbar-lists-indentation/index.d.ts +3 -1
- package/dist/types/plugins/type-ahead/constants.d.ts +0 -4
- package/dist/types/plugins/type-ahead/index.d.ts +3 -1
- package/dist/types/plugins/type-ahead/pm-plugins/decorations.d.ts +0 -10
- package/dist/types/plugins/type-ahead/utils.d.ts +1 -2
- package/dist/types/test-utils.d.ts +4 -5
- package/dist/types/types/editor-appearance-component.d.ts +2 -2
- package/dist/types/types/editor-props.d.ts +55 -42
- package/dist/types/types/get-editor-props.d.ts +12 -0
- package/dist/types/types/performance-tracking.d.ts +10 -0
- package/dist/types/ui/Appearance/Chromeless.d.ts +0 -5
- package/dist/types/ui/Appearance/Comment/Comment.d.ts +0 -7
- package/dist/types/ui/Appearance/Comment/Toolbar.d.ts +3 -2
- package/dist/types/ui/Appearance/FullPage/MainToolbar.d.ts +0 -4
- package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +29 -29
- package/dist/types/ui/AppearanceComponents/Mobile.d.ts +2 -5
- package/dist/types/ui/CollapsedEditor/index.d.ts +4 -3
- package/dist/types/ui/ColorPalette/Palettes/index.d.ts +1 -1
- package/dist/types/ui/ColorPalette/Palettes/type.d.ts +1 -1
- package/dist/types/ui/ColorPalette/index.d.ts +2 -1
- package/dist/types/ui/ColorPickerButton/index.d.ts +5 -2
- package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
- package/dist/types/ui/ConfigPanel/types.d.ts +0 -3
- package/dist/types/ui/ConfigPanel/utils.d.ts +2 -3
- package/dist/types/ui/ContentStyles/index.d.ts +2 -2
- package/dist/types/ui/ContextPanel/context.d.ts +2 -1
- package/dist/types/ui/ElementBrowser/ModalElementBrowser.d.ts +0 -3
- package/dist/types/ui/ElementBrowser/constants.d.ts +0 -1
- package/dist/types/ui/ElementBrowser/types.d.ts +0 -5
- package/dist/types/ui/PanelTextInput/index.d.ts +1 -1
- package/dist/types/ui/PortalProvider/index.d.ts +1 -1
- package/dist/types/ui/Resizer/utils.d.ts +0 -1
- package/dist/types/ui/styles.d.ts +0 -1
- package/dist/types/utils/document.d.ts +4 -3
- package/dist/types/utils/get-editor-plugins.d.ts +10 -0
- package/dist/types/utils/index.d.ts +6 -65
- package/dist/types/utils/input-rules.d.ts +1 -2
- package/dist/types/utils/linking-utils.d.ts +1 -1
- package/dist/types/utils/performance/components/RenderTracking.d.ts +1 -1
- package/dist/types/utils/performance/instrumented-plugin.d.ts +1 -1
- package/dist/types/utils/performance/safer-transactions.d.ts +1 -1
- package/dist/types/utils/prepare-extension-provider.d.ts +5 -0
- package/dist/types/utils/table.d.ts +0 -1
- package/docs/0-intro.tsx +0 -1
- package/package.json +37 -37
- package/report.api.md +307 -244
- package/dist/cjs/labs/next/presets/preset.js +0 -106
- package/dist/cjs/plugins/analytics/analytics-queue.js +0 -79
- package/dist/cjs/plugins/analytics/fire-analytics-event.js +0 -35
- package/dist/cjs/plugins/collab-edit/provider/channel.js +0 -313
- package/dist/cjs/plugins/collab-edit/provider/logger.js +0 -17
- package/dist/cjs/plugins/collab-edit/provider/mock-users.js +0 -19
- package/dist/cjs/plugins/data-consumer/plugin-key.js +0 -9
- package/dist/cjs/plugins/media/toolbar/toolbar-messages.js +0 -15
- package/dist/cjs/profiler/render-count.js +0 -60
- package/dist/cjs/ui/ColorPalette/Color/index.js +0 -9
- package/dist/cjs/ui/ConfigPanel/FieldDescription.js +0 -19
- package/dist/cjs/ui/WithPluginState/types.js +0 -5
- package/dist/es2019/labs/next/presets/preset.js +0 -71
- package/dist/es2019/plugins/analytics/analytics-queue.js +0 -53
- package/dist/es2019/plugins/analytics/fire-analytics-event.js +0 -26
- package/dist/es2019/plugins/collab-edit/provider/channel.js +0 -179
- package/dist/es2019/plugins/collab-edit/provider/logger.js +0 -8
- package/dist/es2019/plugins/collab-edit/provider/mock-users.js +0 -12
- package/dist/es2019/plugins/data-consumer/plugin-key.js +0 -2
- package/dist/es2019/plugins/media/toolbar/toolbar-messages.js +0 -8
- package/dist/es2019/profiler/render-count.js +0 -53
- package/dist/es2019/ui/ColorPalette/Color/index.js +0 -2
- package/dist/es2019/ui/ConfigPanel/FieldDescription.js +0 -12
- package/dist/esm/labs/next/presets/preset.js +0 -98
- package/dist/esm/plugins/analytics/analytics-queue.js +0 -71
- package/dist/esm/plugins/analytics/fire-analytics-event.js +0 -28
- package/dist/esm/plugins/analytics/types/type-ahead.js +0 -1
- package/dist/esm/plugins/collab-edit/provider/channel.js +0 -305
- package/dist/esm/plugins/collab-edit/provider/logger.js +0 -10
- package/dist/esm/plugins/collab-edit/provider/mock-users.js +0 -12
- package/dist/esm/plugins/data-consumer/plugin-key.js +0 -2
- package/dist/esm/plugins/media/toolbar/toolbar-messages.js +0 -8
- package/dist/esm/profiler/render-count.js +0 -49
- package/dist/esm/ui/ColorPalette/Color/index.js +0 -2
- package/dist/esm/ui/ConfigPanel/FieldDescription.js +0 -11
- package/dist/esm/ui/WithPluginState/types.js +0 -1
- package/dist/types/labs/next/presets/preset.d.ts +0 -46
- package/dist/types/plugins/analytics/analytics-queue.d.ts +0 -10
- package/dist/types/plugins/analytics/fire-analytics-event.d.ts +0 -9
- package/dist/types/plugins/analytics/types/type-ahead.d.ts +0 -1
- package/dist/types/plugins/collab-edit/provider/channel.d.ts +0 -48
- package/dist/types/plugins/collab-edit/provider/logger.d.ts +0 -1
- package/dist/types/plugins/collab-edit/provider/mock-users.d.ts +0 -6
- package/dist/types/plugins/data-consumer/plugin-key.d.ts +0 -2
- package/dist/types/plugins/media/toolbar/toolbar-messages.d.ts +0 -7
- package/dist/types/profiler/render-count.d.ts +0 -14
- package/dist/types/ui/ColorPalette/Color/index.d.ts +0 -2
- package/dist/types/ui/ConfigPanel/FieldDescription.d.ts +0 -6
- package/dist/types/ui/WithPluginState/types.d.ts +0 -10
- /package/dist/cjs/{plugins/analytics/types/type-ahead.js → types/get-editor-props.js} +0 -0
- /package/dist/es2019/{plugins/analytics/types/type-ahead.js → types/get-editor-props.js} +0 -0
- /package/dist/{es2019/ui/WithPluginState/types.js → esm/types/get-editor-props.js} +0 -0
|
@@ -9,7 +9,7 @@ exports.createPasteMeasurePayload = void 0;
|
|
|
9
9
|
exports.getContent = getContent;
|
|
10
10
|
exports.getContentNodeTypes = void 0;
|
|
11
11
|
exports.getMediaTraceId = getMediaTraceId;
|
|
12
|
-
exports.handleSelectedTableWithAnalytics = exports.handleRichTextWithAnalytics = exports.handlePastePreservingMarksWithAnalytics = exports.
|
|
12
|
+
exports.handleSelectedTableWithAnalytics = exports.handleRichTextWithAnalytics = exports.handlePastePreservingMarksWithAnalytics = exports.handlePastePanelOrDecisionIntoListWithAnalytics = exports.handlePasteNonNestableBlockNodesIntoListWithAnalytics = exports.handlePasteLinkOnSelectedTextWithAnalytics = exports.handlePasteIntoTaskAndDecisionWithAnalytics = exports.handlePasteIntoCaptionWithAnalytics = exports.handlePasteAsPlainTextWithAnalytics = exports.handleMediaSingleWithAnalytics = exports.handleMarkdownWithAnalytics = exports.handleExpandWithAnalytics = exports.handleCodeBlockWithAnalytics = void 0;
|
|
13
13
|
exports.pasteCommandWithAnalytics = pasteCommandWithAnalytics;
|
|
14
14
|
exports.sendPasteAnalyticsEvent = sendPasteAnalyticsEvent;
|
|
15
15
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
@@ -17,10 +17,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
17
17
|
var _analytics = require("../../analytics");
|
|
18
18
|
var _util = require("../util");
|
|
19
19
|
var _handlers = require("../handlers");
|
|
20
|
-
var _utils = require("../../../utils");
|
|
21
20
|
var _prosemirrorUtils = require("prosemirror-utils");
|
|
22
21
|
var _slice = require("../../../utils/slice");
|
|
23
|
-
var
|
|
22
|
+
var _utils = require("../../hyperlink/utils");
|
|
24
23
|
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; }
|
|
25
24
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
26
25
|
var contentToPasteContent = {
|
|
@@ -68,10 +67,11 @@ var nodeToActionSubjectId = {
|
|
|
68
67
|
tableRow: _analytics.ACTION_SUBJECT_ID.PASTE_TABLE_ROW,
|
|
69
68
|
taskList: _analytics.ACTION_SUBJECT_ID.PASTE_TASK_LIST
|
|
70
69
|
};
|
|
71
|
-
function getContent(
|
|
72
|
-
var
|
|
73
|
-
|
|
74
|
-
|
|
70
|
+
function getContent(_ref) {
|
|
71
|
+
var schema = _ref.schema,
|
|
72
|
+
slice = _ref.slice;
|
|
73
|
+
var paragraph = schema.nodes.paragraph,
|
|
74
|
+
link = schema.marks.link;
|
|
75
75
|
var nodeOrMarkName = new Set();
|
|
76
76
|
slice.content.forEach(function (node) {
|
|
77
77
|
if (node.type === paragraph && node.content.size === 0) {
|
|
@@ -110,14 +110,14 @@ function getMediaTraceId(slice) {
|
|
|
110
110
|
});
|
|
111
111
|
return traceId;
|
|
112
112
|
}
|
|
113
|
-
function getActionSubjectId(
|
|
114
|
-
var
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
paragraph =
|
|
118
|
-
listItem =
|
|
119
|
-
taskItem =
|
|
120
|
-
decisionItem =
|
|
113
|
+
function getActionSubjectId(_ref2) {
|
|
114
|
+
var selection = _ref2.selection,
|
|
115
|
+
schema = _ref2.schema;
|
|
116
|
+
var _schema$nodes = schema.nodes,
|
|
117
|
+
paragraph = _schema$nodes.paragraph,
|
|
118
|
+
listItem = _schema$nodes.listItem,
|
|
119
|
+
taskItem = _schema$nodes.taskItem,
|
|
120
|
+
decisionItem = _schema$nodes.decisionItem;
|
|
121
121
|
var parent = (0, _prosemirrorUtils.findParentNode)(function (node) {
|
|
122
122
|
if (node.type !== paragraph && node.type !== listItem && node.type !== taskItem && node.type !== decisionItem) {
|
|
123
123
|
return true;
|
|
@@ -159,51 +159,64 @@ function createPastePayload(actionSubjectId, attributes, linkDomain) {
|
|
|
159
159
|
}
|
|
160
160
|
} : {});
|
|
161
161
|
}
|
|
162
|
-
function
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
162
|
+
function createPasteAnalyticsPayloadBySelection(event, slice, pasteContext) {
|
|
163
|
+
return function (selection) {
|
|
164
|
+
var text = event.clipboardData ? event.clipboardData.getData('text/plain') || event.clipboardData.getData('text/uri-list') : '';
|
|
165
|
+
var actionSubjectId = getActionSubjectId({
|
|
166
|
+
selection: selection,
|
|
167
|
+
schema: selection.$from.doc.type.schema
|
|
168
|
+
});
|
|
169
|
+
var pasteSize = slice.size;
|
|
170
|
+
var content = getContent({
|
|
171
|
+
schema: selection.$from.doc.type.schema,
|
|
172
|
+
slice: slice
|
|
173
|
+
});
|
|
174
|
+
var linkUrls = [];
|
|
175
|
+
var mediaTraceId = getMediaTraceId(slice);
|
|
169
176
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
177
|
+
// If we have a link among the pasted content, grab the
|
|
178
|
+
// domain and send it up with the analytics event
|
|
179
|
+
if (content === _analytics.PasteContents.url || content === _analytics.PasteContents.mixed) {
|
|
180
|
+
(0, _slice.mapSlice)(slice, function (node) {
|
|
181
|
+
var linkMark = node.marks.find(function (mark) {
|
|
182
|
+
return mark.type.name === 'link';
|
|
183
|
+
});
|
|
184
|
+
if (linkMark) {
|
|
185
|
+
linkUrls.push(linkMark.attrs.href);
|
|
186
|
+
}
|
|
187
|
+
return node;
|
|
176
188
|
});
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
189
|
+
}
|
|
190
|
+
if (pasteContext.asPlain) {
|
|
191
|
+
return createPasteAsPlainPayload(actionSubjectId, text, linkUrls.length);
|
|
192
|
+
}
|
|
193
|
+
var source = (0, _util.getPasteSource)(event);
|
|
194
|
+
if (pasteContext.type === _analytics.PasteTypes.plain) {
|
|
195
|
+
return createPastePayload(actionSubjectId, {
|
|
196
|
+
pasteSize: text.length,
|
|
197
|
+
type: pasteContext.type,
|
|
198
|
+
content: _analytics.PasteContents.text,
|
|
199
|
+
source: source,
|
|
200
|
+
hyperlinkPasteOnText: false,
|
|
201
|
+
linksInPasteCount: linkUrls.length,
|
|
202
|
+
pasteSplitList: pasteContext.pasteSplitList
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
var linkDomains = linkUrls.map(_utils.getLinkDomain);
|
|
188
206
|
return createPastePayload(actionSubjectId, {
|
|
189
|
-
pasteSize: text.length,
|
|
190
207
|
type: pasteContext.type,
|
|
191
|
-
|
|
208
|
+
pasteSize: pasteSize,
|
|
209
|
+
content: content,
|
|
192
210
|
source: source,
|
|
193
|
-
hyperlinkPasteOnText:
|
|
194
|
-
linksInPasteCount: linkUrls.length
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
source: source,
|
|
203
|
-
hyperlinkPasteOnText: !!pasteContext.hyperlinkPasteOnText,
|
|
204
|
-
linksInPasteCount: linkUrls.length,
|
|
205
|
-
mediaTraceId: mediaTraceId
|
|
206
|
-
}, linkDomains);
|
|
211
|
+
hyperlinkPasteOnText: !!pasteContext.hyperlinkPasteOnText,
|
|
212
|
+
linksInPasteCount: linkUrls.length,
|
|
213
|
+
mediaTraceId: mediaTraceId,
|
|
214
|
+
pasteSplitList: pasteContext.pasteSplitList
|
|
215
|
+
}, linkDomains);
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
function createPasteAnalyticsPayload(view, event, slice, pasteContext) {
|
|
219
|
+
return createPasteAnalyticsPayloadBySelection(event, slice, pasteContext)(view.state.selection);
|
|
207
220
|
}
|
|
208
221
|
|
|
209
222
|
// TODO: ED-6612 We should not dispatch only analytics, it's preferred to wrap each command with his own analytics.
|
|
@@ -219,85 +232,117 @@ function pasteCommandWithAnalytics(view, event, slice, pasteContext) {
|
|
|
219
232
|
});
|
|
220
233
|
}
|
|
221
234
|
var handlePasteAsPlainTextWithAnalytics = function handlePasteAsPlainTextWithAnalytics(view, event, slice) {
|
|
222
|
-
return (
|
|
235
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
223
236
|
type: _analytics.PasteTypes.plain,
|
|
224
237
|
asPlain: true
|
|
225
|
-
}))(slice, event);
|
|
238
|
+
}))((0, _handlers.handlePasteAsPlainText)(slice, event));
|
|
226
239
|
};
|
|
227
240
|
exports.handlePasteAsPlainTextWithAnalytics = handlePasteAsPlainTextWithAnalytics;
|
|
228
241
|
var handlePasteIntoTaskAndDecisionWithAnalytics = function handlePasteIntoTaskAndDecisionWithAnalytics(view, event, slice, type) {
|
|
229
|
-
return (
|
|
242
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
230
243
|
type: type
|
|
231
|
-
}))(slice);
|
|
244
|
+
}))((0, _handlers.handlePasteIntoTaskOrDecisionOrPanel)(slice));
|
|
232
245
|
};
|
|
233
246
|
exports.handlePasteIntoTaskAndDecisionWithAnalytics = handlePasteIntoTaskAndDecisionWithAnalytics;
|
|
234
247
|
var handlePasteIntoCaptionWithAnalytics = function handlePasteIntoCaptionWithAnalytics(view, event, slice, type) {
|
|
235
|
-
return (
|
|
248
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
236
249
|
type: type
|
|
237
|
-
}))(slice);
|
|
250
|
+
}))((0, _handlers.handlePasteIntoCaption)(slice));
|
|
238
251
|
};
|
|
239
252
|
exports.handlePasteIntoCaptionWithAnalytics = handlePasteIntoCaptionWithAnalytics;
|
|
240
253
|
var handleCodeBlockWithAnalytics = function handleCodeBlockWithAnalytics(view, event, slice, text) {
|
|
241
|
-
return (
|
|
254
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
242
255
|
type: _analytics.PasteTypes.plain
|
|
243
|
-
}))(text);
|
|
256
|
+
}))((0, _handlers.handleCodeBlock)(text));
|
|
244
257
|
};
|
|
245
258
|
exports.handleCodeBlockWithAnalytics = handleCodeBlockWithAnalytics;
|
|
246
259
|
var handleMediaSingleWithAnalytics = function handleMediaSingleWithAnalytics(view, event, slice, type) {
|
|
247
|
-
return (
|
|
260
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
248
261
|
type: type
|
|
249
|
-
}))(slice);
|
|
262
|
+
}))((0, _handlers.handleMediaSingle)(_analytics.INPUT_METHOD.CLIPBOARD)(slice));
|
|
250
263
|
};
|
|
251
264
|
exports.handleMediaSingleWithAnalytics = handleMediaSingleWithAnalytics;
|
|
252
265
|
var handlePastePreservingMarksWithAnalytics = function handlePastePreservingMarksWithAnalytics(view, event, slice, type) {
|
|
253
|
-
return (
|
|
266
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
254
267
|
type: type
|
|
255
|
-
}))(slice);
|
|
268
|
+
}))((0, _handlers.handlePastePreservingMarks)(slice));
|
|
256
269
|
};
|
|
257
270
|
exports.handlePastePreservingMarksWithAnalytics = handlePastePreservingMarksWithAnalytics;
|
|
258
271
|
var handleMarkdownWithAnalytics = function handleMarkdownWithAnalytics(view, event, slice) {
|
|
259
|
-
return (
|
|
272
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
260
273
|
type: _analytics.PasteTypes.markdown
|
|
261
|
-
}))(slice);
|
|
274
|
+
}))((0, _handlers.handleMarkdown)(slice));
|
|
262
275
|
};
|
|
263
276
|
exports.handleMarkdownWithAnalytics = handleMarkdownWithAnalytics;
|
|
264
277
|
var handleRichTextWithAnalytics = function handleRichTextWithAnalytics(view, event, slice) {
|
|
265
|
-
return (
|
|
278
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
266
279
|
type: _analytics.PasteTypes.richText
|
|
267
|
-
}))(slice);
|
|
280
|
+
}))((0, _handlers.handleRichText)(slice));
|
|
268
281
|
};
|
|
269
282
|
exports.handleRichTextWithAnalytics = handleRichTextWithAnalytics;
|
|
270
|
-
|
|
271
|
-
return (
|
|
283
|
+
function injectAnalyticsPayloadBeforeCommand(createPayloadByTransaction) {
|
|
284
|
+
return function (mainCommand) {
|
|
285
|
+
return function (state, dispatch, view) {
|
|
286
|
+
var originalTransaction = state.tr;
|
|
287
|
+
var fakeDispatch = function fakeDispatch(tr) {
|
|
288
|
+
originalTransaction = tr;
|
|
289
|
+
};
|
|
290
|
+
var result = mainCommand(state, fakeDispatch, view);
|
|
291
|
+
if (!result) {
|
|
292
|
+
return false;
|
|
293
|
+
}
|
|
294
|
+
if (dispatch && originalTransaction.docChanged) {
|
|
295
|
+
// it needs to know the selection before the changes
|
|
296
|
+
var payload = createPayloadByTransaction(state.selection);
|
|
297
|
+
(0, _analytics.addAnalytics)(state, originalTransaction, payload);
|
|
298
|
+
dispatch(originalTransaction);
|
|
299
|
+
}
|
|
300
|
+
return true;
|
|
301
|
+
};
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
var handlePastePanelOrDecisionIntoListWithAnalytics = function handlePastePanelOrDecisionIntoListWithAnalytics(view, event, slice) {
|
|
305
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
272
306
|
type: _analytics.PasteTypes.richText
|
|
273
|
-
}))(slice);
|
|
307
|
+
}))((0, _handlers.handlePastePanelOrDecisionContentIntoList)(slice));
|
|
274
308
|
};
|
|
275
|
-
exports.
|
|
309
|
+
exports.handlePastePanelOrDecisionIntoListWithAnalytics = handlePastePanelOrDecisionIntoListWithAnalytics;
|
|
310
|
+
var handlePasteNonNestableBlockNodesIntoListWithAnalytics = function handlePasteNonNestableBlockNodesIntoListWithAnalytics(view, event, slice) {
|
|
311
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
312
|
+
type: _analytics.PasteTypes.richText,
|
|
313
|
+
pasteSplitList: true
|
|
314
|
+
}))((0, _handlers.handlePasteNonNestableBlockNodesIntoList)(slice));
|
|
315
|
+
};
|
|
316
|
+
exports.handlePasteNonNestableBlockNodesIntoListWithAnalytics = handlePasteNonNestableBlockNodesIntoListWithAnalytics;
|
|
276
317
|
var handleExpandWithAnalytics = function handleExpandWithAnalytics(view, event, slice) {
|
|
277
|
-
return (
|
|
278
|
-
type: _analytics.PasteTypes.richText
|
|
279
|
-
|
|
318
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
319
|
+
type: _analytics.PasteTypes.richText,
|
|
320
|
+
pasteSplitList: true
|
|
321
|
+
}))((0, _handlers.handleExpandPasteInTable)(slice));
|
|
280
322
|
};
|
|
281
323
|
exports.handleExpandWithAnalytics = handleExpandWithAnalytics;
|
|
282
324
|
var handleSelectedTableWithAnalytics = function handleSelectedTableWithAnalytics(view, event, slice) {
|
|
283
|
-
return (
|
|
325
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
284
326
|
type: _analytics.PasteTypes.richText
|
|
285
|
-
}))(slice);
|
|
327
|
+
}))((0, _handlers.handleSelectedTable)(slice));
|
|
286
328
|
};
|
|
287
329
|
exports.handleSelectedTableWithAnalytics = handleSelectedTableWithAnalytics;
|
|
288
330
|
var handlePasteLinkOnSelectedTextWithAnalytics = function handlePasteLinkOnSelectedTextWithAnalytics(view, event, slice, type) {
|
|
289
|
-
return (
|
|
331
|
+
return injectAnalyticsPayloadBeforeCommand(createPasteAnalyticsPayloadBySelection(event, slice, {
|
|
290
332
|
type: type,
|
|
291
333
|
hyperlinkPasteOnText: true
|
|
292
|
-
}))(slice);
|
|
334
|
+
}))((0, _handlers.handlePasteLinkOnSelectedText)(slice));
|
|
293
335
|
};
|
|
294
336
|
exports.handlePasteLinkOnSelectedTextWithAnalytics = handlePasteLinkOnSelectedTextWithAnalytics;
|
|
295
|
-
var createPasteMeasurePayload = function createPasteMeasurePayload(
|
|
296
|
-
var view =
|
|
297
|
-
duration =
|
|
298
|
-
content =
|
|
299
|
-
distortedDuration =
|
|
300
|
-
var pasteIntoNode = getActionSubjectId(
|
|
337
|
+
var createPasteMeasurePayload = function createPasteMeasurePayload(_ref3) {
|
|
338
|
+
var view = _ref3.view,
|
|
339
|
+
duration = _ref3.duration,
|
|
340
|
+
content = _ref3.content,
|
|
341
|
+
distortedDuration = _ref3.distortedDuration;
|
|
342
|
+
var pasteIntoNode = getActionSubjectId({
|
|
343
|
+
selection: view.state.selection,
|
|
344
|
+
schema: view.state.schema
|
|
345
|
+
});
|
|
301
346
|
return {
|
|
302
347
|
action: _analytics.ACTION.PASTED_TIMED,
|
|
303
348
|
actionSubject: _analytics.ACTION_SUBJECT.EDITOR,
|
|
@@ -49,6 +49,7 @@ var _tinyMCE = require("../util/tinyMCE");
|
|
|
49
49
|
var _utils9 = require("@atlaskit/editor-tables/utils");
|
|
50
50
|
var _step = require("../../../utils/step");
|
|
51
51
|
var _pluginFactory = require("./plugin-factory");
|
|
52
|
+
var _featureFlagsContext = require("../../feature-flags-context");
|
|
52
53
|
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); }
|
|
53
54
|
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; }
|
|
54
55
|
_analytics.sendPasteAnalyticsEvent;
|
|
@@ -56,9 +57,13 @@ function createPlugin(schema, dispatchAnalyticsEvent, dispatch, cardOptions, san
|
|
|
56
57
|
var atlassianMarkDownParser = new _editorMarkdownTransformer.MarkdownTransformer(schema, _md.md);
|
|
57
58
|
function getMarkdownSlice(text, openStart, openEnd) {
|
|
58
59
|
var textInput = text;
|
|
59
|
-
|
|
60
|
-
|
|
60
|
+
var textSplitByCodeBlock = textInput.split(/```/);
|
|
61
|
+
for (var i = 0; i < textSplitByCodeBlock.length; i++) {
|
|
62
|
+
if (i % 2 === 0) {
|
|
63
|
+
textSplitByCodeBlock[i] = textSplitByCodeBlock[i].replace(/\\/g, '\\\\');
|
|
64
|
+
}
|
|
61
65
|
}
|
|
66
|
+
textInput = textSplitByCodeBlock.join('```');
|
|
62
67
|
var doc = atlassianMarkDownParser.parse((0, _util.escapeLinks)(textInput));
|
|
63
68
|
if (doc && doc.content) {
|
|
64
69
|
return new _prosemirrorModel.Slice(doc.content, openStart, openEnd);
|
|
@@ -370,7 +375,11 @@ function createPlugin(schema, dispatchAnalyticsEvent, dispatch, cardOptions, san
|
|
|
370
375
|
if ((0, _analytics.handlePasteIntoCaptionWithAnalytics)(view, event, slice, _analytics2.PasteTypes.richText)(state, dispatch)) {
|
|
371
376
|
return true;
|
|
372
377
|
}
|
|
373
|
-
|
|
378
|
+
var featureFlags = (0, _featureFlagsContext.getFeatureFlags)(state);
|
|
379
|
+
if ((0, _analytics.handlePastePanelOrDecisionIntoListWithAnalytics)(view, event, slice)(state, dispatch)) {
|
|
380
|
+
return true;
|
|
381
|
+
}
|
|
382
|
+
if (featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists && (0, _analytics.handlePasteNonNestableBlockNodesIntoListWithAnalytics)(view, event, slice)(state, dispatch)) {
|
|
374
383
|
return true;
|
|
375
384
|
}
|
|
376
385
|
return (0, _analytics.handleRichTextWithAnalytics)(view, event, slice)(state, dispatch);
|
|
@@ -11,16 +11,10 @@ exports.getPasteSource = getPasteSource;
|
|
|
11
11
|
exports.hasOnlyNodesOfType = hasOnlyNodesOfType;
|
|
12
12
|
exports.htmlContainsSingleFile = htmlContainsSingleFile;
|
|
13
13
|
exports.htmlHasInvalidLinkTags = void 0;
|
|
14
|
-
exports.isCode = isCode;
|
|
15
14
|
exports.isCursorSelectionAtTextStartOrEnd = isCursorSelectionAtTextStartOrEnd;
|
|
16
15
|
exports.isEmptyNode = isEmptyNode;
|
|
17
16
|
exports.isPanelNode = isPanelNode;
|
|
18
|
-
exports.isPastedFromDropboxPaper = isPastedFromDropboxPaper;
|
|
19
17
|
exports.isPastedFromExcel = isPastedFromExcel;
|
|
20
|
-
exports.isPastedFromFabricEditor = isPastedFromFabricEditor;
|
|
21
|
-
exports.isPastedFromGoogleDocs = isPastedFromGoogleDocs;
|
|
22
|
-
exports.isPastedFromGoogleSpreadSheets = isPastedFromGoogleSpreadSheets;
|
|
23
|
-
exports.isPastedFromPages = isPastedFromPages;
|
|
24
18
|
exports.isPastedFromWord = isPastedFromWord;
|
|
25
19
|
exports.isSelectionInsidePanel = isSelectionInsidePanel;
|
|
26
20
|
exports.removeDuplicateInvalidLinks = exports.isSingleLine = void 0;
|
|
@@ -79,46 +73,6 @@ function getPasteSource(event) {
|
|
|
79
73
|
return 'uncategorized';
|
|
80
74
|
}
|
|
81
75
|
|
|
82
|
-
// TODO: Write JEST tests for this part
|
|
83
|
-
function isCode(str) {
|
|
84
|
-
var lines = str.split(/\r?\n|\r/);
|
|
85
|
-
if (3 > lines.length) {
|
|
86
|
-
return false;
|
|
87
|
-
}
|
|
88
|
-
var weight = 0;
|
|
89
|
-
lines.forEach(function (line) {
|
|
90
|
-
// Ends with : or ;
|
|
91
|
-
if (/[:;]$/.test(line)) {
|
|
92
|
-
weight++;
|
|
93
|
-
}
|
|
94
|
-
// Contains second and third braces
|
|
95
|
-
if (/[{}\[\]]/.test(line)) {
|
|
96
|
-
weight++;
|
|
97
|
-
}
|
|
98
|
-
// Contains <tag> or </
|
|
99
|
-
if (/<\w+>/.test(line) || /<\//.test(line)) {
|
|
100
|
-
weight++;
|
|
101
|
-
}
|
|
102
|
-
// Contains () <- function calls
|
|
103
|
-
if (/\(\)/.test(line)) {
|
|
104
|
-
weight++;
|
|
105
|
-
}
|
|
106
|
-
// Contains a link
|
|
107
|
-
if (/(^|[^!])\[(.*?)\]\((\S+)\)$/.test(line)) {
|
|
108
|
-
weight--;
|
|
109
|
-
}
|
|
110
|
-
// New line starts with less than two chars. e.g- if, {, <, etc
|
|
111
|
-
var token = /^(\s+)[a-zA-Z<{]{2,}/.exec(line);
|
|
112
|
-
if (token && 2 <= token[1].length) {
|
|
113
|
-
weight++;
|
|
114
|
-
}
|
|
115
|
-
if (/&&/.test(line)) {
|
|
116
|
-
weight++;
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
return 4 <= weight && weight >= 0.5 * lines.length;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
76
|
// @see https://product-fabric.atlassian.net/browse/ED-3159
|
|
123
77
|
// @see https://github.com/markdown-it/markdown-it/issues/38
|
|
124
78
|
function escapeLinks(text) {
|
|
@@ -232,8 +232,8 @@ var decorateWithPluginOptions = function decorateWithPluginOptions(plugin, optio
|
|
|
232
232
|
};
|
|
233
233
|
return plugin;
|
|
234
234
|
};
|
|
235
|
-
var placeholderTextPlugin = function placeholderTextPlugin(options) {
|
|
236
|
-
return decorateWithPluginOptions(basePlaceholderTextPlugin(options), options);
|
|
235
|
+
var placeholderTextPlugin = function placeholderTextPlugin(options, api) {
|
|
236
|
+
return decorateWithPluginOptions(basePlaceholderTextPlugin(options, api), options);
|
|
237
237
|
};
|
|
238
238
|
var _default = placeholderTextPlugin;
|
|
239
239
|
exports.default = _default;
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.IconStatus = exports.IconQuote = exports.IconPanelWarning = exports.IconPanelSuccess = exports.IconPanelNote = exports.IconPanelError = exports.IconPanel = exports.IconMention = exports.IconListNumber = exports.IconList = exports.IconLink = exports.IconLayout = exports.IconImages = exports.IconHeading = exports.IconFeedback = exports.
|
|
7
|
+
exports.IconStatus = exports.IconQuote = exports.IconPanelWarning = exports.IconPanelSuccess = exports.IconPanelNote = exports.IconPanelError = exports.IconPanel = exports.IconMention = exports.IconListNumber = exports.IconList = exports.IconLink = exports.IconLayout = exports.IconImages = exports.IconHeading = exports.IconFeedback = exports.IconExpand = exports.IconEmoji = exports.IconDivider = exports.IconDecision = exports.IconDate = exports.IconCode = exports.IconAction = void 0;
|
|
8
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
@@ -233,19 +233,6 @@ var IconPanel = (0, _reactLoadable.default)({
|
|
|
233
233
|
}
|
|
234
234
|
});
|
|
235
235
|
exports.IconPanel = IconPanel;
|
|
236
|
-
var IconCustomPanel = (0, _reactLoadable.default)({
|
|
237
|
-
loader: function loader() {
|
|
238
|
-
return Promise.resolve().then(function () {
|
|
239
|
-
return _interopRequireWildcard(require('./custom-panel'));
|
|
240
|
-
}).then(function (module) {
|
|
241
|
-
return module.default;
|
|
242
|
-
});
|
|
243
|
-
},
|
|
244
|
-
loading: function loading() {
|
|
245
|
-
return null;
|
|
246
|
-
}
|
|
247
|
-
});
|
|
248
|
-
exports.IconCustomPanel = IconCustomPanel;
|
|
249
236
|
var IconQuote = (0, _reactLoadable.default)({
|
|
250
237
|
loader: function loader() {
|
|
251
238
|
return Promise.resolve().then(function () {
|
|
@@ -272,19 +259,6 @@ var IconStatus = (0, _reactLoadable.default)({
|
|
|
272
259
|
}
|
|
273
260
|
});
|
|
274
261
|
exports.IconStatus = IconStatus;
|
|
275
|
-
var IconFallback = (0, _reactLoadable.default)({
|
|
276
|
-
loader: function loader() {
|
|
277
|
-
return Promise.resolve().then(function () {
|
|
278
|
-
return _interopRequireWildcard(require('./fallback'));
|
|
279
|
-
}).then(function (module) {
|
|
280
|
-
return module.default;
|
|
281
|
-
});
|
|
282
|
-
},
|
|
283
|
-
loading: function loading() {
|
|
284
|
-
return null;
|
|
285
|
-
}
|
|
286
|
-
});
|
|
287
|
-
exports.IconFallback = IconFallback;
|
|
288
262
|
function importHeading(level) {
|
|
289
263
|
switch (level) {
|
|
290
264
|
case 1:
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.shouldSkipGapCursor = exports.setSelectionTopLevelBlocks = exports.setGapCursorAtPos = exports.setCursorForTopLevelBlocks = exports.hasGapCursorPlugin = exports.deleteNode = exports.arrow = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
7
|
var _prosemirrorState = require("prosemirror-state");
|
|
10
8
|
var _prosemirrorUtils = require("prosemirror-utils");
|
|
11
9
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
@@ -16,44 +14,8 @@ var _isValidTargetNode = require("./utils/is-valid-target-node");
|
|
|
16
14
|
var _position = require("../../../utils/prosemirror/position");
|
|
17
15
|
var _gapCursorPluginKey = require("../pm-plugins/gap-cursor-plugin-key");
|
|
18
16
|
var _table = require("../../../utils/table");
|
|
19
|
-
var _mapDirection;
|
|
20
|
-
var mapDirection = (_mapDirection = {}, (0, _defineProperty2.default)(_mapDirection, _direction.Direction.LEFT, -1), (0, _defineProperty2.default)(_mapDirection, _direction.Direction.RIGHT, 1), (0, _defineProperty2.default)(_mapDirection, _direction.Direction.UP, -1), (0, _defineProperty2.default)(_mapDirection, _direction.Direction.DOWN, 1), (0, _defineProperty2.default)(_mapDirection, _direction.Direction.BACKWARD, -1), (0, _defineProperty2.default)(_mapDirection, _direction.Direction.FORWARD, 1), _mapDirection);
|
|
21
|
-
function shouldHandleMediaGapCursor(dir, state) {
|
|
22
|
-
var doc = state.doc,
|
|
23
|
-
schema = state.schema,
|
|
24
|
-
selection = state.selection;
|
|
25
|
-
var $pos = (0, _direction.isBackward)(dir) ? selection.$from : selection.$to;
|
|
26
|
-
if (selection instanceof _prosemirrorState.TextSelection) {
|
|
27
|
-
// Should not use gap cursor if I am moving from a text selection into a media node
|
|
28
|
-
if (dir === _direction.Direction.UP && !(0, _position.atTheBeginningOfDoc)(state) || dir === _direction.Direction.DOWN && !(0, _position.atTheEndOfDoc)(state)) {
|
|
29
|
-
var media = (0, _utils2.getMediaNearPos)(doc, $pos, schema, mapDirection[dir]);
|
|
30
|
-
if (media) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// Should not use gap cursor if I am moving from a text selection into a media node with layout wrap-right or wrap-left
|
|
36
|
-
if (dir === _direction.Direction.LEFT || dir === _direction.Direction.RIGHT) {
|
|
37
|
-
var _media = (0, _utils2.getMediaNearPos)(doc, $pos, schema, mapDirection[dir]);
|
|
38
|
-
var mediaSingle = schema.nodes.mediaSingle;
|
|
39
|
-
if (_media && _media.type === mediaSingle && (_media.attrs.layout === 'wrap-right' || _media.attrs.layout === 'wrap-left')) {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
if (selection instanceof _prosemirrorState.NodeSelection) {
|
|
45
|
-
// Should not use gap cursor if I am moving left/right from media node with layout wrap right or wrap-left
|
|
46
|
-
if (dir === _direction.Direction.LEFT || dir === _direction.Direction.RIGHT) {
|
|
47
|
-
var maybeMedia = doc.nodeAt(selection.$from.pos);
|
|
48
|
-
var _mediaSingle = schema.nodes.mediaSingle;
|
|
49
|
-
if (maybeMedia && maybeMedia.type === _mediaSingle && (maybeMedia.attrs.layout === 'wrap-right' || maybeMedia.attrs.layout === 'wrap-left')) {
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
17
|
var shouldSkipGapCursor = function shouldSkipGapCursor(direction, state, $pos) {
|
|
18
|
+
var _$pos$nodeBefore;
|
|
57
19
|
var doc = state.doc,
|
|
58
20
|
schema = state.schema;
|
|
59
21
|
switch (direction) {
|
|
@@ -61,14 +23,49 @@ var shouldSkipGapCursor = function shouldSkipGapCursor(direction, state, $pos) {
|
|
|
61
23
|
if ((0, _position.atTheBeginningOfDoc)(state)) {
|
|
62
24
|
return false;
|
|
63
25
|
}
|
|
64
|
-
return (0, _table.isPositionNearTableRow)($pos, schema, 'before') || (0, _utils2.isTextBlockNearPos)(doc, schema, $pos, -1);
|
|
26
|
+
return (0, _table.isPositionNearTableRow)($pos, schema, 'before') || (0, _utils2.isTextBlockNearPos)(doc, schema, $pos, -1) || (0, _utils.isNodeBeforeMediaNode)($pos, state);
|
|
65
27
|
case _direction.Direction.DOWN:
|
|
66
|
-
return (0, _position.atTheEndOfDoc)(state) || (0, _utils2.isTextBlockNearPos)(doc, schema, $pos, 1) || (0, _table.isPositionNearTableRow)($pos, schema, 'after')
|
|
28
|
+
return (0, _position.atTheEndOfDoc)(state) || (0, _utils2.isTextBlockNearPos)(doc, schema, $pos, 1) || (0, _table.isPositionNearTableRow)($pos, schema, 'after') || ((_$pos$nodeBefore = $pos.nodeBefore) === null || _$pos$nodeBefore === void 0 ? void 0 : _$pos$nodeBefore.type.name) === 'text' && !$pos.nodeAfter // end of a paragraph
|
|
29
|
+
;
|
|
30
|
+
|
|
67
31
|
default:
|
|
68
32
|
return false;
|
|
69
33
|
}
|
|
70
34
|
};
|
|
35
|
+
|
|
36
|
+
// These cases should be handled using the handleMediaGapCursor function
|
|
71
37
|
exports.shouldSkipGapCursor = shouldSkipGapCursor;
|
|
38
|
+
function shouldHandleMediaGapCursor(dir, state) {
|
|
39
|
+
var _selection$$from$node;
|
|
40
|
+
var selection = state.selection;
|
|
41
|
+
var upArrowFromGapCursorIntoMedia = selection instanceof _selection.GapCursorSelection && dir === _direction.Direction.UP && selection.$from.nodeBefore && (0, _utils.isMediaNode)(selection.$from.nodeBefore);
|
|
42
|
+
var downArrowFromGapCursorIntoMediaGroup = selection instanceof _selection.GapCursorSelection && dir === _direction.Direction.DOWN && ((_selection$$from$node = selection.$from.nodeAfter) === null || _selection$$from$node === void 0 ? void 0 : _selection$$from$node.type.name) === 'mediaGroup';
|
|
43
|
+
return upArrowFromGapCursorIntoMedia || downArrowFromGapCursorIntoMediaGroup;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Handle media gap cursor for up/down arrow into media nodes
|
|
47
|
+
// Should check this case by using shouldHandleMediaGapCursor first
|
|
48
|
+
function handleMediaGapCursor(dir, state) {
|
|
49
|
+
var selection = state.selection,
|
|
50
|
+
tr = state.tr;
|
|
51
|
+
var $pos = (0, _direction.isBackward)(dir) ? selection.$from : selection.$to;
|
|
52
|
+
if (dir === _direction.Direction.UP && selection.$from.nodeBefore && (0, _utils.isMediaNode)(selection.$from.nodeBefore)) {
|
|
53
|
+
var _tr$doc$nodeAt;
|
|
54
|
+
var nodeBeforePos = (0, _prosemirrorUtils.findPositionOfNodeBefore)(tr.selection);
|
|
55
|
+
if (nodeBeforePos && selection.side === 'right' && ((_tr$doc$nodeAt = tr.doc.nodeAt(nodeBeforePos)) === null || _tr$doc$nodeAt === void 0 ? void 0 : _tr$doc$nodeAt.type.name) === 'mediaSingle') {
|
|
56
|
+
tr.setSelection(new _prosemirrorState.NodeSelection(tr.doc.resolve(nodeBeforePos))).scrollIntoView();
|
|
57
|
+
} else if (nodeBeforePos || nodeBeforePos === 0) {
|
|
58
|
+
tr.setSelection(new _selection.GapCursorSelection(tr.doc.resolve(nodeBeforePos), _selection.Side.LEFT)).scrollIntoView();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (dir === _direction.Direction.DOWN && selection.$from.nodeAfter) {
|
|
62
|
+
var nodeAfterPos = selection.side === 'right' ? $pos.pos : $pos.pos + selection.$from.nodeAfter.nodeSize;
|
|
63
|
+
if (nodeAfterPos) {
|
|
64
|
+
tr.setSelection(new _selection.GapCursorSelection(tr.doc.resolve(nodeAfterPos), _selection.Side.LEFT)).scrollIntoView();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return tr;
|
|
68
|
+
}
|
|
72
69
|
var arrow = function arrow(dir, endOfTextblock) {
|
|
73
70
|
return function (state, dispatch, view) {
|
|
74
71
|
var doc = state.doc,
|
|
@@ -97,13 +94,21 @@ var arrow = function arrow(dir, endOfTextblock) {
|
|
|
97
94
|
if (selection.node.isInline) {
|
|
98
95
|
return false;
|
|
99
96
|
}
|
|
100
|
-
if (dir === _direction.Direction.UP || dir === _direction.Direction.DOWN) {
|
|
97
|
+
if (dir === _direction.Direction.UP && !(0, _position.atTheBeginningOfDoc)(state) && !(0, _utils.isNodeBeforeMediaNode)($pos, state) || dir === _direction.Direction.DOWN) {
|
|
101
98
|
// We dont add gap cursor on node selections going up and down
|
|
99
|
+
// Except we do if we're going up for a block node which is the
|
|
100
|
+
// first node in the document OR the node before is a media node
|
|
102
101
|
return false;
|
|
103
102
|
}
|
|
104
103
|
}
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
|
|
105
|
+
// Handle media gap cursor for up/down arrow into media nodes
|
|
106
|
+
if (shouldHandleMediaGapCursor(dir, state)) {
|
|
107
|
+
var updatedTr = handleMediaGapCursor(dir, state);
|
|
108
|
+
if (dispatch) {
|
|
109
|
+
dispatch(updatedTr);
|
|
110
|
+
}
|
|
111
|
+
return true;
|
|
107
112
|
}
|
|
108
113
|
|
|
109
114
|
// when jumping between block nodes at the same depth, we need to reverse cursor without changing ProseMirror position
|
|
@@ -38,7 +38,10 @@ var baseStatusPlugin = function baseStatusPlugin(options) {
|
|
|
38
38
|
}];
|
|
39
39
|
},
|
|
40
40
|
contentComponent: function contentComponent(_ref) {
|
|
41
|
-
var editorView = _ref.editorView
|
|
41
|
+
var editorView = _ref.editorView,
|
|
42
|
+
popupsMountPoint = _ref.popupsMountPoint,
|
|
43
|
+
popupsBoundariesElement = _ref.popupsBoundariesElement,
|
|
44
|
+
popupsScrollableElement = _ref.popupsScrollableElement;
|
|
42
45
|
var domAtPos = editorView.domAtPos.bind(editorView);
|
|
43
46
|
return /*#__PURE__*/_react.default.createElement(_WithPluginState.default, {
|
|
44
47
|
plugins: {
|
|
@@ -66,6 +69,9 @@ var baseStatusPlugin = function baseStatusPlugin(options) {
|
|
|
66
69
|
defaultText: text,
|
|
67
70
|
defaultColor: color,
|
|
68
71
|
defaultLocalId: localId,
|
|
72
|
+
mountTo: popupsMountPoint,
|
|
73
|
+
boundariesElement: popupsBoundariesElement,
|
|
74
|
+
scrollableElement: popupsScrollableElement,
|
|
69
75
|
onSelect: function onSelect(status) {
|
|
70
76
|
(0, _actions.updateStatus)(status)(editorView.state, editorView.dispatch);
|
|
71
77
|
},
|
|
@@ -116,8 +122,8 @@ var decorateWithPluginOptions = function decorateWithPluginOptions(plugin, optio
|
|
|
116
122
|
};
|
|
117
123
|
return plugin;
|
|
118
124
|
};
|
|
119
|
-
var statusPlugin = function statusPlugin(options) {
|
|
120
|
-
return decorateWithPluginOptions(baseStatusPlugin(options), options);
|
|
125
|
+
var statusPlugin = function statusPlugin(options, api) {
|
|
126
|
+
return decorateWithPluginOptions(baseStatusPlugin(options, api), options);
|
|
121
127
|
};
|
|
122
128
|
var _default = statusPlugin;
|
|
123
129
|
exports.default = _default;
|