@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.
Files changed (546) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/cjs/actions/index.js +1 -16
  3. package/dist/cjs/create-editor/ErrorBoundary.js +19 -8
  4. package/dist/cjs/create-editor/ReactEditorViewInternal.js +40 -21
  5. package/dist/cjs/editor-next/editor-internal.js +6 -1
  6. package/dist/cjs/labs/next/presets/create-stub-internal-apis.js +1 -41
  7. package/dist/cjs/labs/next/presets/default.js +23 -1
  8. package/dist/cjs/labs/next/presets/universal.js +9 -18
  9. package/dist/cjs/plugins/analytics/index.js +0 -24
  10. package/dist/cjs/plugins/analytics/plugin-key.js +7 -1
  11. package/dist/cjs/plugins/analytics/plugin.js +17 -45
  12. package/dist/cjs/plugins/analytics/utils.js +24 -34
  13. package/dist/cjs/plugins/base/index.js +7 -1
  14. package/dist/cjs/plugins/base/pm-plugins/decoration.js +8 -0
  15. package/dist/cjs/plugins/block-type/commands/block-type.js +1 -1
  16. package/dist/cjs/plugins/caption/index.js +3 -2
  17. package/dist/cjs/plugins/caption/pm-plugins/main.js +8 -7
  18. package/dist/cjs/plugins/card/index.js +2 -2
  19. package/dist/cjs/plugins/card/nodeviews/embedCard.js +103 -70
  20. package/dist/cjs/plugins/card/nodeviews/genericCard.js +3 -2
  21. package/dist/cjs/plugins/card/pm-plugins/analytics/events-from-tr.js +36 -20
  22. package/dist/cjs/plugins/card/pm-plugins/analytics/utils.js +48 -9
  23. package/dist/cjs/plugins/card/pm-plugins/doc.js +19 -19
  24. package/dist/cjs/plugins/card/pm-plugins/main.js +5 -3
  25. package/dist/cjs/plugins/card/pm-plugins/shouldReplaceLink.js +4 -4
  26. package/dist/cjs/plugins/card/pm-plugins/util/resolve.js +6 -6
  27. package/dist/cjs/plugins/card/toolbar.js +86 -68
  28. package/dist/cjs/plugins/card/ui/EditLinkToolbar.js +19 -13
  29. package/dist/cjs/plugins/card/ui/EditorSmartCardEventsNext.js +9 -3
  30. package/dist/cjs/plugins/card/ui/LinkToolbarAppearance.js +6 -5
  31. package/dist/cjs/plugins/card/ui/LinkToolbarButtonGroup.js +2 -2
  32. package/dist/cjs/plugins/card/ui/ResizableEmbedCard.js +1 -2
  33. package/dist/cjs/plugins/collab-edit/ui/styles.js +2 -3
  34. package/dist/cjs/plugins/date/index.js +4 -3
  35. package/dist/cjs/plugins/expand/ui/styles.js +4 -5
  36. package/dist/cjs/plugins/floating-toolbar/ui/Dropdown.js +3 -3
  37. package/dist/cjs/plugins/floating-toolbar/ui/DropdownMenu.js +5 -1
  38. package/dist/cjs/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +2 -2
  39. package/dist/cjs/plugins/floating-toolbar/ui/ScrollButtons.js +4 -6
  40. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +5 -5
  41. package/dist/cjs/plugins/grid/index.js +73 -39
  42. package/dist/cjs/plugins/history/pm-history-types.js +1 -5
  43. package/dist/cjs/plugins/history/utils.js +2 -2
  44. package/dist/cjs/plugins/hyperlink/HyperlinkToolbarAppearance.js +4 -2
  45. package/dist/cjs/plugins/hyperlink/Toolbar.js +4 -3
  46. package/dist/cjs/plugins/hyperlink/commands.js +14 -14
  47. package/dist/cjs/plugins/hyperlink/index.js +7 -5
  48. package/dist/cjs/plugins/hyperlink/pm-plugins/input-rule.js +5 -5
  49. package/dist/cjs/plugins/hyperlink/pm-plugins/keymap.js +2 -3
  50. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +2 -3
  51. package/dist/cjs/plugins/insert-block/index.js +1 -1
  52. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +40 -44
  53. package/dist/cjs/plugins/layout/styles.js +2 -2
  54. package/dist/cjs/plugins/list/actions/conversions.js +1 -1
  55. package/dist/cjs/plugins/list/commands/listBackspace.js +5 -5
  56. package/dist/cjs/plugins/list/pm-plugins/main.js +2 -2
  57. package/dist/cjs/plugins/list/transforms.js +2 -2
  58. package/dist/cjs/plugins/list/utils/analytics.js +2 -2
  59. package/dist/cjs/plugins/list/utils/find.js +6 -6
  60. package/dist/cjs/plugins/list/utils/indentation.js +3 -3
  61. package/dist/cjs/plugins/list/utils/node.js +32 -23
  62. package/dist/cjs/plugins/list/utils/selection.js +11 -11
  63. package/dist/cjs/plugins/macro/actions.js +2 -2
  64. package/dist/cjs/plugins/media/commands/linking.js +1 -1
  65. package/dist/cjs/plugins/media/index.js +1 -1
  66. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +31 -17
  67. package/dist/cjs/plugins/media/pm-plugins/alt-text/index.js +2 -2
  68. package/dist/cjs/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +3 -4
  69. package/dist/cjs/plugins/media/toolbar/filePreviewItem.js +2 -2
  70. package/dist/cjs/plugins/media/toolbar/linking-toolbar-appearance.js +4 -4
  71. package/dist/cjs/plugins/media/ui/ImageBorder/styles.js +4 -1
  72. package/dist/cjs/plugins/media/ui/MediaLinkingToolbar.js +3 -4
  73. package/dist/cjs/plugins/media/ui/ResizableMediaSingle/index.js +13 -4
  74. package/dist/cjs/plugins/media/utils/media-single.js +10 -57
  75. package/dist/cjs/plugins/paste/edge-cases/index.js +3 -3
  76. package/dist/cjs/plugins/paste/edge-cases/lists.js +1 -1
  77. package/dist/cjs/plugins/paste/handlers.js +16 -10
  78. package/dist/cjs/plugins/paste/pm-plugins/analytics.js +1 -1
  79. package/dist/cjs/plugins/paste/pm-plugins/main.js +13 -20
  80. package/dist/cjs/plugins/quick-insert/commands.js +1 -1
  81. package/dist/cjs/plugins/rule/pm-plugins/input-rule.js +1 -1
  82. package/dist/cjs/plugins/selection/commands.js +24 -23
  83. package/dist/cjs/plugins/selection/utils.js +2 -2
  84. package/dist/cjs/plugins/status/plugin.js +13 -7
  85. package/dist/cjs/plugins/status/ui/statusPicker.js +1 -1
  86. package/dist/cjs/plugins/type-ahead/insert-utils.js +2 -3
  87. package/dist/cjs/plugins/type-ahead/ui/TypeAheadPopup.js +1 -1
  88. package/dist/cjs/plugins/width/index.js +12 -0
  89. package/dist/cjs/ui/Alignment/styles.js +1 -2
  90. package/dist/cjs/ui/Appearance/Comment/Toolbar.js +2 -3
  91. package/dist/cjs/ui/Appearance/FullPage/MainToolbar.js +1 -2
  92. package/dist/cjs/ui/ColorPickerButton/index.js +16 -9
  93. package/dist/cjs/ui/ConfigPanel/ErrorMessage/ErrorImage.js +1 -2
  94. package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +6 -3
  95. package/dist/cjs/ui/ConfigPanel/Fields/Expand.js +3 -4
  96. package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +1 -2
  97. package/dist/cjs/ui/ConfigPanel/Fields/SelectItem.js +1 -2
  98. package/dist/cjs/ui/ConfigPanel/NestedForms/RemovableField.js +1 -2
  99. package/dist/cjs/ui/ContentStyles/index.js +2 -2
  100. package/dist/cjs/ui/ElementBrowser/InsertMenu.js +1 -1
  101. package/dist/cjs/ui/ElementBrowser/constants.js +4 -0
  102. package/dist/cjs/ui/ErrorBoundary/index.js +7 -0
  103. package/dist/cjs/ui/Resizer/index.js +4 -4
  104. package/dist/cjs/utils/commands.js +2 -2
  105. package/dist/cjs/utils/document.js +4 -12
  106. package/dist/cjs/utils/index.js +1 -14
  107. package/dist/cjs/utils/selection.js +1 -26
  108. package/dist/cjs/version-wrapper.js +1 -1
  109. package/dist/cjs/version.json +1 -1
  110. package/dist/es2019/actions/index.js +1 -16
  111. package/dist/es2019/create-editor/ErrorBoundary.js +18 -7
  112. package/dist/es2019/create-editor/ReactEditorViewInternal.js +44 -27
  113. package/dist/es2019/editor-next/editor-internal.js +6 -1
  114. package/dist/es2019/labs/next/presets/create-stub-internal-apis.js +1 -39
  115. package/dist/es2019/labs/next/presets/default.js +27 -1
  116. package/dist/es2019/labs/next/presets/universal.js +9 -19
  117. package/dist/es2019/plugins/analytics/index.js +1 -1
  118. package/dist/es2019/plugins/analytics/plugin-key.js +8 -1
  119. package/dist/es2019/plugins/analytics/plugin.js +15 -38
  120. package/dist/es2019/plugins/analytics/utils.js +24 -11
  121. package/dist/es2019/plugins/base/index.js +4 -1
  122. package/dist/es2019/plugins/base/pm-plugins/decoration.js +9 -0
  123. package/dist/es2019/plugins/block-type/commands/block-type.js +1 -1
  124. package/dist/es2019/plugins/caption/index.js +3 -2
  125. package/dist/es2019/plugins/caption/pm-plugins/main.js +8 -7
  126. package/dist/es2019/plugins/card/index.js +2 -2
  127. package/dist/es2019/plugins/card/nodeviews/embedCard.js +105 -70
  128. package/dist/es2019/plugins/card/nodeviews/genericCard.js +3 -2
  129. package/dist/es2019/plugins/card/pm-plugins/analytics/events-from-tr.js +33 -16
  130. package/dist/es2019/plugins/card/pm-plugins/analytics/utils.js +43 -7
  131. package/dist/es2019/plugins/card/pm-plugins/doc.js +19 -19
  132. package/dist/es2019/plugins/card/pm-plugins/main.js +7 -3
  133. package/dist/es2019/plugins/card/pm-plugins/shouldReplaceLink.js +1 -1
  134. package/dist/es2019/plugins/card/pm-plugins/util/resolve.js +6 -6
  135. package/dist/es2019/plugins/card/toolbar.js +51 -30
  136. package/dist/es2019/plugins/card/ui/EditLinkToolbar.js +11 -5
  137. package/dist/es2019/plugins/card/ui/EditorSmartCardEventsNext.js +6 -0
  138. package/dist/es2019/plugins/card/ui/LinkToolbarAppearance.js +6 -5
  139. package/dist/es2019/plugins/card/ui/LinkToolbarButtonGroup.js +1 -1
  140. package/dist/es2019/plugins/card/ui/ResizableEmbedCard.js +1 -1
  141. package/dist/es2019/plugins/collab-edit/ui/styles.js +3 -4
  142. package/dist/es2019/plugins/date/index.js +4 -3
  143. package/dist/es2019/plugins/expand/ui/styles.js +1 -2
  144. package/dist/es2019/plugins/floating-toolbar/ui/Dropdown.js +1 -1
  145. package/dist/es2019/plugins/floating-toolbar/ui/DropdownMenu.js +6 -2
  146. package/dist/es2019/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +1 -1
  147. package/dist/es2019/plugins/floating-toolbar/ui/ScrollButtons.js +3 -5
  148. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +9 -9
  149. package/dist/es2019/plugins/grid/index.js +76 -39
  150. package/dist/es2019/plugins/history/pm-history-types.js +1 -2
  151. package/dist/es2019/plugins/history/utils.js +1 -1
  152. package/dist/es2019/plugins/hyperlink/HyperlinkToolbarAppearance.js +4 -2
  153. package/dist/es2019/plugins/hyperlink/Toolbar.js +4 -3
  154. package/dist/es2019/plugins/hyperlink/commands.js +3 -3
  155. package/dist/es2019/plugins/hyperlink/index.js +7 -5
  156. package/dist/es2019/plugins/hyperlink/pm-plugins/input-rule.js +3 -3
  157. package/dist/es2019/plugins/hyperlink/pm-plugins/keymap.js +1 -2
  158. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  159. package/dist/es2019/plugins/insert-block/index.js +1 -1
  160. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +16 -19
  161. package/dist/es2019/plugins/layout/styles.js +4 -0
  162. package/dist/es2019/plugins/list/actions/conversions.js +1 -1
  163. package/dist/es2019/plugins/list/commands/listBackspace.js +1 -1
  164. package/dist/es2019/plugins/list/pm-plugins/main.js +1 -1
  165. package/dist/es2019/plugins/list/transforms.js +1 -1
  166. package/dist/es2019/plugins/list/utils/analytics.js +1 -1
  167. package/dist/es2019/plugins/list/utils/find.js +1 -1
  168. package/dist/es2019/plugins/list/utils/indentation.js +1 -1
  169. package/dist/es2019/plugins/list/utils/node.js +2 -12
  170. package/dist/es2019/plugins/list/utils/selection.js +1 -1
  171. package/dist/es2019/plugins/macro/actions.js +1 -1
  172. package/dist/es2019/plugins/media/commands/linking.js +1 -1
  173. package/dist/es2019/plugins/media/index.js +1 -1
  174. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +20 -6
  175. package/dist/es2019/plugins/media/pm-plugins/alt-text/index.js +1 -1
  176. package/dist/es2019/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
  177. package/dist/es2019/plugins/media/toolbar/filePreviewItem.js +1 -1
  178. package/dist/es2019/plugins/media/toolbar/linking-toolbar-appearance.js +1 -1
  179. package/dist/es2019/plugins/media/ui/ImageBorder/styles.js +4 -0
  180. package/dist/es2019/plugins/media/ui/MediaLinkingToolbar.js +2 -2
  181. package/dist/es2019/plugins/media/ui/ResizableMediaSingle/index.js +15 -3
  182. package/dist/es2019/plugins/media/utils/media-single.js +5 -53
  183. package/dist/es2019/plugins/paste/edge-cases/index.js +1 -1
  184. package/dist/es2019/plugins/paste/edge-cases/lists.js +1 -1
  185. package/dist/es2019/plugins/paste/handlers.js +11 -4
  186. package/dist/es2019/plugins/paste/pm-plugins/analytics.js +1 -1
  187. package/dist/es2019/plugins/paste/pm-plugins/main.js +2 -3
  188. package/dist/es2019/plugins/quick-insert/commands.js +1 -1
  189. package/dist/es2019/plugins/rule/pm-plugins/input-rule.js +1 -1
  190. package/dist/es2019/plugins/selection/commands.js +2 -1
  191. package/dist/es2019/plugins/selection/utils.js +1 -1
  192. package/dist/es2019/plugins/status/plugin.js +9 -3
  193. package/dist/es2019/plugins/status/ui/statusPicker.js +2 -2
  194. package/dist/es2019/plugins/type-ahead/insert-utils.js +1 -2
  195. package/dist/es2019/plugins/type-ahead/ui/TypeAheadPopup.js +2 -2
  196. package/dist/es2019/plugins/width/index.js +12 -0
  197. package/dist/es2019/ui/Alignment/styles.js +1 -2
  198. package/dist/es2019/ui/Appearance/Comment/Toolbar.js +2 -3
  199. package/dist/es2019/ui/Appearance/FullPage/MainToolbar.js +3 -4
  200. package/dist/es2019/ui/ColorPickerButton/index.js +18 -9
  201. package/dist/es2019/ui/ConfigPanel/ErrorMessage/ErrorImage.js +1 -2
  202. package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +7 -3
  203. package/dist/es2019/ui/ConfigPanel/Fields/Expand.js +5 -6
  204. package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +2 -3
  205. package/dist/es2019/ui/ConfigPanel/Fields/SelectItem.js +1 -2
  206. package/dist/es2019/ui/ConfigPanel/NestedForms/RemovableField.js +1 -2
  207. package/dist/es2019/ui/ContentStyles/index.js +2 -1
  208. package/dist/es2019/ui/ElementBrowser/InsertMenu.js +2 -2
  209. package/dist/es2019/ui/ElementBrowser/constants.js +3 -0
  210. package/dist/es2019/ui/ErrorBoundary/index.js +7 -0
  211. package/dist/es2019/ui/Resizer/index.js +4 -4
  212. package/dist/es2019/utils/commands.js +1 -1
  213. package/dist/es2019/utils/document.js +1 -8
  214. package/dist/es2019/utils/index.js +2 -2
  215. package/dist/es2019/utils/selection.js +0 -22
  216. package/dist/es2019/version-wrapper.js +1 -1
  217. package/dist/es2019/version.json +1 -1
  218. package/dist/esm/actions/index.js +1 -16
  219. package/dist/esm/create-editor/ErrorBoundary.js +19 -8
  220. package/dist/esm/create-editor/ReactEditorViewInternal.js +40 -21
  221. package/dist/esm/editor-next/editor-internal.js +6 -1
  222. package/dist/esm/labs/next/presets/create-stub-internal-apis.js +1 -41
  223. package/dist/esm/labs/next/presets/default.js +23 -1
  224. package/dist/esm/labs/next/presets/universal.js +9 -18
  225. package/dist/esm/plugins/analytics/index.js +1 -1
  226. package/dist/esm/plugins/analytics/plugin-key.js +8 -1
  227. package/dist/esm/plugins/analytics/plugin.js +17 -45
  228. package/dist/esm/plugins/analytics/utils.js +24 -11
  229. package/dist/esm/plugins/base/index.js +4 -1
  230. package/dist/esm/plugins/base/pm-plugins/decoration.js +9 -0
  231. package/dist/esm/plugins/block-type/commands/block-type.js +1 -1
  232. package/dist/esm/plugins/caption/index.js +3 -2
  233. package/dist/esm/plugins/caption/pm-plugins/main.js +8 -7
  234. package/dist/esm/plugins/card/index.js +2 -2
  235. package/dist/esm/plugins/card/nodeviews/embedCard.js +103 -70
  236. package/dist/esm/plugins/card/nodeviews/genericCard.js +3 -2
  237. package/dist/esm/plugins/card/pm-plugins/analytics/events-from-tr.js +36 -20
  238. package/dist/esm/plugins/card/pm-plugins/analytics/utils.js +43 -7
  239. package/dist/esm/plugins/card/pm-plugins/doc.js +19 -19
  240. package/dist/esm/plugins/card/pm-plugins/main.js +5 -3
  241. package/dist/esm/plugins/card/pm-plugins/shouldReplaceLink.js +1 -1
  242. package/dist/esm/plugins/card/pm-plugins/util/resolve.js +6 -6
  243. package/dist/esm/plugins/card/toolbar.js +86 -68
  244. package/dist/esm/plugins/card/ui/EditLinkToolbar.js +19 -13
  245. package/dist/esm/plugins/card/ui/EditorSmartCardEventsNext.js +9 -3
  246. package/dist/esm/plugins/card/ui/LinkToolbarAppearance.js +6 -5
  247. package/dist/esm/plugins/card/ui/LinkToolbarButtonGroup.js +1 -1
  248. package/dist/esm/plugins/card/ui/ResizableEmbedCard.js +1 -1
  249. package/dist/esm/plugins/collab-edit/ui/styles.js +2 -3
  250. package/dist/esm/plugins/date/index.js +4 -3
  251. package/dist/esm/plugins/expand/ui/styles.js +2 -3
  252. package/dist/esm/plugins/floating-toolbar/ui/Dropdown.js +1 -1
  253. package/dist/esm/plugins/floating-toolbar/ui/DropdownMenu.js +5 -1
  254. package/dist/esm/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +1 -1
  255. package/dist/esm/plugins/floating-toolbar/ui/ScrollButtons.js +2 -4
  256. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +5 -5
  257. package/dist/esm/plugins/grid/index.js +72 -36
  258. package/dist/esm/plugins/history/pm-history-types.js +1 -2
  259. package/dist/esm/plugins/history/utils.js +1 -1
  260. package/dist/esm/plugins/hyperlink/HyperlinkToolbarAppearance.js +4 -2
  261. package/dist/esm/plugins/hyperlink/Toolbar.js +4 -3
  262. package/dist/esm/plugins/hyperlink/commands.js +3 -3
  263. package/dist/esm/plugins/hyperlink/index.js +7 -5
  264. package/dist/esm/plugins/hyperlink/pm-plugins/input-rule.js +3 -3
  265. package/dist/esm/plugins/hyperlink/pm-plugins/keymap.js +1 -2
  266. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  267. package/dist/esm/plugins/insert-block/index.js +1 -1
  268. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +40 -44
  269. package/dist/esm/plugins/layout/styles.js +3 -1
  270. package/dist/esm/plugins/list/actions/conversions.js +1 -1
  271. package/dist/esm/plugins/list/commands/listBackspace.js +1 -1
  272. package/dist/esm/plugins/list/pm-plugins/main.js +1 -1
  273. package/dist/esm/plugins/list/transforms.js +1 -1
  274. package/dist/esm/plugins/list/utils/analytics.js +1 -1
  275. package/dist/esm/plugins/list/utils/find.js +1 -1
  276. package/dist/esm/plugins/list/utils/indentation.js +1 -1
  277. package/dist/esm/plugins/list/utils/node.js +2 -12
  278. package/dist/esm/plugins/list/utils/selection.js +1 -1
  279. package/dist/esm/plugins/macro/actions.js +1 -1
  280. package/dist/esm/plugins/media/commands/linking.js +1 -1
  281. package/dist/esm/plugins/media/index.js +1 -1
  282. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +31 -17
  283. package/dist/esm/plugins/media/pm-plugins/alt-text/index.js +1 -1
  284. package/dist/esm/plugins/media/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
  285. package/dist/esm/plugins/media/toolbar/filePreviewItem.js +1 -1
  286. package/dist/esm/plugins/media/toolbar/linking-toolbar-appearance.js +1 -1
  287. package/dist/esm/plugins/media/ui/ImageBorder/styles.js +4 -0
  288. package/dist/esm/plugins/media/ui/MediaLinkingToolbar.js +2 -2
  289. package/dist/esm/plugins/media/ui/ResizableMediaSingle/index.js +13 -3
  290. package/dist/esm/plugins/media/utils/media-single.js +5 -51
  291. package/dist/esm/plugins/paste/edge-cases/index.js +1 -1
  292. package/dist/esm/plugins/paste/edge-cases/lists.js +1 -1
  293. package/dist/esm/plugins/paste/handlers.js +11 -4
  294. package/dist/esm/plugins/paste/pm-plugins/analytics.js +1 -1
  295. package/dist/esm/plugins/paste/pm-plugins/main.js +2 -3
  296. package/dist/esm/plugins/quick-insert/commands.js +1 -1
  297. package/dist/esm/plugins/rule/pm-plugins/input-rule.js +1 -1
  298. package/dist/esm/plugins/selection/commands.js +2 -1
  299. package/dist/esm/plugins/selection/utils.js +1 -1
  300. package/dist/esm/plugins/status/plugin.js +9 -3
  301. package/dist/esm/plugins/status/ui/statusPicker.js +2 -2
  302. package/dist/esm/plugins/type-ahead/insert-utils.js +1 -2
  303. package/dist/esm/plugins/type-ahead/ui/TypeAheadPopup.js +2 -2
  304. package/dist/esm/plugins/width/index.js +12 -0
  305. package/dist/esm/ui/Alignment/styles.js +1 -2
  306. package/dist/esm/ui/Appearance/Comment/Toolbar.js +2 -3
  307. package/dist/esm/ui/Appearance/FullPage/MainToolbar.js +1 -2
  308. package/dist/esm/ui/ColorPickerButton/index.js +16 -9
  309. package/dist/esm/ui/ConfigPanel/ErrorMessage/ErrorImage.js +1 -2
  310. package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +6 -2
  311. package/dist/esm/ui/ConfigPanel/Fields/Expand.js +3 -4
  312. package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +1 -2
  313. package/dist/esm/ui/ConfigPanel/Fields/SelectItem.js +1 -2
  314. package/dist/esm/ui/ConfigPanel/NestedForms/RemovableField.js +1 -2
  315. package/dist/esm/ui/ContentStyles/index.js +3 -3
  316. package/dist/esm/ui/ElementBrowser/InsertMenu.js +2 -2
  317. package/dist/esm/ui/ElementBrowser/constants.js +3 -0
  318. package/dist/esm/ui/ErrorBoundary/index.js +7 -0
  319. package/dist/esm/ui/Resizer/index.js +4 -4
  320. package/dist/esm/utils/commands.js +1 -1
  321. package/dist/esm/utils/document.js +1 -8
  322. package/dist/esm/utils/index.js +2 -2
  323. package/dist/esm/utils/selection.js +0 -23
  324. package/dist/esm/version-wrapper.js +1 -1
  325. package/dist/esm/version.json +1 -1
  326. package/dist/types/create-editor/ErrorBoundary.d.ts +2 -0
  327. package/dist/types/create-editor/ReactEditorViewInternal.d.ts +2 -1
  328. package/dist/types/labs/next/presets/create-stub-internal-apis.d.ts +0 -3
  329. package/dist/types/labs/next/presets/cxhtml.d.ts +63 -3
  330. package/dist/types/labs/next/presets/default.d.ts +129 -6
  331. package/dist/types/labs/next/presets/mobile.d.ts +63 -3
  332. package/dist/types/plugins/analytics/index.d.ts +1 -1
  333. package/dist/types/plugins/analytics/plugin-key.d.ts +6 -0
  334. package/dist/types/plugins/analytics/plugin.d.ts +9 -2
  335. package/dist/types/plugins/analytics/utils.d.ts +16 -3
  336. package/dist/types/plugins/base/index.d.ts +4 -0
  337. package/dist/types/plugins/base/pm-plugins/decoration.d.ts +8 -0
  338. package/dist/types/plugins/caption/index.d.ts +4 -1
  339. package/dist/types/plugins/caption/pm-plugins/main.d.ts +2 -1
  340. package/dist/types/plugins/card/index.d.ts +11 -1
  341. package/dist/types/plugins/card/nodeviews/embedCard.d.ts +1 -1
  342. package/dist/types/plugins/card/nodeviews/genericCard.d.ts +3 -0
  343. package/dist/types/plugins/card/pm-plugins/analytics/types.d.ts +2 -0
  344. package/dist/types/plugins/card/pm-plugins/analytics/utils.d.ts +8 -2
  345. package/dist/types/plugins/card/pm-plugins/doc.d.ts +7 -7
  346. package/dist/types/plugins/card/pm-plugins/main.d.ts +3 -1
  347. package/dist/types/plugins/card/pm-plugins/util/resolve.d.ts +2 -1
  348. package/dist/types/plugins/card/toolbar.d.ts +7 -4
  349. package/dist/types/plugins/card/types.d.ts +1 -0
  350. package/dist/types/plugins/card/ui/EditLinkToolbar.d.ts +4 -2
  351. package/dist/types/plugins/card/ui/LinkToolbarAppearance.d.ts +2 -0
  352. package/dist/types/plugins/date/index.d.ts +3 -2
  353. package/dist/types/plugins/date/ui/DatePicker/date-picker-input.d.ts +1 -1
  354. package/dist/types/plugins/date/ui/DatePicker/index.d.ts +1 -1
  355. package/dist/types/plugins/grid/index.d.ts +14 -7
  356. package/dist/types/plugins/grid/types.d.ts +3 -2
  357. package/dist/types/plugins/history/pm-history-types.d.ts +0 -1
  358. package/dist/types/plugins/hyperlink/HyperlinkToolbarAppearance.d.ts +2 -0
  359. package/dist/types/plugins/hyperlink/Toolbar.d.ts +2 -1
  360. package/dist/types/plugins/hyperlink/commands.d.ts +1 -1
  361. package/dist/types/plugins/hyperlink/index.d.ts +6 -2
  362. package/dist/types/plugins/insert-block/index.d.ts +6 -4
  363. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +3 -3
  364. package/dist/types/plugins/list/utils/node.d.ts +2 -6
  365. package/dist/types/plugins/media/index.d.ts +2 -1
  366. package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +4 -1
  367. package/dist/types/plugins/media/nodeviews/types.d.ts +4 -0
  368. package/dist/types/plugins/media/ui/ResizableMediaSingle/index.d.ts +1 -1
  369. package/dist/types/plugins/media/ui/ResizableMediaSingle/types.d.ts +1 -1
  370. package/dist/types/plugins/media/utils/media-single.d.ts +2 -15
  371. package/dist/types/plugins/paste/pm-plugins/main.d.ts +0 -1
  372. package/dist/types/plugins/width/index.d.ts +9 -1
  373. package/dist/types/types/performance-tracking.d.ts +1 -323
  374. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +5 -5
  375. package/dist/types/ui/ColorPickerButton/index.d.ts +6 -1
  376. package/dist/types/ui/ContentStyles/index.d.ts +2 -2
  377. package/dist/types/ui/ElementBrowser/components/CategoryList.d.ts +1 -1
  378. package/dist/types/ui/ElementBrowser/components/ElementList/ElementList.d.ts +1 -1
  379. package/dist/types/ui/Resizer/types.d.ts +1 -1
  380. package/dist/types/utils/document.d.ts +0 -4
  381. package/dist/types/utils/index.d.ts +2 -2
  382. package/dist/types/utils/selection.d.ts +1 -2
  383. package/dist/types-ts4.5/create-editor/ErrorBoundary.d.ts +2 -0
  384. package/dist/types-ts4.5/create-editor/ReactEditorViewInternal.d.ts +2 -1
  385. package/dist/types-ts4.5/labs/next/presets/create-stub-internal-apis.d.ts +0 -3
  386. package/dist/types-ts4.5/labs/next/presets/cxhtml.d.ts +73 -3
  387. package/dist/types-ts4.5/labs/next/presets/default.d.ts +149 -6
  388. package/dist/types-ts4.5/labs/next/presets/mobile.d.ts +73 -3
  389. package/dist/types-ts4.5/plugins/analytics/index.d.ts +1 -1
  390. package/dist/types-ts4.5/plugins/analytics/plugin-key.d.ts +6 -0
  391. package/dist/types-ts4.5/plugins/analytics/plugin.d.ts +10 -2
  392. package/dist/types-ts4.5/plugins/analytics/utils.d.ts +16 -3
  393. package/dist/types-ts4.5/plugins/base/index.d.ts +4 -0
  394. package/dist/types-ts4.5/plugins/base/pm-plugins/decoration.d.ts +8 -0
  395. package/dist/types-ts4.5/plugins/caption/index.d.ts +6 -1
  396. package/dist/types-ts4.5/plugins/caption/pm-plugins/main.d.ts +2 -1
  397. package/dist/types-ts4.5/plugins/card/index.d.ts +9 -1
  398. package/dist/types-ts4.5/plugins/card/nodeviews/embedCard.d.ts +1 -1
  399. package/dist/types-ts4.5/plugins/card/nodeviews/genericCard.d.ts +3 -0
  400. package/dist/types-ts4.5/plugins/card/pm-plugins/analytics/types.d.ts +2 -0
  401. package/dist/types-ts4.5/plugins/card/pm-plugins/analytics/utils.d.ts +8 -2
  402. package/dist/types-ts4.5/plugins/card/pm-plugins/doc.d.ts +7 -7
  403. package/dist/types-ts4.5/plugins/card/pm-plugins/main.d.ts +3 -1
  404. package/dist/types-ts4.5/plugins/card/pm-plugins/util/resolve.d.ts +2 -1
  405. package/dist/types-ts4.5/plugins/card/toolbar.d.ts +7 -4
  406. package/dist/types-ts4.5/plugins/card/types.d.ts +1 -0
  407. package/dist/types-ts4.5/plugins/card/ui/EditLinkToolbar.d.ts +4 -2
  408. package/dist/types-ts4.5/plugins/card/ui/LinkToolbarAppearance.d.ts +2 -0
  409. package/dist/types-ts4.5/plugins/date/index.d.ts +3 -1
  410. package/dist/types-ts4.5/plugins/date/ui/DatePicker/date-picker-input.d.ts +1 -1
  411. package/dist/types-ts4.5/plugins/date/ui/DatePicker/index.d.ts +1 -1
  412. package/dist/types-ts4.5/plugins/grid/index.d.ts +16 -7
  413. package/dist/types-ts4.5/plugins/grid/types.d.ts +3 -2
  414. package/dist/types-ts4.5/plugins/history/pm-history-types.d.ts +0 -1
  415. package/dist/types-ts4.5/plugins/hyperlink/HyperlinkToolbarAppearance.d.ts +2 -0
  416. package/dist/types-ts4.5/plugins/hyperlink/Toolbar.d.ts +2 -1
  417. package/dist/types-ts4.5/plugins/hyperlink/commands.d.ts +1 -1
  418. package/dist/types-ts4.5/plugins/hyperlink/index.d.ts +4 -2
  419. package/dist/types-ts4.5/plugins/insert-block/index.d.ts +4 -4
  420. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +3 -3
  421. package/dist/types-ts4.5/plugins/list/utils/node.d.ts +2 -6
  422. package/dist/types-ts4.5/plugins/media/index.d.ts +3 -1
  423. package/dist/types-ts4.5/plugins/media/nodeviews/mediaSingle.d.ts +4 -1
  424. package/dist/types-ts4.5/plugins/media/nodeviews/types.d.ts +4 -0
  425. package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/index.d.ts +1 -1
  426. package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/types.d.ts +1 -1
  427. package/dist/types-ts4.5/plugins/media/utils/media-single.d.ts +2 -15
  428. package/dist/types-ts4.5/plugins/paste/pm-plugins/main.d.ts +0 -1
  429. package/dist/types-ts4.5/plugins/width/index.d.ts +9 -1
  430. package/dist/types-ts4.5/types/performance-tracking.d.ts +1 -323
  431. package/dist/types-ts4.5/ui/Appearance/FullPage/StyledComponents.d.ts +5 -5
  432. package/dist/types-ts4.5/ui/ColorPickerButton/index.d.ts +6 -1
  433. package/dist/types-ts4.5/ui/ContentStyles/index.d.ts +2 -2
  434. package/dist/types-ts4.5/ui/ElementBrowser/components/CategoryList.d.ts +1 -1
  435. package/dist/types-ts4.5/ui/ElementBrowser/components/ElementList/ElementList.d.ts +1 -1
  436. package/dist/types-ts4.5/ui/Resizer/types.d.ts +1 -1
  437. package/dist/types-ts4.5/utils/document.d.ts +0 -4
  438. package/dist/types-ts4.5/utils/index.d.ts +2 -2
  439. package/dist/types-ts4.5/utils/selection.d.ts +1 -2
  440. package/package.json +30 -23
  441. package/report.api.md +80 -151
  442. package/dist/cjs/analytics-api/api.js +0 -32
  443. package/dist/cjs/analytics-api/attach-payload-into-transaction.js +0 -36
  444. package/dist/cjs/analytics-api/editor-state-context.js +0 -77
  445. package/dist/cjs/analytics-api/map-attributes.js +0 -23
  446. package/dist/cjs/insert-api/api.js +0 -43
  447. package/dist/cjs/insert-api/insert-content-handlers.js +0 -94
  448. package/dist/cjs/insert-api/insert-node-helpers.js +0 -133
  449. package/dist/cjs/insert-api/types.js +0 -5
  450. package/dist/cjs/plugins/floating-toolbar/ui/Button.js +0 -93
  451. package/dist/cjs/plugins/hyperlink/analytics.js +0 -23
  452. package/dist/cjs/plugins/hyperlink/utils.js +0 -183
  453. package/dist/cjs/plugins/paste/md-plugins/ignore-list-heading-md-plugin.js +0 -47
  454. package/dist/cjs/plugins/paste/md-plugins/linkify-md-plugin.js +0 -135
  455. package/dist/cjs/plugins/paste/md-plugins/newline-md-plugin.js +0 -67
  456. package/dist/cjs/plugins/paste/md-plugins/paragraph-md-plugin.js +0 -73
  457. package/dist/cjs/plugins/paste/md.js +0 -31
  458. package/dist/cjs/plugins/undo-redo/undo-redo-input-source.js +0 -26
  459. package/dist/cjs/types/get-editor-props.js +0 -5
  460. package/dist/cjs/utils/get-editor-plugins.js +0 -30
  461. package/dist/cjs/utils/insert.js +0 -251
  462. package/dist/cjs/utils/sendLogs.js +0 -12
  463. package/dist/es2019/analytics-api/api.js +0 -28
  464. package/dist/es2019/analytics-api/attach-payload-into-transaction.js +0 -32
  465. package/dist/es2019/analytics-api/editor-state-context.js +0 -74
  466. package/dist/es2019/analytics-api/map-attributes.js +0 -14
  467. package/dist/es2019/insert-api/api.js +0 -42
  468. package/dist/es2019/insert-api/insert-content-handlers.js +0 -84
  469. package/dist/es2019/insert-api/insert-node-helpers.js +0 -137
  470. package/dist/es2019/insert-api/types.js +0 -1
  471. package/dist/es2019/plugins/floating-toolbar/ui/Button.js +0 -85
  472. package/dist/es2019/plugins/hyperlink/analytics.js +0 -17
  473. package/dist/es2019/plugins/hyperlink/utils.js +0 -149
  474. package/dist/es2019/plugins/paste/md-plugins/ignore-list-heading-md-plugin.js +0 -43
  475. package/dist/es2019/plugins/paste/md-plugins/linkify-md-plugin.js +0 -128
  476. package/dist/es2019/plugins/paste/md-plugins/newline-md-plugin.js +0 -58
  477. package/dist/es2019/plugins/paste/md-plugins/paragraph-md-plugin.js +0 -64
  478. package/dist/es2019/plugins/paste/md.js +0 -23
  479. package/dist/es2019/plugins/undo-redo/undo-redo-input-source.js +0 -17
  480. package/dist/es2019/types/get-editor-props.js +0 -1
  481. package/dist/es2019/utils/get-editor-plugins.js +0 -23
  482. package/dist/es2019/utils/insert.js +0 -244
  483. package/dist/es2019/utils/sendLogs.js +0 -1
  484. package/dist/esm/analytics-api/api.js +0 -25
  485. package/dist/esm/analytics-api/attach-payload-into-transaction.js +0 -29
  486. package/dist/esm/analytics-api/editor-state-context.js +0 -69
  487. package/dist/esm/analytics-api/map-attributes.js +0 -16
  488. package/dist/esm/insert-api/api.js +0 -36
  489. package/dist/esm/insert-api/insert-content-handlers.js +0 -86
  490. package/dist/esm/insert-api/insert-node-helpers.js +0 -123
  491. package/dist/esm/insert-api/types.js +0 -1
  492. package/dist/esm/plugins/floating-toolbar/ui/Button.js +0 -85
  493. package/dist/esm/plugins/hyperlink/analytics.js +0 -17
  494. package/dist/esm/plugins/hyperlink/utils.js +0 -168
  495. package/dist/esm/plugins/paste/md-plugins/ignore-list-heading-md-plugin.js +0 -41
  496. package/dist/esm/plugins/paste/md-plugins/linkify-md-plugin.js +0 -128
  497. package/dist/esm/plugins/paste/md-plugins/newline-md-plugin.js +0 -60
  498. package/dist/esm/plugins/paste/md-plugins/paragraph-md-plugin.js +0 -66
  499. package/dist/esm/plugins/paste/md.js +0 -23
  500. package/dist/esm/plugins/undo-redo/undo-redo-input-source.js +0 -18
  501. package/dist/esm/types/get-editor-props.js +0 -1
  502. package/dist/esm/utils/get-editor-plugins.js +0 -23
  503. package/dist/esm/utils/insert.js +0 -241
  504. package/dist/esm/utils/sendLogs.js +0 -1
  505. package/dist/types/analytics-api/api.d.ts +0 -9
  506. package/dist/types/analytics-api/attach-payload-into-transaction.d.ts +0 -10
  507. package/dist/types/analytics-api/editor-state-context.d.ts +0 -9
  508. package/dist/types/analytics-api/map-attributes.d.ts +0 -2
  509. package/dist/types/insert-api/api.d.ts +0 -9
  510. package/dist/types/insert-api/insert-content-handlers.d.ts +0 -9
  511. package/dist/types/insert-api/insert-node-helpers.d.ts +0 -30
  512. package/dist/types/insert-api/types.d.ts +0 -16
  513. package/dist/types/plugins/floating-toolbar/ui/Button.d.ts +0 -30
  514. package/dist/types/plugins/hyperlink/analytics.d.ts +0 -2
  515. package/dist/types/plugins/hyperlink/utils.d.ts +0 -25
  516. package/dist/types/plugins/paste/md-plugins/ignore-list-heading-md-plugin.d.ts +0 -2
  517. package/dist/types/plugins/paste/md-plugins/linkify-md-plugin.d.ts +0 -2
  518. package/dist/types/plugins/paste/md-plugins/newline-md-plugin.d.ts +0 -2
  519. package/dist/types/plugins/paste/md-plugins/paragraph-md-plugin.d.ts +0 -2
  520. package/dist/types/plugins/paste/md.d.ts +0 -2
  521. package/dist/types/plugins/undo-redo/undo-redo-input-source.d.ts +0 -3
  522. package/dist/types/types/get-editor-props.d.ts +0 -12
  523. package/dist/types/utils/get-editor-plugins.d.ts +0 -10
  524. package/dist/types/utils/insert.d.ts +0 -24
  525. package/dist/types/utils/sendLogs.d.ts +0 -1
  526. package/dist/types-ts4.5/analytics-api/api.d.ts +0 -9
  527. package/dist/types-ts4.5/analytics-api/attach-payload-into-transaction.d.ts +0 -10
  528. package/dist/types-ts4.5/analytics-api/editor-state-context.d.ts +0 -9
  529. package/dist/types-ts4.5/analytics-api/map-attributes.d.ts +0 -2
  530. package/dist/types-ts4.5/insert-api/api.d.ts +0 -9
  531. package/dist/types-ts4.5/insert-api/insert-content-handlers.d.ts +0 -9
  532. package/dist/types-ts4.5/insert-api/insert-node-helpers.d.ts +0 -30
  533. package/dist/types-ts4.5/insert-api/types.d.ts +0 -16
  534. package/dist/types-ts4.5/plugins/floating-toolbar/ui/Button.d.ts +0 -30
  535. package/dist/types-ts4.5/plugins/hyperlink/analytics.d.ts +0 -2
  536. package/dist/types-ts4.5/plugins/hyperlink/utils.d.ts +0 -25
  537. package/dist/types-ts4.5/plugins/paste/md-plugins/ignore-list-heading-md-plugin.d.ts +0 -2
  538. package/dist/types-ts4.5/plugins/paste/md-plugins/linkify-md-plugin.d.ts +0 -2
  539. package/dist/types-ts4.5/plugins/paste/md-plugins/newline-md-plugin.d.ts +0 -2
  540. package/dist/types-ts4.5/plugins/paste/md-plugins/paragraph-md-plugin.d.ts +0 -2
  541. package/dist/types-ts4.5/plugins/paste/md.d.ts +0 -2
  542. package/dist/types-ts4.5/plugins/undo-redo/undo-redo-input-source.d.ts +0 -3
  543. package/dist/types-ts4.5/types/get-editor-props.d.ts +0 -12
  544. package/dist/types-ts4.5/utils/get-editor-plugins.d.ts +0 -10
  545. package/dist/types-ts4.5/utils/insert.d.ts +0 -24
  546. package/dist/types-ts4.5/utils/sendLogs.d.ts +0 -1
@@ -4,8 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.appearanceForLink = appearanceForLink;
7
- exports.findLinksAtPositions = void 0;
7
+ exports.findLinksAtPositions = exports.areSameLinks = void 0;
8
8
  exports.findLinksInNode = findLinksInNode;
9
+ exports.getLinkNodeContext = void 0;
9
10
  exports.getLinkUrl = getLinkUrl;
10
11
  exports.isLink = void 0;
11
12
  exports.isLinkNode = isLinkNode;
@@ -61,15 +62,18 @@ var isLink = function isLink(schema, node) {
61
62
  * @returns Array of nodes and marks found in the fragment that are "links"
62
63
  */
63
64
  exports.isLink = isLink;
64
- function findLinksInNode(schema, node, offset) {
65
+ function findLinksInNode(doc, schema, node, offset) {
65
66
  var links = [];
66
67
  node.descendants(function (node, pos) {
68
+ var nodeContext = getLinkNodeContext(doc, pos);
69
+
67
70
  // Nodes
68
71
  if (isLinkNode(node)) {
69
72
  links.push({
70
73
  type: 'node',
71
74
  pos: pos + offset,
72
- node: node
75
+ node: node,
76
+ nodeContext: nodeContext
73
77
  });
74
78
  }
75
79
 
@@ -81,7 +85,8 @@ function findLinksInNode(schema, node, offset) {
81
85
  links.push({
82
86
  type: 'mark',
83
87
  pos: pos + offset,
84
- mark: mark
88
+ mark: mark,
89
+ nodeContext: nodeContext
85
90
  });
86
91
  }
87
92
  }
@@ -97,12 +102,26 @@ function getLinkUrl(link) {
97
102
  }
98
103
  return (_link$mark$attrs = link.mark.attrs) === null || _link$mark$attrs === void 0 ? void 0 : _link$mark$attrs.href;
99
104
  }
100
- var linkObjectFromNode = function linkObjectFromNode(schema, node, pos) {
105
+ var getLinkNodeContext = function getLinkNodeContext(doc, pos) {
106
+ var $pos = doc.resolve(pos);
107
+ var maxDepth = 3;
108
+ for (var i = 0; i <= maxDepth; i++) {
109
+ var node = $pos.node($pos.depth - i);
110
+ if (node && node.type.name !== 'paragraph') {
111
+ return node.type.name;
112
+ }
113
+ }
114
+ return 'unknown';
115
+ };
116
+ exports.getLinkNodeContext = getLinkNodeContext;
117
+ var linkObjectFromNode = function linkObjectFromNode(doc, schema, node, pos) {
118
+ var nodeContext = getLinkNodeContext(doc, pos);
101
119
  if (isLinkNode(node)) {
102
120
  return {
103
121
  type: 'node',
104
122
  pos: pos,
105
- node: node
123
+ node: node,
124
+ nodeContext: nodeContext
106
125
  };
107
126
  }
108
127
  if (node.marks) {
@@ -112,7 +131,8 @@ var linkObjectFromNode = function linkObjectFromNode(schema, node, pos) {
112
131
  return {
113
132
  type: 'mark',
114
133
  pos: pos,
115
- mark: mark
134
+ mark: mark,
135
+ nodeContext: nodeContext
116
136
  };
117
137
  }
118
138
  }
@@ -128,7 +148,7 @@ var findLinksAtPositions = function findLinksAtPositions(tr, positions) {
128
148
  if (!node) {
129
149
  continue;
130
150
  }
131
- var link = linkObjectFromNode(schema, node, pos);
151
+ var link = linkObjectFromNode(tr.doc, schema, node, pos);
132
152
  if (!link) {
133
153
  continue;
134
154
  }
@@ -136,4 +156,23 @@ var findLinksAtPositions = function findLinksAtPositions(tr, positions) {
136
156
  }
137
157
  return links;
138
158
  };
139
- exports.findLinksAtPositions = findLinksAtPositions;
159
+
160
+ /**
161
+ * Returns whether or not two sets of links appear to likely be the same set of links
162
+ * That they are in the same order and that both their hrefs and appearances match
163
+ */
164
+ exports.findLinksAtPositions = findLinksAtPositions;
165
+ var areSameLinks = function areSameLinks(linksA, linksB) {
166
+ if (linksA.length !== linksB.length) {
167
+ return false;
168
+ }
169
+ for (var i = 0; i < linksA.length; i++) {
170
+ var linkA = linksA[i];
171
+ var linkB = linksB[i];
172
+ if (getLinkUrl(linkA) !== getLinkUrl(linkB) || appearanceForLink(linkA) !== appearanceForLink(linkB)) {
173
+ return false;
174
+ }
175
+ }
176
+ return true;
177
+ };
178
+ exports.areSameLinks = areSameLinks;
@@ -11,12 +11,11 @@ var _prosemirrorState = require("prosemirror-state");
11
11
  var _prosemirrorHistory = require("prosemirror-history");
12
12
  var _adfSchema = require("@atlaskit/adf-schema");
13
13
  var _card = require("@atlaskit/editor-common/card");
14
- var _analytics = require("../../../plugins/analytics");
14
+ var _analytics = require("@atlaskit/editor-common/analytics");
15
15
  var _nodeEvents = require("../../../plugins/analytics/types/node-events");
16
- var _analytics2 = require("../../../plugins/hyperlink/analytics");
17
16
  var _utils = require("../../../utils");
18
17
  var _linkingUtils = require("../../../utils/linking-utils");
19
- var _utils2 = require("../../hyperlink/utils");
18
+ var _utils2 = require("@atlaskit/editor-common/utils");
20
19
  var _utils3 = require("../utils");
21
20
  var _actions = require("./actions");
22
21
  var _pluginKey = require("./plugin-key");
@@ -53,7 +52,7 @@ function replaceLinksToCards(tr, cardAdf, schema, request) {
53
52
  tr.replaceWith(pos, pos + (node.text || url).length, nodes);
54
53
  return $pos.node($pos.depth - 1).type.name;
55
54
  }
56
- var replaceQueuedUrlWithCard = function replaceQueuedUrlWithCard(url, cardData, analyticsAction) {
55
+ var replaceQueuedUrlWithCard = function replaceQueuedUrlWithCard(url, cardData, analyticsAction, editorAnalyticsApi) {
57
56
  return function (editorState, dispatch) {
58
57
  var state = _pluginKey.pluginKey.getState(editorState);
59
58
  if (!state) {
@@ -100,7 +99,7 @@ var replaceQueuedUrlWithCard = function replaceQueuedUrlWithCard(url, cardData,
100
99
  */
101
100
  var inputMethod = requests[0].source;
102
101
  var sourceEvent = requests[0].sourceEvent;
103
- (0, _analytics.addAnalytics)(editorState, tr, {
102
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
104
103
  action: analyticsAction || _analytics.ACTION.INSERTED,
105
104
  actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
106
105
  actionSubjectId: _analytics.ACTION_SUBJECT_ID.SMART_LINK,
@@ -114,7 +113,7 @@ var replaceQueuedUrlWithCard = function replaceQueuedUrlWithCard(url, cardData,
114
113
  nonPrivacySafeAttributes: {
115
114
  domainName: domainName
116
115
  }
117
- });
116
+ })(tr);
118
117
  (0, _card.addLinkMetadata)(editorState.selection, tr, {
119
118
  action: analyticsAction,
120
119
  inputMethod: inputMethod,
@@ -130,7 +129,7 @@ var replaceQueuedUrlWithCard = function replaceQueuedUrlWithCard(url, cardData,
130
129
  };
131
130
  };
132
131
  exports.replaceQueuedUrlWithCard = replaceQueuedUrlWithCard;
133
- var handleFallbackWithAnalytics = function handleFallbackWithAnalytics(request) {
132
+ var handleFallbackWithAnalytics = function handleFallbackWithAnalytics(request, editorAnalyticsApi) {
134
133
  return function (state, dispatch) {
135
134
  var cardState = _pluginKey.pluginKey.getState(state);
136
135
  if (!cardState) {
@@ -138,7 +137,7 @@ var handleFallbackWithAnalytics = function handleFallbackWithAnalytics(request)
138
137
  }
139
138
  var tr = state.tr;
140
139
  if (request.source !== _analytics.INPUT_METHOD.FLOATING_TB) {
141
- (0, _analytics.addAnalytics)(state, tr, (0, _analytics2.getLinkCreationAnalyticsEvent)(request.source, request.url));
140
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent((0, _utils2.getLinkCreationAnalyticsEvent)(request.source, request.url))(tr);
142
141
  }
143
142
  (0, _card.addLinkMetadata)(state.selection, tr, {
144
143
  action: request.analyticsAction,
@@ -253,7 +252,7 @@ var convertHyperlinkToSmartCard = function convertHyperlinkToSmartCard(state, so
253
252
  return (0, _actions.queueCards)(requests)(state.tr);
254
253
  };
255
254
  exports.convertHyperlinkToSmartCard = convertHyperlinkToSmartCard;
256
- var changeSelectedCardToLink = function changeSelectedCardToLink(text, href, sendAnalytics, node, pos) {
255
+ var changeSelectedCardToLink = function changeSelectedCardToLink(text, href, sendAnalytics, node, pos, editorAnalyticsApi) {
257
256
  return function (state, dispatch) {
258
257
  var tr;
259
258
  if (node && pos) {
@@ -264,7 +263,7 @@ var changeSelectedCardToLink = function changeSelectedCardToLink(text, href, sen
264
263
  var selectedNode = state.selection instanceof _prosemirrorState.NodeSelection && state.selection.node;
265
264
  if (sendAnalytics) {
266
265
  if (selectedNode) {
267
- (0, _analytics.addAnalytics)(state, tr, {
266
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
268
267
  action: _analytics.ACTION.CHANGED_TYPE,
269
268
  actionSubject: _analytics.ACTION_SUBJECT.SMART_LINK,
270
269
  eventType: _analytics.EVENT_TYPE.TRACK,
@@ -272,7 +271,7 @@ var changeSelectedCardToLink = function changeSelectedCardToLink(text, href, sen
272
271
  newType: _nodeEvents.SMART_LINK_TYPE.URL,
273
272
  previousType: (0, _utils3.appearanceForNodeType)(selectedNode.type)
274
273
  }
275
- });
274
+ })(tr);
276
275
  }
277
276
  }
278
277
  if (dispatch) {
@@ -282,7 +281,7 @@ var changeSelectedCardToLink = function changeSelectedCardToLink(text, href, sen
282
281
  };
283
282
  };
284
283
  exports.changeSelectedCardToLink = changeSelectedCardToLink;
285
- var changeSelectedCardToLinkFallback = function changeSelectedCardToLinkFallback(text, href, sendAnalytics, node, pos) {
284
+ var changeSelectedCardToLinkFallback = function changeSelectedCardToLinkFallback(text, href, sendAnalytics, node, pos, editorAnalyticsApi) {
286
285
  return function (state, dispatch) {
287
286
  var tr;
288
287
  if (node && pos) {
@@ -291,14 +290,14 @@ var changeSelectedCardToLinkFallback = function changeSelectedCardToLinkFallback
291
290
  tr = cardToLinkWithTransaction(state, text, href);
292
291
  }
293
292
  if (sendAnalytics) {
294
- (0, _analytics.addAnalytics)(state, tr, {
293
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
295
294
  action: _analytics.ACTION.ERRORED,
296
295
  actionSubject: _analytics.ACTION_SUBJECT.SMART_LINK,
297
296
  eventType: _analytics.EVENT_TYPE.OPERATIONAL,
298
297
  attributes: {
299
298
  error: 'Smart card falling back to link.'
300
299
  }
301
- });
300
+ })(tr);
302
301
  }
303
302
  if (dispatch) {
304
303
  dispatch(tr.scrollIntoView());
@@ -342,7 +341,7 @@ function cardNodeToLinkWithTransaction(state, text, href, node, pos) {
342
341
  href: href || url
343
342
  })]));
344
343
  }
345
- var changeSelectedCardToText = function changeSelectedCardToText(text) {
344
+ var changeSelectedCardToText = function changeSelectedCardToText(text, editorAnalyticsApi) {
346
345
  return function (state, dispatch) {
347
346
  var selectedNode = state.selection instanceof _prosemirrorState.NodeSelection && state.selection.node;
348
347
  if (!selectedNode) {
@@ -353,14 +352,15 @@ var changeSelectedCardToText = function changeSelectedCardToText(text) {
353
352
  (0, _card.addLinkMetadata)(state.selection, tr, {
354
353
  action: _analytics.ACTION.UNLINK
355
354
  });
356
- (0, _analytics.addAnalytics)(state, tr.scrollIntoView(), (0, _linkingUtils.unlinkPayload)(_analytics.ACTION_SUBJECT_ID.CARD_INLINE));
355
+ tr.scrollIntoView();
356
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent((0, _linkingUtils.unlinkPayload)(_analytics.ACTION_SUBJECT_ID.CARD_INLINE))(tr);
357
357
  dispatch(tr);
358
358
  }
359
359
  return true;
360
360
  };
361
361
  };
362
362
  exports.changeSelectedCardToText = changeSelectedCardToText;
363
- var setSelectedCardAppearance = function setSelectedCardAppearance(appearance) {
363
+ var setSelectedCardAppearance = function setSelectedCardAppearance(appearance, editorAnalyticsApi) {
364
364
  return function (state, dispatch) {
365
365
  var _previousNode$type;
366
366
  var selectedNode = state.selection instanceof _prosemirrorState.NodeSelection && state.selection.node;
@@ -399,7 +399,7 @@ var setSelectedCardAppearance = function setSelectedCardAppearance(appearance) {
399
399
  if ((previousNode === null || previousNode === void 0 ? void 0 : (_previousNode$type = previousNode.type) === null || _previousNode$type === void 0 ? void 0 : _previousNode$type.name) === 'paragraph') {
400
400
  tr.delete(previousNodePos, from);
401
401
  }
402
- (0, _analytics.addAnalytics)(state, tr, {
402
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
403
403
  action: _analytics.ACTION.CHANGED_TYPE,
404
404
  actionSubject: _analytics.ACTION_SUBJECT.SMART_LINK,
405
405
  eventType: _analytics.EVENT_TYPE.TRACK,
@@ -407,7 +407,7 @@ var setSelectedCardAppearance = function setSelectedCardAppearance(appearance) {
407
407
  newType: appearance,
408
408
  previousType: (0, _utils3.appearanceForNodeType)(selectedNode.type)
409
409
  }
410
- });
410
+ })(tr);
411
411
  (0, _card.addLinkMetadata)(state.selection, tr, {
412
412
  action: _analytics.ACTION.CHANGED_TYPE
413
413
  });
@@ -23,7 +23,7 @@ var _reducers = _interopRequireDefault(require("./reducers"));
23
23
  var _resolve = require("./util/resolve");
24
24
  var _state = require("./util/state");
25
25
  var _analytics = require("./analytics");
26
- var createPlugin = function createPlugin(options) {
26
+ var createPlugin = function createPlugin(options, pluginInjectionApi) {
27
27
  return function (pmPluginFactoryParams) {
28
28
  var lpAnalyticsEventsNext = pmPluginFactoryParams.featureFlags.lpAnalyticsEventsNext;
29
29
  var analyticsQueue = (0, _analytics.createAnalyticsQueue)(!!lpAnalyticsEventsNext);
@@ -93,7 +93,8 @@ var createPlugin = function createPlugin(options) {
93
93
  * other tasks as per common implementations of the JavaScript event loop in browsers.
94
94
  */
95
95
  var invoke = (0, _rafSchd.default)(function () {
96
- return (0, _resolve.resolveWithProvider)(view, provider, request, options);
96
+ var _pluginInjectionApi$d;
97
+ return (0, _resolve.resolveWithProvider)(view, provider, request, options, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d = pluginInjectionApi.dependencies.analytics) === null || _pluginInjectionApi$d === void 0 ? void 0 : _pluginInjectionApi$d.actions);
97
98
  });
98
99
  rafCancellationCallbacks.push(invoke.cancel);
99
100
  invoke();
@@ -139,7 +140,8 @@ var createPlugin = function createPlugin(options) {
139
140
  allowResizing: allowResizing,
140
141
  platform: platform,
141
142
  fullWidthMode: fullWidthMode,
142
- dispatchAnalyticsEvent: dispatchAnalyticsEvent
143
+ dispatchAnalyticsEvent: dispatchAnalyticsEvent,
144
+ pluginInjectionApi: pluginInjectionApi
143
145
  };
144
146
  var hasIntlContext = true;
145
147
  return new _embedCard.EmbedCard(node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, undefined, true, undefined, hasIntlContext).init();
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.shouldReplaceLink = shouldReplaceLink;
7
7
  var _adfSchema = require("@atlaskit/adf-schema");
8
- var _md = require("../../paste/md");
8
+ var _paste = require("@atlaskit/editor-common/paste");
9
9
  function shouldReplaceLink(node) {
10
10
  var compareLinkText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
11
11
  var compareToUrl = arguments.length > 2 ? arguments[2] : undefined;
@@ -20,13 +20,13 @@ function shouldReplaceLink(node) {
20
20
  // ED-6041: compare normalised link text after linkfy from Markdown transformer
21
21
  // instead, since it always decodes URL ('%20' -> ' ') on the link text
22
22
 
23
- var normalisedHref = (0, _adfSchema.normalizeUrl)(_md.md.normalizeLinkText(linkMark.attrs.href));
24
- var normalizedLinkText = (0, _adfSchema.normalizeUrl)(_md.md.normalizeLinkText(node.text || ''));
23
+ var normalisedHref = (0, _adfSchema.normalizeUrl)(_paste.md.normalizeLinkText(linkMark.attrs.href));
24
+ var normalizedLinkText = (0, _adfSchema.normalizeUrl)(_paste.md.normalizeLinkText(node.text || ''));
25
25
  if (compareLinkText && normalisedHref !== normalizedLinkText) {
26
26
  return false;
27
27
  }
28
28
  if (compareToUrl) {
29
- var normalizedUrl = (0, _adfSchema.normalizeUrl)(_md.md.normalizeLinkText(compareToUrl));
29
+ var normalizedUrl = (0, _adfSchema.normalizeUrl)(_paste.md.normalizeLinkText(compareToUrl));
30
30
  if (normalizedUrl !== normalisedHref) {
31
31
  return false;
32
32
  }
@@ -11,14 +11,14 @@ var _doc = require("../doc");
11
11
  // ============================================================================ //
12
12
  // Used for all interactions with the EditorCardProvider.
13
13
  // ============================================================================ //
14
- var resolveWithProvider = function resolveWithProvider(view, provider, request, options) {
14
+ var resolveWithProvider = function resolveWithProvider(view, provider, request, options, editorAnalyticsApi) {
15
15
  // When user manually changes appearance from blue link to smart link, we should respect that,
16
16
  var shouldForceAppearance =
17
17
  // This flag is set to true only in one place atm:
18
18
  // packages/editor/editor-core/src/plugins/card/pm-plugins/doc.ts @ convertHyperlinkToSmartCard
19
19
  // Which is used when user switching from URL to smart link appearance.
20
20
  !!request.shouldReplaceLink;
21
- var handleResolve = provider.resolve(request.url, request.appearance, shouldForceAppearance).then(handleResolved(view, request, options), handleRejected(view, request));
21
+ var handleResolve = provider.resolve(request.url, request.appearance, shouldForceAppearance).then(handleResolved(view, request, editorAnalyticsApi, options), handleRejected(view, request, editorAnalyticsApi));
22
22
  return handleResolve;
23
23
  };
24
24
  exports.resolveWithProvider = resolveWithProvider;
@@ -31,16 +31,16 @@ var updateCardType = function updateCardType(resolvedCard, options) {
31
31
  resolvedCard.type = 'inlineCard';
32
32
  }
33
33
  };
34
- var handleResolved = function handleResolved(view, request, options) {
34
+ var handleResolved = function handleResolved(view, request, editorAnalyticsApi, options) {
35
35
  return function (resolvedCard) {
36
36
  updateCardType(resolvedCard, options);
37
- (0, _doc.replaceQueuedUrlWithCard)(request.url, resolvedCard, request.analyticsAction)(view.state, view.dispatch);
37
+ (0, _doc.replaceQueuedUrlWithCard)(request.url, resolvedCard, request.analyticsAction, editorAnalyticsApi)(view.state, view.dispatch);
38
38
  return resolvedCard;
39
39
  };
40
40
  };
41
- var handleRejected = function handleRejected(view, request) {
41
+ var handleRejected = function handleRejected(view, request, editorAnalyticsApi) {
42
42
  return function () {
43
- (0, _doc.handleFallbackWithAnalytics)(request)(view.state, view.dispatch);
43
+ (0, _doc.handleFallbackWithAnalytics)(request, editorAnalyticsApi)(view.state, view.dispatch);
44
44
  };
45
45
  };
46
46
 
@@ -15,9 +15,7 @@ var _remove = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/remove
15
15
  var _unlink = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/unlink"));
16
16
  var _settings = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/settings"));
17
17
  var _shortcut = _interopRequireDefault(require("@atlaskit/icon/glyph/shortcut"));
18
- var _analytics = require("../analytics");
19
18
  var _messages = _interopRequireWildcard(require("../../messages"));
20
- var _decoration = require("../base/pm-plugins/decoration");
21
19
  var _doc = require("./pm-plugins/doc");
22
20
  var _card = require("@atlaskit/editor-common/card");
23
21
  var _main = require("./pm-plugins/main");
@@ -30,63 +28,77 @@ var _messages2 = require("./messages");
30
28
  var _MediaAndEmbedsToolbar = _interopRequireDefault(require("../../ui/MediaAndEmbedsToolbar"));
31
29
  var _linkingUtils = require("../../utils/linking-utils");
32
30
  var _styles2 = require("./styles");
31
+ var _analytics = require("@atlaskit/editor-common/analytics");
33
32
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
34
33
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
34
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
36
35
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
- var removeCard = (0, _card.commandWithMetadata)(function (state, dispatch) {
38
- if (!(state.selection instanceof _prosemirrorState.NodeSelection)) {
39
- return false;
40
- }
41
- var type = state.selection.node.type.name;
42
- var payload = {
43
- action: _analytics.ACTION.DELETED,
44
- actionSubject: _analytics.ACTION_SUBJECT.SMART_LINK,
45
- actionSubjectId: type,
46
- attributes: {
47
- inputMethod: _analytics.INPUT_METHOD.TOOLBAR,
48
- displayMode: type
49
- },
50
- eventType: _analytics.EVENT_TYPE.TRACK
51
- };
52
- if (dispatch) {
53
- dispatch((0, _analytics.addAnalytics)(state, (0, _prosemirrorUtils.removeSelectedNode)(state.tr), payload));
54
- }
55
- return true;
56
- }, {
57
- action: _analytics.ACTION.DELETED
58
- });
36
+ var removeCard = function removeCard(editorAnalyticsApi) {
37
+ return (0, _card.commandWithMetadata)(function (state, dispatch) {
38
+ if (!(state.selection instanceof _prosemirrorState.NodeSelection)) {
39
+ return false;
40
+ }
41
+ var type = state.selection.node.type.name;
42
+ var payload = {
43
+ action: _analytics.ACTION.DELETED,
44
+ actionSubject: _analytics.ACTION_SUBJECT.SMART_LINK,
45
+ actionSubjectId: type,
46
+ attributes: {
47
+ inputMethod: _analytics.INPUT_METHOD.TOOLBAR,
48
+ displayMode: type
49
+ },
50
+ eventType: _analytics.EVENT_TYPE.TRACK
51
+ };
52
+ if (dispatch) {
53
+ var tr = state.tr;
54
+ (0, _prosemirrorUtils.removeSelectedNode)(tr);
55
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent(payload)(tr);
56
+ dispatch(tr);
57
+ }
58
+ return true;
59
+ }, {
60
+ action: _analytics.ACTION.DELETED
61
+ });
62
+ };
59
63
  exports.removeCard = removeCard;
60
- var visitCardLink = function visitCardLink(state, dispatch) {
61
- if (!(state.selection instanceof _prosemirrorState.NodeSelection)) {
62
- return false;
63
- }
64
- var type = state.selection.node.type;
65
- var _titleUrlPairFromNode = (0, _utils.titleUrlPairFromNode)(state.selection.node),
66
- url = _titleUrlPairFromNode.url;
64
+ var visitCardLink = function visitCardLink(editorAnalyticsApi) {
65
+ return function (state, dispatch) {
66
+ if (!(state.selection instanceof _prosemirrorState.NodeSelection)) {
67
+ return false;
68
+ }
69
+ var type = state.selection.node.type;
70
+ var _titleUrlPairFromNode = (0, _utils.titleUrlPairFromNode)(state.selection.node),
71
+ url = _titleUrlPairFromNode.url;
67
72
 
68
- // All card links should open in the same tab per https://product-fabric.atlassian.net/browse/MS-1583.
69
- // We are in edit mode here, open the smart card URL in a new window.
70
- window.open(url);
71
- if (dispatch) {
72
- dispatch((0, _analytics.addAnalytics)(state, state.tr, (0, _linkingUtils.buildVisitedLinkPayload)(type.name)));
73
- }
74
- return true;
73
+ // All card links should open in the same tab per https://product-fabric.atlassian.net/browse/MS-1583.
74
+ // We are in edit mode here, open the smart card URL in a new window.
75
+ window.open(url);
76
+ if (dispatch) {
77
+ var tr = state.tr;
78
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent((0, _linkingUtils.buildVisitedLinkPayload)(type.name))(tr);
79
+ dispatch(tr);
80
+ }
81
+ return true;
82
+ };
75
83
  };
76
84
  exports.visitCardLink = visitCardLink;
77
- var openLinkSettings = function openLinkSettings(state, dispatch) {
78
- if (!(state.selection instanceof _prosemirrorState.NodeSelection)) {
79
- return false;
80
- }
81
- window.open('https://id.atlassian.com/manage-profile/link-preferences');
82
- if (dispatch) {
83
- var type = state.selection.node.type;
84
- dispatch((0, _analytics.addAnalytics)(state, state.tr, (0, _linkingUtils.buildOpenedSettingsPayload)(type.name)));
85
- }
86
- return true;
85
+ var openLinkSettings = function openLinkSettings(editorAnalyticsApi) {
86
+ return function (state, dispatch) {
87
+ if (!(state.selection instanceof _prosemirrorState.NodeSelection)) {
88
+ return false;
89
+ }
90
+ window.open('https://id.atlassian.com/manage-profile/link-preferences');
91
+ if (dispatch) {
92
+ var tr = state.tr,
93
+ type = state.selection.node.type;
94
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent((0, _linkingUtils.buildOpenedSettingsPayload)(type.name))(tr);
95
+ dispatch(tr);
96
+ }
97
+ return true;
98
+ };
87
99
  };
88
100
  exports.openLinkSettings = openLinkSettings;
89
- var floatingToolbar = function floatingToolbar(cardOptions, featureFlags, platform, linkPickerOptions) {
101
+ var floatingToolbar = function floatingToolbar(cardOptions, featureFlags, platform, linkPickerOptions, pluginInjectionApi) {
90
102
  return function (state, intl, providerFactory) {
91
103
  var _state$schema$nodes = state.schema.nodes,
92
104
  inlineCard = _state$schema$nodes.inlineCard,
@@ -135,18 +147,18 @@ var floatingToolbar = function floatingToolbar(cardOptions, featureFlags, platfo
135
147
  }
136
148
  return element;
137
149
  },
138
- items: generateToolbarItems(state, featureFlags, intl, providerFactory, cardOptions, platform, linkPickerOptions),
150
+ items: generateToolbarItems(state, featureFlags, intl, providerFactory, cardOptions, platform, linkPickerOptions, pluginInjectionApi),
139
151
  scrollable: pluginState.showLinkingToolbar ? false : true,
140
152
  focusTrap: shouldEnableFocusTrap && pluginState.showLinkingToolbar
141
153
  }, (0, _EditLinkToolbar.editLinkToolbarConfig)(pluginState.showLinkingToolbar, isLinkPickerEnabled));
142
154
  };
143
155
  };
144
156
  exports.floatingToolbar = floatingToolbar;
145
- var unlinkCard = function unlinkCard(node, state) {
157
+ var unlinkCard = function unlinkCard(node, state, editorAnalyticsApi) {
146
158
  var displayInfo = (0, _utils.displayInfoForCard)(node, (0, _utils.findCardInfo)(state));
147
159
  var text = displayInfo.title || displayInfo.url;
148
160
  if (text) {
149
- return (0, _card.commandWithMetadata)((0, _doc.changeSelectedCardToText)(text), {
161
+ return (0, _card.commandWithMetadata)((0, _doc.changeSelectedCardToText)(text, editorAnalyticsApi), {
150
162
  action: _analytics.ACTION.UNLINK
151
163
  });
152
164
  }
@@ -162,10 +174,13 @@ var withToolbarMetadata = function withToolbarMetadata(command) {
162
174
  inputMethod: _analytics.INPUT_METHOD.FLOATING_TB
163
175
  });
164
176
  };
165
- var generateToolbarItems = function generateToolbarItems(state, featureFlags, intl, providerFactory, cardOptions, platform, linkPicker) {
177
+ var generateToolbarItems = function generateToolbarItems(state, featureFlags, intl, providerFactory, cardOptions, platform, linkPicker, pluginInjectionApi) {
166
178
  return function (node) {
179
+ var _pluginInjectionApi$d, _pluginInjectionApi$d2, _pluginInjectionApi$d3, _pluginInjectionApi$d4;
167
180
  var _titleUrlPairFromNode2 = (0, _utils.titleUrlPairFromNode)(node),
168
181
  url = _titleUrlPairFromNode2.url;
182
+ var _ref = (_pluginInjectionApi$d = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d2 = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d2 === void 0 ? void 0 : _pluginInjectionApi$d2.analytics) !== null && _pluginInjectionApi$d !== void 0 ? _pluginInjectionApi$d : {},
183
+ editorAnalyticsApi = _ref.actions;
169
184
  var metadata = {};
170
185
  if (url && !(0, _adfSchema.isSafeUrl)(url)) {
171
186
  return [];
@@ -179,6 +194,7 @@ var generateToolbarItems = function generateToolbarItems(state, featureFlags, in
179
194
  }
180
195
  var pluginState = _main.pluginKey.getState(state);
181
196
  var currentAppearance = (0, _utils.appearanceForNodeType)(node.type);
197
+ var hoverDecoration = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d3 = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d3 === void 0 ? void 0 : (_pluginInjectionApi$d4 = _pluginInjectionApi$d3.base) === null || _pluginInjectionApi$d4 === void 0 ? void 0 : _pluginInjectionApi$d4.actions.hoverDecoration;
182
198
 
183
199
  /* mobile builds toolbar natively using toolbarItems */
184
200
  if (pluginState.showLinkingToolbar && platform !== 'mobile') {
@@ -186,7 +202,8 @@ var generateToolbarItems = function generateToolbarItems(state, featureFlags, in
186
202
  providerFactory: providerFactory,
187
203
  linkPicker: linkPicker,
188
204
  node: node,
189
- featureFlags: featureFlags
205
+ featureFlags: featureFlags,
206
+ editorAnalyticsApi: editorAnalyticsApi
190
207
  })];
191
208
  } else {
192
209
  var inlineCard = state.schema.nodes.inlineCard;
@@ -198,7 +215,7 @@ var generateToolbarItems = function generateToolbarItems(state, featureFlags, in
198
215
  title: intl.formatMessage(_messages.linkToolbarMessages.editLink),
199
216
  showTitle: true,
200
217
  testId: 'link-toolbar-edit-link-button',
201
- onClick: _EditLinkToolbar.editLink
218
+ onClick: (0, _EditLinkToolbar.editLink)(editorAnalyticsApi)
202
219
  }, {
203
220
  type: 'separator'
204
221
  }, {
@@ -208,10 +225,10 @@ var generateToolbarItems = function generateToolbarItems(state, featureFlags, in
208
225
  metadata: metadata,
209
226
  className: 'hyperlink-open-link',
210
227
  title: intl.formatMessage(_messages.linkMessages.openLink),
211
- onClick: visitCardLink
228
+ onClick: visitCardLink(editorAnalyticsApi)
212
229
  }, {
213
230
  type: 'separator'
214
- }].concat((0, _toConsumableArray2.default)(getUnlinkButtonGroup(state, intl, node, inlineCard)), [{
231
+ }].concat((0, _toConsumableArray2.default)(getUnlinkButtonGroup(state, intl, node, inlineCard, editorAnalyticsApi)), [{
215
232
  type: 'copy-button',
216
233
  items: [{
217
234
  state: state,
@@ -220,18 +237,18 @@ var generateToolbarItems = function generateToolbarItems(state, featureFlags, in
220
237
  }, {
221
238
  type: 'separator'
222
239
  }]
223
- }], (0, _toConsumableArray2.default)(getSettingsButtonGroup(state, featureFlags, intl)), [{
240
+ }], (0, _toConsumableArray2.default)(getSettingsButtonGroup(state, featureFlags, intl, editorAnalyticsApi)), [{
224
241
  id: 'editor.link.delete',
225
242
  focusEditoronEnter: true,
226
243
  type: 'button',
227
244
  appearance: 'danger',
228
245
  icon: _remove.default,
229
- onMouseEnter: (0, _decoration.hoverDecoration)(node.type, true),
230
- onMouseLeave: (0, _decoration.hoverDecoration)(node.type, false),
231
- onFocus: (0, _decoration.hoverDecoration)(node.type, true),
232
- onBlur: (0, _decoration.hoverDecoration)(node.type, false),
246
+ onMouseEnter: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(node.type, true),
247
+ onMouseLeave: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(node.type, false),
248
+ onFocus: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(node.type, true),
249
+ onBlur: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(node.type, false),
233
250
  title: intl.formatMessage(_messages.default.remove),
234
- onClick: withToolbarMetadata(removeCard)
251
+ onClick: withToolbarMetadata(removeCard(editorAnalyticsApi))
235
252
  }]);
236
253
  if (currentAppearance === 'embed') {
237
254
  var alignmentOptions = buildAlignmentOptions(state, intl, cardOptions);
@@ -261,7 +278,8 @@ var generateToolbarItems = function generateToolbarItems(state, featureFlags, in
261
278
  editorState: state,
262
279
  allowEmbeds: allowEmbeds,
263
280
  allowBlockCards: allowBlockCards,
264
- platform: platform
281
+ platform: platform,
282
+ editorAnalyticsApi: editorAnalyticsApi
265
283
  });
266
284
  }
267
285
  }, {
@@ -272,26 +290,26 @@ var generateToolbarItems = function generateToolbarItems(state, featureFlags, in
272
290
  }
273
291
  };
274
292
  };
275
- var getUnlinkButtonGroup = function getUnlinkButtonGroup(state, intl, node, inlineCard) {
293
+ var getUnlinkButtonGroup = function getUnlinkButtonGroup(state, intl, node, inlineCard, editorAnalyticsApi) {
276
294
  return node.type === inlineCard ? [{
277
295
  id: 'editor.link.unlink',
278
296
  focusEditoronEnter: true,
279
297
  type: 'button',
280
298
  title: intl.formatMessage(_messages.linkToolbarMessages.unlink),
281
299
  icon: _unlink.default,
282
- onClick: withToolbarMetadata(unlinkCard(node, state))
300
+ onClick: withToolbarMetadata(unlinkCard(node, state, editorAnalyticsApi))
283
301
  }, {
284
302
  type: 'separator'
285
303
  }] : [];
286
304
  };
287
- var getSettingsButtonGroup = function getSettingsButtonGroup(state, featureFlags, intl) {
305
+ var getSettingsButtonGroup = function getSettingsButtonGroup(state, featureFlags, intl, editorAnalyticsApi) {
288
306
  var floatingToolbarLinkSettingsButton = featureFlags.floatingToolbarLinkSettingsButton;
289
307
  return floatingToolbarLinkSettingsButton === 'true' ? [{
290
308
  id: 'editor.link.settings',
291
309
  type: 'button',
292
310
  icon: _settings.default,
293
311
  title: intl.formatMessage(_messages.linkToolbarMessages.settingsLink),
294
- onClick: openLinkSettings
312
+ onClick: openLinkSettings(editorAnalyticsApi)
295
313
  }, {
296
314
  type: 'separator'
297
315
  }] : [];