@atlaskit/editor-core 183.1.6 → 184.0.4

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 (237) hide show
  1. package/.eslintrc.js +7 -3
  2. package/CHANGELOG.md +29 -0
  3. package/dist/cjs/labs/next/full-page.js +2 -6
  4. package/dist/cjs/labs/next/presets/create-stub-internal-apis.js +4 -2
  5. package/dist/cjs/labs/next/presets/default.js +2 -2
  6. package/dist/cjs/labs/next/presets/universal.js +2 -1
  7. package/dist/cjs/plugins/breakout/index.js +54 -35
  8. package/dist/cjs/plugins/card/toolbar.js +4 -3
  9. package/dist/cjs/plugins/collab-edit/plugin-state.js +2 -3
  10. package/dist/cjs/plugins/copy-button/commands.js +8 -1
  11. package/dist/cjs/plugins/extension/index.js +1 -1
  12. package/dist/cjs/plugins/extension/nodeviews/extension.js +5 -3
  13. package/dist/cjs/plugins/extension/pm-plugins/main.js +6 -6
  14. package/dist/cjs/plugins/extension/ui/Extension/Extension/index.js +34 -4
  15. package/dist/cjs/plugins/extension/ui/Extension/ExtensionComponent.js +4 -2
  16. package/dist/cjs/plugins/extension/ui/Extension/index.js +4 -2
  17. package/dist/cjs/plugins/help-dialog/index.js +12 -8
  18. package/dist/cjs/plugins/index.js +0 -14
  19. package/dist/cjs/plugins/layout/pm-plugins/main.js +0 -1
  20. package/dist/cjs/plugins/media/index.js +15 -5
  21. package/dist/cjs/plugins/media/nodeviews/mediaNodeView/index.js +22 -14
  22. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +53 -34
  23. package/dist/cjs/plugins/media/styles.js +1 -1
  24. package/dist/cjs/plugins/media/toolbar/index.js +4 -3
  25. package/dist/cjs/plugins/paste/pm-plugins/main.js +7 -1
  26. package/dist/cjs/test-utils.js +6 -1
  27. package/dist/cjs/ui/Appearance/Comment/Comment.js +2 -2
  28. package/dist/cjs/ui/Appearance/FullPage/FullPage.js +2 -2
  29. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +1 -2
  30. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +2 -2
  31. package/dist/cjs/ui/ColorPickerButton/index.js +2 -2
  32. package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +6 -10
  33. package/dist/cjs/ui/ContentStyles/index.js +9 -10
  34. package/dist/cjs/ui/ContextPanel/index.js +67 -56
  35. package/dist/cjs/ui/MediaAndEmbedsToolbar/index.js +10 -11
  36. package/dist/cjs/ui/Resizer/index.js +8 -8
  37. package/dist/cjs/ui/WidthEmitter/index.js +10 -4
  38. package/dist/cjs/ui/styles.js +6 -0
  39. package/dist/cjs/utils/clipboard.js +18 -11
  40. package/dist/cjs/utils/performance/instrumented-plugin.js +14 -2
  41. package/dist/cjs/version-wrapper.js +1 -1
  42. package/dist/cjs/version.json +1 -1
  43. package/dist/es2019/labs/next/full-page.js +2 -5
  44. package/dist/es2019/labs/next/presets/create-stub-internal-apis.js +4 -2
  45. package/dist/es2019/labs/next/presets/default.js +1 -1
  46. package/dist/es2019/labs/next/presets/universal.js +2 -1
  47. package/dist/es2019/plugins/breakout/index.js +48 -31
  48. package/dist/es2019/plugins/card/toolbar.js +4 -3
  49. package/dist/es2019/plugins/collab-edit/plugin-state.js +2 -4
  50. package/dist/es2019/plugins/copy-button/commands.js +9 -2
  51. package/dist/es2019/plugins/extension/index.js +1 -1
  52. package/dist/es2019/plugins/extension/nodeviews/extension.js +5 -3
  53. package/dist/es2019/plugins/extension/pm-plugins/main.js +4 -4
  54. package/dist/es2019/plugins/extension/ui/Extension/Extension/index.js +38 -2
  55. package/dist/es2019/plugins/extension/ui/Extension/ExtensionComponent.js +4 -2
  56. package/dist/es2019/plugins/extension/ui/Extension/index.js +4 -2
  57. package/dist/es2019/plugins/help-dialog/index.js +14 -9
  58. package/dist/es2019/plugins/index.js +0 -2
  59. package/dist/es2019/plugins/layout/pm-plugins/main.js +0 -1
  60. package/dist/es2019/plugins/media/index.js +15 -5
  61. package/dist/es2019/plugins/media/nodeviews/mediaNodeView/index.js +21 -10
  62. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +53 -33
  63. package/dist/es2019/plugins/media/styles.js +1 -7
  64. package/dist/es2019/plugins/media/toolbar/index.js +4 -4
  65. package/dist/es2019/plugins/paste/pm-plugins/main.js +7 -1
  66. package/dist/es2019/test-utils.js +6 -1
  67. package/dist/es2019/ui/Appearance/Comment/Comment.js +1 -1
  68. package/dist/es2019/ui/Appearance/FullPage/FullPage.js +1 -1
  69. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +1 -1
  70. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +1 -1
  71. package/dist/es2019/ui/ColorPickerButton/index.js +2 -2
  72. package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +5 -10
  73. package/dist/es2019/ui/ContentStyles/index.js +1 -2
  74. package/dist/es2019/ui/ContextPanel/index.js +66 -43
  75. package/dist/es2019/ui/MediaAndEmbedsToolbar/index.js +8 -9
  76. package/dist/es2019/ui/Resizer/index.js +1 -1
  77. package/dist/es2019/ui/WidthEmitter/index.js +10 -4
  78. package/dist/es2019/ui/styles.js +6 -0
  79. package/dist/es2019/utils/clipboard.js +12 -7
  80. package/dist/es2019/utils/performance/instrumented-plugin.js +15 -2
  81. package/dist/es2019/version-wrapper.js +1 -1
  82. package/dist/es2019/version.json +1 -1
  83. package/dist/esm/labs/next/full-page.js +2 -5
  84. package/dist/esm/labs/next/presets/create-stub-internal-apis.js +4 -2
  85. package/dist/esm/labs/next/presets/default.js +1 -1
  86. package/dist/esm/labs/next/presets/universal.js +2 -1
  87. package/dist/esm/plugins/breakout/index.js +54 -35
  88. package/dist/esm/plugins/card/toolbar.js +4 -3
  89. package/dist/esm/plugins/collab-edit/plugin-state.js +2 -3
  90. package/dist/esm/plugins/copy-button/commands.js +9 -2
  91. package/dist/esm/plugins/extension/index.js +1 -1
  92. package/dist/esm/plugins/extension/nodeviews/extension.js +5 -3
  93. package/dist/esm/plugins/extension/pm-plugins/main.js +6 -6
  94. package/dist/esm/plugins/extension/ui/Extension/Extension/index.js +33 -2
  95. package/dist/esm/plugins/extension/ui/Extension/ExtensionComponent.js +4 -2
  96. package/dist/esm/plugins/extension/ui/Extension/index.js +4 -2
  97. package/dist/esm/plugins/help-dialog/index.js +12 -8
  98. package/dist/esm/plugins/index.js +0 -2
  99. package/dist/esm/plugins/layout/pm-plugins/main.js +0 -1
  100. package/dist/esm/plugins/media/index.js +15 -5
  101. package/dist/esm/plugins/media/nodeviews/mediaNodeView/index.js +22 -14
  102. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +54 -35
  103. package/dist/esm/plugins/media/styles.js +2 -2
  104. package/dist/esm/plugins/media/toolbar/index.js +4 -3
  105. package/dist/esm/plugins/paste/pm-plugins/main.js +7 -1
  106. package/dist/esm/test-utils.js +6 -1
  107. package/dist/esm/ui/Appearance/Comment/Comment.js +1 -1
  108. package/dist/esm/ui/Appearance/FullPage/FullPage.js +1 -1
  109. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +1 -1
  110. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +1 -1
  111. package/dist/esm/ui/ColorPickerButton/index.js +2 -2
  112. package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +5 -10
  113. package/dist/esm/ui/ContentStyles/index.js +1 -2
  114. package/dist/esm/ui/ContextPanel/index.js +64 -53
  115. package/dist/esm/ui/MediaAndEmbedsToolbar/index.js +10 -11
  116. package/dist/esm/ui/Resizer/index.js +1 -1
  117. package/dist/esm/ui/WidthEmitter/index.js +10 -4
  118. package/dist/esm/ui/styles.js +6 -0
  119. package/dist/esm/utils/clipboard.js +16 -10
  120. package/dist/esm/utils/performance/instrumented-plugin.js +14 -2
  121. package/dist/esm/version-wrapper.js +1 -1
  122. package/dist/esm/version.json +1 -1
  123. package/dist/types/actions/index.d.ts +1 -1
  124. package/dist/types/create-editor/get-plugins.d.ts +2 -0
  125. package/dist/types/index.d.ts +0 -1
  126. package/dist/types/plugins/breakout/index.d.ts +4 -0
  127. package/dist/types/plugins/breakout/ui/LayoutButton.d.ts +1 -1
  128. package/dist/types/plugins/card/index.d.ts +2 -2
  129. package/dist/types/plugins/collab-edit/actions.d.ts +3 -2
  130. package/dist/types/plugins/collab-edit/events/handlers.d.ts +3 -3
  131. package/dist/types/plugins/collab-edit/events/initialize.d.ts +1 -1
  132. package/dist/types/plugins/collab-edit/events/send-transaction.d.ts +1 -1
  133. package/dist/types/plugins/collab-edit/index.d.ts +0 -1
  134. package/dist/types/plugins/collab-edit/native-collab-provider-plugin.d.ts +2 -2
  135. package/dist/types/plugins/collab-edit/participants.d.ts +1 -1
  136. package/dist/types/plugins/collab-edit/plugin.d.ts +0 -2
  137. package/dist/types/plugins/collab-edit/types.d.ts +1 -3
  138. package/dist/types/plugins/collab-edit/ui/to-avatar.d.ts +1 -1
  139. package/dist/types/plugins/collab-edit/utils.d.ts +2 -1
  140. package/dist/types/plugins/extension/index.d.ts +2 -1
  141. package/dist/types/plugins/extension/nodeviews/extension.d.ts +4 -1
  142. package/dist/types/plugins/extension/pm-plugins/main.d.ts +3 -1
  143. package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
  144. package/dist/types/plugins/extension/ui/Extension/ExtensionComponent.d.ts +3 -0
  145. package/dist/types/plugins/extension/ui/Extension/index.d.ts +3 -0
  146. package/dist/types/plugins/help-dialog/index.d.ts +3 -1
  147. package/dist/types/plugins/index.d.ts +0 -3
  148. package/dist/types/plugins/media/index.d.ts +12 -2
  149. package/dist/types/plugins/media/nodeviews/mediaNodeView/index.d.ts +4 -2
  150. package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
  151. package/dist/types/plugins/media/nodeviews/types.d.ts +2 -1
  152. package/dist/types/plugins/media/toolbar/index.d.ts +3 -1
  153. package/dist/types/plugins/media/ui/ResizableMediaSingle/types.d.ts +2 -2
  154. package/dist/types/test-utils.d.ts +3 -1
  155. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
  156. package/dist/types/ui/ColorPickerButton/index.d.ts +3 -3
  157. package/dist/types/ui/ContextPanel/index.d.ts +3 -4
  158. package/dist/types/ui/MediaAndEmbedsToolbar/index.d.ts +3 -1
  159. package/dist/types/ui/PluginSlot/index.d.ts +1 -1
  160. package/dist/types/ui/Resizer/types.d.ts +2 -2
  161. package/dist/types/utils/clipboard.d.ts +1 -0
  162. package/dist/types-ts4.5/actions/index.d.ts +1 -1
  163. package/dist/types-ts4.5/create-editor/get-plugins.d.ts +2 -0
  164. package/dist/types-ts4.5/index.d.ts +0 -1
  165. package/dist/types-ts4.5/plugins/breakout/index.d.ts +6 -0
  166. package/dist/types-ts4.5/plugins/breakout/ui/LayoutButton.d.ts +1 -1
  167. package/dist/types-ts4.5/plugins/card/index.d.ts +2 -2
  168. package/dist/types-ts4.5/plugins/collab-edit/actions.d.ts +3 -2
  169. package/dist/types-ts4.5/plugins/collab-edit/events/handlers.d.ts +3 -3
  170. package/dist/types-ts4.5/plugins/collab-edit/events/initialize.d.ts +1 -1
  171. package/dist/types-ts4.5/plugins/collab-edit/events/send-transaction.d.ts +1 -1
  172. package/dist/types-ts4.5/plugins/collab-edit/index.d.ts +0 -1
  173. package/dist/types-ts4.5/plugins/collab-edit/native-collab-provider-plugin.d.ts +2 -2
  174. package/dist/types-ts4.5/plugins/collab-edit/participants.d.ts +1 -1
  175. package/dist/types-ts4.5/plugins/collab-edit/plugin.d.ts +0 -2
  176. package/dist/types-ts4.5/plugins/collab-edit/types.d.ts +1 -3
  177. package/dist/types-ts4.5/plugins/collab-edit/ui/to-avatar.d.ts +1 -1
  178. package/dist/types-ts4.5/plugins/collab-edit/utils.d.ts +2 -1
  179. package/dist/types-ts4.5/plugins/extension/index.d.ts +3 -1
  180. package/dist/types-ts4.5/plugins/extension/nodeviews/extension.d.ts +4 -1
  181. package/dist/types-ts4.5/plugins/extension/pm-plugins/main.d.ts +3 -1
  182. package/dist/types-ts4.5/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
  183. package/dist/types-ts4.5/plugins/extension/ui/Extension/ExtensionComponent.d.ts +3 -0
  184. package/dist/types-ts4.5/plugins/extension/ui/Extension/index.d.ts +3 -0
  185. package/dist/types-ts4.5/plugins/help-dialog/index.d.ts +5 -1
  186. package/dist/types-ts4.5/plugins/index.d.ts +0 -3
  187. package/dist/types-ts4.5/plugins/media/index.d.ts +9 -2
  188. package/dist/types-ts4.5/plugins/media/nodeviews/mediaNodeView/index.d.ts +4 -2
  189. package/dist/types-ts4.5/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
  190. package/dist/types-ts4.5/plugins/media/nodeviews/types.d.ts +2 -1
  191. package/dist/types-ts4.5/plugins/media/toolbar/index.d.ts +3 -1
  192. package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/types.d.ts +2 -2
  193. package/dist/types-ts4.5/test-utils.d.ts +3 -1
  194. package/dist/types-ts4.5/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
  195. package/dist/types-ts4.5/ui/ColorPickerButton/index.d.ts +3 -3
  196. package/dist/types-ts4.5/ui/ContextPanel/index.d.ts +3 -4
  197. package/dist/types-ts4.5/ui/MediaAndEmbedsToolbar/index.d.ts +3 -1
  198. package/dist/types-ts4.5/ui/PluginSlot/index.d.ts +1 -1
  199. package/dist/types-ts4.5/ui/Resizer/types.d.ts +2 -2
  200. package/dist/types-ts4.5/utils/clipboard.d.ts +1 -0
  201. package/package.json +25 -23
  202. package/report.api.md +15 -63
  203. package/dist/cjs/plugins/collab-edit/provider/index.js +0 -5
  204. package/dist/cjs/plugins/collab-edit/provider/types.js +0 -5
  205. package/dist/cjs/plugins/grid/index.js +0 -207
  206. package/dist/cjs/plugins/grid/styles.js +0 -16
  207. package/dist/cjs/plugins/grid/types.js +0 -5
  208. package/dist/cjs/plugins/width/index.js +0 -88
  209. package/dist/cjs/ui/ContextPanel/context.js +0 -89
  210. package/dist/es2019/plugins/collab-edit/provider/index.js +0 -1
  211. package/dist/es2019/plugins/collab-edit/provider/types.js +0 -1
  212. package/dist/es2019/plugins/grid/index.js +0 -168
  213. package/dist/es2019/plugins/grid/styles.js +0 -36
  214. package/dist/es2019/plugins/grid/types.js +0 -1
  215. package/dist/es2019/plugins/width/index.js +0 -72
  216. package/dist/es2019/ui/ContextPanel/context.js +0 -65
  217. package/dist/esm/plugins/collab-edit/provider/index.js +0 -1
  218. package/dist/esm/plugins/collab-edit/provider/types.js +0 -1
  219. package/dist/esm/plugins/grid/index.js +0 -191
  220. package/dist/esm/plugins/grid/styles.js +0 -7
  221. package/dist/esm/plugins/grid/types.js +0 -1
  222. package/dist/esm/plugins/width/index.js +0 -78
  223. package/dist/esm/ui/ContextPanel/context.js +0 -79
  224. package/dist/types/plugins/collab-edit/provider/index.d.ts +0 -1
  225. package/dist/types/plugins/collab-edit/provider/types.d.ts +0 -1
  226. package/dist/types/plugins/grid/index.d.ts +0 -25
  227. package/dist/types/plugins/grid/styles.d.ts +0 -2
  228. package/dist/types/plugins/grid/types.d.ts +0 -7
  229. package/dist/types/plugins/width/index.d.ts +0 -18
  230. package/dist/types/ui/ContextPanel/context.d.ts +0 -24
  231. package/dist/types-ts4.5/plugins/collab-edit/provider/index.d.ts +0 -1
  232. package/dist/types-ts4.5/plugins/collab-edit/provider/types.d.ts +0 -1
  233. package/dist/types-ts4.5/plugins/grid/index.d.ts +0 -27
  234. package/dist/types-ts4.5/plugins/grid/styles.d.ts +0 -2
  235. package/dist/types-ts4.5/plugins/grid/types.d.ts +0 -7
  236. package/dist/types-ts4.5/plugins/width/index.d.ts +0 -18
  237. package/dist/types-ts4.5/ui/ContextPanel/context.d.ts +0 -24
package/.eslintrc.js CHANGED
@@ -8,13 +8,13 @@ module.exports = {
8
8
  target: 'packages/editor/editor-core/src/**/*',
9
9
  from: `packages/editor/editor-core/src/plugins/*/!(types)*`,
10
10
  message:
11
- '[ELR101] Avoid importing dependencies from editor plugins. Move shared code to a common location. go/elr101',
11
+ '[ELR101] Avoid importing dependencies from editor plugins. Type-only imports are an exception. Move shared code to a common location. go/elr101',
12
12
  },
13
13
  {
14
14
  target: 'packages/editor/editor-core/src/**/*',
15
15
  from: `packages/editor/editor-core/src/plugins/*/!(types)**/*`,
16
16
  message:
17
- '[ELR101] Avoid importing dependencies from editor plugins. Move shared code to a common location. go/elr101',
17
+ '[ELR101] Avoid importing dependencies from editor plugins. Type-only imports are an exception. Move shared code to a common location. go/elr101',
18
18
  },
19
19
  ],
20
20
  },
@@ -23,7 +23,11 @@ module.exports = {
23
23
  },
24
24
  overrides: [
25
25
  {
26
- files: ['**/__tests__/**/*.{js,ts,tsx}', 'examples/**/*.{js,ts,tsx}'],
26
+ files: [
27
+ '**/__tests__/**/*.{js,ts,tsx}',
28
+ 'examples/**/*.{js,ts,tsx}',
29
+ '**/*.{test,spec}.{js,ts,tsx}',
30
+ ],
27
31
  rules: {
28
32
  'import/no-restricted-paths': ['off'],
29
33
  'react/no-danger': 'off',
package/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 184.0.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`42486e5e512`](https://bitbucket.org/atlassian/atlassian-frontend/commits/42486e5e512) - Updated `ColorPickerButton`'s size prop type from number to string for width and height, allowing use of space tokens.
8
+
9
+ ## 184.0.0
10
+
11
+ ### Major Changes
12
+
13
+ - [`b7086232a7c`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b7086232a7c) - ESS-3135: move collab provider types into @atlaskit/collab-provider
14
+
15
+ ### Minor Changes
16
+
17
+ - [`1549c2e6dda`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1549c2e6dda) - Extract width plugin from `editor-core` to separate `editor-plugin-width` package.
18
+
19
+ ### Patch Changes
20
+
21
+ - [`10ddf00db40`](https://bitbucket.org/atlassian/atlassian-frontend/commits/10ddf00db40) - [ux] add a handler size option and relevant style and demo page
22
+ - [`6d2cb452718`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6d2cb452718) - converted the analytics events within help-dialog to use the new Analytics API
23
+ - [`18fc85285dc`](https://bitbucket.org/atlassian/atlassian-frontend/commits/18fc85285dc) - Fix extensions in Confluence.
24
+ - [`3247424b653`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3247424b653) - Removed unused styling for the recently removed fileCardImageViewSelectedSelector classname
25
+ - [`d2ebe077406`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d2ebe077406) - [ux] ED-17083 Fix copy button for extension
26
+ - [`8c54caf3c01`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8c54caf3c01) - Focus editor when closing extension sidebar config
27
+ - [`19389328bfd`](https://bitbucket.org/atlassian/atlassian-frontend/commits/19389328bfd) - [ED-16813] Fix uiTracking logic so it honours the sampling rate set in performance feature flags
28
+ - [`1a167533ab8`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1a167533ab8) - [ux] ED-17834 - Pasting over layout columns is able to be undone
29
+ - [`f055b886032`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f055b886032) - Extract the grid plugin to a separate package.
30
+ - Updated dependencies
31
+
3
32
  ## 183.1.6
4
33
 
5
34
  ### Patch Changes
@@ -16,7 +16,6 @@ var _analyticsNext = require("@atlaskit/analytics-next");
16
16
  var _ui = require("@atlaskit/editor-common/ui");
17
17
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
18
18
  var _ContentStyles = _interopRequireDefault(require("../../ui/ContentStyles"));
19
- var _WidthEmitter = _interopRequireDefault(require("../../ui/WidthEmitter"));
20
19
  var _Addon = require("../../ui/Addon");
21
20
  var _styles = require("../../ui/styles");
22
21
  var _commonStyles = require("@atlaskit/editor-plugin-table/ui/common-styles");
@@ -25,7 +24,6 @@ var _Editor = require("./Editor");
25
24
  var _Toolbar = require("./Toolbar");
26
25
  var _ContentComponents = require("./ContentComponents");
27
26
  var _useAnalytics = require("./internal/hooks/use-analytics");
28
- var _context = require("../../ui/ContextPanel/context");
29
27
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
30
28
  /** @jsx jsx */
31
29
  var fullPageEditorWrapper = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n min-width: 340px;\n height: 100%;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n"])));
@@ -85,7 +83,7 @@ function FullPage(props) {
85
83
  scrollContainerRef = _useKeyline2[1];
86
84
  var config = (0, _Editor.useEditorSharedConfig)();
87
85
  var wrapperElementRef = /*#__PURE__*/_react.default.createRef();
88
- return (0, _react2.jsx)(_context.ContextPanelWidthProvider, null, (0, _react2.jsx)(_Editor.Editor, (0, _extends2.default)({}, props, {
86
+ return (0, _react2.jsx)(_ui.ContextPanelWidthProvider, null, (0, _react2.jsx)(_Editor.Editor, (0, _extends2.default)({}, props, {
89
87
  onAnalyticsEvent: handleAnalyticsEvent
90
88
  }), (0, _react2.jsx)(_ui.BaseTheme, null, (0, _react2.jsx)("div", {
91
89
  css: fullPageEditorWrapper,
@@ -122,9 +120,7 @@ function FullPage(props) {
122
120
  containerElement: scrollContainerRef.current
123
121
  }))))), contextPanel && (0, _react2.jsx)("div", {
124
122
  css: sidebarArea
125
- }, contextPanel), (0, _react2.jsx)(_WidthEmitter.default, {
126
- editorView: config === null || config === void 0 ? void 0 : config.editorView
127
- }))))));
123
+ }, contextPanel))))));
128
124
  }
129
125
  FullPage.displayName = 'FullPageEditor';
130
126
  var FullPageWithAnalytics = (0, _analyticsNext.withAnalyticsEvents)()(FullPage);
@@ -29,8 +29,10 @@ var createStubInternalApis = function createStubInternalApis() {
29
29
  // That means, there is no createAnalyticsEvent available at all.
30
30
  // This should not happen, but if it does, we will send a mock function to avoid
31
31
  // regression on SmartLinks (they are the only one using this function directly)
32
- // eslint-disable-next-line no-console
33
- console.error('This should never be called, if it does we have a problem');
32
+ if (process.env.NODE_ENV === 'development') {
33
+ // eslint-disable-next-line no-console
34
+ console.error('This should never be called, if it does we have a problem');
35
+ }
34
36
  return {
35
37
  fire: function fire() {}
36
38
  };
@@ -11,7 +11,7 @@ var _blockType = _interopRequireDefault(require("../../../plugins/block-type"));
11
11
  var _clearMarksOnChangeToEmptyDocument = _interopRequireDefault(require("../../../plugins/clear-marks-on-change-to-empty-document"));
12
12
  var _hyperlink = _interopRequireDefault(require("../../../plugins/hyperlink"));
13
13
  var _textFormatting = _interopRequireDefault(require("../../../plugins/text-formatting"));
14
- var _width = _interopRequireDefault(require("../../../plugins/width"));
14
+ var _editorPluginWidth = require("@atlaskit/editor-plugin-width");
15
15
  var _unsupportedContent = _interopRequireDefault(require("../../../plugins/unsupported-content"));
16
16
  var _base = _interopRequireDefault(require("../../../plugins/base"));
17
17
  var _editorDisabled = _interopRequireDefault(require("../../../plugins/editor-disabled"));
@@ -71,7 +71,7 @@ function createDefaultPreset(options) {
71
71
  return builder.add([p, options.annotationProviders]);
72
72
  }
73
73
  return builder;
74
- }).add([_hyperlink.default, options.hyperlinkOptions]).add([_textFormatting.default, options.textFormatting]).add(_width.default).add([_quickInsert.default, options.quickInsert]).add([_typeAhead.default, options.typeAhead || {
74
+ }).add([_hyperlink.default, options.hyperlinkOptions]).add([_textFormatting.default, options.textFormatting]).add(_editorPluginWidth.widthPlugin).add([_quickInsert.default, options.quickInsert]).add([_typeAhead.default, options.typeAhead || {
75
75
  createAnalyticsEvent: options.createAnalyticsEvent
76
76
  }]).add(_unsupportedContent.default).add(_editorDisabled.default).add([_submitEditor.default, options.submitEditor]).add(_fakeTextCursor.default).add(_floatingToolbar.default).add([_selection.default, options.selection]).add([_codeBlock.default, options.codeBlock || {
77
77
  appearance: 'full-page'
@@ -8,6 +8,7 @@ exports.default = createUniversalPreset;
8
8
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _plugins = require("../../../plugins");
11
+ var _editorPluginGrid = require("@atlaskit/editor-plugin-grid");
11
12
  var _card = _interopRequireDefault(require("../../../plugins/card"));
12
13
  var _editorPluginTable = require("@atlaskit/editor-plugin-table");
13
14
  var _editorPluginContentInsertion = require("@atlaskit/editor-plugin-content-insertion");
@@ -85,7 +86,7 @@ function createUniversalPreset(appearance, props, featureFlags, prevAppearance,
85
86
  }]);
86
87
  }
87
88
  return builder;
88
- }).maybeAdd(_plugins.gridPlugin, function (plugin, builder) {
89
+ }).maybeAdd(_editorPluginGrid.gridPlugin, function (plugin, builder) {
89
90
  if (props.media) {
90
91
  return builder.add([plugin, {
91
92
  shouldCalcBreakoutGridLines: isFullPage
@@ -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;