@atlaskit/editor-core 148.0.0 → 149.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +110 -0
- package/dist/cjs/create-editor/create-plugins-list.js +6 -1
- package/dist/cjs/editor.js +1 -4
- package/dist/cjs/index.js +24 -40
- package/dist/cjs/labs/next/presets/default.js +1 -1
- package/dist/cjs/messages.js +5 -0
- package/dist/cjs/nodeviews/SelectionBasedNodeView.js +1 -2
- package/dist/cjs/plugins/analytics/plugin.js +9 -7
- package/dist/cjs/plugins/analytics/types/enums.js +5 -0
- package/dist/cjs/plugins/analytics/types/type-ahead.js +5 -0
- package/dist/cjs/plugins/block-type/messages.js +10 -0
- package/dist/cjs/plugins/card/nodeviews/embedCard.js +1 -3
- package/dist/cjs/plugins/collab-edit/participants.js +15 -0
- package/dist/cjs/plugins/collab-edit/plugin-state.js +14 -0
- package/dist/cjs/plugins/collab-edit/ui/avatars-with-plugin-state.js +6 -4
- package/dist/cjs/plugins/collab-edit/ui/avatars.js +19 -2
- package/dist/cjs/plugins/collab-edit/utils.js +42 -2
- package/dist/cjs/plugins/date/actions.js +4 -2
- package/dist/cjs/plugins/date/index.js +1 -1
- package/dist/cjs/plugins/date/pm-plugins/utils.js +6 -1
- package/dist/cjs/plugins/emoji/index.js +143 -120
- package/dist/cjs/plugins/emoji/pm-plugins/ascii-input-rules.js +0 -14
- package/dist/cjs/plugins/expand/pm-plugins/keymap.js +3 -7
- package/dist/cjs/plugins/extension/actions.js +16 -16
- package/dist/cjs/plugins/extension/pm-plugins/main.js +4 -4
- package/dist/cjs/plugins/extension/ui/Extension/ExtensionComponent.js +5 -4
- package/dist/cjs/plugins/extension/ui/Extension/index.js +2 -2
- package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
- package/dist/cjs/plugins/floating-toolbar/ui/ConfirmationModal.js +12 -14
- package/dist/cjs/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +35 -0
- package/dist/cjs/plugins/floating-toolbar/ui/EditorHideEmojiIcon.js +38 -0
- package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.js +5 -7
- package/dist/cjs/plugins/help-dialog/ui/index.js +12 -18
- package/dist/cjs/plugins/help-dialog/ui/styles.js +2 -6
- package/dist/cjs/plugins/hyperlink/index.js +4 -10
- package/dist/cjs/plugins/insert-block/index.js +9 -8
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +7 -3
- package/dist/cjs/plugins/list/index.js +5 -0
- package/dist/cjs/plugins/macro/actions.js +14 -14
- package/dist/cjs/plugins/media/index.js +1 -0
- package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +1 -0
- package/dist/cjs/plugins/media/pm-plugins/main.js +26 -14
- package/dist/cjs/plugins/media/styles.js +1 -1
- package/dist/cjs/plugins/media/toolbar/filePreviewItem.js +86 -0
- package/dist/cjs/plugins/media/toolbar/index.js +161 -44
- package/dist/cjs/plugins/media/toolbar/utils.js +77 -0
- package/dist/cjs/plugins/mentions/index.js +57 -602
- package/dist/cjs/plugins/mentions/pm-plugins/key.js +11 -0
- package/dist/cjs/plugins/mentions/pm-plugins/main.js +162 -0
- package/dist/cjs/plugins/mentions/pm-plugins/utils.js +12 -0
- package/dist/cjs/plugins/mentions/type-ahead/index.js +449 -0
- package/dist/cjs/plugins/mentions/ui/InviteItem/index.js +3 -1
- package/dist/cjs/plugins/mentions/ui/InviteItem/styles.js +8 -3
- package/dist/cjs/plugins/mentions/ui/ToolbarMention/index.js +3 -3
- package/dist/cjs/plugins/mentions/utils.js +24 -2
- package/dist/cjs/plugins/panel/index.js +46 -13
- package/dist/cjs/plugins/panel/nodeviews/panel.js +39 -25
- package/dist/cjs/plugins/panel/toolbar.js +94 -6
- package/dist/cjs/plugins/panel/toolbar.test.js +149 -16
- package/dist/cjs/plugins/paste/handlers.js +2 -2
- package/dist/cjs/plugins/paste/pm-plugins/analytics.js +6 -3
- package/dist/cjs/plugins/placeholder/index.js +6 -0
- package/dist/cjs/plugins/quick-insert/api.js +30 -0
- package/dist/cjs/plugins/quick-insert/assets/custom-panel.js +55 -0
- package/dist/cjs/plugins/quick-insert/assets/index.js +14 -1
- package/dist/cjs/plugins/quick-insert/index.js +10 -24
- package/dist/cjs/plugins/quick-insert/ui/ModalElementBrowser/index.js +1 -0
- package/dist/cjs/plugins/rank.js +1 -1
- package/dist/cjs/plugins/rule/index.js +1 -25
- package/dist/cjs/plugins/scroll-into-view/index.js +1 -4
- package/dist/cjs/plugins/selection/gap-cursor/actions.js +5 -6
- package/dist/cjs/plugins/selection/pm-plugins/selection-main.js +1 -3
- package/dist/cjs/plugins/status/actions.js +5 -2
- package/dist/cjs/plugins/status/plugin.js +1 -1
- package/dist/cjs/plugins/table/commands/selection.js +24 -24
- package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +8 -1
- package/dist/cjs/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +14 -15
- package/dist/cjs/plugins/tasks-and-decisions/nodeviews/decisionItem.js +3 -1
- package/dist/cjs/plugins/tasks-and-decisions/nodeviews/taskItem.js +3 -1
- package/dist/cjs/plugins/tasks-and-decisions/pm-plugins/keymaps.js +1 -2
- package/dist/cjs/plugins/text-formatting/pm-plugins/cursor.js +1 -4
- package/dist/cjs/plugins/type-ahead/api.js +243 -0
- package/dist/cjs/plugins/type-ahead/commands/insert-type-ahead-item.js +238 -0
- package/dist/cjs/plugins/type-ahead/commands/update-list-items.js +30 -0
- package/dist/cjs/plugins/type-ahead/commands/update-query.js +16 -18
- package/dist/cjs/plugins/type-ahead/commands/update-selected-index.js +36 -0
- package/dist/cjs/plugins/type-ahead/constants.js +25 -0
- package/dist/cjs/plugins/type-ahead/index.js +183 -52
- package/dist/cjs/plugins/type-ahead/insert-utils.js +132 -0
- package/dist/cjs/plugins/type-ahead/pm-plugins/actions.js +12 -9
- package/dist/cjs/plugins/type-ahead/pm-plugins/decorations.js +238 -0
- package/dist/cjs/plugins/type-ahead/pm-plugins/input-rules.js +20 -40
- package/dist/cjs/plugins/type-ahead/pm-plugins/insert-item-plugin.js +28 -0
- package/dist/cjs/plugins/type-ahead/pm-plugins/{plugin-key.js → key.js} +0 -0
- package/dist/cjs/plugins/type-ahead/pm-plugins/main.js +79 -424
- package/dist/cjs/plugins/type-ahead/pm-plugins/reducer.js +188 -0
- package/dist/cjs/plugins/type-ahead/pm-plugins/utils.js +26 -0
- package/dist/cjs/plugins/type-ahead/stats-modifier.js +49 -0
- package/dist/cjs/plugins/type-ahead/transforms/close-type-ahead.js +18 -0
- package/dist/cjs/plugins/type-ahead/transforms/open-typeahead-at-cursor.js +51 -0
- package/dist/cjs/plugins/type-ahead/transforms/set-selection-before-query.js +24 -0
- package/dist/cjs/plugins/type-ahead/ui/DynamicHeightListItem.js +77 -0
- package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +325 -0
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadList.js +195 -0
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadListItem.js +141 -0
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +141 -0
- package/dist/cjs/plugins/type-ahead/ui/WrapperTypeAhead.js +151 -0
- package/dist/cjs/plugins/type-ahead/ui/hooks/use-dynamic-list-height-calculation.js +118 -0
- package/dist/cjs/plugins/type-ahead/ui/hooks/use-item-insert.js +132 -0
- package/dist/cjs/plugins/type-ahead/ui/hooks/use-load-items.js +61 -0
- package/dist/cjs/plugins/type-ahead/ui/hooks/use-on-force-select.js +50 -0
- package/dist/cjs/plugins/type-ahead/ui/hooks/use-resize-observer.js +70 -0
- package/dist/cjs/plugins/type-ahead/utils.js +127 -0
- package/dist/cjs/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +33 -2
- package/dist/cjs/plugins/view-update-subscription/index.js +19 -14
- package/dist/cjs/plugins/view-update-subscription/subscribe/toolbarAndPickerUpdates.js +10 -3
- package/dist/cjs/plugins/view-update-subscription/subscribe/type-ahead-updates.js +46 -0
- package/dist/cjs/test-utils.js +17 -0
- package/dist/cjs/types/empty-state-handler.js +5 -0
- package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +4 -21
- package/dist/cjs/ui/ElementBrowser/ElementBrowser.js +4 -2
- package/dist/cjs/ui/ElementBrowser/InsertMenu.js +1 -0
- package/dist/cjs/ui/ElementBrowser/ModalElementBrowser.js +16 -23
- package/dist/cjs/ui/ElementBrowser/components/ElementList/ElementList.js +11 -4
- package/dist/cjs/ui/ElementBrowser/components/StatelessElementBrowser.js +12 -4
- package/dist/cjs/ui/PanelTextInput/index.js +1 -3
- package/dist/cjs/utils/compare.js +7 -7
- package/dist/cjs/utils/index.js +7 -8
- package/dist/cjs/utils/rich-media-utils.js +2 -2
- package/dist/cjs/utils/selection.js +6 -3
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/create-editor/create-plugins-list.js +6 -1
- package/dist/es2019/editor.js +1 -4
- package/dist/es2019/index.js +4 -6
- package/dist/es2019/labs/next/presets/default.js +2 -2
- package/dist/es2019/messages.js +5 -0
- package/dist/es2019/nodeviews/SelectionBasedNodeView.js +1 -2
- package/dist/es2019/plugins/analytics/plugin.js +5 -1
- package/dist/es2019/plugins/analytics/types/enums.js +5 -0
- package/dist/es2019/plugins/analytics/types/type-ahead.js +1 -0
- package/dist/es2019/plugins/block-type/messages.js +10 -0
- package/dist/es2019/plugins/card/nodeviews/embedCard.js +1 -3
- package/dist/es2019/plugins/collab-edit/participants.js +14 -0
- package/dist/es2019/plugins/collab-edit/plugin-state.js +17 -1
- package/dist/es2019/plugins/collab-edit/ui/avatars-with-plugin-state.js +6 -4
- package/dist/es2019/plugins/collab-edit/ui/avatars.js +17 -2
- package/dist/es2019/plugins/collab-edit/utils.js +34 -0
- package/dist/es2019/plugins/date/actions.js +4 -2
- package/dist/es2019/plugins/date/index.js +1 -1
- package/dist/es2019/plugins/date/pm-plugins/utils.js +6 -1
- package/dist/es2019/plugins/emoji/index.js +169 -146
- package/dist/es2019/plugins/emoji/pm-plugins/ascii-input-rules.js +0 -11
- package/dist/es2019/plugins/expand/pm-plugins/keymap.js +3 -6
- package/dist/es2019/plugins/extension/actions.js +16 -16
- package/dist/es2019/plugins/extension/pm-plugins/main.js +4 -4
- package/dist/es2019/plugins/extension/ui/Extension/ExtensionComponent.js +5 -4
- package/dist/es2019/plugins/extension/ui/Extension/index.js +2 -2
- package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
- package/dist/es2019/plugins/floating-toolbar/ui/ConfirmationModal.js +12 -15
- package/dist/es2019/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +25 -0
- package/dist/es2019/plugins/floating-toolbar/ui/EditorHideEmojiIcon.js +28 -0
- package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.js +3 -5
- package/dist/es2019/plugins/help-dialog/ui/index.js +20 -26
- package/dist/es2019/plugins/help-dialog/ui/styles.js +2 -2
- package/dist/es2019/plugins/hyperlink/index.js +4 -12
- package/dist/es2019/plugins/insert-block/index.js +4 -4
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +8 -4
- package/dist/es2019/plugins/list/index.js +20 -14
- package/dist/es2019/plugins/macro/actions.js +14 -14
- package/dist/es2019/plugins/media/index.js +1 -0
- package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +1 -0
- package/dist/es2019/plugins/media/pm-plugins/main.js +27 -12
- package/dist/es2019/plugins/media/styles.js +7 -2
- package/dist/es2019/plugins/media/toolbar/filePreviewItem.js +59 -0
- package/dist/es2019/plugins/media/toolbar/index.js +158 -42
- package/dist/es2019/plugins/media/toolbar/utils.js +32 -0
- package/dist/es2019/plugins/mentions/index.js +34 -536
- package/dist/es2019/plugins/mentions/pm-plugins/key.js +2 -0
- package/dist/es2019/plugins/mentions/pm-plugins/main.js +138 -0
- package/dist/es2019/plugins/mentions/pm-plugins/utils.js +4 -0
- package/dist/es2019/plugins/mentions/type-ahead/index.js +394 -0
- package/dist/es2019/plugins/mentions/ui/InviteItem/index.js +2 -1
- package/dist/es2019/plugins/mentions/ui/InviteItem/styles.js +4 -2
- package/dist/es2019/plugins/mentions/ui/ToolbarMention/index.js +2 -2
- package/dist/es2019/plugins/mentions/utils.js +20 -1
- package/dist/es2019/plugins/panel/index.js +95 -62
- package/dist/es2019/plugins/panel/nodeviews/panel.js +7 -1
- package/dist/es2019/plugins/panel/toolbar.js +90 -6
- package/dist/es2019/plugins/panel/toolbar.test.js +131 -14
- package/dist/es2019/plugins/paste/handlers.js +2 -2
- package/dist/es2019/plugins/paste/pm-plugins/analytics.js +6 -3
- package/dist/es2019/plugins/placeholder/index.js +5 -0
- package/dist/es2019/plugins/quick-insert/api.js +18 -0
- package/dist/es2019/plugins/quick-insert/assets/custom-panel.js +45 -0
- package/dist/es2019/plugins/quick-insert/assets/index.js +6 -0
- package/dist/es2019/plugins/quick-insert/index.js +12 -23
- package/dist/es2019/plugins/quick-insert/search.js +1 -3
- package/dist/es2019/plugins/quick-insert/ui/ModalElementBrowser/index.js +1 -0
- package/dist/es2019/plugins/rank.js +1 -1
- package/dist/es2019/plugins/rule/index.js +1 -22
- package/dist/es2019/plugins/scroll-into-view/index.js +1 -3
- package/dist/es2019/plugins/selection/gap-cursor/actions.js +5 -6
- package/dist/es2019/plugins/selection/pm-plugins/selection-main.js +1 -3
- package/dist/es2019/plugins/status/actions.js +5 -2
- package/dist/es2019/plugins/status/plugin.js +1 -1
- package/dist/es2019/plugins/table/commands/selection.js +25 -25
- package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +8 -1
- package/dist/es2019/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +14 -15
- package/dist/es2019/plugins/tasks-and-decisions/nodeviews/decisionItem.js +2 -1
- package/dist/es2019/plugins/tasks-and-decisions/nodeviews/taskItem.js +2 -1
- package/dist/es2019/plugins/tasks-and-decisions/pm-plugins/keymaps.js +1 -2
- package/dist/es2019/plugins/text-formatting/pm-plugins/cursor.js +1 -4
- package/dist/es2019/plugins/type-ahead/api.js +224 -0
- package/dist/es2019/plugins/type-ahead/commands/insert-type-ahead-item.js +222 -0
- package/dist/es2019/plugins/type-ahead/commands/update-list-items.js +19 -0
- package/dist/es2019/plugins/type-ahead/commands/update-query.js +17 -15
- package/dist/es2019/plugins/type-ahead/commands/update-selected-index.js +25 -0
- package/dist/es2019/plugins/type-ahead/constants.js +15 -0
- package/dist/es2019/plugins/type-ahead/index.js +203 -78
- package/dist/es2019/plugins/type-ahead/insert-utils.js +119 -0
- package/dist/es2019/plugins/type-ahead/pm-plugins/actions.js +11 -8
- package/dist/es2019/plugins/type-ahead/pm-plugins/decorations.js +211 -0
- package/dist/es2019/plugins/type-ahead/pm-plugins/input-rules.js +18 -32
- package/dist/es2019/plugins/type-ahead/pm-plugins/insert-item-plugin.js +19 -0
- package/dist/es2019/plugins/type-ahead/pm-plugins/{plugin-key.js → key.js} +0 -0
- package/dist/es2019/plugins/type-ahead/pm-plugins/main.js +81 -401
- package/dist/es2019/plugins/type-ahead/pm-plugins/reducer.js +165 -0
- package/dist/es2019/plugins/type-ahead/pm-plugins/utils.js +16 -0
- package/dist/es2019/plugins/type-ahead/stats-modifier.js +41 -0
- package/dist/es2019/plugins/type-ahead/transforms/close-type-ahead.js +7 -0
- package/dist/es2019/plugins/type-ahead/transforms/open-typeahead-at-cursor.js +40 -0
- package/dist/es2019/plugins/type-ahead/transforms/set-selection-before-query.js +11 -0
- package/dist/es2019/plugins/type-ahead/ui/DynamicHeightListItem.js +51 -0
- package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +307 -0
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadList.js +163 -0
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadListItem.js +136 -0
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +120 -0
- package/dist/es2019/plugins/type-ahead/ui/WrapperTypeAhead.js +110 -0
- package/dist/es2019/plugins/type-ahead/ui/hooks/use-dynamic-list-height-calculation.js +97 -0
- package/dist/es2019/plugins/type-ahead/ui/hooks/use-item-insert.js +126 -0
- package/dist/es2019/plugins/type-ahead/ui/hooks/use-load-items.js +43 -0
- package/dist/es2019/plugins/type-ahead/ui/hooks/use-on-force-select.js +41 -0
- package/dist/es2019/plugins/type-ahead/ui/hooks/use-resize-observer.js +53 -0
- package/dist/es2019/plugins/type-ahead/utils.js +93 -0
- package/dist/es2019/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +29 -2
- package/dist/es2019/plugins/view-update-subscription/index.js +19 -14
- package/dist/es2019/plugins/view-update-subscription/subscribe/toolbarAndPickerUpdates.js +9 -3
- package/dist/es2019/plugins/view-update-subscription/subscribe/type-ahead-updates.js +34 -0
- package/dist/es2019/test-utils.js +7 -0
- package/dist/es2019/types/empty-state-handler.js +1 -0
- package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +4 -8
- package/dist/es2019/ui/ConfigPanel/transformers.js +9 -9
- package/dist/es2019/ui/ElementBrowser/ElementBrowser.js +4 -2
- package/dist/es2019/ui/ElementBrowser/InsertMenu.js +1 -0
- package/dist/es2019/ui/ElementBrowser/ModalElementBrowser.js +20 -21
- package/dist/es2019/ui/ElementBrowser/components/ElementList/ElementList.js +9 -2
- package/dist/es2019/ui/ElementBrowser/components/StatelessElementBrowser.js +12 -4
- package/dist/es2019/ui/PanelTextInput/index.js +1 -3
- package/dist/es2019/utils/compare.js +7 -7
- package/dist/es2019/utils/index.js +7 -8
- package/dist/es2019/utils/rich-media-utils.js +2 -2
- package/dist/es2019/utils/selection.js +6 -3
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/create-editor/create-plugins-list.js +6 -1
- package/dist/esm/editor.js +1 -4
- package/dist/esm/index.js +4 -6
- package/dist/esm/labs/next/presets/default.js +2 -2
- package/dist/esm/messages.js +5 -0
- package/dist/esm/nodeviews/SelectionBasedNodeView.js +1 -2
- package/dist/esm/plugins/analytics/plugin.js +8 -6
- package/dist/esm/plugins/analytics/types/enums.js +5 -0
- package/dist/esm/plugins/analytics/types/type-ahead.js +1 -0
- package/dist/esm/plugins/block-type/messages.js +10 -0
- package/dist/esm/plugins/card/nodeviews/embedCard.js +1 -3
- package/dist/esm/plugins/collab-edit/participants.js +15 -0
- package/dist/esm/plugins/collab-edit/plugin-state.js +15 -1
- package/dist/esm/plugins/collab-edit/ui/avatars-with-plugin-state.js +6 -4
- package/dist/esm/plugins/collab-edit/ui/avatars.js +17 -2
- package/dist/esm/plugins/collab-edit/utils.js +32 -0
- package/dist/esm/plugins/date/actions.js +4 -2
- package/dist/esm/plugins/date/index.js +1 -1
- package/dist/esm/plugins/date/pm-plugins/utils.js +6 -1
- package/dist/esm/plugins/emoji/index.js +136 -112
- package/dist/esm/plugins/emoji/pm-plugins/ascii-input-rules.js +0 -13
- package/dist/esm/plugins/expand/pm-plugins/keymap.js +3 -6
- package/dist/esm/plugins/extension/actions.js +16 -16
- package/dist/esm/plugins/extension/pm-plugins/main.js +4 -4
- package/dist/esm/plugins/extension/ui/Extension/ExtensionComponent.js +5 -4
- package/dist/esm/plugins/extension/ui/Extension/index.js +2 -2
- package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +3 -2
- package/dist/esm/plugins/floating-toolbar/ui/ConfirmationModal.js +12 -15
- package/dist/esm/plugins/floating-toolbar/ui/EditorEmojiAddIcon.js +25 -0
- package/dist/esm/plugins/floating-toolbar/ui/EditorHideEmojiIcon.js +28 -0
- package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.js +3 -5
- package/dist/esm/plugins/help-dialog/ui/index.js +13 -19
- package/dist/esm/plugins/help-dialog/ui/styles.js +2 -6
- package/dist/esm/plugins/hyperlink/index.js +4 -10
- package/dist/esm/plugins/insert-block/index.js +5 -5
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +8 -4
- package/dist/esm/plugins/list/index.js +5 -0
- package/dist/esm/plugins/macro/actions.js +14 -14
- package/dist/esm/plugins/media/index.js +1 -0
- package/dist/esm/plugins/media/nodeviews/mediaGroup.js +1 -0
- package/dist/esm/plugins/media/pm-plugins/main.js +27 -14
- package/dist/esm/plugins/media/styles.js +2 -2
- package/dist/esm/plugins/media/toolbar/filePreviewItem.js +62 -0
- package/dist/esm/plugins/media/toolbar/index.js +154 -43
- package/dist/esm/plugins/media/toolbar/utils.js +60 -0
- package/dist/esm/plugins/mentions/index.js +45 -557
- package/dist/esm/plugins/mentions/pm-plugins/key.js +2 -0
- package/dist/esm/plugins/mentions/pm-plugins/main.js +145 -0
- package/dist/esm/plugins/mentions/pm-plugins/utils.js +4 -0
- package/dist/esm/plugins/mentions/type-ahead/index.js +415 -0
- package/dist/esm/plugins/mentions/ui/InviteItem/index.js +2 -1
- package/dist/esm/plugins/mentions/ui/InviteItem/styles.js +4 -2
- package/dist/esm/plugins/mentions/ui/ToolbarMention/index.js +2 -2
- package/dist/esm/plugins/mentions/utils.js +19 -0
- package/dist/esm/plugins/panel/index.js +44 -13
- package/dist/esm/plugins/panel/nodeviews/panel.js +36 -22
- package/dist/esm/plugins/panel/toolbar.js +92 -6
- package/dist/esm/plugins/panel/toolbar.test.js +148 -16
- package/dist/esm/plugins/paste/handlers.js +2 -2
- package/dist/esm/plugins/paste/pm-plugins/analytics.js +6 -3
- package/dist/esm/plugins/placeholder/index.js +5 -0
- package/dist/esm/plugins/quick-insert/api.js +20 -0
- package/dist/esm/plugins/quick-insert/assets/custom-panel.js +45 -0
- package/dist/esm/plugins/quick-insert/assets/index.js +12 -0
- package/dist/esm/plugins/quick-insert/index.js +10 -24
- package/dist/esm/plugins/quick-insert/search.js +1 -3
- package/dist/esm/plugins/quick-insert/ui/ModalElementBrowser/index.js +1 -0
- package/dist/esm/plugins/rank.js +1 -1
- package/dist/esm/plugins/rule/index.js +1 -22
- package/dist/esm/plugins/scroll-into-view/index.js +1 -3
- package/dist/esm/plugins/selection/gap-cursor/actions.js +5 -6
- package/dist/esm/plugins/selection/pm-plugins/selection-main.js +1 -3
- package/dist/esm/plugins/status/actions.js +5 -2
- package/dist/esm/plugins/status/plugin.js +1 -1
- package/dist/esm/plugins/table/commands/selection.js +24 -24
- package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +8 -1
- package/dist/esm/plugins/table/pm-plugins/table-resizing/utils/resize-state.js +14 -15
- package/dist/esm/plugins/tasks-and-decisions/nodeviews/decisionItem.js +2 -1
- package/dist/esm/plugins/tasks-and-decisions/nodeviews/taskItem.js +2 -1
- package/dist/esm/plugins/tasks-and-decisions/pm-plugins/keymaps.js +1 -2
- package/dist/esm/plugins/text-formatting/pm-plugins/cursor.js +1 -4
- package/dist/esm/plugins/type-ahead/api.js +228 -0
- package/dist/esm/plugins/type-ahead/commands/insert-type-ahead-item.js +217 -0
- package/dist/esm/plugins/type-ahead/commands/update-list-items.js +19 -0
- package/dist/esm/plugins/type-ahead/commands/update-query.js +13 -13
- package/dist/esm/plugins/type-ahead/commands/update-selected-index.js +25 -0
- package/dist/esm/plugins/type-ahead/constants.js +15 -0
- package/dist/esm/plugins/type-ahead/index.js +173 -53
- package/dist/esm/plugins/type-ahead/insert-utils.js +116 -0
- package/dist/esm/plugins/type-ahead/pm-plugins/actions.js +11 -8
- package/dist/esm/plugins/type-ahead/pm-plugins/decorations.js +204 -0
- package/dist/esm/plugins/type-ahead/pm-plugins/input-rules.js +18 -33
- package/dist/esm/plugins/type-ahead/pm-plugins/insert-item-plugin.js +18 -0
- package/dist/esm/plugins/type-ahead/pm-plugins/{plugin-key.js → key.js} +0 -0
- package/dist/esm/plugins/type-ahead/pm-plugins/main.js +80 -393
- package/dist/esm/plugins/type-ahead/pm-plugins/reducer.js +168 -0
- package/dist/esm/plugins/type-ahead/pm-plugins/utils.js +16 -0
- package/dist/esm/plugins/type-ahead/stats-modifier.js +43 -0
- package/dist/esm/plugins/type-ahead/transforms/close-type-ahead.js +7 -0
- package/dist/esm/plugins/type-ahead/transforms/open-typeahead-at-cursor.js +39 -0
- package/dist/esm/plugins/type-ahead/transforms/set-selection-before-query.js +13 -0
- package/dist/esm/plugins/type-ahead/ui/DynamicHeightListItem.js +51 -0
- package/dist/esm/plugins/type-ahead/ui/InputQuery.js +302 -0
- package/dist/esm/plugins/type-ahead/ui/TypeAheadList.js +168 -0
- package/dist/esm/plugins/type-ahead/ui/TypeAheadListItem.js +105 -0
- package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +114 -0
- package/dist/esm/plugins/type-ahead/ui/WrapperTypeAhead.js +125 -0
- package/dist/esm/plugins/type-ahead/ui/hooks/use-dynamic-list-height-calculation.js +101 -0
- package/dist/esm/plugins/type-ahead/ui/hooks/use-item-insert.js +118 -0
- package/dist/esm/plugins/type-ahead/ui/hooks/use-load-items.js +46 -0
- package/dist/esm/plugins/type-ahead/ui/hooks/use-on-force-select.js +38 -0
- package/dist/esm/plugins/type-ahead/ui/hooks/use-resize-observer.js +48 -0
- package/dist/esm/plugins/type-ahead/utils.js +88 -0
- package/dist/esm/plugins/undo-redo/ui/ToolbarUndoRedo/index.js +33 -2
- package/dist/esm/plugins/view-update-subscription/index.js +19 -14
- package/dist/esm/plugins/view-update-subscription/subscribe/toolbarAndPickerUpdates.js +10 -3
- package/dist/esm/plugins/view-update-subscription/subscribe/type-ahead-updates.js +33 -0
- package/dist/esm/test-utils.js +7 -0
- package/dist/esm/types/empty-state-handler.js +1 -0
- package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +4 -14
- package/dist/esm/ui/ElementBrowser/ElementBrowser.js +4 -2
- package/dist/esm/ui/ElementBrowser/InsertMenu.js +1 -0
- package/dist/esm/ui/ElementBrowser/ModalElementBrowser.js +16 -23
- package/dist/esm/ui/ElementBrowser/components/ElementList/ElementList.js +10 -3
- package/dist/esm/ui/ElementBrowser/components/StatelessElementBrowser.js +12 -4
- package/dist/esm/ui/PanelTextInput/index.js +1 -3
- package/dist/esm/utils/compare.js +7 -7
- package/dist/esm/utils/index.js +7 -8
- package/dist/esm/utils/rich-media-utils.js +2 -2
- package/dist/esm/utils/selection.js +6 -3
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/commands/index.d.ts +1 -1
- package/dist/types/create-editor/ErrorBoundary.d.ts +1 -1
- package/dist/types/index.d.ts +3 -5
- package/dist/types/labs/next/full-page.d.ts +1 -1
- package/dist/types/labs/next/mobile.d.ts +1 -1
- package/dist/types/labs/next/presets/default.d.ts +2 -0
- package/dist/types/messages.d.ts +5 -0
- package/dist/types/plugins/alignment/commands/index.d.ts +2 -2
- package/dist/types/plugins/analytics/types/enums.d.ts +6 -1
- package/dist/types/plugins/analytics/types/events.d.ts +12 -2
- package/dist/types/plugins/analytics/types/general-events.d.ts +2 -23
- package/dist/types/plugins/analytics/types/type-ahead.d.ts +27 -0
- package/dist/types/plugins/block-type/messages.d.ts +10 -0
- package/dist/types/plugins/card/ui/ResizableEmbedCard.d.ts +1 -1
- package/dist/types/plugins/collab-edit/participants.d.ts +1 -0
- package/dist/types/plugins/collab-edit/ui/avatars.d.ts +3 -1
- package/dist/types/plugins/collab-edit/ui/invite-to-edit.d.ts +1 -1
- package/dist/types/plugins/collab-edit/utils.d.ts +4 -2
- package/dist/types/plugins/date/actions.d.ts +1 -1
- package/dist/types/plugins/date/pm-plugins/types.d.ts +1 -0
- package/dist/types/plugins/emoji/index.d.ts +2 -4
- package/dist/types/plugins/emoji/types.d.ts +2 -2
- package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +2 -3
- package/dist/types/plugins/extension/ui/Extension/Extension/styles.d.ts +1 -1
- package/dist/types/plugins/extension/ui/Extension/ExtensionComponent.d.ts +2 -3
- package/dist/types/plugins/extension/ui/Extension/index.d.ts +2 -3
- package/dist/types/plugins/feature-flags-context/get-enabled-feature-flag-keys.d.ts +1 -1
- package/dist/types/plugins/find-replace/ui/styles.d.ts +3 -3
- package/dist/types/plugins/floating-toolbar/ui/EditorEmojiAddIcon.d.ts +1 -0
- package/dist/types/plugins/floating-toolbar/ui/EditorHideEmojiIcon.d.ts +1 -0
- package/dist/types/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.d.ts +1 -1
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +0 -1
- package/dist/types/plugins/media/pm-plugins/main.d.ts +1 -0
- package/dist/types/plugins/media/toolbar/filePreviewItem.d.ts +7 -0
- package/dist/types/plugins/media/toolbar/utils.d.ts +4 -0
- package/dist/types/plugins/media/types.d.ts +3 -0
- package/dist/types/plugins/media/ui/ResizableMediaSingle/index.d.ts +1 -1
- package/dist/types/plugins/media/utils/media-single.d.ts +1 -1
- package/dist/types/plugins/mentions/analytics.d.ts +1 -1
- package/dist/types/plugins/mentions/index.d.ts +4 -30
- package/dist/types/plugins/mentions/pm-plugins/key.d.ts +3 -0
- package/dist/types/plugins/mentions/pm-plugins/main.d.ts +8 -0
- package/dist/types/plugins/mentions/pm-plugins/utils.d.ts +3 -0
- package/dist/types/plugins/mentions/type-ahead/index.d.ts +17 -0
- package/dist/types/plugins/mentions/types.d.ts +2 -0
- package/dist/types/plugins/mentions/ui/InviteItem/index.d.ts +1 -0
- package/dist/types/plugins/mentions/ui/InviteItem/styles.d.ts +2 -0
- package/dist/types/plugins/mentions/utils.d.ts +4 -0
- package/dist/types/plugins/panel/nodeviews/panel.d.ts +19 -3
- package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +2 -0
- package/dist/types/plugins/quick-insert/api.d.ts +6 -0
- package/dist/types/plugins/quick-insert/assets/custom-panel.d.ts +1 -0
- package/dist/types/plugins/quick-insert/assets/index.d.ts +1 -0
- package/dist/types/plugins/quick-insert/search.d.ts +1 -1
- package/dist/types/plugins/quick-insert/types.d.ts +3 -0
- package/dist/types/plugins/status/actions.d.ts +3 -1
- package/dist/types/plugins/status/ui/statusPicker.d.ts +1 -1
- package/dist/types/plugins/type-ahead/api.d.ts +53 -0
- package/dist/types/plugins/type-ahead/commands/insert-type-ahead-item.d.ts +12 -0
- package/dist/types/plugins/type-ahead/commands/update-list-items.d.ts +3 -0
- package/dist/types/plugins/type-ahead/commands/update-query.d.ts +2 -2
- package/dist/types/plugins/type-ahead/commands/update-selected-index.d.ts +2 -0
- package/dist/types/plugins/type-ahead/constants.d.ts +10 -0
- package/dist/types/plugins/type-ahead/index.d.ts +5 -4
- package/dist/types/plugins/type-ahead/insert-utils.d.ts +18 -0
- package/dist/types/plugins/type-ahead/pm-plugins/actions.d.ts +9 -8
- package/dist/types/plugins/type-ahead/pm-plugins/decorations.d.ts +24 -0
- package/dist/types/plugins/type-ahead/pm-plugins/input-rules.d.ts +0 -1
- package/dist/types/plugins/type-ahead/pm-plugins/insert-item-plugin.d.ts +2 -0
- package/dist/types/plugins/type-ahead/pm-plugins/{plugin-key.d.ts → key.d.ts} +0 -0
- package/dist/types/plugins/type-ahead/pm-plugins/main.d.ts +12 -39
- package/dist/types/plugins/type-ahead/pm-plugins/reducer.d.ts +10 -0
- package/dist/types/plugins/type-ahead/pm-plugins/utils.d.ts +4 -0
- package/dist/types/plugins/type-ahead/stats-modifier.d.ts +20 -0
- package/dist/types/plugins/type-ahead/transforms/close-type-ahead.d.ts +2 -0
- package/dist/types/plugins/type-ahead/transforms/open-typeahead-at-cursor.d.ts +9 -0
- package/dist/types/plugins/type-ahead/transforms/set-selection-before-query.d.ts +2 -0
- package/dist/types/plugins/type-ahead/types.d.ts +95 -30
- package/dist/types/plugins/type-ahead/ui/DynamicHeightListItem.d.ts +21 -0
- package/dist/types/plugins/type-ahead/ui/InputQuery.d.ts +22 -0
- package/dist/types/plugins/type-ahead/ui/TypeAheadList.d.ts +11 -0
- package/dist/types/plugins/type-ahead/ui/TypeAheadListItem.d.ts +15 -0
- package/dist/types/plugins/type-ahead/ui/TypeAheadPopup.d.ts +22 -0
- package/dist/types/plugins/type-ahead/ui/WrapperTypeAhead.d.ts +20 -0
- package/dist/types/plugins/type-ahead/ui/hooks/use-dynamic-list-height-calculation.d.ts +25 -0
- package/dist/types/plugins/type-ahead/ui/hooks/use-item-insert.d.ts +3 -0
- package/dist/types/plugins/type-ahead/ui/hooks/use-load-items.d.ts +3 -0
- package/dist/types/plugins/type-ahead/ui/hooks/use-on-force-select.d.ts +11 -0
- package/dist/types/plugins/type-ahead/ui/hooks/use-resize-observer.d.ts +9 -0
- package/dist/types/plugins/type-ahead/utils.d.ts +18 -0
- package/dist/types/plugins/view-update-subscription/subscribe/type-ahead-updates.d.ts +9 -0
- package/dist/types/test-utils.d.ts +2 -0
- package/dist/types/types/editor-props.d.ts +2 -0
- package/dist/types/types/empty-state-handler.d.ts +7 -0
- package/dist/types/types/feature-flags.d.ts +8 -0
- package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
- package/dist/types/ui/ColorPickerButton/index.d.ts +1 -1
- package/dist/types/ui/ConfigPanel/ConfigPanel.d.ts +1 -1
- package/dist/types/ui/ConfigPanel/FormErrorBoundary.d.ts +1 -1
- package/dist/types/ui/ElementBrowser/ElementBrowser.d.ts +2 -0
- package/dist/types/ui/ElementBrowser/ModalElementBrowser.d.ts +2 -0
- package/dist/types/ui/ElementBrowser/components/CategoryList.d.ts +1 -1
- package/dist/types/ui/ElementBrowser/components/ElementList/ElementList.d.ts +5 -1
- package/dist/types/ui/ElementBrowser/components/StatelessElementBrowser.d.ts +3 -1
- package/dist/types/ui/LinkSearch/index.d.ts +20 -20
- package/dist/types/ui/PortalProvider/index.d.ts +1 -1
- package/dist/types/ui/ToolbarButton/index.d.ts +4 -4
- package/dist/types/ui/ToolbarButton/styles.d.ts +2 -2
- package/dist/types/utils/selection.d.ts +2 -2
- package/package.json +32 -29
- package/dist/cjs/plugins/emoji/commands/insert-emoji-query.js +0 -22
- package/dist/cjs/plugins/mentions/commands/insert-mention-query.js +0 -22
- package/dist/cjs/plugins/type-ahead/commands/dismiss.js +0 -44
- package/dist/cjs/plugins/type-ahead/commands/insert-query.js +0 -38
- package/dist/cjs/plugins/type-ahead/commands/items-list-updated.js +0 -25
- package/dist/cjs/plugins/type-ahead/commands/select-item.js +0 -163
- package/dist/cjs/plugins/type-ahead/commands/set-current-index.js +0 -25
- package/dist/cjs/plugins/type-ahead/pm-plugins/keymap.js +0 -115
- package/dist/cjs/plugins/type-ahead/ui/TypeAhead.js +0 -221
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadItemsList.js +0 -239
- package/dist/cjs/plugins/type-ahead/utils/find-query-mark.js +0 -33
- package/dist/cjs/plugins/type-ahead/utils/is-query-active.js +0 -16
- package/dist/es2019/plugins/emoji/commands/insert-emoji-query.js +0 -13
- package/dist/es2019/plugins/mentions/commands/insert-mention-query.js +0 -13
- package/dist/es2019/plugins/type-ahead/commands/dismiss.js +0 -36
- package/dist/es2019/plugins/type-ahead/commands/insert-query.js +0 -26
- package/dist/es2019/plugins/type-ahead/commands/items-list-updated.js +0 -12
- package/dist/es2019/plugins/type-ahead/commands/select-item.js +0 -119
- package/dist/es2019/plugins/type-ahead/commands/set-current-index.js +0 -13
- package/dist/es2019/plugins/type-ahead/pm-plugins/keymap.js +0 -94
- package/dist/es2019/plugins/type-ahead/ui/TypeAhead.js +0 -175
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadItemsList.js +0 -196
- package/dist/es2019/plugins/type-ahead/utils/find-query-mark.js +0 -29
- package/dist/es2019/plugins/type-ahead/utils/is-query-active.js +0 -9
- package/dist/esm/plugins/emoji/commands/insert-emoji-query.js +0 -13
- package/dist/esm/plugins/mentions/commands/insert-mention-query.js +0 -13
- package/dist/esm/plugins/type-ahead/commands/dismiss.js +0 -33
- package/dist/esm/plugins/type-ahead/commands/insert-query.js +0 -26
- package/dist/esm/plugins/type-ahead/commands/items-list-updated.js +0 -14
- package/dist/esm/plugins/type-ahead/commands/select-item.js +0 -132
- package/dist/esm/plugins/type-ahead/commands/set-current-index.js +0 -15
- package/dist/esm/plugins/type-ahead/pm-plugins/keymap.js +0 -94
- package/dist/esm/plugins/type-ahead/ui/TypeAhead.js +0 -202
- package/dist/esm/plugins/type-ahead/ui/TypeAheadItemsList.js +0 -204
- package/dist/esm/plugins/type-ahead/utils/find-query-mark.js +0 -24
- package/dist/esm/plugins/type-ahead/utils/is-query-active.js +0 -9
- package/dist/types/plugins/emoji/commands/insert-emoji-query.d.ts +0 -2
- package/dist/types/plugins/mentions/commands/insert-mention-query.d.ts +0 -2
- package/dist/types/plugins/type-ahead/commands/dismiss.d.ts +0 -2
- package/dist/types/plugins/type-ahead/commands/insert-query.d.ts +0 -2
- package/dist/types/plugins/type-ahead/commands/items-list-updated.d.ts +0 -3
- package/dist/types/plugins/type-ahead/commands/select-item.d.ts +0 -9
- package/dist/types/plugins/type-ahead/commands/set-current-index.d.ts +0 -2
- package/dist/types/plugins/type-ahead/pm-plugins/keymap.d.ts +0 -3
- package/dist/types/plugins/type-ahead/ui/TypeAhead.d.ts +0 -37
- package/dist/types/plugins/type-ahead/ui/TypeAheadItemsList.d.ts +0 -32
- package/dist/types/plugins/type-ahead/utils/find-query-mark.d.ts +0 -10
- package/dist/types/plugins/type-ahead/utils/is-query-active.d.ts +0 -2
|
@@ -28,8 +28,8 @@ export const alignAttributes = (layout, oldAttrs, gridSize = 12, originalWidth,
|
|
|
28
28
|
// 'full-width' or 'wide' or 'center' -> 'wrap-left' or 'wrap-right' or 'align-end' or 'align-start'
|
|
29
29
|
if (!width || width >= 100 || oldLayout !== 'center' // == 'full-width' or 'wide'
|
|
30
30
|
) {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
width = 50;
|
|
32
|
+
}
|
|
33
33
|
} else if (layout !== oldLayout && ['full-width', 'wide'].indexOf(oldLayout) > -1) {
|
|
34
34
|
// 'full-width' -> 'center' or 'wide'
|
|
35
35
|
// 'wide' -> 'center' or 'full-width'
|
|
@@ -44,8 +44,11 @@ export function setCellSelection(view, anchor, head) {
|
|
|
44
44
|
} = view;
|
|
45
45
|
dispatch(state.tr.setSelection(CellSelection.create(state.doc, anchor, head)));
|
|
46
46
|
}
|
|
47
|
-
export const normaliseNestedLayout = (
|
|
48
|
-
|
|
47
|
+
export const normaliseNestedLayout = ({
|
|
48
|
+
selection,
|
|
49
|
+
doc
|
|
50
|
+
}, node) => {
|
|
51
|
+
if (selection.$from.depth > 1) {
|
|
49
52
|
if (node.attrs.layout && node.attrs.layout !== 'default') {
|
|
50
53
|
return node.type.createChecked({ ...node.attrs,
|
|
51
54
|
layout: 'default'
|
|
@@ -54,7 +57,7 @@ export const normaliseNestedLayout = (state, node) => {
|
|
|
54
57
|
// Since default isn't a valid breakout mode.
|
|
55
58
|
|
|
56
59
|
|
|
57
|
-
const breakoutMark =
|
|
60
|
+
const breakoutMark = doc.type.schema.marks.breakout;
|
|
58
61
|
|
|
59
62
|
if (breakoutMark && breakoutMark.isInSet(node.marks)) {
|
|
60
63
|
const newMarks = breakoutMark.removeFromSet(node.marks);
|
package/dist/es2019/version.json
CHANGED
|
@@ -53,6 +53,10 @@ export function getDefaultPresetOptionsFromEditorProps(props, createAnalyticsEve
|
|
|
53
53
|
var inputTracking = (_props$performanceTra = props.performanceTracking) === null || _props$performanceTra === void 0 ? void 0 : _props$performanceTra.inputTracking;
|
|
54
54
|
return {
|
|
55
55
|
createAnalyticsEvent: createAnalyticsEvent,
|
|
56
|
+
typeAhead: {
|
|
57
|
+
createAnalyticsEvent: createAnalyticsEvent,
|
|
58
|
+
isMobile: isMobile
|
|
59
|
+
},
|
|
56
60
|
featureFlags: createFeatureFlagsFromProps(props),
|
|
57
61
|
paste: {
|
|
58
62
|
cardOptions: props.smartLinks || props.UNSAFE_cards,
|
|
@@ -83,7 +87,8 @@ export function getDefaultPresetOptionsFromEditorProps(props, createAnalyticsEve
|
|
|
83
87
|
enableElementBrowser: props.elementBrowser && props.elementBrowser.showModal,
|
|
84
88
|
elementBrowserHelpUrl: props.elementBrowser && props.elementBrowser.helpUrl,
|
|
85
89
|
disableDefaultItems: isMobile,
|
|
86
|
-
headless: isMobile
|
|
90
|
+
headless: isMobile,
|
|
91
|
+
emptyStateHandler: props.elementBrowser && props.elementBrowser.emptyStateHandler
|
|
87
92
|
},
|
|
88
93
|
selection: {
|
|
89
94
|
useLongPressSelection: false
|
package/dist/esm/editor.js
CHANGED
|
@@ -163,10 +163,7 @@ var Editor = /*#__PURE__*/function (_React$Component) {
|
|
|
163
163
|
extensionProviders = _this$props.extensionProviders,
|
|
164
164
|
quickInsert = _this$props.quickInsert;
|
|
165
165
|
|
|
166
|
-
if (extensionProviders && extensionProviders !== prevProps.extensionProviders ||
|
|
167
|
-
// loading but we can remove it soon when Forge will move to new API.
|
|
168
|
-
// quickInsert={Promise.resolve(consumerQuickInsert)} is one of the main reason behind this performance issue.
|
|
169
|
-
quickInsert && quickInsert !== prevProps.quickInsert) {
|
|
166
|
+
if (extensionProviders && extensionProviders !== prevProps.extensionProviders || quickInsert && quickInsert !== prevProps.quickInsert) {
|
|
170
167
|
var extensionProvider = this.prepareExtensionProvider(extensionProviders);
|
|
171
168
|
var quickInsertProvider = this.prepareQuickInsertProvider(extensionProvider, quickInsert);
|
|
172
169
|
this.setState({
|
package/dist/esm/index.js
CHANGED
|
@@ -26,6 +26,7 @@ export { InsertStatus as HyperlinkInsertStatus, stateKey as hyperlinkStateKey }
|
|
|
26
26
|
export { pluginKey as listStateKey } from './plugins/list/pm-plugins/main';
|
|
27
27
|
export { toggleSuperscript, toggleSuperscriptWithAnalytics, toggleSubscript, toggleSubscriptWithAnalytics, toggleStrike, toggleStrikeWithAnalytics, toggleCode, toggleCodeWithAnalytics, toggleUnderline, toggleUnderlineWithAnalytics, toggleEm, toggleEmWithAnalytics, toggleStrong, toggleStrongWithAnalytics } from './plugins/text-formatting/commands/text-formatting';
|
|
28
28
|
export { subscribeToToolbarAndPickerUpdates } from './plugins/view-update-subscription/subscribe/toolbarAndPickerUpdates';
|
|
29
|
+
export { subscribeTypeAheadUpdates } from './plugins/view-update-subscription/subscribe/type-ahead-updates';
|
|
29
30
|
export { insertBlockType, insertBlockTypesWithAnalytics, setBlockType, setBlockTypeWithAnalytics } from './plugins/block-type/commands';
|
|
30
31
|
export { createTable } from './plugins/table/commands';
|
|
31
32
|
export { insertTaskDecision } from './plugins/tasks-and-decisions/commands';
|
|
@@ -37,9 +38,6 @@ export { pluginKey as datePluginKey } from './plugins/date/pm-plugins/plugin-key
|
|
|
37
38
|
export { commitStatusPicker, setStatusPickerAt, updateStatus, updateStatusWithAnalytics, removeStatus } from './plugins/status/actions';
|
|
38
39
|
export { typeAheadPluginKey } from './plugins/type-ahead';
|
|
39
40
|
export { pluginKey as quickInsertPluginKey, memoProcessItems as processQuickInsertItems } from './plugins/quick-insert';
|
|
40
|
-
export { selectItem } from './plugins/type-ahead/commands/select-item';
|
|
41
|
-
export { insertTypeAheadQuery } from './plugins/type-ahead/commands/insert-query';
|
|
42
|
-
export { dismissCommand } from './plugins/type-ahead/commands/dismiss';
|
|
43
41
|
export { insertLink, insertLinkWithAnalyticsMobileNative, insertLinkWithAnalytics, isTextAtPos, isLinkAtPos, updateLink } from './plugins/hyperlink/commands';
|
|
44
42
|
export { historyPluginKey } from './plugins/history';
|
|
45
43
|
export { INPUT_METHOD, ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from './plugins/analytics';
|
|
@@ -53,12 +51,12 @@ export { default as EditorActions } from './actions'; // Re-export from provider
|
|
|
53
51
|
|
|
54
52
|
export { PortalProvider, PortalProviderAPI, PortalRenderer } from './ui/PortalProvider';
|
|
55
53
|
export { GapCursorSelection, Side as GapCursorSide } from './plugins/selection/gap-cursor-selection';
|
|
56
|
-
export { insertMentionQuery } from './plugins/mentions/commands/insert-mention-query';
|
|
57
|
-
export { insertEmojiQuery } from './plugins/emoji/commands/insert-emoji-query';
|
|
58
54
|
export { selectionPluginKey } from './plugins/mobile-selection';
|
|
59
55
|
export { insertExpand } from './plugins/expand/commands';
|
|
60
56
|
export { default as WithPluginState } from './ui/WithPluginState';
|
|
61
57
|
export { pluginKey as floatingToolbarPluginKey } from './plugins/floating-toolbar';
|
|
62
58
|
export { lightModeStatusColorPalette, darkModeStatusColorPalette } from './ui/ColorPalette/Palettes/statusColorPalette';
|
|
63
59
|
export { DEFAULT_BORDER_COLOR } from './ui/ColorPalette/Palettes/common';
|
|
64
|
-
export { default as messages, statusMessages, dateMessages } from './messages';
|
|
60
|
+
export { default as messages, statusMessages, dateMessages } from './messages';
|
|
61
|
+
export { createTypeAheadTools } from './plugins/type-ahead/api';
|
|
62
|
+
export { createQuickInsertTools } from './plugins/quick-insert/api';
|
|
@@ -23,7 +23,7 @@ import annotationPlugin from '../../../plugins/annotation';
|
|
|
23
23
|
import quickInsertPlugin from '../../../plugins/quick-insert';
|
|
24
24
|
import selectionPlugin from '../../../plugins/selection';
|
|
25
25
|
import codeBlockPlugin from '../../../plugins/code-block';
|
|
26
|
-
import undoRedoPlugin from '../../../plugins/undo-redo';
|
|
26
|
+
import undoRedoPlugin from '../../../plugins/undo-redo';
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
29
|
* Note: The order that presets are added determines
|
|
@@ -53,7 +53,7 @@ export function createDefaultPreset(options) {
|
|
|
53
53
|
preset.add([textFormattingPlugin, options.textFormatting]);
|
|
54
54
|
preset.add(widthPlugin);
|
|
55
55
|
preset.add([quickInsertPlugin, options.quickInsert]);
|
|
56
|
-
preset.add([typeAheadPlugin, {
|
|
56
|
+
preset.add([typeAheadPlugin, options.typeAhead || {
|
|
57
57
|
createAnalyticsEvent: options.createAnalyticsEvent
|
|
58
58
|
}]);
|
|
59
59
|
preset.add(unsupportedContentPlugin);
|
package/dist/esm/messages.js
CHANGED
|
@@ -89,6 +89,11 @@ export default defineMessages({
|
|
|
89
89
|
defaultMessage: 'Remove',
|
|
90
90
|
description: 'Delete the element (image, panel, table, etc.) from your document'
|
|
91
91
|
},
|
|
92
|
+
hideEmoji: {
|
|
93
|
+
id: 'fabric.editor.hideEmoji',
|
|
94
|
+
defaultMessage: 'Hide emoji',
|
|
95
|
+
description: 'Hide the emoji panel icon from custom panel'
|
|
96
|
+
},
|
|
92
97
|
visit: {
|
|
93
98
|
id: 'fabric.editor.visit',
|
|
94
99
|
defaultMessage: 'Open link in a new window',
|
|
@@ -84,8 +84,7 @@ export var SelectionBasedNodeView = /*#__PURE__*/function (_ReactNodeView) {
|
|
|
84
84
|
var _this$view$state$sele = _this.view.state.selection,
|
|
85
85
|
from = _this$view$state$sele.from,
|
|
86
86
|
to = _this$view$state$sele.to;
|
|
87
|
-
return selection.node === _this.node ||
|
|
88
|
-
_this.pos === from && _this.posEnd === to && selection.node.eq(_this.node);
|
|
87
|
+
return selection.node === _this.node || _this.pos === from && _this.posEnd === to && selection.node.eq(_this.node);
|
|
89
88
|
}
|
|
90
89
|
|
|
91
90
|
return false;
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
-
|
|
4
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
5
|
-
|
|
6
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
7
3
|
|
|
8
4
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
9
5
|
|
|
@@ -11,6 +7,10 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
11
7
|
|
|
12
8
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
13
9
|
|
|
10
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
11
|
+
|
|
12
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
13
|
+
|
|
14
14
|
import { Plugin } from 'prosemirror-state';
|
|
15
15
|
import { isPerformanceAPIAvailable, measureRender } from '@atlaskit/editor-common';
|
|
16
16
|
import { ACTION, EVENT_TYPE } from './types';
|
|
@@ -31,7 +31,9 @@ function createPlugin(options) {
|
|
|
31
31
|
key: analyticsPluginKey,
|
|
32
32
|
state: {
|
|
33
33
|
init: function init() {
|
|
34
|
-
return options
|
|
34
|
+
return _objectSpread(_objectSpread({}, options), {}, {
|
|
35
|
+
fireAnalytics: fireAnalyticsEvent(options.createAnalyticsEvent)
|
|
36
|
+
});
|
|
35
37
|
},
|
|
36
38
|
apply: function apply(tr, pluginState, _, state) {
|
|
37
39
|
var _getFeatureFlags;
|
|
@@ -13,6 +13,8 @@ export var ACTION;
|
|
|
13
13
|
ACTION["ACTIVATED"] = "activated";
|
|
14
14
|
ACTION["ADDED"] = "added";
|
|
15
15
|
ACTION["BROWSER_FREEZE"] = "browserFreeze";
|
|
16
|
+
ACTION["CHANGED_BACKGROUND_COLOR"] = "changedBackgroundColor";
|
|
17
|
+
ACTION["CHANGED_ICON"] = "changedIcon";
|
|
16
18
|
ACTION["CHANGED_FULL_WIDTH_MODE"] = "changedFullWidthMode";
|
|
17
19
|
ACTION["CHANGED_LAYOUT"] = "changedLayout";
|
|
18
20
|
ACTION["CHANGED_REPLACEMENT_TEXT"] = "changedReplacementText";
|
|
@@ -56,6 +58,7 @@ export var ACTION;
|
|
|
56
58
|
ACTION["INVOKED"] = "invoked";
|
|
57
59
|
ACTION["LANGUAGE_SELECTED"] = "languageSelected";
|
|
58
60
|
ACTION["LIST_ITEM_JOINED"] = "listItemJoined";
|
|
61
|
+
ACTION["MATCHED"] = "matched";
|
|
59
62
|
ACTION["NODE_CONTENT_SANITIZED"] = "nodeContentSanitized";
|
|
60
63
|
ACTION["OPENED"] = "opened";
|
|
61
64
|
ACTION["OUTDENTED"] = "outdented";
|
|
@@ -91,6 +94,7 @@ export var ACTION;
|
|
|
91
94
|
ACTION["RENDERED"] = "rendered";
|
|
92
95
|
ACTION["ON_EDITOR_READY_CALLBACK"] = "onEditorReadyCallback";
|
|
93
96
|
ACTION["ON_CHANGE_CALLBACK"] = "onChangeCalled";
|
|
97
|
+
ACTION["REMOVE_ICON"] = "removedIcon";
|
|
94
98
|
})(ACTION || (ACTION = {}));
|
|
95
99
|
|
|
96
100
|
export var INPUT_METHOD;
|
|
@@ -162,6 +166,7 @@ export var ACTION_SUBJECT;
|
|
|
162
166
|
ACTION_SUBJECT["PLUS_MENU"] = "plusMenu";
|
|
163
167
|
ACTION_SUBJECT["PLUGIN_SLOT"] = "pluginSlot";
|
|
164
168
|
ACTION_SUBJECT["REACT_NODE_VIEW"] = "reactNodeView";
|
|
169
|
+
ACTION_SUBJECT["SELECTION"] = "selection";
|
|
165
170
|
ACTION_SUBJECT["SMART_LINK"] = "smartLink";
|
|
166
171
|
ACTION_SUBJECT["HYPERLINK"] = "hyperlink";
|
|
167
172
|
ACTION_SUBJECT["TABLE"] = "table";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -135,6 +135,16 @@ export var messages = defineMessages({
|
|
|
135
135
|
defaultMessage: 'Call out errors in a colored panel',
|
|
136
136
|
description: 'Visually distinguishes your text by adding a error panel'
|
|
137
137
|
},
|
|
138
|
+
customPanel: {
|
|
139
|
+
id: 'fabric.editor.customPanel',
|
|
140
|
+
defaultMessage: 'Custom panel',
|
|
141
|
+
description: 'Visually distinguishes your panel by adding a emoji icon and background color'
|
|
142
|
+
},
|
|
143
|
+
customPanelDescription: {
|
|
144
|
+
id: 'fabric.editor.customPanel.description',
|
|
145
|
+
defaultMessage: 'Add a note with an emoji and colored background',
|
|
146
|
+
description: 'Visually distinguishes your panel by adding a emoji icon and background color '
|
|
147
|
+
},
|
|
138
148
|
other: {
|
|
139
149
|
id: 'fabric.editor.other',
|
|
140
150
|
defaultMessage: 'Others...',
|
|
@@ -228,9 +228,7 @@ export var EmbedCardComponent = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
228
228
|
// since `heightAlone` is defined only when just height is available.
|
|
229
229
|
|
|
230
230
|
var heightAlone = liveHeight !== null && liveHeight !== void 0 ? liveHeight : !originalWidth && originalHeight || undefined;
|
|
231
|
-
var aspectRatio = !heightAlone && ( //
|
|
232
|
-
initialAspectRatio || // If we have initialAspectRatio (coming from iframely) we should go with that
|
|
233
|
-
originalHeight && originalWidth && originalWidth / originalHeight) || // If ADF contains both width and height we get ratio from that
|
|
231
|
+
var aspectRatio = !heightAlone && (initialAspectRatio || originalHeight && originalWidth && originalWidth / originalHeight) || // If ADF contains both width and height we get ratio from that
|
|
234
232
|
undefined;
|
|
235
233
|
var cardProps = {
|
|
236
234
|
layout: layout,
|
|
@@ -48,6 +48,21 @@ export var Participants = /*#__PURE__*/function () {
|
|
|
48
48
|
}));
|
|
49
49
|
return new Participants(newSet);
|
|
50
50
|
}
|
|
51
|
+
}, {
|
|
52
|
+
key: "updateCursorPos",
|
|
53
|
+
value: function updateCursorPos(sessionId, cursorPos) {
|
|
54
|
+
var newSet = new Map(this.participants);
|
|
55
|
+
var data = newSet.get(sessionId);
|
|
56
|
+
|
|
57
|
+
if (!data) {
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
newSet.set(sessionId, _objectSpread(_objectSpread({}, data), {}, {
|
|
62
|
+
cursorPos: cursorPos
|
|
63
|
+
}));
|
|
64
|
+
return new Participants(newSet);
|
|
65
|
+
}
|
|
51
66
|
}, {
|
|
52
67
|
key: "toArray",
|
|
53
68
|
value: function toArray() {
|
|
@@ -5,7 +5,7 @@ import { Selection } from 'prosemirror-state';
|
|
|
5
5
|
import { DecorationSet } from 'prosemirror-view';
|
|
6
6
|
import { ReplaceStep } from 'prosemirror-transform';
|
|
7
7
|
import { Participants } from './participants';
|
|
8
|
-
import { findPointers, createTelepointers } from './utils';
|
|
8
|
+
import { findPointers, createTelepointers, getPositionOfTelepointer } from './utils';
|
|
9
9
|
|
|
10
10
|
var isReplaceStep = function isReplaceStep(step) {
|
|
11
11
|
return step instanceof ReplaceStep;
|
|
@@ -205,6 +205,20 @@ export var PluginState = /*#__PURE__*/function () {
|
|
|
205
205
|
|
|
206
206
|
if (add.length) {
|
|
207
207
|
this.decorationSet = this.decorationSet.add(tr.doc, add);
|
|
208
|
+
} // This piece needs to be after the decorationSet adjustments,
|
|
209
|
+
// otherwise it's always one step behind where the cursor is
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
if (telepointerData) {
|
|
213
|
+
var _sessionId2 = telepointerData.sessionId;
|
|
214
|
+
|
|
215
|
+
if (participants.get(_sessionId2)) {
|
|
216
|
+
var positionForScroll = getPositionOfTelepointer(_sessionId2, this.decorationSet);
|
|
217
|
+
|
|
218
|
+
if (positionForScroll) {
|
|
219
|
+
participants = participants.updateCursorPos(_sessionId2, positionForScroll);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
208
222
|
}
|
|
209
223
|
|
|
210
224
|
var nextState = new PluginState(this.decorationSet, participants, sid, collabInitialised);
|
|
@@ -10,7 +10,8 @@ var AvatarsWithPluginState = function AvatarsWithPluginState(props) {
|
|
|
10
10
|
var title = props.intl.formatMessage(messages.inviteToEditButtonTitle);
|
|
11
11
|
var selected = props.isInviteToEditButtonSelected,
|
|
12
12
|
onClick = props.inviteToEditHandler,
|
|
13
|
-
Component = props.inviteToEditComponent
|
|
13
|
+
Component = props.inviteToEditComponent,
|
|
14
|
+
editorView = props.editorView;
|
|
14
15
|
var render = React.useCallback(function (_ref) {
|
|
15
16
|
var data = _ref.data;
|
|
16
17
|
|
|
@@ -20,20 +21,21 @@ var AvatarsWithPluginState = function AvatarsWithPluginState(props) {
|
|
|
20
21
|
|
|
21
22
|
return /*#__PURE__*/React.createElement(Avatars, {
|
|
22
23
|
sessionId: data.sessionId,
|
|
23
|
-
participants: data.activeParticipants
|
|
24
|
+
participants: data.activeParticipants,
|
|
25
|
+
editorView: editorView
|
|
24
26
|
}, /*#__PURE__*/React.createElement(InviteToEditButton, {
|
|
25
27
|
title: title,
|
|
26
28
|
selected: selected,
|
|
27
29
|
onClick: onClick,
|
|
28
30
|
Component: Component
|
|
29
31
|
}));
|
|
30
|
-
}, [selected, onClick, Component, title]);
|
|
32
|
+
}, [selected, onClick, Component, title, editorView]);
|
|
31
33
|
return /*#__PURE__*/React.createElement(WithPluginState, {
|
|
32
34
|
plugins: {
|
|
33
35
|
data: collabEditPluginKey
|
|
34
36
|
},
|
|
35
37
|
render: render,
|
|
36
|
-
editorView:
|
|
38
|
+
editorView: editorView
|
|
37
39
|
});
|
|
38
40
|
};
|
|
39
41
|
|
|
@@ -2,8 +2,11 @@ import React from 'react';
|
|
|
2
2
|
import AvatarGroup from '@atlaskit/avatar-group';
|
|
3
3
|
import { AvatarContainer } from './styles';
|
|
4
4
|
import toAvatar from './to-avatar';
|
|
5
|
+
import { scrollToCollabCursor } from '../utils';
|
|
6
|
+
import { getFeatureFlags } from '../../feature-flags-context';
|
|
5
7
|
export var Avatars = /*#__PURE__*/React.memo(function (props) {
|
|
6
|
-
var sessionId = props.sessionId
|
|
8
|
+
var sessionId = props.sessionId,
|
|
9
|
+
editorView = props.editorView;
|
|
7
10
|
var participants = props.participants.toArray();
|
|
8
11
|
var avatars = participants.sort(function (p) {
|
|
9
12
|
return p.sessionId === sessionId ? -1 : 1;
|
|
@@ -17,6 +20,18 @@ export var Avatars = /*#__PURE__*/React.memo(function (props) {
|
|
|
17
20
|
appearance: "stack",
|
|
18
21
|
size: "medium",
|
|
19
22
|
data: avatars,
|
|
20
|
-
maxCount: 3
|
|
23
|
+
maxCount: 3,
|
|
24
|
+
onAvatarClick: function onAvatarClick(_event, _analytics, index) {
|
|
25
|
+
if (!editorView) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
var featureFlags = getFeatureFlags(editorView.state);
|
|
30
|
+
var allowCollabAvatarScroll = featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.collabAvatarScroll; // user does not need to scroll to their own position (index 0)
|
|
31
|
+
|
|
32
|
+
if (allowCollabAvatarScroll && index > 0) {
|
|
33
|
+
scrollToCollabCursor(editorView, participants, props.sessionId, index);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
21
36
|
}), props.children);
|
|
22
37
|
});
|
|
@@ -4,6 +4,8 @@ import { Decoration } from 'prosemirror-view';
|
|
|
4
4
|
import * as themeColors from '@atlaskit/theme/colors';
|
|
5
5
|
import { hexToRgba } from '@atlaskit/adf-schema';
|
|
6
6
|
import { ZERO_WIDTH_SPACE } from '@atlaskit/editor-common';
|
|
7
|
+
import { addAnalytics } from '../analytics/utils';
|
|
8
|
+
import { EVENT_TYPE, ACTION, ACTION_SUBJECT } from '../analytics/types';
|
|
7
9
|
export var colors = [themeColors.R100, themeColors.R300, themeColors.R500, themeColors.Y100, themeColors.Y300, themeColors.Y500, themeColors.G100, themeColors.G300, themeColors.G500, themeColors.T100, themeColors.T300, themeColors.T500, themeColors.B100, themeColors.B300, themeColors.B500, themeColors.P100, themeColors.P300, themeColors.P500, themeColors.N70, themeColors.N200, themeColors.N800].map(function (solid) {
|
|
8
10
|
return {
|
|
9
11
|
solid: solid,
|
|
@@ -106,4 +108,34 @@ export var replaceDocument = function replaceDocument(doc, state, version, optio
|
|
|
106
108
|
}
|
|
107
109
|
|
|
108
110
|
return tr;
|
|
111
|
+
};
|
|
112
|
+
export var scrollToCollabCursor = function scrollToCollabCursor(editorView, participants, sessionId, index) {
|
|
113
|
+
var selectedUser = participants[index];
|
|
114
|
+
|
|
115
|
+
if (selectedUser && selectedUser.cursorPos !== undefined && selectedUser.sessionId !== sessionId) {
|
|
116
|
+
var state = editorView.state;
|
|
117
|
+
var tr = state.tr;
|
|
118
|
+
var analyticsPayload = {
|
|
119
|
+
action: ACTION.MATCHED,
|
|
120
|
+
actionSubject: ACTION_SUBJECT.SELECTION,
|
|
121
|
+
eventType: EVENT_TYPE.TRACK
|
|
122
|
+
};
|
|
123
|
+
tr.setSelection(Selection.near(tr.doc.resolve(selectedUser.cursorPos)));
|
|
124
|
+
tr = addAnalytics(state, tr, analyticsPayload);
|
|
125
|
+
tr.scrollIntoView();
|
|
126
|
+
editorView.dispatch(tr);
|
|
127
|
+
|
|
128
|
+
if (!editorView.hasFocus()) {
|
|
129
|
+
editorView.focus();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
export var getPositionOfTelepointer = function getPositionOfTelepointer(sessionId, decorationSet) {
|
|
134
|
+
var scrollPosition;
|
|
135
|
+
decorationSet.find().forEach(function (deco) {
|
|
136
|
+
if (deco.type.spec.pointer.sessionId === sessionId) {
|
|
137
|
+
scrollPosition = deco.from;
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
return scrollPosition;
|
|
109
141
|
};
|
|
@@ -5,15 +5,17 @@ import { pluginKey } from './pm-plugins/plugin-key';
|
|
|
5
5
|
import { withAnalytics, addAnalytics, ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '../analytics';
|
|
6
6
|
import { isToday } from './utils/internal';
|
|
7
7
|
import { canInsert } from 'prosemirror-utils';
|
|
8
|
-
export var createDate = function createDate() {
|
|
8
|
+
export var createDate = function createDate(isQuickInsertAction) {
|
|
9
9
|
return function (insert, state) {
|
|
10
10
|
var dateNode = state.schema.nodes.date.createChecked({
|
|
11
11
|
timestamp: todayTimestampInUTC()
|
|
12
12
|
});
|
|
13
|
-
var
|
|
13
|
+
var space = state.schema.text(' ');
|
|
14
|
+
var tr = insert(Fragment.from([dateNode, space]), {
|
|
14
15
|
selectInlineNode: true
|
|
15
16
|
});
|
|
16
17
|
var newPluginState = {
|
|
18
|
+
isQuickInsertAction: isQuickInsertAction,
|
|
17
19
|
showDatePickerAt: tr.selection.from,
|
|
18
20
|
isNew: true,
|
|
19
21
|
isDateEmpty: false,
|
|
@@ -136,7 +136,7 @@ var datePlugin = function datePlugin() {
|
|
|
136
136
|
return /*#__PURE__*/React.createElement(IconDate, null);
|
|
137
137
|
},
|
|
138
138
|
action: function action(insert, state) {
|
|
139
|
-
var tr = createDate()(insert, state);
|
|
139
|
+
var tr = createDate(true)(insert, state);
|
|
140
140
|
addAnalytics(state, tr, {
|
|
141
141
|
action: ACTION.INSERTED,
|
|
142
142
|
actionSubject: ACTION_SUBJECT.DOCUMENT,
|
|
@@ -41,7 +41,12 @@ export function mapping(tr, pluginState) {
|
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
export function onSelectionChanged(tr, pluginState) {
|
|
44
|
-
if (
|
|
44
|
+
if (tr.docChanged && isDateNodeSelection(tr.selection)) {
|
|
45
|
+
return _objectSpread(_objectSpread({}, pluginState), {}, {
|
|
46
|
+
isQuickInsertAction: false,
|
|
47
|
+
showDatePickerAt: tr.selection.from
|
|
48
|
+
});
|
|
49
|
+
} else if (!isDateNodeSelection(tr.selection) && !pluginState.isQuickInsertAction) {
|
|
45
50
|
if (pluginState.showDatePickerAt) {
|
|
46
51
|
return {
|
|
47
52
|
showDatePickerAt: null,
|