@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
|
@@ -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
|
+
var listPlugin = function listPlugin(options) {
|
|
12
16
|
return {
|
|
13
17
|
name: 'list',
|
|
14
18
|
nodes: function nodes() {
|
|
@@ -17,7 +21,7 @@ var listPlugin = function 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(_ref) {
|
|
4
4
|
var listType = _ref.listType,
|
|
5
|
-
expression = _ref.expression
|
|
5
|
+
expression = _ref.expression,
|
|
6
|
+
featureFlags = _ref.featureFlags;
|
|
6
7
|
var isBulletList = listType.name === 'bulletList';
|
|
7
8
|
var actionSubjectId = isBulletList ? ACTION_SUBJECT_ID.FORMAT_LIST_BULLET : ACTION_SUBJECT_ID.FORMAT_LIST_NUMBER;
|
|
8
9
|
var analyticsPayload = {
|
|
@@ -19,10 +20,20 @@ export function createRuleForListType(_ref) {
|
|
|
19
20
|
return node.type === listType;
|
|
20
21
|
};
|
|
21
22
|
|
|
23
|
+
var getAttrs = {};
|
|
24
|
+
|
|
25
|
+
if (featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists) {
|
|
26
|
+
getAttrs = function getAttrs(matchResult) {
|
|
27
|
+
return {
|
|
28
|
+
order: Number(matchResult[1])
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
|
|
22
33
|
var inputRule = createWrappingJoinRule({
|
|
23
34
|
match: expression,
|
|
24
35
|
nodeType: listType,
|
|
25
|
-
getAttrs:
|
|
36
|
+
getAttrs: getAttrs,
|
|
26
37
|
joinPredicate: shouldJoinNextNodeWhen
|
|
27
38
|
});
|
|
28
39
|
return ruleWithAnalytics(analyticsPayload)(inputRule);
|
|
@@ -16,10 +16,13 @@ export default function inputRulePlugin(schema, featureFlags) {
|
|
|
16
16
|
}));
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
var expression = featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists ? /((^[1-9]{1}[0-9]{0,2})|^(0))[\.\)] $/ : /^(1)[\.\)] $/;
|
|
20
|
+
|
|
19
21
|
if (orderedList) {
|
|
20
22
|
rules.push(createRuleForListType({
|
|
21
|
-
expression:
|
|
22
|
-
listType: orderedList
|
|
23
|
+
expression: expression,
|
|
24
|
+
listType: orderedList,
|
|
25
|
+
featureFlags: featureFlags
|
|
23
26
|
}));
|
|
24
27
|
}
|
|
25
28
|
|
|
@@ -13,7 +13,9 @@ import { isListNode } from '../utils/node';
|
|
|
13
13
|
import { pluginFactory } from '../../../utils/plugin-state-factory';
|
|
14
14
|
import { setGapCursorSelection } from '../../../utils';
|
|
15
15
|
import { Side } from '../../selection/gap-cursor-selection';
|
|
16
|
-
import {
|
|
16
|
+
import { listItemCounterPadding, CodeBlockSharedCssClassName, getOrderedListInlineStyles } from '@atlaskit/editor-common/styles';
|
|
17
|
+
import { getItemCounterDigitsSize } from '@atlaskit/editor-common/utils';
|
|
18
|
+
import { getFeatureFlags } from '../../feature-flags-context';
|
|
17
19
|
var listPluginKey = new PluginKey('listPlugin');
|
|
18
20
|
export var pluginKey = listPluginKey;
|
|
19
21
|
var initialState = {
|
|
@@ -23,8 +25,9 @@ var initialState = {
|
|
|
23
25
|
orderedListDisabled: false,
|
|
24
26
|
decorationSet: DecorationSet.empty
|
|
25
27
|
};
|
|
26
|
-
export var getDecorations = function getDecorations(doc) {
|
|
27
|
-
var decorations = [];
|
|
28
|
+
export var getDecorations = function getDecorations(doc, state) {
|
|
29
|
+
var decorations = [];
|
|
30
|
+
var featureFlags = getFeatureFlags(state); // this stack keeps track of each (nested) list to calculate the indentation level
|
|
28
31
|
|
|
29
32
|
var processedListsStack = [];
|
|
30
33
|
doc.nodesBetween(0, doc.content.size, function (node, currentNodeStartPos) {
|
|
@@ -55,19 +58,36 @@ export var getDecorations = function getDecorations(doc) {
|
|
|
55
58
|
'data-indent-level': "".concat(depth)
|
|
56
59
|
}));
|
|
57
60
|
|
|
58
|
-
if (
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
if (featureFlags !== null && featureFlags !== void 0 && featureFlags.restartNumberedLists) {
|
|
62
|
+
var _node$attrs;
|
|
63
|
+
|
|
64
|
+
// If a numbered list has item counters numbering >= 100, we'll need to add special
|
|
65
|
+
// spacing to account for the extra digit chars
|
|
66
|
+
var digitsSize = getItemCounterDigitsSize({
|
|
67
|
+
itemsCount: node === null || node === void 0 ? void 0 : node.childCount,
|
|
68
|
+
order: node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.order
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
if (digitsSize) {
|
|
72
|
+
decorations.push(Decoration.node(from, to, {
|
|
73
|
+
style: getOrderedListInlineStyles(digitsSize, 'string')
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
} else {
|
|
77
|
+
if (node.childCount >= 100) {
|
|
78
|
+
decorations.push(Decoration.node(from, to, {
|
|
79
|
+
'data-child-count': '100+'
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
62
82
|
}
|
|
63
83
|
}
|
|
64
84
|
});
|
|
65
85
|
return DecorationSet.empty.add(doc, decorations);
|
|
66
86
|
};
|
|
67
87
|
|
|
68
|
-
var handleDocChanged = function handleDocChanged(tr, pluginState) {
|
|
88
|
+
var handleDocChanged = function handleDocChanged(tr, pluginState, editorState) {
|
|
69
89
|
var nextPluginState = handleSelectionChanged(tr, pluginState);
|
|
70
|
-
var decorationSet = getDecorations(tr.doc);
|
|
90
|
+
var decorationSet = getDecorations(tr.doc, editorState);
|
|
71
91
|
return _objectSpread(_objectSpread({}, nextPluginState), {}, {
|
|
72
92
|
decorationSet: decorationSet
|
|
73
93
|
});
|
|
@@ -112,7 +132,7 @@ var _pluginFactory = pluginFactory(listPluginKey, reducer(), {
|
|
|
112
132
|
|
|
113
133
|
var createInitialState = function createInitialState(state) {
|
|
114
134
|
return _objectSpread(_objectSpread({}, initialState), {}, {
|
|
115
|
-
decorationSet: getDecorations(state.doc)
|
|
135
|
+
decorationSet: getDecorations(state.doc, state)
|
|
116
136
|
});
|
|
117
137
|
};
|
|
118
138
|
|
|
@@ -142,7 +162,7 @@ export var createPlugin = function createPlugin(eventDispatch) {
|
|
|
142
162
|
var _document, _document$elementFrom;
|
|
143
163
|
|
|
144
164
|
var bufferPx = 50;
|
|
145
|
-
var isCodeBlockNextToListMarker = Boolean((_document = document) === null || _document === void 0 ? void 0 : (_document$elementFrom = _document.elementFromPoint(event.clientX + (
|
|
165
|
+
var 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(".".concat(CodeBlockSharedCssClassName.CODEBLOCK_CONTAINER)));
|
|
146
166
|
|
|
147
167
|
if (isCodeBlockNextToListMarker) {
|
|
148
168
|
// +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';
|
|
@@ -140,6 +142,37 @@ var mediaPlugin = function mediaPlugin(options) {
|
|
|
140
142
|
});
|
|
141
143
|
}
|
|
142
144
|
|
|
145
|
+
pmPlugins.push({
|
|
146
|
+
name: 'mediaSelectionHandler',
|
|
147
|
+
plugin: function plugin() {
|
|
148
|
+
var mediaSelectionHandlerPlugin = new SafePlugin({
|
|
149
|
+
key: new PluginKey('mediaSelectionHandlerPlugin'),
|
|
150
|
+
props: {
|
|
151
|
+
handleScrollToSelection: function handleScrollToSelection(view) {
|
|
152
|
+
var selection = view.state.selection;
|
|
153
|
+
|
|
154
|
+
if (!(selection instanceof NodeSelection) || selection.node.type.name !== 'media') {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
var _view$domAtPos = view.domAtPos(selection.from),
|
|
159
|
+
node = _view$domAtPos.node,
|
|
160
|
+
offset = _view$domAtPos.offset;
|
|
161
|
+
|
|
162
|
+
if ( // Is the media element mounted already?
|
|
163
|
+
offset === node.childNodes.length) {
|
|
164
|
+
// Media is not ready, so stop the scroll request
|
|
165
|
+
return true;
|
|
166
|
+
} // Media is ready, keep the scrolling request
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
return mediaSelectionHandlerPlugin;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
143
176
|
return pmPlugins;
|
|
144
177
|
},
|
|
145
178
|
contentComponent: function contentComponent(_ref7) {
|
|
@@ -86,13 +86,12 @@ var MediaGroup = /*#__PURE__*/function (_React$Component) {
|
|
|
86
86
|
var oldMediaNodes = _this.mediaNodes;
|
|
87
87
|
_this.mediaNodes = [];
|
|
88
88
|
node.forEach(function (item, childOffset) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
getPos: function getPos() {
|
|
92
|
-
return props.getPos() + childOffset + 1;
|
|
93
|
-
}
|
|
89
|
+
var getPos = function getPos() {
|
|
90
|
+
return props.getPos() + childOffset + 1;
|
|
94
91
|
};
|
|
95
92
|
|
|
93
|
+
_this.mediaPluginState.setMediaGroupNode(item, getPos);
|
|
94
|
+
|
|
96
95
|
_this.mediaNodes.push(item);
|
|
97
96
|
});
|
|
98
97
|
|
|
@@ -240,7 +239,9 @@ var MediaGroup = /*#__PURE__*/function (_React$Component) {
|
|
|
240
239
|
}
|
|
241
240
|
|
|
242
241
|
_context.next = 14;
|
|
243
|
-
return mediaNodeUpdater.copyNode(
|
|
242
|
+
return mediaNodeUpdater.copyNode({
|
|
243
|
+
traceId: node.attrs.__mediaTraceId
|
|
244
|
+
});
|
|
244
245
|
|
|
245
246
|
case 14:
|
|
246
247
|
case "end":
|
|
@@ -85,7 +85,9 @@ export var updateMediaNodeAttributes = /*#__PURE__*/function () {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
_context.prev = 13;
|
|
88
|
-
copyNode = mediaNodeUpdater.copyNode(
|
|
88
|
+
copyNode = mediaNodeUpdater.copyNode({
|
|
89
|
+
traceId: node.attrs.__mediaTraceId
|
|
90
|
+
});
|
|
89
91
|
addPendingTask(copyNode);
|
|
90
92
|
_context.next = 18;
|
|
91
93
|
return copyNode;
|
|
@@ -477,80 +477,86 @@ export var MediaNodeUpdater = /*#__PURE__*/function () {
|
|
|
477
477
|
};
|
|
478
478
|
}());
|
|
479
479
|
|
|
480
|
-
_defineProperty(this, "copyNode", /*#__PURE__*/
|
|
481
|
-
var
|
|
480
|
+
_defineProperty(this, "copyNode", /*#__PURE__*/function () {
|
|
481
|
+
var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(traceContext) {
|
|
482
|
+
var mediaProvider, _this$props, isMediaSingle, view, attrs, nodeContextId, uploadMediaClientConfig, mediaClient, auth, objectId, id, collection, source, currentCollectionName, destination, mediaFile;
|
|
482
483
|
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
484
|
+
return _regeneratorRuntime.wrap(function _callee8$(_context8) {
|
|
485
|
+
while (1) {
|
|
486
|
+
switch (_context8.prev = _context8.next) {
|
|
487
|
+
case 0:
|
|
488
|
+
_context8.next = 2;
|
|
489
|
+
return _this.props.mediaProvider;
|
|
489
490
|
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
491
|
+
case 2:
|
|
492
|
+
mediaProvider = _context8.sent;
|
|
493
|
+
_this$props = _this.props, isMediaSingle = _this$props.isMediaSingle, view = _this$props.view;
|
|
494
|
+
attrs = _this.getAttrs();
|
|
494
495
|
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
496
|
+
if (!(!mediaProvider || !mediaProvider.uploadParams || !attrs || attrs.type !== 'file')) {
|
|
497
|
+
_context8.next = 7;
|
|
498
|
+
break;
|
|
499
|
+
}
|
|
499
500
|
|
|
500
|
-
|
|
501
|
+
return _context8.abrupt("return");
|
|
501
502
|
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
503
|
+
case 7:
|
|
504
|
+
nodeContextId = _this.getNodeContextId();
|
|
505
|
+
uploadMediaClientConfig = mediaProvider.uploadMediaClientConfig;
|
|
505
506
|
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
507
|
+
if (!(uploadMediaClientConfig && uploadMediaClientConfig.getAuthFromContext && nodeContextId)) {
|
|
508
|
+
_context8.next = 25;
|
|
509
|
+
break;
|
|
510
|
+
}
|
|
510
511
|
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
512
|
+
mediaClient = getMediaClient(uploadMediaClientConfig);
|
|
513
|
+
_context8.next = 13;
|
|
514
|
+
return uploadMediaClientConfig.getAuthFromContext(nodeContextId);
|
|
514
515
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
516
|
+
case 13:
|
|
517
|
+
auth = _context8.sent;
|
|
518
|
+
_context8.next = 16;
|
|
519
|
+
return _this.getObjectId();
|
|
519
520
|
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
case 23:
|
|
540
|
-
mediaFile = _context8.sent;
|
|
541
|
-
updateMediaNodeAttrs(source.id, {
|
|
542
|
-
id: mediaFile.id,
|
|
543
|
-
collection: currentCollectionName,
|
|
544
|
-
__contextId: objectId
|
|
545
|
-
}, isMediaSingle)(view.state, view.dispatch);
|
|
521
|
+
case 16:
|
|
522
|
+
objectId = _context8.sent;
|
|
523
|
+
id = attrs.id, collection = attrs.collection;
|
|
524
|
+
source = {
|
|
525
|
+
id: id,
|
|
526
|
+
collection: collection,
|
|
527
|
+
authProvider: function authProvider() {
|
|
528
|
+
return Promise.resolve(auth);
|
|
529
|
+
}
|
|
530
|
+
};
|
|
531
|
+
currentCollectionName = mediaProvider.uploadParams.collection;
|
|
532
|
+
destination = {
|
|
533
|
+
collection: currentCollectionName,
|
|
534
|
+
authProvider: uploadMediaClientConfig.authProvider,
|
|
535
|
+
occurrenceKey: uuidV4()
|
|
536
|
+
};
|
|
537
|
+
_context8.next = 23;
|
|
538
|
+
return mediaClient.file.copyFile(source, destination, undefined, traceContext);
|
|
546
539
|
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
540
|
+
case 23:
|
|
541
|
+
mediaFile = _context8.sent;
|
|
542
|
+
updateMediaNodeAttrs(source.id, {
|
|
543
|
+
id: mediaFile.id,
|
|
544
|
+
collection: currentCollectionName,
|
|
545
|
+
__contextId: objectId
|
|
546
|
+
}, isMediaSingle)(view.state, view.dispatch);
|
|
547
|
+
|
|
548
|
+
case 25:
|
|
549
|
+
case "end":
|
|
550
|
+
return _context8.stop();
|
|
551
|
+
}
|
|
550
552
|
}
|
|
551
|
-
}
|
|
552
|
-
}
|
|
553
|
-
|
|
553
|
+
}, _callee8);
|
|
554
|
+
}));
|
|
555
|
+
|
|
556
|
+
return function (_x3) {
|
|
557
|
+
return _ref8.apply(this, arguments);
|
|
558
|
+
};
|
|
559
|
+
}());
|
|
554
560
|
|
|
555
561
|
this.props = props;
|
|
556
562
|
}
|
|
@@ -717,7 +723,7 @@ export var MediaNodeUpdater = /*#__PURE__*/function () {
|
|
|
717
723
|
}, _callee10, this, [[1, 6]]);
|
|
718
724
|
}));
|
|
719
725
|
|
|
720
|
-
function handleExternalMedia(
|
|
726
|
+
function handleExternalMedia(_x4) {
|
|
721
727
|
return _handleExternalMedia.apply(this, arguments);
|
|
722
728
|
}
|
|
723
729
|
|
|
@@ -185,7 +185,9 @@ var MediaSingleNode = /*#__PURE__*/function (_Component) {
|
|
|
185
185
|
});
|
|
186
186
|
|
|
187
187
|
_context2.prev = 24;
|
|
188
|
-
copyNode = mediaNodeUpdater.copyNode(
|
|
188
|
+
copyNode = mediaNodeUpdater.copyNode({
|
|
189
|
+
traceId: node.attrs.__mediaTraceId
|
|
190
|
+
});
|
|
189
191
|
addPendingTask(copyNode);
|
|
190
192
|
_context2.next = 29;
|
|
191
193
|
return copyNode;
|
|
@@ -513,6 +513,13 @@ export var MediaPluginStateImplementation = /*#__PURE__*/function () {
|
|
|
513
513
|
}
|
|
514
514
|
});
|
|
515
515
|
|
|
516
|
+
_defineProperty(this, "setMediaGroupNode", function (node, getPos) {
|
|
517
|
+
_this.mediaGroupNodes[node.attrs.id] = {
|
|
518
|
+
node: node,
|
|
519
|
+
getPos: getPos
|
|
520
|
+
};
|
|
521
|
+
});
|
|
522
|
+
|
|
516
523
|
_defineProperty(this, "removeNodeById", function (state) {
|
|
517
524
|
var id = state.id;
|
|
518
525
|
var mediaNodeWithPos = helpers.findMediaNode(_this, id, isImage(state.fileMimeType));
|
|
@@ -108,6 +108,7 @@ var generateMediaCardFloatingToolbar = function generateMediaCardFloatingToolbar
|
|
|
108
108
|
id: 'editor.media.delete',
|
|
109
109
|
type: 'button',
|
|
110
110
|
appearance: 'danger',
|
|
111
|
+
focusEditoronEnter: true,
|
|
111
112
|
icon: RemoveIcon,
|
|
112
113
|
onMouseEnter: hoverDecoration(mediaGroup, true),
|
|
113
114
|
onMouseLeave: hoverDecoration(mediaGroup, false),
|
|
@@ -181,6 +182,7 @@ var generateMediaInlineFloatingToolbar = function generateMediaInlineFloatingToo
|
|
|
181
182
|
id: 'editor.media.delete',
|
|
182
183
|
type: 'button',
|
|
183
184
|
appearance: 'danger',
|
|
185
|
+
focusEditoronEnter: true,
|
|
184
186
|
icon: RemoveIcon,
|
|
185
187
|
onMouseEnter: hoverDecoration(mediaInline, true),
|
|
186
188
|
onMouseLeave: hoverDecoration(mediaInline, false),
|
|
@@ -266,6 +268,7 @@ var generateMediaSingleFloatingToolbar = function generateMediaSingleFloatingToo
|
|
|
266
268
|
id: 'editor.media.delete',
|
|
267
269
|
type: 'button',
|
|
268
270
|
appearance: 'danger',
|
|
271
|
+
focusEditoronEnter: true,
|
|
269
272
|
icon: RemoveIcon,
|
|
270
273
|
onMouseEnter: hoverDecoration(mediaSingle, true),
|
|
271
274
|
onMouseLeave: hoverDecoration(mediaSingle, false),
|
|
@@ -16,6 +16,7 @@ import { safeInsert, shouldSplitSelectedNodeOnNodeInsertion } from '../../../uti
|
|
|
16
16
|
import { getFeatureFlags } from '../../feature-flags-context';
|
|
17
17
|
import { isImage } from './is-image';
|
|
18
18
|
import { atTheBeginningOfBlock } from '../../../utils/prosemirror/position';
|
|
19
|
+
import { getRandomHex } from '@atlaskit/media-common';
|
|
19
20
|
|
|
20
21
|
var getInsertMediaAnalytics = function getInsertMediaAnalytics(inputMethod, fileExtension) {
|
|
21
22
|
return {
|
|
@@ -186,6 +187,7 @@ export function transformSliceForMedia(slice, schema) {
|
|
|
186
187
|
bulletList = _schema$nodes2.bulletList,
|
|
187
188
|
orderedList = _schema$nodes2.orderedList,
|
|
188
189
|
media = _schema$nodes2.media,
|
|
190
|
+
mediaInline = _schema$nodes2.mediaInline,
|
|
189
191
|
expand = _schema$nodes2.expand;
|
|
190
192
|
return function (selection) {
|
|
191
193
|
var newSlice = slice;
|
|
@@ -199,10 +201,23 @@ export function transformSliceForMedia(slice, schema) {
|
|
|
199
201
|
});
|
|
200
202
|
}
|
|
201
203
|
|
|
204
|
+
var __mediaTraceId = getRandomHex(8);
|
|
205
|
+
|
|
202
206
|
newSlice = mapSlice(newSlice, function (node) {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
207
|
+
if (node.type.name === 'media') {
|
|
208
|
+
return media.createChecked(_objectSpread(_objectSpread({}, node.attrs), {}, {
|
|
209
|
+
__external: node.attrs.type === 'external',
|
|
210
|
+
__mediaTraceId: node.attrs.type === 'external' ? null : __mediaTraceId
|
|
211
|
+
}), node.content, node.marks);
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
if (node.type.name === 'mediaInline') {
|
|
215
|
+
return mediaInline.createChecked(_objectSpread(_objectSpread({}, node.attrs), {}, {
|
|
216
|
+
__mediaTraceId: __mediaTraceId
|
|
217
|
+
}), node.content, node.marks);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
return node;
|
|
206
221
|
});
|
|
207
222
|
return newSlice;
|
|
208
223
|
};
|
|
@@ -261,6 +261,7 @@ export var getToolbarItems = function getToolbarItems(formatMessage, panelNodeTy
|
|
|
261
261
|
id: 'editor.panel.delete',
|
|
262
262
|
type: 'button',
|
|
263
263
|
appearance: 'danger',
|
|
264
|
+
focusEditoronEnter: true,
|
|
264
265
|
icon: RemoveIcon,
|
|
265
266
|
onClick: removePanel(),
|
|
266
267
|
onMouseEnter: hoverDecoration(panelNodeType, true),
|
|
@@ -19,7 +19,7 @@ export var panelAttrsToDom = function panelAttrsToDom(attrs, allowCustomPanel) {
|
|
|
19
19
|
panelIconText = attrs.panelIconText;
|
|
20
20
|
var isCustomPanel = panelType === PanelType.CUSTOM && allowCustomPanel;
|
|
21
21
|
var hasIcon = !isCustomPanel || !!panelIcon || !!panelIconId;
|
|
22
|
-
var style = ["".concat(panelColor && isCustomPanel ? "background-color: ".concat(panelColor, ";") : ''), "".concat(hasIcon ? '' : 'padding: 12px;')].join('');
|
|
22
|
+
var style = ["".concat(panelColor && isCustomPanel ? "background-color: ".concat(panelColor, ";") : ''), "".concat(hasIcon ? '' : 'padding-left: 12px;')].join('');
|
|
23
23
|
var panelAttrs = {
|
|
24
24
|
class: PanelSharedCssClassName.prefix,
|
|
25
25
|
'data-panel-type': panelType || PanelType.INFO,
|
|
@@ -2,7 +2,8 @@ import { createPlugin } from './pm-plugins/main';
|
|
|
2
2
|
|
|
3
3
|
var pastePlugin = function pastePlugin(_ref) {
|
|
4
4
|
var cardOptions = _ref.cardOptions,
|
|
5
|
-
sanitizePrivateContent = _ref.sanitizePrivateContent
|
|
5
|
+
sanitizePrivateContent = _ref.sanitizePrivateContent,
|
|
6
|
+
plainTextPasteLinkification = _ref.plainTextPasteLinkification;
|
|
6
7
|
return {
|
|
7
8
|
name: 'paste',
|
|
8
9
|
pmPlugins: function pmPlugins() {
|
|
@@ -94,6 +94,17 @@ export function getContent(state, slice) {
|
|
|
94
94
|
var pasteContent = contentToPasteContent[type];
|
|
95
95
|
return pasteContent ? pasteContent : PasteContents.uncategorized;
|
|
96
96
|
}
|
|
97
|
+
export function getMediaTraceId(slice) {
|
|
98
|
+
var traceId;
|
|
99
|
+
mapSlice(slice, function (node) {
|
|
100
|
+
if (node.type.name === 'media' || node.type.name === 'mediaInline') {
|
|
101
|
+
traceId = node.attrs.__mediaTraceId;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return node;
|
|
105
|
+
});
|
|
106
|
+
return traceId;
|
|
107
|
+
}
|
|
97
108
|
|
|
98
109
|
function getActionSubjectId(view) {
|
|
99
110
|
var _view$state = view.state,
|
|
@@ -155,7 +166,8 @@ export function createPasteAnalyticsPayload(view, event, slice, pasteContext) {
|
|
|
155
166
|
var actionSubjectId = getActionSubjectId(view);
|
|
156
167
|
var pasteSize = slice.size;
|
|
157
168
|
var content = getContent(view.state, slice);
|
|
158
|
-
var linkUrls = [];
|
|
169
|
+
var linkUrls = [];
|
|
170
|
+
var mediaTraceId = getMediaTraceId(slice); // If we have a link among the pasted content, grab the
|
|
159
171
|
// domain and send it up with the analytics event
|
|
160
172
|
|
|
161
173
|
if (content === PasteContents.url || content === PasteContents.mixed) {
|
|
@@ -196,7 +208,8 @@ export function createPasteAnalyticsPayload(view, event, slice, pasteContext) {
|
|
|
196
208
|
content: content,
|
|
197
209
|
source: source,
|
|
198
210
|
hyperlinkPasteOnText: !!pasteContext.hyperlinkPasteOnText,
|
|
199
|
-
linksInPasteCount: linkUrls.length
|
|
211
|
+
linksInPasteCount: linkUrls.length,
|
|
212
|
+
mediaTraceId: mediaTraceId
|
|
200
213
|
}, linkDomains);
|
|
201
214
|
} // TODO: ED-6612 We should not dispatch only analytics, it's preferred to wrap each command with his own analytics.
|
|
202
215
|
// However, handlers like handleMacroAutoConvert dispatch multiple time,
|
|
@@ -264,7 +264,7 @@ export function createPlugin(schema, dispatchAnalyticsEvent, dispatch, cardOptio
|
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
266
|
|
|
267
|
-
slice = transformUnsupportedBlockCardToInline(slice, state); // Handles edge case so that when copying text from the top level of the document
|
|
267
|
+
slice = transformUnsupportedBlockCardToInline(slice, state, cardOptions); // Handles edge case so that when copying text from the top level of the document
|
|
268
268
|
// it can be pasted into nodes like panels/actions/decisions without removing them.
|
|
269
269
|
// Overriding openStart to be 1 when only pasting a paragraph makes the preferred
|
|
270
270
|
// depth favour the text, rather than the paragraph node.
|
|
@@ -104,8 +104,8 @@ export function isCode(str) {
|
|
|
104
104
|
// @see https://github.com/markdown-it/markdown-it/issues/38
|
|
105
105
|
|
|
106
106
|
export function escapeLinks(text) {
|
|
107
|
-
return text.replace(/(\[([^\]]+)\]\()?((https?|ftp):\/\/[^\s]+)/g, function (str) {
|
|
108
|
-
return str.match(/^(https?|ftp):\/\/[^\s]+$/) ? "<".concat(str, ">") : str;
|
|
107
|
+
return text.replace(/(\[([^\]]+)\]\()?((https?|ftp|jamfselfservice):\/\/[^\s]+)/g, function (str) {
|
|
108
|
+
return str.match(/^(https?|ftp|jamfselfservice):\/\/[^\s]+$/) ? "<".concat(str, ">") : str;
|
|
109
109
|
});
|
|
110
110
|
}
|
|
111
111
|
export function hasOnlyNodesOfType() {
|