@atlaskit/editor-core 183.0.12 → 183.1.1
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 +35 -0
- package/dist/cjs/actions/index.js +1 -16
- package/dist/cjs/create-editor/ErrorBoundary.js +19 -8
- package/dist/cjs/create-editor/ReactEditorViewInternal.js +40 -21
- package/dist/cjs/editor-next/editor-internal.js +6 -1
- package/dist/cjs/labs/next/presets/create-stub-internal-apis.js +1 -41
- package/dist/cjs/labs/next/presets/default.js +23 -1
- package/dist/cjs/labs/next/presets/universal.js +9 -18
- package/dist/cjs/plugins/analytics/index.js +0 -24
- package/dist/cjs/plugins/analytics/plugin-key.js +7 -1
- package/dist/cjs/plugins/analytics/plugin.js +17 -45
- package/dist/cjs/plugins/analytics/utils.js +24 -34
- package/dist/cjs/plugins/base/index.js +7 -1
- package/dist/cjs/plugins/base/pm-plugins/decoration.js +8 -0
- package/dist/cjs/plugins/block-type/commands/block-type.js +1 -1
- package/dist/cjs/plugins/caption/index.js +3 -2
- package/dist/cjs/plugins/caption/pm-plugins/main.js +8 -7
- package/dist/cjs/plugins/card/index.js +2 -2
- package/dist/cjs/plugins/card/nodeviews/embedCard.js +103 -70
- package/dist/cjs/plugins/card/nodeviews/genericCard.js +3 -2
- package/dist/cjs/plugins/card/pm-plugins/analytics/events-from-tr.js +36 -20
- package/dist/cjs/plugins/card/pm-plugins/analytics/utils.js +48 -9
- package/dist/cjs/plugins/card/pm-plugins/doc.js +19 -19
- package/dist/cjs/plugins/card/pm-plugins/main.js +5 -3
- package/dist/cjs/plugins/card/pm-plugins/shouldReplaceLink.js +4 -4
- package/dist/cjs/plugins/card/pm-plugins/util/resolve.js +6 -6
- package/dist/cjs/plugins/card/toolbar.js +86 -68
- package/dist/cjs/plugins/card/ui/EditLinkToolbar.js +19 -13
- package/dist/cjs/plugins/card/ui/EditorSmartCardEventsNext.js +9 -3
- package/dist/cjs/plugins/card/ui/LinkToolbarAppearance.js +6 -5
- package/dist/cjs/plugins/card/ui/LinkToolbarButtonGroup.js +2 -2
- package/dist/cjs/plugins/card/ui/ResizableEmbedCard.js +1 -2
- package/dist/cjs/plugins/collab-edit/ui/styles.js +2 -3
- package/dist/cjs/plugins/date/index.js +4 -3
- package/dist/cjs/plugins/expand/ui/styles.js +4 -5
- package/dist/cjs/plugins/floating-toolbar/ui/Dropdown.js +3 -3
- package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +5 -1
- package/dist/cjs/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +2 -2
- package/dist/cjs/plugins/floating-toolbar/ui/ScrollButtons.js +4 -6
- package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +5 -5
- package/dist/cjs/plugins/grid/index.js +73 -39
- package/dist/cjs/plugins/history/pm-history-types.js +1 -5
- package/dist/cjs/plugins/history/utils.js +2 -2
- package/dist/cjs/plugins/hyperlink/HyperlinkToolbarAppearance.js +4 -2
- package/dist/cjs/plugins/hyperlink/Toolbar.js +4 -3
- package/dist/cjs/plugins/hyperlink/commands.js +14 -14
- package/dist/cjs/plugins/hyperlink/index.js +7 -5
- package/dist/cjs/plugins/hyperlink/pm-plugins/input-rule.js +5 -5
- package/dist/cjs/plugins/hyperlink/pm-plugins/keymap.js +2 -3
- package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +2 -3
- package/dist/cjs/plugins/insert-block/index.js +1 -1
- package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +40 -44
- package/dist/cjs/plugins/layout/styles.js +2 -2
- package/dist/cjs/plugins/list/actions/conversions.js +1 -1
- package/dist/cjs/plugins/list/commands/listBackspace.js +5 -5
- package/dist/cjs/plugins/list/pm-plugins/main.js +2 -2
- package/dist/cjs/plugins/list/transforms.js +2 -2
- package/dist/cjs/plugins/list/utils/analytics.js +2 -2
- package/dist/cjs/plugins/list/utils/find.js +6 -6
- package/dist/cjs/plugins/list/utils/indentation.js +3 -3
- package/dist/cjs/plugins/list/utils/node.js +32 -23
- package/dist/cjs/plugins/list/utils/selection.js +11 -11
- package/dist/cjs/plugins/macro/actions.js +2 -2
- package/dist/cjs/plugins/media/commands/linking.js +1 -1
- package/dist/cjs/plugins/media/index.js +1 -1
- package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +31 -17
- package/dist/cjs/plugins/media/pm-plugins/alt-text/index.js +2 -2
- package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +3 -4
- package/dist/cjs/plugins/media/toolbar/filePreviewItem.js +2 -2
- package/dist/cjs/plugins/media/toolbar/linking-toolbar-appearance.js +4 -4
- package/dist/cjs/plugins/media/ui/ImageBorder/styles.js +4 -1
- package/dist/cjs/plugins/media/ui/MediaLinkingToolbar.js +3 -4
- package/dist/cjs/plugins/media/ui/ResizableMediaSingle/index.js +13 -4
- package/dist/cjs/plugins/media/utils/media-single.js +10 -57
- package/dist/cjs/plugins/paste/edge-cases/index.js +3 -3
- package/dist/cjs/plugins/paste/edge-cases/lists.js +1 -1
- package/dist/cjs/plugins/paste/handlers.js +16 -10
- package/dist/cjs/plugins/paste/pm-plugins/analytics.js +1 -1
- package/dist/cjs/plugins/paste/pm-plugins/main.js +13 -20
- package/dist/cjs/plugins/quick-insert/commands.js +1 -1
- package/dist/cjs/plugins/rule/pm-plugins/input-rule.js +1 -1
- package/dist/cjs/plugins/selection/commands.js +24 -23
- package/dist/cjs/plugins/selection/utils.js +2 -2
- package/dist/cjs/plugins/status/plugin.js +13 -7
- package/dist/cjs/plugins/status/ui/statusPicker.js +1 -1
- package/dist/cjs/plugins/type-ahead/insert-utils.js +2 -3
- package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +1 -1
- package/dist/cjs/plugins/width/index.js +12 -0
- package/dist/cjs/ui/Alignment/styles.js +1 -2
- package/dist/cjs/ui/Appearance/Comment/Toolbar.js +2 -3
- package/dist/cjs/ui/Appearance/FullPage/MainToolbar.js +1 -2
- package/dist/cjs/ui/ColorPickerButton/index.js +16 -9
- package/dist/cjs/ui/ConfigPanel/ErrorMessage/ErrorImage.js +1 -2
- package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +6 -3
- package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +3 -4
- package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +1 -2
- package/dist/cjs/ui/ConfigPanel/Fields/SelectItem.js +1 -2
- package/dist/cjs/ui/ConfigPanel/NestedForms/RemovableField.js +1 -2
- package/dist/cjs/ui/ContentStyles/index.js +2 -2
- package/dist/cjs/ui/ElementBrowser/InsertMenu.js +1 -1
- package/dist/cjs/ui/ElementBrowser/constants.js +4 -0
- package/dist/cjs/ui/ErrorBoundary/index.js +7 -0
- package/dist/cjs/ui/Resizer/index.js +4 -4
- package/dist/cjs/utils/commands.js +2 -2
- package/dist/cjs/utils/document.js +4 -12
- package/dist/cjs/utils/index.js +1 -14
- package/dist/cjs/utils/selection.js +1 -26
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/actions/index.js +1 -16
- package/dist/es2019/create-editor/ErrorBoundary.js +18 -7
- package/dist/es2019/create-editor/ReactEditorViewInternal.js +44 -27
- package/dist/es2019/editor-next/editor-internal.js +6 -1
- package/dist/es2019/labs/next/presets/create-stub-internal-apis.js +1 -39
- package/dist/es2019/labs/next/presets/default.js +27 -1
- package/dist/es2019/labs/next/presets/universal.js +9 -19
- package/dist/es2019/plugins/analytics/index.js +1 -1
- package/dist/es2019/plugins/analytics/plugin-key.js +8 -1
- package/dist/es2019/plugins/analytics/plugin.js +15 -38
- package/dist/es2019/plugins/analytics/utils.js +24 -11
- package/dist/es2019/plugins/base/index.js +4 -1
- package/dist/es2019/plugins/base/pm-plugins/decoration.js +9 -0
- package/dist/es2019/plugins/block-type/commands/block-type.js +1 -1
- package/dist/es2019/plugins/caption/index.js +3 -2
- package/dist/es2019/plugins/caption/pm-plugins/main.js +8 -7
- package/dist/es2019/plugins/card/index.js +2 -2
- package/dist/es2019/plugins/card/nodeviews/embedCard.js +105 -70
- package/dist/es2019/plugins/card/nodeviews/genericCard.js +3 -2
- package/dist/es2019/plugins/card/pm-plugins/analytics/events-from-tr.js +33 -16
- package/dist/es2019/plugins/card/pm-plugins/analytics/utils.js +43 -7
- package/dist/es2019/plugins/card/pm-plugins/doc.js +19 -19
- package/dist/es2019/plugins/card/pm-plugins/main.js +7 -3
- package/dist/es2019/plugins/card/pm-plugins/shouldReplaceLink.js +1 -1
- package/dist/es2019/plugins/card/pm-plugins/util/resolve.js +6 -6
- package/dist/es2019/plugins/card/toolbar.js +51 -30
- package/dist/es2019/plugins/card/ui/EditLinkToolbar.js +11 -5
- package/dist/es2019/plugins/card/ui/EditorSmartCardEventsNext.js +6 -0
- package/dist/es2019/plugins/card/ui/LinkToolbarAppearance.js +6 -5
- package/dist/es2019/plugins/card/ui/LinkToolbarButtonGroup.js +1 -1
- package/dist/es2019/plugins/card/ui/ResizableEmbedCard.js +1 -1
- package/dist/es2019/plugins/collab-edit/ui/styles.js +3 -4
- package/dist/es2019/plugins/date/index.js +4 -3
- package/dist/es2019/plugins/expand/ui/styles.js +1 -2
- package/dist/es2019/plugins/floating-toolbar/ui/Dropdown.js +1 -1
- package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +6 -2
- package/dist/es2019/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +1 -1
- package/dist/es2019/plugins/floating-toolbar/ui/ScrollButtons.js +3 -5
- package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +9 -9
- package/dist/es2019/plugins/grid/index.js +76 -39
- package/dist/es2019/plugins/history/pm-history-types.js +1 -2
- package/dist/es2019/plugins/history/utils.js +1 -1
- package/dist/es2019/plugins/hyperlink/HyperlinkToolbarAppearance.js +4 -2
- package/dist/es2019/plugins/hyperlink/Toolbar.js +4 -3
- package/dist/es2019/plugins/hyperlink/commands.js +3 -3
- package/dist/es2019/plugins/hyperlink/index.js +7 -5
- package/dist/es2019/plugins/hyperlink/pm-plugins/input-rule.js +3 -3
- package/dist/es2019/plugins/hyperlink/pm-plugins/keymap.js +1 -2
- package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
- package/dist/es2019/plugins/insert-block/index.js +1 -1
- package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +16 -19
- package/dist/es2019/plugins/layout/styles.js +4 -0
- package/dist/es2019/plugins/list/actions/conversions.js +1 -1
- package/dist/es2019/plugins/list/commands/listBackspace.js +1 -1
- package/dist/es2019/plugins/list/pm-plugins/main.js +1 -1
- package/dist/es2019/plugins/list/transforms.js +1 -1
- package/dist/es2019/plugins/list/utils/analytics.js +1 -1
- package/dist/es2019/plugins/list/utils/find.js +1 -1
- package/dist/es2019/plugins/list/utils/indentation.js +1 -1
- package/dist/es2019/plugins/list/utils/node.js +2 -12
- package/dist/es2019/plugins/list/utils/selection.js +1 -1
- package/dist/es2019/plugins/macro/actions.js +1 -1
- package/dist/es2019/plugins/media/commands/linking.js +1 -1
- package/dist/es2019/plugins/media/index.js +1 -1
- package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +20 -6
- package/dist/es2019/plugins/media/pm-plugins/alt-text/index.js +1 -1
- package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
- package/dist/es2019/plugins/media/toolbar/filePreviewItem.js +1 -1
- package/dist/es2019/plugins/media/toolbar/linking-toolbar-appearance.js +1 -1
- package/dist/es2019/plugins/media/ui/ImageBorder/styles.js +4 -0
- package/dist/es2019/plugins/media/ui/MediaLinkingToolbar.js +2 -2
- package/dist/es2019/plugins/media/ui/ResizableMediaSingle/index.js +15 -3
- package/dist/es2019/plugins/media/utils/media-single.js +5 -53
- package/dist/es2019/plugins/paste/edge-cases/index.js +1 -1
- package/dist/es2019/plugins/paste/edge-cases/lists.js +1 -1
- package/dist/es2019/plugins/paste/handlers.js +11 -4
- package/dist/es2019/plugins/paste/pm-plugins/analytics.js +1 -1
- package/dist/es2019/plugins/paste/pm-plugins/main.js +2 -3
- package/dist/es2019/plugins/quick-insert/commands.js +1 -1
- package/dist/es2019/plugins/rule/pm-plugins/input-rule.js +1 -1
- package/dist/es2019/plugins/selection/commands.js +2 -1
- package/dist/es2019/plugins/selection/utils.js +1 -1
- package/dist/es2019/plugins/status/plugin.js +9 -3
- package/dist/es2019/plugins/status/ui/statusPicker.js +2 -2
- package/dist/es2019/plugins/type-ahead/insert-utils.js +1 -2
- package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +2 -2
- package/dist/es2019/plugins/width/index.js +12 -0
- package/dist/es2019/ui/Alignment/styles.js +1 -2
- package/dist/es2019/ui/Appearance/Comment/Toolbar.js +2 -3
- package/dist/es2019/ui/Appearance/FullPage/MainToolbar.js +3 -4
- package/dist/es2019/ui/ColorPickerButton/index.js +18 -9
- package/dist/es2019/ui/ConfigPanel/ErrorMessage/ErrorImage.js +1 -2
- package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +7 -3
- package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +5 -6
- package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +2 -3
- package/dist/es2019/ui/ConfigPanel/Fields/SelectItem.js +1 -2
- package/dist/es2019/ui/ConfigPanel/NestedForms/RemovableField.js +1 -2
- package/dist/es2019/ui/ContentStyles/index.js +2 -1
- package/dist/es2019/ui/ElementBrowser/InsertMenu.js +2 -2
- package/dist/es2019/ui/ElementBrowser/constants.js +3 -0
- package/dist/es2019/ui/ErrorBoundary/index.js +7 -0
- package/dist/es2019/ui/Resizer/index.js +4 -4
- package/dist/es2019/utils/commands.js +1 -1
- package/dist/es2019/utils/document.js +1 -8
- package/dist/es2019/utils/index.js +2 -2
- package/dist/es2019/utils/selection.js +0 -22
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/es2019/version.json +1 -1
- package/dist/esm/actions/index.js +1 -16
- package/dist/esm/create-editor/ErrorBoundary.js +19 -8
- package/dist/esm/create-editor/ReactEditorViewInternal.js +40 -21
- package/dist/esm/editor-next/editor-internal.js +6 -1
- package/dist/esm/labs/next/presets/create-stub-internal-apis.js +1 -41
- package/dist/esm/labs/next/presets/default.js +23 -1
- package/dist/esm/labs/next/presets/universal.js +9 -18
- package/dist/esm/plugins/analytics/index.js +1 -1
- package/dist/esm/plugins/analytics/plugin-key.js +8 -1
- package/dist/esm/plugins/analytics/plugin.js +17 -45
- package/dist/esm/plugins/analytics/utils.js +24 -11
- package/dist/esm/plugins/base/index.js +4 -1
- package/dist/esm/plugins/base/pm-plugins/decoration.js +9 -0
- package/dist/esm/plugins/block-type/commands/block-type.js +1 -1
- package/dist/esm/plugins/caption/index.js +3 -2
- package/dist/esm/plugins/caption/pm-plugins/main.js +8 -7
- package/dist/esm/plugins/card/index.js +2 -2
- package/dist/esm/plugins/card/nodeviews/embedCard.js +103 -70
- package/dist/esm/plugins/card/nodeviews/genericCard.js +3 -2
- package/dist/esm/plugins/card/pm-plugins/analytics/events-from-tr.js +36 -20
- package/dist/esm/plugins/card/pm-plugins/analytics/utils.js +43 -7
- package/dist/esm/plugins/card/pm-plugins/doc.js +19 -19
- package/dist/esm/plugins/card/pm-plugins/main.js +5 -3
- package/dist/esm/plugins/card/pm-plugins/shouldReplaceLink.js +1 -1
- package/dist/esm/plugins/card/pm-plugins/util/resolve.js +6 -6
- package/dist/esm/plugins/card/toolbar.js +86 -68
- package/dist/esm/plugins/card/ui/EditLinkToolbar.js +19 -13
- package/dist/esm/plugins/card/ui/EditorSmartCardEventsNext.js +9 -3
- package/dist/esm/plugins/card/ui/LinkToolbarAppearance.js +6 -5
- package/dist/esm/plugins/card/ui/LinkToolbarButtonGroup.js +1 -1
- package/dist/esm/plugins/card/ui/ResizableEmbedCard.js +1 -1
- package/dist/esm/plugins/collab-edit/ui/styles.js +2 -3
- package/dist/esm/plugins/date/index.js +4 -3
- package/dist/esm/plugins/expand/ui/styles.js +2 -3
- package/dist/esm/plugins/floating-toolbar/ui/Dropdown.js +1 -1
- package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +5 -1
- package/dist/esm/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +1 -1
- package/dist/esm/plugins/floating-toolbar/ui/ScrollButtons.js +2 -4
- package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +5 -5
- package/dist/esm/plugins/grid/index.js +72 -36
- package/dist/esm/plugins/history/pm-history-types.js +1 -2
- package/dist/esm/plugins/history/utils.js +1 -1
- package/dist/esm/plugins/hyperlink/HyperlinkToolbarAppearance.js +4 -2
- package/dist/esm/plugins/hyperlink/Toolbar.js +4 -3
- package/dist/esm/plugins/hyperlink/commands.js +3 -3
- package/dist/esm/plugins/hyperlink/index.js +7 -5
- package/dist/esm/plugins/hyperlink/pm-plugins/input-rule.js +3 -3
- package/dist/esm/plugins/hyperlink/pm-plugins/keymap.js +1 -2
- package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
- package/dist/esm/plugins/insert-block/index.js +1 -1
- package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +40 -44
- package/dist/esm/plugins/layout/styles.js +3 -1
- package/dist/esm/plugins/list/actions/conversions.js +1 -1
- package/dist/esm/plugins/list/commands/listBackspace.js +1 -1
- package/dist/esm/plugins/list/pm-plugins/main.js +1 -1
- package/dist/esm/plugins/list/transforms.js +1 -1
- package/dist/esm/plugins/list/utils/analytics.js +1 -1
- package/dist/esm/plugins/list/utils/find.js +1 -1
- package/dist/esm/plugins/list/utils/indentation.js +1 -1
- package/dist/esm/plugins/list/utils/node.js +2 -12
- package/dist/esm/plugins/list/utils/selection.js +1 -1
- package/dist/esm/plugins/macro/actions.js +1 -1
- package/dist/esm/plugins/media/commands/linking.js +1 -1
- package/dist/esm/plugins/media/index.js +1 -1
- package/dist/esm/plugins/media/nodeviews/mediaSingle.js +31 -17
- package/dist/esm/plugins/media/pm-plugins/alt-text/index.js +1 -1
- package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
- package/dist/esm/plugins/media/toolbar/filePreviewItem.js +1 -1
- package/dist/esm/plugins/media/toolbar/linking-toolbar-appearance.js +1 -1
- package/dist/esm/plugins/media/ui/ImageBorder/styles.js +4 -0
- package/dist/esm/plugins/media/ui/MediaLinkingToolbar.js +2 -2
- package/dist/esm/plugins/media/ui/ResizableMediaSingle/index.js +13 -3
- package/dist/esm/plugins/media/utils/media-single.js +5 -51
- package/dist/esm/plugins/paste/edge-cases/index.js +1 -1
- package/dist/esm/plugins/paste/edge-cases/lists.js +1 -1
- package/dist/esm/plugins/paste/handlers.js +11 -4
- package/dist/esm/plugins/paste/pm-plugins/analytics.js +1 -1
- package/dist/esm/plugins/paste/pm-plugins/main.js +2 -3
- package/dist/esm/plugins/quick-insert/commands.js +1 -1
- package/dist/esm/plugins/rule/pm-plugins/input-rule.js +1 -1
- package/dist/esm/plugins/selection/commands.js +2 -1
- package/dist/esm/plugins/selection/utils.js +1 -1
- package/dist/esm/plugins/status/plugin.js +9 -3
- package/dist/esm/plugins/status/ui/statusPicker.js +2 -2
- package/dist/esm/plugins/type-ahead/insert-utils.js +1 -2
- package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +2 -2
- package/dist/esm/plugins/width/index.js +12 -0
- package/dist/esm/ui/Alignment/styles.js +1 -2
- package/dist/esm/ui/Appearance/Comment/Toolbar.js +2 -3
- package/dist/esm/ui/Appearance/FullPage/MainToolbar.js +1 -2
- package/dist/esm/ui/ColorPickerButton/index.js +16 -9
- package/dist/esm/ui/ConfigPanel/ErrorMessage/ErrorImage.js +1 -2
- package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +6 -2
- package/dist/esm/ui/ConfigPanel/Fields/Expand.js +3 -4
- package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +1 -2
- package/dist/esm/ui/ConfigPanel/Fields/SelectItem.js +1 -2
- package/dist/esm/ui/ConfigPanel/NestedForms/RemovableField.js +1 -2
- package/dist/esm/ui/ContentStyles/index.js +3 -3
- package/dist/esm/ui/ElementBrowser/InsertMenu.js +2 -2
- package/dist/esm/ui/ElementBrowser/constants.js +3 -0
- package/dist/esm/ui/ErrorBoundary/index.js +7 -0
- package/dist/esm/ui/Resizer/index.js +4 -4
- package/dist/esm/utils/commands.js +1 -1
- package/dist/esm/utils/document.js +1 -8
- package/dist/esm/utils/index.js +2 -2
- package/dist/esm/utils/selection.js +0 -23
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/esm/version.json +1 -1
- package/dist/types/create-editor/ErrorBoundary.d.ts +2 -0
- package/dist/types/create-editor/ReactEditorViewInternal.d.ts +2 -1
- package/dist/types/labs/next/presets/create-stub-internal-apis.d.ts +0 -3
- package/dist/types/labs/next/presets/cxhtml.d.ts +63 -3
- package/dist/types/labs/next/presets/default.d.ts +129 -6
- package/dist/types/labs/next/presets/mobile.d.ts +63 -3
- package/dist/types/plugins/analytics/index.d.ts +1 -1
- package/dist/types/plugins/analytics/plugin-key.d.ts +6 -0
- package/dist/types/plugins/analytics/plugin.d.ts +9 -2
- package/dist/types/plugins/analytics/utils.d.ts +16 -3
- package/dist/types/plugins/base/index.d.ts +4 -0
- package/dist/types/plugins/base/pm-plugins/decoration.d.ts +8 -0
- package/dist/types/plugins/caption/index.d.ts +4 -1
- package/dist/types/plugins/caption/pm-plugins/main.d.ts +2 -1
- package/dist/types/plugins/card/index.d.ts +11 -1
- package/dist/types/plugins/card/nodeviews/embedCard.d.ts +1 -1
- package/dist/types/plugins/card/nodeviews/genericCard.d.ts +3 -0
- package/dist/types/plugins/card/pm-plugins/analytics/types.d.ts +2 -0
- package/dist/types/plugins/card/pm-plugins/analytics/utils.d.ts +8 -2
- package/dist/types/plugins/card/pm-plugins/doc.d.ts +7 -7
- package/dist/types/plugins/card/pm-plugins/main.d.ts +3 -1
- package/dist/types/plugins/card/pm-plugins/util/resolve.d.ts +2 -1
- package/dist/types/plugins/card/toolbar.d.ts +7 -4
- package/dist/types/plugins/card/types.d.ts +1 -0
- package/dist/types/plugins/card/ui/EditLinkToolbar.d.ts +4 -2
- package/dist/types/plugins/card/ui/LinkToolbarAppearance.d.ts +2 -0
- package/dist/types/plugins/date/index.d.ts +3 -2
- package/dist/types/plugins/date/ui/DatePicker/date-picker-input.d.ts +1 -1
- package/dist/types/plugins/date/ui/DatePicker/index.d.ts +1 -1
- package/dist/types/plugins/grid/index.d.ts +14 -7
- package/dist/types/plugins/grid/types.d.ts +3 -2
- package/dist/types/plugins/history/pm-history-types.d.ts +0 -1
- package/dist/types/plugins/hyperlink/HyperlinkToolbarAppearance.d.ts +2 -0
- package/dist/types/plugins/hyperlink/Toolbar.d.ts +2 -1
- package/dist/types/plugins/hyperlink/commands.d.ts +1 -1
- package/dist/types/plugins/hyperlink/index.d.ts +6 -2
- package/dist/types/plugins/insert-block/index.d.ts +6 -4
- package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +3 -3
- package/dist/types/plugins/list/utils/node.d.ts +2 -6
- package/dist/types/plugins/media/index.d.ts +2 -1
- package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +4 -1
- package/dist/types/plugins/media/nodeviews/types.d.ts +4 -0
- package/dist/types/plugins/media/ui/ResizableMediaSingle/index.d.ts +1 -1
- package/dist/types/plugins/media/ui/ResizableMediaSingle/types.d.ts +1 -1
- package/dist/types/plugins/media/utils/media-single.d.ts +2 -15
- package/dist/types/plugins/paste/pm-plugins/main.d.ts +0 -1
- package/dist/types/plugins/width/index.d.ts +9 -1
- package/dist/types/types/performance-tracking.d.ts +1 -323
- package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +5 -5
- package/dist/types/ui/ColorPickerButton/index.d.ts +6 -1
- package/dist/types/ui/ContentStyles/index.d.ts +2 -2
- package/dist/types/ui/ElementBrowser/components/CategoryList.d.ts +1 -1
- package/dist/types/ui/ElementBrowser/components/ElementList/ElementList.d.ts +1 -1
- package/dist/types/ui/Resizer/types.d.ts +1 -1
- package/dist/types/utils/document.d.ts +0 -4
- package/dist/types/utils/index.d.ts +2 -2
- package/dist/types/utils/selection.d.ts +1 -2
- package/dist/types-ts4.5/create-editor/ErrorBoundary.d.ts +2 -0
- package/dist/types-ts4.5/create-editor/ReactEditorViewInternal.d.ts +2 -1
- package/dist/types-ts4.5/labs/next/presets/create-stub-internal-apis.d.ts +0 -3
- package/dist/types-ts4.5/labs/next/presets/cxhtml.d.ts +73 -3
- package/dist/types-ts4.5/labs/next/presets/default.d.ts +149 -6
- package/dist/types-ts4.5/labs/next/presets/mobile.d.ts +73 -3
- package/dist/types-ts4.5/plugins/analytics/index.d.ts +1 -1
- package/dist/types-ts4.5/plugins/analytics/plugin-key.d.ts +6 -0
- package/dist/types-ts4.5/plugins/analytics/plugin.d.ts +10 -2
- package/dist/types-ts4.5/plugins/analytics/utils.d.ts +16 -3
- package/dist/types-ts4.5/plugins/base/index.d.ts +4 -0
- package/dist/types-ts4.5/plugins/base/pm-plugins/decoration.d.ts +8 -0
- package/dist/types-ts4.5/plugins/caption/index.d.ts +6 -1
- package/dist/types-ts4.5/plugins/caption/pm-plugins/main.d.ts +2 -1
- package/dist/types-ts4.5/plugins/card/index.d.ts +9 -1
- package/dist/types-ts4.5/plugins/card/nodeviews/embedCard.d.ts +1 -1
- package/dist/types-ts4.5/plugins/card/nodeviews/genericCard.d.ts +3 -0
- package/dist/types-ts4.5/plugins/card/pm-plugins/analytics/types.d.ts +2 -0
- package/dist/types-ts4.5/plugins/card/pm-plugins/analytics/utils.d.ts +8 -2
- package/dist/types-ts4.5/plugins/card/pm-plugins/doc.d.ts +7 -7
- package/dist/types-ts4.5/plugins/card/pm-plugins/main.d.ts +3 -1
- package/dist/types-ts4.5/plugins/card/pm-plugins/util/resolve.d.ts +2 -1
- package/dist/types-ts4.5/plugins/card/toolbar.d.ts +7 -4
- package/dist/types-ts4.5/plugins/card/types.d.ts +1 -0
- package/dist/types-ts4.5/plugins/card/ui/EditLinkToolbar.d.ts +4 -2
- package/dist/types-ts4.5/plugins/card/ui/LinkToolbarAppearance.d.ts +2 -0
- package/dist/types-ts4.5/plugins/date/index.d.ts +3 -1
- package/dist/types-ts4.5/plugins/date/ui/DatePicker/date-picker-input.d.ts +1 -1
- package/dist/types-ts4.5/plugins/date/ui/DatePicker/index.d.ts +1 -1
- package/dist/types-ts4.5/plugins/grid/index.d.ts +16 -7
- package/dist/types-ts4.5/plugins/grid/types.d.ts +3 -2
- package/dist/types-ts4.5/plugins/history/pm-history-types.d.ts +0 -1
- package/dist/types-ts4.5/plugins/hyperlink/HyperlinkToolbarAppearance.d.ts +2 -0
- package/dist/types-ts4.5/plugins/hyperlink/Toolbar.d.ts +2 -1
- package/dist/types-ts4.5/plugins/hyperlink/commands.d.ts +1 -1
- package/dist/types-ts4.5/plugins/hyperlink/index.d.ts +4 -2
- package/dist/types-ts4.5/plugins/insert-block/index.d.ts +4 -4
- package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +3 -3
- package/dist/types-ts4.5/plugins/list/utils/node.d.ts +2 -6
- package/dist/types-ts4.5/plugins/media/index.d.ts +3 -1
- package/dist/types-ts4.5/plugins/media/nodeviews/mediaSingle.d.ts +4 -1
- package/dist/types-ts4.5/plugins/media/nodeviews/types.d.ts +4 -0
- package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/index.d.ts +1 -1
- package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/types.d.ts +1 -1
- package/dist/types-ts4.5/plugins/media/utils/media-single.d.ts +2 -15
- package/dist/types-ts4.5/plugins/paste/pm-plugins/main.d.ts +0 -1
- package/dist/types-ts4.5/plugins/width/index.d.ts +9 -1
- package/dist/types-ts4.5/types/performance-tracking.d.ts +1 -323
- package/dist/types-ts4.5/ui/Appearance/FullPage/StyledComponents.d.ts +5 -5
- package/dist/types-ts4.5/ui/ColorPickerButton/index.d.ts +6 -1
- package/dist/types-ts4.5/ui/ContentStyles/index.d.ts +2 -2
- package/dist/types-ts4.5/ui/ElementBrowser/components/CategoryList.d.ts +1 -1
- package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/ElementList.d.ts +1 -1
- package/dist/types-ts4.5/ui/Resizer/types.d.ts +1 -1
- package/dist/types-ts4.5/utils/document.d.ts +0 -4
- package/dist/types-ts4.5/utils/index.d.ts +2 -2
- package/dist/types-ts4.5/utils/selection.d.ts +1 -2
- package/package.json +30 -23
- package/report.api.md +80 -151
- package/dist/cjs/analytics-api/api.js +0 -32
- package/dist/cjs/analytics-api/attach-payload-into-transaction.js +0 -36
- package/dist/cjs/analytics-api/editor-state-context.js +0 -77
- package/dist/cjs/analytics-api/map-attributes.js +0 -23
- package/dist/cjs/insert-api/api.js +0 -43
- package/dist/cjs/insert-api/insert-content-handlers.js +0 -94
- package/dist/cjs/insert-api/insert-node-helpers.js +0 -133
- package/dist/cjs/insert-api/types.js +0 -5
- package/dist/cjs/plugins/floating-toolbar/ui/Button.js +0 -93
- package/dist/cjs/plugins/hyperlink/analytics.js +0 -23
- package/dist/cjs/plugins/hyperlink/utils.js +0 -183
- package/dist/cjs/plugins/paste/md-plugins/ignore-list-heading-md-plugin.js +0 -47
- package/dist/cjs/plugins/paste/md-plugins/linkify-md-plugin.js +0 -135
- package/dist/cjs/plugins/paste/md-plugins/newline-md-plugin.js +0 -67
- package/dist/cjs/plugins/paste/md-plugins/paragraph-md-plugin.js +0 -73
- package/dist/cjs/plugins/paste/md.js +0 -31
- package/dist/cjs/plugins/undo-redo/undo-redo-input-source.js +0 -26
- package/dist/cjs/types/get-editor-props.js +0 -5
- package/dist/cjs/utils/get-editor-plugins.js +0 -30
- package/dist/cjs/utils/insert.js +0 -251
- package/dist/cjs/utils/sendLogs.js +0 -12
- package/dist/es2019/analytics-api/api.js +0 -28
- package/dist/es2019/analytics-api/attach-payload-into-transaction.js +0 -32
- package/dist/es2019/analytics-api/editor-state-context.js +0 -74
- package/dist/es2019/analytics-api/map-attributes.js +0 -14
- package/dist/es2019/insert-api/api.js +0 -42
- package/dist/es2019/insert-api/insert-content-handlers.js +0 -84
- package/dist/es2019/insert-api/insert-node-helpers.js +0 -137
- package/dist/es2019/insert-api/types.js +0 -1
- package/dist/es2019/plugins/floating-toolbar/ui/Button.js +0 -85
- package/dist/es2019/plugins/hyperlink/analytics.js +0 -17
- package/dist/es2019/plugins/hyperlink/utils.js +0 -149
- package/dist/es2019/plugins/paste/md-plugins/ignore-list-heading-md-plugin.js +0 -43
- package/dist/es2019/plugins/paste/md-plugins/linkify-md-plugin.js +0 -128
- package/dist/es2019/plugins/paste/md-plugins/newline-md-plugin.js +0 -58
- package/dist/es2019/plugins/paste/md-plugins/paragraph-md-plugin.js +0 -64
- package/dist/es2019/plugins/paste/md.js +0 -23
- package/dist/es2019/plugins/undo-redo/undo-redo-input-source.js +0 -17
- package/dist/es2019/types/get-editor-props.js +0 -1
- package/dist/es2019/utils/get-editor-plugins.js +0 -23
- package/dist/es2019/utils/insert.js +0 -244
- package/dist/es2019/utils/sendLogs.js +0 -1
- package/dist/esm/analytics-api/api.js +0 -25
- package/dist/esm/analytics-api/attach-payload-into-transaction.js +0 -29
- package/dist/esm/analytics-api/editor-state-context.js +0 -69
- package/dist/esm/analytics-api/map-attributes.js +0 -16
- package/dist/esm/insert-api/api.js +0 -36
- package/dist/esm/insert-api/insert-content-handlers.js +0 -86
- package/dist/esm/insert-api/insert-node-helpers.js +0 -123
- package/dist/esm/insert-api/types.js +0 -1
- package/dist/esm/plugins/floating-toolbar/ui/Button.js +0 -85
- package/dist/esm/plugins/hyperlink/analytics.js +0 -17
- package/dist/esm/plugins/hyperlink/utils.js +0 -168
- package/dist/esm/plugins/paste/md-plugins/ignore-list-heading-md-plugin.js +0 -41
- package/dist/esm/plugins/paste/md-plugins/linkify-md-plugin.js +0 -128
- package/dist/esm/plugins/paste/md-plugins/newline-md-plugin.js +0 -60
- package/dist/esm/plugins/paste/md-plugins/paragraph-md-plugin.js +0 -66
- package/dist/esm/plugins/paste/md.js +0 -23
- package/dist/esm/plugins/undo-redo/undo-redo-input-source.js +0 -18
- package/dist/esm/types/get-editor-props.js +0 -1
- package/dist/esm/utils/get-editor-plugins.js +0 -23
- package/dist/esm/utils/insert.js +0 -241
- package/dist/esm/utils/sendLogs.js +0 -1
- package/dist/types/analytics-api/api.d.ts +0 -9
- package/dist/types/analytics-api/attach-payload-into-transaction.d.ts +0 -10
- package/dist/types/analytics-api/editor-state-context.d.ts +0 -9
- package/dist/types/analytics-api/map-attributes.d.ts +0 -2
- package/dist/types/insert-api/api.d.ts +0 -9
- package/dist/types/insert-api/insert-content-handlers.d.ts +0 -9
- package/dist/types/insert-api/insert-node-helpers.d.ts +0 -30
- package/dist/types/insert-api/types.d.ts +0 -16
- package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +0 -30
- package/dist/types/plugins/hyperlink/analytics.d.ts +0 -2
- package/dist/types/plugins/hyperlink/utils.d.ts +0 -25
- package/dist/types/plugins/paste/md-plugins/ignore-list-heading-md-plugin.d.ts +0 -2
- package/dist/types/plugins/paste/md-plugins/linkify-md-plugin.d.ts +0 -2
- package/dist/types/plugins/paste/md-plugins/newline-md-plugin.d.ts +0 -2
- package/dist/types/plugins/paste/md-plugins/paragraph-md-plugin.d.ts +0 -2
- package/dist/types/plugins/paste/md.d.ts +0 -2
- package/dist/types/plugins/undo-redo/undo-redo-input-source.d.ts +0 -3
- package/dist/types/types/get-editor-props.d.ts +0 -12
- package/dist/types/utils/get-editor-plugins.d.ts +0 -10
- package/dist/types/utils/insert.d.ts +0 -24
- package/dist/types/utils/sendLogs.d.ts +0 -1
- package/dist/types-ts4.5/analytics-api/api.d.ts +0 -9
- package/dist/types-ts4.5/analytics-api/attach-payload-into-transaction.d.ts +0 -10
- package/dist/types-ts4.5/analytics-api/editor-state-context.d.ts +0 -9
- package/dist/types-ts4.5/analytics-api/map-attributes.d.ts +0 -2
- package/dist/types-ts4.5/insert-api/api.d.ts +0 -9
- package/dist/types-ts4.5/insert-api/insert-content-handlers.d.ts +0 -9
- package/dist/types-ts4.5/insert-api/insert-node-helpers.d.ts +0 -30
- package/dist/types-ts4.5/insert-api/types.d.ts +0 -16
- package/dist/types-ts4.5/plugins/floating-toolbar/ui/Button.d.ts +0 -30
- package/dist/types-ts4.5/plugins/hyperlink/analytics.d.ts +0 -2
- package/dist/types-ts4.5/plugins/hyperlink/utils.d.ts +0 -25
- package/dist/types-ts4.5/plugins/paste/md-plugins/ignore-list-heading-md-plugin.d.ts +0 -2
- package/dist/types-ts4.5/plugins/paste/md-plugins/linkify-md-plugin.d.ts +0 -2
- package/dist/types-ts4.5/plugins/paste/md-plugins/newline-md-plugin.d.ts +0 -2
- package/dist/types-ts4.5/plugins/paste/md-plugins/paragraph-md-plugin.d.ts +0 -2
- package/dist/types-ts4.5/plugins/paste/md.d.ts +0 -2
- package/dist/types-ts4.5/plugins/undo-redo/undo-redo-input-source.d.ts +0 -3
- package/dist/types-ts4.5/types/get-editor-props.d.ts +0 -12
- package/dist/types-ts4.5/utils/get-editor-plugins.d.ts +0 -10
- package/dist/types-ts4.5/utils/insert.d.ts +0 -24
- package/dist/types-ts4.5/utils/sendLogs.d.ts +0 -1
|
@@ -2,16 +2,16 @@ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
|
2
2
|
import { findParentNodeOfType } from 'prosemirror-utils';
|
|
3
3
|
import { pluginKey } from './plugin-key';
|
|
4
4
|
import captionNodeView from './../nodeviews';
|
|
5
|
-
import {
|
|
6
|
-
const
|
|
7
|
-
|
|
5
|
+
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
6
|
+
const fireAnalytics = (tr, action, analyticsApi) => {
|
|
7
|
+
analyticsApi === null || analyticsApi === void 0 ? void 0 : analyticsApi.attachAnalyticsEvent({
|
|
8
8
|
action,
|
|
9
9
|
eventType: EVENT_TYPE.TRACK,
|
|
10
10
|
actionSubject: ACTION_SUBJECT.MEDIA_SINGLE,
|
|
11
11
|
actionSubjectId: ACTION_SUBJECT_ID.CAPTION
|
|
12
|
-
});
|
|
12
|
+
})(tr);
|
|
13
13
|
};
|
|
14
|
-
export default ((portalProviderAPI, eventDispatcher, providerFactory, dispatch) => {
|
|
14
|
+
export default ((portalProviderAPI, eventDispatcher, providerFactory, dispatch, analyticsApi) => {
|
|
15
15
|
return new SafePlugin({
|
|
16
16
|
appendTransaction(transactions, oldState, newState) {
|
|
17
17
|
// only run for transactions that change selection
|
|
@@ -30,10 +30,11 @@ export default ((portalProviderAPI, eventDispatcher, providerFactory, dispatch)
|
|
|
30
30
|
if (oldSelectionCaption.node.childCount === 0) {
|
|
31
31
|
tr.delete(oldSelectionCaption.start - 1, oldSelectionCaption.start);
|
|
32
32
|
tr.setMeta('scrollIntoView', false);
|
|
33
|
-
|
|
33
|
+
fireAnalytics(tr, ACTION.DELETED, analyticsApi);
|
|
34
34
|
return tr;
|
|
35
35
|
} else {
|
|
36
|
-
|
|
36
|
+
fireAnalytics(tr, ACTION.EDITED, analyticsApi);
|
|
37
|
+
return tr;
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
},
|
|
@@ -42,7 +42,7 @@ const cardPlugin = (options, api) => {
|
|
|
42
42
|
useAlternativePreloader,
|
|
43
43
|
allowWrapping,
|
|
44
44
|
allowAlignment
|
|
45
|
-
})
|
|
45
|
+
}, api)
|
|
46
46
|
}];
|
|
47
47
|
plugins.push({
|
|
48
48
|
name: 'cardKeymap',
|
|
@@ -67,7 +67,7 @@ const cardPlugin = (options, api) => {
|
|
|
67
67
|
}));
|
|
68
68
|
},
|
|
69
69
|
pluginsOptions: {
|
|
70
|
-
floatingToolbar: floatingToolbar(options, featureFlags, options.platform, options.linkPicker)
|
|
70
|
+
floatingToolbar: floatingToolbar(options, featureFlags, options.platform, options.linkPicker, api)
|
|
71
71
|
}
|
|
72
72
|
};
|
|
73
73
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Card as SmartCard, EmbedResizeMessageListener } from '@atlaskit/smart-card';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
@@ -10,11 +10,78 @@ import { DEFAULT_EMBED_CARD_HEIGHT, DEFAULT_EMBED_CARD_WIDTH } from '@atlaskit/e
|
|
|
10
10
|
import { SelectionBasedNodeView } from '../../../nodeviews/';
|
|
11
11
|
import { registerCard } from '../pm-plugins/actions';
|
|
12
12
|
import ResizableEmbedCard from '../ui/ResizableEmbedCard';
|
|
13
|
-
import { createDisplayGrid } from '../../../plugins/grid';
|
|
14
|
-
import WithPluginState from '../../../ui/WithPluginState';
|
|
15
|
-
import { pluginKey as widthPluginKey } from '../../width';
|
|
16
13
|
import { floatingLayouts, isRichMediaInsideOfBlockNode } from '../../../utils/rich-media-utils';
|
|
17
14
|
import { SetAttrsStep } from '@atlaskit/adf-schema/steps';
|
|
15
|
+
import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
|
|
16
|
+
const CardInner = ({
|
|
17
|
+
pluginInjectionApi,
|
|
18
|
+
getPosSafely,
|
|
19
|
+
getLineLength,
|
|
20
|
+
view,
|
|
21
|
+
smartCard,
|
|
22
|
+
eventDispatcher,
|
|
23
|
+
updateSize,
|
|
24
|
+
getPos,
|
|
25
|
+
aspectRatio,
|
|
26
|
+
allowResizing,
|
|
27
|
+
hasPreview,
|
|
28
|
+
heightAlone,
|
|
29
|
+
cardProps,
|
|
30
|
+
dispatchAnalyticsEvent
|
|
31
|
+
}) => {
|
|
32
|
+
const {
|
|
33
|
+
widthState
|
|
34
|
+
} = useSharedPluginState(pluginInjectionApi, ['width']);
|
|
35
|
+
const widthStateLineLength = (widthState === null || widthState === void 0 ? void 0 : widthState.lineLength) || 0;
|
|
36
|
+
const widthStateWidth = (widthState === null || widthState === void 0 ? void 0 : widthState.width) || 0;
|
|
37
|
+
const pos = getPosSafely();
|
|
38
|
+
if (pos === undefined) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const lineLength = getLineLength(view, pos, widthStateLineLength);
|
|
42
|
+
const containerWidth = isRichMediaInsideOfBlockNode(view, pos) ? lineLength : widthStateWidth;
|
|
43
|
+
if (!allowResizing || !hasPreview) {
|
|
44
|
+
// There are two ways `width` and `height` can be defined here:
|
|
45
|
+
// 1) Either as `heightAlone` as height value and no width
|
|
46
|
+
// 2) or as `1` for height and aspectRation (defined or a default one) as a width
|
|
47
|
+
// See above for how aspectRation is calculated.
|
|
48
|
+
const defaultAspectRatio = DEFAULT_EMBED_CARD_WIDTH / DEFAULT_EMBED_CARD_HEIGHT;
|
|
49
|
+
let richMediaWrapperHeight = 1;
|
|
50
|
+
let richMediaWrapperWidth = aspectRatio || defaultAspectRatio;
|
|
51
|
+
if (heightAlone) {
|
|
52
|
+
richMediaWrapperHeight = heightAlone;
|
|
53
|
+
richMediaWrapperWidth = undefined;
|
|
54
|
+
}
|
|
55
|
+
return /*#__PURE__*/React.createElement(RichMediaWrapper, _extends({}, cardProps, {
|
|
56
|
+
height: richMediaWrapperHeight,
|
|
57
|
+
width: richMediaWrapperWidth,
|
|
58
|
+
nodeType: "embedCard",
|
|
59
|
+
hasFallbackContainer: hasPreview,
|
|
60
|
+
lineLength: lineLength,
|
|
61
|
+
containerWidth: containerWidth
|
|
62
|
+
}), smartCard);
|
|
63
|
+
}
|
|
64
|
+
const displayGrid = (visible, gridType, highlight) => {
|
|
65
|
+
var _pluginInjectionApi$d, _pluginInjectionApi$d2;
|
|
66
|
+
return pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d === void 0 ? void 0 : (_pluginInjectionApi$d2 = _pluginInjectionApi$d.grid) === null || _pluginInjectionApi$d2 === void 0 ? void 0 : _pluginInjectionApi$d2.actions.displayGrid(view)({
|
|
67
|
+
visible,
|
|
68
|
+
gridType,
|
|
69
|
+
highlight: highlight
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
return /*#__PURE__*/React.createElement(ResizableEmbedCard, _extends({}, cardProps, {
|
|
73
|
+
height: heightAlone,
|
|
74
|
+
aspectRatio: aspectRatio,
|
|
75
|
+
view: view,
|
|
76
|
+
getPos: getPos,
|
|
77
|
+
lineLength: lineLength,
|
|
78
|
+
gridSize: 12,
|
|
79
|
+
containerWidth: containerWidth,
|
|
80
|
+
displayGrid: displayGrid,
|
|
81
|
+
updateSize: updateSize,
|
|
82
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent
|
|
83
|
+
}), smartCard);
|
|
84
|
+
};
|
|
18
85
|
export class EmbedCardComponent extends React.PureComponent {
|
|
19
86
|
constructor(...args) {
|
|
20
87
|
super(...args);
|
|
@@ -178,7 +245,8 @@ export class EmbedCardComponent extends React.PureComponent {
|
|
|
178
245
|
fullWidthMode,
|
|
179
246
|
view,
|
|
180
247
|
dispatchAnalyticsEvent,
|
|
181
|
-
getPos
|
|
248
|
+
getPos,
|
|
249
|
+
pluginInjectionApi
|
|
182
250
|
} = this.props;
|
|
183
251
|
let {
|
|
184
252
|
url,
|
|
@@ -208,72 +276,37 @@ export class EmbedCardComponent extends React.PureComponent {
|
|
|
208
276
|
pctWidth,
|
|
209
277
|
fullWidthMode
|
|
210
278
|
};
|
|
279
|
+
const smartCard = /*#__PURE__*/React.createElement(SmartCard, {
|
|
280
|
+
key: url,
|
|
281
|
+
url: url,
|
|
282
|
+
appearance: "embed",
|
|
283
|
+
onClick: this.onClick,
|
|
284
|
+
onResolve: this.onResolve,
|
|
285
|
+
showActions: platform === 'web',
|
|
286
|
+
isFrameVisible: true,
|
|
287
|
+
inheritDimensions: true,
|
|
288
|
+
platform: platform,
|
|
289
|
+
container: this.scrollContainer,
|
|
290
|
+
embedIframeRef: this.embedIframeRef
|
|
291
|
+
});
|
|
211
292
|
const cardInner = /*#__PURE__*/React.createElement(EmbedResizeMessageListener, {
|
|
212
293
|
embedIframeRef: this.embedIframeRef,
|
|
213
294
|
onHeightUpdate: this.onHeightUpdate
|
|
214
|
-
}, /*#__PURE__*/React.createElement(
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
const containerWidth = isRichMediaInsideOfBlockNode(view, pos) ? lineLength : widthStateWidth;
|
|
230
|
-
const smartCard = /*#__PURE__*/React.createElement(SmartCard, {
|
|
231
|
-
key: url,
|
|
232
|
-
url: url,
|
|
233
|
-
appearance: "embed",
|
|
234
|
-
onClick: this.onClick,
|
|
235
|
-
onResolve: this.onResolve,
|
|
236
|
-
showActions: platform === 'web',
|
|
237
|
-
isFrameVisible: true,
|
|
238
|
-
inheritDimensions: true,
|
|
239
|
-
platform: platform,
|
|
240
|
-
container: this.scrollContainer,
|
|
241
|
-
embedIframeRef: this.embedIframeRef
|
|
242
|
-
});
|
|
243
|
-
if (!allowResizing || !hasPreview) {
|
|
244
|
-
// There are two ways `width` and `height` can be defined here:
|
|
245
|
-
// 1) Either as `heightAlone` as height value and no width
|
|
246
|
-
// 2) or as `1` for height and aspectRation (defined or a default one) as a width
|
|
247
|
-
// See above for how aspectRation is calculated.
|
|
248
|
-
const defaultAspectRatio = DEFAULT_EMBED_CARD_WIDTH / DEFAULT_EMBED_CARD_HEIGHT;
|
|
249
|
-
let richMediaWrapperHeight = 1;
|
|
250
|
-
let richMediaWrapperWidth = aspectRatio || defaultAspectRatio;
|
|
251
|
-
if (heightAlone) {
|
|
252
|
-
richMediaWrapperHeight = heightAlone;
|
|
253
|
-
richMediaWrapperWidth = undefined;
|
|
254
|
-
}
|
|
255
|
-
return /*#__PURE__*/React.createElement(RichMediaWrapper, _extends({}, cardProps, {
|
|
256
|
-
height: richMediaWrapperHeight,
|
|
257
|
-
width: richMediaWrapperWidth,
|
|
258
|
-
nodeType: "embedCard",
|
|
259
|
-
hasFallbackContainer: hasPreview,
|
|
260
|
-
lineLength: lineLength,
|
|
261
|
-
containerWidth: containerWidth
|
|
262
|
-
}), smartCard);
|
|
263
|
-
}
|
|
264
|
-
return /*#__PURE__*/React.createElement(ResizableEmbedCard, _extends({}, cardProps, {
|
|
265
|
-
height: heightAlone,
|
|
266
|
-
aspectRatio: aspectRatio,
|
|
267
|
-
view: this.props.view,
|
|
268
|
-
getPos: getPos,
|
|
269
|
-
lineLength: lineLength,
|
|
270
|
-
gridSize: 12,
|
|
271
|
-
containerWidth: containerWidth,
|
|
272
|
-
displayGrid: createDisplayGrid(this.props.eventDispatcher),
|
|
273
|
-
updateSize: this.updateSize,
|
|
274
|
-
dispatchAnalyticsEvent: dispatchAnalyticsEvent
|
|
275
|
-
}), smartCard);
|
|
276
|
-
}
|
|
295
|
+
}, /*#__PURE__*/React.createElement(CardInner, {
|
|
296
|
+
pluginInjectionApi: pluginInjectionApi,
|
|
297
|
+
smartCard: smartCard,
|
|
298
|
+
hasPreview: hasPreview,
|
|
299
|
+
getPosSafely: this.getPosSafely,
|
|
300
|
+
view: view,
|
|
301
|
+
getLineLength: this.getLineLength,
|
|
302
|
+
eventDispatcher: this.props.eventDispatcher,
|
|
303
|
+
updateSize: this.updateSize,
|
|
304
|
+
getPos: getPos,
|
|
305
|
+
aspectRatio: aspectRatio,
|
|
306
|
+
allowResizing: allowResizing,
|
|
307
|
+
heightAlone: heightAlone,
|
|
308
|
+
cardProps: cardProps,
|
|
309
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent
|
|
277
310
|
}));
|
|
278
311
|
|
|
279
312
|
// [WS-2307]: we only render card wrapped into a Provider when the value is ready
|
|
@@ -309,7 +342,8 @@ export class EmbedCard extends SelectionBasedNodeView {
|
|
|
309
342
|
allowResizing,
|
|
310
343
|
platform,
|
|
311
344
|
fullWidthMode,
|
|
312
|
-
dispatchAnalyticsEvent
|
|
345
|
+
dispatchAnalyticsEvent,
|
|
346
|
+
pluginInjectionApi
|
|
313
347
|
} = this.reactComponentProps;
|
|
314
348
|
return /*#__PURE__*/React.createElement(WrappedBlockCard, {
|
|
315
349
|
node: this.node,
|
|
@@ -319,7 +353,8 @@ export class EmbedCard extends SelectionBasedNodeView {
|
|
|
319
353
|
allowResizing: allowResizing,
|
|
320
354
|
platform: platform,
|
|
321
355
|
fullWidthMode: fullWidthMode,
|
|
322
|
-
dispatchAnalyticsEvent: dispatchAnalyticsEvent
|
|
356
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
357
|
+
pluginInjectionApi: pluginInjectionApi
|
|
323
358
|
});
|
|
324
359
|
}
|
|
325
360
|
}
|
|
@@ -67,7 +67,8 @@ export function Card(SmartCardComponent, UnsupportedComponent) {
|
|
|
67
67
|
const {
|
|
68
68
|
view,
|
|
69
69
|
node,
|
|
70
|
-
getPos
|
|
70
|
+
getPos,
|
|
71
|
+
pluginInjectionApi
|
|
71
72
|
} = this.props;
|
|
72
73
|
const {
|
|
73
74
|
url
|
|
@@ -75,7 +76,7 @@ export function Card(SmartCardComponent, UnsupportedComponent) {
|
|
|
75
76
|
if (!getPos || typeof getPos === 'boolean') {
|
|
76
77
|
return;
|
|
77
78
|
}
|
|
78
|
-
changeSelectedCardToLinkFallback(undefined, url, true, node, getPos())(view.state, view.dispatch);
|
|
79
|
+
changeSelectedCardToLinkFallback(undefined, url, true, node, getPos(), pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.dependencies.analytics.actions)(view.state, view.dispatch);
|
|
79
80
|
return null;
|
|
80
81
|
} else {
|
|
81
82
|
// Otherwise, render a blue link as fallback (above in render()).
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { AddMarkStep, RemoveMarkStep } from 'prosemirror-transform';
|
|
2
2
|
import { ACTION } from '@atlaskit/editor-common/analytics';
|
|
3
|
-
import { isLinkMark } from '@atlaskit/editor-common/utils';
|
|
3
|
+
import { isLinkMark, pmHistoryPluginKey } from '@atlaskit/editor-common/utils';
|
|
4
4
|
import { getLinkMetadataFromTransaction } from '@atlaskit/editor-common/card';
|
|
5
5
|
import { LinkMetaStep } from '@atlaskit/adf-schema/steps';
|
|
6
|
-
import { pmHistoryPluginKey } from '../../../history/pm-history-types';
|
|
7
6
|
import { getPluginState } from '../util/state';
|
|
8
7
|
import { pluginKey } from '../plugin-key';
|
|
9
|
-
import { isLink, linkObjectFromNode, getLinkUrl, appearanceForLink, findLinksAtPositions } from './utils';
|
|
10
|
-
const findLinksInNodeRange = (
|
|
8
|
+
import { isLink, linkObjectFromNode, getLinkUrl, getLinkNodeContext, appearanceForLink, findLinksAtPositions, areSameLinks } from './utils';
|
|
9
|
+
const findLinksInNodeRange = (doc, schema, from, to) => {
|
|
11
10
|
const links = [];
|
|
12
|
-
|
|
11
|
+
doc.nodesBetween(from, to, (node, pos) => {
|
|
13
12
|
if (isLink(schema, node)) {
|
|
14
13
|
const entireLinkInRange = pos >= from && pos + node.nodeSize <= to;
|
|
15
14
|
if (entireLinkInRange) {
|
|
16
|
-
const link = linkObjectFromNode(schema, node, pos);
|
|
15
|
+
const link = linkObjectFromNode(doc, schema, node, pos);
|
|
17
16
|
if (link) {
|
|
18
17
|
links.push(link);
|
|
19
18
|
}
|
|
@@ -36,10 +35,13 @@ export const findChangedLinks = (tr, state) => {
|
|
|
36
35
|
const isRedo = isHistoryMeta(historyMeta) && historyMeta.redo === true;
|
|
37
36
|
const isUpdate = isUpdateTr(tr, isUndo || isRedo);
|
|
38
37
|
for (let i = 0; i < tr.steps.length; i++) {
|
|
38
|
+
var _tr$docs$i, _tr$docs;
|
|
39
39
|
const step = tr.steps[i];
|
|
40
40
|
const stepMap = step.getMap();
|
|
41
41
|
const removedInStep = [];
|
|
42
42
|
const insertedInStep = [];
|
|
43
|
+
const before = (_tr$docs$i = tr.docs[i]) !== null && _tr$docs$i !== void 0 ? _tr$docs$i : tr.before;
|
|
44
|
+
const after = (_tr$docs = tr.docs[i + 1]) !== null && _tr$docs !== void 0 ? _tr$docs : tr.doc;
|
|
43
45
|
|
|
44
46
|
/**
|
|
45
47
|
* AddMarkStep and RemoveMarkSteps don't produce stepMap ranges
|
|
@@ -55,27 +57,26 @@ export const findChangedLinks = (tr, state) => {
|
|
|
55
57
|
insertedInStep.push({
|
|
56
58
|
type: 'mark',
|
|
57
59
|
pos: addMarkStep.from,
|
|
58
|
-
mark: addMarkStep.mark
|
|
60
|
+
mark: addMarkStep.mark,
|
|
61
|
+
nodeContext: getLinkNodeContext(after, addMarkStep.from)
|
|
59
62
|
});
|
|
60
63
|
}
|
|
61
64
|
}
|
|
62
65
|
if (step instanceof RemoveMarkStep) {
|
|
63
66
|
const removeMarkStep = step;
|
|
64
67
|
if (isLinkMark(removeMarkStep.mark, schema)) {
|
|
65
|
-
/**
|
|
66
|
-
* For url text pasted on plain text
|
|
67
|
-
*/
|
|
68
68
|
removedInStep.push({
|
|
69
69
|
type: 'mark',
|
|
70
70
|
pos: removeMarkStep.from,
|
|
71
|
-
mark: removeMarkStep.mark
|
|
71
|
+
mark: removeMarkStep.mark,
|
|
72
|
+
nodeContext: getLinkNodeContext(before, removeMarkStep.from)
|
|
72
73
|
});
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
stepMap.forEach((oldStart, oldEnd, newStart, newEnd) => {
|
|
76
|
-
var _tr$
|
|
77
|
+
var _tr$docs2;
|
|
77
78
|
const before = tr.docs[i];
|
|
78
|
-
const after = (_tr$
|
|
79
|
+
const after = (_tr$docs2 = tr.docs[i + 1]) !== null && _tr$docs2 !== void 0 ? _tr$docs2 : tr.doc;
|
|
79
80
|
const removedInRange = [];
|
|
80
81
|
const insertedInRange = [];
|
|
81
82
|
|
|
@@ -119,6 +120,20 @@ export const findChangedLinks = (tr, state) => {
|
|
|
119
120
|
inserted.push(...findLinksAtPositions(tr, positions));
|
|
120
121
|
}
|
|
121
122
|
if (!isUpdate) {
|
|
123
|
+
const {
|
|
124
|
+
inputMethod
|
|
125
|
+
} = getLinkMetadataFromTransaction(tr);
|
|
126
|
+
/**
|
|
127
|
+
* If there is no identifiable input method, and the links inserted and removed appear to be the same,
|
|
128
|
+
* then this transaction likely is not intended to be consided to be the insertion and removal of links
|
|
129
|
+
*/
|
|
130
|
+
if (!inputMethod && areSameLinks(removed, inserted)) {
|
|
131
|
+
return {
|
|
132
|
+
removed: [],
|
|
133
|
+
inserted: [],
|
|
134
|
+
updated
|
|
135
|
+
};
|
|
136
|
+
}
|
|
122
137
|
return {
|
|
123
138
|
removed,
|
|
124
139
|
inserted,
|
|
@@ -265,7 +280,7 @@ export function eventsFromTransaction(tr, state) {
|
|
|
265
280
|
inserted,
|
|
266
281
|
updated
|
|
267
282
|
} = findChangedLinks(tr, state);
|
|
268
|
-
const MAX_LINK_EVENTS =
|
|
283
|
+
const MAX_LINK_EVENTS = 50;
|
|
269
284
|
if ([removed, inserted, updated].some(arr => arr.length > MAX_LINK_EVENTS)) {
|
|
270
285
|
return [];
|
|
271
286
|
}
|
|
@@ -285,7 +300,8 @@ export function eventsFromTransaction(tr, state) {
|
|
|
285
300
|
...contextualData,
|
|
286
301
|
url,
|
|
287
302
|
display,
|
|
288
|
-
previousDisplay
|
|
303
|
+
previousDisplay,
|
|
304
|
+
nodeContext: link.nodeContext
|
|
289
305
|
}
|
|
290
306
|
});
|
|
291
307
|
}
|
|
@@ -301,7 +317,8 @@ export function eventsFromTransaction(tr, state) {
|
|
|
301
317
|
data: {
|
|
302
318
|
...contextualData,
|
|
303
319
|
url,
|
|
304
|
-
display
|
|
320
|
+
display,
|
|
321
|
+
nodeContext: link.nodeContext
|
|
305
322
|
}
|
|
306
323
|
});
|
|
307
324
|
}
|
|
@@ -48,15 +48,18 @@ export const isLink = (schema, node) => {
|
|
|
48
48
|
* @param fragment Fragment to search
|
|
49
49
|
* @returns Array of nodes and marks found in the fragment that are "links"
|
|
50
50
|
*/
|
|
51
|
-
export function findLinksInNode(schema, node, offset) {
|
|
51
|
+
export function findLinksInNode(doc, schema, node, offset) {
|
|
52
52
|
const links = [];
|
|
53
53
|
node.descendants((node, pos) => {
|
|
54
|
+
const nodeContext = getLinkNodeContext(doc, pos);
|
|
55
|
+
|
|
54
56
|
// Nodes
|
|
55
57
|
if (isLinkNode(node)) {
|
|
56
58
|
links.push({
|
|
57
59
|
type: 'node',
|
|
58
60
|
pos: pos + offset,
|
|
59
|
-
node
|
|
61
|
+
node,
|
|
62
|
+
nodeContext
|
|
60
63
|
});
|
|
61
64
|
}
|
|
62
65
|
|
|
@@ -68,7 +71,8 @@ export function findLinksInNode(schema, node, offset) {
|
|
|
68
71
|
links.push({
|
|
69
72
|
type: 'mark',
|
|
70
73
|
pos: pos + offset,
|
|
71
|
-
mark
|
|
74
|
+
mark,
|
|
75
|
+
nodeContext
|
|
72
76
|
});
|
|
73
77
|
}
|
|
74
78
|
}
|
|
@@ -84,12 +88,25 @@ export function getLinkUrl(link) {
|
|
|
84
88
|
}
|
|
85
89
|
return (_link$mark$attrs = link.mark.attrs) === null || _link$mark$attrs === void 0 ? void 0 : _link$mark$attrs.href;
|
|
86
90
|
}
|
|
87
|
-
export const
|
|
91
|
+
export const getLinkNodeContext = (doc, pos) => {
|
|
92
|
+
const $pos = doc.resolve(pos);
|
|
93
|
+
const maxDepth = 3;
|
|
94
|
+
for (let i = 0; i <= maxDepth; i++) {
|
|
95
|
+
const node = $pos.node($pos.depth - i);
|
|
96
|
+
if (node && node.type.name !== 'paragraph') {
|
|
97
|
+
return node.type.name;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return 'unknown';
|
|
101
|
+
};
|
|
102
|
+
export const linkObjectFromNode = (doc, schema, node, pos) => {
|
|
103
|
+
const nodeContext = getLinkNodeContext(doc, pos);
|
|
88
104
|
if (isLinkNode(node)) {
|
|
89
105
|
return {
|
|
90
106
|
type: 'node',
|
|
91
107
|
pos,
|
|
92
|
-
node
|
|
108
|
+
node,
|
|
109
|
+
nodeContext
|
|
93
110
|
};
|
|
94
111
|
}
|
|
95
112
|
if (node.marks) {
|
|
@@ -99,7 +116,8 @@ export const linkObjectFromNode = (schema, node, pos) => {
|
|
|
99
116
|
return {
|
|
100
117
|
type: 'mark',
|
|
101
118
|
pos,
|
|
102
|
-
mark
|
|
119
|
+
mark,
|
|
120
|
+
nodeContext
|
|
103
121
|
};
|
|
104
122
|
}
|
|
105
123
|
}
|
|
@@ -114,11 +132,29 @@ export const findLinksAtPositions = (tr, positions) => {
|
|
|
114
132
|
if (!node) {
|
|
115
133
|
continue;
|
|
116
134
|
}
|
|
117
|
-
const link = linkObjectFromNode(schema, node, pos);
|
|
135
|
+
const link = linkObjectFromNode(tr.doc, schema, node, pos);
|
|
118
136
|
if (!link) {
|
|
119
137
|
continue;
|
|
120
138
|
}
|
|
121
139
|
links.push(link);
|
|
122
140
|
}
|
|
123
141
|
return links;
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Returns whether or not two sets of links appear to likely be the same set of links
|
|
146
|
+
* That they are in the same order and that both their hrefs and appearances match
|
|
147
|
+
*/
|
|
148
|
+
export const areSameLinks = (linksA, linksB) => {
|
|
149
|
+
if (linksA.length !== linksB.length) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
for (let i = 0; i < linksA.length; i++) {
|
|
153
|
+
const linkA = linksA[i];
|
|
154
|
+
const linkB = linksB[i];
|
|
155
|
+
if (getLinkUrl(linkA) !== getLinkUrl(linkB) || appearanceForLink(linkA) !== appearanceForLink(linkB)) {
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return true;
|
|
124
160
|
};
|
|
@@ -2,12 +2,11 @@ import { NodeSelection, TextSelection } from 'prosemirror-state';
|
|
|
2
2
|
import { closeHistory } from 'prosemirror-history';
|
|
3
3
|
import { isSafeUrl } from '@atlaskit/adf-schema';
|
|
4
4
|
import { addLinkMetadata } from '@atlaskit/editor-common/card';
|
|
5
|
-
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID,
|
|
5
|
+
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
|
|
6
6
|
import { SMART_LINK_TYPE } from '../../../plugins/analytics/types/node-events';
|
|
7
|
-
import { getLinkCreationAnalyticsEvent } from '../../../plugins/hyperlink/analytics';
|
|
8
7
|
import { nodesBetweenChanged, processRawValue } from '../../../utils';
|
|
9
8
|
import { unlinkPayload } from '../../../utils/linking-utils';
|
|
10
|
-
import { isFromCurrentDomain } from '
|
|
9
|
+
import { isFromCurrentDomain, getLinkCreationAnalyticsEvent } from '@atlaskit/editor-common/utils';
|
|
11
10
|
import { appearanceForNodeType, selectedCardAppearance } from '../utils';
|
|
12
11
|
import { queueCards, resolveCard } from './actions';
|
|
13
12
|
import { pluginKey } from './plugin-key';
|
|
@@ -47,7 +46,7 @@ function replaceLinksToCards(tr, cardAdf, schema, request) {
|
|
|
47
46
|
tr.replaceWith(pos, pos + (node.text || url).length, nodes);
|
|
48
47
|
return $pos.node($pos.depth - 1).type.name;
|
|
49
48
|
}
|
|
50
|
-
export const replaceQueuedUrlWithCard = (url, cardData, analyticsAction) => (editorState, dispatch) => {
|
|
49
|
+
export const replaceQueuedUrlWithCard = (url, cardData, analyticsAction, editorAnalyticsApi) => (editorState, dispatch) => {
|
|
51
50
|
const state = pluginKey.getState(editorState);
|
|
52
51
|
if (!state) {
|
|
53
52
|
return false;
|
|
@@ -83,7 +82,7 @@ export const replaceQueuedUrlWithCard = (url, cardData, analyticsAction) => (edi
|
|
|
83
82
|
*/
|
|
84
83
|
const inputMethod = requests[0].source;
|
|
85
84
|
const sourceEvent = requests[0].sourceEvent;
|
|
86
|
-
|
|
85
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
|
|
87
86
|
action: analyticsAction || ACTION.INSERTED,
|
|
88
87
|
actionSubject: ACTION_SUBJECT.DOCUMENT,
|
|
89
88
|
actionSubjectId: ACTION_SUBJECT_ID.SMART_LINK,
|
|
@@ -97,7 +96,7 @@ export const replaceQueuedUrlWithCard = (url, cardData, analyticsAction) => (edi
|
|
|
97
96
|
nonPrivacySafeAttributes: {
|
|
98
97
|
domainName
|
|
99
98
|
}
|
|
100
|
-
});
|
|
99
|
+
})(tr);
|
|
101
100
|
addLinkMetadata(editorState.selection, tr, {
|
|
102
101
|
action: analyticsAction,
|
|
103
102
|
inputMethod,
|
|
@@ -111,14 +110,14 @@ export const replaceQueuedUrlWithCard = (url, cardData, analyticsAction) => (edi
|
|
|
111
110
|
}
|
|
112
111
|
return true;
|
|
113
112
|
};
|
|
114
|
-
export const handleFallbackWithAnalytics = request => (state, dispatch) => {
|
|
113
|
+
export const handleFallbackWithAnalytics = (request, editorAnalyticsApi) => (state, dispatch) => {
|
|
115
114
|
const cardState = pluginKey.getState(state);
|
|
116
115
|
if (!cardState) {
|
|
117
116
|
return false;
|
|
118
117
|
}
|
|
119
118
|
const tr = state.tr;
|
|
120
119
|
if (request.source !== INPUT_METHOD.FLOATING_TB) {
|
|
121
|
-
|
|
120
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent(getLinkCreationAnalyticsEvent(request.source, request.url))(tr);
|
|
122
121
|
}
|
|
123
122
|
addLinkMetadata(state.selection, tr, {
|
|
124
123
|
action: request.analyticsAction,
|
|
@@ -228,7 +227,7 @@ export const convertHyperlinkToSmartCard = (state, source, appearance, normalize
|
|
|
228
227
|
});
|
|
229
228
|
return queueCards(requests)(state.tr);
|
|
230
229
|
};
|
|
231
|
-
export const changeSelectedCardToLink = (text, href, sendAnalytics, node, pos) => (state, dispatch) => {
|
|
230
|
+
export const changeSelectedCardToLink = (text, href, sendAnalytics, node, pos, editorAnalyticsApi) => (state, dispatch) => {
|
|
232
231
|
let tr;
|
|
233
232
|
if (node && pos) {
|
|
234
233
|
tr = cardNodeToLinkWithTransaction(state, text, href, node, pos);
|
|
@@ -238,7 +237,7 @@ export const changeSelectedCardToLink = (text, href, sendAnalytics, node, pos) =
|
|
|
238
237
|
const selectedNode = state.selection instanceof NodeSelection && state.selection.node;
|
|
239
238
|
if (sendAnalytics) {
|
|
240
239
|
if (selectedNode) {
|
|
241
|
-
|
|
240
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
|
|
242
241
|
action: ACTION.CHANGED_TYPE,
|
|
243
242
|
actionSubject: ACTION_SUBJECT.SMART_LINK,
|
|
244
243
|
eventType: EVENT_TYPE.TRACK,
|
|
@@ -246,7 +245,7 @@ export const changeSelectedCardToLink = (text, href, sendAnalytics, node, pos) =
|
|
|
246
245
|
newType: SMART_LINK_TYPE.URL,
|
|
247
246
|
previousType: appearanceForNodeType(selectedNode.type)
|
|
248
247
|
}
|
|
249
|
-
});
|
|
248
|
+
})(tr);
|
|
250
249
|
}
|
|
251
250
|
}
|
|
252
251
|
if (dispatch) {
|
|
@@ -254,7 +253,7 @@ export const changeSelectedCardToLink = (text, href, sendAnalytics, node, pos) =
|
|
|
254
253
|
}
|
|
255
254
|
return true;
|
|
256
255
|
};
|
|
257
|
-
export const changeSelectedCardToLinkFallback = (text, href, sendAnalytics, node, pos) => (state, dispatch) => {
|
|
256
|
+
export const changeSelectedCardToLinkFallback = (text, href, sendAnalytics, node, pos, editorAnalyticsApi) => (state, dispatch) => {
|
|
258
257
|
let tr;
|
|
259
258
|
if (node && pos) {
|
|
260
259
|
tr = cardNodeToLinkWithTransaction(state, text, href, node, pos);
|
|
@@ -262,14 +261,14 @@ export const changeSelectedCardToLinkFallback = (text, href, sendAnalytics, node
|
|
|
262
261
|
tr = cardToLinkWithTransaction(state, text, href);
|
|
263
262
|
}
|
|
264
263
|
if (sendAnalytics) {
|
|
265
|
-
|
|
264
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
|
|
266
265
|
action: ACTION.ERRORED,
|
|
267
266
|
actionSubject: ACTION_SUBJECT.SMART_LINK,
|
|
268
267
|
eventType: EVENT_TYPE.OPERATIONAL,
|
|
269
268
|
attributes: {
|
|
270
269
|
error: 'Smart card falling back to link.'
|
|
271
270
|
}
|
|
272
|
-
});
|
|
271
|
+
})(tr);
|
|
273
272
|
}
|
|
274
273
|
if (dispatch) {
|
|
275
274
|
dispatch(tr.scrollIntoView());
|
|
@@ -312,7 +311,7 @@ function cardNodeToLinkWithTransaction(state, text, href, node, pos) {
|
|
|
312
311
|
href: href || url
|
|
313
312
|
})]));
|
|
314
313
|
}
|
|
315
|
-
export const changeSelectedCardToText = text => (state, dispatch) => {
|
|
314
|
+
export const changeSelectedCardToText = (text, editorAnalyticsApi) => (state, dispatch) => {
|
|
316
315
|
const selectedNode = state.selection instanceof NodeSelection && state.selection.node;
|
|
317
316
|
if (!selectedNode) {
|
|
318
317
|
return false;
|
|
@@ -322,12 +321,13 @@ export const changeSelectedCardToText = text => (state, dispatch) => {
|
|
|
322
321
|
addLinkMetadata(state.selection, tr, {
|
|
323
322
|
action: ACTION.UNLINK
|
|
324
323
|
});
|
|
325
|
-
|
|
324
|
+
tr.scrollIntoView();
|
|
325
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent(unlinkPayload(ACTION_SUBJECT_ID.CARD_INLINE))(tr);
|
|
326
326
|
dispatch(tr);
|
|
327
327
|
}
|
|
328
328
|
return true;
|
|
329
329
|
};
|
|
330
|
-
export const setSelectedCardAppearance = appearance => (state, dispatch) => {
|
|
330
|
+
export const setSelectedCardAppearance = (appearance, editorAnalyticsApi) => (state, dispatch) => {
|
|
331
331
|
var _previousNode$type;
|
|
332
332
|
const selectedNode = state.selection instanceof NodeSelection && state.selection.node;
|
|
333
333
|
if (!selectedNode) {
|
|
@@ -367,7 +367,7 @@ export const setSelectedCardAppearance = appearance => (state, dispatch) => {
|
|
|
367
367
|
if ((previousNode === null || previousNode === void 0 ? void 0 : (_previousNode$type = previousNode.type) === null || _previousNode$type === void 0 ? void 0 : _previousNode$type.name) === 'paragraph') {
|
|
368
368
|
tr.delete(previousNodePos, from);
|
|
369
369
|
}
|
|
370
|
-
|
|
370
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
|
|
371
371
|
action: ACTION.CHANGED_TYPE,
|
|
372
372
|
actionSubject: ACTION_SUBJECT.SMART_LINK,
|
|
373
373
|
eventType: EVENT_TYPE.TRACK,
|
|
@@ -375,7 +375,7 @@ export const setSelectedCardAppearance = appearance => (state, dispatch) => {
|
|
|
375
375
|
newType: appearance,
|
|
376
376
|
previousType: appearanceForNodeType(selectedNode.type)
|
|
377
377
|
}
|
|
378
|
-
});
|
|
378
|
+
})(tr);
|
|
379
379
|
addLinkMetadata(state.selection, tr, {
|
|
380
380
|
action: ACTION.CHANGED_TYPE
|
|
381
381
|
});
|