@atlaskit/editor-core 166.0.2 → 167.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +46 -1
- package/CHANGELOG.md +99 -0
- package/dist/cjs/actions/index.js +26 -2
- package/dist/cjs/create-editor/ReactEditorView.js +2 -0
- package/dist/cjs/create-editor/create-plugins-list.js +1 -2
- package/dist/cjs/editor.js +5 -2
- package/dist/cjs/keymaps/index.js +5 -1
- package/dist/cjs/labs/next/ContentComponents.js +8 -4
- package/dist/cjs/labs/next/full-page.js +14 -8
- package/dist/cjs/nodeviews/getInlineNodeViewProducer.js +7 -3
- package/dist/cjs/nodeviews/getInlineNodeViewProducer.styles.js +3 -1
- package/dist/cjs/plugins/alignment/ui/ToolbarAlignment/styles.js +3 -1
- package/dist/cjs/plugins/analytics/types/enums.js +3 -0
- package/dist/cjs/plugins/annotation/pm-plugins/inline-comment.js +2 -2
- package/dist/cjs/plugins/annotation/pm-plugins/plugin-factory.js +0 -1
- package/dist/cjs/plugins/base/index.js +8 -17
- package/dist/cjs/plugins/base/pm-plugins/better-type-history.js +3 -12
- package/dist/cjs/plugins/base/pm-plugins/inline-cursor-target.js +71 -16
- package/dist/cjs/plugins/block-type/commands/block-type.js +32 -22
- package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/styled.js +4 -2
- package/dist/cjs/plugins/breakout/ui/LayoutButton.js +4 -11
- package/dist/cjs/plugins/card/styles.js +1 -1
- package/dist/cjs/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
- package/dist/cjs/plugins/code-block/actions.js +36 -2
- package/dist/cjs/plugins/code-block/nodeviews/code-block.js +70 -1
- package/dist/cjs/plugins/code-block/pm-plugins/actions.js +2 -1
- package/dist/cjs/plugins/code-block/pm-plugins/main.js +46 -8
- package/dist/cjs/plugins/code-block/styles.js +28 -24
- package/dist/cjs/plugins/collab-edit/index.js +2 -2
- package/dist/cjs/plugins/collab-edit/provider/channel.js +2 -2
- package/dist/cjs/plugins/collab-edit/styles.js +4 -2
- package/dist/cjs/plugins/collab-edit/ui/styles.js +4 -2
- package/dist/cjs/plugins/collab-edit/utils.js +1 -0
- package/dist/cjs/plugins/date/ui/DatePicker/index.js +3 -1
- package/dist/cjs/plugins/expand/ui/styles.js +16 -14
- package/dist/cjs/plugins/extension/commands.js +3 -2
- package/dist/cjs/plugins/extension/context-panel.js +23 -9
- package/dist/cjs/plugins/extension/plugin-factory.js +1 -4
- package/dist/cjs/plugins/extension/pm-plugins/main.js +13 -36
- package/dist/cjs/plugins/extension/ui/Extension/Extension/styles.js +6 -4
- package/dist/cjs/plugins/extension/ui/Extension/InlineExtension/styles.js +3 -1
- package/dist/cjs/plugins/extension/ui/Extension/styles.js +7 -5
- package/dist/cjs/plugins/extension/ui/SaveIndicator/SaveIndicator.js +4 -2
- package/dist/cjs/plugins/extension/utils.js +12 -57
- package/dist/cjs/plugins/fake-text-cursor/styles.js +3 -1
- package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
- package/dist/cjs/plugins/feedback-dialog/index.js +0 -1
- package/dist/cjs/plugins/find-replace/styles.js +2 -6
- package/dist/cjs/plugins/find-replace/ui/styles.js +4 -2
- package/dist/cjs/plugins/find-replace/utils/batch-decorations.js +0 -1
- package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +3 -1
- package/dist/cjs/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +3 -1
- package/dist/cjs/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +2 -2
- package/dist/cjs/plugins/floating-toolbar/ui/Separator.js +3 -1
- package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +6 -4
- package/dist/cjs/plugins/floating-toolbar/ui/styles.js +12 -10
- package/dist/cjs/plugins/grid/styles.js +3 -1
- package/dist/cjs/plugins/help-dialog/ui/styles.js +9 -7
- package/dist/cjs/plugins/hyperlink/pm-plugins/input-rule.js +23 -1
- package/dist/cjs/plugins/hyperlink/pm-plugins/keymap.js +10 -1
- package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +7 -5
- package/dist/cjs/plugins/hyperlink/utils.js +53 -2
- package/dist/cjs/plugins/jira-issue/nodeviews/jira-issue.js +4 -2
- package/dist/cjs/plugins/layout/styles.js +1 -1
- package/dist/cjs/plugins/macro/actions.js +2 -2
- package/dist/cjs/plugins/media/commands/helpers.js +10 -9
- package/dist/cjs/plugins/media/nodeviews/mediaInline.js +25 -6
- package/dist/cjs/plugins/media/nodeviews/mediaNodeView/media.js +6 -0
- package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +2 -2
- package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -3
- package/dist/cjs/plugins/media/pm-plugins/main.js +1 -0
- package/dist/cjs/plugins/media/styles.js +1 -1
- package/dist/cjs/plugins/media/ui/CaptionPlaceholder/index.js +3 -1
- package/dist/cjs/plugins/media/ui/Media/DropPlaceholder.js +4 -2
- package/dist/cjs/plugins/media/ui/MediaLinkingToolbar.js +3 -1
- package/dist/cjs/plugins/media/ui/ResizableMediaSingle/index.js +2 -2
- package/dist/cjs/plugins/mentions/styles.js +3 -1
- package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +3 -1
- package/dist/cjs/plugins/mentions/ui/InviteItem/styles.js +4 -2
- package/dist/cjs/plugins/panel/index.js +1 -0
- package/dist/cjs/plugins/panel/nodeviews/panel.js +4 -1
- package/dist/cjs/plugins/panel/pm-plugins/keymaps.js +21 -3
- package/dist/cjs/plugins/paste/handlers.js +44 -6
- package/dist/cjs/plugins/paste/linkify-md-plugin.js +7 -0
- package/dist/cjs/plugins/paste/pm-plugins/analytics.js +9 -1
- package/dist/cjs/plugins/paste/pm-plugins/main.js +27 -1
- package/dist/cjs/plugins/placeholder/index.js +15 -3
- package/dist/cjs/plugins/placeholder/styles.js +3 -1
- package/dist/cjs/plugins/placeholder-text/styles.js +3 -1
- package/dist/cjs/plugins/selection/gap-cursor/styles.js +1 -1
- package/dist/cjs/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
- package/dist/cjs/plugins/status/ui/statusPicker.js +3 -3
- package/dist/cjs/plugins/table/index.js +14 -4
- package/dist/cjs/plugins/table/nodeviews/TableComponent.js +6 -6
- package/dist/cjs/plugins/table/nodeviews/table.js +9 -4
- package/dist/cjs/plugins/table/pm-plugins/main.js +1 -4
- package/dist/cjs/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +118 -0
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/plugin.js +2 -5
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -8
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
- package/dist/cjs/plugins/table/transforms/column-width.js +1 -2
- package/dist/cjs/plugins/table/transforms/fix-tables.js +1 -3
- package/dist/cjs/plugins/table/ui/FloatingContextualButton/styles.js +4 -1
- package/dist/cjs/plugins/table/ui/FloatingContextualMenu/styles.js +3 -1
- package/dist/cjs/plugins/table/ui/common-styles.js +4 -2
- package/dist/cjs/plugins/table/ui/consts.js +14 -11
- package/dist/cjs/plugins/table/ui/ui-styles.js +17 -10
- package/dist/cjs/plugins/table/utils/decoration.js +3 -4
- package/dist/cjs/plugins/table/utils/paste.js +9 -9
- package/dist/cjs/plugins/type-ahead/index.js +4 -3
- package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +3 -1
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +4 -4
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadListItem.js +11 -9
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +73 -3
- package/dist/cjs/plugins/unsupported-content/styles.js +1 -1
- package/dist/cjs/ui/Addon/Dropdown/styles.js +3 -1
- package/dist/cjs/ui/Addon/DropdownItem/styles.js +3 -1
- package/dist/cjs/ui/Appearance/Chromeless.js +2 -1
- package/dist/cjs/ui/Appearance/Comment/Comment.js +10 -3
- package/dist/cjs/ui/Appearance/Comment/Toolbar.js +4 -2
- package/dist/cjs/ui/Appearance/FullPage/FullPage.js +5 -2
- package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
- package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
- package/dist/cjs/ui/Appearance/FullPage/MainToolbar.js +6 -3
- package/dist/cjs/ui/ChromeCollapsed/styles.js +1 -1
- package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +23 -16
- package/dist/cjs/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
- package/dist/cjs/ui/ConfigPanel/Fields/CheckboxGroup.js +3 -1
- package/dist/cjs/ui/ConfigPanel/Fields/CustomSelect.js +2 -2
- package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +3 -1
- package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +3 -1
- package/dist/cjs/ui/ConfigPanel/Fields/UserSelect.js +2 -2
- package/dist/cjs/ui/ConfigPanel/Fields/common/RequiredIndicator.js +3 -1
- package/dist/cjs/ui/ConfigPanel/Header.js +4 -2
- package/dist/cjs/ui/ConfigPanel/NestedForms/RemovableField.js +4 -8
- package/dist/cjs/ui/ConfigPanel/transformers.js +2 -2
- package/dist/cjs/ui/ContentStyles/index.js +4 -2
- package/dist/cjs/ui/ContextPanel/index.js +3 -1
- package/dist/cjs/ui/DropdownMenu/index.js +5 -0
- package/dist/cjs/ui/ElementBrowser/InsertMenu.js +6 -4
- package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +4 -2
- package/dist/cjs/ui/ElementBrowser/components/CategoryList.js +4 -2
- package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +12 -5
- package/dist/cjs/ui/ElementBrowser/components/ElementList/EmptyState.js +3 -1
- package/dist/cjs/ui/ElementBrowser/components/ElementSearch.js +3 -1
- package/dist/cjs/ui/ElementBrowser/constants.js +3 -1
- package/dist/cjs/ui/FloatingToolbar/styles.js +2 -2
- package/dist/cjs/ui/LinkSearch/LinkSearchListItem.js +5 -3
- package/dist/cjs/ui/PanelTextInput/styles.js +3 -1
- package/dist/cjs/ui/PluginSlot/index.js +7 -4
- package/dist/cjs/ui/Toolbar/ToolbarInner.js +2 -1
- package/dist/cjs/ui/Toolbar/ToolbarWithSizeDetector.js +5 -2
- package/dist/cjs/ui/ToolbarFeedback/styles.js +5 -3
- package/dist/cjs/ui/WithFlash/index.js +4 -2
- package/dist/cjs/ui/styles.js +6 -4
- package/dist/cjs/utils/document.js +62 -6
- package/dist/cjs/utils/filter/privacy-filter.js +2 -2
- package/dist/cjs/utils/step.js +17 -1
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/actions/index.js +25 -1
- package/dist/es2019/create-editor/ReactEditorView.js +2 -0
- package/dist/es2019/create-editor/create-plugins-list.js +1 -2
- package/dist/es2019/editor.js +5 -2
- package/dist/es2019/keymaps/index.js +5 -1
- package/dist/es2019/labs/next/ContentComponents.js +7 -2
- package/dist/es2019/labs/next/full-page.js +11 -8
- package/dist/es2019/nodeviews/getInlineNodeViewProducer.js +4 -3
- package/dist/es2019/nodeviews/getInlineNodeViewProducer.styles.js +16 -4
- package/dist/es2019/plugins/alignment/ui/ToolbarAlignment/styles.js +2 -1
- package/dist/es2019/plugins/analytics/types/enums.js +3 -0
- package/dist/es2019/plugins/base/index.js +6 -15
- package/dist/es2019/plugins/base/pm-plugins/better-type-history.js +1 -11
- package/dist/es2019/plugins/base/pm-plugins/inline-cursor-target.js +72 -17
- package/dist/es2019/plugins/block-type/commands/block-type.js +25 -16
- package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -2
- package/dist/es2019/plugins/breakout/ui/LayoutButton.js +6 -10
- package/dist/es2019/plugins/card/styles.js +1 -1
- package/dist/es2019/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
- package/dist/es2019/plugins/code-block/actions.js +32 -0
- package/dist/es2019/plugins/code-block/nodeviews/code-block.js +61 -1
- package/dist/es2019/plugins/code-block/pm-plugins/actions.js +2 -1
- package/dist/es2019/plugins/code-block/pm-plugins/main.js +37 -3
- package/dist/es2019/plugins/code-block/styles.js +30 -27
- package/dist/es2019/plugins/collab-edit/styles.js +3 -2
- package/dist/es2019/plugins/collab-edit/ui/styles.js +4 -3
- package/dist/es2019/plugins/collab-edit/utils.js +1 -0
- package/dist/es2019/plugins/date/ui/DatePicker/index.js +3 -2
- package/dist/es2019/plugins/expand/ui/styles.js +15 -14
- package/dist/es2019/plugins/extension/commands.js +3 -2
- package/dist/es2019/plugins/extension/context-panel.js +11 -3
- package/dist/es2019/plugins/extension/plugin-factory.js +1 -3
- package/dist/es2019/plugins/extension/pm-plugins/main.js +12 -38
- package/dist/es2019/plugins/extension/ui/Extension/Extension/styles.js +5 -4
- package/dist/es2019/plugins/extension/ui/Extension/InlineExtension/styles.js +2 -1
- package/dist/es2019/plugins/extension/ui/Extension/styles.js +7 -6
- package/dist/es2019/plugins/extension/ui/SaveIndicator/SaveIndicator.js +4 -4
- package/dist/es2019/plugins/extension/utils.js +2 -37
- package/dist/es2019/plugins/fake-text-cursor/styles.js +3 -2
- package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
- package/dist/es2019/plugins/find-replace/styles.js +4 -4
- package/dist/es2019/plugins/find-replace/ui/styles.js +3 -2
- package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
- package/dist/es2019/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +2 -1
- package/dist/es2019/plugins/floating-toolbar/ui/Separator.js +2 -1
- package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +4 -4
- package/dist/es2019/plugins/floating-toolbar/ui/styles.js +11 -10
- package/dist/es2019/plugins/grid/styles.js +4 -2
- package/dist/es2019/plugins/help-dialog/ui/styles.js +10 -9
- package/dist/es2019/plugins/hyperlink/pm-plugins/input-rule.js +24 -2
- package/dist/es2019/plugins/hyperlink/pm-plugins/keymap.js +9 -1
- package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +5 -4
- package/dist/es2019/plugins/hyperlink/utils.js +43 -2
- package/dist/es2019/plugins/jira-issue/nodeviews/jira-issue.js +6 -5
- package/dist/es2019/plugins/layout/styles.js +10 -7
- package/dist/es2019/plugins/media/commands/helpers.js +6 -8
- package/dist/es2019/plugins/media/nodeviews/mediaInline.js +21 -5
- package/dist/es2019/plugins/media/nodeviews/mediaNodeView/media.js +7 -0
- package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +5 -4
- package/dist/es2019/plugins/media/pm-plugins/main.js +2 -0
- package/dist/es2019/plugins/media/styles.js +3 -3
- package/dist/es2019/plugins/media/ui/CaptionPlaceholder/index.js +2 -1
- package/dist/es2019/plugins/media/ui/Media/DropPlaceholder.js +4 -3
- package/dist/es2019/plugins/media/ui/MediaLinkingToolbar.js +2 -1
- package/dist/es2019/plugins/mentions/styles.js +5 -4
- package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +2 -1
- package/dist/es2019/plugins/mentions/ui/InviteItem/styles.js +3 -2
- package/dist/es2019/plugins/panel/index.js +1 -0
- package/dist/es2019/plugins/panel/nodeviews/panel.js +4 -1
- package/dist/es2019/plugins/panel/pm-plugins/keymaps.js +22 -4
- package/dist/es2019/plugins/paste/handlers.js +45 -7
- package/dist/es2019/plugins/paste/linkify-md-plugin.js +7 -1
- package/dist/es2019/plugins/paste/pm-plugins/analytics.js +4 -1
- package/dist/es2019/plugins/paste/pm-plugins/main.js +27 -2
- package/dist/es2019/plugins/placeholder/index.js +12 -1
- package/dist/es2019/plugins/placeholder/styles.js +3 -1
- package/dist/es2019/plugins/placeholder-text/styles.js +5 -4
- package/dist/es2019/plugins/selection/gap-cursor/styles.js +9 -9
- package/dist/es2019/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
- package/dist/es2019/plugins/status/ui/statusPicker.js +3 -3
- package/dist/es2019/plugins/table/index.js +13 -4
- package/dist/es2019/plugins/table/nodeviews/TableComponent.js +6 -6
- package/dist/es2019/plugins/table/nodeviews/table.js +6 -2
- package/dist/es2019/plugins/table/pm-plugins/main.js +1 -4
- package/dist/es2019/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +106 -0
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/plugin.js +2 -4
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/misc.js +3 -7
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
- package/dist/es2019/plugins/table/transforms/column-width.js +1 -2
- package/dist/es2019/plugins/table/transforms/fix-tables.js +1 -3
- package/dist/es2019/plugins/table/ui/FloatingContextualButton/styles.js +4 -2
- package/dist/es2019/plugins/table/ui/FloatingContextualMenu/styles.js +4 -3
- package/dist/es2019/plugins/table/ui/common-styles.js +29 -27
- package/dist/es2019/plugins/table/ui/consts.js +15 -12
- package/dist/es2019/plugins/table/ui/ui-styles.js +28 -23
- package/dist/es2019/plugins/table/utils/decoration.js +1 -4
- package/dist/es2019/plugins/table/utils/paste.js +9 -9
- package/dist/es2019/plugins/type-ahead/index.js +4 -3
- package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +2 -1
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +4 -4
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +10 -9
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +64 -6
- package/dist/es2019/plugins/unsupported-content/styles.js +1 -1
- package/dist/es2019/ui/Addon/Dropdown/styles.js +3 -2
- package/dist/es2019/ui/Addon/DropdownItem/styles.js +3 -2
- package/dist/es2019/ui/Appearance/Chromeless.js +2 -1
- package/dist/es2019/ui/Appearance/Comment/Comment.js +9 -4
- package/dist/es2019/ui/Appearance/Comment/Toolbar.js +4 -2
- package/dist/es2019/ui/Appearance/FullPage/FullPage.js +6 -2
- package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
- package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
- package/dist/es2019/ui/Appearance/FullPage/MainToolbar.js +7 -3
- package/dist/es2019/ui/ChromeCollapsed/styles.js +4 -3
- package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +10 -2
- package/dist/es2019/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
- package/dist/es2019/ui/ConfigPanel/ErrorMessage/ErrorImage.js +3 -0
- package/dist/es2019/ui/ConfigPanel/Fields/CheckboxGroup.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/common/RequiredIndicator.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Header.js +3 -2
- package/dist/es2019/ui/ConfigPanel/NestedForms/RemovableField.js +4 -3
- package/dist/es2019/ui/ContentStyles/index.js +3 -2
- package/dist/es2019/ui/ContextPanel/index.js +2 -1
- package/dist/es2019/ui/DropdownMenu/index.js +5 -0
- package/dist/es2019/ui/ElementBrowser/InsertMenu.js +6 -3
- package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +3 -2
- package/dist/es2019/ui/ElementBrowser/components/CategoryList.js +3 -2
- package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +12 -5
- package/dist/es2019/ui/ElementBrowser/components/ElementList/EmptyState.js +2 -1
- package/dist/es2019/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +3 -0
- package/dist/es2019/ui/ElementBrowser/components/ElementSearch.js +2 -1
- package/dist/es2019/ui/ElementBrowser/constants.js +3 -1
- package/dist/es2019/ui/FloatingToolbar/styles.js +4 -4
- package/dist/es2019/ui/LinkSearch/LinkSearchListItem.js +4 -3
- package/dist/es2019/ui/PanelTextInput/styles.js +5 -5
- package/dist/es2019/ui/PluginSlot/index.js +7 -4
- package/dist/es2019/ui/Toolbar/ToolbarInner.js +2 -1
- package/dist/es2019/ui/Toolbar/ToolbarWithSizeDetector.js +4 -2
- package/dist/es2019/ui/ToolbarFeedback/styles.js +5 -4
- package/dist/es2019/ui/WithFlash/index.js +4 -3
- package/dist/es2019/ui/styles.js +10 -9
- package/dist/es2019/utils/document.js +58 -5
- package/dist/es2019/utils/filter/privacy-filter.js +1 -1
- package/dist/es2019/utils/step.js +12 -1
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/actions/index.js +27 -2
- package/dist/esm/create-editor/ErrorBoundary.js +1 -1
- package/dist/esm/create-editor/ReactEditorView.js +2 -0
- package/dist/esm/create-editor/create-plugins-list.js +1 -2
- package/dist/esm/editor.js +6 -4
- package/dist/esm/keymaps/index.js +5 -1
- package/dist/esm/labs/next/ContentComponents.js +8 -4
- package/dist/esm/labs/next/full-page.js +11 -8
- package/dist/esm/nodeviews/getInlineNodeViewProducer.js +4 -3
- package/dist/esm/nodeviews/getInlineNodeViewProducer.styles.js +3 -2
- package/dist/esm/plugins/alignment/ui/ToolbarAlignment/styles.js +2 -1
- package/dist/esm/plugins/analytics/types/enums.js +3 -0
- package/dist/esm/plugins/annotation/pm-plugins/inline-comment.js +1 -1
- package/dist/esm/plugins/annotation/pm-plugins/plugin-factory.js +0 -1
- package/dist/esm/plugins/base/index.js +8 -17
- package/dist/esm/plugins/base/pm-plugins/better-type-history.js +1 -11
- package/dist/esm/plugins/base/pm-plugins/inline-cursor-target.js +72 -17
- package/dist/esm/plugins/block-type/commands/block-type.js +31 -22
- package/dist/esm/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -2
- package/dist/esm/plugins/breakout/ui/LayoutButton.js +3 -5
- package/dist/esm/plugins/card/styles.js +1 -1
- package/dist/esm/plugins/card/ui/LinkToolbarIconDropdown.js +2 -2
- package/dist/esm/plugins/code-block/actions.js +28 -0
- package/dist/esm/plugins/code-block/nodeviews/code-block.js +67 -1
- package/dist/esm/plugins/code-block/pm-plugins/actions.js +2 -1
- package/dist/esm/plugins/code-block/pm-plugins/main.js +39 -3
- package/dist/esm/plugins/code-block/styles.js +27 -23
- package/dist/esm/plugins/collab-edit/index.js +1 -1
- package/dist/esm/plugins/collab-edit/provider/channel.js +1 -1
- package/dist/esm/plugins/collab-edit/styles.js +3 -2
- package/dist/esm/plugins/collab-edit/ui/styles.js +3 -2
- package/dist/esm/plugins/collab-edit/utils.js +2 -0
- package/dist/esm/plugins/custom-autoformat/doc.js +1 -1
- package/dist/esm/plugins/custom-autoformat/index.js +1 -1
- package/dist/esm/plugins/date/ui/DatePicker/index.js +2 -1
- package/dist/esm/plugins/expand/ui/styles.js +15 -14
- package/dist/esm/plugins/extension/actions.js +1 -1
- package/dist/esm/plugins/extension/commands.js +3 -2
- package/dist/esm/plugins/extension/context-panel.js +22 -8
- package/dist/esm/plugins/extension/plugin-factory.js +1 -3
- package/dist/esm/plugins/extension/pm-plugins/main.js +12 -35
- package/dist/esm/plugins/extension/ui/Extension/Extension/styles.js +5 -4
- package/dist/esm/plugins/extension/ui/Extension/ExtensionComponent.js +1 -1
- package/dist/esm/plugins/extension/ui/Extension/InlineExtension/styles.js +2 -1
- package/dist/esm/plugins/extension/ui/Extension/styles.js +6 -5
- package/dist/esm/plugins/extension/ui/SaveIndicator/SaveIndicator.js +3 -2
- package/dist/esm/plugins/extension/utils.js +9 -51
- package/dist/esm/plugins/fake-text-cursor/styles.js +2 -1
- package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
- package/dist/esm/plugins/feedback-dialog/index.js +1 -2
- package/dist/esm/plugins/feedback-dialog/loadJiraCollectorDialogScript.js +1 -1
- package/dist/esm/plugins/find-replace/styles.js +3 -3
- package/dist/esm/plugins/find-replace/ui/styles.js +3 -2
- package/dist/esm/plugins/find-replace/utils/batch-decorations.js +1 -2
- package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +2 -1
- package/dist/esm/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +2 -1
- package/dist/esm/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +1 -1
- package/dist/esm/plugins/floating-toolbar/ui/Separator.js +2 -1
- package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +5 -4
- package/dist/esm/plugins/floating-toolbar/ui/styles.js +11 -10
- package/dist/esm/plugins/grid/styles.js +2 -1
- package/dist/esm/plugins/help-dialog/ui/styles.js +8 -7
- package/dist/esm/plugins/hyperlink/HyperlinkToolbarAppearance.js +1 -1
- package/dist/esm/plugins/hyperlink/pm-plugins/input-rule.js +24 -2
- package/dist/esm/plugins/hyperlink/pm-plugins/keymap.js +9 -1
- package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +5 -5
- package/dist/esm/plugins/hyperlink/utils.js +44 -2
- package/dist/esm/plugins/image-upload/pm-plugins/main.js +1 -1
- package/dist/esm/plugins/jira-issue/nodeviews/jira-issue.js +3 -2
- package/dist/esm/plugins/layout/styles.js +1 -1
- package/dist/esm/plugins/macro/actions.js +1 -1
- package/dist/esm/plugins/media/commands/helpers.js +6 -8
- package/dist/esm/plugins/media/nodeviews/mediaGroup.js +1 -1
- package/dist/esm/plugins/media/nodeviews/mediaInline.js +23 -6
- package/dist/esm/plugins/media/nodeviews/mediaNodeUpdater.js +1 -1
- package/dist/esm/plugins/media/nodeviews/mediaNodeView/media.js +8 -1
- package/dist/esm/plugins/media/nodeviews/mediaSingle.js +1 -1
- package/dist/esm/plugins/media/picker-facade.js +1 -1
- package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +4 -3
- package/dist/esm/plugins/media/pm-plugins/main.js +3 -1
- package/dist/esm/plugins/media/styles.js +1 -1
- package/dist/esm/plugins/media/toolbar/utils.js +1 -1
- package/dist/esm/plugins/media/ui/CaptionPlaceholder/index.js +2 -1
- package/dist/esm/plugins/media/ui/Media/DropPlaceholder.js +3 -2
- package/dist/esm/plugins/media/ui/MediaLinkingToolbar.js +2 -1
- package/dist/esm/plugins/media/ui/MediaPicker/PickerFacadeProvider.js +1 -1
- package/dist/esm/plugins/media/ui/ResizableMediaSingle/index.js +1 -1
- package/dist/esm/plugins/media/utils/check-media-type.js +1 -1
- package/dist/esm/plugins/mentions/styles.js +2 -1
- package/dist/esm/plugins/mentions/ui/InviteItem/index.js +2 -1
- package/dist/esm/plugins/mentions/ui/InviteItem/styles.js +3 -2
- package/dist/esm/plugins/panel/index.js +1 -0
- package/dist/esm/plugins/panel/nodeviews/panel.js +4 -1
- package/dist/esm/plugins/panel/pm-plugins/keymaps.js +22 -4
- package/dist/esm/plugins/paste/handlers.js +44 -8
- package/dist/esm/plugins/paste/linkify-md-plugin.js +7 -1
- package/dist/esm/plugins/paste/pm-plugins/analytics.js +6 -1
- package/dist/esm/plugins/paste/pm-plugins/main.js +28 -3
- package/dist/esm/plugins/placeholder/index.js +12 -1
- package/dist/esm/plugins/placeholder/styles.js +2 -1
- package/dist/esm/plugins/placeholder-text/styles.js +2 -1
- package/dist/esm/plugins/quick-insert/index.js +1 -1
- package/dist/esm/plugins/selection/gap-cursor/styles.js +1 -1
- package/dist/esm/plugins/selection/pm-plugins/gap-cursor-main.js +2 -2
- package/dist/esm/plugins/status/ui/statusPicker.js +2 -2
- package/dist/esm/plugins/table/index.js +13 -4
- package/dist/esm/plugins/table/nodeviews/TableComponent.js +6 -6
- package/dist/esm/plugins/table/nodeviews/table.js +6 -2
- package/dist/esm/plugins/table/pm-plugins/main.js +1 -4
- package/dist/esm/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.js +102 -0
- package/dist/esm/plugins/table/pm-plugins/table-resizing/event-handlers.js +2 -4
- package/dist/esm/plugins/table/pm-plugins/table-resizing/plugin.js +2 -5
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/misc.js +4 -8
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +2 -3
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/scale-table.js +0 -3
- package/dist/esm/plugins/table/transforms/column-width.js +1 -2
- package/dist/esm/plugins/table/transforms/fix-tables.js +1 -3
- package/dist/esm/plugins/table/ui/FloatingContextualButton/styles.js +3 -1
- package/dist/esm/plugins/table/ui/FloatingContextualMenu/styles.js +2 -1
- package/dist/esm/plugins/table/ui/common-styles.js +4 -2
- package/dist/esm/plugins/table/ui/consts.js +15 -12
- package/dist/esm/plugins/table/ui/ui-styles.js +15 -10
- package/dist/esm/plugins/table/utils/decoration.js +3 -4
- package/dist/esm/plugins/table/utils/paste.js +9 -9
- package/dist/esm/plugins/tasks-and-decisions/ui/Task/task-item-with-providers.js +1 -1
- package/dist/esm/plugins/type-ahead/index.js +4 -3
- package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +2 -1
- package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +4 -4
- package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +10 -9
- package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +71 -5
- package/dist/esm/plugins/unsupported-content/styles.js +1 -1
- package/dist/esm/ui/Addon/Dropdown/styles.js +2 -1
- package/dist/esm/ui/Addon/DropdownItem/styles.js +2 -1
- package/dist/esm/ui/Appearance/Chromeless.js +2 -1
- package/dist/esm/ui/Appearance/Comment/Comment.js +10 -3
- package/dist/esm/ui/Appearance/Comment/Toolbar.js +3 -2
- package/dist/esm/ui/Appearance/FullPage/FullPage.js +6 -2
- package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +2 -1
- package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +12 -11
- package/dist/esm/ui/Appearance/FullPage/MainToolbar.js +5 -3
- package/dist/esm/ui/ChromeCollapsed/styles.js +1 -1
- package/dist/esm/ui/ConfigPanel/ConfigPanel.js +22 -15
- package/dist/esm/ui/ConfigPanel/ConfigPanelFieldsLoader.js +2 -0
- package/dist/esm/ui/ConfigPanel/ErrorMessage/ErrorImage.js +3 -0
- package/dist/esm/ui/ConfigPanel/Fields/CheckboxGroup.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/CustomSelect.js +1 -1
- package/dist/esm/ui/ConfigPanel/Fields/Expand.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/UserSelect.js +1 -1
- package/dist/esm/ui/ConfigPanel/Fields/common/RequiredIndicator.js +2 -1
- package/dist/esm/ui/ConfigPanel/FormErrorBoundary.js +1 -1
- package/dist/esm/ui/ConfigPanel/Header.js +3 -2
- package/dist/esm/ui/ConfigPanel/NestedForms/RemovableField.js +3 -2
- package/dist/esm/ui/ConfigPanel/transformers.js +1 -1
- package/dist/esm/ui/ContentStyles/index.js +3 -2
- package/dist/esm/ui/ContextPanel/index.js +2 -1
- package/dist/esm/ui/DropdownMenu/index.js +5 -0
- package/dist/esm/ui/ElementBrowser/InsertMenu.js +5 -4
- package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +3 -2
- package/dist/esm/ui/ElementBrowser/components/CategoryList.js +3 -2
- package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +11 -5
- package/dist/esm/ui/ElementBrowser/components/ElementList/EmptyState.js +2 -1
- package/dist/esm/ui/ElementBrowser/components/ElementList/NotFoundIllustration.js +3 -0
- package/dist/esm/ui/ElementBrowser/components/ElementSearch.js +2 -1
- package/dist/esm/ui/ElementBrowser/constants.js +3 -1
- package/dist/esm/ui/FloatingToolbar/styles.js +3 -3
- package/dist/esm/ui/LinkSearch/LinkSearchListItem.js +4 -3
- package/dist/esm/ui/LinkSearch/index.js +1 -1
- package/dist/esm/ui/PanelTextInput/styles.js +4 -3
- package/dist/esm/ui/PluginSlot/index.js +7 -4
- package/dist/esm/ui/Toolbar/ToolbarInner.js +2 -1
- package/dist/esm/ui/Toolbar/ToolbarWithSizeDetector.js +4 -2
- package/dist/esm/ui/ToolbarFeedback/index.js +1 -1
- package/dist/esm/ui/ToolbarFeedback/styles.js +4 -3
- package/dist/esm/ui/WithFlash/index.js +3 -2
- package/dist/esm/ui/styles.js +5 -4
- package/dist/esm/utils/action.js +1 -1
- package/dist/esm/utils/clipboard.js +1 -1
- package/dist/esm/utils/document.js +59 -5
- package/dist/esm/utils/extensions.js +1 -1
- package/dist/esm/utils/filter/privacy-filter.js +1 -1
- package/dist/esm/utils/step.js +12 -1
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/actions/index.d.ts +6 -0
- package/dist/types/labs/next/ContentComponents.d.ts +7 -1
- package/dist/types/nodeviews/getInlineNodeViewProducer.d.ts +1 -0
- package/dist/types/plugins/analytics/types/enums.d.ts +3 -0
- package/dist/types/plugins/analytics/types/general-events.d.ts +7 -1
- package/dist/types/plugins/base/pm-plugins/inline-cursor-target.d.ts +1 -1
- package/dist/types/plugins/code-block/actions.d.ts +2 -0
- package/dist/types/plugins/code-block/nodeviews/code-block.d.ts +2 -0
- package/dist/types/plugins/code-block/pm-plugins/actions.d.ts +1 -0
- package/dist/types/plugins/code-block/pm-plugins/main-state.d.ts +1 -0
- package/dist/types/plugins/extension/commands.d.ts +1 -1
- package/dist/types/plugins/extension/pm-plugins/main.d.ts +1 -2
- package/dist/types/plugins/extension/types.d.ts +1 -1
- package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
- package/dist/types/plugins/extension/utils.d.ts +1 -3
- package/dist/types/plugins/find-replace/styles.d.ts +0 -2
- package/dist/types/plugins/hyperlink/utils.d.ts +8 -0
- package/dist/types/plugins/media/commands/helpers.d.ts +2 -0
- package/dist/types/plugins/media/nodeviews/mediaNodeView/media.d.ts +1 -0
- package/dist/types/plugins/media/pm-plugins/main.d.ts +2 -1
- package/dist/types/plugins/media/pm-plugins/types.d.ts +2 -1
- package/dist/types/plugins/paste/handlers.d.ts +1 -0
- package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +1 -0
- package/dist/types/plugins/table/commands/misc.d.ts +0 -1
- package/dist/types/plugins/table/index.d.ts +0 -1
- package/dist/types/plugins/table/nodeviews/TableComponent.d.ts +1 -0
- package/dist/types/plugins/table/nodeviews/types.d.ts +0 -1
- package/dist/types/plugins/table/pm-plugins/main.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/safari-delete-composition-text-issue-workaround.d.ts +15 -0
- package/dist/types/plugins/table/pm-plugins/table-resizing/event-handlers.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/plugin.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/misc.d.ts +1 -2
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/resize-state.d.ts +1 -1
- package/dist/types/plugins/table/pm-plugins/table-resizing/utils/scale-table.d.ts +0 -1
- package/dist/types/plugins/table/transforms/fix-tables.d.ts +0 -1
- package/dist/types/plugins/table/types.d.ts +0 -1
- package/dist/types/plugins/table/ui/consts.d.ts +9 -9
- package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +2 -0
- package/dist/types/plugins/type-ahead/ui/TypeAheadListItem.d.ts +4 -4
- package/dist/types/types/editor-appearance-component.d.ts +0 -1
- package/dist/types/types/editor-props.d.ts +4 -0
- package/dist/types/types/feature-flags.d.ts +8 -0
- package/dist/types/types/ui-components.d.ts +1 -0
- package/dist/types/ui/Appearance/FullPage/FullPage.d.ts +1 -0
- package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +1 -0
- package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +3 -2
- package/dist/types/ui/ConfigPanel/ConfigPanelFieldsLoader.d.ts +3 -2
- package/dist/types/ui/PluginSlot/index.d.ts +1 -0
- package/dist/types/ui/Toolbar/toolbar-types.d.ts +1 -0
- package/dist/types/utils/document.d.ts +1 -0
- package/dist/types/utils/step.d.ts +1 -0
- package/docs/0-intro.tsx +12 -4
- package/package.json +22 -22
|
@@ -17,11 +17,12 @@ import { normalizeUrl } from '../../hyperlink/utils';
|
|
|
17
17
|
import { R400 } from '@atlaskit/theme/colors';
|
|
18
18
|
import { INPUT_METHOD } from '../../analytics/types/enums';
|
|
19
19
|
import { mediaLinkToolbarMessages } from './media-linking-toolbar-messages';
|
|
20
|
+
import { token } from '@atlaskit/tokens';
|
|
20
21
|
const validationWrapper = css`
|
|
21
22
|
line-height: 0;
|
|
22
23
|
padding: 12px 24px 12px 0;
|
|
23
24
|
margin: 0 4px 0 32px;
|
|
24
|
-
border-top: 1px solid ${R400};
|
|
25
|
+
border-top: 1px solid ${token('color.border.danger', R400)};
|
|
25
26
|
align-items: start;
|
|
26
27
|
display: flex;
|
|
27
28
|
flex-direction: column;
|
|
@@ -2,6 +2,7 @@ import { css } from '@emotion/react';
|
|
|
2
2
|
import { MentionSharedCssClassName } from '@atlaskit/editor-common/mention';
|
|
3
3
|
import { SelectionStyle, getSelectionStyles, akEditorSelectedBorderSize, akEditorDeleteBorder, akEditorDeleteBackgroundWithOpacity, akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles';
|
|
4
4
|
import { N500, N30A } from '@atlaskit/theme/colors';
|
|
5
|
+
import { token } from '@atlaskit/tokens';
|
|
5
6
|
export const mentionsStyles = css`
|
|
6
7
|
.${MentionSharedCssClassName.MENTION_CONTAINER} {
|
|
7
8
|
&.${akEditorSelectedNodeClassName} [data-mention-id] > span {
|
|
@@ -9,7 +10,7 @@ export const mentionsStyles = css`
|
|
|
9
10
|
|
|
10
11
|
/* need to specify dark text colour because personal mentions
|
|
11
12
|
(in dark blue) have white text by default */
|
|
12
|
-
color: ${N500};
|
|
13
|
+
color: ${token('color.text.subtle', N500)};
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
|
|
@@ -18,11 +19,11 @@ export const mentionsStyles = css`
|
|
|
18
19
|
> span
|
|
19
20
|
> span {
|
|
20
21
|
box-shadow: 0 0 0 ${akEditorSelectedBorderSize}px ${akEditorDeleteBorder};
|
|
21
|
-
background-color: ${akEditorDeleteBackgroundWithOpacity};
|
|
22
|
+
background-color: ${token('color.background.danger', akEditorDeleteBackgroundWithOpacity)};
|
|
22
23
|
}
|
|
23
24
|
.${MentionSharedCssClassName.MENTION_CONTAINER} > span > span {
|
|
24
|
-
background-color: ${N30A};
|
|
25
|
-
color: ${N500};
|
|
25
|
+
background-color: ${token('color.background.neutral', N30A)};
|
|
26
|
+
color: ${token('color.text.subtle', N500)};
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
`;
|
|
@@ -4,6 +4,7 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
4
4
|
import { jsx } from '@emotion/react';
|
|
5
5
|
import AddIcon from '@atlaskit/icon/glyph/add';
|
|
6
6
|
import { N300 } from '@atlaskit/theme/colors';
|
|
7
|
+
import { token } from '@atlaskit/tokens';
|
|
7
8
|
import React, { useCallback, useEffect } from 'react';
|
|
8
9
|
import { FormattedMessage, injectIntl } from 'react-intl-next';
|
|
9
10
|
import { avatarStyle, capitalizedStyle, mentionItemStyle, nameSectionStyle, rowStyle, ROW_SIDE_PADDING, AVATAR_HEIGHT, mentionItemSelectedStyle } from './styles';
|
|
@@ -53,7 +54,7 @@ const InviteItem = ({
|
|
|
53
54
|
css: avatarStyle
|
|
54
55
|
}, jsx(AddIcon, {
|
|
55
56
|
label: intl.formatMessage(messages.mentionsAddLabel),
|
|
56
|
-
primaryColor: N300
|
|
57
|
+
primaryColor: token('color.icon.subtle', N300)
|
|
57
58
|
})), jsx("div", {
|
|
58
59
|
css: nameSectionStyle,
|
|
59
60
|
"data-testid": "name-section"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { css } from '@emotion/react';
|
|
2
2
|
import { N30, N300 } from '@atlaskit/theme/colors';
|
|
3
|
+
import { token } from '@atlaskit/tokens';
|
|
3
4
|
export const ROW_SIDE_PADDING = 14;
|
|
4
5
|
export const rowStyle = css`
|
|
5
6
|
align-items: center;
|
|
@@ -29,7 +30,7 @@ export const nameSectionStyle = css`
|
|
|
29
30
|
flex: 1;
|
|
30
31
|
min-width: 0;
|
|
31
32
|
margin-left: 14px;
|
|
32
|
-
color: ${N300};
|
|
33
|
+
color: ${token('color.text.subtle', N300)};
|
|
33
34
|
opacity: inherit;
|
|
34
35
|
`;
|
|
35
36
|
export const mentionItemStyle = css`
|
|
@@ -40,7 +41,7 @@ export const mentionItemStyle = css`
|
|
|
40
41
|
cursor: pointer;
|
|
41
42
|
`;
|
|
42
43
|
export const mentionItemSelectedStyle = css`
|
|
43
|
-
background-color: ${N30};
|
|
44
|
+
background-color: ${token('color.background.neutral.subtle.hovered', N30)};
|
|
44
45
|
`;
|
|
45
46
|
export const capitalizedStyle = css`
|
|
46
47
|
text-transform: capitalize;
|
|
@@ -77,7 +77,10 @@ class PanelNodeView {
|
|
|
77
77
|
|
|
78
78
|
ignoreMutation(mutation) {
|
|
79
79
|
// ignore mutation if it caused by the icon.
|
|
80
|
-
|
|
80
|
+
const isIcon = mutation.target === this.icon || mutation.target.parentNode === this.icon; // ignore mutation if it caused by the lazy load emoji inside icon.
|
|
81
|
+
|
|
82
|
+
const isInsideIcon = this.icon.contains(mutation.target);
|
|
83
|
+
return isIcon || isInsideIcon;
|
|
81
84
|
}
|
|
82
85
|
|
|
83
86
|
}
|
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
import { keymap } from 'prosemirror-keymap';
|
|
2
|
-
import { setTextSelection } from 'prosemirror-utils';
|
|
3
|
-
|
|
2
|
+
import { setTextSelection, findParentNodeOfType } from 'prosemirror-utils';
|
|
3
|
+
import { isEmptyNode } from '../../../utils';
|
|
4
|
+
|
|
5
|
+
function findParentNode(selection, nodeType) {
|
|
6
|
+
const parentPosition = findParentNodeOfType(nodeType)(selection);
|
|
7
|
+
|
|
8
|
+
if (parentPosition) {
|
|
9
|
+
return parentPosition.node;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function isInsideAnEmptyNode(selection, nodeType, schema) {
|
|
16
|
+
const parentNode = findParentNode(selection, nodeType);
|
|
17
|
+
return parentNode && isEmptyNode(schema)(parentNode);
|
|
18
|
+
} // Somewhat broken and subverted: https://product-fabric.atlassian.net/browse/ED-6504
|
|
19
|
+
|
|
20
|
+
|
|
4
21
|
export function keymapPlugin() {
|
|
5
22
|
const deleteCurrentItem = ($from, tr) => {
|
|
6
23
|
return tr.delete($from.before($from.depth) - 1, $from.end($from.depth) + 1);
|
|
@@ -16,7 +33,8 @@ export function keymapPlugin() {
|
|
|
16
33
|
tr
|
|
17
34
|
} = state;
|
|
18
35
|
const {
|
|
19
|
-
panel
|
|
36
|
+
panel,
|
|
37
|
+
blockquote
|
|
20
38
|
} = nodes;
|
|
21
39
|
const {
|
|
22
40
|
$from,
|
|
@@ -38,7 +56,7 @@ export function keymapPlugin() {
|
|
|
38
56
|
const isPreviousNodeAPanel = previousNodeType === panel;
|
|
39
57
|
const isParentNodeAPanel = parentNodeType === panel; // Stops merging panels when deleting empty paragraph in between
|
|
40
58
|
|
|
41
|
-
if (isPreviousNodeAPanel && !isParentNodeAPanel) {
|
|
59
|
+
if (isPreviousNodeAPanel && !isParentNodeAPanel || isInsideAnEmptyNode(selection, panel, state.schema) || isInsideAnEmptyNode(selection, blockquote, state.schema)) {
|
|
42
60
|
const content = $from.node($from.depth).content;
|
|
43
61
|
const insertPos = previousPos.pos - 1;
|
|
44
62
|
deleteCurrentItem($from, tr).insert(insertPos, content);
|
|
@@ -2,7 +2,7 @@ import { closeHistory } from 'prosemirror-history';
|
|
|
2
2
|
import { Fragment, Node as PMNode, Slice } from 'prosemirror-model';
|
|
3
3
|
import { TextSelection, NodeSelection } from 'prosemirror-state';
|
|
4
4
|
import { findParentNodeOfType, hasParentNodeOfType, safeInsert } from 'prosemirror-utils';
|
|
5
|
-
import { compose, insideTable, isParagraph, isText, isLinkMark, processRawValue } from '../../utils';
|
|
5
|
+
import { compose, insideTable, isParagraph, isText, isLinkMark, processRawValue, insideTableCell } from '../../utils';
|
|
6
6
|
import { mapSlice } from '../../utils/slice';
|
|
7
7
|
import { INPUT_METHOD } from '../analytics';
|
|
8
8
|
import { insertCard, queueCardsFromChangedTr } from '../card/pm-plugins/doc';
|
|
@@ -610,7 +610,7 @@ export function insertIntoPanel(tr, slice, panel) {
|
|
|
610
610
|
}
|
|
611
611
|
export function handleRichText(slice) {
|
|
612
612
|
return (state, dispatch) => {
|
|
613
|
-
var _slice$content, _panelParentOverCurre;
|
|
613
|
+
var _slice$content, _slice$content2, _panelParentOverCurre;
|
|
614
614
|
|
|
615
615
|
const {
|
|
616
616
|
codeBlock,
|
|
@@ -621,7 +621,8 @@ export function handleRichText(slice) {
|
|
|
621
621
|
const {
|
|
622
622
|
selection
|
|
623
623
|
} = state;
|
|
624
|
-
const firstChildOfSlice = (_slice$content = slice.content) === null || _slice$content === void 0 ? void 0 : _slice$content.firstChild;
|
|
624
|
+
const firstChildOfSlice = (_slice$content = slice.content) === null || _slice$content === void 0 ? void 0 : _slice$content.firstChild;
|
|
625
|
+
const lastChildOfSlice = (_slice$content2 = slice.content) === null || _slice$content2 === void 0 ? void 0 : _slice$content2.lastChild; // In case user is pasting inline code,
|
|
625
626
|
// any backtick ` immediately preceding it should be removed.
|
|
626
627
|
|
|
627
628
|
let tr = state.tr;
|
|
@@ -636,7 +637,7 @@ export function handleRichText(slice) {
|
|
|
636
637
|
|
|
637
638
|
closeHistory(tr);
|
|
638
639
|
const isFirstChildListNode = isListNode(firstChildOfSlice);
|
|
639
|
-
const isLastChildListNode = isListNode(
|
|
640
|
+
const isLastChildListNode = isListNode(lastChildOfSlice);
|
|
640
641
|
const isSliceContentListNodes = isFirstChildListNode || isLastChildListNode; // We want to use safeInsert to insert invalid content, as it inserts at the closest non schema violating position
|
|
641
642
|
// rather than spliting the selection parent node in half (which is what replaceSelection does)
|
|
642
643
|
// Exception is paragraph and heading nodes, these should be split, provided their parent supports the pasted content
|
|
@@ -655,9 +656,23 @@ export function handleRichText(slice) {
|
|
|
655
656
|
} else if (noNeedForSafeInsert) {
|
|
656
657
|
tr.replaceSelection(slice);
|
|
657
658
|
} else {
|
|
658
|
-
// need
|
|
659
|
-
|
|
660
|
-
|
|
659
|
+
// need to scan the slice if there's a block node inside it
|
|
660
|
+
let doesBlockNodeExist = false;
|
|
661
|
+
slice.content.nodesBetween(0, slice.content.size, (node, start) => {
|
|
662
|
+
if (start >= slice.openStart && start <= slice.content.size - slice.openEnd && node.isBlock) {
|
|
663
|
+
doesBlockNodeExist = true;
|
|
664
|
+
return false;
|
|
665
|
+
}
|
|
666
|
+
});
|
|
667
|
+
|
|
668
|
+
if (insideTableCell(state) && !doesBlockNodeExist) {
|
|
669
|
+
// bring back the old code for inline nodes
|
|
670
|
+
insertIntoPanel(tr, slice, panel);
|
|
671
|
+
} else {
|
|
672
|
+
// need safeInsert rather than replaceSelection, so that nodes aren't split in half
|
|
673
|
+
// e.g. when pasting a layout into a table, replaceSelection splits the table in half and adds the layout in the middle
|
|
674
|
+
tr = safeInsert(slice.content, tr.selection.$to.pos)(tr);
|
|
675
|
+
}
|
|
661
676
|
}
|
|
662
677
|
|
|
663
678
|
tr.setStoredMarks([]);
|
|
@@ -675,6 +690,29 @@ export function handleRichText(slice) {
|
|
|
675
690
|
return true;
|
|
676
691
|
};
|
|
677
692
|
}
|
|
693
|
+
export function handlePasteIntoCaption(slice) {
|
|
694
|
+
return (state, dispatch) => {
|
|
695
|
+
const {
|
|
696
|
+
caption
|
|
697
|
+
} = state.schema.nodes;
|
|
698
|
+
const tr = state.tr;
|
|
699
|
+
|
|
700
|
+
if (hasParentNodeOfType(caption)(state.selection)) {
|
|
701
|
+
// We let PM replace the selection and it will insert as text where it can't place the node
|
|
702
|
+
// This is totally fine as caption is just a simple block that only contains inline contents
|
|
703
|
+
// And it is more in line with WYSIWYG expectations
|
|
704
|
+
tr.replaceSelection(slice).scrollIntoView();
|
|
705
|
+
|
|
706
|
+
if (dispatch) {
|
|
707
|
+
dispatch(tr);
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
return true;
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
return false;
|
|
714
|
+
};
|
|
715
|
+
}
|
|
678
716
|
export const handleSelectedTable = slice => (state, dispatch) => {
|
|
679
717
|
const tr = replaceSelectedTable(state, slice, INPUT_METHOD.CLIPBOARD);
|
|
680
718
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { linkifyMatch } from '@atlaskit/adf-schema';
|
|
2
|
-
import LinkifyIt from 'linkify-it';
|
|
2
|
+
import LinkifyIt from 'linkify-it';
|
|
3
|
+
import { findFilepaths, isLinkInMatches } from '../hyperlink/utils'; // modified version of the original Linkify plugin
|
|
3
4
|
// https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/linkify.js
|
|
4
5
|
|
|
5
6
|
const arrayReplaceAt = (src, pos, newElements) => {
|
|
@@ -67,8 +68,13 @@ const linkify = state => {
|
|
|
67
68
|
const nodes = [];
|
|
68
69
|
let level = currentToken.level;
|
|
69
70
|
let lastPos = 0;
|
|
71
|
+
const filepaths = findFilepaths(text);
|
|
70
72
|
|
|
71
73
|
for (let ln = 0; ln < links.length; ln++) {
|
|
74
|
+
if (isLinkInMatches(links[ln].index, filepaths)) {
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
|
|
72
78
|
const {
|
|
73
79
|
url
|
|
74
80
|
} = links[ln];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ACTION, INPUT_METHOD, EVENT_TYPE, ACTION_SUBJECT, ACTION_SUBJECT_ID, addAnalytics, PasteTypes, PasteContents, withAnalytics } from '../../analytics';
|
|
2
2
|
import { getPasteSource } from '../util';
|
|
3
|
-
import { handlePasteAsPlainText, handlePasteIntoTaskAndDecision, handleCodeBlock, handleMediaSingle, handlePastePreservingMarks, handleMarkdown, handleRichText, handleExpandPasteInTable, handleSelectedTable, handlePasteLinkOnSelectedText } from '../handlers';
|
|
3
|
+
import { handlePasteAsPlainText, handlePasteIntoTaskAndDecision, handleCodeBlock, handleMediaSingle, handlePastePreservingMarks, handleMarkdown, handleRichText, handleExpandPasteInTable, handleSelectedTable, handlePasteLinkOnSelectedText, handlePasteIntoCaption } from '../handlers';
|
|
4
4
|
import { pipe } from '../../../utils';
|
|
5
5
|
import { findParentNode } from 'prosemirror-utils';
|
|
6
6
|
import { mapSlice } from '../../../utils/slice';
|
|
@@ -222,6 +222,9 @@ export const handlePasteAsPlainTextWithAnalytics = (view, event, slice) => pipe(
|
|
|
222
222
|
export const handlePasteIntoTaskAndDecisionWithAnalytics = (view, event, slice, type) => pipe(handlePasteIntoTaskAndDecision, pasteCommandWithAnalytics(view, event, slice, {
|
|
223
223
|
type: type
|
|
224
224
|
}))(slice);
|
|
225
|
+
export const handlePasteIntoCaptionWithAnalytics = (view, event, slice, type) => pipe(handlePasteIntoCaption, pasteCommandWithAnalytics(view, event, slice, {
|
|
226
|
+
type: type
|
|
227
|
+
}))(slice);
|
|
225
228
|
export const handleCodeBlockWithAnalytics = (view, event, slice, text) => pipe(handleCodeBlock, pasteCommandWithAnalytics(view, event, slice, {
|
|
226
229
|
type: PasteTypes.plain
|
|
227
230
|
}))(text);
|
|
@@ -12,7 +12,7 @@ import { linkifyContent } from '../../hyperlink/utils';
|
|
|
12
12
|
import { transformSliceNestedExpandToExpand } from '../../expand/utils';
|
|
13
13
|
import { handleMacroAutoConvert, handleMention, handleParagraphBlockMarks } from '../handlers';
|
|
14
14
|
import { transformSliceToJoinAdjacentCodeBlocks, transformSingleLineCodeBlockToCodeMark } from '../../code-block/utils';
|
|
15
|
-
import { createPasteMeasurePayload, getContentNodeTypes, handlePasteAsPlainTextWithAnalytics, handlePasteIntoTaskAndDecisionWithAnalytics, handleCodeBlockWithAnalytics, handleMediaSingleWithAnalytics, handlePastePreservingMarksWithAnalytics, handleMarkdownWithAnalytics, handleRichTextWithAnalytics, handleExpandWithAnalytics, handleSelectedTableWithAnalytics, handlePasteLinkOnSelectedTextWithAnalytics, sendPasteAnalyticsEvent } from './analytics';
|
|
15
|
+
import { createPasteMeasurePayload, getContentNodeTypes, handlePasteAsPlainTextWithAnalytics, handlePasteIntoTaskAndDecisionWithAnalytics, handleCodeBlockWithAnalytics, handleMediaSingleWithAnalytics, handlePastePreservingMarksWithAnalytics, handleMarkdownWithAnalytics, handleRichTextWithAnalytics, handleExpandWithAnalytics, handleSelectedTableWithAnalytics, handlePasteLinkOnSelectedTextWithAnalytics, sendPasteAnalyticsEvent, handlePasteIntoCaptionWithAnalytics } from './analytics';
|
|
16
16
|
import { analyticsPluginKey, PasteTypes } from '../../analytics';
|
|
17
17
|
import { insideTable, measurements } from '../../../utils';
|
|
18
18
|
import { measureRender } from '@atlaskit/editor-common/utils';
|
|
@@ -26,6 +26,7 @@ import { pluginKey as betterTypePluginKey } from '../../base/pm-plugins/better-t
|
|
|
26
26
|
import { clipboardTextSerializer } from './clipboard-text-serializer';
|
|
27
27
|
import { htmlHasIncompleteTable, tryRebuildCompleteTableHtml, isPastedFromTinyMCEConfluence } from '../util/tinyMCE';
|
|
28
28
|
import { handlePaste as handlePasteTable } from '@atlaskit/editor-tables/utils';
|
|
29
|
+
import { extractSliceFromStep } from '../../../utils/step';
|
|
29
30
|
export const stateKey = new PluginKey('pastePlugin');
|
|
30
31
|
export { md } from '../md';
|
|
31
32
|
export function createPlugin(schema, dispatchAnalyticsEvent, plainTextPasteLinkification, cardOptions, sanitizePrivateContent, providerFactory) {
|
|
@@ -157,8 +158,25 @@ export function createPlugin(schema, dispatchAnalyticsEvent, plainTextPasteLinki
|
|
|
157
158
|
const {
|
|
158
159
|
placeholder
|
|
159
160
|
} = state.schema.nodes;
|
|
161
|
+
const isPastingTextInsidePlaceholderText = ((_state$doc$resolve$no = state.doc.resolve(state.selection.$anchor.pos).nodeAfter) === null || _state$doc$resolve$no === void 0 ? void 0 : _state$doc$resolve$no.type) === placeholder; // don't add closeHistory call if we're pasting a table, as some tables may involve additional
|
|
162
|
+
// appendedTransactions to repair them (if they're partial or incomplete) and we don't want
|
|
163
|
+
// to split those repairing transactions in prosemirror-history when they're being added to the
|
|
164
|
+
// "done" stack
|
|
165
|
+
|
|
166
|
+
const isPastingTable = tr.steps.some(step => {
|
|
167
|
+
var _slice$content;
|
|
168
|
+
|
|
169
|
+
const slice = extractSliceFromStep(step);
|
|
170
|
+
let tableExists = false;
|
|
171
|
+
slice === null || slice === void 0 ? void 0 : (_slice$content = slice.content) === null || _slice$content === void 0 ? void 0 : _slice$content.forEach(node => {
|
|
172
|
+
if (node.type === state.schema.nodes.table) {
|
|
173
|
+
tableExists = true;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
return tableExists;
|
|
177
|
+
});
|
|
160
178
|
|
|
161
|
-
if (
|
|
179
|
+
if (!isPastingTextInsidePlaceholderText && !isPastingTable) {
|
|
162
180
|
tr.setMeta(betterTypePluginKey, true);
|
|
163
181
|
}
|
|
164
182
|
|
|
@@ -281,6 +299,13 @@ export function createPlugin(schema, dispatchAnalyticsEvent, plainTextPasteLinki
|
|
|
281
299
|
|
|
282
300
|
if (!insideTable(state)) {
|
|
283
301
|
slice = transformSliceNestedExpandToExpand(slice, state.schema);
|
|
302
|
+
} // Create a custom handler to avoid handling with handleRichText method
|
|
303
|
+
// As SafeInsert is used inside handleRichText which caused some bad UX like this:
|
|
304
|
+
// https://product-fabric.atlassian.net/browse/MEX-1520
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
if (handlePasteIntoCaptionWithAnalytics(view, event, slice, PasteTypes.richText)(state, dispatch)) {
|
|
308
|
+
return true;
|
|
284
309
|
}
|
|
285
310
|
|
|
286
311
|
return handleRichTextWithAnalytics(view, event, slice)(state, dispatch);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
2
|
+
import { browser } from '@atlaskit/editor-common/utils';
|
|
2
3
|
import { PluginKey } from 'prosemirror-state';
|
|
3
4
|
import { DecorationSet, Decoration } from 'prosemirror-view';
|
|
4
5
|
import { isInEmptyLine, isEmptyDocument, bracketTyped } from '../../utils/document';
|
|
@@ -26,7 +27,17 @@ export function createPlaceholderDecoration(editorState, placeholderText, pos =
|
|
|
26
27
|
placeholderDecoration.className = placeHolderClass;
|
|
27
28
|
const placeholderNode = document.createElement('span');
|
|
28
29
|
placeholderNode.textContent = placeholderText;
|
|
29
|
-
placeholderDecoration.appendChild(placeholderNode);
|
|
30
|
+
placeholderDecoration.appendChild(placeholderNode); // ME-2289 Tapping on backspace in empty editor hides and displays the keyboard
|
|
31
|
+
// Add a editable buff node as the cursor moving forward is inevitable
|
|
32
|
+
// when backspace in GBoard composition
|
|
33
|
+
|
|
34
|
+
if (browser.android && browser.chrome) {
|
|
35
|
+
const buffNode = document.createElement('span');
|
|
36
|
+
buffNode.setAttribute('contenteditable', 'true');
|
|
37
|
+
buffNode.textContent = ' ';
|
|
38
|
+
placeholderDecoration.appendChild(buffNode);
|
|
39
|
+
}
|
|
40
|
+
|
|
30
41
|
return DecorationSet.create(editorState.doc, [Decoration.widget(pos, placeholderDecoration, {
|
|
31
42
|
side: -1,
|
|
32
43
|
key: 'placeholder'
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { css } from '@emotion/react';
|
|
2
2
|
import { N200 } from '@atlaskit/theme/colors';
|
|
3
|
+
import { token } from '@atlaskit/tokens';
|
|
3
4
|
export const placeHolderClassName = 'placeholder-decoration';
|
|
4
5
|
export const placeholderStyles = css`
|
|
5
6
|
.ProseMirror .${placeHolderClassName} {
|
|
6
7
|
position: relative;
|
|
7
|
-
color: ${N200};
|
|
8
|
+
color: ${token('color.text.subtlest', N200)};
|
|
8
9
|
width: 100%;
|
|
9
10
|
|
|
10
11
|
pointer-events: none;
|
|
@@ -14,6 +15,7 @@ export const placeholderStyles = css`
|
|
|
14
15
|
> span {
|
|
15
16
|
position: absolute;
|
|
16
17
|
pointer-events: none;
|
|
18
|
+
outline: none;
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
&.align-end > span {
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { css } from '@emotion/react';
|
|
2
2
|
import { N300 } from '@atlaskit/theme/colors';
|
|
3
3
|
import { SelectionStyle, getSelectionStyles, akEditorSelectedNodeClassName } from '@atlaskit/editor-shared-styles';
|
|
4
|
+
import { token } from '@atlaskit/tokens';
|
|
4
5
|
export const placeholderTextStyles = css`
|
|
5
6
|
.ProseMirror span[data-placeholder] {
|
|
6
|
-
color: ${N300};
|
|
7
|
+
color: ${token('color.text.subtlest', N300)};
|
|
7
8
|
display: inline;
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
.ProseMirror span.pm-placeholder {
|
|
11
12
|
display: inline;
|
|
12
|
-
color: ${N300};
|
|
13
|
+
color: ${token('color.text.subtlest', N300)};
|
|
13
14
|
}
|
|
14
15
|
.ProseMirror span.pm-placeholder__text {
|
|
15
16
|
display: inline;
|
|
16
|
-
color: ${N300};
|
|
17
|
+
color: ${token('color.text.subtlest', N300)};
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
.ProseMirror span.pm-placeholder.${akEditorSelectedNodeClassName} {
|
|
@@ -21,7 +22,7 @@ export const placeholderTextStyles = css`
|
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
.ProseMirror span.pm-placeholder__text[data-placeholder]::after {
|
|
24
|
-
color: ${N300};
|
|
25
|
+
color: ${token('color.text.subtlest', N300)};
|
|
25
26
|
cursor: text;
|
|
26
27
|
content: attr(data-placeholder);
|
|
27
28
|
display: inline;
|
|
@@ -56,15 +56,15 @@ export const gapCursorStyles = css`
|
|
|
56
56
|
float: right;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
/* fix vertical
|
|
60
|
-
&:first-
|
|
61
|
-
&:first-
|
|
62
|
-
&:first-
|
|
63
|
-
&:first-
|
|
64
|
-
&:first-
|
|
65
|
-
&:first-
|
|
66
|
-
&:first-
|
|
67
|
-
&:first-
|
|
59
|
+
/* fix vertical alignment of gap cursor */
|
|
60
|
+
&:first-of-type + ul,
|
|
61
|
+
&:first-of-type + span + ul,
|
|
62
|
+
&:first-of-type + ol,
|
|
63
|
+
&:first-of-type + span + ol,
|
|
64
|
+
&:first-of-type + pre,
|
|
65
|
+
&:first-of-type + span + pre,
|
|
66
|
+
&:first-of-type + blockquote,
|
|
67
|
+
&:first-of-type + span + blockquote {
|
|
68
68
|
margin-top: 0;
|
|
69
69
|
}
|
|
70
70
|
}
|
|
@@ -32,8 +32,8 @@ const plugin = new SafePlugin({
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
return {
|
|
35
|
-
update(view
|
|
36
|
-
const pluginState = gapCursorPluginKey.getState(state);
|
|
35
|
+
update(view) {
|
|
36
|
+
const pluginState = gapCursorPluginKey.getState(view.state);
|
|
37
37
|
/**
|
|
38
38
|
* Starting with prosemirror-view 1.19.4, cursor wrapper that previousely was hiding cursor doesn't exist:
|
|
39
39
|
* https://github.com/ProseMirror/prosemirror-view/commit/4a56bc7b7e61e96ef879d1dae1014ede0fc09e43
|
|
@@ -9,10 +9,10 @@ import { akEditorFloatingDialogZIndex } from '@atlaskit/editor-shared-styles';
|
|
|
9
9
|
import { StatusPicker as AkStatusPicker } from '@atlaskit/status/picker';
|
|
10
10
|
import { borderRadius, gridSize } from '@atlaskit/theme/constants';
|
|
11
11
|
import { N0 } from '@atlaskit/theme/colors';
|
|
12
|
-
import { dropShadow } from '../../../ui/styles';
|
|
13
12
|
import withOuterListeners from '../../../ui/with-outer-listeners';
|
|
14
13
|
import { DEFAULT_STATUS } from '../actions';
|
|
15
14
|
import { analyticsState, createStatusAnalyticsAndFire } from '../analytics';
|
|
15
|
+
import { token } from '@atlaskit/tokens';
|
|
16
16
|
const PopupWithListeners = withOuterListeners(Popup);
|
|
17
17
|
export let InputMethod;
|
|
18
18
|
|
|
@@ -23,10 +23,10 @@ export let InputMethod;
|
|
|
23
23
|
})(InputMethod || (InputMethod = {}));
|
|
24
24
|
|
|
25
25
|
const pickerContainer = css`
|
|
26
|
-
background: ${N0};
|
|
26
|
+
background: ${token('elevation.surface.overlay', N0)};
|
|
27
27
|
padding: ${gridSize()}px 0;
|
|
28
28
|
border-radius: ${borderRadius()}px;
|
|
29
|
-
${
|
|
29
|
+
box-shadow: ${token('elevation.shadow.overlay', '0 0 1px rgba(9, 30, 66, 0.31), 0 4px 8px -2px rgba(9, 30, 66, 0.25)')};
|
|
30
30
|
input {
|
|
31
31
|
text-transform: uppercase;
|
|
32
32
|
}
|
|
@@ -11,6 +11,7 @@ import { IconTable } from '../quick-insert/assets';
|
|
|
11
11
|
import { pluginConfig } from './create-plugin-config';
|
|
12
12
|
import { createPlugin as createTableLocalIdPlugin } from './pm-plugins/table-local-id';
|
|
13
13
|
import { createPlugin as createTableSafariDelayedDomSelectionSyncingWorkaroundPlugin } from './pm-plugins/safari-delayed-dom-selection-syncing-workaround';
|
|
14
|
+
import { createPlugin as createTableSafariDeleteCompositionTextIssueWorkaroundPlugin } from './pm-plugins/safari-delete-composition-text-issue-workaround';
|
|
14
15
|
import { createPlugin as createDecorationsPlugin } from './pm-plugins/decorations/plugin';
|
|
15
16
|
import { keymapPlugin } from './pm-plugins/keymap';
|
|
16
17
|
import { tableSelectionKeymapPlugin } from './pm-plugins/table-selection-keymap';
|
|
@@ -56,13 +57,12 @@ const tablesPlugin = options => ({
|
|
|
56
57
|
eventDispatcher
|
|
57
58
|
}) => {
|
|
58
59
|
const {
|
|
59
|
-
dynamicSizingEnabled,
|
|
60
60
|
fullWidthEnabled,
|
|
61
61
|
wasFullWidthEnabled,
|
|
62
62
|
breakoutEnabled,
|
|
63
63
|
tableOptions
|
|
64
64
|
} = options || {};
|
|
65
|
-
return createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig(tableOptions), breakoutEnabled
|
|
65
|
+
return createPlugin(dispatchAnalyticsEvent, dispatch, portalProviderAPI, eventDispatcher, pluginConfig(tableOptions), breakoutEnabled, fullWidthEnabled, wasFullWidthEnabled);
|
|
66
66
|
}
|
|
67
67
|
}, {
|
|
68
68
|
name: 'tablePMColResizing',
|
|
@@ -70,7 +70,6 @@ const tablesPlugin = options => ({
|
|
|
70
70
|
dispatch
|
|
71
71
|
}) => {
|
|
72
72
|
const {
|
|
73
|
-
dynamicSizingEnabled,
|
|
74
73
|
fullWidthEnabled,
|
|
75
74
|
tableOptions
|
|
76
75
|
} = options || {};
|
|
@@ -78,7 +77,6 @@ const tablesPlugin = options => ({
|
|
|
78
77
|
allowColumnResizing
|
|
79
78
|
} = pluginConfig(tableOptions);
|
|
80
79
|
return allowColumnResizing ? createFlexiResizingPlugin(dispatch, {
|
|
81
|
-
dynamicTextSizing: dynamicSizingEnabled && !fullWidthEnabled,
|
|
82
80
|
lastColumnResizable: !fullWidthEnabled
|
|
83
81
|
}) : undefined;
|
|
84
82
|
}
|
|
@@ -120,6 +118,17 @@ const tablesPlugin = options => ({
|
|
|
120
118
|
return createTableSafariDelayedDomSelectionSyncingWorkaroundPlugin();
|
|
121
119
|
}
|
|
122
120
|
});
|
|
121
|
+
} // Workaround for table element breaking issue caused by composition event with an inputType of deleteCompositionText.
|
|
122
|
+
// https://github.com/ProseMirror/prosemirror/issues/934
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
if (browser.safari) {
|
|
126
|
+
plugins.push({
|
|
127
|
+
name: 'tableSafariDeleteCompositionTextIssueWorkaround',
|
|
128
|
+
plugin: () => {
|
|
129
|
+
return createTableSafariDeleteCompositionTextIssueWorkaroundPlugin();
|
|
130
|
+
}
|
|
131
|
+
});
|
|
123
132
|
}
|
|
124
133
|
|
|
125
134
|
return plugins;
|
|
@@ -207,7 +207,6 @@ class TableComponent extends React.Component {
|
|
|
207
207
|
view,
|
|
208
208
|
getNode,
|
|
209
209
|
getPos,
|
|
210
|
-
options,
|
|
211
210
|
containerWidth
|
|
212
211
|
} = this.props;
|
|
213
212
|
const node = getNode();
|
|
@@ -218,7 +217,6 @@ class TableComponent extends React.Component {
|
|
|
218
217
|
}
|
|
219
218
|
|
|
220
219
|
autoSizeTable(view, node, this.table, pos, {
|
|
221
|
-
dynamicTextSizing: options && options.dynamicTextSizing || false,
|
|
222
220
|
containerWidth: containerWidth.width
|
|
223
221
|
});
|
|
224
222
|
}
|
|
@@ -315,10 +313,8 @@ class TableComponent extends React.Component {
|
|
|
315
313
|
this.node = _getNode();
|
|
316
314
|
this.containerWidth = _containerWidth; // store table size using previous full-width mode so can detect if it has changed
|
|
317
315
|
|
|
318
|
-
const dynamicTextSizing = _options ? _options.dynamicTextSizing : false;
|
|
319
316
|
const isFullWidthModeEnabled = _options ? _options.wasFullWidthModeEnabled : false;
|
|
320
317
|
this.layoutSize = this.tableNodeLayoutSize(this.node, _containerWidth.width, {
|
|
321
|
-
dynamicTextSizing,
|
|
322
318
|
isFullWidthModeEnabled
|
|
323
319
|
}); // Disable inline table editing and resizing controls in Firefox
|
|
324
320
|
// https://github.com/ProseMirror/prosemirror/issues/432
|
|
@@ -399,7 +395,9 @@ class TableComponent extends React.Component {
|
|
|
399
395
|
componentDidUpdate(prevProps) {
|
|
400
396
|
const {
|
|
401
397
|
view,
|
|
402
|
-
getNode
|
|
398
|
+
getNode,
|
|
399
|
+
isMediaFullscreen,
|
|
400
|
+
allowColumnResizing
|
|
403
401
|
} = this.props;
|
|
404
402
|
const {
|
|
405
403
|
tableOverflowShadowsOptimization
|
|
@@ -426,7 +424,9 @@ class TableComponent extends React.Component {
|
|
|
426
424
|
if (currentTable.attrs.__autoSize) {
|
|
427
425
|
// Wait for next tick to handle auto sizing, gives the browser time to do layout calc etc.
|
|
428
426
|
this.handleAutoSizeDebounced();
|
|
429
|
-
}
|
|
427
|
+
} // re-drawing will cause media component get unmounted that will exit fullscreen mode if media is in fullscreen mode
|
|
428
|
+
// see https://product-fabric.atlassian.net/browse/MEX-1290
|
|
429
|
+
else if (allowColumnResizing && this.table && !isMediaFullscreen) {
|
|
430
430
|
// If col widths (e.g. via collab) or number of columns (e.g. delete a column) have changed,
|
|
431
431
|
// re-draw colgroup.
|
|
432
432
|
const previousTable = this.node;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { DOMSerializer } from 'prosemirror-model';
|
|
4
|
+
import { stateKey as mediaPluginKey } from '../../../plugins/media/pm-plugins/plugin-key';
|
|
4
5
|
import ReactNodeView from '../../../nodeviews/ReactNodeView';
|
|
5
6
|
import WithPluginState from '../../../ui/WithPluginState';
|
|
6
7
|
import { pluginKey as widthPluginKey } from '../../width';
|
|
@@ -74,14 +75,16 @@ export default class TableView extends ReactNodeView {
|
|
|
74
75
|
plugins: {
|
|
75
76
|
containerWidth: widthPluginKey,
|
|
76
77
|
pluginState: pluginKey,
|
|
77
|
-
tableResizingPluginState: tableResizingPluginKey
|
|
78
|
+
tableResizingPluginState: tableResizingPluginKey,
|
|
79
|
+
mediaState: mediaPluginKey
|
|
78
80
|
},
|
|
79
81
|
editorView: props.view,
|
|
80
82
|
render: pluginStates => {
|
|
81
83
|
const {
|
|
82
84
|
tableResizingPluginState,
|
|
83
85
|
pluginState,
|
|
84
|
-
containerWidth
|
|
86
|
+
containerWidth,
|
|
87
|
+
mediaState
|
|
85
88
|
} = pluginStates;
|
|
86
89
|
const tableActive = props.getPos() === pluginState.tablePos;
|
|
87
90
|
return /*#__PURE__*/React.createElement(TableComponent, {
|
|
@@ -89,6 +92,7 @@ export default class TableView extends ReactNodeView {
|
|
|
89
92
|
allowColumnResizing: props.allowColumnResizing,
|
|
90
93
|
eventDispatcher: props.eventDispatcher,
|
|
91
94
|
getPos: props.getPos,
|
|
95
|
+
isMediaFullscreen: mediaState === null || mediaState === void 0 ? void 0 : mediaState.isFullscreen,
|
|
92
96
|
options: props.options,
|
|
93
97
|
allowControls: pluginState.pluginConfig.allowControls,
|
|
94
98
|
isHeaderRowEnabled: pluginState.isHeaderRowEnabled,
|