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