@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
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { stateKey as mediaPluginKey } from '../pm-plugins/plugin-key';
|
|
2
2
|
import { SetAttrsStep } from '@atlaskit/adf-schema/steps';
|
|
3
|
+
/**
|
|
4
|
+
* Note that Media Inline is inserted like a media single node into the media plugin state.
|
|
5
|
+
* Though it is not of type mediaSingle, it shares the same `findMediaSingleNode` method
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
3
8
|
export const findMediaSingleNode = (mediaPluginState, id) => {
|
|
4
9
|
const {
|
|
5
10
|
mediaNodes
|
|
@@ -19,51 +24,20 @@ export const findMediaSingleNode = (mediaPluginState, id) => {
|
|
|
19
24
|
return memo;
|
|
20
25
|
}, null);
|
|
21
26
|
};
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Finds the media inline node with the given id.
|
|
25
|
-
* Media Inline is inserted like a media single node into the media plugin state.
|
|
26
|
-
* However it is not of type mediaSingle.
|
|
27
|
-
*
|
|
28
|
-
* @param mediaPluginState
|
|
29
|
-
* @param id
|
|
30
|
-
* @param isMediaSingle
|
|
31
|
-
* @returns {MediaNodeWithPosHandler | null}
|
|
32
|
-
*/
|
|
33
|
-
export const findMediaInlineNode = (mediaPluginState, id, isMediaSingle) => {
|
|
34
|
-
if (!isMediaSingle) {
|
|
35
|
-
return findMediaSingleNode(mediaPluginState, id);
|
|
36
|
-
}
|
|
37
|
-
return null;
|
|
38
|
-
};
|
|
39
27
|
export const findAllMediaSingleNodes = (mediaPluginState, id) => {
|
|
40
28
|
const {
|
|
41
29
|
mediaNodes
|
|
42
30
|
} = mediaPluginState;
|
|
43
31
|
return mediaNodes.filter(nodeWithHandler => nodeWithHandler.node.attrs.id === id);
|
|
44
32
|
};
|
|
45
|
-
export const findMediaNode = (mediaPluginState, id, isMediaSingle) => {
|
|
46
|
-
const mediaNodeWithPos = isMediaSingle ? findMediaSingleNode(mediaPluginState, id) : mediaPluginState.mediaGroupNodes[id];
|
|
47
|
-
|
|
48
|
-
// Should attempt to find media inline node if media single node or media group node is not found
|
|
49
|
-
if (!mediaNodeWithPos) {
|
|
50
|
-
return findMediaInlineNode(mediaPluginState, id, isMediaSingle);
|
|
51
|
-
}
|
|
52
|
-
return mediaNodeWithPos;
|
|
53
|
-
};
|
|
54
33
|
export const isMediaNode = (pos, state) => {
|
|
55
34
|
const node = state.doc.nodeAt(pos);
|
|
56
35
|
return node && ['media', 'mediaInline'].includes(node.type.name);
|
|
57
36
|
};
|
|
58
|
-
export const
|
|
37
|
+
export const updateAllMediaSingleNodesAttrs = (id, attrs) => (state, dispatch) => {
|
|
59
38
|
const mediaPluginState = mediaPluginKey.getState(state);
|
|
60
39
|
let mediaNodes;
|
|
61
|
-
|
|
62
|
-
mediaNodes = findAllMediaSingleNodes(mediaPluginState, id);
|
|
63
|
-
} else {
|
|
64
|
-
const mediaGroupNode = findMediaNode(mediaPluginState, id, isMediaSingle);
|
|
65
|
-
mediaNodes = mediaGroupNode ? [mediaGroupNode] : [];
|
|
66
|
-
}
|
|
40
|
+
mediaNodes = findAllMediaSingleNodes(mediaPluginState, id);
|
|
67
41
|
const validMediaNodePositions = mediaNodes.reduce((acc, {
|
|
68
42
|
getPos
|
|
69
43
|
}) => {
|
|
@@ -98,9 +72,9 @@ export const updateCurrentMediaNodeAttrs = (attrs, mediaNode) => (state, dispatc
|
|
|
98
72
|
}
|
|
99
73
|
return true;
|
|
100
74
|
};
|
|
101
|
-
export const
|
|
75
|
+
export const updateMediaSingleNodeAttrs = (id, attrs) => (state, dispatch) => {
|
|
102
76
|
const mediaPluginState = mediaPluginKey.getState(state);
|
|
103
|
-
const mediaNodeWithPos =
|
|
77
|
+
const mediaNodeWithPos = findMediaSingleNode(mediaPluginState, id);
|
|
104
78
|
if (!mediaNodeWithPos) {
|
|
105
79
|
return false;
|
|
106
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { updateMediaSingleNodeAttrs, updateAllMediaSingleNodesAttrs, replaceExternalMedia } from './helpers';
|
|
@@ -55,7 +55,6 @@ class MediaGroup extends React.Component {
|
|
|
55
55
|
this.mediaNodes = [];
|
|
56
56
|
node.forEach((item, childOffset) => {
|
|
57
57
|
const getPos = () => props.getPos() + childOffset + 1;
|
|
58
|
-
this.mediaPluginState.setMediaGroupNode(item, getPos);
|
|
59
58
|
this.mediaNodes.push(item);
|
|
60
59
|
if (updatedAttrs) {
|
|
61
60
|
this.updateNodeAttrs(props, item, getPos);
|
|
@@ -157,13 +156,14 @@ class MediaGroup extends React.Component {
|
|
|
157
156
|
node,
|
|
158
157
|
isMediaSingle: false
|
|
159
158
|
});
|
|
159
|
+
const getPos = () => this.props.getPos() + 1;
|
|
160
160
|
const contextId = mediaNodeUpdater.getNodeContextId();
|
|
161
161
|
if (!contextId) {
|
|
162
|
-
await mediaNodeUpdater.
|
|
162
|
+
await mediaNodeUpdater.updateNodeContextId(getPos);
|
|
163
163
|
}
|
|
164
164
|
const hasDifferentContextId = await mediaNodeUpdater.hasDifferentContextId();
|
|
165
165
|
if (hasDifferentContextId) {
|
|
166
|
-
await mediaNodeUpdater.
|
|
166
|
+
await mediaNodeUpdater.copyNodeFromPos(getPos, {
|
|
167
167
|
traceId: node.attrs.__mediaTraceId
|
|
168
168
|
});
|
|
169
169
|
}
|
|
@@ -3,7 +3,7 @@ import uuidV4 from 'uuid/v4';
|
|
|
3
3
|
import { DEFAULT_IMAGE_HEIGHT, DEFAULT_IMAGE_WIDTH } from '@atlaskit/editor-common/ui';
|
|
4
4
|
import { getMediaClient, isMediaBlobUrl, getAttrsFromUrl, isImageRepresentationReady } from '@atlaskit/media-client';
|
|
5
5
|
import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../../analytics';
|
|
6
|
-
import { replaceExternalMedia,
|
|
6
|
+
import { replaceExternalMedia, updateAllMediaSingleNodesAttrs, updateCurrentMediaNodeAttrs, updateMediaSingleNodeAttrs } from '../commands/helpers';
|
|
7
7
|
export class MediaNodeUpdater {
|
|
8
8
|
constructor(props) {
|
|
9
9
|
_defineProperty(this, "updateContextId", async () => {
|
|
@@ -15,9 +15,22 @@ export class MediaNodeUpdater {
|
|
|
15
15
|
id
|
|
16
16
|
} = attrs;
|
|
17
17
|
const objectId = await this.getObjectId();
|
|
18
|
-
|
|
18
|
+
updateAllMediaSingleNodesAttrs(id, {
|
|
19
19
|
__contextId: objectId
|
|
20
|
-
}
|
|
20
|
+
})(this.props.view.state, this.props.view.dispatch);
|
|
21
|
+
});
|
|
22
|
+
_defineProperty(this, "updateNodeContextId", async getPos => {
|
|
23
|
+
const attrs = this.getAttrs();
|
|
24
|
+
if ((attrs === null || attrs === void 0 ? void 0 : attrs.type) !== 'file') {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const objectId = await this.getObjectId();
|
|
28
|
+
updateCurrentMediaNodeAttrs({
|
|
29
|
+
__contextId: objectId
|
|
30
|
+
}, {
|
|
31
|
+
node: this.props.node,
|
|
32
|
+
getPos
|
|
33
|
+
})(this.props.view.state, this.props.view.dispatch);
|
|
21
34
|
});
|
|
22
35
|
_defineProperty(this, "hasFileAttributesDefined", attrs => {
|
|
23
36
|
return attrs && attrs.type === 'file' && attrs.__fileName && attrs.__fileMimeType && attrs.__fileSize && attrs.__contextId;
|
|
@@ -62,13 +75,13 @@ export class MediaNodeUpdater {
|
|
|
62
75
|
}
|
|
63
76
|
return newAttrs;
|
|
64
77
|
});
|
|
65
|
-
_defineProperty(this, "
|
|
78
|
+
_defineProperty(this, "updateMediaSingleFileAttrs", async () => {
|
|
66
79
|
const newAttrs = await this.getNewFileAttrsForNode();
|
|
67
80
|
const {
|
|
68
81
|
id
|
|
69
82
|
} = this.getAttrs();
|
|
70
83
|
if (id && newAttrs) {
|
|
71
|
-
|
|
84
|
+
updateAllMediaSingleNodesAttrs(id, newAttrs)(this.props.view.state, this.props.view.dispatch);
|
|
72
85
|
}
|
|
73
86
|
});
|
|
74
87
|
_defineProperty(this, "updateNodeAttrs", async getPos => {
|
|
@@ -138,10 +151,10 @@ export class MediaNodeUpdater {
|
|
|
138
151
|
return attrs.__contextId || null;
|
|
139
152
|
});
|
|
140
153
|
_defineProperty(this, "updateDimensions", dimensions => {
|
|
141
|
-
|
|
154
|
+
updateAllMediaSingleNodesAttrs(dimensions.id, {
|
|
142
155
|
height: dimensions.height,
|
|
143
156
|
width: dimensions.width
|
|
144
|
-
}
|
|
157
|
+
})(this.props.view.state, this.props.view.dispatch);
|
|
145
158
|
});
|
|
146
159
|
_defineProperty(this, "hasDifferentContextId", async () => {
|
|
147
160
|
const nodeContextId = this.getNodeContextId();
|
|
@@ -225,44 +238,64 @@ export class MediaNodeUpdater {
|
|
|
225
238
|
__fileSize: size
|
|
226
239
|
})(this.props.view.state, this.props.view.dispatch);
|
|
227
240
|
});
|
|
241
|
+
_defineProperty(this, "copyNodeFromPos", async (getPos, traceContext) => {
|
|
242
|
+
const attrs = this.getAttrs();
|
|
243
|
+
if ((attrs === null || attrs === void 0 ? void 0 : attrs.type) !== 'file') {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
const copiedAttrs = await this.copyFile(attrs.id, attrs.collection, traceContext);
|
|
247
|
+
if (!copiedAttrs) {
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
updateCurrentMediaNodeAttrs(copiedAttrs, {
|
|
251
|
+
node: this.props.node,
|
|
252
|
+
getPos
|
|
253
|
+
})(this.props.view.state, this.props.view.dispatch);
|
|
254
|
+
});
|
|
228
255
|
_defineProperty(this, "copyNode", async traceContext => {
|
|
229
|
-
const
|
|
256
|
+
const attrs = this.getAttrs();
|
|
230
257
|
const {
|
|
231
|
-
isMediaSingle,
|
|
232
258
|
view
|
|
233
259
|
} = this.props;
|
|
234
|
-
|
|
235
|
-
|
|
260
|
+
if ((attrs === null || attrs === void 0 ? void 0 : attrs.type) !== 'file') {
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
const copiedAttrs = await this.copyFile(attrs.id, attrs.collection, traceContext);
|
|
264
|
+
if (!copiedAttrs) {
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
updateMediaSingleNodeAttrs(attrs.id, copiedAttrs)(view.state, view.dispatch);
|
|
268
|
+
});
|
|
269
|
+
_defineProperty(this, "copyFile", async (id, collection, traceContext) => {
|
|
270
|
+
const mediaProvider = await this.props.mediaProvider;
|
|
271
|
+
if (!id || !collection || !(mediaProvider !== null && mediaProvider !== void 0 && mediaProvider.uploadParams)) {
|
|
236
272
|
return;
|
|
237
273
|
}
|
|
238
274
|
const nodeContextId = this.getNodeContextId();
|
|
239
275
|
const uploadMediaClientConfig = mediaProvider.uploadMediaClientConfig;
|
|
240
|
-
if (uploadMediaClientConfig && uploadMediaClientConfig.getAuthFromContext
|
|
241
|
-
|
|
242
|
-
const auth = await uploadMediaClientConfig.getAuthFromContext(nodeContextId);
|
|
243
|
-
const objectId = await this.getObjectId();
|
|
244
|
-
const {
|
|
245
|
-
id,
|
|
246
|
-
collection
|
|
247
|
-
} = attrs;
|
|
248
|
-
const source = {
|
|
249
|
-
id,
|
|
250
|
-
collection,
|
|
251
|
-
authProvider: () => Promise.resolve(auth)
|
|
252
|
-
};
|
|
253
|
-
const currentCollectionName = mediaProvider.uploadParams.collection;
|
|
254
|
-
const destination = {
|
|
255
|
-
collection: currentCollectionName,
|
|
256
|
-
authProvider: uploadMediaClientConfig.authProvider,
|
|
257
|
-
occurrenceKey: uuidV4()
|
|
258
|
-
};
|
|
259
|
-
const mediaFile = await mediaClient.file.copyFile(source, destination, undefined, traceContext);
|
|
260
|
-
updateMediaNodeAttrs(source.id, {
|
|
261
|
-
id: mediaFile.id,
|
|
262
|
-
collection: currentCollectionName,
|
|
263
|
-
__contextId: objectId
|
|
264
|
-
}, isMediaSingle)(view.state, view.dispatch);
|
|
276
|
+
if (!(uploadMediaClientConfig !== null && uploadMediaClientConfig !== void 0 && uploadMediaClientConfig.getAuthFromContext) || !nodeContextId) {
|
|
277
|
+
return;
|
|
265
278
|
}
|
|
279
|
+
const mediaClient = getMediaClient(uploadMediaClientConfig);
|
|
280
|
+
const auth = await uploadMediaClientConfig.getAuthFromContext(nodeContextId);
|
|
281
|
+
const objectId = await this.getObjectId();
|
|
282
|
+
const source = {
|
|
283
|
+
id,
|
|
284
|
+
collection,
|
|
285
|
+
authProvider: () => Promise.resolve(auth)
|
|
286
|
+
};
|
|
287
|
+
const currentCollectionName = mediaProvider.uploadParams.collection;
|
|
288
|
+
const destination = {
|
|
289
|
+
collection: currentCollectionName,
|
|
290
|
+
authProvider: uploadMediaClientConfig.authProvider,
|
|
291
|
+
occurrenceKey: uuidV4()
|
|
292
|
+
};
|
|
293
|
+
const mediaFile = await mediaClient.file.copyFile(source, destination, undefined, traceContext);
|
|
294
|
+
return {
|
|
295
|
+
id: mediaFile.id,
|
|
296
|
+
collection: currentCollectionName,
|
|
297
|
+
__contextId: objectId
|
|
298
|
+
};
|
|
266
299
|
});
|
|
267
300
|
this.props = props;
|
|
268
301
|
}
|
|
@@ -272,7 +305,7 @@ export class MediaNodeUpdater {
|
|
|
272
305
|
}
|
|
273
306
|
|
|
274
307
|
// Updates the node with contextId if it doesn't have one already
|
|
275
|
-
// TODO [MS-2258]: remove updateContextId in order to only use
|
|
308
|
+
// TODO [MS-2258]: remove updateContextId in order to only use updateMediaSingleFileAttrs
|
|
276
309
|
|
|
277
310
|
async getRemoteDimensions() {
|
|
278
311
|
const mediaProvider = await this.props.mediaProvider;
|
|
@@ -193,7 +193,7 @@ export default class MediaSingleNode extends Component {
|
|
|
193
193
|
|
|
194
194
|
// We need to call this method on any prop change since attrs can get removed with collab editing
|
|
195
195
|
// the method internally checks if we already have all attrs
|
|
196
|
-
this.createMediaNodeUpdater(nextProps).
|
|
196
|
+
this.createMediaNodeUpdater(nextProps).updateMediaSingleFileAttrs();
|
|
197
197
|
}
|
|
198
198
|
async componentDidMount() {
|
|
199
199
|
const {
|
|
@@ -13,7 +13,7 @@ import * as keymaps from '../../../../../keymaps';
|
|
|
13
13
|
import { ToolTipContent } from '../../../../../keymaps';
|
|
14
14
|
import { closeMediaAltTextMenu, updateAltText } from '../commands';
|
|
15
15
|
import { withAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
16
|
-
import { ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, fireAnalyticsEvent, ACTION } from '
|
|
16
|
+
import { ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, fireAnalyticsEvent, ACTION } from '@atlaskit/editor-common/analytics';
|
|
17
17
|
import { RECENT_SEARCH_WIDTH_IN_PX } from '../../../../../ui/LinkSearch/ToolbarComponents';
|
|
18
18
|
import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
|
|
19
19
|
import { ErrorMessage } from '@atlaskit/editor-common/ui';
|
|
@@ -13,11 +13,10 @@ import DropPlaceholder from '../ui/Media/DropPlaceholder';
|
|
|
13
13
|
import { insertMediaGroupNode, insertMediaInlineNode, canInsertMediaInline } from '../utils/media-files';
|
|
14
14
|
import { isInsidePotentialEmptyParagraph, removeMediaNode, splitMediaGroup } from '../utils/media-common';
|
|
15
15
|
import * as helpers from '../commands/helpers';
|
|
16
|
-
import {
|
|
16
|
+
import { updateMediaSingleNodeAttrs } from '../commands/helpers';
|
|
17
17
|
import { stateKey } from './plugin-key';
|
|
18
18
|
import PickerFacade from '../picker-facade';
|
|
19
19
|
import { INPUT_METHOD } from '../../analytics/types';
|
|
20
|
-
import { isImage } from '../utils/is-image';
|
|
21
20
|
import { isInEmptyLine } from '../../../utils/document';
|
|
22
21
|
import { getMediaFeatureFlag } from '@atlaskit/media-common';
|
|
23
22
|
import { isInListItem } from '../../../utils';
|
|
@@ -53,7 +52,6 @@ export class MediaPluginStateImplementation {
|
|
|
53
52
|
_defineProperty(this, "isFullscreen", false);
|
|
54
53
|
_defineProperty(this, "layout", 'center');
|
|
55
54
|
_defineProperty(this, "mediaNodes", []);
|
|
56
|
-
_defineProperty(this, "mediaGroupNodes", {});
|
|
57
55
|
_defineProperty(this, "destroyed", false);
|
|
58
56
|
_defineProperty(this, "removeOnCloseListener", () => {});
|
|
59
57
|
_defineProperty(this, "onPopupToggleCallback", () => {});
|
|
@@ -300,14 +298,14 @@ export class MediaPluginStateImplementation {
|
|
|
300
298
|
}
|
|
301
299
|
return;
|
|
302
300
|
});
|
|
303
|
-
_defineProperty(this, "
|
|
301
|
+
_defineProperty(this, "updateMediaSingleNodeAttrs", (id, attrs) => {
|
|
304
302
|
const {
|
|
305
303
|
view
|
|
306
304
|
} = this;
|
|
307
305
|
if (!view) {
|
|
308
306
|
return;
|
|
309
307
|
}
|
|
310
|
-
return
|
|
308
|
+
return updateMediaSingleNodeAttrs(id, attrs)(view.state, view.dispatch);
|
|
311
309
|
});
|
|
312
310
|
_defineProperty(this, "handleMediaState", state => {
|
|
313
311
|
switch (state.status) {
|
|
@@ -319,31 +317,6 @@ export class MediaPluginStateImplementation {
|
|
|
319
317
|
uploadErrorHandler(state);
|
|
320
318
|
}
|
|
321
319
|
break;
|
|
322
|
-
case 'mobile-upload-end':
|
|
323
|
-
const attrs = {
|
|
324
|
-
id: state.publicId || state.id
|
|
325
|
-
};
|
|
326
|
-
if (typeof state.collection === 'string') {
|
|
327
|
-
attrs.collection = state.collection;
|
|
328
|
-
}
|
|
329
|
-
this.updateMediaNodeAttrs(state.id, attrs, isMediaSingle(this.view.state.schema, state.fileMimeType));
|
|
330
|
-
delete this.mediaGroupNodes[state.id];
|
|
331
|
-
break;
|
|
332
|
-
}
|
|
333
|
-
});
|
|
334
|
-
_defineProperty(this, "setMediaGroupNode", (node, getPos) => {
|
|
335
|
-
this.mediaGroupNodes[node.attrs.id] = {
|
|
336
|
-
node,
|
|
337
|
-
getPos
|
|
338
|
-
};
|
|
339
|
-
});
|
|
340
|
-
_defineProperty(this, "removeNodeById", state => {
|
|
341
|
-
const {
|
|
342
|
-
id
|
|
343
|
-
} = state;
|
|
344
|
-
const mediaNodeWithPos = helpers.findMediaNode(this, id, isImage(state.fileMimeType));
|
|
345
|
-
if (mediaNodeWithPos) {
|
|
346
|
-
removeMediaNode(this.view, mediaNodeWithPos.node, mediaNodeWithPos.getPos);
|
|
347
320
|
}
|
|
348
321
|
});
|
|
349
322
|
_defineProperty(this, "removeSelectedMediaContainer", () => {
|
|
@@ -18,9 +18,6 @@ export const FilePreviewItem = ({
|
|
|
18
18
|
};
|
|
19
19
|
const renderMediaViewer = () => {
|
|
20
20
|
if (isMediaViewerVisible) {
|
|
21
|
-
const dataSource = {
|
|
22
|
-
list: []
|
|
23
|
-
};
|
|
24
21
|
const selectedNodeAttrs = getSelectedMediaContainerNodeAttrs(mediaPluginState);
|
|
25
22
|
if (selectedNodeAttrs && mediaPluginState.mediaClientConfig) {
|
|
26
23
|
const {
|
|
@@ -34,7 +31,7 @@ export const FilePreviewItem = ({
|
|
|
34
31
|
};
|
|
35
32
|
return /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement(MediaViewer, {
|
|
36
33
|
collectionName: collection,
|
|
37
|
-
|
|
34
|
+
items: [],
|
|
38
35
|
mediaClientConfig: mediaPluginState.mediaClientConfig,
|
|
39
36
|
selectedItem: identifier,
|
|
40
37
|
onClose: onMediaViewerClose
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { deleteSelection, splitBlock } from 'prosemirror-commands';
|
|
2
|
-
import { Fragment } from 'prosemirror-model';
|
|
3
2
|
import { NodeSelection } from 'prosemirror-state';
|
|
4
3
|
import { findPositionOfNodeBefore } from 'prosemirror-utils';
|
|
5
4
|
import { createParagraphNear, createNewParagraphBelow } from '../../../commands';
|
|
@@ -86,7 +85,7 @@ export const isInsidePotentialEmptyParagraph = state => {
|
|
|
86
85
|
} = state.selection;
|
|
87
86
|
return $from.parent.type === state.schema.nodes.paragraph && atTheBeginningOfBlock(state) && atTheEndOfBlock(state);
|
|
88
87
|
};
|
|
89
|
-
|
|
88
|
+
const posOfMediaGroupBelow = (state, $pos, prepend = true) => {
|
|
90
89
|
let adjacentPos;
|
|
91
90
|
let adjacentNode;
|
|
92
91
|
if (isSelectionNonMediaBlockNode(state)) {
|
|
@@ -111,23 +110,6 @@ export const posOfParentMediaGroup = (state, $pos, prepend = false) => {
|
|
|
111
110
|
}
|
|
112
111
|
return;
|
|
113
112
|
};
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* The function will return the position after current selection where mediaGroup can be inserted.
|
|
117
|
-
*/
|
|
118
|
-
export function endPositionForMedia(state, resolvedPos) {
|
|
119
|
-
const {
|
|
120
|
-
mediaGroup
|
|
121
|
-
} = state.schema.nodes;
|
|
122
|
-
let i = resolvedPos.depth;
|
|
123
|
-
for (; i > 1; i--) {
|
|
124
|
-
const nodeType = resolvedPos.node(i).type;
|
|
125
|
-
if (nodeType.validContent(Fragment.from(mediaGroup.create()))) {
|
|
126
|
-
break;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return resolvedPos.end(i) + 1;
|
|
130
|
-
}
|
|
131
113
|
export const removeMediaNode = (view, node, getPos) => {
|
|
132
114
|
const {
|
|
133
115
|
id
|
|
@@ -1,15 +1,56 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
|
+
import { WithProviders } from '@atlaskit/editor-common/provider-factory';
|
|
2
3
|
import Mention from '../ui/Mention';
|
|
3
4
|
import { useIntl } from 'react-intl-next';
|
|
4
5
|
import { messages } from '../messages';
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
import { isResolvingMentionProvider, MentionNameStatus } from '@atlaskit/mention';
|
|
7
|
+
import { isPromise } from '@atlaskit/mention/types';
|
|
8
|
+
const UNKNOWN_USER_ID = '_|unknown|_';
|
|
9
|
+
const MentionAssistiveTextComponent = ({
|
|
10
|
+
id,
|
|
11
|
+
text,
|
|
12
|
+
providers,
|
|
13
|
+
accessLevel,
|
|
14
|
+
mentionProvider
|
|
7
15
|
}) => {
|
|
16
|
+
const [resolvedName, setResolvedName] = useState(text);
|
|
8
17
|
const intl = useIntl();
|
|
9
|
-
|
|
18
|
+
const processName = name => {
|
|
19
|
+
if (name.status === MentionNameStatus.OK) {
|
|
20
|
+
return `@${name.name || ''}`;
|
|
21
|
+
} else {
|
|
22
|
+
return `@${UNKNOWN_USER_ID}`;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
if (mentionProvider) {
|
|
27
|
+
mentionProvider.then(async provider => {
|
|
28
|
+
if (!text && isResolvingMentionProvider(provider)) {
|
|
29
|
+
const nameDetail = provider.resolveMentionName(id);
|
|
30
|
+
if (isPromise(nameDetail)) {
|
|
31
|
+
return processName(await nameDetail);
|
|
32
|
+
} else {
|
|
33
|
+
return processName(nameDetail);
|
|
34
|
+
}
|
|
35
|
+
} else {
|
|
36
|
+
return text;
|
|
37
|
+
}
|
|
38
|
+
}).then(resolvedName => {
|
|
39
|
+
setResolvedName(resolvedName);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}, [id, text, mentionProvider]);
|
|
43
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
10
44
|
className: 'assistive'
|
|
11
|
-
}, `${intl.formatMessage(messages.mentionsNodeLabel)} ${
|
|
12
|
-
|
|
45
|
+
}, `${intl.formatMessage(messages.mentionsNodeLabel)} ${resolvedName}`), /*#__PURE__*/React.createElement("span", {
|
|
46
|
+
"aria-hidden": "true"
|
|
47
|
+
}, /*#__PURE__*/React.createElement(Mention, {
|
|
48
|
+
id: id,
|
|
49
|
+
text: resolvedName,
|
|
50
|
+
accessLevel: accessLevel,
|
|
51
|
+
providers: providers
|
|
52
|
+
})));
|
|
53
|
+
};
|
|
13
54
|
export const MentionNodeView = props => {
|
|
14
55
|
const {
|
|
15
56
|
providerFactory
|
|
@@ -19,14 +60,21 @@ export const MentionNodeView = props => {
|
|
|
19
60
|
text,
|
|
20
61
|
accessLevel
|
|
21
62
|
} = props.node.attrs;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
63
|
+
const renderAssistiveTextWithProviders = providers => {
|
|
64
|
+
const {
|
|
65
|
+
mentionProvider
|
|
66
|
+
} = providers;
|
|
67
|
+
return /*#__PURE__*/React.createElement(MentionAssistiveTextComponent, {
|
|
68
|
+
mentionProvider: mentionProvider,
|
|
69
|
+
id: id,
|
|
70
|
+
text: text,
|
|
71
|
+
providers: providerFactory,
|
|
72
|
+
accessLevel: accessLevel
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
return /*#__PURE__*/React.createElement(WithProviders, {
|
|
76
|
+
providers: ['mentionProvider', 'profilecardProvider'],
|
|
77
|
+
providerFactory: providerFactory,
|
|
78
|
+
renderNode: renderAssistiveTextWithProviders
|
|
79
|
+
});
|
|
32
80
|
};
|
|
@@ -4,7 +4,6 @@ import { Fragment } from 'prosemirror-model';
|
|
|
4
4
|
import { isResolvingMentionProvider } from '@atlaskit/mention/resource';
|
|
5
5
|
import { MENTION_ITEM_HEIGHT, MentionItem } from '@atlaskit/mention/item';
|
|
6
6
|
import { TypeAheadAvailableNodes } from '@atlaskit/editor-common/type-ahead';
|
|
7
|
-
import { TeamMentionHighlight, TeamMentionHighlightController } from '@atlaskit/mention/spotlight';
|
|
8
7
|
import { buildTypeAheadCancelPayload, buildTypeAheadInsertedPayload, buildTypeAheadInviteExposurePayload, buildTypeAheadInviteItemClickedPayload, buildTypeAheadInviteItemViewedPayload, buildTypeAheadRenderedPayload } from '../analytics';
|
|
9
8
|
import InviteItem, { INVITE_ITEM_DESCRIPTION } from '../ui/InviteItem';
|
|
10
9
|
import { isInviteItem, isTeamType, isTeamStats, shouldKeepInviteItem } from '../utils';
|
|
@@ -112,7 +111,7 @@ const buildAndSendElementsTypeAheadAnalytics = fireEvent => ({
|
|
|
112
111
|
const payload = buildTypeAheadRenderedPayload(duration, userOrTeamIds, query, teams);
|
|
113
112
|
fireEvent(payload);
|
|
114
113
|
};
|
|
115
|
-
|
|
114
|
+
|
|
116
115
|
/**
|
|
117
116
|
* When a team mention is selected, we render a team link and list of member/user mentions
|
|
118
117
|
* in editor content
|
|
@@ -185,17 +184,6 @@ export const createTypeAheadConfig = ({
|
|
|
185
184
|
if (CustomHighlightComponent) {
|
|
186
185
|
return /*#__PURE__*/React.createElement(CustomHighlightComponent, null);
|
|
187
186
|
}
|
|
188
|
-
const pluginState = getMentionPluginState(state);
|
|
189
|
-
const provider = pluginState.mentionProvider;
|
|
190
|
-
if (provider) {
|
|
191
|
-
const teamMentionProvider = provider;
|
|
192
|
-
if (isTeamMentionProvider(teamMentionProvider) && teamMentionProvider.mentionTypeaheadHighlightEnabled()) {
|
|
193
|
-
return /*#__PURE__*/React.createElement(TeamMentionHighlight, {
|
|
194
|
-
createTeamLink: teamMentionProvider.mentionTypeaheadCreateTeamPath(),
|
|
195
|
-
onClose: () => TeamMentionHighlightController.registerClosed()
|
|
196
|
-
});
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
187
|
return null;
|
|
200
188
|
},
|
|
201
189
|
getItems({
|
|
@@ -304,7 +292,6 @@ export const createTypeAheadConfig = ({
|
|
|
304
292
|
fireEvent(buildTypeAheadInsertedPayload(pickerElapsedTime, stats.keyCount.arrowUp, stats.keyCount.arrowDown, sessionId, mode, item.mention, sourceListItem.map(x => x.mention), query, pluginState.contextIdentifierProvider));
|
|
305
293
|
sessionId = uuid();
|
|
306
294
|
if (mentionProvider && isTeamType(userType)) {
|
|
307
|
-
TeamMentionHighlightController.registerTeamMention();
|
|
308
295
|
return insert(buildNodesForTeamMention(schema, item.mention, mentionProvider, sanitizePrivateContent));
|
|
309
296
|
}
|
|
310
297
|
|
|
@@ -5,9 +5,8 @@ import AddIcon from '@atlaskit/icon/glyph/add';
|
|
|
5
5
|
import { N300 } from '@atlaskit/theme/colors';
|
|
6
6
|
import React, { useCallback, useEffect } from 'react';
|
|
7
7
|
import { FormattedMessage, injectIntl } from 'react-intl-next';
|
|
8
|
-
import { avatarStyle, capitalizedStyle, mentionItemStyle, nameSectionStyle, rowStyle,
|
|
8
|
+
import { avatarStyle, capitalizedStyle, mentionItemStyle, nameSectionStyle, rowStyle, mentionItemSelectedStyle } from './styles';
|
|
9
9
|
import { messages } from '../../messages';
|
|
10
|
-
export const INVITE_ITEM_MIN_HEIGHT = AVATAR_HEIGHT + ROW_SIDE_PADDING * 2;
|
|
11
10
|
export const INVITE_ITEM_DESCRIPTION = {
|
|
12
11
|
id: 'invite-teammate'
|
|
13
12
|
};
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
2
2
|
import { setWindowHeight } from './commands';
|
|
3
3
|
import { createPluginState, mobileDimensionsPluginKey } from './plugin-factory';
|
|
4
|
-
|
|
5
|
-
// 44 pixels squared is the minimum size for a tap target as per Apple's UX design guidelines
|
|
6
|
-
export const MIN_TAP_SIZE_PX = 44;
|
|
7
4
|
const getInitialState = () => ({
|
|
8
5
|
keyboardHeight: -1,
|
|
9
6
|
mobilePaddingTop: 0,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { findSelectedNodeOfType, findParentNodeOfType } from 'prosemirror-utils';
|
|
2
2
|
import { PanelType } from '@atlaskit/adf-schema';
|
|
3
3
|
import { PanelSharedCssClassName } from '@atlaskit/editor-common/panel';
|
|
4
|
+
import { hexToEditorBackgroundPaletteColor } from '@atlaskit/editor-palette';
|
|
4
5
|
export const findPanel = (state, selection) => {
|
|
5
6
|
const {
|
|
6
7
|
panel
|
|
@@ -17,7 +18,9 @@ export const panelAttrsToDom = (attrs, allowCustomPanel) => {
|
|
|
17
18
|
} = attrs;
|
|
18
19
|
const isCustomPanel = panelType === PanelType.CUSTOM && allowCustomPanel;
|
|
19
20
|
const hasIcon = !isCustomPanel || !!panelIcon || !!panelIconId;
|
|
20
|
-
const
|
|
21
|
+
const tokenColor = panelColor && hexToEditorBackgroundPaletteColor(panelColor);
|
|
22
|
+
const panelBackgroundColor = tokenColor || panelColor;
|
|
23
|
+
const style = [`${panelColor && isCustomPanel ? `background-color: ${panelBackgroundColor};` : ''}`, `${hasIcon ? '' : 'padding-left: 12px;'}`].join('');
|
|
21
24
|
let panelAttrs = {
|
|
22
25
|
class: PanelSharedCssClassName.prefix,
|
|
23
26
|
'data-panel-type': panelType || PanelType.INFO,
|