@atlaskit/editor-core 185.6.5 → 185.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cjs/plugins/card/index.js +14 -0
  3. package/dist/cjs/plugins/card/nodeviews/datasource.js +2 -4
  4. package/dist/cjs/plugins/card/pm-plugins/main.js +2 -1
  5. package/dist/cjs/plugins/card/pm-plugins/mountHyperlink.js +46 -0
  6. package/dist/cjs/plugins/card/toolbar.js +4 -5
  7. package/dist/cjs/plugins/{hyperlink → card/ui}/HyperlinkToolbarAppearance.js +5 -3
  8. package/dist/cjs/plugins/card/ui/LinkToolbarAppearance.js +24 -20
  9. package/dist/cjs/plugins/card/ui/ResizableEmbedCard.js +2 -2
  10. package/dist/cjs/plugins/card/ui/SmallerEditIcon.js +2 -2
  11. package/dist/cjs/plugins/card/utils.js +2 -30
  12. package/dist/cjs/plugins/hyperlink/Toolbar.js +18 -30
  13. package/dist/cjs/plugins/hyperlink/commands.js +7 -3
  14. package/dist/cjs/plugins/hyperlink/index.js +9 -2
  15. package/dist/cjs/plugins/hyperlink/pm-plugins/toolbar-buttons.js +41 -0
  16. package/dist/cjs/plugins/hyperlink/ui/EditorLinkPicker/index.js +6 -3
  17. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +8 -4
  18. package/dist/cjs/plugins/media/toolbar/index.js +3 -3
  19. package/dist/cjs/plugins/media/utils/media-common.js +1 -1
  20. package/dist/cjs/plugins/paste/handlers.js +12 -12
  21. package/dist/cjs/plugins/paste/index.js +1 -1
  22. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +12 -8
  23. package/dist/cjs/plugins/paste/pm-plugins/main.js +18 -17
  24. package/dist/cjs/plugins/paste/util/index.js +29 -2
  25. package/dist/cjs/ui/ContentStyles/index.js +2 -4
  26. package/dist/cjs/version-wrapper.js +1 -1
  27. package/dist/cjs/version.json +1 -1
  28. package/dist/es2019/plugins/card/index.js +12 -0
  29. package/dist/es2019/plugins/card/nodeviews/datasource.js +1 -2
  30. package/dist/es2019/plugins/card/pm-plugins/main.js +2 -1
  31. package/dist/es2019/plugins/card/pm-plugins/mountHyperlink.js +36 -0
  32. package/dist/es2019/plugins/card/toolbar.js +4 -3
  33. package/dist/es2019/plugins/{hyperlink → card/ui}/HyperlinkToolbarAppearance.js +5 -3
  34. package/dist/es2019/plugins/card/ui/LinkToolbarAppearance.js +12 -13
  35. package/dist/es2019/plugins/card/ui/ResizableEmbedCard.js +1 -1
  36. package/dist/es2019/plugins/card/ui/SmallerEditIcon.js +1 -1
  37. package/dist/es2019/plugins/card/utils.js +0 -28
  38. package/dist/es2019/plugins/hyperlink/Toolbar.js +21 -30
  39. package/dist/es2019/plugins/hyperlink/commands.js +6 -3
  40. package/dist/es2019/plugins/hyperlink/index.js +9 -2
  41. package/dist/es2019/plugins/hyperlink/pm-plugins/toolbar-buttons.js +37 -0
  42. package/dist/es2019/plugins/hyperlink/ui/EditorLinkPicker/index.js +11 -4
  43. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +13 -5
  44. package/dist/es2019/plugins/media/toolbar/index.js +1 -1
  45. package/dist/es2019/plugins/media/utils/media-common.js +1 -1
  46. package/dist/es2019/plugins/paste/handlers.js +12 -13
  47. package/dist/es2019/plugins/paste/index.js +1 -1
  48. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +24 -12
  49. package/dist/es2019/plugins/paste/pm-plugins/main.js +11 -10
  50. package/dist/es2019/plugins/paste/util/index.js +28 -1
  51. package/dist/es2019/ui/ContentStyles/index.js +1 -3
  52. package/dist/es2019/version-wrapper.js +1 -1
  53. package/dist/es2019/version.json +1 -1
  54. package/dist/esm/plugins/card/index.js +14 -0
  55. package/dist/esm/plugins/card/nodeviews/datasource.js +1 -2
  56. package/dist/esm/plugins/card/pm-plugins/main.js +2 -1
  57. package/dist/esm/plugins/card/pm-plugins/mountHyperlink.js +38 -0
  58. package/dist/esm/plugins/card/toolbar.js +4 -3
  59. package/dist/esm/plugins/{hyperlink → card/ui}/HyperlinkToolbarAppearance.js +5 -3
  60. package/dist/esm/plugins/card/ui/LinkToolbarAppearance.js +14 -13
  61. package/dist/esm/plugins/card/ui/ResizableEmbedCard.js +1 -1
  62. package/dist/esm/plugins/card/ui/SmallerEditIcon.js +1 -1
  63. package/dist/esm/plugins/card/utils.js +0 -27
  64. package/dist/esm/plugins/hyperlink/Toolbar.js +19 -30
  65. package/dist/esm/plugins/hyperlink/commands.js +6 -3
  66. package/dist/esm/plugins/hyperlink/index.js +9 -2
  67. package/dist/esm/plugins/hyperlink/pm-plugins/toolbar-buttons.js +32 -0
  68. package/dist/esm/plugins/hyperlink/ui/EditorLinkPicker/index.js +7 -4
  69. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +9 -5
  70. package/dist/esm/plugins/media/toolbar/index.js +1 -1
  71. package/dist/esm/plugins/media/utils/media-common.js +1 -1
  72. package/dist/esm/plugins/paste/handlers.js +12 -13
  73. package/dist/esm/plugins/paste/index.js +1 -1
  74. package/dist/esm/plugins/paste/pm-plugins/analytics.js +12 -8
  75. package/dist/esm/plugins/paste/pm-plugins/main.js +11 -10
  76. package/dist/esm/plugins/paste/util/index.js +27 -1
  77. package/dist/esm/ui/ContentStyles/index.js +1 -3
  78. package/dist/esm/version-wrapper.js +1 -1
  79. package/dist/esm/version.json +1 -1
  80. package/dist/types/labs/next/presets/cxhtml.d.ts +6 -0
  81. package/dist/types/labs/next/presets/default.d.ts +12 -0
  82. package/dist/types/labs/next/presets/mobile.d.ts +6 -0
  83. package/dist/types/plugins/card/index.d.ts +5 -1
  84. package/dist/types/plugins/card/nodeviews/datasource.d.ts +0 -1
  85. package/dist/types/plugins/card/pm-plugins/doc.d.ts +2 -1
  86. package/dist/types/plugins/card/pm-plugins/mountHyperlink.d.ts +5 -0
  87. package/dist/types/plugins/card/pm-plugins/util/state.d.ts +1 -1
  88. package/dist/types/plugins/card/types.d.ts +2 -3
  89. package/dist/types/plugins/{hyperlink → card/ui}/HyperlinkToolbarAppearance.d.ts +2 -0
  90. package/dist/types/plugins/card/ui/LinkToolbarAppearance.d.ts +7 -5
  91. package/dist/types/plugins/card/utils.d.ts +1 -3
  92. package/dist/types/plugins/hyperlink/Toolbar.d.ts +3 -2
  93. package/dist/types/plugins/hyperlink/commands.d.ts +2 -0
  94. package/dist/types/plugins/hyperlink/index.d.ts +11 -0
  95. package/dist/types/plugins/hyperlink/pm-plugins/toolbar-buttons.d.ts +19 -0
  96. package/dist/types/plugins/paste/handlers.d.ts +6 -5
  97. package/dist/types/plugins/paste/index.d.ts +6 -2
  98. package/dist/types/plugins/paste/pm-plugins/analytics.d.ts +6 -5
  99. package/dist/types/plugins/paste/pm-plugins/main.d.ts +3 -2
  100. package/dist/types/plugins/paste/util/index.d.ts +2 -0
  101. package/dist/types-ts4.5/labs/next/presets/cxhtml.d.ts +6 -0
  102. package/dist/types-ts4.5/labs/next/presets/default.d.ts +12 -0
  103. package/dist/types-ts4.5/labs/next/presets/mobile.d.ts +6 -0
  104. package/dist/types-ts4.5/plugins/card/index.d.ts +5 -1
  105. package/dist/types-ts4.5/plugins/card/nodeviews/datasource.d.ts +0 -1
  106. package/dist/types-ts4.5/plugins/card/pm-plugins/doc.d.ts +2 -1
  107. package/dist/types-ts4.5/plugins/card/pm-plugins/mountHyperlink.d.ts +5 -0
  108. package/dist/types-ts4.5/plugins/card/pm-plugins/util/state.d.ts +1 -1
  109. package/dist/types-ts4.5/plugins/card/types.d.ts +2 -3
  110. package/dist/types-ts4.5/plugins/{hyperlink → card/ui}/HyperlinkToolbarAppearance.d.ts +2 -0
  111. package/dist/types-ts4.5/plugins/card/ui/LinkToolbarAppearance.d.ts +7 -5
  112. package/dist/types-ts4.5/plugins/card/utils.d.ts +1 -3
  113. package/dist/types-ts4.5/plugins/hyperlink/Toolbar.d.ts +3 -2
  114. package/dist/types-ts4.5/plugins/hyperlink/commands.d.ts +2 -0
  115. package/dist/types-ts4.5/plugins/hyperlink/index.d.ts +11 -0
  116. package/dist/types-ts4.5/plugins/hyperlink/pm-plugins/toolbar-buttons.d.ts +19 -0
  117. package/dist/types-ts4.5/plugins/paste/handlers.d.ts +6 -5
  118. package/dist/types-ts4.5/plugins/paste/index.d.ts +4 -2
  119. package/dist/types-ts4.5/plugins/paste/pm-plugins/analytics.d.ts +6 -5
  120. package/dist/types-ts4.5/plugins/paste/pm-plugins/main.d.ts +3 -2
  121. package/dist/types-ts4.5/plugins/paste/util/index.d.ts +2 -0
  122. package/package.json +2 -2
  123. package/dist/cjs/plugins/card/messages.js +0 -90
  124. package/dist/cjs/plugins/card/styles.js +0 -18
  125. package/dist/cjs/plugins/card/ui/LinkToolbarButtonGroup.js +0 -63
  126. package/dist/cjs/plugins/card/ui/assets/card.js +0 -30
  127. package/dist/cjs/plugins/card/ui/assets/embed.js +0 -30
  128. package/dist/cjs/plugins/card/ui/assets/inline.js +0 -30
  129. package/dist/cjs/plugins/card/ui/assets/url.js +0 -32
  130. package/dist/cjs/plugins/card/ui/link-toolbar-button-group-options.js +0 -52
  131. package/dist/cjs/plugins/card/ui/styled.js +0 -16
  132. package/dist/cjs/plugins/card/ui/types.js +0 -5
  133. package/dist/es2019/plugins/card/messages.js +0 -83
  134. package/dist/es2019/plugins/card/styles.js +0 -132
  135. package/dist/es2019/plugins/card/ui/LinkToolbarButtonGroup.js +0 -61
  136. package/dist/es2019/plugins/card/ui/assets/card.js +0 -22
  137. package/dist/es2019/plugins/card/ui/assets/embed.js +0 -22
  138. package/dist/es2019/plugins/card/ui/assets/inline.js +0 -22
  139. package/dist/es2019/plugins/card/ui/assets/url.js +0 -24
  140. package/dist/es2019/plugins/card/ui/link-toolbar-button-group-options.js +0 -45
  141. package/dist/es2019/plugins/card/ui/styled.js +0 -27
  142. package/dist/es2019/plugins/card/ui/types.js +0 -1
  143. package/dist/esm/plugins/card/messages.js +0 -83
  144. package/dist/esm/plugins/card/styles.js +0 -10
  145. package/dist/esm/plugins/card/ui/LinkToolbarButtonGroup.js +0 -56
  146. package/dist/esm/plugins/card/ui/assets/card.js +0 -22
  147. package/dist/esm/plugins/card/ui/assets/embed.js +0 -22
  148. package/dist/esm/plugins/card/ui/assets/inline.js +0 -22
  149. package/dist/esm/plugins/card/ui/assets/url.js +0 -24
  150. package/dist/esm/plugins/card/ui/link-toolbar-button-group-options.js +0 -45
  151. package/dist/esm/plugins/card/ui/styled.js +0 -6
  152. package/dist/esm/plugins/card/ui/types.js +0 -1
  153. package/dist/types/plugins/card/messages.d.ts +0 -82
  154. package/dist/types/plugins/card/styles.d.ts +0 -2
  155. package/dist/types/plugins/card/ui/LinkToolbarButtonGroup.d.ts +0 -16
  156. package/dist/types/plugins/card/ui/assets/card.d.ts +0 -3
  157. package/dist/types/plugins/card/ui/assets/embed.d.ts +0 -3
  158. package/dist/types/plugins/card/ui/assets/inline.d.ts +0 -3
  159. package/dist/types/plugins/card/ui/assets/url.d.ts +0 -3
  160. package/dist/types/plugins/card/ui/link-toolbar-button-group-options.d.ts +0 -5
  161. package/dist/types/plugins/card/ui/styled.d.ts +0 -3
  162. package/dist/types/plugins/card/ui/types.d.ts +0 -12
  163. package/dist/types-ts4.5/plugins/card/messages.d.ts +0 -82
  164. package/dist/types-ts4.5/plugins/card/styles.d.ts +0 -2
  165. package/dist/types-ts4.5/plugins/card/ui/LinkToolbarButtonGroup.d.ts +0 -16
  166. package/dist/types-ts4.5/plugins/card/ui/assets/card.d.ts +0 -3
  167. package/dist/types-ts4.5/plugins/card/ui/assets/embed.d.ts +0 -3
  168. package/dist/types-ts4.5/plugins/card/ui/assets/inline.d.ts +0 -3
  169. package/dist/types-ts4.5/plugins/card/ui/assets/url.d.ts +0 -3
  170. package/dist/types-ts4.5/plugins/card/ui/link-toolbar-button-group-options.d.ts +0 -5
  171. package/dist/types-ts4.5/plugins/card/ui/styled.d.ts +0 -3
  172. package/dist/types-ts4.5/plugins/card/ui/types.d.ts +0 -12
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
3
+ import { HyperlinkToolbarAppearance } from '../ui/HyperlinkToolbarAppearance';
4
+ export const mountHyperlinkPlugin = (pluginInjectionApi, options) => {
5
+ return new SafePlugin({
6
+ view(editorView) {
7
+ requestAnimationFrame(() => {
8
+ var _pluginInjectionApi$d, _pluginInjectionApi$d2;
9
+ pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d = pluginInjectionApi.dependencies.hyperlink) === null || _pluginInjectionApi$d === void 0 ? void 0 : (_pluginInjectionApi$d2 = _pluginInjectionApi$d.actions) === null || _pluginInjectionApi$d2 === void 0 ? void 0 : _pluginInjectionApi$d2.prependToolbarButtons({
10
+ items: (state, intl, providerFactory, link) => [{
11
+ type: 'custom',
12
+ fallback: [],
13
+ render: editorView => {
14
+ var _pluginInjectionApi$d3, _pluginInjectionApi$d4;
15
+ return /*#__PURE__*/React.createElement(HyperlinkToolbarAppearance, {
16
+ key: "link-appearance",
17
+ url: link,
18
+ intl: intl,
19
+ editorView: editorView,
20
+ editorState: state,
21
+ cardOptions: options,
22
+ providerFactory: providerFactory,
23
+ platform: options === null || options === void 0 ? void 0 : options.platform,
24
+ editorAnalyticsApi: pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d3 = pluginInjectionApi.dependencies.analytics) === null || _pluginInjectionApi$d3 === void 0 ? void 0 : _pluginInjectionApi$d3.actions,
25
+ cardActions: pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d4 = pluginInjectionApi.dependencies.card) === null || _pluginInjectionApi$d4 === void 0 ? void 0 : _pluginInjectionApi$d4.actions
26
+ });
27
+ }
28
+ }],
29
+ onEscapeCallback: pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.dependencies.card.actions.hideLinkToolbar,
30
+ view: editorView
31
+ });
32
+ });
33
+ return {};
34
+ }
35
+ });
36
+ };
@@ -15,8 +15,8 @@ import { editDatasource, buildEditLinkToolbar, editLink, editLinkToolbarConfig,
15
15
  import { displayInfoForCard, findCardInfo, titleUrlPairFromNode, appearanceForNodeType } from './utils';
16
16
  import { isSafeUrl } from '@atlaskit/adf-schema';
17
17
  import { LinkToolbarAppearance } from './ui/LinkToolbarAppearance';
18
- import { messages } from './messages';
19
- import { FLOATING_TOOLBAR_LINKPICKER_CLASSNAME } from './styles';
18
+ import { cardMessages as messages } from '@atlaskit/editor-common/messages';
19
+ import { FLOATING_TOOLBAR_LINKPICKER_CLASSNAME } from '@atlaskit/editor-common/styles';
20
20
  import { ACTION, ACTION_SUBJECT, INPUT_METHOD, EVENT_TYPE, buildOpenedSettingsPayload, buildVisitedLinkPayload } from '@atlaskit/editor-common/analytics';
21
21
  import { SmallerEditIcon } from './ui/SmallerEditIcon';
22
22
  export const removeCard = editorAnalyticsApi => commandWithMetadata((state, dispatch) => {
@@ -286,7 +286,8 @@ const generateToolbarItems = (state, featureFlags, intl, providerFactory, cardOp
286
286
  allowEmbeds: allowEmbeds,
287
287
  allowBlockCards: allowBlockCards,
288
288
  platform: platform,
289
- editorAnalyticsApi: editorAnalyticsApi
289
+ editorAnalyticsApi: editorAnalyticsApi,
290
+ cardActions: pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.dependencies.card.actions
290
291
  })
291
292
  }, {
292
293
  type: 'separator'
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import React from 'react';
3
3
  import { Component } from 'react';
4
- import { LinkToolbarAppearance } from '../card/ui/LinkToolbarAppearance';
4
+ import { LinkToolbarAppearance } from './LinkToolbarAppearance';
5
5
  export class HyperlinkToolbarAppearance extends Component {
6
6
  constructor(...args) {
7
7
  super(...args);
@@ -61,7 +61,8 @@ export class HyperlinkToolbarAppearance extends Component {
61
61
  editorState,
62
62
  cardOptions,
63
63
  platform,
64
- editorAnalyticsApi
64
+ editorAnalyticsApi,
65
+ cardActions
65
66
  } = this.props;
66
67
  const {
67
68
  supportedUrlsMap
@@ -78,7 +79,8 @@ export class HyperlinkToolbarAppearance extends Component {
78
79
  allowEmbeds: cardOptions === null || cardOptions === void 0 ? void 0 : cardOptions.allowEmbeds,
79
80
  allowBlockCards: cardOptions === null || cardOptions === void 0 ? void 0 : cardOptions.allowBlockCards,
80
81
  platform: platform,
81
- editorAnalyticsApi: editorAnalyticsApi
82
+ editorAnalyticsApi: editorAnalyticsApi,
83
+ cardActions: cardActions
82
84
  });
83
85
  }
84
86
  }
@@ -1,19 +1,16 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import { ACTION, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
2
+ import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { Fragment } from 'prosemirror-model';
5
- import React from 'react';
6
- import nodeNames from '@atlaskit/editor-common/messages';
5
+ import { ACTION, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
6
+ import nodeNames, { cardMessages as messages } from '@atlaskit/editor-common/messages';
7
7
  import { isSupportedInParent } from '@atlaskit/editor-common/utils';
8
- import { messages } from '../messages';
9
- import { commandWithMetadata } from '@atlaskit/editor-common/card';
10
- import { changeSelectedCardToLink, setSelectedCardAppearance } from '../pm-plugins/doc';
11
- import { getButtonGroupOption } from './link-toolbar-button-group-options';
12
- import { LinkToolbarButtonGroup } from './LinkToolbarButtonGroup';
8
+ import { getButtonGroupOption, LinkToolbarButtonGroup, commandWithMetadata } from '@atlaskit/editor-common/card';
13
9
  export class LinkToolbarAppearance extends React.Component {
14
10
  constructor(...args) {
15
11
  super(...args);
16
12
  _defineProperty(this, "renderDropdown", (view, cardContext) => {
13
+ var _cardActions$setSelec, _cardActions$setSelec2, _cardActions$changeSe, _cardActions$setSelec3;
17
14
  const {
18
15
  url,
19
16
  intl,
@@ -22,9 +19,11 @@ export class LinkToolbarAppearance extends React.Component {
22
19
  allowEmbeds,
23
20
  allowBlockCards = true,
24
21
  platform,
25
- editorAnalyticsApi
22
+ editorAnalyticsApi,
23
+ cardActions
26
24
  } = this.props;
27
25
  const preview = allowEmbeds && cardContext && url && cardContext.extractors.getPreview(url, platform);
26
+ const defaultCommand = () => false;
28
27
  if (url) {
29
28
  var _cardContext$store, _urlState$error;
30
29
  const urlState = cardContext === null || cardContext === void 0 ? void 0 : (_cardContext$store = cardContext.store) === null || _cardContext$store === void 0 ? void 0 : _cardContext$store.getState()[url];
@@ -37,7 +36,7 @@ export class LinkToolbarAppearance extends React.Component {
37
36
  const embedOption = allowEmbeds && preview && {
38
37
  appearance: 'embed',
39
38
  title: intl.formatMessage(messages.embed),
40
- onClick: setSelectedCardAppearance('embed', editorAnalyticsApi),
39
+ onClick: (_cardActions$setSelec = cardActions === null || cardActions === void 0 ? void 0 : cardActions.setSelectedCardAppearance('embed', editorAnalyticsApi)) !== null && _cardActions$setSelec !== void 0 ? _cardActions$setSelec : defaultCommand,
41
40
  selected: currentAppearance === 'embed',
42
41
  hidden: false,
43
42
  testId: 'embed-appearance',
@@ -47,7 +46,7 @@ export class LinkToolbarAppearance extends React.Component {
47
46
  const blockCardOption = allowBlockCards && {
48
47
  appearance: 'block',
49
48
  title: intl.formatMessage(messages.block),
50
- onClick: setSelectedCardAppearance('block', editorAnalyticsApi),
49
+ onClick: (_cardActions$setSelec2 = cardActions === null || cardActions === void 0 ? void 0 : cardActions.setSelectedCardAppearance('block', editorAnalyticsApi)) !== null && _cardActions$setSelec2 !== void 0 ? _cardActions$setSelec2 : defaultCommand,
51
50
  selected: currentAppearance === 'block',
52
51
  testId: 'block-appearance',
53
52
  disabled: !isBlockCardLinkSupportedInParent,
@@ -55,7 +54,7 @@ export class LinkToolbarAppearance extends React.Component {
55
54
  };
56
55
  const options = [{
57
56
  title: intl.formatMessage(messages.url),
58
- onClick: commandWithMetadata(changeSelectedCardToLink(url, url, true, undefined, undefined, editorAnalyticsApi), {
57
+ onClick: commandWithMetadata((_cardActions$changeSe = cardActions === null || cardActions === void 0 ? void 0 : cardActions.changeSelectedCardToLink(url, url, true, undefined, undefined, editorAnalyticsApi)) !== null && _cardActions$changeSe !== void 0 ? _cardActions$changeSe : defaultCommand, {
59
58
  action: ACTION.CHANGED_TYPE
60
59
  }),
61
60
  selected: !currentAppearance,
@@ -63,7 +62,7 @@ export class LinkToolbarAppearance extends React.Component {
63
62
  }, {
64
63
  appearance: 'inline',
65
64
  title: intl.formatMessage(messages.inline),
66
- onClick: setSelectedCardAppearance('inline', editorAnalyticsApi),
65
+ onClick: (_cardActions$setSelec3 = cardActions === null || cardActions === void 0 ? void 0 : cardActions.setSelectedCardAppearance('inline', editorAnalyticsApi)) !== null && _cardActions$setSelec3 !== void 0 ? _cardActions$setSelec3 : defaultCommand,
67
66
  selected: currentAppearance === 'inline',
68
67
  testId: 'inline-appearance'
69
68
  }];
@@ -8,7 +8,7 @@ import { calcColumnsFromPx, calcPctFromPx, calcPxFromColumns, wrappedLayouts } f
8
8
  import { akEditorMediaResizeHandlerPaddingWide, akEditorBreakoutPadding, akEditorWideLayoutWidth, breakoutWideScaleRatio, DEFAULT_EMBED_CARD_HEIGHT, DEFAULT_EMBED_CARD_WIDTH } from '@atlaskit/editor-shared-styles';
9
9
  import { embedHeaderHeight } from '@atlaskit/smart-card';
10
10
  import { wrapperStyle, Resizer, handleSides, imageAlignmentMap, snapTo, calcMediaPxWidth } from '@atlaskit/editor-common/ui';
11
- import { embedSpacingStyles } from './styled';
11
+ import { embedSpacingStyles } from '@atlaskit/editor-common/styles';
12
12
  export default class ResizableEmbedCard extends React.Component {
13
13
  constructor(...args) {
14
14
  super(...args);
@@ -1,7 +1,7 @@
1
1
  /** @jsx jsx */
2
2
  import { jsx } from '@emotion/react';
3
3
  import EditIcon from '@atlaskit/icon/glyph/edit';
4
- import { editIconStyles } from './styled';
4
+ import { editIconStyles } from '@atlaskit/editor-common/styles';
5
5
  export const SmallerEditIcon = () => {
6
6
  return jsx("div", {
7
7
  css: editIconStyles
@@ -1,7 +1,5 @@
1
1
  import { NodeSelection } from 'prosemirror-state';
2
- import { Slice, Fragment } from 'prosemirror-model';
3
2
  import { pluginKey } from './pm-plugins/plugin-key';
4
- import { isSupportedInParent, mapChildren } from '@atlaskit/editor-common/utils';
5
3
  export const appearanceForNodeType = spec => {
6
4
  if (spec.name === 'inlineCard') {
7
5
  return 'inline';
@@ -42,30 +40,4 @@ export const displayInfoForCard = (node, info) => mergeCardInfo(titleUrlPairFrom
42
40
  export const findCardInfo = state => {
43
41
  const pluginState = pluginKey.getState(state);
44
42
  return pluginState.cards.find(cardInfo => cardInfo.pos === state.selection.from);
45
- };
46
- export const transformUnsupportedBlockCardToInline = (slice, state, cardOptions) => {
47
- const {
48
- blockCard,
49
- inlineCard
50
- } = state.schema.nodes;
51
- const children = [];
52
- mapChildren(slice.content, (node, i, frag) => {
53
- var _cardOptions$allowBlo;
54
- if (node.type === blockCard && !isBlockCardSupported(state, frag, (_cardOptions$allowBlo = cardOptions === null || cardOptions === void 0 ? void 0 : cardOptions.allowBlockCards) !== null && _cardOptions$allowBlo !== void 0 ? _cardOptions$allowBlo : false)) {
55
- children.push(inlineCard.createChecked(node.attrs, node.content, node.marks));
56
- } else {
57
- children.push(node);
58
- }
59
- });
60
- return new Slice(Fragment.fromArray(children), slice.openStart, slice.openEnd);
61
- };
62
- /**
63
- * Function to determine if a block card is supported by the editor
64
- * @param state
65
- * @param frag
66
- * @param allowBlockCards
67
- * @returns
68
- */
69
- const isBlockCardSupported = (state, frag, allowBlockCards) => {
70
- return allowBlockCards && isSupportedInParent(state, frag);
71
43
  };
@@ -10,24 +10,28 @@ import { normalizeUrl } from '@atlaskit/editor-common/utils';
10
10
  import { linkToolbarMessages as linkToolbarCommonMessages, linkMessages } from '../../messages';
11
11
  import { isSafeUrl } from '@atlaskit/adf-schema';
12
12
  import { LINKPICKER_HEIGHT_IN_PX, RECENT_SEARCH_HEIGHT_IN_PX, RECENT_SEARCH_WIDTH_IN_PX } from '@atlaskit/editor-common/ui';
13
- import { HyperlinkToolbarAppearance } from './HyperlinkToolbarAppearance';
14
13
  import { ACTION_SUBJECT_ID, ACTION, INPUT_METHOD, buildVisitedLinkPayload, buildOpenedSettingsPayload } from '@atlaskit/editor-common/analytics';
15
- import { addAnalytics } from '../analytics';
14
+ import { toolbarKey } from './pm-plugins/toolbar-buttons';
15
+
16
16
  /* type guard for edit links */
17
17
  function isEditLink(linkMark) {
18
18
  return linkMark.pos !== undefined;
19
19
  }
20
- const dispatchAnalytics = (dispatch, state, analyticsBuilder) => {
20
+ const dispatchAnalytics = (dispatch, state, analyticsBuilder, editorAnalyticsApi) => {
21
21
  if (dispatch) {
22
- dispatch(addAnalytics(state, state.tr, analyticsBuilder(ACTION_SUBJECT_ID.HYPERLINK)));
22
+ const {
23
+ tr
24
+ } = state;
25
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent(analyticsBuilder(ACTION_SUBJECT_ID.HYPERLINK))(tr);
26
+ dispatch(tr);
23
27
  }
24
28
  };
25
- const visitHyperlink = () => (state, dispatch) => {
26
- dispatchAnalytics(dispatch, state, buildVisitedLinkPayload);
29
+ const visitHyperlink = editorAnalyticsApi => (state, dispatch) => {
30
+ dispatchAnalytics(dispatch, state, buildVisitedLinkPayload, editorAnalyticsApi);
27
31
  return true;
28
32
  };
29
- const openLinkSettings = () => (state, dispatch) => {
30
- dispatchAnalytics(dispatch, state, buildOpenedSettingsPayload);
33
+ const openLinkSettings = editorAnalyticsApi => (state, dispatch) => {
34
+ dispatchAnalytics(dispatch, state, buildOpenedSettingsPayload, editorAnalyticsApi);
31
35
  return true;
32
36
  };
33
37
  function getLinkText(activeLinkMark, state) {
@@ -42,7 +46,7 @@ function getLinkText(activeLinkMark, state) {
42
46
  }
43
47
  return activeLinkMark.node.text;
44
48
  }
45
- const getSettingsButtonGroup = (state, intl, featureFlags) => {
49
+ const getSettingsButtonGroup = (state, intl, featureFlags, editorAnalyticsApi) => {
46
50
  const {
47
51
  floatingToolbarLinkSettingsButton
48
52
  } = featureFlags;
@@ -53,16 +57,18 @@ const getSettingsButtonGroup = (state, intl, featureFlags) => {
53
57
  type: 'button',
54
58
  icon: CogIcon,
55
59
  title: intl.formatMessage(linkToolbarCommonMessages.settingsLink),
56
- onClick: openLinkSettings(),
60
+ onClick: openLinkSettings(editorAnalyticsApi),
57
61
  href: 'https://id.atlassian.com/manage-profile/link-preferences',
58
62
  target: '_blank'
59
63
  }] : [];
60
64
  };
61
- export const getToolbarConfig = (options, featureFlags, editorAnalyticsApi) => (state, intl, providerFactory) => {
65
+ export const getToolbarConfig = (options, featureFlags, pluginInjectionApi) => (state, intl, providerFactory) => {
66
+ var _pluginInjectionApi$d;
62
67
  const {
63
68
  formatMessage
64
69
  } = intl;
65
70
  const linkState = stateKey.getState(state);
71
+ const editorAnalyticsApi = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d = pluginInjectionApi.dependencies.analytics) === null || _pluginInjectionApi$d === void 0 ? void 0 : _pluginInjectionApi$d.actions;
66
72
 
67
73
  /**
68
74
  * Enable focus trap only if feature flag is enabled AND for the new version of the picker
@@ -87,6 +93,7 @@ export const getToolbarConfig = (options, featureFlags, editorAnalyticsApi) => (
87
93
  switch (activeLinkMark.type) {
88
94
  case 'EDIT':
89
95
  {
96
+ var _toolbarKey$getState$, _toolbarKey$getState;
90
97
  const {
91
98
  pos,
92
99
  node
@@ -109,23 +116,7 @@ export const getToolbarConfig = (options, featureFlags, editorAnalyticsApi) => (
109
116
  ...hyperLinkToolbar,
110
117
  height: 32,
111
118
  width: 250,
112
- items: [{
113
- type: 'custom',
114
- fallback: [],
115
- render: editorView => {
116
- return /*#__PURE__*/React.createElement(HyperlinkToolbarAppearance, {
117
- key: "link-appearance",
118
- url: link,
119
- intl: intl,
120
- editorView: editorView,
121
- editorState: state,
122
- cardOptions: options === null || options === void 0 ? void 0 : options.cardOptions,
123
- providerFactory: providerFactory,
124
- platform: options === null || options === void 0 ? void 0 : options.platform,
125
- editorAnalyticsApi: editorAnalyticsApi
126
- });
127
- }
128
- }, {
119
+ items: [...((_toolbarKey$getState$ = (_toolbarKey$getState = toolbarKey.getState(state)) === null || _toolbarKey$getState === void 0 ? void 0 : _toolbarKey$getState.items(state, intl, providerFactory, link)) !== null && _toolbarKey$getState$ !== void 0 ? _toolbarKey$getState$ : []), {
129
120
  id: 'editor.link.edit',
130
121
  type: 'button',
131
122
  onClick: editInsertedLink(),
@@ -141,7 +132,7 @@ export const getToolbarConfig = (options, featureFlags, editorAnalyticsApi) => (
141
132
  disabled: !isValidUrl,
142
133
  target: '_blank',
143
134
  href: isValidUrl ? link : undefined,
144
- onClick: visitHyperlink(),
135
+ onClick: visitHyperlink(editorAnalyticsApi),
145
136
  selected: false,
146
137
  title: labelOpenLink,
147
138
  icon: OpenIcon,
@@ -169,7 +160,7 @@ export const getToolbarConfig = (options, featureFlags, editorAnalyticsApi) => (
169
160
  formatMessage: formatMessage,
170
161
  markType: state.schema.marks.link
171
162
  }]
172
- }, ...getSettingsButtonGroup(state, intl, featureFlags)],
163
+ }, ...getSettingsButtonGroup(state, intl, featureFlags, editorAnalyticsApi)],
173
164
  scrollable: true
174
165
  };
175
166
  }
@@ -189,10 +189,13 @@ export function showLinkToolbar(inputMethod = INPUT_METHOD.TOOLBAR) {
189
189
  export function hideLinkToolbar() {
190
190
  return function (state, dispatch) {
191
191
  if (dispatch) {
192
- dispatch(state.tr.setMeta(stateKey, {
193
- type: LinkAction.HIDE_TOOLBAR
194
- }));
192
+ dispatch(hideLinkToolbarSetMeta(state.tr));
195
193
  }
196
194
  return true;
197
195
  };
196
+ }
197
+ export function hideLinkToolbarSetMeta(tr) {
198
+ return tr.setMeta(stateKey, {
199
+ type: LinkAction.HIDE_TOOLBAR
200
+ });
198
201
  }
@@ -4,13 +4,14 @@ import { createInputRulePlugin } from './pm-plugins/input-rule';
4
4
  import { createKeymapPlugin } from './pm-plugins/keymap';
5
5
  import { plugin, stateKey, LinkAction } from './pm-plugins/main';
6
6
  import fakeCursorToolbarPlugin from './pm-plugins/fake-cursor-for-toolbar';
7
+ import { toolbarButtonsPlugin, prependToolbarButtons } from './pm-plugins/toolbar-buttons';
7
8
  import { ACTION, ACTION_SUBJECT, INPUT_METHOD, EVENT_TYPE, ACTION_SUBJECT_ID } from '@atlaskit/editor-common/analytics';
8
9
  import { getToolbarConfig } from './Toolbar';
9
10
  import { tooltip, addLink } from '../../keymaps';
10
11
  import { IconLink } from '../quick-insert/assets';
11
12
  import { messages } from '../insert-block/ui/ToolbarInsertBlock/messages';
12
13
  const hyperlinkPlugin = (options = {}, api) => {
13
- var _api$dependencies, _api$dependencies$fea, _api$dependencies$ana;
14
+ var _api$dependencies, _api$dependencies$fea;
14
15
  const featureFlags = (api === null || api === void 0 ? void 0 : (_api$dependencies = api.dependencies) === null || _api$dependencies === void 0 ? void 0 : (_api$dependencies$fea = _api$dependencies.featureFlags) === null || _api$dependencies$fea === void 0 ? void 0 : _api$dependencies$fea.sharedState.currentState()) || {};
15
16
  return {
16
17
  name: 'hyperlink',
@@ -20,6 +21,9 @@ const hyperlinkPlugin = (options = {}, api) => {
20
21
  mark: link
21
22
  }];
22
23
  },
24
+ actions: {
25
+ prependToolbarButtons
26
+ },
23
27
  pmPlugins() {
24
28
  var _options$cardOptions;
25
29
  // Skip analytics if card provider is available, as they will be
@@ -42,6 +46,9 @@ const hyperlinkPlugin = (options = {}, api) => {
42
46
  }, {
43
47
  name: 'hyperlinkKeymap',
44
48
  plugin: () => createKeymapPlugin(skipAnalytics)
49
+ }, {
50
+ name: 'hyperlinkToolbarButtons',
51
+ plugin: toolbarButtonsPlugin
45
52
  }];
46
53
  },
47
54
  pluginsOptions: {
@@ -74,7 +81,7 @@ const hyperlinkPlugin = (options = {}, api) => {
74
81
  return analyticsAttached !== false ? tr : false;
75
82
  }
76
83
  }],
77
- floatingToolbar: getToolbarConfig(options, featureFlags, api === null || api === void 0 ? void 0 : (_api$dependencies$ana = api.dependencies.analytics) === null || _api$dependencies$ana === void 0 ? void 0 : _api$dependencies$ana.actions)
84
+ floatingToolbar: getToolbarConfig(options, featureFlags, api)
78
85
  }
79
86
  };
80
87
  };
@@ -0,0 +1,37 @@
1
+ import { PluginKey } from 'prosemirror-state';
2
+ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
3
+ export const toolbarKey = new PluginKey('hyperlinkToolbarItems');
4
+ export const prependToolbarButtons = ({
5
+ items,
6
+ onEscapeCallback,
7
+ view
8
+ }) => {
9
+ const {
10
+ state: {
11
+ tr
12
+ },
13
+ dispatch
14
+ } = view;
15
+ tr.setMeta(toolbarKey, {
16
+ items,
17
+ onEscapeCallback
18
+ });
19
+ dispatch(tr);
20
+ };
21
+ export const toolbarButtonsPlugin = () => {
22
+ return new SafePlugin({
23
+ key: toolbarKey,
24
+ state: {
25
+ init: (_, state) => {
26
+ return undefined;
27
+ },
28
+ apply: (tr, pluginState) => {
29
+ const metaState = tr.getMeta(toolbarKey);
30
+ if (metaState) {
31
+ return metaState;
32
+ }
33
+ return pluginState;
34
+ }
35
+ }
36
+ });
37
+ };
@@ -1,8 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useCallback, useEffect, useMemo, useRef } from 'react';
3
3
  import { LinkPicker } from '@atlaskit/link-picker';
4
- import { hideLinkToolbar as cardHideLinkToolbar } from '../../../card/pm-plugins/actions';
5
- import { hideLinkToolbar } from '../../commands';
4
+ import { hideLinkToolbarSetMeta, hideLinkToolbar } from '../../commands';
5
+ import { toolbarKey } from '../../pm-plugins/toolbar-buttons';
6
6
  import { useEscapeClickaway } from './useEscapeClickaway';
7
7
  import { AnalyticsContext } from '@atlaskit/analytics-next';
8
8
  import { getAnalyticsEditorAppearance } from '@atlaskit/editor-common/utils';
@@ -39,8 +39,15 @@ export const EditorLinkPicker = ({
39
39
  return (_onCloseRef$current = onCloseRef.current) === null || _onCloseRef$current === void 0 ? void 0 : _onCloseRef$current.call(onCloseRef);
40
40
  }, []);
41
41
  const onEscape = useCallback(() => {
42
- hideLinkToolbar()(view.state, view.dispatch);
43
- view.dispatch(cardHideLinkToolbar(view.state.tr));
42
+ var _toolbarKey$getState, _toolbarKey$getState$;
43
+ const {
44
+ state: {
45
+ tr
46
+ }
47
+ } = view;
48
+ hideLinkToolbarSetMeta(tr);
49
+ (_toolbarKey$getState = toolbarKey.getState(view.state)) === null || _toolbarKey$getState === void 0 ? void 0 : (_toolbarKey$getState$ = _toolbarKey$getState.onEscapeCallback) === null || _toolbarKey$getState$ === void 0 ? void 0 : _toolbarKey$getState$.call(_toolbarKey$getState, tr);
50
+ view.dispatch(tr);
44
51
  onCancel === null || onCancel === void 0 ? void 0 : onCancel();
45
52
  }, [view, onCancel]);
46
53
  const onClickAway = useCallback(() => {
@@ -12,7 +12,7 @@ import Tooltip from '@atlaskit/tooltip';
12
12
  import { PureComponent } from 'react';
13
13
  import { defineMessages, injectIntl } from 'react-intl-next';
14
14
  import { withAnalyticsEvents } from '@atlaskit/analytics-next';
15
- import { linkToolbarMessages as linkToolbarCommonMessages } from '../../../../messages';
15
+ import { linkToolbarMessages as linkToolbarCommonMessages } from '@atlaskit/editor-common/messages';
16
16
  import PanelTextInput from '../../../../ui/PanelTextInput';
17
17
  import LinkSearchList from '../../../../ui/LinkSearch/LinkSearchList';
18
18
  import { container, containerWithProvider, inputWrapper } from '../../../../ui/LinkSearch/ToolbarComponents';
@@ -21,12 +21,12 @@ import { normalizeUrl } from '@atlaskit/editor-common/utils';
21
21
  import { filterUniqueItems } from '../../../../utils/array';
22
22
  import debounce from 'lodash/debounce';
23
23
  import { mapContentTypeToIcon, sha1, wordCount } from './utils';
24
- import { hideLinkToolbar } from '../../commands';
25
- import { hideLinkToolbar as cardHideLinkToolbar } from '../../../card/pm-plugins/actions';
24
+ import { hideLinkToolbar, hideLinkToolbarSetMeta } from '../../commands';
26
25
  import { visuallyHiddenStyles } from '../../styles';
27
26
  import { browser } from '@atlaskit/editor-common/utils';
28
27
  import { transformTimeStamp } from '../../../../ui/LinkSearch/transformTimeStamp';
29
28
  import Announcer from '../../../../utils/announcer/announcer';
29
+ import { toolbarKey } from '../../pm-plugins/toolbar-buttons';
30
30
  export const RECENT_SEARCH_LIST_SIZE = 5;
31
31
  const clearText = css`
32
32
  cursor: pointer;
@@ -434,10 +434,18 @@ export class HyperlinkLinkAddToolbar extends PureComponent {
434
434
  const KEY_CODE_ARROW_DOWN = 40;
435
435
  const KEY_CODE_ARROW_UP = 38;
436
436
  if (keyCode === KEY_CODE_ESCAPE) {
437
+ var _toolbarKey$getState, _toolbarKey$getState$;
437
438
  // escape
438
439
  event.preventDefault();
439
- hideLinkToolbar()(view.state, view.dispatch);
440
- view.dispatch(cardHideLinkToolbar(view.state.tr));
440
+ const {
441
+ state: {
442
+ tr
443
+ },
444
+ dispatch
445
+ } = view;
446
+ hideLinkToolbarSetMeta(tr);
447
+ (_toolbarKey$getState = toolbarKey.getState(view.state)) === null || _toolbarKey$getState === void 0 ? void 0 : (_toolbarKey$getState$ = _toolbarKey$getState.onEscapeCallback) === null || _toolbarKey$getState$ === void 0 ? void 0 : _toolbarKey$getState$.call(_toolbarKey$getState, tr);
448
+ dispatch(tr);
441
449
  return;
442
450
  }
443
451
  if (!items || !items.length) {
@@ -15,7 +15,7 @@ import { showLinkingToolbar } from '../commands/linking';
15
15
  import { LinkToolbarAppearance } from './linking-toolbar-appearance';
16
16
  import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
17
17
  import { messages } from '@atlaskit/media-ui';
18
- import { messages as cardMessages } from '../../card/messages';
18
+ import { cardMessages } from '@atlaskit/editor-common/messages';
19
19
  import { FilePreviewItem } from './filePreviewItem';
20
20
  import { downloadMedia, removeMediaGroupNode } from './utils';
21
21
  import { changeInlineToMediaCard, changeMediaCardToInline, removeInlineCard, setBorderMark, toggleBorderMark } from './commands';
@@ -7,7 +7,7 @@ import { mapSlice } from '../../../utils/slice';
7
7
  import { walkUpTreeUntil, removeNestedEmptyEls, unwrap } from '../../../utils/dom';
8
8
  import { isImage } from './is-image';
9
9
  import { atTheBeginningOfBlock, atTheBeginningOfDoc, atTheEndOfBlock, endPositionOfParent, startPositionOfParent } from '../../../utils/prosemirror/position';
10
- import { GapCursorSelection } from '../../selection/gap-cursor/selection';
10
+ import { GapCursorSelection } from '@atlaskit/editor-common/selection';
11
11
  import { isMediaBlobUrl } from '@atlaskit/media-client';
12
12
  export const isMediaBlobUrlFromAttrs = attrs => {
13
13
  return !!(attrs && attrs.type === 'external' && isMediaBlobUrl(attrs.url));
@@ -7,7 +7,6 @@ import { replaceSelectedTable } from '@atlaskit/editor-tables/utils';
7
7
  import { compose, insideTable, isParagraph, isText, isLinkMark, insideTableCell, isInListItem } from '../../utils';
8
8
  import { mapSlice } from '../../utils/slice';
9
9
  import { INPUT_METHOD } from '../analytics';
10
- import { queueCardsFromChangedTr } from '../card/pm-plugins/doc';
11
10
  import { GapCursorSelection, Side } from '../selection/gap-cursor-selection';
12
11
  import { linkifyContent } from '@atlaskit/editor-common/utils';
13
12
  import { runMacroAutoConvert } from '../macro';
@@ -20,7 +19,6 @@ import { insertSliceForLists } from './edge-cases';
20
19
  import { startTrackingPastedMacroPositions, stopTrackingPastedMacroPositions } from './commands';
21
20
  import { getPluginState as getPastePluginState } from './pm-plugins/plugin-factory';
22
21
  import { doesSelectionWhichStartsOrEndsInListContainEntireList } from '../../utils/lists';
23
-
24
22
  // remove text attribute from mention for copy/paste (GDPR)
25
23
  export function handleMention(slice, schema) {
26
24
  return mapSlice(slice, node => {
@@ -35,7 +33,7 @@ export function handleMention(slice, schema) {
35
33
  return node;
36
34
  });
37
35
  }
38
- export function handlePasteIntoTaskOrDecisionOrPanel(slice) {
36
+ export function handlePasteIntoTaskOrDecisionOrPanel(slice, queueCardsFromChangedTr) {
39
37
  return (state, dispatch) => {
40
38
  var _slice$content$firstC, _transformedSlice$con;
41
39
  const {
@@ -109,7 +107,7 @@ export function handlePasteIntoTaskOrDecisionOrPanel(slice) {
109
107
  // This maintains both the selection (destination) and the slice (paste content).
110
108
  safeInsert(transformedSlice.content)(tr).scrollIntoView();
111
109
  }
112
- queueCardsFromChangedTr(state, tr, INPUT_METHOD.CLIPBOARD);
110
+ queueCardsFromChangedTr === null || queueCardsFromChangedTr === void 0 ? void 0 : queueCardsFromChangedTr(state, tr, INPUT_METHOD.CLIPBOARD);
113
111
  if (dispatch) {
114
112
  dispatch(tr);
115
113
  }
@@ -345,7 +343,7 @@ export function handlePasteAsPlainText(slice, _event) {
345
343
  return false;
346
344
  };
347
345
  }
348
- export function handlePastePreservingMarks(slice) {
346
+ export function handlePastePreservingMarks(slice, queueCardsFromChangedTr) {
349
347
  return (state, dispatch) => {
350
348
  const {
351
349
  schema,
@@ -389,7 +387,7 @@ export function handlePastePreservingMarks(slice) {
389
387
  // special case for plainTextSlice & linkMark: merge into existing link
390
388
  if (isPlainTextSlice && linkMark.isInSet(selectionMarks) && selectionMarks.length === 1) {
391
389
  const tr = closeHistory(state.tr).replaceSelectionWith(slice.content.firstChild.firstChild, true).setStoredMarks(selectionMarks).scrollIntoView();
392
- queueCardsFromChangedTr(state, tr, INPUT_METHOD.CLIPBOARD);
390
+ queueCardsFromChangedTr === null || queueCardsFromChangedTr === void 0 ? void 0 : queueCardsFromChangedTr(state, tr, INPUT_METHOD.CLIPBOARD);
393
391
  if (dispatch) {
394
392
  dispatch(tr);
395
393
  }
@@ -401,7 +399,7 @@ export function handlePastePreservingMarks(slice) {
401
399
  if (hasOnlyNodesOfType(bulletList, hardBreak, heading, listItem, paragraph, text, emoji, mention, orderedList)(slice)) {
402
400
  const transformedSlice = applyTextMarksToSlice(schema, selectionMarks)(slice);
403
401
  const tr = closeHistory(state.tr).replaceSelection(transformedSlice).setStoredMarks(selectionMarks).scrollIntoView();
404
- queueCardsFromChangedTr(state, tr, INPUT_METHOD.CLIPBOARD);
402
+ queueCardsFromChangedTr === null || queueCardsFromChangedTr === void 0 ? void 0 : queueCardsFromChangedTr(state, tr, INPUT_METHOD.CLIPBOARD);
405
403
  if (dispatch) {
406
404
  dispatch(tr);
407
405
  }
@@ -439,7 +437,7 @@ function insertAutoMacro(slice, macro, view, from, to) {
439
437
  }
440
438
  return false;
441
439
  }
442
- export function handleMacroAutoConvert(text, slice, cardsOptions, extensionAutoConverter) {
440
+ export function handleMacroAutoConvert(text, slice, queueCardsFromChangedTr, cardsOptions, extensionAutoConverter) {
443
441
  return (state, dispatch, view) => {
444
442
  let macro = null;
445
443
 
@@ -480,7 +478,7 @@ export function handleMacroAutoConvert(text, slice, cardsOptions, extensionAutoC
480
478
  pastedMacroPositions
481
479
  } = getPastePluginState(view.state);
482
480
  if (dispatch) {
483
- handleMarkdown(slice, pastedMacroPositions[trackingFrom], pastedMacroPositions[trackingTo])(view.state, dispatch);
481
+ handleMarkdown(slice, queueCardsFromChangedTr, pastedMacroPositions[trackingFrom], pastedMacroPositions[trackingTo])(view.state, dispatch);
484
482
  }
485
483
  }).catch(() => {
486
484
  const {
@@ -596,7 +594,7 @@ export function handleExpandPasteInTable(slice) {
596
594
  return false;
597
595
  };
598
596
  }
599
- export function handleMarkdown(markdownSlice, from, to) {
597
+ export function handleMarkdown(markdownSlice, queueCardsFromChangedTr, from, to) {
600
598
  return (state, dispatch) => {
601
599
  const tr = closeHistory(state.tr);
602
600
  const pastesFrom = typeof from === 'number' ? from : tr.selection.from;
@@ -606,7 +604,7 @@ export function handleMarkdown(markdownSlice, from, to) {
606
604
  tr.replaceSelection(markdownSlice);
607
605
  }
608
606
  tr.setSelection(TextSelection.near(tr.doc.resolve(pastesFrom + markdownSlice.size), -1));
609
- queueCardsFromChangedTr(state, tr, INPUT_METHOD.CLIPBOARD);
607
+ queueCardsFromChangedTr === null || queueCardsFromChangedTr === void 0 ? void 0 : queueCardsFromChangedTr(state, tr, INPUT_METHOD.CLIPBOARD);
610
608
  if (dispatch) {
611
609
  dispatch(tr.scrollIntoView());
612
610
  }
@@ -748,7 +746,7 @@ export function flattenNestedListInSlice(slice) {
748
746
  const contentWithFlattenedList = slice.content.replaceChild(0, listToFlatten.type.createChecked(listToFlatten.attrs, leafListItems));
749
747
  return new Slice(contentWithFlattenedList, slice.openEnd, slice.openEnd);
750
748
  }
751
- export function handleRichText(slice) {
749
+ export function handleRichText(slice, queueCardsFromChangedTr) {
752
750
  return (state, dispatch) => {
753
751
  var _slice$content, _slice$content2, _firstChildOfSlice$ty, _lastChildOfSlice$typ, _panelParentOverCurre;
754
752
  const {
@@ -825,8 +823,9 @@ export function handleRichText(slice) {
825
823
  tr.scrollIntoView();
826
824
 
827
825
  // queue link cards, ignoring any errors
826
+ queueCardsFromChangedTr === null || queueCardsFromChangedTr === void 0 ? void 0 : queueCardsFromChangedTr(state, tr, INPUT_METHOD.CLIPBOARD);
828
827
  if (dispatch) {
829
- dispatch(queueCardsFromChangedTr(state, tr, INPUT_METHOD.CLIPBOARD));
828
+ dispatch(tr);
830
829
  }
831
830
  return true;
832
831
  };