@atlaskit/editor-core 183.1.1 → 184.0.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 (268) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/cjs/i18n/da.js +1 -1
  3. package/dist/cjs/i18n/en_ZZ.js +8 -34
  4. package/dist/cjs/i18n/it.js +1 -1
  5. package/dist/cjs/i18n/nb.js +3 -3
  6. package/dist/cjs/i18n/nl.js +4 -4
  7. package/dist/cjs/i18n/pl.js +1 -1
  8. package/dist/cjs/i18n/pt_BR.js +1 -1
  9. package/dist/cjs/i18n/ru.js +1 -1
  10. package/dist/cjs/i18n/th.js +2 -2
  11. package/dist/cjs/i18n/uk.js +1 -1
  12. package/dist/cjs/i18n/vi.js +2 -2
  13. package/dist/cjs/i18n/zh.js +1 -1
  14. package/dist/cjs/labs/next/full-page.js +2 -6
  15. package/dist/cjs/labs/next/presets/create-stub-internal-apis.js +4 -2
  16. package/dist/cjs/labs/next/presets/default.js +2 -2
  17. package/dist/cjs/labs/next/presets/universal.js +2 -1
  18. package/dist/cjs/plugins/breakout/index.js +54 -35
  19. package/dist/cjs/plugins/card/toolbar.js +4 -3
  20. package/dist/cjs/plugins/collab-edit/plugin-state.js +2 -3
  21. package/dist/cjs/plugins/copy-button/commands.js +8 -1
  22. package/dist/cjs/plugins/extension/index.js +1 -1
  23. package/dist/cjs/plugins/extension/nodeviews/extension.js +5 -3
  24. package/dist/cjs/plugins/extension/pm-plugins/main.js +6 -6
  25. package/dist/cjs/plugins/extension/ui/Extension/Extension/index.js +34 -4
  26. package/dist/cjs/plugins/extension/ui/Extension/ExtensionComponent.js +4 -2
  27. package/dist/cjs/plugins/extension/ui/Extension/index.js +4 -2
  28. package/dist/cjs/plugins/help-dialog/index.js +12 -8
  29. package/dist/cjs/plugins/index.js +0 -14
  30. package/dist/cjs/plugins/layout/pm-plugins/main.js +0 -1
  31. package/dist/cjs/plugins/media/index.js +15 -5
  32. package/dist/cjs/plugins/media/nodeviews/mediaNodeView/index.js +22 -14
  33. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +53 -34
  34. package/dist/cjs/plugins/media/styles.js +1 -1
  35. package/dist/cjs/plugins/media/toolbar/index.js +4 -3
  36. package/dist/cjs/plugins/media/ui/ImageBorder/styles.js +4 -1
  37. package/dist/cjs/plugins/paste/pm-plugins/main.js +7 -1
  38. package/dist/cjs/test-utils.js +6 -1
  39. package/dist/cjs/ui/Appearance/Comment/Comment.js +2 -2
  40. package/dist/cjs/ui/Appearance/FullPage/FullPage.js +2 -2
  41. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +1 -2
  42. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +2 -2
  43. package/dist/cjs/ui/ContentStyles/index.js +9 -10
  44. package/dist/cjs/ui/ContextPanel/index.js +67 -56
  45. package/dist/cjs/ui/MediaAndEmbedsToolbar/index.js +10 -11
  46. package/dist/cjs/ui/Resizer/index.js +8 -8
  47. package/dist/cjs/ui/WidthEmitter/index.js +10 -4
  48. package/dist/cjs/utils/clipboard.js +18 -11
  49. package/dist/cjs/utils/performance/instrumented-plugin.js +14 -2
  50. package/dist/cjs/version-wrapper.js +1 -1
  51. package/dist/cjs/version.json +1 -1
  52. package/dist/es2019/i18n/da.js +1 -1
  53. package/dist/es2019/i18n/en_ZZ.js +8 -34
  54. package/dist/es2019/i18n/it.js +1 -1
  55. package/dist/es2019/i18n/nb.js +3 -3
  56. package/dist/es2019/i18n/nl.js +4 -4
  57. package/dist/es2019/i18n/pl.js +1 -1
  58. package/dist/es2019/i18n/pt_BR.js +1 -1
  59. package/dist/es2019/i18n/ru.js +1 -1
  60. package/dist/es2019/i18n/th.js +2 -2
  61. package/dist/es2019/i18n/uk.js +1 -1
  62. package/dist/es2019/i18n/vi.js +2 -2
  63. package/dist/es2019/i18n/zh.js +1 -1
  64. package/dist/es2019/labs/next/full-page.js +2 -5
  65. package/dist/es2019/labs/next/presets/create-stub-internal-apis.js +4 -2
  66. package/dist/es2019/labs/next/presets/default.js +1 -1
  67. package/dist/es2019/labs/next/presets/universal.js +2 -1
  68. package/dist/es2019/plugins/breakout/index.js +48 -31
  69. package/dist/es2019/plugins/card/toolbar.js +4 -3
  70. package/dist/es2019/plugins/collab-edit/plugin-state.js +2 -4
  71. package/dist/es2019/plugins/copy-button/commands.js +9 -2
  72. package/dist/es2019/plugins/extension/index.js +1 -1
  73. package/dist/es2019/plugins/extension/nodeviews/extension.js +5 -3
  74. package/dist/es2019/plugins/extension/pm-plugins/main.js +4 -4
  75. package/dist/es2019/plugins/extension/ui/Extension/Extension/index.js +38 -2
  76. package/dist/es2019/plugins/extension/ui/Extension/ExtensionComponent.js +4 -2
  77. package/dist/es2019/plugins/extension/ui/Extension/index.js +4 -2
  78. package/dist/es2019/plugins/help-dialog/index.js +14 -9
  79. package/dist/es2019/plugins/index.js +0 -2
  80. package/dist/es2019/plugins/layout/pm-plugins/main.js +0 -1
  81. package/dist/es2019/plugins/media/index.js +15 -5
  82. package/dist/es2019/plugins/media/nodeviews/mediaNodeView/index.js +21 -10
  83. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +53 -33
  84. package/dist/es2019/plugins/media/styles.js +1 -7
  85. package/dist/es2019/plugins/media/toolbar/index.js +4 -4
  86. package/dist/es2019/plugins/media/ui/ImageBorder/styles.js +9 -9
  87. package/dist/es2019/plugins/paste/pm-plugins/main.js +7 -1
  88. package/dist/es2019/test-utils.js +6 -1
  89. package/dist/es2019/ui/Appearance/Comment/Comment.js +1 -1
  90. package/dist/es2019/ui/Appearance/FullPage/FullPage.js +1 -1
  91. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +1 -1
  92. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +1 -1
  93. package/dist/es2019/ui/ContentStyles/index.js +1 -2
  94. package/dist/es2019/ui/ContextPanel/index.js +66 -43
  95. package/dist/es2019/ui/MediaAndEmbedsToolbar/index.js +8 -9
  96. package/dist/es2019/ui/Resizer/index.js +1 -1
  97. package/dist/es2019/ui/WidthEmitter/index.js +10 -4
  98. package/dist/es2019/utils/clipboard.js +12 -7
  99. package/dist/es2019/utils/performance/instrumented-plugin.js +15 -2
  100. package/dist/es2019/version-wrapper.js +1 -1
  101. package/dist/es2019/version.json +1 -1
  102. package/dist/esm/i18n/da.js +1 -1
  103. package/dist/esm/i18n/en_ZZ.js +8 -34
  104. package/dist/esm/i18n/it.js +1 -1
  105. package/dist/esm/i18n/nb.js +3 -3
  106. package/dist/esm/i18n/nl.js +4 -4
  107. package/dist/esm/i18n/pl.js +1 -1
  108. package/dist/esm/i18n/pt_BR.js +1 -1
  109. package/dist/esm/i18n/ru.js +1 -1
  110. package/dist/esm/i18n/th.js +2 -2
  111. package/dist/esm/i18n/uk.js +1 -1
  112. package/dist/esm/i18n/vi.js +2 -2
  113. package/dist/esm/i18n/zh.js +1 -1
  114. package/dist/esm/labs/next/full-page.js +2 -5
  115. package/dist/esm/labs/next/presets/create-stub-internal-apis.js +4 -2
  116. package/dist/esm/labs/next/presets/default.js +1 -1
  117. package/dist/esm/labs/next/presets/universal.js +2 -1
  118. package/dist/esm/plugins/breakout/index.js +54 -35
  119. package/dist/esm/plugins/card/toolbar.js +4 -3
  120. package/dist/esm/plugins/collab-edit/plugin-state.js +2 -3
  121. package/dist/esm/plugins/copy-button/commands.js +9 -2
  122. package/dist/esm/plugins/extension/index.js +1 -1
  123. package/dist/esm/plugins/extension/nodeviews/extension.js +5 -3
  124. package/dist/esm/plugins/extension/pm-plugins/main.js +6 -6
  125. package/dist/esm/plugins/extension/ui/Extension/Extension/index.js +33 -2
  126. package/dist/esm/plugins/extension/ui/Extension/ExtensionComponent.js +4 -2
  127. package/dist/esm/plugins/extension/ui/Extension/index.js +4 -2
  128. package/dist/esm/plugins/help-dialog/index.js +12 -8
  129. package/dist/esm/plugins/index.js +0 -2
  130. package/dist/esm/plugins/layout/pm-plugins/main.js +0 -1
  131. package/dist/esm/plugins/media/index.js +15 -5
  132. package/dist/esm/plugins/media/nodeviews/mediaNodeView/index.js +22 -14
  133. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +54 -35
  134. package/dist/esm/plugins/media/styles.js +2 -2
  135. package/dist/esm/plugins/media/toolbar/index.js +4 -3
  136. package/dist/esm/plugins/media/ui/ImageBorder/styles.js +4 -1
  137. package/dist/esm/plugins/paste/pm-plugins/main.js +7 -1
  138. package/dist/esm/test-utils.js +6 -1
  139. package/dist/esm/ui/Appearance/Comment/Comment.js +1 -1
  140. package/dist/esm/ui/Appearance/FullPage/FullPage.js +1 -1
  141. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +1 -1
  142. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +1 -1
  143. package/dist/esm/ui/ContentStyles/index.js +1 -2
  144. package/dist/esm/ui/ContextPanel/index.js +64 -53
  145. package/dist/esm/ui/MediaAndEmbedsToolbar/index.js +10 -11
  146. package/dist/esm/ui/Resizer/index.js +1 -1
  147. package/dist/esm/ui/WidthEmitter/index.js +10 -4
  148. package/dist/esm/utils/clipboard.js +16 -10
  149. package/dist/esm/utils/performance/instrumented-plugin.js +14 -2
  150. package/dist/esm/version-wrapper.js +1 -1
  151. package/dist/esm/version.json +1 -1
  152. package/dist/types/actions/index.d.ts +1 -1
  153. package/dist/types/create-editor/get-plugins.d.ts +2 -0
  154. package/dist/types/i18n/en_ZZ.d.ts +2 -28
  155. package/dist/types/index.d.ts +0 -1
  156. package/dist/types/plugins/breakout/index.d.ts +4 -0
  157. package/dist/types/plugins/breakout/ui/LayoutButton.d.ts +1 -1
  158. package/dist/types/plugins/card/index.d.ts +2 -2
  159. package/dist/types/plugins/collab-edit/actions.d.ts +3 -2
  160. package/dist/types/plugins/collab-edit/events/handlers.d.ts +3 -3
  161. package/dist/types/plugins/collab-edit/events/initialize.d.ts +1 -1
  162. package/dist/types/plugins/collab-edit/events/send-transaction.d.ts +1 -1
  163. package/dist/types/plugins/collab-edit/index.d.ts +0 -1
  164. package/dist/types/plugins/collab-edit/native-collab-provider-plugin.d.ts +2 -2
  165. package/dist/types/plugins/collab-edit/participants.d.ts +1 -1
  166. package/dist/types/plugins/collab-edit/plugin.d.ts +0 -2
  167. package/dist/types/plugins/collab-edit/types.d.ts +1 -3
  168. package/dist/types/plugins/collab-edit/ui/to-avatar.d.ts +1 -1
  169. package/dist/types/plugins/collab-edit/utils.d.ts +2 -1
  170. package/dist/types/plugins/extension/index.d.ts +2 -1
  171. package/dist/types/plugins/extension/nodeviews/extension.d.ts +4 -1
  172. package/dist/types/plugins/extension/pm-plugins/main.d.ts +3 -1
  173. package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
  174. package/dist/types/plugins/extension/ui/Extension/ExtensionComponent.d.ts +3 -0
  175. package/dist/types/plugins/extension/ui/Extension/index.d.ts +3 -0
  176. package/dist/types/plugins/help-dialog/index.d.ts +3 -1
  177. package/dist/types/plugins/index.d.ts +0 -3
  178. package/dist/types/plugins/media/index.d.ts +12 -2
  179. package/dist/types/plugins/media/nodeviews/mediaNodeView/index.d.ts +4 -2
  180. package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
  181. package/dist/types/plugins/media/nodeviews/types.d.ts +2 -1
  182. package/dist/types/plugins/media/toolbar/index.d.ts +3 -1
  183. package/dist/types/plugins/media/ui/ResizableMediaSingle/types.d.ts +2 -2
  184. package/dist/types/test-utils.d.ts +3 -1
  185. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
  186. package/dist/types/ui/ColorPickerButton/index.d.ts +1 -1
  187. package/dist/types/ui/ContextPanel/index.d.ts +3 -4
  188. package/dist/types/ui/MediaAndEmbedsToolbar/index.d.ts +3 -1
  189. package/dist/types/ui/PluginSlot/index.d.ts +1 -1
  190. package/dist/types/ui/Resizer/types.d.ts +2 -2
  191. package/dist/types/utils/clipboard.d.ts +1 -0
  192. package/dist/types-ts4.5/actions/index.d.ts +1 -1
  193. package/dist/types-ts4.5/create-editor/get-plugins.d.ts +2 -0
  194. package/dist/types-ts4.5/i18n/en_ZZ.d.ts +2 -28
  195. package/dist/types-ts4.5/index.d.ts +0 -1
  196. package/dist/types-ts4.5/plugins/breakout/index.d.ts +6 -0
  197. package/dist/types-ts4.5/plugins/breakout/ui/LayoutButton.d.ts +1 -1
  198. package/dist/types-ts4.5/plugins/card/index.d.ts +2 -2
  199. package/dist/types-ts4.5/plugins/collab-edit/actions.d.ts +3 -2
  200. package/dist/types-ts4.5/plugins/collab-edit/events/handlers.d.ts +3 -3
  201. package/dist/types-ts4.5/plugins/collab-edit/events/initialize.d.ts +1 -1
  202. package/dist/types-ts4.5/plugins/collab-edit/events/send-transaction.d.ts +1 -1
  203. package/dist/types-ts4.5/plugins/collab-edit/index.d.ts +0 -1
  204. package/dist/types-ts4.5/plugins/collab-edit/native-collab-provider-plugin.d.ts +2 -2
  205. package/dist/types-ts4.5/plugins/collab-edit/participants.d.ts +1 -1
  206. package/dist/types-ts4.5/plugins/collab-edit/plugin.d.ts +0 -2
  207. package/dist/types-ts4.5/plugins/collab-edit/types.d.ts +1 -3
  208. package/dist/types-ts4.5/plugins/collab-edit/ui/to-avatar.d.ts +1 -1
  209. package/dist/types-ts4.5/plugins/collab-edit/utils.d.ts +2 -1
  210. package/dist/types-ts4.5/plugins/extension/index.d.ts +3 -1
  211. package/dist/types-ts4.5/plugins/extension/nodeviews/extension.d.ts +4 -1
  212. package/dist/types-ts4.5/plugins/extension/pm-plugins/main.d.ts +3 -1
  213. package/dist/types-ts4.5/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
  214. package/dist/types-ts4.5/plugins/extension/ui/Extension/ExtensionComponent.d.ts +3 -0
  215. package/dist/types-ts4.5/plugins/extension/ui/Extension/index.d.ts +3 -0
  216. package/dist/types-ts4.5/plugins/help-dialog/index.d.ts +5 -1
  217. package/dist/types-ts4.5/plugins/index.d.ts +0 -3
  218. package/dist/types-ts4.5/plugins/media/index.d.ts +9 -2
  219. package/dist/types-ts4.5/plugins/media/nodeviews/mediaNodeView/index.d.ts +4 -2
  220. package/dist/types-ts4.5/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
  221. package/dist/types-ts4.5/plugins/media/nodeviews/types.d.ts +2 -1
  222. package/dist/types-ts4.5/plugins/media/toolbar/index.d.ts +3 -1
  223. package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/types.d.ts +2 -2
  224. package/dist/types-ts4.5/test-utils.d.ts +3 -1
  225. package/dist/types-ts4.5/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
  226. package/dist/types-ts4.5/ui/ColorPickerButton/index.d.ts +1 -1
  227. package/dist/types-ts4.5/ui/ContextPanel/index.d.ts +3 -4
  228. package/dist/types-ts4.5/ui/MediaAndEmbedsToolbar/index.d.ts +3 -1
  229. package/dist/types-ts4.5/ui/PluginSlot/index.d.ts +1 -1
  230. package/dist/types-ts4.5/ui/Resizer/types.d.ts +2 -2
  231. package/dist/types-ts4.5/utils/clipboard.d.ts +1 -0
  232. package/package.json +20 -18
  233. package/report.api.md +15 -63
  234. package/dist/cjs/plugins/collab-edit/provider/index.js +0 -5
  235. package/dist/cjs/plugins/collab-edit/provider/types.js +0 -5
  236. package/dist/cjs/plugins/grid/index.js +0 -207
  237. package/dist/cjs/plugins/grid/styles.js +0 -16
  238. package/dist/cjs/plugins/grid/types.js +0 -5
  239. package/dist/cjs/plugins/width/index.js +0 -88
  240. package/dist/cjs/ui/ContextPanel/context.js +0 -89
  241. package/dist/es2019/plugins/collab-edit/provider/index.js +0 -1
  242. package/dist/es2019/plugins/collab-edit/provider/types.js +0 -1
  243. package/dist/es2019/plugins/grid/index.js +0 -168
  244. package/dist/es2019/plugins/grid/styles.js +0 -36
  245. package/dist/es2019/plugins/grid/types.js +0 -1
  246. package/dist/es2019/plugins/width/index.js +0 -72
  247. package/dist/es2019/ui/ContextPanel/context.js +0 -65
  248. package/dist/esm/plugins/collab-edit/provider/index.js +0 -1
  249. package/dist/esm/plugins/collab-edit/provider/types.js +0 -1
  250. package/dist/esm/plugins/grid/index.js +0 -191
  251. package/dist/esm/plugins/grid/styles.js +0 -7
  252. package/dist/esm/plugins/grid/types.js +0 -1
  253. package/dist/esm/plugins/width/index.js +0 -78
  254. package/dist/esm/ui/ContextPanel/context.js +0 -79
  255. package/dist/types/plugins/collab-edit/provider/index.d.ts +0 -1
  256. package/dist/types/plugins/collab-edit/provider/types.d.ts +0 -1
  257. package/dist/types/plugins/grid/index.d.ts +0 -25
  258. package/dist/types/plugins/grid/styles.d.ts +0 -2
  259. package/dist/types/plugins/grid/types.d.ts +0 -7
  260. package/dist/types/plugins/width/index.d.ts +0 -18
  261. package/dist/types/ui/ContextPanel/context.d.ts +0 -24
  262. package/dist/types-ts4.5/plugins/collab-edit/provider/index.d.ts +0 -1
  263. package/dist/types-ts4.5/plugins/collab-edit/provider/types.d.ts +0 -1
  264. package/dist/types-ts4.5/plugins/grid/index.d.ts +0 -27
  265. package/dist/types-ts4.5/plugins/grid/styles.d.ts +0 -2
  266. package/dist/types-ts4.5/plugins/grid/types.d.ts +0 -7
  267. package/dist/types-ts4.5/plugins/width/index.d.ts +0 -18
  268. package/dist/types-ts4.5/ui/ContextPanel/context.d.ts +0 -24
@@ -12,13 +12,12 @@ var _react = _interopRequireDefault(require("react"));
12
12
  var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
13
13
  var _adfSchema = require("@atlaskit/adf-schema");
14
14
  var _utils = require("@atlaskit/editor-common/utils");
15
- var _WithPluginState = _interopRequireDefault(require("../../ui/WithPluginState"));
16
- var _width = require("../width");
17
15
  var _LayoutButton = _interopRequireDefault(require("./ui/LayoutButton"));
18
16
  var _constants = require("./constants");
19
17
  var _pluginKey = require("./plugin-key");
20
18
  var _findBreakoutNode = require("./utils/find-breakout-node");
21
19
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
20
+ var _hooks = require("@atlaskit/editor-common/hooks");
22
21
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
22
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
23
  var BreakoutView = /*#__PURE__*/function () {
@@ -28,14 +27,14 @@ var BreakoutView = /*#__PURE__*/function () {
28
27
  * of the prosemirror and prosemirror types mean using PMNode
29
28
  * is not problematic.
30
29
  */
31
- mark, view, eventDispatcher) {
30
+ mark, view, pluginInjectionApi) {
32
31
  var _this = this;
33
32
  (0, _classCallCheck2.default)(this, BreakoutView);
34
33
  (0, _defineProperty2.default)(this, "updateWidth", function (widthState) {
35
34
  // we skip updating the width of breakout nodes if the editorView dom
36
35
  // element was hidden (to avoid breakout width and button thrashing
37
36
  // when an editor is hidden, re-rendered and unhidden).
38
- if (widthState.width === 0) {
37
+ if (widthState === undefined || widthState.width === 0) {
39
38
  return;
40
39
  }
41
40
  var containerStyle = "";
@@ -87,9 +86,11 @@ var BreakoutView = /*#__PURE__*/function () {
87
86
  this.mark = mark;
88
87
  this.view = view;
89
88
  this.contentDOM = contentDOM;
90
- this.eventDispatcher = eventDispatcher;
91
- eventDispatcher.on(_width.pluginKey.key, this.updateWidth);
92
- this.updateWidth(_width.pluginKey.getState(this.view.state));
89
+ this.unsubscribe = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.dependencies.width.sharedState.onChange(function (_ref) {
90
+ var nextSharedState = _ref.nextSharedState;
91
+ return _this.updateWidth(nextSharedState);
92
+ });
93
+ this.updateWidth(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.dependencies.width.sharedState.currentState());
93
94
  }
94
95
  (0, _createClass2.default)(BreakoutView, [{
95
96
  key: "destroy",
@@ -97,7 +98,8 @@ var BreakoutView = /*#__PURE__*/function () {
97
98
  // NOTE: Lifecycle events doesn't work for mark NodeView. So currently this is a no-op.
98
99
  // @see https://github.com/ProseMirror/prosemirror/issues/1082
99
100
  function destroy() {
100
- this.eventDispatcher.off(_width.pluginKey.key, this.updateWidth);
101
+ var _this$unsubscribe;
102
+ (_this$unsubscribe = this.unsubscribe) === null || _this$unsubscribe === void 0 ? void 0 : _this$unsubscribe.call(this);
101
103
  }
102
104
  }]);
103
105
  return BreakoutView;
@@ -108,9 +110,8 @@ function shouldPluginStateUpdate(newBreakoutNode, currentBreakoutNode) {
108
110
  }
109
111
  return newBreakoutNode || currentBreakoutNode ? true : false;
110
112
  }
111
- function createPlugin(_ref) {
112
- var dispatch = _ref.dispatch,
113
- eventDispatcher = _ref.eventDispatcher;
113
+ function createPlugin(pluginInjectionApi, _ref2) {
114
+ var dispatch = _ref2.dispatch;
114
115
  return new _safePlugin.SafePlugin({
115
116
  state: {
116
117
  init: function init() {
@@ -139,19 +140,39 @@ function createPlugin(_ref) {
139
140
  // See the following link for more details:
140
141
  // https://prosemirror.net/docs/ref/#view.EditorProps.nodeViews.
141
142
  breakout: function breakout(mark, view) {
142
- return new BreakoutView(mark, view, eventDispatcher);
143
+ return new BreakoutView(mark, view, pluginInjectionApi);
143
144
  }
144
145
  }
145
146
  }
146
147
  });
147
148
  }
148
- var breakoutPlugin = function breakoutPlugin(options) {
149
+ var LayoutButtonWrapper = function LayoutButtonWrapper(_ref3) {
150
+ var _breakoutState$breako;
151
+ var api = _ref3.api,
152
+ editorView = _ref3.editorView,
153
+ boundariesElement = _ref3.boundariesElement,
154
+ scrollableElement = _ref3.scrollableElement,
155
+ mountPoint = _ref3.mountPoint;
156
+ // Re-render with `width` (but don't use state) due to https://bitbucket.org/atlassian/%7Bc8e2f021-38d2-46d0-9b7a-b3f7b428f724%7D/pull-requests/24272
157
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['width', 'breakout']),
158
+ breakoutState = _useSharedPluginState.breakoutState;
159
+ return /*#__PURE__*/_react.default.createElement(_LayoutButton.default, {
160
+ editorView: editorView,
161
+ mountPoint: mountPoint,
162
+ boundariesElement: boundariesElement,
163
+ scrollableElement: scrollableElement,
164
+ node: (_breakoutState$breako = breakoutState === null || breakoutState === void 0 ? void 0 : breakoutState.breakoutNode) !== null && _breakoutState$breako !== void 0 ? _breakoutState$breako : null
165
+ });
166
+ };
167
+ var breakoutPlugin = function breakoutPlugin(options, api) {
149
168
  return {
150
169
  name: 'breakout',
151
170
  pmPlugins: function pmPlugins() {
152
171
  return [{
153
172
  name: 'breakout',
154
- plugin: createPlugin
173
+ plugin: function plugin(props) {
174
+ return createPlugin(api, props);
175
+ }
155
176
  }];
156
177
  },
157
178
  marks: function marks() {
@@ -160,31 +181,29 @@ var breakoutPlugin = function breakoutPlugin(options) {
160
181
  mark: _adfSchema.breakout
161
182
  }];
162
183
  },
163
- contentComponent: function contentComponent(_ref2) {
164
- var editorView = _ref2.editorView,
165
- popupsMountPoint = _ref2.popupsMountPoint,
166
- popupsBoundariesElement = _ref2.popupsBoundariesElement,
167
- popupsScrollableElement = _ref2.popupsScrollableElement;
184
+ getSharedState: function getSharedState(editorState) {
185
+ if (!editorState) {
186
+ return {
187
+ breakoutNode: undefined
188
+ };
189
+ }
190
+ return _pluginKey.pluginKey.getState(editorState);
191
+ },
192
+ contentComponent: function contentComponent(_ref4) {
193
+ var editorView = _ref4.editorView,
194
+ popupsMountPoint = _ref4.popupsMountPoint,
195
+ popupsBoundariesElement = _ref4.popupsBoundariesElement,
196
+ popupsScrollableElement = _ref4.popupsScrollableElement;
168
197
  // This is a bit crappy, but should be resolved once we move to a static schema.
169
198
  if (options && !options.allowBreakoutButton) {
170
199
  return null;
171
200
  }
172
- return /*#__PURE__*/_react.default.createElement(_WithPluginState.default, {
173
- plugins: {
174
- breakoutPluginState: _pluginKey.pluginKey,
175
- widthPluginState: _width.pluginKey
176
- },
177
- render: function render(_ref3) {
178
- var _breakoutPluginState$;
179
- var breakoutPluginState = _ref3.breakoutPluginState;
180
- return /*#__PURE__*/_react.default.createElement(_LayoutButton.default, {
181
- editorView: editorView,
182
- mountPoint: popupsMountPoint,
183
- boundariesElement: popupsBoundariesElement,
184
- scrollableElement: popupsScrollableElement,
185
- node: (_breakoutPluginState$ = breakoutPluginState === null || breakoutPluginState === void 0 ? void 0 : breakoutPluginState.breakoutNode) !== null && _breakoutPluginState$ !== void 0 ? _breakoutPluginState$ : null
186
- });
187
- }
201
+ return /*#__PURE__*/_react.default.createElement(LayoutButtonWrapper, {
202
+ api: api,
203
+ mountPoint: popupsMountPoint,
204
+ editorView: editorView,
205
+ boundariesElement: popupsBoundariesElement,
206
+ scrollableElement: popupsScrollableElement
188
207
  });
189
208
  }
190
209
  };
@@ -166,8 +166,8 @@ var unlinkCard = function unlinkCard(node, state, editorAnalyticsApi) {
166
166
  return false;
167
167
  };
168
168
  };
169
- var buildAlignmentOptions = function buildAlignmentOptions(state, intl, cardOptions) {
170
- return (0, _MediaAndEmbedsToolbar.default)(state, intl, state.schema.nodes.embedCard, true, true, cardOptions === null || cardOptions === void 0 ? void 0 : cardOptions.allowWrapping, cardOptions === null || cardOptions === void 0 ? void 0 : cardOptions.allowAlignment);
169
+ var buildAlignmentOptions = function buildAlignmentOptions(state, intl, widthPluginDependencyApi, cardOptions) {
170
+ return (0, _MediaAndEmbedsToolbar.default)(state, intl, state.schema.nodes.embedCard, widthPluginDependencyApi, true, true, cardOptions === null || cardOptions === void 0 ? void 0 : cardOptions.allowWrapping, cardOptions === null || cardOptions === void 0 ? void 0 : cardOptions.allowAlignment);
171
171
  };
172
172
  var withToolbarMetadata = function withToolbarMetadata(command) {
173
173
  return (0, _card.commandWithMetadata)(command, {
@@ -251,7 +251,8 @@ var generateToolbarItems = function generateToolbarItems(state, featureFlags, in
251
251
  onClick: withToolbarMetadata(removeCard(editorAnalyticsApi))
252
252
  }]);
253
253
  if (currentAppearance === 'embed') {
254
- var alignmentOptions = buildAlignmentOptions(state, intl, cardOptions);
254
+ var _pluginInjectionApi$d5;
255
+ var alignmentOptions = buildAlignmentOptions(state, intl, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d5 = pluginInjectionApi.dependencies) === null || _pluginInjectionApi$d5 === void 0 ? void 0 : _pluginInjectionApi$d5.width, cardOptions);
255
256
  if (alignmentOptions.length) {
256
257
  alignmentOptions.push({
257
258
  type: 'separator'
@@ -116,9 +116,8 @@ var PluginState = /*#__PURE__*/function () {
116
116
  remove = remove.concat(oldPointers);
117
117
  }
118
118
  var endOfDocPos = tr.doc.nodeSize - 2;
119
- var _telepointerData$sele = telepointerData.selection,
120
- anchor = _telepointerData$sele.anchor,
121
- head = _telepointerData$sele.head;
119
+ var anchor = telepointerData.selection.anchor;
120
+ var head = telepointerData.selection.head;
122
121
  var rawFrom = anchor < head ? anchor : head;
123
122
  var rawTo = anchor >= head ? anchor : head;
124
123
  if (rawFrom > endOfDocPos) {
@@ -10,10 +10,12 @@ exports.removeMarkVisualFeedbackForCopyButtonCommand = removeMarkVisualFeedbackF
10
10
  exports.resetCopiedState = void 0;
11
11
  var _pluginKey = require("./pm-plugins/plugin-key");
12
12
  var _decoration = require("../base/pm-plugins/decoration");
13
+ var _prosemirrorState = require("prosemirror-state");
13
14
  var _clipboard = require("../../utils/clipboard");
14
15
  var _utils = require("./utils");
15
16
  var _analytics = require("../analytics");
16
17
  var _main = require("../clipboard/pm-plugins/main");
18
+ var _utils2 = require("@atlaskit/editor-common/utils");
17
19
  function createToolbarCopyCommandForMark(markType) {
18
20
  function command(state, dispatch) {
19
21
  var textNode = state.tr.selection.$head.parent.maybeChild(state.tr.selection.$head.index());
@@ -130,7 +132,12 @@ var createToolbarCopyCommandForNode = function createToolbarCopyCommandForNode(n
130
132
  // https://github.com/ProseMirror/prosemirror-view/blob/master/src/clipboard.ts#L32
131
133
  div.firstChild.setAttribute('data-pm-slice', '0 0 []');
132
134
  }
133
- (0, _clipboard.copyHTMLToClipboard)(div);
135
+ // ED-17083 safari seems have bugs for extension copy because exntension do not have a child text(innerText) and it will not recognized as html in clipboard, this could be merge into one if this extension fixed children issue or safari fix the copy bug
136
+ if (_utils2.browser.safari && state.selection instanceof _prosemirrorState.NodeSelection && state.selection.node.type === state.schema.nodes.extension) {
137
+ (0, _clipboard.copyHTMLToClipboardPolyfill)(div);
138
+ } else {
139
+ (0, _clipboard.copyHTMLToClipboard)(div);
140
+ }
134
141
  }
135
142
  copyToClipboardTr.setMeta('scrollIntoView', false);
136
143
  dispatch(copyToClipboardTr);
@@ -39,7 +39,7 @@ var extensionPlugin = function extensionPlugin() {
39
39
  portalProviderAPI = _ref.portalProviderAPI,
40
40
  eventDispatcher = _ref.eventDispatcher;
41
41
  var extensionHandlers = options.extensionHandlers || {};
42
- return (0, _main.createPlugin)(dispatch, providerFactory, extensionHandlers, portalProviderAPI, eventDispatcher, options.useLongPressSelection, {
42
+ return (0, _main.createPlugin)(dispatch, providerFactory, extensionHandlers, portalProviderAPI, eventDispatcher, api, options.useLongPressSelection, {
43
43
  appearance: options.appearance
44
44
  });
45
45
  }
@@ -70,20 +70,22 @@ var ExtensionNode = /*#__PURE__*/function (_ReactNodeView) {
70
70
  providerFactory: props.providerFactory,
71
71
  handleContentDOMRef: forwardRef,
72
72
  extensionHandlers: props.extensionHandlers,
73
- editorAppearance: (_props$extensionNodeV = props.extensionNodeViewOptions) === null || _props$extensionNodeV === void 0 ? void 0 : _props$extensionNodeV.appearance
73
+ editorAppearance: (_props$extensionNodeV = props.extensionNodeViewOptions) === null || _props$extensionNodeV === void 0 ? void 0 : _props$extensionNodeV.appearance,
74
+ pluginInjectionApi: props.pluginInjectionApi
74
75
  }));
75
76
  }
76
77
  }]);
77
78
  return ExtensionNode;
78
79
  }(_nodeviews.ReactNodeView);
79
80
  exports.ExtensionNode = ExtensionNode;
80
- function ExtensionNodeView(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions) {
81
+ function ExtensionNodeView(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi) {
81
82
  return function (node, view, getPos) {
82
83
  var hasIntlContext = true;
83
84
  return new ExtensionNode(node, view, getPos, portalProviderAPI, eventDispatcher, {
84
85
  providerFactory: providerFactory,
85
86
  extensionHandlers: extensionHandlers,
86
- extensionNodeViewOptions: extensionNodeViewOptions
87
+ extensionNodeViewOptions: extensionNodeViewOptions,
88
+ pluginInjectionApi: pluginInjectionApi
87
89
  }, undefined, undefined, undefined, hasIntlContext).init();
88
90
  };
89
91
  }
@@ -223,9 +223,9 @@ var handleUpdate = function handleUpdate(_ref4) {
223
223
  return true;
224
224
  };
225
225
  exports.handleUpdate = handleUpdate;
226
- var createPlugin = function createPlugin(dispatch, providerFactory, extensionHandlers, portalProviderAPI, eventDispatcher) {
227
- var useLongPressSelection = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
228
- var options = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {};
226
+ var createPlugin = function createPlugin(dispatch, providerFactory, extensionHandlers, portalProviderAPI, eventDispatcher, pluginInjectionApi) {
227
+ var useLongPressSelection = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
228
+ var options = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : {};
229
229
  var state = (0, _pluginFactory.createPluginState)(dispatch, {
230
230
  showEditButton: false,
231
231
  showContextPanel: false
@@ -260,11 +260,11 @@ var createPlugin = function createPlugin(dispatch, providerFactory, extensionHan
260
260
  props: {
261
261
  nodeViews: {
262
262
  // WARNING: referentiality-plugin also creates these nodeviews
263
- extension: (0, _extension.default)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions),
263
+ extension: (0, _extension.default)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi),
264
264
  // WARNING: referentiality-plugin also creates these nodeviews
265
- bodiedExtension: (0, _extension.default)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions),
265
+ bodiedExtension: (0, _extension.default)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi),
266
266
  // WARNING: referentiality-plugin also creates these nodeviews
267
- inlineExtension: (0, _extension.default)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions)
267
+ inlineExtension: (0, _extension.default)(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi)
268
268
  },
269
269
  handleClickOn: (0, _utils.createSelectionClickHandler)(['extension', 'bodiedExtension'], function (target) {
270
270
  return !target.closest('.extension-content');
@@ -15,9 +15,9 @@ var _utils = require("@atlaskit/editor-common/utils");
15
15
  var _styles = require("./styles");
16
16
  var _styles2 = require("../styles");
17
17
  var _Lozenge = _interopRequireDefault(require("../Lozenge"));
18
- var _width = require("../../../../width");
19
- var _WithPluginState = _interopRequireDefault(require("../../../../../ui/WithPluginState"));
20
18
  var _classnames2 = _interopRequireDefault(require("classnames"));
19
+ var _hooks = require("@atlaskit/editor-common/hooks");
20
+ var _withPluginState = require("@atlaskit/editor-common/with-plugin-state");
21
21
  var _excluded = ["type"];
22
22
  /** @jsx jsx */
23
23
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -96,10 +96,37 @@ function ExtensionWithPluginState(props) {
96
96
  }))));
97
97
  }
98
98
  var Extension = function Extension(props) {
99
- return (0, _react2.jsx)(_WithPluginState.default, {
99
+ // TODO: ED-17836 This code is here because confluence injects
100
+ // the `editor-referentiality` plugin via `dangerouslyAppendPlugins`
101
+ // which cannot access the `pluginInjectionApi`. When we move
102
+ // Confluence to using presets we can remove this workaround.
103
+ var pluginInjectionApi = props.pluginInjectionApi;
104
+ return pluginInjectionApi === undefined ? (0, _react2.jsx)(ExtensionDeprecated, props) : (0, _react2.jsx)(ExtensionWithSharedState, props);
105
+ };
106
+ var ExtensionWithSharedState = function ExtensionWithSharedState(props) {
107
+ var pluginInjectionApi = props.pluginInjectionApi;
108
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width']),
109
+ widthState = _useSharedPluginState.widthState;
110
+ return (0, _react2.jsx)(ExtensionWithPluginState, (0, _extends2.default)({
111
+ widthState: widthState
112
+ }, props));
113
+ };
114
+ // TODO: ED-17836 This code is here because Confluence injects
115
+ // the `editor-referentiality` plugin via `dangerouslyAppendPlugins`
116
+ // which cannot access the `pluginInjectionApi`. When we move
117
+ // Confluence to using presets we can remove this workaround.
118
+ // @ts-ignore
119
+ var widthPluginKey = {
120
+ key: 'widthPlugin$',
121
+ getState: function getState(state) {
122
+ return state['widthPlugin$'];
123
+ }
124
+ };
125
+ var ExtensionDeprecated = function ExtensionDeprecated(props) {
126
+ return (0, _react2.jsx)(_withPluginState.WithPluginState, {
100
127
  editorView: props.view,
101
128
  plugins: {
102
- widthState: _width.pluginKey
129
+ widthState: widthPluginKey
103
130
  },
104
131
  render: function render(_ref) {
105
132
  var widthState = _ref.widthState;
@@ -109,6 +136,9 @@ var Extension = function Extension(props) {
109
136
  }
110
137
  });
111
138
  };
139
+ /**
140
+ * End workaround
141
+ */
112
142
  var _default = (0, _ui.overflowShadow)(Extension, {
113
143
  overflowSelector: '.extension-overflow-wrapper'
114
144
  });
@@ -181,7 +181,8 @@ var ExtensionComponent = /*#__PURE__*/function (_Component) {
181
181
  handleContentDOMRef = _this$props2.handleContentDOMRef,
182
182
  editorView = _this$props2.editorView,
183
183
  references = _this$props2.references,
184
- editorAppearance = _this$props2.editorAppearance;
184
+ editorAppearance = _this$props2.editorAppearance,
185
+ pluginInjectionApi = _this$props2.pluginInjectionApi;
185
186
  var extensionHandlerResult = this.tryExtensionHandler();
186
187
  switch (node.type.name) {
187
188
  case 'extension':
@@ -194,7 +195,8 @@ var ExtensionComponent = /*#__PURE__*/function (_Component) {
194
195
  handleContentDOMRef: handleContentDOMRef,
195
196
  view: editorView,
196
197
  editorAppearance: editorAppearance,
197
- hideFrame: (_this$state$_privateP = this.state._privateProps) === null || _this$state$_privateP === void 0 ? void 0 : _this$state$_privateP.__hideFrame
198
+ hideFrame: (_this$state$_privateP = this.state._privateProps) === null || _this$state$_privateP === void 0 ? void 0 : _this$state$_privateP.__hideFrame,
199
+ pluginInjectionApi: pluginInjectionApi
198
200
  }, extensionHandlerResult);
199
201
  case 'inlineExtension':
200
202
  return /*#__PURE__*/_react.default.createElement(_InlineExtension.default, {
@@ -36,7 +36,8 @@ var Extension = /*#__PURE__*/function (_Component) {
36
36
  handleContentDOMRef = _this$props.handleContentDOMRef,
37
37
  extensionHandlers = _this$props.extensionHandlers,
38
38
  references = _this$props.references,
39
- editorAppearance = _this$props.editorAppearance;
39
+ editorAppearance = _this$props.editorAppearance,
40
+ pluginInjectionApi = _this$props.pluginInjectionApi;
40
41
  return /*#__PURE__*/_react.default.createElement(_ExtensionComponent.default, {
41
42
  editorView: editorView,
42
43
  node: node,
@@ -45,7 +46,8 @@ var Extension = /*#__PURE__*/function (_Component) {
45
46
  extensionProvider: extensionProvider,
46
47
  handleContentDOMRef: handleContentDOMRef,
47
48
  extensionHandlers: extensionHandlers,
48
- editorAppearance: editorAppearance
49
+ editorAppearance: editorAppearance,
50
+ pluginInjectionApi: pluginInjectionApi
49
51
  });
50
52
  });
51
53
  _this.providerFactory = props.providerFactory || new _providerFactory.ProviderFactory();
@@ -15,7 +15,7 @@ var keymaps = _interopRequireWildcard(require("../../keymaps"));
15
15
  var _WithPluginState = _interopRequireDefault(require("../../ui/WithPluginState"));
16
16
  var _HelpDialogLoader = require("./ui/HelpDialogLoader");
17
17
  var _quickInsert = require("../quick-insert");
18
- var _analytics = require("../../plugins/analytics");
18
+ var _analytics = require("@atlaskit/editor-common/analytics");
19
19
  var _questionCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/question-circle"));
20
20
  var _messages = require("../insert-block/ui/ToolbarInsertBlock/messages");
21
21
  var _commands = require("./commands");
@@ -51,6 +51,7 @@ function createPlugin(dispatch, imageEnabled) {
51
51
  }
52
52
  var helpDialog = function helpDialog() {
53
53
  var imageUploadProviderExists = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
54
+ var api = arguments.length > 1 ? arguments[1] : undefined;
54
55
  return {
55
56
  name: 'helpDialog',
56
57
  pmPlugins: function pmPlugins() {
@@ -63,7 +64,8 @@ var helpDialog = function helpDialog() {
63
64
  }, {
64
65
  name: 'helpDialogKeymap',
65
66
  plugin: function plugin() {
66
- return keymapPlugin();
67
+ var _api$dependencies$ana;
68
+ return keymapPlugin(api === null || api === void 0 ? void 0 : (_api$dependencies$ana = api.dependencies.analytics) === null || _api$dependencies$ana === void 0 ? void 0 : _api$dependencies$ana.actions);
67
69
  }
68
70
  }];
69
71
  },
@@ -82,10 +84,11 @@ var helpDialog = function helpDialog() {
82
84
  label: ""
83
85
  });
84
86
  },
85
- action: function action(insert, state) {
87
+ action: function action(insert) {
88
+ var _api$dependencies$ana2;
86
89
  var tr = insert('');
87
90
  (0, _commands.openHelpCommand)(tr);
88
- return (0, _analytics.addAnalytics)(state, tr, {
91
+ api === null || api === void 0 ? void 0 : (_api$dependencies$ana2 = api.dependencies.analytics) === null || _api$dependencies$ana2 === void 0 ? void 0 : _api$dependencies$ana2.actions.attachAnalyticsEvent({
89
92
  action: _analytics.ACTION.HELP_OPENED,
90
93
  actionSubject: _analytics.ACTION_SUBJECT.HELP,
91
94
  actionSubjectId: _analytics.ACTION_SUBJECT_ID.HELP_QUICK_INSERT,
@@ -93,7 +96,8 @@ var helpDialog = function helpDialog() {
93
96
  inputMethod: _analytics.INPUT_METHOD.QUICK_INSERT
94
97
  },
95
98
  eventType: _analytics.EVENT_TYPE.UI
96
- });
99
+ })(tr);
100
+ return tr;
97
101
  }
98
102
  }];
99
103
  }
@@ -120,13 +124,13 @@ var helpDialog = function helpDialog() {
120
124
  }
121
125
  };
122
126
  };
123
- var keymapPlugin = function keymapPlugin() {
127
+ var keymapPlugin = function keymapPlugin(editorAnalyticsAPI) {
124
128
  var list = {};
125
129
  keymaps.bindKeymapWithCommand(keymaps.openHelp.common, function (state, dispatch) {
126
130
  var tr = state.tr;
127
131
  var isVisible = tr.getMeta(_pluginKey.pluginKey);
128
132
  if (!isVisible) {
129
- tr = (0, _analytics.addAnalytics)(state, tr, {
133
+ editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
130
134
  action: _analytics.ACTION.CLICKED,
131
135
  actionSubject: _analytics.ACTION_SUBJECT.BUTTON,
132
136
  actionSubjectId: _analytics.ACTION_SUBJECT_ID.BUTTON_HELP,
@@ -134,7 +138,7 @@ var keymapPlugin = function keymapPlugin() {
134
138
  inputMethod: _analytics.INPUT_METHOD.SHORTCUT
135
139
  },
136
140
  eventType: _analytics.EVENT_TYPE.UI
137
- });
141
+ })(tr);
138
142
  (0, _commands.openHelpCommand)(tr, dispatch);
139
143
  }
140
144
  return true;
@@ -191,12 +191,6 @@ Object.defineProperty(exports, "fragmentMarkPlugin", {
191
191
  return _fragment.default;
192
192
  }
193
193
  });
194
- Object.defineProperty(exports, "gridPlugin", {
195
- enumerable: true,
196
- get: function get() {
197
- return _grid.default;
198
- }
199
- });
200
194
  Object.defineProperty(exports, "helpDialogPlugin", {
201
195
  enumerable: true,
202
196
  get: function get() {
@@ -407,12 +401,6 @@ Object.defineProperty(exports, "viewUpdateSubscriptionPlugin", {
407
401
  return _viewUpdateSubscription.default;
408
402
  }
409
403
  });
410
- Object.defineProperty(exports, "widthPlugin", {
411
- enumerable: true,
412
- get: function get() {
413
- return _width.default;
414
- }
415
- });
416
404
  var _base = _interopRequireDefault(require("./base"));
417
405
  var _blockType = _interopRequireWildcard(require("./block-type"));
418
406
  var _clearMarksOnChangeToEmptyDocument = _interopRequireDefault(require("./clear-marks-on-change-to-empty-document"));
@@ -447,11 +435,9 @@ var _textColor = _interopRequireDefault(require("./text-color"));
447
435
  var _textFormatting = _interopRequireDefault(require("./text-formatting"));
448
436
  var _typeAhead = _interopRequireDefault(require("./type-ahead"));
449
437
  var _unsupportedContent = _interopRequireDefault(require("./unsupported-content"));
450
- var _width = _interopRequireDefault(require("./width"));
451
438
  var _card = _interopRequireDefault(require("./card"));
452
439
  var _floatingToolbar = _interopRequireDefault(require("./floating-toolbar"));
453
440
  var _status = _interopRequireDefault(require("./status"));
454
- var _grid = _interopRequireDefault(require("./grid"));
455
441
  var _breakout = _interopRequireDefault(require("./breakout"));
456
442
  var _alignment = _interopRequireDefault(require("./alignment"));
457
443
  var _dataConsumer = _interopRequireDefault(require("./data-consumer"));
@@ -140,7 +140,6 @@ var _default = function _default(options) {
140
140
  tr = (0, _actions.fixColumnStructure)(newState) || tr;
141
141
  if (tr.docChanged) {
142
142
  tr.setSelection(_prosemirrorState.Selection.fromJSON(tr.doc, selection));
143
- tr.setMeta('addToHistory', false);
144
143
  return tr;
145
144
  }
146
145
  }
@@ -27,13 +27,14 @@ var _ToolbarMedia = _interopRequireDefault(require("./ui/ToolbarMedia"));
27
27
  var _mediaGroup = require("./nodeviews/mediaGroup");
28
28
  var _mediaSingle = require("./nodeviews/mediaSingle");
29
29
  var _toolbar = require("./toolbar");
30
- var _analytics = require("../analytics");
30
+ var _analytics = require("@atlaskit/editor-common/analytics");
31
31
  var _assets = require("../quick-insert/assets");
32
32
  var _WithPluginState = _interopRequireDefault(require("../../ui/WithPluginState"));
33
33
  var _MediaPicker = require("./ui/MediaPicker");
34
34
  var _messages = require("../insert-block/ui/ToolbarInsertBlock/messages");
35
35
  var _mediaNodeView = require("./nodeviews/mediaNodeView");
36
36
  var _mediaInline = require("./nodeviews/mediaInline");
37
+ var _pluginKey = require("./pm-plugins/plugin-key");
37
38
  var _mediaSingle2 = require("./utils/media-single");
38
39
  var mediaPlugin = function mediaPlugin() {
39
40
  var _api$dependencies, _api$dependencies$fea;
@@ -42,6 +43,12 @@ var mediaPlugin = function mediaPlugin() {
42
43
  var featureFlags = (api === null || api === void 0 ? void 0 : (_api$dependencies = api.dependencies) === null || _api$dependencies === void 0 ? void 0 : (_api$dependencies$fea = _api$dependencies.featureFlags) === null || _api$dependencies$fea === void 0 ? void 0 : _api$dependencies$fea.sharedState.currentState()) || {};
43
44
  return {
44
45
  name: 'media',
46
+ getSharedState: function getSharedState(editorState) {
47
+ if (!editorState) {
48
+ return null;
49
+ }
50
+ return _pluginKey.stateKey.getState(editorState);
51
+ },
45
52
  nodes: function nodes() {
46
53
  var _ref = options || {},
47
54
  _ref$allowMediaGroup = _ref.allowMediaGroup,
@@ -95,7 +102,7 @@ var mediaPlugin = function mediaPlugin() {
95
102
  nodeViews: {
96
103
  mediaGroup: (0, _mediaGroup.ReactMediaGroupNode)(portalProviderAPI, eventDispatcher, providerFactory, options),
97
104
  mediaSingle: (0, _mediaSingle.ReactMediaSingleNode)(portalProviderAPI, eventDispatcher, providerFactory, dispatchAnalyticsEvent, options, api),
98
- media: (0, _mediaNodeView.ReactMediaNode)(portalProviderAPI, eventDispatcher, providerFactory, options),
105
+ media: (0, _mediaNodeView.ReactMediaNode)(portalProviderAPI, eventDispatcher, providerFactory, options, api),
99
106
  mediaInline: (0, _mediaInline.ReactMediaInlineNode)(portalProviderAPI, eventDispatcher, providerFactory)
100
107
  },
101
108
  errorReporter: errorReporter,
@@ -224,9 +231,11 @@ var mediaPlugin = function mediaPlugin() {
224
231
  return /*#__PURE__*/_react.default.createElement(_assets.IconImages, null);
225
232
  },
226
233
  action: function action(insert, state) {
234
+ var _api$dependencies$ana;
227
235
  var pluginState = _main.stateKey.getState(state);
228
236
  pluginState.showMediaPicker();
229
- return (0, _analytics.addAnalytics)(state, insert(''), {
237
+ var tr = insert('');
238
+ api === null || api === void 0 ? void 0 : (_api$dependencies$ana = api.dependencies.analytics) === null || _api$dependencies$ana === void 0 ? void 0 : _api$dependencies$ana.actions.attachAnalyticsEvent({
230
239
  action: _analytics.ACTION.OPENED,
231
240
  actionSubject: _analytics.ACTION_SUBJECT.PICKER,
232
241
  actionSubjectId: _analytics.ACTION_SUBJECT_ID.PICKER_CLOUD,
@@ -234,7 +243,8 @@ var mediaPlugin = function mediaPlugin() {
234
243
  inputMethod: _analytics.INPUT_METHOD.QUICK_INSERT
235
244
  },
236
245
  eventType: _analytics.EVENT_TYPE.UI
237
- });
246
+ })(tr);
247
+ return tr;
238
248
  }
239
249
  }];
240
250
  },
@@ -248,7 +258,7 @@ var mediaPlugin = function mediaPlugin() {
248
258
  allowAdvancedToolBarOptions: options && options.allowAdvancedToolBarOptions,
249
259
  allowAltTextOnImages: options && options.allowAltTextOnImages,
250
260
  altTextValidator: options && options.altTextValidator
251
- });
261
+ }, api);
252
262
  }
253
263
  }
254
264
  };