@atlaskit/editor-core 166.0.4 → 167.0.2
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/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/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 +21 -7
- 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/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/find-replace/styles.js +2 -6
- package/dist/cjs/plugins/find-replace/ui/styles.js +4 -2
- 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/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 +5 -3
- package/dist/cjs/plugins/hyperlink/utils.js +53 -2
- package/dist/cjs/plugins/insert-block/index.js +1 -1
- 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/media/commands/helpers.js +10 -9
- package/dist/cjs/plugins/media/nodeviews/mediaInline.js +23 -4
- package/dist/cjs/plugins/media/nodeviews/mediaNodeView/media.js +6 -0
- 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/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 +23 -0
- 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/quick-insert/search.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/text-formatting/pm-plugins/input-rule.js +1 -1
- 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 +21 -14
- 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/Expand.js +3 -1
- package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +3 -1
- 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/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/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/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/insert-block/index.js +1 -1
- 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 +23 -0
- 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/quick-insert/search.js +1 -1
- 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/text-formatting/pm-plugins/input-rule.js +1 -1
- 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 +26 -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 +5 -2
- 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/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/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/date/ui/DatePicker/index.js +2 -1
- package/dist/esm/plugins/expand/ui/styles.js +15 -14
- package/dist/esm/plugins/extension/commands.js +3 -2
- package/dist/esm/plugins/extension/context-panel.js +21 -7
- package/dist/esm/plugins/extension/ui/Extension/Extension/styles.js +5 -4
- 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/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/find-replace/styles.js +3 -3
- package/dist/esm/plugins/find-replace/ui/styles.js +3 -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/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/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 +4 -3
- package/dist/esm/plugins/hyperlink/utils.js +44 -2
- package/dist/esm/plugins/insert-block/index.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/media/commands/helpers.js +6 -8
- package/dist/esm/plugins/media/nodeviews/mediaInline.js +22 -4
- package/dist/esm/plugins/media/nodeviews/mediaNodeView/media.js +7 -0
- package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +4 -3
- package/dist/esm/plugins/media/pm-plugins/main.js +2 -0
- package/dist/esm/plugins/media/styles.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/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 +21 -0
- 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 +27 -2
- 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/search.js +3 -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/text-formatting/pm-plugins/input-rule.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 +21 -14
- 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/Expand.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/common/RequiredIndicator.js +2 -1
- package/dist/esm/ui/ConfigPanel/Header.js +3 -2
- package/dist/esm/ui/ConfigPanel/NestedForms/RemovableField.js +3 -2
- 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/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/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/document.js +59 -5
- 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/types.d.ts +1 -0
- package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
- 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 +23 -23
|
@@ -76,10 +76,7 @@ export const createColumnControlsDecoration = selection => {
|
|
|
76
76
|
element.dataset.startIndex = `${index}`;
|
|
77
77
|
index += colspan;
|
|
78
78
|
element.dataset.endIndex = `${index}`;
|
|
79
|
-
return Decoration.widget(cell.pos + 1,
|
|
80
|
-
// because we need to always render all controls
|
|
81
|
-
// to keep the order safe
|
|
82
|
-
element, {
|
|
79
|
+
return Decoration.widget(cell.pos + 1, () => element, {
|
|
83
80
|
key: `${TableDecorations.COLUMN_CONTROLS_DECORATIONS}_${index}`,
|
|
84
81
|
// this decoration should be the first one, even before gap cursor.
|
|
85
82
|
side: -100
|
|
@@ -62,6 +62,8 @@ export const transformSliceToFixHardBreakProblemOnCopyFromCell = (slice, schema)
|
|
|
62
62
|
return slice;
|
|
63
63
|
};
|
|
64
64
|
export const transformSliceToRemoveOpenTable = (slice, schema) => {
|
|
65
|
+
var _slice$content$firstC;
|
|
66
|
+
|
|
65
67
|
// we're removing the table, tableRow and tableCell reducing the open depth by 3
|
|
66
68
|
const depthDecrement = 3; // Case 1: A slice entirely within a single CELL
|
|
67
69
|
|
|
@@ -69,17 +71,15 @@ export const transformSliceToRemoveOpenTable = (slice, schema) => {
|
|
|
69
71
|
slice.openStart >= 4 && slice.openEnd >= 4 && // slice is a table node
|
|
70
72
|
slice.content.childCount === 1 && slice.content.firstChild.type === schema.nodes.table) {
|
|
71
73
|
return new Slice(flatmap(slice.content, unwrapContentFromTable), slice.openStart - depthDecrement, slice.openEnd - depthDecrement);
|
|
72
|
-
} // Case 2: A slice starting
|
|
73
|
-
// slice.openStart can only be >= 4 if its a TextSelection. CellSelection would give openStart = 1
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
if (slice.openStart >= 4 && slice.content.firstChild.type === schema.nodes.table) {
|
|
77
|
-
return new Slice(flatmap(slice.content, removeTableFromFirstChild), slice.openStart - depthDecrement, slice.openEnd);
|
|
78
|
-
} // Case 3: A slice starting outside a table and finishing inside
|
|
74
|
+
} // Case 2: A slice starting within a CELL and ending outside the table
|
|
79
75
|
|
|
80
76
|
|
|
81
|
-
if (
|
|
82
|
-
|
|
77
|
+
if ( // starts inside of a cell but ends outside of the starting table
|
|
78
|
+
slice.openStart >= 4 && // slice starts from a table node (and spans across more than one node)
|
|
79
|
+
slice.content.childCount > 1 && ((_slice$content$firstC = slice.content.firstChild) === null || _slice$content$firstC === void 0 ? void 0 : _slice$content$firstC.type) === schema.nodes.table) {
|
|
80
|
+
// repoint the slice's cutting depth so that cell content where the slice starts
|
|
81
|
+
// does not get lifted out of the cell on paste
|
|
82
|
+
return new Slice(slice.content, 1, slice.openEnd);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
return slice;
|
|
@@ -152,7 +152,7 @@ const buildRegex = char => {
|
|
|
152
152
|
// Double X - https://regex101.com/r/pQUgjx/1/
|
|
153
153
|
|
|
154
154
|
const baseRegex = '^X(?=[^X\\s]).*?[^\\sX]X(?=[\\sOBJECT_REPLACEMENT_CHARACTER]COMBINATIONS|$)'.replace('OBJECT_REPLACEMENT_CHARACTER', leafNodeReplacementCharacter).replace('COMBINATIONS', combinations ? `|${combinations}` : '');
|
|
155
|
-
const replacedRegex =
|
|
155
|
+
const replacedRegex = String.prototype.hasOwnProperty('replaceAll') ? baseRegex.replaceAll('X', escapedChar) : baseRegex.replace(/X/g, escapedChar);
|
|
156
156
|
return new ReverseRegexExp(replacedRegex);
|
|
157
157
|
};
|
|
158
158
|
|
|
@@ -151,12 +151,13 @@ const typeAheadPlugin = options => {
|
|
|
151
151
|
containerElement,
|
|
152
152
|
popupsMountPoint,
|
|
153
153
|
popupsBoundariesElement,
|
|
154
|
-
popupsScrollableElement
|
|
154
|
+
popupsScrollableElement,
|
|
155
|
+
wrapperElement
|
|
155
156
|
}) {
|
|
156
157
|
popupMountRef.current = {
|
|
157
|
-
popupsMountPoint: popupsMountPoint ||
|
|
158
|
+
popupsMountPoint: popupsMountPoint || wrapperElement || undefined,
|
|
158
159
|
popupsBoundariesElement,
|
|
159
|
-
popupsScrollableElement
|
|
160
|
+
popupsScrollableElement: popupsScrollableElement || containerElement || undefined
|
|
160
161
|
};
|
|
161
162
|
return /*#__PURE__*/React.createElement(WithPluginState, {
|
|
162
163
|
plugins: {
|
|
@@ -12,6 +12,7 @@ import { WrapperTypeAhead } from '../ui/WrapperTypeAhead';
|
|
|
12
12
|
import { StatsModifier } from '../stats-modifier';
|
|
13
13
|
import { getTypeAheadQuery } from '../utils';
|
|
14
14
|
import { closeTypeAhead } from '../transforms/close-type-ahead';
|
|
15
|
+
import { token } from '@atlaskit/tokens';
|
|
15
16
|
export const factoryDecorations = ({
|
|
16
17
|
intl,
|
|
17
18
|
popupMountRef,
|
|
@@ -56,7 +57,7 @@ export const factoryDecorations = ({
|
|
|
56
57
|
|
|
57
58
|
typeaheadComponent.dataset.editorPopup = 'true';
|
|
58
59
|
typeaheadComponent.dataset.typeAhead = TYPE_AHEAD_DECORATION_DATA_ATTRIBUTE;
|
|
59
|
-
typeaheadComponent.style.color = B400;
|
|
60
|
+
typeaheadComponent.style.color = token('color.text.accent.blue', B400);
|
|
60
61
|
typeaheadComponent.style.backgroundColor = 'transparent';
|
|
61
62
|
|
|
62
63
|
const onUndoRedo = inputType => {
|
|
@@ -11,14 +11,14 @@ import { DynamicHeightListItem, SelectedIndexContext, ListItemActionsContext, Up
|
|
|
11
11
|
import { injectIntl } from 'react-intl-next';
|
|
12
12
|
import { typeAheadListMessages } from '../messages';
|
|
13
13
|
const LIST_ITEM_ESTIMATED_HEIGHT = ICON_HEIGHT + ITEM_PADDING * 2;
|
|
14
|
-
const LIST_MAX_HEIGHT = 380;
|
|
15
14
|
const LIST_WIDTH = 320;
|
|
16
15
|
const TypeAheadListComponent = /*#__PURE__*/React.memo(({
|
|
17
16
|
items,
|
|
18
17
|
selectedIndex,
|
|
19
18
|
onItemHover,
|
|
20
19
|
onItemClick,
|
|
21
|
-
intl
|
|
20
|
+
intl,
|
|
21
|
+
fitHeight
|
|
22
22
|
}) => {
|
|
23
23
|
const listRef = useRef();
|
|
24
24
|
const redrawListAtIndex = useCallback(index => {
|
|
@@ -41,7 +41,7 @@ const TypeAheadListComponent = /*#__PURE__*/React.memo(({
|
|
|
41
41
|
redrawListAtIndex,
|
|
42
42
|
getFirstVisibleIndex,
|
|
43
43
|
listLength: items.length,
|
|
44
|
-
listMaxHeight:
|
|
44
|
+
listMaxHeight: fitHeight,
|
|
45
45
|
listItemEstimatedHeight: LIST_ITEM_ESTIMATED_HEIGHT
|
|
46
46
|
});
|
|
47
47
|
const onItemsRendered = useCallback(props => {
|
|
@@ -99,7 +99,7 @@ const TypeAheadListComponent = /*#__PURE__*/React.memo(({
|
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
const estimatedHeight = items.length * LIST_ITEM_ESTIMATED_HEIGHT;
|
|
102
|
-
const height = Math.min(typeof renderedListHeight === 'number' ? renderedListHeight : estimatedHeight,
|
|
102
|
+
const height = Math.min(typeof renderedListHeight === 'number' ? renderedListHeight : estimatedHeight, fitHeight);
|
|
103
103
|
return jsx(ItemGroup, {
|
|
104
104
|
role: "listbox",
|
|
105
105
|
"aria-live": "polite",
|
|
@@ -10,6 +10,7 @@ import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
|
|
|
10
10
|
import IconFallback from '../../quick-insert/assets/fallback';
|
|
11
11
|
import { shortcutStyle } from '../../../ui/styles';
|
|
12
12
|
import { SelectItemMode } from '@atlaskit/editor-common/type-ahead';
|
|
13
|
+
import { token } from '@atlaskit/tokens';
|
|
13
14
|
export const ICON_HEIGHT = 40;
|
|
14
15
|
export const ICON_WIDTH = 40;
|
|
15
16
|
export const ITEM_PADDING = 12;
|
|
@@ -30,20 +31,20 @@ export const itemTheme = {
|
|
|
30
31
|
hover: {
|
|
31
32
|
// background: colors.transparent, transparent is not a thing
|
|
32
33
|
text: colorsText,
|
|
33
|
-
secondaryText: N200
|
|
34
|
+
secondaryText: token('color.text.subtlest', N200)
|
|
34
35
|
},
|
|
35
36
|
selected: {
|
|
36
37
|
background: themed({
|
|
37
|
-
light: N20,
|
|
38
|
-
dark: DN70
|
|
38
|
+
light: token('color.background.neutral.subtle.hovered', N20),
|
|
39
|
+
dark: token('color.background.neutral.subtle.hovered', DN70)
|
|
39
40
|
}),
|
|
40
41
|
text: themed({
|
|
41
|
-
light: N800,
|
|
42
|
-
dark: DN600
|
|
42
|
+
light: token('color.text', N800),
|
|
43
|
+
dark: token('color.text', DN600)
|
|
43
44
|
}),
|
|
44
45
|
secondaryText: themed({
|
|
45
|
-
light: N200,
|
|
46
|
-
dark: DN300
|
|
46
|
+
light: token('color.text.subtlest', N200),
|
|
47
|
+
dark: token('color.text.subtlest', DN300)
|
|
47
48
|
})
|
|
48
49
|
}
|
|
49
50
|
}
|
|
@@ -52,7 +53,7 @@ export const itemIcon = css`
|
|
|
52
53
|
width: ${ICON_WIDTH}px;
|
|
53
54
|
height: ${ICON_HEIGHT}px;
|
|
54
55
|
overflow: hidden;
|
|
55
|
-
border: 1px solid rgba(223, 225, 229, 0.5); /* N60 at 50% */
|
|
56
|
+
border: 1px solid ${token('color.border', 'rgba(223, 225, 229, 0.5)')}; /* N60 at 50% */
|
|
56
57
|
border-radius: ${borderRadius()}px;
|
|
57
58
|
box-sizing: border-box;
|
|
58
59
|
|
|
@@ -76,7 +77,7 @@ const itemText = css`
|
|
|
76
77
|
white-space: initial;
|
|
77
78
|
.item-description {
|
|
78
79
|
font-size: ${relativeFontSizeToBase16(11.67)};
|
|
79
|
-
color: ${N200};
|
|
80
|
+
color: ${token('color.text.subtlest', N200)};
|
|
80
81
|
margin-top: 4px;
|
|
81
82
|
}
|
|
82
83
|
`;
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
|
-
import React, { useEffect, useMemo } from 'react';
|
|
2
|
+
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
3
3
|
import { css, jsx } from '@emotion/react';
|
|
4
|
+
import rafSchedule from 'raf-schd';
|
|
4
5
|
import { akEditorFloatingDialogZIndex } from '@atlaskit/editor-shared-styles';
|
|
5
|
-
import { Popup } from '@atlaskit/editor-common/ui';
|
|
6
|
+
import { findOverflowScrollParent, Popup } from '@atlaskit/editor-common/ui';
|
|
6
7
|
import { borderRadius, gridSize } from '@atlaskit/theme/constants';
|
|
7
8
|
import { N0, N60A, N50A } from '@atlaskit/theme/colors';
|
|
8
9
|
import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../../analytics';
|
|
9
10
|
import { TYPE_AHEAD_POPUP_CONTENT_CLASS } from '../constants';
|
|
10
11
|
import { TypeAheadList } from './TypeAheadList';
|
|
12
|
+
import { ITEM_PADDING } from './TypeAheadListItem';
|
|
13
|
+
import { token } from '@atlaskit/tokens';
|
|
14
|
+
const DEFAULT_TYPEAHEAD_MENU_HEIGHT = 380;
|
|
11
15
|
const typeAheadContent = css`
|
|
12
|
-
background: ${N0};
|
|
16
|
+
background: ${token('elevation.surface.overlay', N0)};
|
|
13
17
|
border-radius: ${borderRadius()}px;
|
|
14
|
-
box-shadow: 0 0 1px ${N60A}, 0 4px 8px -2px ${N50A};
|
|
18
|
+
box-shadow: ${token('elevation.shadow.overlay', `0 0 1px ${N60A}, 0 4px 8px -2px ${N50A}`)};
|
|
15
19
|
padding: ${gridSize() / 2}px 0;
|
|
16
20
|
width: 320px;
|
|
17
21
|
max-height: 380px; /* ~5.5 visibile items */
|
|
@@ -97,13 +101,66 @@ export const TypeAheadPopup = /*#__PURE__*/React.memo(props => {
|
|
|
97
101
|
// we need to send the event again
|
|
98
102
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
99
103
|
triggerHandler]);
|
|
104
|
+
const [fitHeight, setFitHeight] = useState(DEFAULT_TYPEAHEAD_MENU_HEIGHT);
|
|
105
|
+
const getFitHeight = useCallback(() => {
|
|
106
|
+
if (!anchorElement || !popupsMountPoint) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
const target = anchorElement;
|
|
111
|
+
const {
|
|
112
|
+
top: targetTop,
|
|
113
|
+
height: targetHeight
|
|
114
|
+
} = target.getBoundingClientRect();
|
|
115
|
+
const boundariesElement = document.body;
|
|
116
|
+
const {
|
|
117
|
+
height: boundariesHeight,
|
|
118
|
+
top: boundariesTop
|
|
119
|
+
} = boundariesElement.getBoundingClientRect(); // Calculating the space above and space below our decoration
|
|
120
|
+
|
|
121
|
+
const spaceAbove = targetTop - (boundariesTop - boundariesElement.scrollTop);
|
|
122
|
+
const spaceBelow = boundariesTop + boundariesHeight - (targetTop + targetHeight); // Keep default height if more than enough space
|
|
123
|
+
|
|
124
|
+
if (spaceBelow >= DEFAULT_TYPEAHEAD_MENU_HEIGHT) {
|
|
125
|
+
return setFitHeight(DEFAULT_TYPEAHEAD_MENU_HEIGHT);
|
|
126
|
+
} // Determines whether typeahead will fit above or below decoration
|
|
127
|
+
// and return the space available.
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
const newFitHeight = spaceBelow >= spaceAbove ? spaceBelow : spaceAbove; // Each typeahead item has some padding
|
|
131
|
+
// We want to leave some space at the top so first item
|
|
132
|
+
// is not partially cropped
|
|
133
|
+
|
|
134
|
+
const fitHeightWithSpace = newFitHeight - ITEM_PADDING * 2; // Ensure typeahead height is max its default height
|
|
135
|
+
|
|
136
|
+
const minFitHeight = Math.min(DEFAULT_TYPEAHEAD_MENU_HEIGHT, fitHeightWithSpace);
|
|
137
|
+
return setFitHeight(minFitHeight);
|
|
138
|
+
}, [anchorElement, popupsMountPoint]);
|
|
139
|
+
const getFitHeightDebounced = rafSchedule(getFitHeight);
|
|
140
|
+
useEffect(() => {
|
|
141
|
+
const scrollableElement = popupsScrollableElement || findOverflowScrollParent(anchorElement);
|
|
142
|
+
getFitHeight();
|
|
143
|
+
window.addEventListener('resize', getFitHeightDebounced);
|
|
144
|
+
|
|
145
|
+
if (scrollableElement) {
|
|
146
|
+
scrollableElement.addEventListener('scroll', getFitHeightDebounced);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return () => {
|
|
150
|
+
window.removeEventListener('resize', getFitHeightDebounced);
|
|
151
|
+
|
|
152
|
+
if (scrollableElement) {
|
|
153
|
+
scrollableElement.removeEventListener('scroll', getFitHeightDebounced);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
}, [anchorElement, popupsScrollableElement, getFitHeightDebounced, getFitHeight]);
|
|
100
157
|
return jsx(Popup, {
|
|
101
158
|
zIndex: akEditorFloatingDialogZIndex,
|
|
102
159
|
target: anchorElement,
|
|
103
160
|
mountTo: popupsMountPoint,
|
|
104
161
|
boundariesElement: popupsBoundariesElement,
|
|
105
162
|
scrollableElement: popupsScrollableElement,
|
|
106
|
-
fitHeight:
|
|
163
|
+
fitHeight: fitHeight,
|
|
107
164
|
fitWidth: 340,
|
|
108
165
|
offset: OFFSET
|
|
109
166
|
}, jsx("div", {
|
|
@@ -117,7 +174,8 @@ export const TypeAheadPopup = /*#__PURE__*/React.memo(props => {
|
|
|
117
174
|
items: items,
|
|
118
175
|
selectedIndex: selectedIndex,
|
|
119
176
|
onItemHover: setSelectedItem,
|
|
120
|
-
onItemClick: onItemInsert
|
|
177
|
+
onItemClick: onItemInsert,
|
|
178
|
+
fitHeight: fitHeight
|
|
121
179
|
})));
|
|
122
180
|
});
|
|
123
181
|
TypeAheadPopup.displayName = 'TypeAheadPopup';
|
|
@@ -5,7 +5,7 @@ export const UnsupportedSharedCssClassName = {
|
|
|
5
5
|
BLOCK_CONTAINER: 'unsupportedBlockView-content-wrap',
|
|
6
6
|
INLINE_CONTAINER: 'unsupportedInlineView-content-wrap'
|
|
7
7
|
};
|
|
8
|
-
const inlineUnsupportedSelector = `.${UnsupportedSharedCssClassName.INLINE_CONTAINER} > span:nth-
|
|
8
|
+
const inlineUnsupportedSelector = `.${UnsupportedSharedCssClassName.INLINE_CONTAINER} > span:nth-of-type(2)`;
|
|
9
9
|
const blockUnsupportedSelector = `.${UnsupportedSharedCssClassName.BLOCK_CONTAINER} > div`;
|
|
10
10
|
export const unsupportedStyles = css`
|
|
11
11
|
${blockUnsupportedSelector}, ${inlineUnsupportedSelector} {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { css } from '@emotion/react';
|
|
2
2
|
import { borderRadius } from '@atlaskit/theme/constants';
|
|
3
3
|
import { N60A } from '@atlaskit/theme/colors';
|
|
4
|
+
import { token } from '@atlaskit/tokens';
|
|
4
5
|
export const dropdown = css`
|
|
5
6
|
display: flex;
|
|
6
7
|
flex-direction: column;
|
|
7
|
-
background: white;
|
|
8
|
+
background: ${token('elevation.surface.overlay', 'white')};
|
|
8
9
|
border-radius: ${borderRadius()}px;
|
|
9
|
-
box-shadow: 0 4px 8px -2px ${N60A}, 0 0 1px ${N60A};
|
|
10
|
+
box-shadow: ${token('elevation.shadow.overlay', `0 4px 8px -2px ${N60A}, 0 0 1px ${N60A}`)};
|
|
10
11
|
box-sizing: border-box;
|
|
11
12
|
padding: 4px 0;
|
|
12
13
|
`;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { css } from '@emotion/react';
|
|
2
2
|
import { N800, N20 } from '@atlaskit/theme/colors';
|
|
3
|
+
import { token } from '@atlaskit/tokens';
|
|
3
4
|
export const dropdownItem = css`
|
|
4
5
|
display: flex;
|
|
5
6
|
align-items: center;
|
|
6
7
|
cursor: pointer;
|
|
7
8
|
text-decoration: none;
|
|
8
9
|
padding: 8px 32px 8px 12px;
|
|
9
|
-
color: ${N800};
|
|
10
|
+
color: ${token('color.text', N800)};
|
|
10
11
|
> span {
|
|
11
12
|
display: flex;
|
|
12
13
|
margin-right: 8px;
|
|
13
14
|
}
|
|
14
15
|
&:hover {
|
|
15
|
-
background-color: ${N20};
|
|
16
|
+
background-color: ${token('color.background.neutral.subtle.hovered', N20)};
|
|
16
17
|
}
|
|
17
18
|
`;
|
|
@@ -79,7 +79,8 @@ export default class Editor extends React.Component {
|
|
|
79
79
|
popupsScrollableElement: popupsScrollableElement,
|
|
80
80
|
containerElement: this.containerElement,
|
|
81
81
|
disabled: !!disabled,
|
|
82
|
-
dispatchAnalyticsEvent: dispatchAnalyticsEvent
|
|
82
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
83
|
+
wrapperElement: this.containerElement
|
|
83
84
|
}), editorDOMElement)));
|
|
84
85
|
});
|
|
85
86
|
}
|
|
@@ -7,6 +7,7 @@ import ButtonGroup from '@atlaskit/button/button-group';
|
|
|
7
7
|
import Button from '@atlaskit/button/custom-theme-button';
|
|
8
8
|
import { borderRadius } from '@atlaskit/theme/constants';
|
|
9
9
|
import { N40 } from '@atlaskit/theme/colors';
|
|
10
|
+
import { token } from '@atlaskit/tokens';
|
|
10
11
|
import Toolbar from '../../Toolbar';
|
|
11
12
|
import PluginSlot from '../../PluginSlot';
|
|
12
13
|
import WithPluginState from '../../WithPluginState';
|
|
@@ -39,8 +40,8 @@ const commentEditorStyle = css`
|
|
|
39
40
|
/* calc(2px + 40px + 24px + ( 20px + (32px * 2))) */
|
|
40
41
|
|
|
41
42
|
height: auto;
|
|
42
|
-
background-color: white;
|
|
43
|
-
border: 1px solid ${N40};
|
|
43
|
+
background-color: ${token('color.background.input', 'white')};
|
|
44
|
+
border: 1px solid ${token('color.border', N40)};
|
|
44
45
|
box-sizing: border-box;
|
|
45
46
|
border-radius: ${borderRadius()}px;
|
|
46
47
|
|
|
@@ -86,6 +87,8 @@ class Editor extends React.Component {
|
|
|
86
87
|
|
|
87
88
|
_defineProperty(this, "containerElement", null);
|
|
88
89
|
|
|
90
|
+
_defineProperty(this, "wrapperElement", null);
|
|
91
|
+
|
|
89
92
|
_defineProperty(this, "handleSave", () => {
|
|
90
93
|
if (this.props.editorView && this.props.onSave) {
|
|
91
94
|
this.props.onSave(this.props.editorView);
|
|
@@ -133,7 +136,8 @@ class Editor extends React.Component {
|
|
|
133
136
|
css: [commentEditorStyle, css`
|
|
134
137
|
min-height: ${minHeight}px;
|
|
135
138
|
`],
|
|
136
|
-
className: "akEditor"
|
|
139
|
+
className: "akEditor",
|
|
140
|
+
ref: ref => this.wrapperElement = ref
|
|
137
141
|
}, jsx(MainToolbar, {
|
|
138
142
|
useStickyToolbar: useStickyToolbar
|
|
139
143
|
}, jsx(Toolbar, {
|
|
@@ -176,7 +180,8 @@ class Editor extends React.Component {
|
|
|
176
180
|
popupsBoundariesElement: popupsBoundariesElement,
|
|
177
181
|
popupsScrollableElement: popupsScrollableElement,
|
|
178
182
|
containerElement: this.containerElement,
|
|
179
|
-
disabled: !!disabled
|
|
183
|
+
disabled: !!disabled,
|
|
184
|
+
wrapperElement: this.wrapperElement
|
|
180
185
|
}), editorDOMElement);
|
|
181
186
|
})), jsx(WidthEmitter, {
|
|
182
187
|
editorView: editorView
|
|
@@ -3,6 +3,7 @@ import React, { useEffect, useState } from 'react';
|
|
|
3
3
|
import { css, jsx } from '@emotion/react';
|
|
4
4
|
import { gridSize } from '@atlaskit/theme/constants';
|
|
5
5
|
import { N30 } from '@atlaskit/theme/colors';
|
|
6
|
+
import { token } from '@atlaskit/tokens';
|
|
6
7
|
import { akEditorToolbarKeylineHeight, akEditorGridLineZIndex, akEditorMenuZIndex } from '@atlaskit/editor-shared-styles';
|
|
7
8
|
export const TableControlsPadding = 20;
|
|
8
9
|
const mainToolbarWrapperStyle = css`
|
|
@@ -11,7 +12,7 @@ const mainToolbarWrapperStyle = css`
|
|
|
11
12
|
padding: ${gridSize()}px ${gridSize()}px 0;
|
|
12
13
|
display: flex;
|
|
13
14
|
height: auto;
|
|
14
|
-
background-color: white;
|
|
15
|
+
background-color: ${token('elevation.surface', 'white')};
|
|
15
16
|
box-shadow: none;
|
|
16
17
|
padding-left: ${TableControlsPadding}px;
|
|
17
18
|
|
|
@@ -32,7 +33,8 @@ const stickyToolbarWrapperStyle = css`
|
|
|
32
33
|
z-index: ${akEditorGridLineZIndex + akEditorMenuZIndex};
|
|
33
34
|
transition: box-shadow ease-in-out 0.2s;
|
|
34
35
|
&.show-keyline {
|
|
35
|
-
box-shadow: 0 ${akEditorToolbarKeylineHeight}px 0 0
|
|
36
|
+
box-shadow: 0 ${akEditorToolbarKeylineHeight}px 0 0
|
|
37
|
+
${token('color.border', N30)};
|
|
36
38
|
}
|
|
37
39
|
`;
|
|
38
40
|
|
|
@@ -20,6 +20,8 @@ export class FullPageEditor extends React.Component {
|
|
|
20
20
|
|
|
21
21
|
_defineProperty(this, "scrollContainer", null);
|
|
22
22
|
|
|
23
|
+
_defineProperty(this, "wrapperElementRef", /*#__PURE__*/React.createRef());
|
|
24
|
+
|
|
23
25
|
_defineProperty(this, "contentAreaRef", contentArea => {
|
|
24
26
|
this.contentArea = contentArea;
|
|
25
27
|
});
|
|
@@ -84,7 +86,8 @@ export class FullPageEditor extends React.Component {
|
|
|
84
86
|
const featureFlags = (_props$editorView = props.editorView) !== null && _props$editorView !== void 0 && _props$editorView.state ? getFeatureFlags(props.editorView.state) : undefined;
|
|
85
87
|
return jsx(ContextPanelWidthProvider, null, jsx("div", {
|
|
86
88
|
css: fullPageEditorWrapper,
|
|
87
|
-
className: "akEditor"
|
|
89
|
+
className: "akEditor",
|
|
90
|
+
ref: this.wrapperElementRef
|
|
88
91
|
}, jsx(FullPageToolbar, {
|
|
89
92
|
appearance: props.appearance,
|
|
90
93
|
beforeIcon: props.primaryToolbarIconBefore,
|
|
@@ -123,7 +126,8 @@ export class FullPageEditor extends React.Component {
|
|
|
123
126
|
popupsScrollableElement: props.popupsScrollableElement,
|
|
124
127
|
providerFactory: props.providerFactory,
|
|
125
128
|
scrollContainer: this.scrollContainer,
|
|
126
|
-
scrollContainerRef: this.scrollContainerRef
|
|
129
|
+
scrollContainerRef: this.scrollContainerRef,
|
|
130
|
+
wrapperElement: this.wrapperElementRef.current
|
|
127
131
|
})));
|
|
128
132
|
}
|
|
129
133
|
|
|
@@ -51,7 +51,8 @@ const Content = /*#__PURE__*/React.memo(props => {
|
|
|
51
51
|
popupsScrollableElement: props.popupsScrollableElement,
|
|
52
52
|
disabled: !!props.disabled,
|
|
53
53
|
containerElement: props.scrollContainer,
|
|
54
|
-
dispatchAnalyticsEvent: props.dispatchAnalyticsEvent
|
|
54
|
+
dispatchAnalyticsEvent: props.dispatchAnalyticsEvent,
|
|
55
|
+
wrapperElement: props.wrapperElement
|
|
55
56
|
}), props.editorDOMElement)))), jsx("div", {
|
|
56
57
|
css: sidebarArea
|
|
57
58
|
}, props.contextPanel || jsx(ContextPanel, {
|
|
@@ -10,7 +10,7 @@ import { mainToolbarStyle, mainToolbarIconBeforeStyle, mainToolbarFirstChildStyl
|
|
|
10
10
|
import { ContextPanelConsumer } from '../../ContextPanel/context';
|
|
11
11
|
import messages from './messages';
|
|
12
12
|
export const EditorToolbar = /*#__PURE__*/React.memo(props => {
|
|
13
|
-
var _props$featureFlags, _props$featureFlags2, _props$featureFlags3, _props$collabEdit, _props$collabEdit2, _props$collabEdit3, _props$
|
|
13
|
+
var _props$featureFlags, _props$featureFlags2, _props$featureFlags3, _props$featureFlags4, _props$collabEdit, _props$collabEdit2, _props$collabEdit3, _props$featureFlags5, _props$featureFlags6;
|
|
14
14
|
|
|
15
15
|
const [shouldSplitToolbar, setShouldSplitToolbar] = useState(false);
|
|
16
16
|
const nonCustomToolbar = jsx("div", {
|
|
@@ -30,19 +30,20 @@ export const EditorToolbar = /*#__PURE__*/React.memo(props => {
|
|
|
30
30
|
disabled: props.disabled,
|
|
31
31
|
dispatchAnalyticsEvent: props.dispatchAnalyticsEvent,
|
|
32
32
|
containerElement: props.containerElement,
|
|
33
|
-
hasMinWidth: props.hasMinWidth
|
|
33
|
+
hasMinWidth: props.hasMinWidth,
|
|
34
|
+
twoLineEditorToolbar: !!((_props$featureFlags = props.featureFlags) !== null && _props$featureFlags !== void 0 && _props$featureFlags.twoLineEditorToolbar)
|
|
34
35
|
}));
|
|
35
36
|
const customToolbar = jsx("div", {
|
|
36
37
|
css: customToolbarWrapperStyle
|
|
37
|
-
}, (_props$
|
|
38
|
+
}, (_props$featureFlags2 = props.featureFlags) !== null && _props$featureFlags2 !== void 0 && _props$featureFlags2.twoLineEditorToolbar && !!props.customPrimaryToolbarComponents && 'before' in props.customPrimaryToolbarComponents ? jsx(BeforePrimaryToolbarWrapper, {
|
|
38
39
|
beforePrimaryToolbarComponents: props.customPrimaryToolbarComponents.before
|
|
39
|
-
}) : null, (props === null || props === void 0 ? void 0 : (_props$
|
|
40
|
+
}) : null, (props === null || props === void 0 ? void 0 : (_props$featureFlags3 = props.featureFlags) === null || _props$featureFlags3 === void 0 ? void 0 : _props$featureFlags3.showAvatarGroupAsPlugin) === true && !((_props$featureFlags4 = props.featureFlags) !== null && _props$featureFlags4 !== void 0 && _props$featureFlags4.twoLineEditorToolbar) ? null : jsx(AvatarsWithPluginState, {
|
|
40
41
|
editorView: props.editorView,
|
|
41
42
|
eventDispatcher: props.eventDispatcher,
|
|
42
43
|
inviteToEditComponent: (_props$collabEdit = props.collabEdit) === null || _props$collabEdit === void 0 ? void 0 : _props$collabEdit.inviteToEditComponent,
|
|
43
44
|
inviteToEditHandler: (_props$collabEdit2 = props.collabEdit) === null || _props$collabEdit2 === void 0 ? void 0 : _props$collabEdit2.inviteToEditHandler,
|
|
44
45
|
isInviteToEditButtonSelected: (_props$collabEdit3 = props.collabEdit) === null || _props$collabEdit3 === void 0 ? void 0 : _props$collabEdit3.isInviteToEditButtonSelected
|
|
45
|
-
}), (_props$
|
|
46
|
+
}), (_props$featureFlags5 = props.featureFlags) !== null && _props$featureFlags5 !== void 0 && _props$featureFlags5.findReplace && (_props$featureFlags6 = props.featureFlags) !== null && _props$featureFlags6 !== void 0 && _props$featureFlags6.twoLineEditorToolbar ? jsx(FindReplaceToolbarButtonWithState, {
|
|
46
47
|
popupsBoundariesElement: props.popupsBoundariesElement,
|
|
47
48
|
popupsMountPoint: props.popupsMountPoint,
|
|
48
49
|
popupsScrollableElement: props.popupsScrollableElement,
|
|
@@ -51,9 +52,9 @@ export const EditorToolbar = /*#__PURE__*/React.memo(props => {
|
|
|
51
52
|
dispatchAnalyticsEvent: props.dispatchAnalyticsEvent
|
|
52
53
|
}) : null, !!props.customPrimaryToolbarComponents && 'after' in props.customPrimaryToolbarComponents ? props.customPrimaryToolbarComponents.after : props.customPrimaryToolbarComponents);
|
|
53
54
|
useEffect(() => {
|
|
54
|
-
var _props$
|
|
55
|
+
var _props$featureFlags7;
|
|
55
56
|
|
|
56
|
-
if ((_props$
|
|
57
|
+
if ((_props$featureFlags7 = props.featureFlags) !== null && _props$featureFlags7 !== void 0 && _props$featureFlags7.twoLineEditorToolbar) {
|
|
57
58
|
const updateOnResize = () => {
|
|
58
59
|
setShouldSplitToolbar(window.innerWidth <= MAXIMUM_TWO_LINE_TOOLBAR_BREAKPOINT);
|
|
59
60
|
};
|
|
@@ -66,17 +67,17 @@ export const EditorToolbar = /*#__PURE__*/React.memo(props => {
|
|
|
66
67
|
return jsx(ContextPanelConsumer, null, ({
|
|
67
68
|
width: contextPanelWidth
|
|
68
69
|
}) => {
|
|
69
|
-
var _props$
|
|
70
|
+
var _props$featureFlags8, _props$featureFlags9, _props$featureFlags10;
|
|
70
71
|
|
|
71
72
|
return jsx("div", {
|
|
72
|
-
css: mainToolbarStyle(props.showKeyline || contextPanelWidth > 0, !!((_props$
|
|
73
|
+
css: mainToolbarStyle(props.showKeyline || contextPanelWidth > 0, !!((_props$featureFlags8 = props.featureFlags) !== null && _props$featureFlags8 !== void 0 && _props$featureFlags8.twoLineEditorToolbar)),
|
|
73
74
|
"data-testid": "ak-editor-main-toolbar"
|
|
74
75
|
}, jsx("div", {
|
|
75
|
-
css: mainToolbarFirstChildStyle(!!((_props$
|
|
76
|
+
css: mainToolbarFirstChildStyle(!!((_props$featureFlags9 = props.featureFlags) !== null && _props$featureFlags9 !== void 0 && _props$featureFlags9.twoLineEditorToolbar)),
|
|
76
77
|
role: "region",
|
|
77
78
|
"aria-label": props.intl.formatMessage(messages.toolbarLabel)
|
|
78
79
|
}, shouldSplitToolbar ? customToolbar : nonCustomToolbar), jsx("div", {
|
|
79
|
-
css: mainToolbarSecondChildStyle(!!((_props$
|
|
80
|
+
css: mainToolbarSecondChildStyle(!!((_props$featureFlags10 = props.featureFlags) !== null && _props$featureFlags10 !== void 0 && _props$featureFlags10.twoLineEditorToolbar)),
|
|
80
81
|
"data-testid": 'avatar-group-outside-plugin',
|
|
81
82
|
role: "region",
|
|
82
83
|
"aria-label": props.intl.formatMessage(messages.pageActionsLabel)
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { css } from '@emotion/react';
|
|
2
2
|
import { N30 } from '@atlaskit/theme/colors';
|
|
3
|
+
import { token } from '@atlaskit/tokens';
|
|
3
4
|
import { gridSize } from '@atlaskit/theme/constants';
|
|
4
5
|
import { akEditorMenuZIndex, akEditorSwoopCubicBezier, akEditorToolbarKeylineHeight, akEditorMobileMaxWidth } from '@atlaskit/editor-shared-styles';
|
|
5
6
|
export const MAXIMUM_TWO_LINE_TOOLBAR_BREAKPOINT = 868;
|
|
6
|
-
const toolbarLineHeight = 56;
|
|
7
|
+
const toolbarLineHeight = 56; // box-shadow is overriden by the mainToolbar
|
|
8
|
+
|
|
7
9
|
const mainToolbarWithKeyline = css`
|
|
8
|
-
box-shadow: 0 ${akEditorToolbarKeylineHeight}px 0 0
|
|
10
|
+
box-shadow: 0 ${akEditorToolbarKeylineHeight}px 0 0
|
|
11
|
+
${token('color.border', N30)};
|
|
9
12
|
`;
|
|
10
13
|
const mainToolbarTwoLineStyle = css`
|
|
11
14
|
@media (max-width: ${MAXIMUM_TWO_LINE_TOOLBAR_BREAKPOINT}px) {
|
|
@@ -22,7 +25,8 @@ const mainToolbar = css`
|
|
|
22
25
|
display: flex;
|
|
23
26
|
height: ${toolbarLineHeight}px;
|
|
24
27
|
flex-shrink: 0;
|
|
25
|
-
|
|
28
|
+
// TODO: https://product-fabric.atlassian.net/browse/DSP-4456
|
|
29
|
+
background-color: ${token('elevation.surface', 'white')};
|
|
26
30
|
|
|
27
31
|
& object {
|
|
28
32
|
height: 0 !important;
|
|
@@ -6,7 +6,7 @@ import { token } from '@atlaskit/tokens';
|
|
|
6
6
|
export const inputStyle = css`
|
|
7
7
|
/* Normal .className gets overridden by input[type=text] hence this hack to produce input.className */
|
|
8
8
|
input& {
|
|
9
|
-
background-color: white;
|
|
9
|
+
background-color: ${token('color.background.input', 'white')};
|
|
10
10
|
border: 1px solid ${token('color.border.input', akEditorSubtleAccent)};
|
|
11
11
|
border-radius: ${borderRadius()}px;
|
|
12
12
|
box-sizing: border-box;
|
|
@@ -19,10 +19,11 @@ export const inputStyle = css`
|
|
|
19
19
|
font-weight: 400;
|
|
20
20
|
line-height: 1.42857142857143;
|
|
21
21
|
letter-spacing: -0.005em;
|
|
22
|
-
color: ${N300};
|
|
22
|
+
color: ${token('color.text.subtlest', N300)};
|
|
23
23
|
|
|
24
24
|
&:hover {
|
|
25
|
-
|
|
25
|
+
background-color: ${token('color.background.input.hovered', 'white')};
|
|
26
|
+
border-color: ${token('color.border.input', N50)};
|
|
26
27
|
cursor: text;
|
|
27
28
|
}
|
|
28
29
|
}
|
|
@@ -180,10 +180,17 @@ class ConfigPanel extends React.Component {
|
|
|
180
180
|
const {
|
|
181
181
|
fields,
|
|
182
182
|
extensionManifest,
|
|
183
|
-
onChange
|
|
183
|
+
onChange,
|
|
184
|
+
autoSaveReject
|
|
184
185
|
} = this.props;
|
|
185
186
|
|
|
186
187
|
if (!extensionManifest || !fields) {
|
|
188
|
+
if (!extensionManifest) {
|
|
189
|
+
autoSaveReject === null || autoSaveReject === void 0 ? void 0 : autoSaveReject(new Error('Extension manifest not loaded'));
|
|
190
|
+
} else if (!fields) {
|
|
191
|
+
autoSaveReject === null || autoSaveReject === void 0 ? void 0 : autoSaveReject(new Error('Config fields not loaded'));
|
|
192
|
+
}
|
|
193
|
+
|
|
187
194
|
return;
|
|
188
195
|
}
|
|
189
196
|
|
|
@@ -191,7 +198,8 @@ class ConfigPanel extends React.Component {
|
|
|
191
198
|
const serializedData = await serialize(extensionManifest, this.backfillTabFormData(fields, formData, this.state.currentParameters), fields);
|
|
192
199
|
onChange(serializedData);
|
|
193
200
|
} catch (error) {
|
|
194
|
-
// eslint-disable-next-line no-console
|
|
201
|
+
autoSaveReject === null || autoSaveReject === void 0 ? void 0 : autoSaveReject(error); // eslint-disable-next-line no-console
|
|
202
|
+
|
|
195
203
|
console.error(`Error serializing parameters`, error);
|
|
196
204
|
}
|
|
197
205
|
});
|
|
@@ -75,6 +75,7 @@ export default function FieldsLoader({
|
|
|
75
75
|
parameters = defaultEmptyObject,
|
|
76
76
|
autoSave,
|
|
77
77
|
autoSaveTrigger,
|
|
78
|
+
autoSaveReject,
|
|
78
79
|
closeOnEsc,
|
|
79
80
|
showHeader,
|
|
80
81
|
onChange,
|
|
@@ -94,6 +95,7 @@ export default function FieldsLoader({
|
|
|
94
95
|
parameters: parameters,
|
|
95
96
|
autoSave: autoSave,
|
|
96
97
|
autoSaveTrigger: autoSaveTrigger,
|
|
98
|
+
autoSaveReject: autoSaveReject,
|
|
97
99
|
closeOnEsc: closeOnEsc,
|
|
98
100
|
showHeader: showHeader,
|
|
99
101
|
onChange: onChange,
|