@atlaskit/editor-core 176.0.2 → 177.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +2 -2
- package/CHANGELOG.md +114 -0
- package/codemods/{173.0.0-rename-unsafe-allowUndoRedoButton-prop.ts → 175.0.0-rename-unsafe-allowUndoRedoButton-prop.ts} +0 -0
- package/dist/cjs/create-editor/ReactEditorView.js +3 -1
- package/dist/cjs/create-editor/create-plugins-list.js +9 -6
- package/dist/cjs/create-editor/messages.js +17 -0
- package/dist/cjs/i18n/en.js +2 -2
- package/dist/cjs/i18n/en_GB.js +2 -2
- package/dist/cjs/i18n/en_ZZ.js +2 -2
- package/dist/cjs/i18n/index.js +4 -4
- package/dist/cjs/i18n/languages.js +9 -4
- package/dist/cjs/labs/next/presets/mobile.js +2 -2
- package/dist/cjs/labs/next/presets/preset.js +38 -6
- package/dist/cjs/plugins/annotation/nodeviews/index.js +1 -0
- package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/index.js +6 -1
- package/dist/cjs/plugins/breakout/ui/LayoutButton.js +5 -1
- package/dist/cjs/plugins/card/pm-plugins/doc.js +18 -29
- package/dist/cjs/plugins/card/pm-plugins/main.js +7 -21
- package/dist/cjs/plugins/card/toolbar.js +24 -8
- package/dist/cjs/plugins/card/ui/EditLinkToolbar.js +9 -5
- package/dist/cjs/plugins/card/ui/LinkToolbarAppearance.js +19 -53
- package/dist/cjs/plugins/card/utils.js +17 -3
- package/dist/cjs/plugins/collab-edit/actions.js +3 -3
- package/dist/cjs/plugins/copy-button/toolbar.js +5 -3
- package/dist/cjs/plugins/date/index.js +1 -7
- package/dist/cjs/plugins/date/ui/DatePicker/index.js +1 -2
- package/dist/cjs/plugins/emoji/index.js +7 -14
- package/dist/cjs/plugins/expand/pm-plugins/main.js +4 -1
- package/dist/cjs/plugins/expand/toolbar.js +1 -0
- package/dist/cjs/plugins/extension/commands.js +17 -2
- package/dist/cjs/plugins/extension/pm-plugins/main.js +10 -0
- package/dist/cjs/plugins/extension/toolbar.js +49 -7
- package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +11 -11
- package/dist/cjs/plugins/find-replace/ui/FindReplaceToolbarButton.js +7 -2
- package/dist/cjs/plugins/floating-toolbar/index.js +16 -4
- package/dist/cjs/plugins/floating-toolbar/ui/CheckboxModal.js +99 -0
- package/dist/cjs/plugins/floating-toolbar/ui/ConfirmationModal.js +10 -30
- package/dist/cjs/plugins/floating-toolbar/ui/Dropdown.js +16 -4
- package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +108 -55
- package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.js +1 -2
- package/dist/cjs/plugins/floating-toolbar/ui/ScrollButtons.js +29 -108
- package/dist/cjs/plugins/floating-toolbar/ui/SimpleModal.js +51 -0
- package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +27 -47
- package/dist/cjs/plugins/floating-toolbar/ui/messages.js +13 -3
- package/dist/cjs/plugins/floating-toolbar/utils.js +4 -19
- package/dist/cjs/plugins/help-dialog/index.js +3 -2
- package/dist/cjs/plugins/hyperlink/Toolbar.js +20 -1
- package/dist/cjs/plugins/hyperlink/ui/EditorLinkPicker/index.js +6 -3
- package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +5 -10
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +2 -1
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +2 -1
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +2 -1
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +2 -1
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -0
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/item.js +26 -12
- package/dist/cjs/plugins/layout/toolbar.js +1 -0
- package/dist/cjs/plugins/list/actions/outdent-list-items-selected.js +34 -4
- package/dist/cjs/plugins/list/commands/outdent-list.js +1 -1
- package/dist/cjs/plugins/list/index.js +6 -2
- package/dist/cjs/plugins/list/pm-plugins/input-rules/create-list-input-rule.js +13 -2
- package/dist/cjs/plugins/list/pm-plugins/input-rules/index.js +5 -2
- package/dist/cjs/plugins/list/pm-plugins/main.js +32 -10
- package/dist/cjs/plugins/media/index.js +35 -0
- package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +7 -6
- package/dist/cjs/plugins/media/nodeviews/mediaInline.js +3 -1
- package/dist/cjs/plugins/media/nodeviews/mediaNodeUpdater.js +70 -64
- package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +3 -1
- package/dist/cjs/plugins/media/pm-plugins/main.js +6 -0
- package/dist/cjs/plugins/media/toolbar/index.js +3 -0
- package/dist/cjs/plugins/media/utils/media-single.js +19 -3
- package/dist/cjs/plugins/panel/toolbar.js +1 -0
- package/dist/cjs/plugins/panel/utils.js +1 -1
- package/dist/cjs/plugins/paste/index.js +2 -1
- package/dist/cjs/plugins/paste/pm-plugins/analytics.js +19 -3
- package/dist/cjs/plugins/paste/pm-plugins/main.js +1 -1
- package/dist/cjs/plugins/paste/util/index.js +2 -2
- package/dist/cjs/plugins/placeholder/index.js +24 -47
- package/dist/cjs/plugins/placeholder/styles.js +2 -4
- package/dist/cjs/plugins/tasks-and-decisions/nodeviews/taskItem.js +7 -3
- package/dist/cjs/plugins/tasks-and-decisions/ui/ToolbarDecision/index.js +1 -0
- package/dist/cjs/plugins/text-color/ui/ToolbarTextColor/index.js +10 -5
- package/dist/cjs/plugins/text-formatting/ui/Toolbar/hooks/formatting-icons.js +5 -1
- package/dist/cjs/plugins/text-formatting/ui/Toolbar/single-toolbar-buttons.js +5 -1
- package/dist/cjs/plugins/toolbar-lists-indentation/ui/Toolbar.js +16 -6
- package/dist/cjs/plugins/type-ahead/index.js +2 -8
- package/dist/cjs/plugins/type-ahead/messages.js +44 -4
- package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +0 -1
- package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +17 -1
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +9 -4
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadListItem.js +8 -5
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +2 -1
- package/dist/cjs/plugins/type-ahead/utils.js +44 -2
- package/dist/cjs/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +6 -2
- package/dist/cjs/ui/Alignment/AlignmentButton/index.js +4 -1
- package/dist/cjs/ui/Appearance/Comment/Toolbar.js +1 -1
- package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +2 -1
- package/dist/cjs/ui/CollapsedEditor/index.js +4 -2
- package/dist/cjs/ui/ColorPickerButton/index.js +2 -1
- package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +3 -4
- package/dist/cjs/ui/ConfigPanel/FormContent.js +2 -1
- package/dist/cjs/ui/ContentStyles/index.js +1 -1
- package/dist/cjs/ui/LinkSearch/ToolbarComponents.js +3 -1
- package/dist/cjs/ui/ToolbarArrowKeyNavigationProvider/index.js +55 -33
- package/dist/cjs/utils/commands.js +25 -13
- package/dist/cjs/utils/input-rules.js +26 -2
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/create-editor/ReactEditorView.js +2 -1
- package/dist/es2019/create-editor/create-plugins-list.js +9 -6
- package/dist/es2019/create-editor/messages.js +8 -0
- package/dist/es2019/i18n/en.js +2 -2
- package/dist/es2019/i18n/en_GB.js +2 -2
- package/dist/es2019/i18n/en_ZZ.js +2 -2
- package/dist/es2019/i18n/index.js +4 -4
- package/dist/es2019/i18n/languages.js +9 -4
- package/dist/es2019/labs/next/presets/mobile.js +2 -2
- package/dist/es2019/labs/next/presets/preset.js +28 -7
- package/dist/es2019/plugins/annotation/nodeviews/index.js +1 -0
- package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/index.js +5 -1
- package/dist/es2019/plugins/breakout/ui/LayoutButton.js +4 -1
- package/dist/es2019/plugins/card/pm-plugins/doc.js +10 -19
- package/dist/es2019/plugins/card/pm-plugins/main.js +4 -19
- package/dist/es2019/plugins/card/toolbar.js +19 -2
- package/dist/es2019/plugins/card/ui/EditLinkToolbar.js +8 -6
- package/dist/es2019/plugins/card/ui/LinkToolbarAppearance.js +7 -36
- package/dist/es2019/plugins/card/utils.js +15 -2
- package/dist/es2019/plugins/collab-edit/actions.js +3 -3
- package/dist/es2019/plugins/copy-button/toolbar.js +5 -3
- package/dist/es2019/plugins/date/index.js +0 -7
- package/dist/es2019/plugins/date/ui/DatePicker/index.js +1 -2
- package/dist/es2019/plugins/emoji/index.js +7 -13
- package/dist/es2019/plugins/expand/pm-plugins/main.js +3 -3
- package/dist/es2019/plugins/expand/toolbar.js +1 -0
- package/dist/es2019/plugins/extension/commands.js +10 -1
- package/dist/es2019/plugins/extension/pm-plugins/main.js +10 -0
- package/dist/es2019/plugins/extension/toolbar.js +43 -8
- package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +11 -11
- package/dist/es2019/plugins/find-replace/ui/FindReplaceToolbarButton.js +7 -3
- package/dist/es2019/plugins/floating-toolbar/index.js +15 -5
- package/dist/es2019/plugins/floating-toolbar/ui/CheckboxModal.js +70 -0
- package/dist/es2019/plugins/floating-toolbar/ui/ConfirmationModal.js +8 -27
- package/dist/es2019/plugins/floating-toolbar/ui/Dropdown.js +17 -4
- package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +96 -50
- package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.js +1 -1
- package/dist/es2019/plugins/floating-toolbar/ui/ScrollButtons.js +29 -76
- package/dist/es2019/plugins/floating-toolbar/ui/SimpleModal.js +32 -0
- package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +26 -46
- package/dist/es2019/plugins/floating-toolbar/ui/messages.js +14 -4
- package/dist/es2019/plugins/floating-toolbar/utils.js +4 -17
- package/dist/es2019/plugins/help-dialog/index.js +2 -2
- package/dist/es2019/plugins/hyperlink/Toolbar.js +18 -2
- package/dist/es2019/plugins/hyperlink/ui/EditorLinkPicker/index.js +9 -2
- package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +5 -9
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +2 -1
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +2 -1
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +2 -1
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +2 -1
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -0
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/item.js +25 -12
- package/dist/es2019/plugins/layout/toolbar.js +1 -0
- package/dist/es2019/plugins/list/actions/outdent-list-items-selected.js +24 -4
- package/dist/es2019/plugins/list/commands/outdent-list.js +1 -1
- package/dist/es2019/plugins/list/index.js +7 -3
- package/dist/es2019/plugins/list/pm-plugins/input-rules/create-list-input-rule.js +13 -2
- package/dist/es2019/plugins/list/pm-plugins/input-rules/index.js +5 -2
- package/dist/es2019/plugins/list/pm-plugins/main.js +31 -11
- package/dist/es2019/plugins/media/index.js +38 -0
- package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +6 -5
- package/dist/es2019/plugins/media/nodeviews/mediaInline.js +3 -1
- package/dist/es2019/plugins/media/nodeviews/mediaNodeUpdater.js +2 -2
- package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +3 -1
- package/dist/es2019/plugins/media/pm-plugins/main.js +7 -0
- package/dist/es2019/plugins/media/toolbar/index.js +3 -0
- package/dist/es2019/plugins/media/utils/media-single.js +20 -3
- package/dist/es2019/plugins/panel/toolbar.js +1 -0
- package/dist/es2019/plugins/panel/utils.js +1 -1
- package/dist/es2019/plugins/paste/index.js +2 -1
- package/dist/es2019/plugins/paste/pm-plugins/analytics.js +15 -2
- package/dist/es2019/plugins/paste/pm-plugins/main.js +1 -1
- package/dist/es2019/plugins/paste/util/index.js +2 -2
- package/dist/es2019/plugins/placeholder/index.js +21 -47
- package/dist/es2019/plugins/placeholder/styles.js +1 -19
- package/dist/es2019/plugins/tasks-and-decisions/nodeviews/taskItem.js +6 -3
- package/dist/es2019/plugins/tasks-and-decisions/ui/ToolbarDecision/index.js +1 -0
- package/dist/es2019/plugins/text-color/ui/ToolbarTextColor/index.js +8 -7
- package/dist/es2019/plugins/text-formatting/ui/Toolbar/hooks/formatting-icons.js +4 -1
- package/dist/es2019/plugins/text-formatting/ui/Toolbar/single-toolbar-buttons.js +18 -12
- package/dist/es2019/plugins/toolbar-lists-indentation/ui/Toolbar.js +16 -7
- package/dist/es2019/plugins/type-ahead/index.js +2 -2
- package/dist/es2019/plugins/type-ahead/messages.js +44 -4
- package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +0 -1
- package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +17 -1
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +10 -5
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +8 -5
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +2 -1
- package/dist/es2019/plugins/type-ahead/utils.js +38 -0
- package/dist/es2019/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +6 -3
- package/dist/es2019/ui/Alignment/AlignmentButton/index.js +4 -2
- package/dist/es2019/ui/Appearance/Comment/Toolbar.js +2 -2
- package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +2 -1
- package/dist/es2019/ui/CollapsedEditor/index.js +3 -2
- package/dist/es2019/ui/ColorPickerButton/index.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +4 -5
- package/dist/es2019/ui/ConfigPanel/FormContent.js +3 -3
- package/dist/es2019/ui/ContentStyles/index.js +7 -2
- package/dist/es2019/ui/LinkSearch/ToolbarComponents.js +1 -0
- package/dist/es2019/ui/ToolbarArrowKeyNavigationProvider/index.js +56 -34
- package/dist/es2019/utils/commands.js +26 -14
- package/dist/es2019/utils/input-rules.js +22 -1
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/create-editor/ReactEditorView.js +2 -1
- package/dist/esm/create-editor/create-plugins-list.js +9 -6
- package/dist/esm/create-editor/messages.js +8 -0
- package/dist/esm/i18n/en.js +2 -2
- package/dist/esm/i18n/en_GB.js +2 -2
- package/dist/esm/i18n/en_ZZ.js +2 -2
- package/dist/esm/i18n/index.js +4 -4
- package/dist/esm/i18n/languages.js +9 -4
- package/dist/esm/labs/next/presets/mobile.js +2 -2
- package/dist/esm/labs/next/presets/preset.js +36 -6
- package/dist/esm/plugins/annotation/nodeviews/index.js +1 -0
- package/dist/esm/plugins/block-type/ui/ToolbarBlockType/index.js +5 -1
- package/dist/esm/plugins/breakout/ui/LayoutButton.js +4 -1
- package/dist/esm/plugins/card/pm-plugins/doc.js +10 -20
- package/dist/esm/plugins/card/pm-plugins/main.js +4 -17
- package/dist/esm/plugins/card/toolbar.js +24 -8
- package/dist/esm/plugins/card/ui/EditLinkToolbar.js +8 -6
- package/dist/esm/plugins/card/ui/LinkToolbarAppearance.js +9 -39
- package/dist/esm/plugins/card/utils.js +15 -2
- package/dist/esm/plugins/collab-edit/actions.js +3 -3
- package/dist/esm/plugins/copy-button/toolbar.js +5 -3
- package/dist/esm/plugins/date/index.js +1 -6
- package/dist/esm/plugins/date/ui/DatePicker/index.js +1 -2
- package/dist/esm/plugins/emoji/index.js +7 -13
- package/dist/esm/plugins/expand/pm-plugins/main.js +3 -3
- package/dist/esm/plugins/expand/toolbar.js +1 -0
- package/dist/esm/plugins/extension/commands.js +12 -1
- package/dist/esm/plugins/extension/pm-plugins/main.js +10 -0
- package/dist/esm/plugins/extension/toolbar.js +50 -8
- package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +11 -11
- package/dist/esm/plugins/find-replace/ui/FindReplaceToolbarButton.js +7 -3
- package/dist/esm/plugins/floating-toolbar/index.js +16 -4
- package/dist/esm/plugins/floating-toolbar/ui/CheckboxModal.js +75 -0
- package/dist/esm/plugins/floating-toolbar/ui/ConfirmationModal.js +11 -25
- package/dist/esm/plugins/floating-toolbar/ui/Dropdown.js +17 -4
- package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +100 -47
- package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.js +1 -1
- package/dist/esm/plugins/floating-toolbar/ui/ScrollButtons.js +29 -108
- package/dist/esm/plugins/floating-toolbar/ui/SimpleModal.js +30 -0
- package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +27 -47
- package/dist/esm/plugins/floating-toolbar/ui/messages.js +13 -3
- package/dist/esm/plugins/floating-toolbar/utils.js +4 -17
- package/dist/esm/plugins/help-dialog/index.js +3 -2
- package/dist/esm/plugins/hyperlink/Toolbar.js +20 -2
- package/dist/esm/plugins/hyperlink/ui/EditorLinkPicker/index.js +10 -3
- package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/index.js +5 -10
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +2 -1
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +2 -1
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +2 -1
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +2 -1
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -0
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/item.js +25 -12
- package/dist/esm/plugins/layout/toolbar.js +1 -0
- package/dist/esm/plugins/list/actions/outdent-list-items-selected.js +30 -4
- package/dist/esm/plugins/list/commands/outdent-list.js +1 -1
- package/dist/esm/plugins/list/index.js +7 -3
- package/dist/esm/plugins/list/pm-plugins/input-rules/create-list-input-rule.js +13 -2
- package/dist/esm/plugins/list/pm-plugins/input-rules/index.js +5 -2
- package/dist/esm/plugins/list/pm-plugins/main.js +31 -11
- package/dist/esm/plugins/media/index.js +33 -0
- package/dist/esm/plugins/media/nodeviews/mediaGroup.js +7 -6
- package/dist/esm/plugins/media/nodeviews/mediaInline.js +3 -1
- package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +70 -64
- package/dist/esm/plugins/media/nodeviews/mediaSingle.js +3 -1
- package/dist/esm/plugins/media/pm-plugins/main.js +7 -0
- package/dist/esm/plugins/media/toolbar/index.js +3 -0
- package/dist/esm/plugins/media/utils/media-single.js +18 -3
- package/dist/esm/plugins/panel/toolbar.js +1 -0
- package/dist/esm/plugins/panel/utils.js +1 -1
- package/dist/esm/plugins/paste/index.js +2 -1
- package/dist/esm/plugins/paste/pm-plugins/analytics.js +15 -2
- package/dist/esm/plugins/paste/pm-plugins/main.js +1 -1
- package/dist/esm/plugins/paste/util/index.js +2 -2
- package/dist/esm/plugins/placeholder/index.js +23 -45
- package/dist/esm/plugins/placeholder/styles.js +1 -2
- package/dist/esm/plugins/tasks-and-decisions/nodeviews/taskItem.js +6 -3
- package/dist/esm/plugins/tasks-and-decisions/ui/ToolbarDecision/index.js +1 -0
- package/dist/esm/plugins/text-color/ui/ToolbarTextColor/index.js +9 -5
- package/dist/esm/plugins/text-formatting/ui/Toolbar/hooks/formatting-icons.js +4 -1
- package/dist/esm/plugins/text-formatting/ui/Toolbar/single-toolbar-buttons.js +5 -1
- package/dist/esm/plugins/toolbar-lists-indentation/ui/Toolbar.js +16 -7
- package/dist/esm/plugins/type-ahead/index.js +2 -2
- package/dist/esm/plugins/type-ahead/messages.js +44 -4
- package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +0 -1
- package/dist/esm/plugins/type-ahead/ui/InputQuery.js +17 -1
- package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +10 -5
- package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +8 -5
- package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +2 -1
- package/dist/esm/plugins/type-ahead/utils.js +38 -0
- package/dist/esm/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +6 -3
- package/dist/esm/ui/Alignment/AlignmentButton/index.js +4 -2
- package/dist/esm/ui/Appearance/Comment/Toolbar.js +2 -2
- package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +2 -1
- package/dist/esm/ui/CollapsedEditor/index.js +3 -2
- package/dist/esm/ui/ColorPickerButton/index.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +4 -5
- package/dist/esm/ui/ConfigPanel/FormContent.js +3 -3
- package/dist/esm/ui/ContentStyles/index.js +1 -1
- package/dist/esm/ui/LinkSearch/ToolbarComponents.js +1 -0
- package/dist/esm/ui/ToolbarArrowKeyNavigationProvider/index.js +56 -34
- package/dist/esm/utils/commands.js +25 -13
- package/dist/esm/utils/input-rules.js +23 -1
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/create-editor/messages.d.ts +7 -0
- package/dist/types/i18n/index.d.ts +4 -4
- package/dist/types/i18n/languages.d.ts +8 -3
- package/dist/types/labs/next/presets/cxhtml.d.ts +1 -1
- package/dist/types/labs/next/presets/default.d.ts +2 -2
- package/dist/types/labs/next/presets/mobile.d.ts +1 -1
- package/dist/types/labs/next/presets/preset.d.ts +10 -6
- package/dist/types/plugins/alignment/index.d.ts +2 -2
- package/dist/types/plugins/analytics/plugin.d.ts +2 -2
- package/dist/types/plugins/annotation/index.d.ts +2 -2
- package/dist/types/plugins/avatar-group/index.d.ts +4 -3
- package/dist/types/plugins/base/index.d.ts +2 -2
- package/dist/types/plugins/before-primaryToolbar/index.d.ts +4 -3
- package/dist/types/plugins/block-type/index.d.ts +2 -2
- package/dist/types/plugins/block-type/ui/ToolbarBlockType/index.d.ts +1 -1
- package/dist/types/plugins/breakout/index.d.ts +2 -2
- package/dist/types/plugins/caption/index.d.ts +2 -2
- package/dist/types/plugins/card/index.d.ts +2 -2
- package/dist/types/plugins/card/pm-plugins/doc.d.ts +4 -4
- package/dist/types/plugins/card/pm-plugins/main.d.ts +1 -1
- package/dist/types/plugins/card/ui/EditLinkToolbar.d.ts +1 -1
- package/dist/types/plugins/card/ui/LinkToolbarAppearance.d.ts +5 -5
- package/dist/types/plugins/card/utils.d.ts +2 -1
- package/dist/types/plugins/clear-marks-on-change-to-empty-document/index.d.ts +2 -2
- package/dist/types/plugins/clipboard/index.d.ts +2 -2
- package/dist/types/plugins/code-bidi-warning/index.d.ts +4 -3
- package/dist/types/plugins/code-block/index.d.ts +2 -2
- package/dist/types/plugins/collab-edit/actions.d.ts +1 -1
- package/dist/types/plugins/collab-edit/index.d.ts +2 -2
- package/dist/types/plugins/context-panel/index.d.ts +2 -2
- package/dist/types/plugins/copy-button/index.d.ts +2 -2
- package/dist/types/plugins/custom-autoformat/index.d.ts +2 -2
- package/dist/types/plugins/data-consumer/index.d.ts +2 -2
- package/dist/types/plugins/date/index.d.ts +2 -2
- package/dist/types/plugins/date/ui/DatePicker/index.d.ts +0 -1
- package/dist/types/plugins/editor-disabled/index.d.ts +2 -2
- package/dist/types/plugins/emoji/index.d.ts +2 -2
- package/dist/types/plugins/emoji/types.d.ts +2 -1
- package/dist/types/plugins/expand/index.d.ts +2 -2
- package/dist/types/plugins/expand/pm-plugins/main.d.ts +1 -0
- package/dist/types/plugins/extension/commands.d.ts +2 -0
- package/dist/types/plugins/extension/index.d.ts +2 -2
- package/dist/types/plugins/extension/toolbar.d.ts +10 -0
- package/dist/types/plugins/fake-text-cursor/index.d.ts +2 -2
- package/dist/types/plugins/feature-flags-context/index.d.ts +2 -2
- package/dist/types/plugins/feedback-dialog/index.d.ts +3 -2
- package/dist/types/plugins/find-replace/index.d.ts +4 -3
- package/dist/types/plugins/floating-toolbar/index.d.ts +2 -2
- package/dist/types/plugins/floating-toolbar/ui/CheckboxModal.d.ts +4 -0
- package/dist/types/plugins/floating-toolbar/ui/ConfirmationModal.d.ts +1 -8
- package/dist/types/plugins/floating-toolbar/ui/Dropdown.d.ts +3 -0
- package/dist/types/plugins/floating-toolbar/ui/DropdownMenu.d.ts +4 -0
- package/dist/types/plugins/floating-toolbar/ui/SimpleModal.d.ts +4 -0
- package/dist/types/plugins/floating-toolbar/ui/messages.d.ts +10 -0
- package/dist/types/plugins/floating-toolbar/ui/types.d.ts +1 -1
- package/dist/types/plugins/floating-toolbar/utils.d.ts +2 -3
- package/dist/types/plugins/fragment/index.d.ts +2 -2
- package/dist/types/plugins/grid/index.d.ts +2 -2
- package/dist/types/plugins/help-dialog/index.d.ts +2 -3
- package/dist/types/plugins/history/index.d.ts +2 -2
- package/dist/types/plugins/hyperlink/index.d.ts +2 -2
- package/dist/types/plugins/hyperlink/ui/EditorLinkPicker/index.d.ts +7 -2
- package/dist/types/plugins/hyperlink/ui/HyperlinkAddToolbar/index.d.ts +2 -1
- package/dist/types/plugins/image-upload/index.d.ts +2 -2
- package/dist/types/plugins/indentation/index.d.ts +2 -2
- package/dist/types/plugins/insert-block/index.d.ts +2 -2
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.d.ts +1 -0
- package/dist/types/plugins/jira-issue/index.d.ts +2 -2
- package/dist/types/plugins/layout/index.d.ts +2 -2
- package/dist/types/plugins/list/actions/outdent-list-items-selected.d.ts +2 -2
- package/dist/types/plugins/list/index.d.ts +3 -2
- package/dist/types/plugins/list/pm-plugins/input-rules/create-list-input-rule.d.ts +3 -1
- package/dist/types/plugins/list/pm-plugins/main.d.ts +2 -2
- package/dist/types/plugins/list/types.d.ts +2 -0
- package/dist/types/plugins/macro/index.d.ts +2 -2
- package/dist/types/plugins/max-content-size/index.d.ts +2 -2
- package/dist/types/plugins/media/index.d.ts +2 -2
- package/dist/types/plugins/media/nodeviews/mediaNodeUpdater.d.ts +2 -1
- package/dist/types/plugins/media/pm-plugins/main.d.ts +1 -0
- package/dist/types/plugins/media/pm-plugins/types.d.ts +1 -0
- package/dist/types/plugins/mentions/index.d.ts +2 -2
- package/dist/types/plugins/mobile-dimensions/index.d.ts +2 -2
- package/dist/types/plugins/mobile-selection/mobile-selection-plugin.d.ts +2 -2
- package/dist/types/plugins/panel/index.d.ts +2 -2
- package/dist/types/plugins/paste/index.d.ts +3 -2
- package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +1 -0
- package/dist/types/plugins/placeholder/index.d.ts +4 -4
- package/dist/types/plugins/placeholder/styles.d.ts +0 -1
- package/dist/types/plugins/placeholder-text/index.d.ts +2 -2
- package/dist/types/plugins/quick-insert/index.d.ts +2 -2
- package/dist/types/plugins/rule/index.d.ts +2 -2
- package/dist/types/plugins/save-on-enter/index.d.ts +3 -2
- package/dist/types/plugins/scroll-into-view/index.d.ts +2 -2
- package/dist/types/plugins/selection/index.d.ts +2 -2
- package/dist/types/plugins/status/index.d.ts +2 -2
- package/dist/types/plugins/submit-editor/index.d.ts +4 -2
- package/dist/types/plugins/tasks-and-decisions/index.d.ts +2 -2
- package/dist/types/plugins/text-color/index.d.ts +3 -2
- package/dist/types/plugins/text-formatting/index.d.ts +2 -2
- package/dist/types/plugins/toolbar-lists-indentation/index.d.ts +4 -3
- package/dist/types/plugins/type-ahead/index.d.ts +2 -2
- package/dist/types/plugins/type-ahead/messages.d.ts +41 -1
- package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +3 -1
- package/dist/types/plugins/type-ahead/ui/TypeAheadListItem.d.ts +1 -0
- package/dist/types/plugins/type-ahead/utils.d.ts +7 -1
- package/dist/types/plugins/undo-redo/index.d.ts +2 -2
- package/dist/types/plugins/unsupported-content/index.d.ts +2 -2
- package/dist/types/plugins/view-update-subscription/index.d.ts +2 -2
- package/dist/types/plugins/width/index.d.ts +2 -2
- package/dist/types/test-utils.d.ts +2 -1
- package/dist/types/types/editor-plugin.d.ts +1 -1
- package/dist/types/types/editor-props.d.ts +0 -2
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +3 -3
- package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
- package/dist/types/ui/ConfigPanel/Fields/Fieldset.d.ts +2 -1
- package/dist/types/ui/ConfigPanel/FormContent.d.ts +2 -23
- package/dist/types/ui/ConfigPanel/types.d.ts +22 -0
- package/dist/types/ui/ContentStyles/index.d.ts +2 -2
- package/dist/types/ui/LinkSearch/ToolbarComponents.d.ts +1 -0
- package/dist/types/ui/ToolbarArrowKeyNavigationProvider/index.d.ts +4 -1
- package/package.json +24 -24
- package/report.api.md +25 -16
- package/dist/cjs/plugins/card/ui/LinkToolbarIconDropdown.js +0 -181
- package/dist/cjs/plugins/card/ui/link-toolbar-icon-dropdown-options.js +0 -66
- package/dist/cjs/plugins/emoji/ui/EmojiContextProvider/index.js +0 -61
- package/dist/es2019/plugins/card/ui/LinkToolbarIconDropdown.js +0 -151
- package/dist/es2019/plugins/card/ui/link-toolbar-icon-dropdown-options.js +0 -51
- package/dist/es2019/plugins/emoji/ui/EmojiContextProvider/index.js +0 -21
- package/dist/esm/plugins/card/ui/LinkToolbarIconDropdown.js +0 -161
- package/dist/esm/plugins/card/ui/link-toolbar-icon-dropdown-options.js +0 -51
- package/dist/esm/plugins/emoji/ui/EmojiContextProvider/index.js +0 -46
- package/dist/types/plugins/card/ui/LinkToolbarIconDropdown.d.ts +0 -25
- package/dist/types/plugins/card/ui/link-toolbar-icon-dropdown-options.d.ts +0 -5
- package/dist/types/plugins/emoji/ui/EmojiContextProvider/index.d.ts +0 -13
|
@@ -41,7 +41,7 @@ export function createPlugin(dispatch, imageEnabled) {
|
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
const helpDialog =
|
|
44
|
+
const helpDialog = (imageUploadProviderExists = false) => ({
|
|
45
45
|
name: 'helpDialog',
|
|
46
46
|
|
|
47
47
|
pmPlugins() {
|
|
@@ -49,7 +49,7 @@ const helpDialog = legacyImageUploadProvider => ({
|
|
|
49
49
|
name: 'helpDialog',
|
|
50
50
|
plugin: ({
|
|
51
51
|
dispatch
|
|
52
|
-
}) => createPlugin(dispatch,
|
|
52
|
+
}) => createPlugin(dispatch, imageUploadProviderExists)
|
|
53
53
|
}, {
|
|
54
54
|
name: 'helpDialogKeymap',
|
|
55
55
|
plugin: () => keymapPlugin()
|
|
@@ -8,7 +8,7 @@ import OpenIcon from '@atlaskit/icon/glyph/shortcut';
|
|
|
8
8
|
import { normalizeUrl } from './utils';
|
|
9
9
|
import { linkToolbarMessages as linkToolbarCommonMessages, linkMessages } from '../../messages';
|
|
10
10
|
import { isSafeUrl } from '@atlaskit/adf-schema';
|
|
11
|
-
import { RECENT_SEARCH_HEIGHT_IN_PX, RECENT_SEARCH_WIDTH_IN_PX } from '../../ui/LinkSearch/ToolbarComponents';
|
|
11
|
+
import { LINKPICKER_HEIGHT_IN_PX, RECENT_SEARCH_HEIGHT_IN_PX, RECENT_SEARCH_WIDTH_IN_PX } from '../../ui/LinkSearch/ToolbarComponents';
|
|
12
12
|
import { HyperlinkToolbarAppearance } from './HyperlinkToolbarAppearance';
|
|
13
13
|
import { addAnalytics, ACTION_SUBJECT_ID } from '../analytics';
|
|
14
14
|
import { buildVisitedLinkPayload, buildOpenedSettingsPayload } from '../../utils/linking-utils';
|
|
@@ -73,6 +73,16 @@ export const getToolbarConfig = options => (state, intl, providerFactory) => {
|
|
|
73
73
|
formatMessage
|
|
74
74
|
} = intl;
|
|
75
75
|
const linkState = stateKey.getState(state);
|
|
76
|
+
/**
|
|
77
|
+
* Enable focus trap only if feature flag is enabled AND for the new version of the picker
|
|
78
|
+
*/
|
|
79
|
+
|
|
80
|
+
const {
|
|
81
|
+
lpLinkPicker,
|
|
82
|
+
lpLinkPickerFocusTrap,
|
|
83
|
+
preventPopupOverflow
|
|
84
|
+
} = getFeatureFlags(state);
|
|
85
|
+
const shouldEnableFocusTrap = lpLinkPicker && lpLinkPickerFocusTrap;
|
|
76
86
|
|
|
77
87
|
if (linkState && linkState.activeLinkMark) {
|
|
78
88
|
const {
|
|
@@ -177,6 +187,8 @@ export const getToolbarConfig = options => (state, intl, providerFactory) => {
|
|
|
177
187
|
case 'EDIT_INSERTED':
|
|
178
188
|
case 'INSERT':
|
|
179
189
|
{
|
|
190
|
+
var _options$linkPicker, _options$linkPicker$p;
|
|
191
|
+
|
|
180
192
|
let link;
|
|
181
193
|
|
|
182
194
|
if (isEditLink(activeLinkMark) && activeLinkMark.node) {
|
|
@@ -185,9 +197,12 @@ export const getToolbarConfig = options => (state, intl, providerFactory) => {
|
|
|
185
197
|
}
|
|
186
198
|
|
|
187
199
|
const displayText = isEditLink(activeLinkMark) ? getLinkText(activeLinkMark, state) : linkState.activeText;
|
|
200
|
+
const popupHeight = lpLinkPicker && Boolean(options === null || options === void 0 ? void 0 : (_options$linkPicker = options.linkPicker) === null || _options$linkPicker === void 0 ? void 0 : (_options$linkPicker$p = _options$linkPicker.plugins) === null || _options$linkPicker$p === void 0 ? void 0 : _options$linkPicker$p.length) ? LINKPICKER_HEIGHT_IN_PX : RECENT_SEARCH_HEIGHT_IN_PX;
|
|
188
201
|
return { ...hyperLinkToolbar,
|
|
189
|
-
|
|
202
|
+
preventPopupOverflow,
|
|
203
|
+
height: popupHeight,
|
|
190
204
|
width: RECENT_SEARCH_WIDTH_IN_PX,
|
|
205
|
+
focusTrap: shouldEnableFocusTrap,
|
|
191
206
|
items: [{
|
|
192
207
|
type: 'custom',
|
|
193
208
|
fallback: [],
|
|
@@ -204,6 +219,7 @@ export const getToolbarConfig = options => (state, intl, providerFactory) => {
|
|
|
204
219
|
displayUrl: link,
|
|
205
220
|
displayText: displayText || '',
|
|
206
221
|
providerFactory: providerFactory,
|
|
222
|
+
onCancel: () => view.focus(),
|
|
207
223
|
onSubmit: (href, title = '', displayText, inputMethod) => {
|
|
208
224
|
var _options$cardOptions;
|
|
209
225
|
|
|
@@ -4,17 +4,24 @@ import { LinkPicker } from '@atlaskit/link-picker';
|
|
|
4
4
|
import { hideLinkToolbar as cardHideLinkToolbar } from '../../../card/pm-plugins/actions';
|
|
5
5
|
import { hideLinkToolbar } from '../../commands';
|
|
6
6
|
import { useEscapeClickaway } from './useEscapeClickaway';
|
|
7
|
+
/**
|
|
8
|
+
* Returns a type that matches T but where keys (K) are now optional
|
|
9
|
+
*/
|
|
10
|
+
|
|
7
11
|
export const EditorLinkPicker = ({
|
|
8
12
|
view,
|
|
13
|
+
onCancel,
|
|
9
14
|
...restProps
|
|
10
15
|
}) => {
|
|
11
16
|
const onEscape = useCallback(() => {
|
|
12
17
|
hideLinkToolbar()(view.state, view.dispatch);
|
|
13
18
|
view.dispatch(cardHideLinkToolbar(view.state.tr));
|
|
14
|
-
|
|
19
|
+
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
20
|
+
}, [view, onCancel]);
|
|
15
21
|
const onClickAway = useCallback(() => {
|
|
16
22
|
hideLinkToolbar()(view.state, view.dispatch);
|
|
17
|
-
|
|
23
|
+
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
24
|
+
}, [view, onCancel]);
|
|
18
25
|
const ref = useEscapeClickaway(onEscape, onClickAway);
|
|
19
26
|
return /*#__PURE__*/React.createElement("div", {
|
|
20
27
|
ref: ref
|
|
@@ -29,7 +29,8 @@ export default class HyperlinkAddToolbar extends React.PureComponent {
|
|
|
29
29
|
displayText,
|
|
30
30
|
displayUrl,
|
|
31
31
|
providerFactory,
|
|
32
|
-
view
|
|
32
|
+
view,
|
|
33
|
+
onCancel
|
|
33
34
|
} = this.props;
|
|
34
35
|
return /*#__PURE__*/React.createElement(WithProviders, {
|
|
35
36
|
providers: ['activityProvider', 'searchProvider'],
|
|
@@ -45,23 +46,18 @@ export default class HyperlinkAddToolbar extends React.PureComponent {
|
|
|
45
46
|
render: ({
|
|
46
47
|
hyperlinkPluginState
|
|
47
48
|
}) => {
|
|
48
|
-
var _linkPickerOptions$pl;
|
|
49
|
-
|
|
50
49
|
const {
|
|
51
50
|
lpLinkPicker
|
|
52
51
|
} = getFeatureFlags(view.state);
|
|
53
|
-
/**
|
|
54
|
-
* If activityProvider or searchProvider are present then only enable if there are plugins supplied to
|
|
55
|
-
* faciliate providing link search capabilities
|
|
56
|
-
*/
|
|
57
52
|
|
|
58
|
-
if (lpLinkPicker
|
|
53
|
+
if (lpLinkPicker) {
|
|
59
54
|
return /*#__PURE__*/React.createElement(EditorLinkPicker, _extends({
|
|
60
55
|
view: view
|
|
61
56
|
}, linkPickerOptions, {
|
|
62
57
|
url: displayUrl,
|
|
63
58
|
displayText: displayText,
|
|
64
|
-
onSubmit: onSubmitInterface(onSubmit)
|
|
59
|
+
onSubmit: onSubmitInterface(onSubmit),
|
|
60
|
+
onCancel: onCancel
|
|
65
61
|
}));
|
|
66
62
|
}
|
|
67
63
|
|
|
@@ -24,7 +24,8 @@ export const DropDownButton = /*#__PURE__*/React.memo(props => jsx(ToolbarButton
|
|
|
24
24
|
spacing: props.spacing,
|
|
25
25
|
"aria-expanded": props['aria-expanded'],
|
|
26
26
|
"aria-haspopup": props['aria-haspopup'],
|
|
27
|
-
"aria-
|
|
27
|
+
"aria-keyshortcuts": props['aria-keyshortcuts'],
|
|
28
|
+
"aria-label": `${props.label} /`,
|
|
28
29
|
iconBefore: jsx(DropDownButtonIcon, {
|
|
29
30
|
label: ""
|
|
30
31
|
}),
|
|
@@ -547,6 +547,7 @@ export class ToolbarInsertBlock extends React.PureComponent {
|
|
|
547
547
|
css: buttonGroupStyle
|
|
548
548
|
}, buttons.map(btn => jsx(ToolbarButton, {
|
|
549
549
|
item: btn,
|
|
550
|
+
testId: String(btn.content),
|
|
550
551
|
ref: btn.value.name === 'emoji' ? this.handleEmojiButtonRef : noop,
|
|
551
552
|
key: btn.value.name,
|
|
552
553
|
spacing: isReducedSpacing ? 'none' : 'default',
|
|
@@ -556,6 +557,7 @@ export class ToolbarInsertBlock extends React.PureComponent {
|
|
|
556
557
|
title: btn.title,
|
|
557
558
|
"aria-label": btn['aria-label'],
|
|
558
559
|
"aria-haspopup": btn['aria-haspopup'],
|
|
560
|
+
"aria-keyshortcuts": btn['aria-keyshortcuts'],
|
|
559
561
|
onItemClick: this.insertToolbarMenuItem
|
|
560
562
|
})), jsx("span", {
|
|
561
563
|
css: wrapperStyle
|
|
@@ -22,6 +22,7 @@ import QuoteIcon from '@atlaskit/icon/glyph/quote';
|
|
|
22
22
|
import { shortcutStyle } from '../../../../ui/styles';
|
|
23
23
|
import { tooltip, addLink, toggleTable } from '../../../../keymaps';
|
|
24
24
|
import { shallowEquals } from './shallow-equals';
|
|
25
|
+
import { getAriaKeyshortcuts } from '@atlaskit/editor-common/keymaps';
|
|
25
26
|
|
|
26
27
|
const from = init => ({
|
|
27
28
|
content: init.content,
|
|
@@ -35,8 +36,9 @@ const from = init => ({
|
|
|
35
36
|
elemAfter: init.shortcut ? jsx("div", {
|
|
36
37
|
css: shortcutStyle
|
|
37
38
|
}, init.shortcut) : undefined,
|
|
38
|
-
'aria-label': init.content,
|
|
39
|
+
'aria-label': init.shortcut ? init.content + ' ' + init.shortcut : init.content,
|
|
39
40
|
'aria-haspopup': init['aria-haspopup'],
|
|
41
|
+
'aria-keyshortcuts': init['aria-keyshortcuts'],
|
|
40
42
|
shortcut: init.shortcut,
|
|
41
43
|
isDisabled: init.disabled
|
|
42
44
|
});
|
|
@@ -50,7 +52,8 @@ export const action = mem(init => {
|
|
|
50
52
|
disabled: init.disabled,
|
|
51
53
|
name: 'action',
|
|
52
54
|
shortcut: '[]',
|
|
53
|
-
Icon: TaskIcon
|
|
55
|
+
Icon: TaskIcon,
|
|
56
|
+
'aria-keyshortcuts': '[ ] Space'
|
|
54
57
|
});
|
|
55
58
|
});
|
|
56
59
|
export const link = mem(init => from({
|
|
@@ -60,7 +63,8 @@ export const link = mem(init => from({
|
|
|
60
63
|
name: 'link',
|
|
61
64
|
shortcut: tooltip(addLink),
|
|
62
65
|
Icon: LinkIcon,
|
|
63
|
-
'aria-haspopup': init['aria-haspopup']
|
|
66
|
+
'aria-haspopup': init['aria-haspopup'],
|
|
67
|
+
'aria-keyshortcuts': getAriaKeyshortcuts(addLink)
|
|
64
68
|
}));
|
|
65
69
|
export const media = mem(init => from({
|
|
66
70
|
content: init.content,
|
|
@@ -83,7 +87,8 @@ export const mention = mem(init => from({
|
|
|
83
87
|
name: 'mention',
|
|
84
88
|
Icon: MentionIcon,
|
|
85
89
|
shortcut: '@',
|
|
86
|
-
'aria-haspopup': init['aria-haspopup']
|
|
90
|
+
'aria-haspopup': init['aria-haspopup'],
|
|
91
|
+
'aria-keyshortcuts': 'Shift+2 Space'
|
|
87
92
|
}));
|
|
88
93
|
export const emoji = mem(init => from({
|
|
89
94
|
content: init.content,
|
|
@@ -92,7 +97,8 @@ export const emoji = mem(init => from({
|
|
|
92
97
|
name: 'emoji',
|
|
93
98
|
Icon: EmojiIcon,
|
|
94
99
|
shortcut: ':',
|
|
95
|
-
'aria-haspopup': init['aria-haspopup']
|
|
100
|
+
'aria-haspopup': init['aria-haspopup'],
|
|
101
|
+
'aria-keyshortcuts': 'Shift+;'
|
|
96
102
|
}));
|
|
97
103
|
export const table = mem(init => from({
|
|
98
104
|
content: init.content,
|
|
@@ -100,7 +106,8 @@ export const table = mem(init => from({
|
|
|
100
106
|
disabled: init.disabled,
|
|
101
107
|
name: 'table',
|
|
102
108
|
Icon: TableIcon,
|
|
103
|
-
shortcut: tooltip(toggleTable)
|
|
109
|
+
shortcut: tooltip(toggleTable),
|
|
110
|
+
'aria-keyshortcuts': getAriaKeyshortcuts(toggleTable)
|
|
104
111
|
}));
|
|
105
112
|
export const layout = mem(init => from({
|
|
106
113
|
content: init.content,
|
|
@@ -115,7 +122,8 @@ export const codeblock = mem(init => from({
|
|
|
115
122
|
disabled: init.disabled,
|
|
116
123
|
name: 'codeblock',
|
|
117
124
|
Icon: CodeIcon,
|
|
118
|
-
shortcut: init.shortcut
|
|
125
|
+
shortcut: init.shortcut,
|
|
126
|
+
'aria-keyshortcuts': getAriaKeyshortcuts(init.shortcut)
|
|
119
127
|
}));
|
|
120
128
|
export const panel = mem(init => from({
|
|
121
129
|
content: init.content,
|
|
@@ -123,7 +131,8 @@ export const panel = mem(init => from({
|
|
|
123
131
|
disabled: init.disabled,
|
|
124
132
|
name: 'panel',
|
|
125
133
|
Icon: InfoIcon,
|
|
126
|
-
shortcut: init.shortcut
|
|
134
|
+
shortcut: init.shortcut,
|
|
135
|
+
'aria-keyshortcuts': getAriaKeyshortcuts(init.shortcut)
|
|
127
136
|
}));
|
|
128
137
|
export const blockquote = mem(init => from({
|
|
129
138
|
content: init.content,
|
|
@@ -131,7 +140,8 @@ export const blockquote = mem(init => from({
|
|
|
131
140
|
disabled: init.disabled,
|
|
132
141
|
name: 'blockquote',
|
|
133
142
|
Icon: QuoteIcon,
|
|
134
|
-
shortcut: init.shortcut
|
|
143
|
+
shortcut: init.shortcut,
|
|
144
|
+
'aria-keyshortcuts': 'Shift+. Space'
|
|
135
145
|
}));
|
|
136
146
|
export const decision = mem(init => from({
|
|
137
147
|
content: init.content,
|
|
@@ -139,7 +149,8 @@ export const decision = mem(init => from({
|
|
|
139
149
|
disabled: init.disabled,
|
|
140
150
|
name: 'decision',
|
|
141
151
|
Icon: DecisionIcon,
|
|
142
|
-
shortcut: '<>'
|
|
152
|
+
shortcut: '<>',
|
|
153
|
+
'aria-keyshortcuts': 'Shift+, Shift+. Space'
|
|
143
154
|
}));
|
|
144
155
|
export const horizontalrule = mem(init => from({
|
|
145
156
|
content: init.content,
|
|
@@ -147,7 +158,8 @@ export const horizontalrule = mem(init => from({
|
|
|
147
158
|
disabled: init.disabled,
|
|
148
159
|
name: 'horizontalrule',
|
|
149
160
|
Icon: HorizontalRuleIcon,
|
|
150
|
-
shortcut: '---'
|
|
161
|
+
shortcut: '---',
|
|
162
|
+
'aria-keyshortcuts': '- - -'
|
|
151
163
|
}));
|
|
152
164
|
export const expand = mem(init => from({
|
|
153
165
|
content: init.content,
|
|
@@ -162,7 +174,8 @@ export const date = mem(init => from({
|
|
|
162
174
|
disabled: init.disabled,
|
|
163
175
|
name: 'date',
|
|
164
176
|
Icon: DateIcon,
|
|
165
|
-
shortcut: '//'
|
|
177
|
+
shortcut: '//',
|
|
178
|
+
'aria-keyshortcuts': '/ / Enter'
|
|
166
179
|
}));
|
|
167
180
|
export const placeholder = mem(init => from({
|
|
168
181
|
content: init.content,
|
|
@@ -69,6 +69,7 @@ export const buildToolbar = (state, intl, pos, _allowBreakout, addSidebarLayouts
|
|
|
69
69
|
id: 'editor.layout.delete',
|
|
70
70
|
type: 'button',
|
|
71
71
|
appearance: 'danger',
|
|
72
|
+
focusEditoronEnter: true,
|
|
72
73
|
icon: RemoveIcon,
|
|
73
74
|
testId: commonMessages.remove.id,
|
|
74
75
|
title: intl.formatMessage(commonMessages.remove),
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Selection, TextSelection, NodeSelection } from 'prosemirror-state';
|
|
2
2
|
import { NodeRange, Slice, Fragment } from 'prosemirror-model';
|
|
3
3
|
import { liftTarget, ReplaceAroundStep, ReplaceStep } from 'prosemirror-transform';
|
|
4
|
+
import { getOrderFromOrderedListNode } from '@atlaskit/editor-common/utils';
|
|
4
5
|
import { isListNode, isListItemNode, joinSiblingLists, JoinDirection } from '../utils/node';
|
|
5
6
|
import { findFirstParentListItemNode, findRootParentListNode } from '../utils/find';
|
|
6
7
|
import { normalizeListItemsSelection, createListNodeRange } from '../utils/selection';
|
|
7
8
|
import { GapCursorSelection } from '../../selection/gap-cursor-selection';
|
|
8
|
-
|
|
9
|
+
import { getFeatureFlags } from '../../feature-flags-context';
|
|
10
|
+
export const outdentListItemsSelected = (tr, state) => {
|
|
9
11
|
const originalSelection = tr.selection;
|
|
10
12
|
const normalizedSelection = normalizeListItemsSelection({
|
|
11
13
|
selection: tr.selection,
|
|
@@ -47,7 +49,8 @@ export const outdentListItemsSelected = tr => {
|
|
|
47
49
|
} else {
|
|
48
50
|
extractListItemsRangeFromList({
|
|
49
51
|
tr,
|
|
50
|
-
range: mappedRange
|
|
52
|
+
range: mappedRange,
|
|
53
|
+
state
|
|
51
54
|
});
|
|
52
55
|
hasNormalizedToPositionLiftedOut = hasNormalizedToPositionLiftedOut || oldTo >= range.from && oldTo < range.to;
|
|
53
56
|
hasNormalizedFromPositionLiftedOut = hasNormalizedFromPositionLiftedOut || oldFrom >= range.from && oldFrom < range.to;
|
|
@@ -202,7 +205,8 @@ const outdentRangeToParentList = ({
|
|
|
202
205
|
|
|
203
206
|
const extractListItemsRangeFromList = ({
|
|
204
207
|
tr,
|
|
205
|
-
range
|
|
208
|
+
range,
|
|
209
|
+
state
|
|
206
210
|
}) => {
|
|
207
211
|
const list = range.parent;
|
|
208
212
|
const $start = tr.doc.resolve(range.start);
|
|
@@ -228,7 +232,23 @@ const extractListItemsRangeFromList = ({
|
|
|
228
232
|
}
|
|
229
233
|
}
|
|
230
234
|
|
|
231
|
-
|
|
235
|
+
let nextList = list.copy(Fragment.empty);
|
|
236
|
+
const featureFlags = getFeatureFlags(state);
|
|
237
|
+
|
|
238
|
+
if (featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists) {
|
|
239
|
+
// if splitting a numbered list, keep the splitted item
|
|
240
|
+
// counter as the start of the next (second half) list (instead
|
|
241
|
+
// of reverting back to 1 as a starting number)
|
|
242
|
+
const order = getOrderFromOrderedListNode(list);
|
|
243
|
+
|
|
244
|
+
if (list.type.name === 'orderedList') {
|
|
245
|
+
nextList.attrs = { ...nextList.attrs,
|
|
246
|
+
order: range.endIndex - 1 + order
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
const nextListFragment = listItemContent.append(Fragment.from(nextList));
|
|
232
252
|
|
|
233
253
|
if (isTheEntireList) {
|
|
234
254
|
const slice = new Slice(listItemContent, 0, 0);
|
|
@@ -25,7 +25,7 @@ export function outdentList(inputMethod = INPUT_METHOD.KEYBOARD) {
|
|
|
25
25
|
closeHistory(state.tr);
|
|
26
26
|
const actionSubjectId = isBulletList(parentListNode.node) ? ACTION_SUBJECT_ID.FORMAT_LIST_BULLET : ACTION_SUBJECT_ID.FORMAT_LIST_NUMBER;
|
|
27
27
|
let customTr = state.tr;
|
|
28
|
-
outdentListAction(customTr);
|
|
28
|
+
outdentListAction(customTr, state);
|
|
29
29
|
|
|
30
30
|
if (!customTr || !customTr.docChanged) {
|
|
31
31
|
// Even though this is a non-operation, we don't want to send this event to the browser. Because if we return false, the browser will move the focus to another place
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { orderedList, bulletList, listItem } from '@atlaskit/adf-schema';
|
|
2
|
+
import { orderedList, orderedListWithOrder, bulletList, listItem } from '@atlaskit/adf-schema';
|
|
3
3
|
import { createPlugin } from './pm-plugins/main';
|
|
4
4
|
import inputRulePlugin from './pm-plugins/input-rules';
|
|
5
5
|
import keymapPlugin from './pm-plugins/keymap';
|
|
@@ -8,7 +8,11 @@ import { addAnalytics, ACTION, EVENT_TYPE, INPUT_METHOD, ACTION_SUBJECT, ACTION_
|
|
|
8
8
|
import { tooltip, toggleBulletList, toggleOrderedList } from '../../keymaps';
|
|
9
9
|
import { IconList, IconListNumber } from '../quick-insert/assets';
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
/*
|
|
12
|
+
Toolbar buttons to bullet and ordered list can be found in
|
|
13
|
+
packages/editor/editor-core/src/plugins/toolbar-lists-indentation/ui/Toolbar.tsx
|
|
14
|
+
*/
|
|
15
|
+
const listPlugin = options => ({
|
|
12
16
|
name: 'list',
|
|
13
17
|
|
|
14
18
|
nodes() {
|
|
@@ -17,7 +21,7 @@ const listPlugin = () => ({
|
|
|
17
21
|
node: bulletList
|
|
18
22
|
}, {
|
|
19
23
|
name: 'orderedList',
|
|
20
|
-
node: orderedList
|
|
24
|
+
node: options !== null && options !== void 0 && options.restartNumberedLists ? orderedListWithOrder : orderedList
|
|
21
25
|
}, {
|
|
22
26
|
name: 'listItem',
|
|
23
27
|
node: listItem
|
|
@@ -2,7 +2,8 @@ import { ruleWithAnalytics, createWrappingJoinRule } from '../../../../utils/inp
|
|
|
2
2
|
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '../../../analytics';
|
|
3
3
|
export function createRuleForListType({
|
|
4
4
|
listType,
|
|
5
|
-
expression
|
|
5
|
+
expression,
|
|
6
|
+
featureFlags
|
|
6
7
|
}) {
|
|
7
8
|
const isBulletList = listType.name === 'bulletList';
|
|
8
9
|
const actionSubjectId = isBulletList ? ACTION_SUBJECT_ID.FORMAT_LIST_BULLET : ACTION_SUBJECT_ID.FORMAT_LIST_NUMBER;
|
|
@@ -18,10 +19,20 @@ export function createRuleForListType({
|
|
|
18
19
|
|
|
19
20
|
const shouldJoinNextNodeWhen = (_, node) => node.type === listType;
|
|
20
21
|
|
|
22
|
+
let getAttrs = {};
|
|
23
|
+
|
|
24
|
+
if (featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists) {
|
|
25
|
+
getAttrs = matchResult => {
|
|
26
|
+
return {
|
|
27
|
+
order: Number(matchResult[1])
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
|
|
21
32
|
const inputRule = createWrappingJoinRule({
|
|
22
33
|
match: expression,
|
|
23
34
|
nodeType: listType,
|
|
24
|
-
getAttrs
|
|
35
|
+
getAttrs,
|
|
25
36
|
joinPredicate: shouldJoinNextNodeWhen
|
|
26
37
|
});
|
|
27
38
|
return ruleWithAnalytics(analyticsPayload)(inputRule);
|
|
@@ -19,10 +19,13 @@ export default function inputRulePlugin(schema, featureFlags) {
|
|
|
19
19
|
}));
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
const expression = featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists ? /((^[1-9]{1}[0-9]{0,2})|^(0))[\.\)] $/ : /^(1)[\.\)] $/;
|
|
23
|
+
|
|
22
24
|
if (orderedList) {
|
|
23
25
|
rules.push(createRuleForListType({
|
|
24
|
-
expression
|
|
25
|
-
listType: orderedList
|
|
26
|
+
expression,
|
|
27
|
+
listType: orderedList,
|
|
28
|
+
featureFlags
|
|
26
29
|
}));
|
|
27
30
|
}
|
|
28
31
|
|
|
@@ -7,7 +7,9 @@ import { isListNode } from '../utils/node';
|
|
|
7
7
|
import { pluginFactory } from '../../../utils/plugin-state-factory';
|
|
8
8
|
import { setGapCursorSelection } from '../../../utils';
|
|
9
9
|
import { Side } from '../../selection/gap-cursor-selection';
|
|
10
|
-
import {
|
|
10
|
+
import { listItemCounterPadding, CodeBlockSharedCssClassName, getOrderedListInlineStyles } from '@atlaskit/editor-common/styles';
|
|
11
|
+
import { getItemCounterDigitsSize } from '@atlaskit/editor-common/utils';
|
|
12
|
+
import { getFeatureFlags } from '../../feature-flags-context';
|
|
11
13
|
const listPluginKey = new PluginKey('listPlugin');
|
|
12
14
|
export const pluginKey = listPluginKey;
|
|
13
15
|
const initialState = {
|
|
@@ -17,8 +19,9 @@ const initialState = {
|
|
|
17
19
|
orderedListDisabled: false,
|
|
18
20
|
decorationSet: DecorationSet.empty
|
|
19
21
|
};
|
|
20
|
-
export const getDecorations = doc => {
|
|
21
|
-
const decorations = [];
|
|
22
|
+
export const getDecorations = (doc, state) => {
|
|
23
|
+
const decorations = [];
|
|
24
|
+
const featureFlags = getFeatureFlags(state); // this stack keeps track of each (nested) list to calculate the indentation level
|
|
22
25
|
|
|
23
26
|
const processedListsStack = [];
|
|
24
27
|
doc.nodesBetween(0, doc.content.size, (node, currentNodeStartPos) => {
|
|
@@ -49,19 +52,36 @@ export const getDecorations = doc => {
|
|
|
49
52
|
'data-indent-level': `${depth}`
|
|
50
53
|
}));
|
|
51
54
|
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
if (featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists) {
|
|
56
|
+
var _node$attrs;
|
|
57
|
+
|
|
58
|
+
// If a numbered list has item counters numbering >= 100, we'll need to add special
|
|
59
|
+
// spacing to account for the extra digit chars
|
|
60
|
+
const digitsSize = getItemCounterDigitsSize({
|
|
61
|
+
itemsCount: node === null || node === void 0 ? void 0 : node.childCount,
|
|
62
|
+
order: node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.order
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
if (digitsSize) {
|
|
66
|
+
decorations.push(Decoration.node(from, to, {
|
|
67
|
+
style: getOrderedListInlineStyles(digitsSize, 'string')
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
} else {
|
|
71
|
+
if (node.childCount >= 100) {
|
|
72
|
+
decorations.push(Decoration.node(from, to, {
|
|
73
|
+
'data-child-count': '100+'
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
56
76
|
}
|
|
57
77
|
}
|
|
58
78
|
});
|
|
59
79
|
return DecorationSet.empty.add(doc, decorations);
|
|
60
80
|
};
|
|
61
81
|
|
|
62
|
-
const handleDocChanged = (tr, pluginState) => {
|
|
82
|
+
const handleDocChanged = (tr, pluginState, editorState) => {
|
|
63
83
|
const nextPluginState = handleSelectionChanged(tr, pluginState);
|
|
64
|
-
const decorationSet = getDecorations(tr.doc);
|
|
84
|
+
const decorationSet = getDecorations(tr.doc, editorState);
|
|
65
85
|
return { ...nextPluginState,
|
|
66
86
|
decorationSet
|
|
67
87
|
};
|
|
@@ -105,7 +125,7 @@ const {
|
|
|
105
125
|
|
|
106
126
|
const createInitialState = state => {
|
|
107
127
|
return { ...initialState,
|
|
108
|
-
decorationSet: getDecorations(state.doc)
|
|
128
|
+
decorationSet: getDecorations(state.doc, state)
|
|
109
129
|
};
|
|
110
130
|
};
|
|
111
131
|
|
|
@@ -138,7 +158,7 @@ export const createPlugin = eventDispatch => new SafePlugin({
|
|
|
138
158
|
var _document, _document$elementFrom;
|
|
139
159
|
|
|
140
160
|
const bufferPx = 50;
|
|
141
|
-
const isCodeBlockNextToListMarker = Boolean((_document = document) === null || _document === void 0 ? void 0 : (_document$elementFrom = _document.elementFromPoint(event.clientX + (
|
|
161
|
+
const isCodeBlockNextToListMarker = Boolean((_document = document) === null || _document === void 0 ? void 0 : (_document$elementFrom = _document.elementFromPoint(event.clientX + (listItemCounterPadding + bufferPx), event.clientY)) === null || _document$elementFrom === void 0 ? void 0 : _document$elementFrom.closest(`.${CodeBlockSharedCssClassName.CODEBLOCK_CONTAINER}`));
|
|
142
162
|
|
|
143
163
|
if (isCodeBlockNextToListMarker) {
|
|
144
164
|
// +1 needed to put cursor inside li
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { PluginKey, NodeSelection } from 'prosemirror-state';
|
|
3
|
+
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
2
4
|
import { media, mediaGroup, mediaSingle, mediaSingleWithCaption, mediaInline } from '@atlaskit/adf-schema';
|
|
3
5
|
import { stateKey as pluginKey, createPlugin } from './pm-plugins/main';
|
|
4
6
|
import { getMediaFeatureFlag } from '@atlaskit/media-common';
|
|
@@ -134,6 +136,42 @@ const mediaPlugin = options => ({
|
|
|
134
136
|
});
|
|
135
137
|
}
|
|
136
138
|
|
|
139
|
+
pmPlugins.push({
|
|
140
|
+
name: 'mediaSelectionHandler',
|
|
141
|
+
plugin: () => {
|
|
142
|
+
const mediaSelectionHandlerPlugin = new SafePlugin({
|
|
143
|
+
key: new PluginKey('mediaSelectionHandlerPlugin'),
|
|
144
|
+
props: {
|
|
145
|
+
handleScrollToSelection: view => {
|
|
146
|
+
const {
|
|
147
|
+
state: {
|
|
148
|
+
selection
|
|
149
|
+
}
|
|
150
|
+
} = view;
|
|
151
|
+
|
|
152
|
+
if (!(selection instanceof NodeSelection) || selection.node.type.name !== 'media') {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
const {
|
|
157
|
+
node,
|
|
158
|
+
offset
|
|
159
|
+
} = view.domAtPos(selection.from);
|
|
160
|
+
|
|
161
|
+
if ( // Is the media element mounted already?
|
|
162
|
+
offset === node.childNodes.length) {
|
|
163
|
+
// Media is not ready, so stop the scroll request
|
|
164
|
+
return true;
|
|
165
|
+
} // Media is ready, keep the scrolling request
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
return mediaSelectionHandlerPlugin;
|
|
173
|
+
}
|
|
174
|
+
});
|
|
137
175
|
return pmPlugins;
|
|
138
176
|
},
|
|
139
177
|
|
|
@@ -64,10 +64,9 @@ class MediaGroup extends React.Component {
|
|
|
64
64
|
const oldMediaNodes = this.mediaNodes;
|
|
65
65
|
this.mediaNodes = [];
|
|
66
66
|
node.forEach((item, childOffset) => {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
};
|
|
67
|
+
const getPos = () => props.getPos() + childOffset + 1;
|
|
68
|
+
|
|
69
|
+
this.mediaPluginState.setMediaGroupNode(item, getPos);
|
|
71
70
|
this.mediaNodes.push(item);
|
|
72
71
|
});
|
|
73
72
|
this.mediaPluginState.handleMediaGroupUpdate(oldMediaNodes, this.mediaNodes);
|
|
@@ -186,7 +185,9 @@ class MediaGroup extends React.Component {
|
|
|
186
185
|
const hasDifferentContextId = await mediaNodeUpdater.hasDifferentContextId();
|
|
187
186
|
|
|
188
187
|
if (hasDifferentContextId) {
|
|
189
|
-
await mediaNodeUpdater.copyNode(
|
|
188
|
+
await mediaNodeUpdater.copyNode({
|
|
189
|
+
traceId: node.attrs.__mediaTraceId
|
|
190
|
+
});
|
|
190
191
|
}
|
|
191
192
|
});
|
|
192
193
|
}
|
|
@@ -44,7 +44,9 @@ export const updateMediaNodeAttributes = async props => {
|
|
|
44
44
|
|
|
45
45
|
if (hasDifferentContextId) {
|
|
46
46
|
try {
|
|
47
|
-
const copyNode = mediaNodeUpdater.copyNode(
|
|
47
|
+
const copyNode = mediaNodeUpdater.copyNode({
|
|
48
|
+
traceId: node.attrs.__mediaTraceId
|
|
49
|
+
});
|
|
48
50
|
addPendingTask(copyNode);
|
|
49
51
|
await copyNode;
|
|
50
52
|
} catch (e) {
|