@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
@@ -5,20 +5,19 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
5
5
  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) { _defineProperty(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; }
6
6
  import { AddMarkStep, RemoveMarkStep } from 'prosemirror-transform';
7
7
  import { ACTION } from '@atlaskit/editor-common/analytics';
8
- import { isLinkMark } from '@atlaskit/editor-common/utils';
8
+ import { isLinkMark, pmHistoryPluginKey } from '@atlaskit/editor-common/utils';
9
9
  import { getLinkMetadataFromTransaction } from '@atlaskit/editor-common/card';
10
10
  import { LinkMetaStep } from '@atlaskit/adf-schema/steps';
11
- import { pmHistoryPluginKey } from '../../../history/pm-history-types';
12
11
  import { getPluginState } from '../util/state';
13
12
  import { pluginKey } from '../plugin-key';
14
- import { isLink, linkObjectFromNode, getLinkUrl, appearanceForLink, findLinksAtPositions } from './utils';
15
- var findLinksInNodeRange = function findLinksInNodeRange(node, schema, from, to) {
13
+ import { isLink, linkObjectFromNode, getLinkUrl, getLinkNodeContext, appearanceForLink, findLinksAtPositions, areSameLinks } from './utils';
14
+ var findLinksInNodeRange = function findLinksInNodeRange(doc, schema, from, to) {
16
15
  var links = [];
17
- node.nodesBetween(from, to, function (node, pos) {
16
+ doc.nodesBetween(from, to, function (node, pos) {
18
17
  if (isLink(schema, node)) {
19
18
  var entireLinkInRange = pos >= from && pos + node.nodeSize <= to;
20
19
  if (entireLinkInRange) {
21
- var link = linkObjectFromNode(schema, node, pos);
20
+ var link = linkObjectFromNode(doc, schema, node, pos);
22
21
  if (link) {
23
22
  links.push(link);
24
23
  }
@@ -41,10 +40,13 @@ export var findChangedLinks = function findChangedLinks(tr, state) {
41
40
  var isRedo = isHistoryMeta(historyMeta) && historyMeta.redo === true;
42
41
  var isUpdate = isUpdateTr(tr, isUndo || isRedo);
43
42
  var _loop = function _loop(i) {
43
+ var _tr$docs$i, _tr$docs;
44
44
  var step = tr.steps[i];
45
45
  var stepMap = step.getMap();
46
46
  var removedInStep = [];
47
47
  var insertedInStep = [];
48
+ var before = (_tr$docs$i = tr.docs[i]) !== null && _tr$docs$i !== void 0 ? _tr$docs$i : tr.before;
49
+ var after = (_tr$docs = tr.docs[i + 1]) !== null && _tr$docs !== void 0 ? _tr$docs : tr.doc;
48
50
 
49
51
  /**
50
52
  * AddMarkStep and RemoveMarkSteps don't produce stepMap ranges
@@ -60,27 +62,26 @@ export var findChangedLinks = function findChangedLinks(tr, state) {
60
62
  insertedInStep.push({
61
63
  type: 'mark',
62
64
  pos: addMarkStep.from,
63
- mark: addMarkStep.mark
65
+ mark: addMarkStep.mark,
66
+ nodeContext: getLinkNodeContext(after, addMarkStep.from)
64
67
  });
65
68
  }
66
69
  }
67
70
  if (step instanceof RemoveMarkStep) {
68
71
  var removeMarkStep = step;
69
72
  if (isLinkMark(removeMarkStep.mark, schema)) {
70
- /**
71
- * For url text pasted on plain text
72
- */
73
73
  removedInStep.push({
74
74
  type: 'mark',
75
75
  pos: removeMarkStep.from,
76
- mark: removeMarkStep.mark
76
+ mark: removeMarkStep.mark,
77
+ nodeContext: getLinkNodeContext(before, removeMarkStep.from)
77
78
  });
78
79
  }
79
80
  }
80
81
  stepMap.forEach(function (oldStart, oldEnd, newStart, newEnd) {
81
- var _tr$docs;
82
+ var _tr$docs2;
82
83
  var before = tr.docs[i];
83
- var after = (_tr$docs = tr.docs[i + 1]) !== null && _tr$docs !== void 0 ? _tr$docs : tr.doc;
84
+ var after = (_tr$docs2 = tr.docs[i + 1]) !== null && _tr$docs2 !== void 0 ? _tr$docs2 : tr.doc;
84
85
  var removedInRange = [];
85
86
  var insertedInRange = [];
86
87
 
@@ -129,6 +130,19 @@ export var findChangedLinks = function findChangedLinks(tr, state) {
129
130
  inserted.push.apply(inserted, _toConsumableArray(findLinksAtPositions(tr, positions)));
130
131
  }
131
132
  if (!isUpdate) {
133
+ var _getLinkMetadataFromT = getLinkMetadataFromTransaction(tr),
134
+ inputMethod = _getLinkMetadataFromT.inputMethod;
135
+ /**
136
+ * If there is no identifiable input method, and the links inserted and removed appear to be the same,
137
+ * then this transaction likely is not intended to be consided to be the insertion and removal of links
138
+ */
139
+ if (!inputMethod && areSameLinks(removed, inserted)) {
140
+ return {
141
+ removed: [],
142
+ inserted: [],
143
+ updated: updated
144
+ };
145
+ }
132
146
  return {
133
147
  removed: removed,
134
148
  inserted: inserted,
@@ -264,10 +278,10 @@ export function eventsFromTransaction(tr, state) {
264
278
  /**
265
279
  * Retrieve metadata from the LinkMetaStep(s) in the transaction
266
280
  */
267
- var _getLinkMetadataFromT = getLinkMetadataFromTransaction(tr),
268
- action = _getLinkMetadataFromT.action,
269
- inputMethod = _getLinkMetadataFromT.inputMethod,
270
- sourceEvent = _getLinkMetadataFromT.sourceEvent;
281
+ var _getLinkMetadataFromT2 = getLinkMetadataFromTransaction(tr),
282
+ action = _getLinkMetadataFromT2.action,
283
+ inputMethod = _getLinkMetadataFromT2.inputMethod,
284
+ sourceEvent = _getLinkMetadataFromT2.sourceEvent;
271
285
  var contextualData = {
272
286
  action: action,
273
287
  inputMethod: inputMethod,
@@ -279,7 +293,7 @@ export function eventsFromTransaction(tr, state) {
279
293
  removed = _findChangedLinks.removed,
280
294
  inserted = _findChangedLinks.inserted,
281
295
  updated = _findChangedLinks.updated;
282
- var MAX_LINK_EVENTS = 10;
296
+ var MAX_LINK_EVENTS = 50;
283
297
  if ([removed, inserted, updated].some(function (arr) {
284
298
  return arr.length > MAX_LINK_EVENTS;
285
299
  })) {
@@ -298,7 +312,8 @@ export function eventsFromTransaction(tr, state) {
298
312
  data: _objectSpread(_objectSpread({}, contextualData), {}, {
299
313
  url: url,
300
314
  display: display,
301
- previousDisplay: previousDisplay
315
+ previousDisplay: previousDisplay,
316
+ nodeContext: link.nodeContext
302
317
  })
303
318
  });
304
319
  }
@@ -313,7 +328,8 @@ export function eventsFromTransaction(tr, state) {
313
328
  type: type,
314
329
  data: _objectSpread(_objectSpread({}, contextualData), {}, {
315
330
  url: _url,
316
- display: _display
331
+ display: _display,
332
+ nodeContext: _link.nodeContext
317
333
  })
318
334
  });
319
335
  }
@@ -48,15 +48,18 @@ export var isLink = function 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
  var links = [];
53
53
  node.descendants(function (node, pos) {
54
+ var 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: node
61
+ node: node,
62
+ nodeContext: 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: mark
74
+ mark: mark,
75
+ nodeContext: 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 var linkObjectFromNode = function linkObjectFromNode(schema, node, pos) {
91
+ export var getLinkNodeContext = function getLinkNodeContext(doc, pos) {
92
+ var $pos = doc.resolve(pos);
93
+ var maxDepth = 3;
94
+ for (var i = 0; i <= maxDepth; i++) {
95
+ var 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 var linkObjectFromNode = function linkObjectFromNode(doc, schema, node, pos) {
103
+ var nodeContext = getLinkNodeContext(doc, pos);
88
104
  if (isLinkNode(node)) {
89
105
  return {
90
106
  type: 'node',
91
107
  pos: pos,
92
- node: node
108
+ node: node,
109
+ nodeContext: nodeContext
93
110
  };
94
111
  }
95
112
  if (node.marks) {
@@ -99,7 +116,8 @@ export var linkObjectFromNode = function linkObjectFromNode(schema, node, pos) {
99
116
  return {
100
117
  type: 'mark',
101
118
  pos: pos,
102
- mark: mark
119
+ mark: mark,
120
+ nodeContext: nodeContext
103
121
  };
104
122
  }
105
123
  }
@@ -114,11 +132,29 @@ export var findLinksAtPositions = function findLinksAtPositions(tr, positions) {
114
132
  if (!node) {
115
133
  continue;
116
134
  }
117
- var link = linkObjectFromNode(schema, node, pos);
135
+ var 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 var areSameLinks = function areSameLinks(linksA, linksB) {
149
+ if (linksA.length !== linksB.length) {
150
+ return false;
151
+ }
152
+ for (var i = 0; i < linksA.length; i++) {
153
+ var linkA = linksA[i];
154
+ var linkB = linksB[i];
155
+ if (getLinkUrl(linkA) !== getLinkUrl(linkB) || appearanceForLink(linkA) !== appearanceForLink(linkB)) {
156
+ return false;
157
+ }
158
+ }
159
+ return true;
124
160
  };
@@ -6,12 +6,11 @@ import { NodeSelection, TextSelection } from 'prosemirror-state';
6
6
  import { closeHistory } from 'prosemirror-history';
7
7
  import { isSafeUrl } from '@atlaskit/adf-schema';
8
8
  import { addLinkMetadata } from '@atlaskit/editor-common/card';
9
- import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, addAnalytics, EVENT_TYPE, INPUT_METHOD } from '../../../plugins/analytics';
9
+ import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
10
10
  import { SMART_LINK_TYPE } from '../../../plugins/analytics/types/node-events';
11
- import { getLinkCreationAnalyticsEvent } from '../../../plugins/hyperlink/analytics';
12
11
  import { nodesBetweenChanged, processRawValue } from '../../../utils';
13
12
  import { unlinkPayload } from '../../../utils/linking-utils';
14
- import { isFromCurrentDomain } from '../../hyperlink/utils';
13
+ import { isFromCurrentDomain, getLinkCreationAnalyticsEvent } from '@atlaskit/editor-common/utils';
15
14
  import { appearanceForNodeType, selectedCardAppearance } from '../utils';
16
15
  import { queueCards, resolveCard } from './actions';
17
16
  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 var replaceQueuedUrlWithCard = function replaceQueuedUrlWithCard(url, cardData, analyticsAction) {
49
+ export var replaceQueuedUrlWithCard = function replaceQueuedUrlWithCard(url, cardData, analyticsAction, editorAnalyticsApi) {
51
50
  return function (editorState, dispatch) {
52
51
  var state = pluginKey.getState(editorState);
53
52
  if (!state) {
@@ -94,7 +93,7 @@ export var replaceQueuedUrlWithCard = function replaceQueuedUrlWithCard(url, car
94
93
  */
95
94
  var inputMethod = requests[0].source;
96
95
  var sourceEvent = requests[0].sourceEvent;
97
- addAnalytics(editorState, tr, {
96
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
98
97
  action: analyticsAction || ACTION.INSERTED,
99
98
  actionSubject: ACTION_SUBJECT.DOCUMENT,
100
99
  actionSubjectId: ACTION_SUBJECT_ID.SMART_LINK,
@@ -108,7 +107,7 @@ export var replaceQueuedUrlWithCard = function replaceQueuedUrlWithCard(url, car
108
107
  nonPrivacySafeAttributes: {
109
108
  domainName: domainName
110
109
  }
111
- });
110
+ })(tr);
112
111
  addLinkMetadata(editorState.selection, tr, {
113
112
  action: analyticsAction,
114
113
  inputMethod: inputMethod,
@@ -123,7 +122,7 @@ export var replaceQueuedUrlWithCard = function replaceQueuedUrlWithCard(url, car
123
122
  return true;
124
123
  };
125
124
  };
126
- export var handleFallbackWithAnalytics = function handleFallbackWithAnalytics(request) {
125
+ export var handleFallbackWithAnalytics = function handleFallbackWithAnalytics(request, editorAnalyticsApi) {
127
126
  return function (state, dispatch) {
128
127
  var cardState = pluginKey.getState(state);
129
128
  if (!cardState) {
@@ -131,7 +130,7 @@ export var handleFallbackWithAnalytics = function handleFallbackWithAnalytics(re
131
130
  }
132
131
  var tr = state.tr;
133
132
  if (request.source !== INPUT_METHOD.FLOATING_TB) {
134
- addAnalytics(state, tr, getLinkCreationAnalyticsEvent(request.source, request.url));
133
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent(getLinkCreationAnalyticsEvent(request.source, request.url))(tr);
135
134
  }
136
135
  addLinkMetadata(state.selection, tr, {
137
136
  action: request.analyticsAction,
@@ -242,7 +241,7 @@ export var convertHyperlinkToSmartCard = function convertHyperlinkToSmartCard(st
242
241
  });
243
242
  return queueCards(requests)(state.tr);
244
243
  };
245
- export var changeSelectedCardToLink = function changeSelectedCardToLink(text, href, sendAnalytics, node, pos) {
244
+ export var changeSelectedCardToLink = function changeSelectedCardToLink(text, href, sendAnalytics, node, pos, editorAnalyticsApi) {
246
245
  return function (state, dispatch) {
247
246
  var tr;
248
247
  if (node && pos) {
@@ -253,7 +252,7 @@ export var changeSelectedCardToLink = function changeSelectedCardToLink(text, hr
253
252
  var selectedNode = state.selection instanceof NodeSelection && state.selection.node;
254
253
  if (sendAnalytics) {
255
254
  if (selectedNode) {
256
- addAnalytics(state, tr, {
255
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
257
256
  action: ACTION.CHANGED_TYPE,
258
257
  actionSubject: ACTION_SUBJECT.SMART_LINK,
259
258
  eventType: EVENT_TYPE.TRACK,
@@ -261,7 +260,7 @@ export var changeSelectedCardToLink = function changeSelectedCardToLink(text, hr
261
260
  newType: SMART_LINK_TYPE.URL,
262
261
  previousType: appearanceForNodeType(selectedNode.type)
263
262
  }
264
- });
263
+ })(tr);
265
264
  }
266
265
  }
267
266
  if (dispatch) {
@@ -270,7 +269,7 @@ export var changeSelectedCardToLink = function changeSelectedCardToLink(text, hr
270
269
  return true;
271
270
  };
272
271
  };
273
- export var changeSelectedCardToLinkFallback = function changeSelectedCardToLinkFallback(text, href, sendAnalytics, node, pos) {
272
+ export var changeSelectedCardToLinkFallback = function changeSelectedCardToLinkFallback(text, href, sendAnalytics, node, pos, editorAnalyticsApi) {
274
273
  return function (state, dispatch) {
275
274
  var tr;
276
275
  if (node && pos) {
@@ -279,14 +278,14 @@ export var changeSelectedCardToLinkFallback = function changeSelectedCardToLinkF
279
278
  tr = cardToLinkWithTransaction(state, text, href);
280
279
  }
281
280
  if (sendAnalytics) {
282
- addAnalytics(state, tr, {
281
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
283
282
  action: ACTION.ERRORED,
284
283
  actionSubject: ACTION_SUBJECT.SMART_LINK,
285
284
  eventType: EVENT_TYPE.OPERATIONAL,
286
285
  attributes: {
287
286
  error: 'Smart card falling back to link.'
288
287
  }
289
- });
288
+ })(tr);
290
289
  }
291
290
  if (dispatch) {
292
291
  dispatch(tr.scrollIntoView());
@@ -328,7 +327,7 @@ function cardNodeToLinkWithTransaction(state, text, href, node, pos) {
328
327
  href: href || url
329
328
  })]));
330
329
  }
331
- export var changeSelectedCardToText = function changeSelectedCardToText(text) {
330
+ export var changeSelectedCardToText = function changeSelectedCardToText(text, editorAnalyticsApi) {
332
331
  return function (state, dispatch) {
333
332
  var selectedNode = state.selection instanceof NodeSelection && state.selection.node;
334
333
  if (!selectedNode) {
@@ -339,13 +338,14 @@ export var changeSelectedCardToText = function changeSelectedCardToText(text) {
339
338
  addLinkMetadata(state.selection, tr, {
340
339
  action: ACTION.UNLINK
341
340
  });
342
- addAnalytics(state, tr.scrollIntoView(), unlinkPayload(ACTION_SUBJECT_ID.CARD_INLINE));
341
+ tr.scrollIntoView();
342
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent(unlinkPayload(ACTION_SUBJECT_ID.CARD_INLINE))(tr);
343
343
  dispatch(tr);
344
344
  }
345
345
  return true;
346
346
  };
347
347
  };
348
- export var setSelectedCardAppearance = function setSelectedCardAppearance(appearance) {
348
+ export var setSelectedCardAppearance = function setSelectedCardAppearance(appearance, editorAnalyticsApi) {
349
349
  return function (state, dispatch) {
350
350
  var _previousNode$type;
351
351
  var selectedNode = state.selection instanceof NodeSelection && state.selection.node;
@@ -384,7 +384,7 @@ export var setSelectedCardAppearance = function setSelectedCardAppearance(appear
384
384
  if ((previousNode === null || previousNode === void 0 ? void 0 : (_previousNode$type = previousNode.type) === null || _previousNode$type === void 0 ? void 0 : _previousNode$type.name) === 'paragraph') {
385
385
  tr.delete(previousNodePos, from);
386
386
  }
387
- addAnalytics(state, tr, {
387
+ editorAnalyticsApi === null || editorAnalyticsApi === void 0 ? void 0 : editorAnalyticsApi.attachAnalyticsEvent({
388
388
  action: ACTION.CHANGED_TYPE,
389
389
  actionSubject: ACTION_SUBJECT.SMART_LINK,
390
390
  eventType: EVENT_TYPE.TRACK,
@@ -392,7 +392,7 @@ export var setSelectedCardAppearance = function setSelectedCardAppearance(appear
392
392
  newType: appearance,
393
393
  previousType: appearanceForNodeType(selectedNode.type)
394
394
  }
395
- });
395
+ })(tr);
396
396
  addLinkMetadata(state.selection, tr, {
397
397
  action: ACTION.CHANGED_TYPE
398
398
  });
@@ -11,7 +11,7 @@ import { handleProvider, resolveWithProvider } from './util/resolve';
11
11
  import { getNewRequests, getPluginState, getPluginStateWithUpdatedPos } from './util/state';
12
12
  import { createAnalyticsQueue, eventsFromTransaction } from './analytics';
13
13
  export { pluginKey } from './plugin-key';
14
- export var createPlugin = function createPlugin(options) {
14
+ export var createPlugin = function createPlugin(options, pluginInjectionApi) {
15
15
  return function (pmPluginFactoryParams) {
16
16
  var lpAnalyticsEventsNext = pmPluginFactoryParams.featureFlags.lpAnalyticsEventsNext;
17
17
  var analyticsQueue = createAnalyticsQueue(!!lpAnalyticsEventsNext);
@@ -81,7 +81,8 @@ export var createPlugin = function createPlugin(options) {
81
81
  * other tasks as per common implementations of the JavaScript event loop in browsers.
82
82
  */
83
83
  var invoke = rafSchedule(function () {
84
- return resolveWithProvider(view, provider, request, options);
84
+ var _pluginInjectionApi$d;
85
+ return 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);
85
86
  });
86
87
  rafCancellationCallbacks.push(invoke.cancel);
87
88
  invoke();
@@ -127,7 +128,8 @@ export var createPlugin = function createPlugin(options) {
127
128
  allowResizing: allowResizing,
128
129
  platform: platform,
129
130
  fullWidthMode: fullWidthMode,
130
- dispatchAnalyticsEvent: dispatchAnalyticsEvent
131
+ dispatchAnalyticsEvent: dispatchAnalyticsEvent,
132
+ pluginInjectionApi: pluginInjectionApi
131
133
  };
132
134
  var hasIntlContext = true;
133
135
  return new EmbedCard(node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, undefined, true, undefined, hasIntlContext).init();
@@ -1,5 +1,5 @@
1
1
  import { normalizeUrl } from '@atlaskit/adf-schema';
2
- import { md } from '../../paste/md';
2
+ import { md } from '@atlaskit/editor-common/paste';
3
3
  export function shouldReplaceLink(node) {
4
4
  var compareLinkText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
5
5
  var compareToUrl = arguments.length > 2 ? arguments[2] : undefined;
@@ -5,14 +5,14 @@ import { replaceQueuedUrlWithCard, handleFallbackWithAnalytics } from '../doc';
5
5
  // ============================================================================ //
6
6
  // Used for all interactions with the EditorCardProvider.
7
7
  // ============================================================================ //
8
- export var resolveWithProvider = function resolveWithProvider(view, provider, request, options) {
8
+ export var resolveWithProvider = function resolveWithProvider(view, provider, request, options, editorAnalyticsApi) {
9
9
  // When user manually changes appearance from blue link to smart link, we should respect that,
10
10
  var shouldForceAppearance =
11
11
  // This flag is set to true only in one place atm:
12
12
  // packages/editor/editor-core/src/plugins/card/pm-plugins/doc.ts @ convertHyperlinkToSmartCard
13
13
  // Which is used when user switching from URL to smart link appearance.
14
14
  !!request.shouldReplaceLink;
15
- var handleResolve = provider.resolve(request.url, request.appearance, shouldForceAppearance).then(handleResolved(view, request, options), handleRejected(view, request));
15
+ var handleResolve = provider.resolve(request.url, request.appearance, shouldForceAppearance).then(handleResolved(view, request, editorAnalyticsApi, options), handleRejected(view, request, editorAnalyticsApi));
16
16
  return handleResolve;
17
17
  };
18
18
  var updateCardType = function updateCardType(resolvedCard, options) {
@@ -24,16 +24,16 @@ var updateCardType = function updateCardType(resolvedCard, options) {
24
24
  resolvedCard.type = 'inlineCard';
25
25
  }
26
26
  };
27
- var handleResolved = function handleResolved(view, request, options) {
27
+ var handleResolved = function handleResolved(view, request, editorAnalyticsApi, options) {
28
28
  return function (resolvedCard) {
29
29
  updateCardType(resolvedCard, options);
30
- replaceQueuedUrlWithCard(request.url, resolvedCard, request.analyticsAction)(view.state, view.dispatch);
30
+ replaceQueuedUrlWithCard(request.url, resolvedCard, request.analyticsAction, editorAnalyticsApi)(view.state, view.dispatch);
31
31
  return resolvedCard;
32
32
  };
33
33
  };
34
- var handleRejected = function handleRejected(view, request) {
34
+ var handleRejected = function handleRejected(view, request, editorAnalyticsApi) {
35
35
  return function () {
36
- handleFallbackWithAnalytics(request)(view.state, view.dispatch);
36
+ handleFallbackWithAnalytics(request, editorAnalyticsApi)(view.state, view.dispatch);
37
37
  };
38
38
  };
39
39