@atlaskit/editor-plugin-media 2.7.0 → 2.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/mediaPlugin.js +21 -6
  3. package/dist/cjs/nodeviews/mediaGroup.js +21 -6
  4. package/dist/cjs/nodeviews/mediaInline.js +55 -13
  5. package/dist/cjs/nodeviews/mediaNodeView/index.js +11 -3
  6. package/dist/cjs/nodeviews/mediaSingle.js +87 -48
  7. package/dist/cjs/nodeviews/mediaSingleNext.js +5 -4
  8. package/dist/cjs/pm-plugins/utils/media-files.js +64 -6
  9. package/dist/cjs/ui/CommentBadge/index.js +44 -14
  10. package/dist/cjs/ui/MediaPicker/index.js +15 -3
  11. package/dist/cjs/ui/MediaViewer/MediaViewerContainer.js +3 -3
  12. package/dist/cjs/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +2 -1
  13. package/dist/cjs/ui/ToolbarMedia/index.js +17 -5
  14. package/dist/cjs/ui/hooks/useMediaProvider.js +11 -3
  15. package/dist/cjs/ui/toolbar/utils.js +6 -4
  16. package/dist/es2019/mediaPlugin.js +21 -6
  17. package/dist/es2019/nodeviews/mediaGroup.js +21 -6
  18. package/dist/es2019/nodeviews/mediaInline.js +54 -12
  19. package/dist/es2019/nodeviews/mediaNodeView/index.js +11 -3
  20. package/dist/es2019/nodeviews/mediaSingle.js +59 -24
  21. package/dist/es2019/nodeviews/mediaSingleNext.js +5 -4
  22. package/dist/es2019/pm-plugins/utils/media-files.js +63 -5
  23. package/dist/es2019/ui/CommentBadge/index.js +40 -10
  24. package/dist/es2019/ui/MediaPicker/index.js +15 -3
  25. package/dist/es2019/ui/MediaViewer/MediaViewerContainer.js +4 -4
  26. package/dist/es2019/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +2 -1
  27. package/dist/es2019/ui/ToolbarMedia/index.js +17 -5
  28. package/dist/es2019/ui/hooks/useMediaProvider.js +11 -3
  29. package/dist/es2019/ui/toolbar/utils.js +5 -3
  30. package/dist/esm/mediaPlugin.js +21 -6
  31. package/dist/esm/nodeviews/mediaGroup.js +21 -6
  32. package/dist/esm/nodeviews/mediaInline.js +55 -13
  33. package/dist/esm/nodeviews/mediaNodeView/index.js +11 -3
  34. package/dist/esm/nodeviews/mediaSingle.js +87 -48
  35. package/dist/esm/nodeviews/mediaSingleNext.js +5 -4
  36. package/dist/esm/pm-plugins/utils/media-files.js +63 -5
  37. package/dist/esm/ui/CommentBadge/index.js +44 -14
  38. package/dist/esm/ui/MediaPicker/index.js +15 -3
  39. package/dist/esm/ui/MediaViewer/MediaViewerContainer.js +4 -4
  40. package/dist/esm/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +2 -1
  41. package/dist/esm/ui/ToolbarMedia/index.js +17 -5
  42. package/dist/esm/ui/hooks/useMediaProvider.js +11 -3
  43. package/dist/esm/ui/toolbar/utils.js +5 -3
  44. package/dist/types/nodeviews/mediaInline.d.ts +7 -2
  45. package/dist/types/nodeviews/mediaSingleNext.d.ts +3 -4
  46. package/dist/types/nodeviews/types.d.ts +3 -4
  47. package/dist/types/pm-plugins/utils/media-files.d.ts +3 -2
  48. package/dist/types/ui/MediaViewer/MediaViewerContainer.d.ts +4 -3
  49. package/dist/types/ui/toolbar/utils.d.ts +1 -0
  50. package/dist/types-ts4.5/nodeviews/mediaInline.d.ts +7 -2
  51. package/dist/types-ts4.5/nodeviews/mediaSingleNext.d.ts +3 -4
  52. package/dist/types-ts4.5/nodeviews/types.d.ts +3 -4
  53. package/dist/types-ts4.5/pm-plugins/utils/media-files.d.ts +3 -2
  54. package/dist/types-ts4.5/ui/MediaViewer/MediaViewerContainer.d.ts +4 -3
  55. package/dist/types-ts4.5/ui/toolbar/utils.d.ts +1 -0
  56. package/package.json +8 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atlaskit/editor-plugin-media
2
2
 
3
+ ## 2.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#146359](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/146359)
8
+ [`cb179949b078a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cb179949b078a) -
9
+ Migrate media to use useSharedPluginStateSelector
10
+ - [#147618](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/147618)
11
+ [`3069d34098b9e`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/3069d34098b9e) -
12
+ Fix image size difference during SSR
13
+ - [#147467](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/147467)
14
+ [`cce4ef288b918`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cce4ef288b918) -
15
+ [EDITOR-633] Fire document failedToInsert event when media inline fails to be inserted
16
+ - Updated dependencies
17
+
3
18
  ## 2.7.0
4
19
 
5
20
  ### Minor Changes
@@ -12,6 +12,7 @@ var _hooks = require("@atlaskit/editor-common/hooks");
12
12
  var _messages = require("@atlaskit/editor-common/messages");
13
13
  var _quickInsert = require("@atlaskit/editor-common/quick-insert");
14
14
  var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
15
+ var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
15
16
  var _state = require("@atlaskit/editor-prosemirror/state");
16
17
  var _mediaCommon = require("@atlaskit/media-common");
17
18
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
@@ -61,22 +62,36 @@ var MediaPickerFunctionalComponent = function MediaPickerFunctionalComponent(_re
61
62
  var MediaViewerFunctionalComponent = function MediaViewerFunctionalComponent(_ref2) {
62
63
  var api = _ref2.api,
63
64
  editorView = _ref2.editorView;
64
- var _useSharedPluginState2 = (0, _hooks.useSharedPluginState)(api, ['media']),
65
+ var _useSharedPluginState2 = (0, _hooks.useSharedPluginState)(api, ['media'], {
66
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true)
67
+ }),
65
68
  mediaState = _useSharedPluginState2.mediaState;
69
+ var isMediaViewerVisibleSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.isMediaViewerVisible', {
70
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
71
+ });
72
+ var mediaViewerSelectedMediaSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.mediaViewerSelectedMedia', {
73
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
74
+ });
75
+ var mediaClientConfigSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.mediaClientConfig', {
76
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
77
+ });
78
+ var isMediaViewerVisible = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? isMediaViewerVisibleSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.isMediaViewerVisible;
79
+ var mediaViewerSelectedMedia = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? mediaViewerSelectedMediaSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaViewerSelectedMedia;
80
+ var mediaClientConfig = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? mediaClientConfigSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaClientConfig;
66
81
 
67
82
  // Only traverse document once when media viewer is visible, media viewer items will not update
68
83
  // when document changes are made while media viewer is open
69
84
 
70
85
  var mediaItems = (0, _react.useMemo)(function () {
71
- if (mediaState !== null && mediaState !== void 0 && mediaState.isMediaViewerVisible) {
86
+ if (isMediaViewerVisible) {
72
87
  var mediaNodes = (0, _mediaCommon2.extractMediaNodes)(editorView.state.doc);
73
88
  return (0, _mediaCommon2.createMediaIdentifierArray)(mediaNodes);
74
89
  }
75
90
  // eslint-disable-next-line react-hooks/exhaustive-deps -- only update mediaItems once when media viewer is visible
76
- }, [mediaState === null || mediaState === void 0 ? void 0 : mediaState.isMediaViewerVisible]);
91
+ }, [isMediaViewerVisible]);
77
92
 
78
93
  // Viewer does not have required attributes to render the media viewer
79
- if (!(mediaState !== null && mediaState !== void 0 && mediaState.isMediaViewerVisible) || !(mediaState !== null && mediaState !== void 0 && mediaState.mediaViewerSelectedMedia) || !(mediaState !== null && mediaState !== void 0 && mediaState.mediaClientConfig)) {
94
+ if (!isMediaViewerVisible || !mediaViewerSelectedMedia || !mediaClientConfig) {
80
95
  return null;
81
96
  }
82
97
  var handleOnClose = function handleOnClose() {
@@ -84,9 +99,9 @@ var MediaViewerFunctionalComponent = function MediaViewerFunctionalComponent(_re
84
99
  api === null || api === void 0 || api.core.actions.execute(api === null || api === void 0 ? void 0 : api.media.commands.hideMediaViewer);
85
100
  };
86
101
  return /*#__PURE__*/_react.default.createElement(_PortalWrapper.RenderMediaViewer, {
87
- mediaClientConfig: mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaClientConfig,
102
+ mediaClientConfig: mediaClientConfig,
88
103
  onClose: handleOnClose,
89
- selectedNodeAttrs: mediaState.mediaViewerSelectedMedia,
104
+ selectedNodeAttrs: mediaViewerSelectedMedia,
90
105
  items: mediaItems
91
106
  });
92
107
  };
@@ -19,6 +19,7 @@ var _hooks = require("@atlaskit/editor-common/hooks");
19
19
  var _media = require("@atlaskit/editor-common/media");
20
20
  var _providerFactory = require("@atlaskit/editor-common/provider-factory");
21
21
  var _reactNodeView = _interopRequireDefault(require("@atlaskit/editor-common/react-node-view"));
22
+ var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
22
23
  var _utils = require("@atlaskit/editor-common/utils");
23
24
  var _closeEditorClose = _interopRequireDefault(require("@atlaskit/icon/core/migration/close--editor-close"));
24
25
  var _mediaCommon = require("@atlaskit/media-common");
@@ -311,13 +312,25 @@ var _default = exports.default = IntlMediaGroup;
311
312
  function MediaGroupNodeViewInternal(_ref3) {
312
313
  var renderFn = _ref3.renderFn,
313
314
  pluginInjectionApi = _ref3.pluginInjectionApi;
314
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['editorDisabled', 'editorViewMode']),
315
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['editorDisabled', 'editorViewMode'], {
316
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true)
317
+ }),
315
318
  editorDisabledPlugin = _useSharedPluginState.editorDisabledState,
316
319
  editorViewModePlugin = _useSharedPluginState.editorViewModeState;
320
+ var editorDisabledSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'editorDisabled.editorDisabled', {
321
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
322
+ });
323
+ var editorViewModeSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'editorViewMode.mode', {
324
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
325
+ });
326
+ var editorDisabled = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? editorDisabledSelector : editorDisabledPlugin === null || editorDisabledPlugin === void 0 ? void 0 : editorDisabledPlugin.editorDisabled;
327
+ var editorViewMode = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? editorViewModeSelector : editorViewModePlugin === null || editorViewModePlugin === void 0 ? void 0 : editorViewModePlugin.mode;
317
328
  var mediaProvider = (0, _useMediaProvider.useMediaProvider)(pluginInjectionApi);
318
329
  return renderFn({
319
330
  editorDisabledPlugin: editorDisabledPlugin,
320
331
  editorViewModePlugin: editorViewModePlugin,
332
+ editorDisabled: editorDisabled,
333
+ editorViewMode: editorViewMode,
321
334
  mediaProvider: mediaProvider
322
335
  });
323
336
  }
@@ -343,7 +356,9 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
343
356
  var renderFn = function renderFn(_ref5) {
344
357
  var editorDisabledPlugin = _ref5.editorDisabledPlugin,
345
358
  editorViewModePlugin = _ref5.editorViewModePlugin,
346
- mediaProviderFromState = _ref5.mediaProvider;
359
+ mediaProviderFromState = _ref5.mediaProvider,
360
+ editorDisabled = _ref5.editorDisabled,
361
+ editorViewMode = _ref5.editorViewMode;
347
362
  var mediaProvider = mediaProviderFromState ? Promise.resolve(mediaProviderFromState) : undefined;
348
363
  if (!mediaProvider) {
349
364
  return null;
@@ -354,7 +369,7 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
354
369
  getPos: getPos,
355
370
  view: _this3.view,
356
371
  forwardRef: forwardRef,
357
- disabled: (editorDisabledPlugin || {}).editorDisabled,
372
+ disabled: editorDisabled,
358
373
  allowLazyLoading: mediaOptions.allowLazyLoading,
359
374
  mediaProvider: mediaProvider,
360
375
  contextIdentifierProvider: contextIdentifierProvider,
@@ -362,7 +377,7 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
362
377
  anchorPos: _this3.view.state.selection.$anchor.pos,
363
378
  headPos: _this3.view.state.selection.$head.pos,
364
379
  mediaOptions: mediaOptions,
365
- editorViewMode: (editorViewModePlugin === null || editorViewModePlugin === void 0 ? void 0 : editorViewModePlugin.mode) === 'view'
380
+ editorViewMode: editorViewMode === 'view'
366
381
  });
367
382
  }
368
383
  return /*#__PURE__*/_react.default.createElement(IntlMediaGroup, {
@@ -370,7 +385,7 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
370
385
  getPos: getPos,
371
386
  view: _this3.view,
372
387
  forwardRef: forwardRef,
373
- disabled: (editorDisabledPlugin || {}).editorDisabled,
388
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? editorDisabled : (editorDisabledPlugin || {}).editorDisabled,
374
389
  allowLazyLoading: mediaOptions.allowLazyLoading,
375
390
  mediaProvider: mediaProvider,
376
391
  contextIdentifierProvider: contextIdentifierProvider,
@@ -378,7 +393,7 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
378
393
  anchorPos: _this3.view.state.selection.$anchor.pos,
379
394
  headPos: _this3.view.state.selection.$head.pos,
380
395
  mediaOptions: mediaOptions,
381
- editorViewMode: (editorViewModePlugin === null || editorViewModePlugin === void 0 ? void 0 : editorViewModePlugin.mode) === 'view'
396
+ editorViewMode: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? editorViewMode === 'view' : (editorViewModePlugin === null || editorViewModePlugin === void 0 ? void 0 : editorViewModePlugin.mode) === 'view'
382
397
  });
383
398
  };
384
399
  return /*#__PURE__*/_react.default.createElement(MediaGroupNodeViewInternal, {
@@ -21,10 +21,12 @@ var _hooks = require("@atlaskit/editor-common/hooks");
21
21
  var _mediaInline = require("@atlaskit/editor-common/media-inline");
22
22
  var _providerFactory = require("@atlaskit/editor-common/provider-factory");
23
23
  var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-node-view");
24
+ var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
24
25
  var _mediaCard = require("@atlaskit/media-card");
25
26
  var _mediaClientReact = require("@atlaskit/media-client-react");
26
27
  var _mediaUi = require("@atlaskit/media-ui");
27
28
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
29
+ var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
28
30
  var _isType = require("../pm-plugins/utils/is-type");
29
31
  var _MediaViewerContainer = require("../ui/MediaViewer/MediaViewerContainer");
30
32
  var _mediaNodeUpdater = require("./mediaNodeUpdater");
@@ -58,7 +60,7 @@ var updateMediaNodeAttributes = /*#__PURE__*/function () {
58
60
  return _regenerator.default.wrap(function _callee$(_context) {
59
61
  while (1) switch (_context.prev = _context.next) {
60
62
  case 0:
61
- addPendingTask = props.mediaPluginState.addPendingTask;
63
+ addPendingTask = props.addPendingTask;
62
64
  node = props.node;
63
65
  if (node) {
64
66
  _context.next = 4;
@@ -111,9 +113,9 @@ var updateMediaNodeAttributes = /*#__PURE__*/function () {
111
113
  }();
112
114
  var handleNewNode = exports.handleNewNode = function handleNewNode(props) {
113
115
  var node = props.node,
114
- mediaPluginState = props.mediaPluginState,
116
+ handleMediaNodeMount = props.handleMediaNodeMount,
115
117
  getPos = props.getPos;
116
- mediaPluginState.handleMediaNodeMount(node, function () {
118
+ handleMediaNodeMount(node, function () {
117
119
  return getPos();
118
120
  });
119
121
  };
@@ -134,8 +136,8 @@ var MediaInline = exports.MediaInline = function MediaInline(props) {
134
136
  updateMediaNodeAttributes(props, mediaNodeUpdater);
135
137
  updateViewMediaClientConfig(props);
136
138
  return function () {
137
- var mediaPluginState = props.mediaPluginState;
138
- mediaPluginState.handleMediaNodeUnmount(props.node);
139
+ var handleMediaNodeUnmount = props.handleMediaNodeUnmount;
140
+ handleMediaNodeUnmount(props.node);
139
141
  };
140
142
  }, [props]);
141
143
  var updateViewMediaClientConfig = /*#__PURE__*/function () {
@@ -190,7 +192,7 @@ var MediaInline = exports.MediaInline = function MediaInline(props) {
190
192
  isSelected: false
191
193
  });
192
194
  }
193
- var allowInlineImages = props.mediaPluginState.allowInlineImages;
195
+ var allowInlineImages = props.allowInlineImages;
194
196
  var borderMark = (_props$node = props.node) === null || _props$node === void 0 || (_props$node = _props$node.marks) === null || _props$node === void 0 ? void 0 : _props$node.find(function (mark) {
195
197
  return mark.type.name === 'border';
196
198
  });
@@ -211,7 +213,8 @@ var MediaInline = exports.MediaInline = function MediaInline(props) {
211
213
  }
212
214
  return (0, _react2.jsx)(_MediaViewerContainer.MediaViewerContainer, {
213
215
  mediaNode: props.node,
214
- mediaPluginState: props.mediaPluginState,
216
+ selectedMediaContainerNode: props.selectedMediaContainerNode,
217
+ mediaClientConfig: props.mediaClientConfig,
215
218
  isEditorViewMode: props.editorViewMode,
216
219
  isSelected: props.isSelected,
217
220
  isInline: (0, _platformFeatureFlags.fg)('platform_editor_render_media_viewer_as_inline')
@@ -229,25 +232,64 @@ var MediaInlineSharedState = function MediaInlineSharedState(_ref3) {
229
232
  contextIdentifierProvider = _ref3.contextIdentifierProvider,
230
233
  api = _ref3.api,
231
234
  view = _ref3.view;
232
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['editorViewMode', 'media']),
235
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['editorViewMode', 'media'], {
236
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true)
237
+ }),
233
238
  editorViewModeState = _useSharedPluginState.editorViewModeState,
234
239
  mediaState = _useSharedPluginState.mediaState;
240
+ var viewModeSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'editorViewMode.mode', {
241
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
242
+ });
243
+ var mediaProviderSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.mediaProvider', {
244
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
245
+ });
246
+ var handleMediaNodeMountSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.handleMediaNodeMount', {
247
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
248
+ });
249
+ var handleMediaNodeUnmountSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.handleMediaNodeUnmount', {
250
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
251
+ });
252
+ var allowInlineImagesSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.allowInlineImages', {
253
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
254
+ });
255
+ var addPendingTaskSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.addPendingTask', {
256
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
257
+ });
258
+ var selectedMediaContainerNodeSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.selectedMediaContainerNode', {
259
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
260
+ });
261
+ var mediaClientConfigSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(api, 'media.mediaClientConfig', {
262
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
263
+ });
264
+ var viewMode = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? viewModeSelector : editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode;
265
+ var mediaProvider = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? mediaProviderSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
266
+ var handleMediaNodeMount = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? handleMediaNodeMountSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.handleMediaNodeMount;
267
+ var handleMediaNodeUnmount = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? handleMediaNodeUnmountSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.handleMediaNodeUnmount;
268
+ var allowInlineImages = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? allowInlineImagesSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.allowInlineImages;
269
+ var addPendingTask = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? addPendingTaskSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.addPendingTask;
270
+ var selectedMediaContainerNode = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? selectedMediaContainerNodeSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.selectedMediaContainerNode;
271
+ var mediaClientConfig = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? mediaClientConfigSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaClientConfig;
235
272
  var newMediaProvider = (0, _react.useMemo)(function () {
236
- return mediaState !== null && mediaState !== void 0 && mediaState.mediaProvider ? Promise.resolve(mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider) : undefined;
237
- }, [mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider]);
238
- if (!mediaState || !newMediaProvider) {
273
+ return mediaProvider ? Promise.resolve(mediaProvider) : undefined;
274
+ }, [mediaProvider]);
275
+ if (!handleMediaNodeMount || !handleMediaNodeUnmount || !addPendingTask || !selectedMediaContainerNode || !mediaClientConfig || !newMediaProvider) {
239
276
  return null;
240
277
  }
241
278
  return (0, _react2.jsx)(MediaInline, {
242
279
  identifier: identifier,
243
280
  mediaProvider: newMediaProvider,
244
- mediaPluginState: mediaState,
281
+ handleMediaNodeMount: handleMediaNodeMount,
282
+ handleMediaNodeUnmount: handleMediaNodeUnmount,
283
+ allowInlineImages: allowInlineImages,
284
+ addPendingTask: addPendingTask,
285
+ selectedMediaContainerNode: selectedMediaContainerNode,
286
+ mediaClientConfig: mediaClientConfig,
245
287
  node: node,
246
288
  isSelected: isSelected,
247
289
  view: view,
248
290
  getPos: getPos,
249
291
  contextIdentifierProvider: contextIdentifierProvider,
250
- editorViewMode: (editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode) === 'view'
292
+ editorViewMode: viewMode === 'view'
251
293
  });
252
294
  };
253
295
  var MediaInlineNodeView = exports.MediaInlineNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
@@ -18,7 +18,9 @@ var _hooks = require("@atlaskit/editor-common/hooks");
18
18
  var _mediaSingle = require("@atlaskit/editor-common/media-single");
19
19
  var _providerFactory = require("@atlaskit/editor-common/provider-factory");
20
20
  var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-node-view");
21
+ var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
21
22
  var _mediaClient = require("@atlaskit/media-client");
23
+ var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
22
24
  var _helpers = require("../../pm-plugins/commands/helpers");
23
25
  var _mediaCommon = require("../../pm-plugins/utils/media-common");
24
26
  var _media = _interopRequireDefault(require("./media"));
@@ -32,12 +34,18 @@ function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototyp
32
34
  var MediaNodeWithProviders = function MediaNodeWithProviders(_ref) {
33
35
  var pluginInjectionApi = _ref.pluginInjectionApi,
34
36
  innerComponent = _ref.innerComponent;
35
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width', 'media']),
37
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width', 'media'], {
38
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true)
39
+ }),
36
40
  widthState = _useSharedPluginState.widthState,
37
41
  mediaState = _useSharedPluginState.mediaState;
42
+ var mediaProviderSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'media.mediaProvider', {
43
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
44
+ });
45
+ var mediaProvider = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? mediaProviderSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
38
46
  return innerComponent({
39
- width: widthState,
40
- mediaProvider: mediaState !== null && mediaState !== void 0 && mediaState.mediaProvider ? Promise.resolve(mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider) : undefined
47
+ width: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? widthState : undefined,
48
+ mediaProvider: mediaProvider ? Promise.resolve(mediaProvider) : undefined
41
49
  });
42
50
  };
43
51
  function isMediaDecorationSpec(decoration) {
@@ -31,6 +31,7 @@ var _utils2 = require("@atlaskit/editor-prosemirror/utils");
31
31
  var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
32
32
  var _mediaClient = require("@atlaskit/media-client");
33
33
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
34
+ var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
34
35
  var _captions = require("../pm-plugins/commands/captions");
35
36
  var _main = require("../pm-plugins/main");
36
37
  var _mediaCommon = require("../pm-plugins/utils/media-common");
@@ -128,78 +129,85 @@ var MediaSingleNode = exports.default = /*#__PURE__*/function (_Component) {
128
129
  while (1) switch (_context2.prev = _context2.next) {
129
130
  case 0:
130
131
  _this.createOrUpdateMediaNodeUpdater(props);
131
- addPendingTask = _this.props.mediaPluginState.addPendingTask; // we want the first child of MediaSingle (type "media")
132
+ addPendingTask = _this.props.addPendingTask;
133
+ if (addPendingTask) {
134
+ _context2.next = 4;
135
+ break;
136
+ }
137
+ return _context2.abrupt("return");
138
+ case 4:
139
+ // we want the first child of MediaSingle (type "media")
132
140
  node = _this.props.node.firstChild;
133
141
  if (node) {
134
- _context2.next = 5;
142
+ _context2.next = 7;
135
143
  break;
136
144
  }
137
145
  return _context2.abrupt("return");
138
- case 5:
139
- _context2.next = 7;
140
- return (_this$mediaNodeUpdate2 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate2 === void 0 ? void 0 : _this$mediaNodeUpdate2.getRemoteDimensions();
141
146
  case 7:
147
+ _context2.next = 9;
148
+ return (_this$mediaNodeUpdate2 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate2 === void 0 ? void 0 : _this$mediaNodeUpdate2.getRemoteDimensions();
149
+ case 9:
142
150
  updatedDimensions = _context2.sent;
143
151
  currentAttrs = (_this$props$node$firs = _this.props.node.firstChild) === null || _this$props$node$firs === void 0 ? void 0 : _this$props$node$firs.attrs;
144
152
  if (updatedDimensions && ((currentAttrs === null || currentAttrs === void 0 ? void 0 : currentAttrs.width) !== updatedDimensions.width || (currentAttrs === null || currentAttrs === void 0 ? void 0 : currentAttrs.height) !== updatedDimensions.height)) {
145
153
  (_this$mediaNodeUpdate3 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate3 === void 0 || _this$mediaNodeUpdate3.updateDimensions(updatedDimensions);
146
154
  }
147
155
  if (!(node.attrs.type === 'external' && node.attrs.__external)) {
148
- _context2.next = 16;
156
+ _context2.next = 18;
149
157
  break;
150
158
  }
151
159
  // Ignored via go/ees005
152
160
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
153
161
  updatingNode = _this.mediaNodeUpdater.handleExternalMedia(_this.props.getPos);
154
162
  addPendingTask(updatingNode);
155
- _context2.next = 15;
163
+ _context2.next = 17;
156
164
  return updatingNode;
157
- case 15:
165
+ case 17:
158
166
  return _context2.abrupt("return");
159
- case 16:
167
+ case 18:
160
168
  contextId = (_this$mediaNodeUpdate4 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate4 === void 0 ? void 0 : _this$mediaNodeUpdate4.getNodeContextId();
161
169
  if (contextId) {
162
- _context2.next = 20;
170
+ _context2.next = 22;
163
171
  break;
164
172
  }
165
- _context2.next = 20;
166
- return (_this$mediaNodeUpdate5 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate5 === void 0 ? void 0 : _this$mediaNodeUpdate5.updateContextId();
167
- case 20:
168
173
  _context2.next = 22;
169
- return (_this$mediaNodeUpdate6 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate6 === void 0 ? void 0 : _this$mediaNodeUpdate6.shouldNodeBeDeepCopied();
174
+ return (_this$mediaNodeUpdate5 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate5 === void 0 ? void 0 : _this$mediaNodeUpdate5.updateContextId();
170
175
  case 22:
176
+ _context2.next = 24;
177
+ return (_this$mediaNodeUpdate6 = _this.mediaNodeUpdater) === null || _this$mediaNodeUpdate6 === void 0 ? void 0 : _this$mediaNodeUpdate6.shouldNodeBeDeepCopied();
178
+ case 24:
171
179
  shouldNodeBeDeepCopied = _context2.sent;
172
180
  if (!shouldNodeBeDeepCopied) {
173
- _context2.next = 35;
181
+ _context2.next = 37;
174
182
  break;
175
183
  }
176
184
  _this.setState({
177
185
  isCopying: true
178
186
  });
179
- _context2.prev = 25;
187
+ _context2.prev = 27;
180
188
  // Ignored via go/ees005
181
189
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
182
190
  copyNode = _this.mediaNodeUpdater.copyNode({
183
191
  traceId: node.attrs.__mediaTraceId
184
192
  });
185
193
  addPendingTask(copyNode);
186
- _context2.next = 30;
194
+ _context2.next = 32;
187
195
  return copyNode;
188
- case 30:
189
- _context2.next = 35;
190
- break;
191
196
  case 32:
192
- _context2.prev = 32;
193
- _context2.t0 = _context2["catch"](25);
197
+ _context2.next = 37;
198
+ break;
199
+ case 34:
200
+ _context2.prev = 34;
201
+ _context2.t0 = _context2["catch"](27);
194
202
  // if copyNode fails, let's set isCopying false so we can show the eventual error
195
203
  _this.setState({
196
204
  isCopying: false
197
205
  });
198
- case 35:
206
+ case 37:
199
207
  case "end":
200
208
  return _context2.stop();
201
209
  }
202
- }, _callee2, null, [[25, 32]]);
210
+ }, _callee2, null, [[27, 34]]);
203
211
  }));
204
212
  return function (_x2) {
205
213
  return _ref2.apply(this, arguments);
@@ -362,7 +370,8 @@ var MediaSingleNode = exports.default = /*#__PURE__*/function (_Component) {
362
370
  dispatchAnalyticsEvent = _this$props2.dispatchAnalyticsEvent,
363
371
  editorViewMode = _this$props2.editorViewMode,
364
372
  editorDisabled = _this$props2.editorDisabled,
365
- annotationPluginState = _this$props2.annotationPluginState,
373
+ isDrafting = _this$props2.isDrafting,
374
+ targetNodeId = _this$props2.targetNodeId,
366
375
  editorAppearance = _this$props2.editorAppearance;
367
376
  var _ref4 = node.attrs,
368
377
  layout = _ref4.layout,
@@ -459,7 +468,7 @@ var MediaSingleNode = exports.default = /*#__PURE__*/function (_Component) {
459
468
  var badgeOffsetRight = isBadgePosOffsetRight();
460
469
  var shouldShowPlaceholder = mediaOptions.allowCaptions && node.childCount !== 2 && isSelected && state.selection instanceof _state.NodeSelection;
461
470
  shouldShowPlaceholder = !editorDisabled && shouldShowPlaceholder;
462
- var isCurrentNodeDrafting = (annotationPluginState === null || annotationPluginState === void 0 ? void 0 : annotationPluginState.isDrafting) && (annotationPluginState === null || annotationPluginState === void 0 ? void 0 : annotationPluginState.targetNodeId) === (node === null || node === void 0 || (_node$firstChild = node.firstChild) === null || _node$firstChild === void 0 ? void 0 : _node$firstChild.attrs.id);
471
+ var isCurrentNodeDrafting = Boolean(isDrafting && targetNodeId === (node === null || node === void 0 || (_node$firstChild = node.firstChild) === null || _node$firstChild === void 0 ? void 0 : _node$firstChild.attrs.id));
463
472
  var pos = getPos();
464
473
  var isInsideTable = pos !== undefined && (0, _utils2.findParentNodeOfTypeClosestToPos)(state.doc.resolve(pos), [state.schema.nodes.table]);
465
474
  var currentMediaElement = function currentMediaElement() {
@@ -557,23 +566,57 @@ var MediaSingleNodeWrapper = function MediaSingleNodeWrapper(_ref6) {
557
566
  dispatchAnalyticsEvent = _ref6.dispatchAnalyticsEvent,
558
567
  forwardRef = _ref6.forwardRef,
559
568
  editorAppearance = _ref6.editorAppearance;
560
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width', 'media', 'annotation', 'editorDisabled', 'editorViewMode']),
569
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width', 'media', 'annotation', 'editorDisabled', 'editorViewMode'], {
570
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true)
571
+ }),
561
572
  widthState = _useSharedPluginState.widthState,
562
573
  mediaState = _useSharedPluginState.mediaState,
563
574
  annotationState = _useSharedPluginState.annotationState,
564
575
  editorDisabledState = _useSharedPluginState.editorDisabledState,
565
576
  editorViewModeState = _useSharedPluginState.editorViewModeState;
577
+ var mediaProviderSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'media.mediaProvider', {
578
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
579
+ });
580
+ var addPendingTaskSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'media.addPendingTask', {
581
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
582
+ });
583
+ var isDraftingSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'annotation.isDrafting', {
584
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
585
+ });
586
+ var targetNodeIdSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'annotation.targetNodeId', {
587
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
588
+ });
589
+ var widthSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'width.width', {
590
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
591
+ });
592
+ var lineLengthSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'width.lineLength', {
593
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
594
+ });
595
+ var editorDisabledSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'editorDisabled.editorDisabled', {
596
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
597
+ });
598
+ var viewModeSelector = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'editorViewMode.mode', {
599
+ disabled: (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', false)
600
+ });
601
+ var mediaProviderState = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? mediaProviderSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
602
+ var addPendingTask = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? addPendingTaskSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.addPendingTask;
603
+ var isDrafting = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? isDraftingSelector : annotationState === null || annotationState === void 0 ? void 0 : annotationState.isDrafting;
604
+ var targetNodeId = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? targetNodeIdSelector : annotationState === null || annotationState === void 0 ? void 0 : annotationState.targetNodeId;
605
+ var width = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? widthSelector : widthState === null || widthState === void 0 ? void 0 : widthState.width;
606
+ var lineLength = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? lineLengthSelector : widthState === null || widthState === void 0 ? void 0 : widthState.lineLength;
607
+ var editorDisabled = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? editorDisabledSelector : editorDisabledState === null || editorDisabledState === void 0 ? void 0 : editorDisabledState.editorDisabled;
608
+ var viewMode = (0, _experiments.editorExperiment)('platform_editor_usesharedpluginstateselector', true) ? viewModeSelector : editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode;
566
609
  var hasHadInteraction = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'interaction.hasHadInteraction');
567
610
  var mediaProvider = (0, _react.useMemo)(function () {
568
- return mediaState !== null && mediaState !== void 0 && mediaState.mediaProvider ? Promise.resolve(mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider) : undefined;
569
- }, [mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider]);
611
+ return mediaProviderState ? Promise.resolve(mediaProviderState) : undefined;
612
+ }, [mediaProviderState]);
570
613
  var isSelectedAndInteracted = (0, _react.useCallback)(function () {
571
614
  return Boolean(selected() && hasHadInteraction !== false);
572
615
  }, [hasHadInteraction, selected]);
573
616
  if ((0, _platformFeatureFlags.fg)('platform_editor_react18_phase2__media_single') || (0, _platformFeatureFlags.fg)('platform_editor_react18_phase2__media_single_jira')) {
574
617
  return (0, _react2.jsx)(_mediaSingleNext.MediaSingleNodeNext, {
575
- width: (widthState === null || widthState === void 0 ? void 0 : widthState.width) || 0,
576
- lineLength: (widthState === null || widthState === void 0 ? void 0 : widthState.lineLength) || 0,
618
+ width: width || 0,
619
+ lineLength: lineLength || 0,
577
620
  node: node,
578
621
  getPos: getPos,
579
622
  mediaProvider: mediaProvider,
@@ -583,25 +626,20 @@ var MediaSingleNodeWrapper = function MediaSingleNodeWrapper(_ref6) {
583
626
  fullWidthMode: fullWidthMode,
584
627
  selected: (0, _platformFeatureFlags.fg)('platform_editor_no_selection_until_interaction') ? isSelectedAndInteracted : selected,
585
628
  eventDispatcher: eventDispatcher,
586
- mediaPluginState: mediaState !== null && mediaState !== void 0 ? mediaState : undefined,
587
- annotationPluginState: annotationState !== null && annotationState !== void 0 ? annotationState : undefined,
629
+ addPendingTask: addPendingTask,
630
+ isDrafting: isDrafting,
631
+ targetNodeId: targetNodeId,
588
632
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
589
633
  forwardRef: forwardRef,
590
634
  pluginInjectionApi: pluginInjectionApi,
591
- editorDisabled: editorDisabledState === null || editorDisabledState === void 0 ? void 0 : editorDisabledState.editorDisabled,
592
- editorViewMode: (editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode) === 'view',
635
+ editorDisabled: editorDisabled,
636
+ editorViewMode: viewMode === 'view',
593
637
  editorAppearance: editorAppearance
594
638
  });
595
639
  }
596
- return (0, _react2.jsx)(MediaSingleNode
597
- // Ignored via go/ees005
598
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
599
- , {
600
- width: widthState.width
601
- // Ignored via go/ees005
602
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
603
- ,
604
- lineLength: widthState.lineLength,
640
+ return (0, _react2.jsx)(MediaSingleNode, {
641
+ width: width,
642
+ lineLength: lineLength,
605
643
  node: node,
606
644
  getPos: getPos,
607
645
  mediaProvider: mediaProvider,
@@ -611,13 +649,14 @@ var MediaSingleNodeWrapper = function MediaSingleNodeWrapper(_ref6) {
611
649
  fullWidthMode: fullWidthMode,
612
650
  selected: (0, _platformFeatureFlags.fg)('platform_editor_no_selection_until_interaction') ? isSelectedAndInteracted : selected,
613
651
  eventDispatcher: eventDispatcher,
614
- mediaPluginState: mediaState !== null && mediaState !== void 0 ? mediaState : undefined,
615
- annotationPluginState: annotationState !== null && annotationState !== void 0 ? annotationState : undefined,
652
+ addPendingTask: addPendingTask,
653
+ isDrafting: isDrafting,
654
+ targetNodeId: targetNodeId,
616
655
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
617
656
  forwardRef: forwardRef,
618
657
  pluginInjectionApi: pluginInjectionApi,
619
- editorDisabled: editorDisabledState === null || editorDisabledState === void 0 ? void 0 : editorDisabledState.editorDisabled,
620
- editorViewMode: (editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode) === 'view',
658
+ editorDisabled: editorDisabled,
659
+ editorViewMode: viewMode === 'view',
621
660
  editorAppearance: editorAppearance
622
661
  });
623
662
  };
@@ -300,12 +300,13 @@ var MediaSingleNodeNext = exports.MediaSingleNodeNext = function MediaSingleNode
300
300
  dispatchAnalyticsEvent = mediaSingleNodeNextProps.dispatchAnalyticsEvent,
301
301
  editorViewMode = mediaSingleNodeNextProps.editorViewMode,
302
302
  editorDisabled = mediaSingleNodeNextProps.editorDisabled,
303
- annotationPluginState = mediaSingleNodeNextProps.annotationPluginState,
303
+ isDrafting = mediaSingleNodeNextProps.isDrafting,
304
+ targetNodeId = mediaSingleNodeNextProps.targetNodeId,
304
305
  editorAppearance = mediaSingleNodeNextProps.editorAppearance,
305
306
  mediaProviderPromise = mediaSingleNodeNextProps.mediaProvider,
306
307
  forwardRef = mediaSingleNodeNextProps.forwardRef,
307
308
  contextIdentifierProviderPromise = mediaSingleNodeNextProps.contextIdentifierProvider,
308
- mediaPluginState = mediaSingleNodeNextProps.mediaPluginState;
309
+ addPendingTask = mediaSingleNodeNextProps.addPendingTask;
309
310
  var _React$useState3 = _react.default.useState(null),
310
311
  _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
311
312
  mediaProvider = _React$useState4[0],
@@ -333,7 +334,7 @@ var MediaSingleNodeNext = exports.MediaSingleNodeNext = function MediaSingleNode
333
334
  mediaNodeUpdater: mediaNodeUpdater,
334
335
  getPos: getPos,
335
336
  mediaNode: mediaNode,
336
- addPendingTask: (mediaPluginState === null || mediaPluginState === void 0 ? void 0 : mediaPluginState.addPendingTask) || noop
337
+ addPendingTask: addPendingTask || noop
337
338
  });
338
339
  _react.default.useLayoutEffect(function () {
339
340
  mountedRef.current = true;
@@ -437,7 +438,7 @@ var MediaSingleNodeNext = exports.MediaSingleNodeNext = function MediaSingleNode
437
438
  }, [mediaSingleWidthAttribute, widthType, width, layout, contentWidthForLegacyExperience, containerWidth]);
438
439
  var currentMaxWidth = isSelected ? pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$m = pluginInjectionApi.media) === null || _pluginInjectionApi$m === void 0 || (_pluginInjectionApi$m = _pluginInjectionApi$m.sharedState.currentState()) === null || _pluginInjectionApi$m === void 0 ? void 0 : _pluginInjectionApi$m.currentMaxWidth : undefined;
439
440
  var contentWidth = currentMaxWidth || lineLength;
440
- var isCurrentNodeDrafting = Boolean((annotationPluginState === null || annotationPluginState === void 0 ? void 0 : annotationPluginState.isDrafting) && (annotationPluginState === null || annotationPluginState === void 0 ? void 0 : annotationPluginState.targetNodeId) === (mediaNode === null || mediaNode === void 0 || (_mediaNode$firstChild = mediaNode.firstChild) === null || _mediaNode$firstChild === void 0 ? void 0 : _mediaNode$firstChild.attrs.id));
441
+ var isCurrentNodeDrafting = Boolean(isDrafting && targetNodeId === (mediaNode === null || mediaNode === void 0 || (_mediaNode$firstChild = mediaNode.firstChild) === null || _mediaNode$firstChild === void 0 ? void 0 : _mediaNode$firstChild.attrs.id));
441
442
  var mediaSingleWrapperRef = /*#__PURE__*/_react.default.createRef();
442
443
  var captionPlaceHolderRef = /*#__PURE__*/_react.default.createRef();
443
444
  var onMediaSingleClicked = _react.default.useCallback(function (event) {