@atlaskit/editor-core 185.2.25 → 185.2.26

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 (154) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/editor-next/editor-internal.js +3 -3
  3. package/dist/cjs/index.js +4 -4
  4. package/dist/cjs/labs/next/Editor.js +3 -3
  5. package/dist/cjs/nodeviews/index.js +1 -16
  6. package/dist/cjs/plugins/annotation/index.js +31 -21
  7. package/dist/cjs/plugins/annotation/nodeviews/index.js +2 -2
  8. package/dist/cjs/plugins/base/index.js +0 -6
  9. package/dist/cjs/plugins/caption/index.js +1 -2
  10. package/dist/cjs/plugins/caption/nodeviews/index.js +3 -3
  11. package/dist/cjs/plugins/caption/pm-plugins/main.js +4 -2
  12. package/dist/cjs/plugins/card/nodeviews/embedCard.js +4 -4
  13. package/dist/cjs/plugins/extension/nodeviews/extension.js +2 -2
  14. package/dist/cjs/plugins/jira-issue/index.js +2 -2
  15. package/dist/cjs/plugins/media/index.js +2 -2
  16. package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +25 -19
  17. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +3 -3
  18. package/dist/cjs/plugins/media/nodeviews/mediaNodeView/index.js +16 -10
  19. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +2 -2
  20. package/dist/cjs/plugins/media/pm-plugins/main.js +25 -8
  21. package/dist/cjs/plugins/tasks-and-decisions/nodeviews/decisionItem.js +2 -2
  22. package/dist/cjs/plugins/tasks-and-decisions/nodeviews/taskItem.js +2 -2
  23. package/dist/cjs/plugins/unsupported-content/index.js +6 -4
  24. package/dist/cjs/test-utils.js +0 -7
  25. package/dist/cjs/version-wrapper.js +1 -1
  26. package/dist/cjs/version.json +1 -1
  27. package/dist/es2019/editor-next/editor-internal.js +1 -1
  28. package/dist/es2019/index.js +1 -1
  29. package/dist/es2019/labs/next/Editor.js +1 -1
  30. package/dist/es2019/nodeviews/index.js +1 -2
  31. package/dist/es2019/plugins/annotation/index.js +34 -23
  32. package/dist/es2019/plugins/annotation/nodeviews/index.js +1 -1
  33. package/dist/es2019/plugins/base/index.js +0 -4
  34. package/dist/es2019/plugins/caption/index.js +1 -4
  35. package/dist/es2019/plugins/caption/nodeviews/index.js +2 -2
  36. package/dist/es2019/plugins/caption/pm-plugins/main.js +4 -2
  37. package/dist/es2019/plugins/card/nodeviews/embedCard.js +2 -2
  38. package/dist/es2019/plugins/extension/nodeviews/extension.js +1 -1
  39. package/dist/es2019/plugins/jira-issue/index.js +1 -1
  40. package/dist/es2019/plugins/media/index.js +2 -2
  41. package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +21 -14
  42. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +2 -2
  43. package/dist/es2019/plugins/media/nodeviews/mediaNodeView/index.js +13 -9
  44. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +1 -1
  45. package/dist/es2019/plugins/media/pm-plugins/main.js +28 -11
  46. package/dist/es2019/plugins/tasks-and-decisions/nodeviews/decisionItem.js +1 -1
  47. package/dist/es2019/plugins/tasks-and-decisions/nodeviews/taskItem.js +1 -1
  48. package/dist/es2019/plugins/unsupported-content/index.js +1 -1
  49. package/dist/es2019/test-utils.js +0 -1
  50. package/dist/es2019/version-wrapper.js +1 -1
  51. package/dist/es2019/version.json +1 -1
  52. package/dist/esm/editor-next/editor-internal.js +1 -1
  53. package/dist/esm/index.js +1 -1
  54. package/dist/esm/labs/next/Editor.js +1 -1
  55. package/dist/esm/nodeviews/index.js +1 -2
  56. package/dist/esm/plugins/annotation/index.js +32 -22
  57. package/dist/esm/plugins/annotation/nodeviews/index.js +1 -1
  58. package/dist/esm/plugins/base/index.js +0 -6
  59. package/dist/esm/plugins/caption/index.js +1 -2
  60. package/dist/esm/plugins/caption/nodeviews/index.js +2 -2
  61. package/dist/esm/plugins/caption/pm-plugins/main.js +4 -2
  62. package/dist/esm/plugins/card/nodeviews/embedCard.js +4 -4
  63. package/dist/esm/plugins/extension/nodeviews/extension.js +1 -1
  64. package/dist/esm/plugins/jira-issue/index.js +1 -1
  65. package/dist/esm/plugins/media/index.js +2 -2
  66. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +24 -18
  67. package/dist/esm/plugins/media/nodeviews/mediaInline.js +2 -2
  68. package/dist/esm/plugins/media/nodeviews/mediaNodeView/index.js +15 -9
  69. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +1 -1
  70. package/dist/esm/plugins/media/pm-plugins/main.js +26 -9
  71. package/dist/esm/plugins/tasks-and-decisions/nodeviews/decisionItem.js +1 -1
  72. package/dist/esm/plugins/tasks-and-decisions/nodeviews/taskItem.js +1 -1
  73. package/dist/esm/plugins/unsupported-content/index.js +1 -1
  74. package/dist/esm/test-utils.js +0 -1
  75. package/dist/esm/version-wrapper.js +1 -1
  76. package/dist/esm/version.json +1 -1
  77. package/dist/types/create-editor/ReactEditorViewInternal.d.ts +1 -1
  78. package/dist/types/index.d.ts +1 -1
  79. package/dist/types/labs/next/internal/components/EditorInternal.d.ts +2 -2
  80. package/dist/types/labs/next/internal/editor-props-type.d.ts +1 -1
  81. package/dist/types/labs/next/internal/hooks/use-editor/create-editor.d.ts +1 -1
  82. package/dist/types/nodeviews/index.d.ts +0 -2
  83. package/dist/types/plugins/annotation/index.d.ts +3 -1
  84. package/dist/types/plugins/annotation/nodeviews/index.d.ts +2 -1
  85. package/dist/types/plugins/annotation/pm-plugins/types.d.ts +2 -2
  86. package/dist/types/plugins/caption/index.d.ts +1 -1
  87. package/dist/types/plugins/caption/nodeviews/index.d.ts +7 -4
  88. package/dist/types/plugins/caption/pm-plugins/main.d.ts +5 -4
  89. package/dist/types/plugins/card/nodeviews/embedCard.d.ts +2 -2
  90. package/dist/types/plugins/extension/nodeviews/extension.d.ts +3 -2
  91. package/dist/types/plugins/extension/pm-plugins/main.d.ts +2 -2
  92. package/dist/types/plugins/media/index.d.ts +3 -1
  93. package/dist/types/plugins/media/nodeviews/mediaGroup.d.ts +5 -3
  94. package/dist/types/plugins/media/nodeviews/mediaInline.d.ts +6 -3
  95. package/dist/types/plugins/media/nodeviews/mediaNodeView/index.d.ts +6 -4
  96. package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +2 -2
  97. package/dist/types/plugins/media/types.d.ts +4 -0
  98. package/dist/types/plugins/tasks-and-decisions/nodeviews/decisionItem.d.ts +1 -1
  99. package/dist/types/plugins/tasks-and-decisions/nodeviews/taskItem.d.ts +1 -1
  100. package/dist/types/plugins/tasks-and-decisions/pm-plugins/main.d.ts +1 -1
  101. package/dist/types/test-utils.d.ts +0 -1
  102. package/dist/types-ts4.5/create-editor/ReactEditorViewInternal.d.ts +1 -1
  103. package/dist/types-ts4.5/index.d.ts +1 -1
  104. package/dist/types-ts4.5/labs/next/internal/components/EditorInternal.d.ts +2 -2
  105. package/dist/types-ts4.5/labs/next/internal/editor-props-type.d.ts +1 -1
  106. package/dist/types-ts4.5/labs/next/internal/hooks/use-editor/create-editor.d.ts +1 -1
  107. package/dist/types-ts4.5/nodeviews/index.d.ts +0 -2
  108. package/dist/types-ts4.5/plugins/annotation/index.d.ts +3 -1
  109. package/dist/types-ts4.5/plugins/annotation/nodeviews/index.d.ts +2 -1
  110. package/dist/types-ts4.5/plugins/annotation/pm-plugins/types.d.ts +2 -2
  111. package/dist/types-ts4.5/plugins/caption/index.d.ts +1 -1
  112. package/dist/types-ts4.5/plugins/caption/nodeviews/index.d.ts +7 -4
  113. package/dist/types-ts4.5/plugins/caption/pm-plugins/main.d.ts +5 -4
  114. package/dist/types-ts4.5/plugins/card/nodeviews/embedCard.d.ts +2 -2
  115. package/dist/types-ts4.5/plugins/extension/nodeviews/extension.d.ts +3 -2
  116. package/dist/types-ts4.5/plugins/extension/pm-plugins/main.d.ts +2 -2
  117. package/dist/types-ts4.5/plugins/media/index.d.ts +3 -1
  118. package/dist/types-ts4.5/plugins/media/nodeviews/mediaGroup.d.ts +5 -3
  119. package/dist/types-ts4.5/plugins/media/nodeviews/mediaInline.d.ts +6 -3
  120. package/dist/types-ts4.5/plugins/media/nodeviews/mediaNodeView/index.d.ts +6 -4
  121. package/dist/types-ts4.5/plugins/media/nodeviews/mediaSingle.d.ts +2 -2
  122. package/dist/types-ts4.5/plugins/media/types.d.ts +4 -0
  123. package/dist/types-ts4.5/plugins/tasks-and-decisions/nodeviews/decisionItem.d.ts +1 -1
  124. package/dist/types-ts4.5/plugins/tasks-and-decisions/nodeviews/taskItem.d.ts +1 -1
  125. package/dist/types-ts4.5/plugins/tasks-and-decisions/pm-plugins/main.d.ts +1 -1
  126. package/dist/types-ts4.5/test-utils.d.ts +0 -1
  127. package/package.json +2 -2
  128. package/report.api.md +20 -85
  129. package/tmp/api-report-tmp.d.ts +18 -68
  130. package/dist/cjs/nodeviews/ReactNodeView.js +0 -224
  131. package/dist/cjs/nodeviews/SelectionBasedNodeView.js +0 -169
  132. package/dist/cjs/plugins/base/pm-plugins/react-nodeview.js +0 -72
  133. package/dist/cjs/ui/PortalProvider/PortalProviderThemesProvider.js +0 -43
  134. package/dist/cjs/ui/PortalProvider/index.js +0 -252
  135. package/dist/es2019/nodeviews/ReactNodeView.js +0 -170
  136. package/dist/es2019/nodeviews/SelectionBasedNodeView.js +0 -158
  137. package/dist/es2019/plugins/base/pm-plugins/react-nodeview.js +0 -48
  138. package/dist/es2019/ui/PortalProvider/PortalProviderThemesProvider.js +0 -37
  139. package/dist/es2019/ui/PortalProvider/index.js +0 -184
  140. package/dist/esm/nodeviews/ReactNodeView.js +0 -217
  141. package/dist/esm/nodeviews/SelectionBasedNodeView.js +0 -163
  142. package/dist/esm/plugins/base/pm-plugins/react-nodeview.js +0 -62
  143. package/dist/esm/ui/PortalProvider/PortalProviderThemesProvider.js +0 -36
  144. package/dist/esm/ui/PortalProvider/index.js +0 -242
  145. package/dist/types/nodeviews/ReactNodeView.d.ts +0 -52
  146. package/dist/types/nodeviews/SelectionBasedNodeView.d.ts +0 -53
  147. package/dist/types/plugins/base/pm-plugins/react-nodeview.d.ts +0 -13
  148. package/dist/types/ui/PortalProvider/PortalProviderThemesProvider.d.ts +0 -6
  149. package/dist/types/ui/PortalProvider/index.d.ts +0 -51
  150. package/dist/types-ts4.5/nodeviews/ReactNodeView.d.ts +0 -52
  151. package/dist/types-ts4.5/nodeviews/SelectionBasedNodeView.d.ts +0 -53
  152. package/dist/types-ts4.5/plugins/base/pm-plugins/react-nodeview.d.ts +0 -13
  153. package/dist/types-ts4.5/ui/PortalProvider/PortalProviderThemesProvider.d.ts +0 -6
  154. package/dist/types-ts4.5/ui/PortalProvider/index.d.ts +0 -51
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 185.2.26
4
+
5
+ ### Patch Changes
6
+
7
+ - [`5e01082b600`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5e01082b600) - Extracting SelectionBasedNodeView to editor-common.
8
+ - Updated dependencies
9
+
3
10
  ## 185.2.25
4
11
 
5
12
  ### Patch Changes
@@ -17,7 +17,7 @@ var _featureFlagsFromProps = require("../create-editor/feature-flags-from-props"
17
17
  var _contextAdapter = require("../nodeviews/context-adapter");
18
18
  var _analytics = require("@atlaskit/editor-common/analytics");
19
19
  var _EditorContext = _interopRequireDefault(require("../ui/EditorContext"));
20
- var _PortalProvider = require("../ui/PortalProvider");
20
+ var _portalProvider = require("@atlaskit/editor-common/portal-provider");
21
21
  var _RenderTracking = require("../utils/performance/components/RenderTracking");
22
22
  var _getBaseFontSize = require("./utils/getBaseFontSize");
23
23
  var _useMeasureEditorMountTime = _interopRequireDefault(require("./hooks/useMeasureEditorMountTime"));
@@ -88,7 +88,7 @@ function EditorInternalWithoutHooks(_ref) {
88
88
  })
89
89
  }, (0, _react.jsx)(_EditorContext.default, {
90
90
  editorActions: editorActions
91
- }, (0, _react.jsx)(_contextAdapter.ContextAdapter, null, (0, _react.jsx)(_PortalProvider.PortalProviderWithThemeProviders, {
91
+ }, (0, _react.jsx)(_contextAdapter.ContextAdapter, null, (0, _react.jsx)(_portalProvider.PortalProviderWithThemeProviders, {
92
92
  onAnalyticsEvent: handleAnalyticsEvent,
93
93
  useAnalyticsContext: props.UNSAFE_useAnalyticsContext,
94
94
  render: function render(portalProviderAPI) {
@@ -146,7 +146,7 @@ function EditorInternalWithoutHooks(_ref) {
146
146
  pluginHooks: config.pluginHooks
147
147
  }));
148
148
  }
149
- }), (0, _react.jsx)(_PortalProvider.PortalRenderer, {
149
+ }), (0, _react.jsx)(_portalProvider.PortalRenderer, {
150
150
  portalProviderAPI: portalProviderAPI
151
151
  }));
152
152
  }
package/dist/cjs/index.js CHANGED
@@ -128,19 +128,19 @@ Object.defineProperty(exports, "MentionResource", {
128
128
  Object.defineProperty(exports, "PortalProvider", {
129
129
  enumerable: true,
130
130
  get: function get() {
131
- return _PortalProvider.PortalProvider;
131
+ return _portalProvider.PortalProvider;
132
132
  }
133
133
  });
134
134
  Object.defineProperty(exports, "PortalProviderAPI", {
135
135
  enumerable: true,
136
136
  get: function get() {
137
- return _PortalProvider.PortalProviderAPI;
137
+ return _portalProvider.PortalProviderAPI;
138
138
  }
139
139
  });
140
140
  Object.defineProperty(exports, "PortalRenderer", {
141
141
  enumerable: true,
142
142
  get: function get() {
143
- return _PortalProvider.PortalRenderer;
143
+ return _portalProvider.PortalRenderer;
144
144
  }
145
145
  });
146
146
  Object.defineProperty(exports, "PresenceResource", {
@@ -699,7 +699,7 @@ var _utils = require("./utils");
699
699
  var _listCommands = require("./utils/list-commands");
700
700
  var _createEditor = require("./create-editor");
701
701
  var _actions3 = _interopRequireDefault(require("./actions"));
702
- var _PortalProvider = require("./ui/PortalProvider");
702
+ var _portalProvider = require("@atlaskit/editor-common/portal-provider");
703
703
  var _gapCursorSelection = require("./plugins/selection/gap-cursor-selection");
704
704
  var _mobileSelection = require("./plugins/mobile-selection");
705
705
  var _commands8 = require("./plugins/expand/commands");
@@ -32,7 +32,7 @@ Object.defineProperty(exports, "useEditorSharedConfig", {
32
32
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
33
33
  var _react = _interopRequireDefault(require("react"));
34
34
  var _reactIntlNext = require("react-intl-next");
35
- var _PortalProvider = require("../../ui/PortalProvider");
35
+ var _portalProvider = require("@atlaskit/editor-common/portal-provider");
36
36
  var _EditorInternal = require("./internal/components/EditorInternal");
37
37
  var _presetContext = require("./internal/context/preset-context");
38
38
  var _sharedConfig = require("./internal/context/shared-config");
@@ -55,14 +55,14 @@ function Editor(props) {
55
55
  var plugins = (0, _presetContext.usePresetContext)();
56
56
  return /*#__PURE__*/_react.default.createElement(_reactIntlNext.IntlProvider, {
57
57
  locale: "en"
58
- }, /*#__PURE__*/_react.default.createElement(_PortalProvider.PortalProvider, {
58
+ }, /*#__PURE__*/_react.default.createElement(_portalProvider.PortalProvider, {
59
59
  onAnalyticsEvent: props.onAnalyticsEvent,
60
60
  render: function render(portalProviderAPI) {
61
61
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_EditorInternal.EditorInternal, (0, _extends2.default)({}, props, {
62
62
  plugins: plugins.length ? plugins : props.plugins,
63
63
  portalProviderAPI: portalProviderAPI,
64
64
  onAnalyticsEvent: props.onAnalyticsEvent
65
- })), /*#__PURE__*/_react.default.createElement(_PortalProvider.PortalRenderer, {
65
+ })), /*#__PURE__*/_react.default.createElement(_portalProvider.PortalRenderer, {
66
66
  portalProviderAPI: portalProviderAPI
67
67
  }));
68
68
  }
@@ -1,20 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
- });
7
- Object.defineProperty(exports, "ReactNodeView", {
8
- enumerable: true,
9
- get: function get() {
10
- return _ReactNodeView.default;
11
- }
12
- });
13
- Object.defineProperty(exports, "SelectionBasedNodeView", {
14
- enumerable: true,
15
- get: function get() {
16
- return _SelectionBasedNodeView.SelectionBasedNodeView;
17
- }
18
- });
19
- var _ReactNodeView = _interopRequireDefault(require("./ReactNodeView"));
20
- var _SelectionBasedNodeView = require("./SelectionBasedNodeView");
5
+ });
@@ -13,15 +13,14 @@ Object.defineProperty(exports, "AnnotationUpdateEmitter", {
13
13
  exports.default = void 0;
14
14
  var _react = _interopRequireDefault(require("react"));
15
15
  var _adfSchema = require("@atlaskit/adf-schema");
16
- var _WithPluginState = _interopRequireDefault(require("../../ui/WithPluginState"));
17
- var _reactNodeview = require("../../plugins/base/pm-plugins/react-nodeview");
18
16
  var _keymap = require("./pm-plugins/keymap");
19
17
  var _inlineComment = require("./pm-plugins/inline-comment");
20
18
  var _updateProvider = require("./update-provider");
21
19
  var _utils = require("./utils");
22
20
  var _toolbar = require("./toolbar");
23
21
  var _InlineCommentView = require("./ui/InlineCommentView");
24
- var annotationPlugin = function annotationPlugin(annotationProviders) {
22
+ var _hooks = require("@atlaskit/editor-common/hooks");
23
+ var annotationPlugin = function annotationPlugin(annotationProviders, api) {
25
24
  return {
26
25
  name: 'annotation',
27
26
  marks: function marks() {
@@ -30,6 +29,12 @@ var annotationPlugin = function annotationPlugin(annotationProviders) {
30
29
  mark: _adfSchema.annotation
31
30
  }];
32
31
  },
32
+ getSharedState: function getSharedState(editorState) {
33
+ if (!editorState) {
34
+ return undefined;
35
+ }
36
+ return (0, _utils.getPluginState)(editorState);
37
+ },
33
38
  pmPlugins: function pmPlugins() {
34
39
  return [{
35
40
  name: 'annotation',
@@ -75,27 +80,32 @@ var annotationPlugin = function annotationPlugin(annotationProviders) {
75
80
  if (!annotationProviders) {
76
81
  return null;
77
82
  }
78
- return /*#__PURE__*/_react.default.createElement(_WithPluginState.default, {
79
- plugins: {
80
- selectionState: _reactNodeview.stateKey,
81
- inlineCommentState: _utils.inlineCommentPluginKey
82
- },
83
- render: function render(_ref3) {
84
- var inlineCommentState = _ref3.inlineCommentState;
85
- if (inlineCommentState && !inlineCommentState.isVisible) {
86
- return null;
87
- }
88
- return /*#__PURE__*/_react.default.createElement("div", {
89
- "data-editor-popup": "true"
90
- }, /*#__PURE__*/_react.default.createElement(_InlineCommentView.InlineCommentView, {
91
- providers: annotationProviders,
92
- editorView: editorView,
93
- dispatchAnalyticsEvent: dispatchAnalyticsEvent
94
- }));
95
- }
83
+ return /*#__PURE__*/_react.default.createElement(AnnotationContentComponent, {
84
+ api: api,
85
+ editorView: editorView,
86
+ annotationProviders: annotationProviders,
87
+ dispatchAnalyticsEvent: dispatchAnalyticsEvent
96
88
  });
97
89
  }
98
90
  };
99
91
  };
92
+ function AnnotationContentComponent(_ref3) {
93
+ var api = _ref3.api,
94
+ editorView = _ref3.editorView,
95
+ annotationProviders = _ref3.annotationProviders,
96
+ dispatchAnalyticsEvent = _ref3.dispatchAnalyticsEvent;
97
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['annotation']),
98
+ inlineCommentState = _useSharedPluginState.annotationState;
99
+ if (inlineCommentState && !inlineCommentState.isVisible) {
100
+ return null;
101
+ }
102
+ return /*#__PURE__*/_react.default.createElement("div", {
103
+ "data-editor-popup": "true"
104
+ }, /*#__PURE__*/_react.default.createElement(_InlineCommentView.InlineCommentView, {
105
+ providers: annotationProviders,
106
+ editorView: editorView,
107
+ dispatchAnalyticsEvent: dispatchAnalyticsEvent
108
+ }));
109
+ }
100
110
  var _default = annotationPlugin;
101
111
  exports.default = _default;
@@ -12,7 +12,7 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
12
12
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
13
  var _react = _interopRequireDefault(require("react"));
14
14
  var _styles = require("@atlaskit/editor-common/styles");
15
- var _nodeviews = require("../../../nodeviews");
15
+ var _reactNodeView = _interopRequireDefault(require("@atlaskit/editor-common/react-node-view"));
16
16
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
17
17
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
18
18
  var AnnotationNodeView = /*#__PURE__*/function (_ReactNodeView) {
@@ -50,7 +50,7 @@ var AnnotationNodeView = /*#__PURE__*/function (_ReactNodeView) {
50
50
  }
51
51
  }]);
52
52
  return AnnotationNodeView;
53
- }(_nodeviews.ReactNodeView);
53
+ }(_reactNodeView.default);
54
54
  exports.AnnotationNodeView = AnnotationNodeView;
55
55
  var getAnnotationViewClassname = function getAnnotationViewClassname(isUnresolved, hasFocus) {
56
56
  if (!isUnresolved) {
@@ -18,7 +18,6 @@ var _contextIdentifier = _interopRequireDefault(require("./pm-plugins/context-id
18
18
  var _newlinePreserveMarks = _interopRequireDefault(require("./pm-plugins/newline-preserve-marks"));
19
19
  var _inlineCursorTarget = _interopRequireDefault(require("./pm-plugins/inline-cursor-target"));
20
20
  var _betterTypeHistory = _interopRequireDefault(require("./pm-plugins/better-type-history"));
21
- var _reactNodeview = require("./pm-plugins/react-nodeview");
22
21
  var _scrollGutter = _interopRequireDefault(require("./pm-plugins/scroll-gutter"));
23
22
  var _keymap = require("../../utils/keymap");
24
23
  var _frozenEditor = _interopRequireDefault(require("./pm-plugins/frozen-editor"));
@@ -65,11 +64,6 @@ var basePlugin = function basePlugin(options, api) {
65
64
  }, {
66
65
  name: 'newlinePreserveMarksPlugin',
67
66
  plugin: _newlinePreserveMarks.default
68
- }, {
69
- name: 'reactNodeView',
70
- plugin: function plugin() {
71
- return _reactNodeview.plugin;
72
- }
73
67
  }, {
74
68
  name: 'frozenEditor',
75
69
  plugin: function plugin(_ref3) {
@@ -21,12 +21,11 @@ var captionPlugin = function captionPlugin(_, api) {
21
21
  return [{
22
22
  name: 'caption',
23
23
  plugin: function plugin(_ref) {
24
- var _api$dependencies$ana;
25
24
  var portalProviderAPI = _ref.portalProviderAPI,
26
25
  providerFactory = _ref.providerFactory,
27
26
  eventDispatcher = _ref.eventDispatcher,
28
27
  dispatch = _ref.dispatch;
29
- return (0, _main.default)(portalProviderAPI, eventDispatcher, providerFactory, dispatch, 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);
28
+ return (0, _main.default)(portalProviderAPI, eventDispatcher, providerFactory, dispatch, api);
30
29
  }
31
30
  }, {
32
31
  name: 'captionKeymap',
@@ -15,7 +15,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _react = _interopRequireDefault(require("react"));
17
17
  var _ui = require("@atlaskit/editor-common/ui");
18
- var _nodeviews = require("../../../nodeviews/");
18
+ var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-node-view");
19
19
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
20
20
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
21
21
  var CaptionNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
@@ -72,9 +72,9 @@ var CaptionNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
72
72
  }
73
73
  }]);
74
74
  return CaptionNodeView;
75
- }(_nodeviews.SelectionBasedNodeView);
75
+ }(_selectionBasedNodeView.SelectionBasedNodeView);
76
76
  exports.CaptionNodeView = CaptionNodeView;
77
- function captionNodeView(portalProviderAPI, eventDispatcher) {
77
+ function captionNodeView(portalProviderAPI, eventDispatcher, pluginInjectionApi) {
78
78
  return function (node, view, getPos) {
79
79
  var hasIntlContext = true;
80
80
  return new CaptionNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, {}, undefined, undefined, undefined, hasIntlContext).init();
@@ -18,7 +18,9 @@ var fireAnalytics = function fireAnalytics(tr, action, analyticsApi) {
18
18
  actionSubjectId: _analytics.ACTION_SUBJECT_ID.CAPTION
19
19
  })(tr);
20
20
  };
21
- var _default = function _default(portalProviderAPI, eventDispatcher, providerFactory, dispatch, analyticsApi) {
21
+ var _default = function _default(portalProviderAPI, eventDispatcher, providerFactory, dispatch, pluginInjectionApi) {
22
+ var _pluginInjectionApi$d;
23
+ var analyticsApi = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d = pluginInjectionApi.dependencies.analytics) === null || _pluginInjectionApi$d === void 0 ? void 0 : _pluginInjectionApi$d.actions;
22
24
  return new _safePlugin.SafePlugin({
23
25
  appendTransaction: function appendTransaction(transactions, oldState, newState) {
24
26
  // only run for transactions that change selection
@@ -48,7 +50,7 @@ var _default = function _default(portalProviderAPI, eventDispatcher, providerFac
48
50
  key: _pluginKey.pluginKey,
49
51
  props: {
50
52
  nodeViews: {
51
- caption: (0, _nodeviews.default)(portalProviderAPI, eventDispatcher)
53
+ caption: (0, _nodeviews.default)(portalProviderAPI, eventDispatcher, pluginInjectionApi)
52
54
  }
53
55
  }
54
56
  });
@@ -21,7 +21,7 @@ var _rafSchd = _interopRequireDefault(require("raf-schd"));
21
21
  var _genericCard = require("./genericCard");
22
22
  var _ui = require("@atlaskit/editor-common/ui");
23
23
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
24
- var _nodeviews = require("../../../nodeviews/");
24
+ var _reactNodeView = _interopRequireDefault(require("@atlaskit/editor-common/react-node-view"));
25
25
  var _actions = require("../pm-plugins/actions");
26
26
  var _ResizableEmbedCard = _interopRequireDefault(require("../ui/ResizableEmbedCard"));
27
27
  var _utils = require("@atlaskit/editor-common/utils");
@@ -341,8 +341,8 @@ exports.EmbedCardComponent = EmbedCardComponent;
341
341
  contextAdapter: _propTypes.default.object
342
342
  });
343
343
  var WrappedBlockCard = (0, _genericCard.Card)(EmbedCardComponent, _ui.UnsupportedBlock);
344
- var EmbedCard = /*#__PURE__*/function (_SelectionBasedNodeVi) {
345
- (0, _inherits2.default)(EmbedCard, _SelectionBasedNodeVi);
344
+ var EmbedCard = /*#__PURE__*/function (_ReactNodeView) {
345
+ (0, _inherits2.default)(EmbedCard, _ReactNodeView);
346
346
  var _super2 = _createSuper(EmbedCard);
347
347
  function EmbedCard() {
348
348
  (0, _classCallCheck2.default)(this, EmbedCard);
@@ -392,5 +392,5 @@ var EmbedCard = /*#__PURE__*/function (_SelectionBasedNodeVi) {
392
392
  }
393
393
  }]);
394
394
  return EmbedCard;
395
- }(_nodeviews.SelectionBasedNodeView);
395
+ }(_reactNodeView.default);
396
396
  exports.EmbedCard = EmbedCard;
@@ -12,7 +12,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
12
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
14
  var _react = _interopRequireDefault(require("react"));
15
- var _nodeviews = require("../../../nodeviews");
15
+ var _reactNodeView = _interopRequireDefault(require("@atlaskit/editor-common/react-node-view"));
16
16
  var _Extension = _interopRequireDefault(require("../ui/Extension"));
17
17
  var _ExtensionNodeWrapper = _interopRequireDefault(require("../ui/Extension/ExtensionNodeWrapper"));
18
18
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
@@ -76,7 +76,7 @@ var ExtensionNode = /*#__PURE__*/function (_ReactNodeView) {
76
76
  }
77
77
  }]);
78
78
  return ExtensionNode;
79
- }(_nodeviews.ReactNodeView);
79
+ }(_reactNodeView.default);
80
80
  exports.ExtensionNode = ExtensionNode;
81
81
  function ExtensionNodeView(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi) {
82
82
  return function (node, view, getPos) {
@@ -8,7 +8,7 @@ exports.pluginKey = exports.default = void 0;
8
8
  var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
9
9
  var _prosemirrorState = require("prosemirror-state");
10
10
  var _adfSchema = require("@atlaskit/adf-schema");
11
- var _nodeviews = require("../../nodeviews");
11
+ var _reactNodeView = _interopRequireDefault(require("@atlaskit/editor-common/react-node-view"));
12
12
  var _jiraIssue = _interopRequireDefault(require("./nodeviews/jira-issue"));
13
13
  var pluginKey = new _prosemirrorState.PluginKey('jiraIssuePlugin');
14
14
  exports.pluginKey = pluginKey;
@@ -19,7 +19,7 @@ var createPlugin = function createPlugin(_ref) {
19
19
  key: pluginKey,
20
20
  props: {
21
21
  nodeViews: {
22
- confluenceJiraIssue: _nodeviews.ReactNodeView.fromComponent(_jiraIssue.default, portalProviderAPI, eventDispatcher)
22
+ confluenceJiraIssue: _reactNodeView.default.fromComponent(_jiraIssue.default, portalProviderAPI, eventDispatcher)
23
23
  }
24
24
  }
25
25
  });
@@ -100,10 +100,10 @@ var mediaPlugin = function mediaPlugin() {
100
100
  return (0, _main.createPlugin)(schema, {
101
101
  providerFactory: providerFactory,
102
102
  nodeViews: {
103
- mediaGroup: (0, _mediaGroup.ReactMediaGroupNode)(portalProviderAPI, eventDispatcher, providerFactory, options),
103
+ mediaGroup: (0, _mediaGroup.ReactMediaGroupNode)(portalProviderAPI, eventDispatcher, providerFactory, options, api),
104
104
  mediaSingle: (0, _mediaSingle.ReactMediaSingleNode)(portalProviderAPI, eventDispatcher, providerFactory, dispatchAnalyticsEvent, options, api),
105
105
  media: (0, _mediaNodeView.ReactMediaNode)(portalProviderAPI, eventDispatcher, providerFactory, options, api),
106
- mediaInline: (0, _mediaInline.ReactMediaInlineNode)(portalProviderAPI, eventDispatcher, providerFactory)
106
+ mediaInline: (0, _mediaInline.ReactMediaInlineNode)(portalProviderAPI, eventDispatcher, providerFactory, api)
107
107
  },
108
108
  errorReporter: errorReporter,
109
109
  uploadErrorHandler: options && options.uploadErrorHandler,
@@ -18,17 +18,15 @@ var _providerFactory = require("@atlaskit/editor-common/provider-factory");
18
18
  var _close = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/close"));
19
19
  var _mediaFilmstrip = require("@atlaskit/media-filmstrip");
20
20
  var _react = _interopRequireDefault(require("react"));
21
- var _ReactNodeView2 = _interopRequireDefault(require("../../../nodeviews/ReactNodeView"));
22
- var _reactNodeview = require("../../../plugins/base/pm-plugins/react-nodeview");
23
- var _WithPluginState = _interopRequireDefault(require("../../../ui/WithPluginState"));
21
+ var _reactNodeView = _interopRequireDefault(require("@atlaskit/editor-common/react-node-view"));
24
22
  var _utils = require("../../../utils");
25
23
  var _nodes = require("../../../utils/nodes");
26
- var _editorDisabled = require("../../editor-disabled");
27
24
  var _pluginKey = require("../pm-plugins/plugin-key");
28
25
  var _mediaNodeUpdater = require("./mediaNodeUpdater");
29
26
  var _mediaCommon = require("@atlaskit/media-common");
30
27
  var _reactIntlNext = require("react-intl-next");
31
28
  var _messages = require("./messages");
29
+ var _hooks = require("@atlaskit/editor-common/hooks");
32
30
  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; }
33
31
  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; }
34
32
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
@@ -259,6 +257,15 @@ var MediaGroup = /*#__PURE__*/function (_React$Component) {
259
257
  var IntlMediaGroup = (0, _reactIntlNext.injectIntl)(MediaGroup);
260
258
  var _default = IntlMediaGroup;
261
259
  exports.default = _default;
260
+ function MediaGroupNodeViewInternal(_ref2) {
261
+ var renderFn = _ref2.renderFn,
262
+ pluginInjectionApi = _ref2.pluginInjectionApi;
263
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['editorDisabled']),
264
+ editorDisabledPlugin = _useSharedPluginState.editorDisabledState;
265
+ return renderFn({
266
+ editorDisabledPlugin: editorDisabledPlugin
267
+ });
268
+ }
262
269
  var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
263
270
  (0, _inherits2.default)(MediaGroupNodeView, _ReactNodeView);
264
271
  var _super2 = _createSuper(MediaGroupNodeView);
@@ -271,16 +278,17 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
271
278
  value: function render(props, forwardRef) {
272
279
  var _this3 = this;
273
280
  var providerFactory = props.providerFactory,
274
- mediaOptions = props.mediaOptions;
281
+ mediaOptions = props.mediaOptions,
282
+ pluginInjectionApi = props.pluginInjectionApi;
275
283
  var getPos = this.getPos;
276
284
  return /*#__PURE__*/_react.default.createElement(_providerFactory.WithProviders, {
277
285
  providers: ['mediaProvider', 'contextIdentifierProvider'],
278
286
  providerFactory: providerFactory,
279
- renderNode: function renderNode(_ref2) {
280
- var mediaProvider = _ref2.mediaProvider,
281
- contextIdentifierProvider = _ref2.contextIdentifierProvider;
282
- var renderFn = function renderFn(_ref3) {
283
- var editorDisabledPlugin = _ref3.editorDisabledPlugin;
287
+ renderNode: function renderNode(_ref3) {
288
+ var mediaProvider = _ref3.mediaProvider,
289
+ contextIdentifierProvider = _ref3.contextIdentifierProvider;
290
+ var renderFn = function renderFn(_ref4) {
291
+ var editorDisabledPlugin = _ref4.editorDisabledPlugin;
284
292
  if (!mediaProvider) {
285
293
  return null;
286
294
  }
@@ -299,27 +307,25 @@ var MediaGroupNodeView = /*#__PURE__*/function (_ReactNodeView) {
299
307
  mediaOptions: mediaOptions
300
308
  });
301
309
  };
302
- return /*#__PURE__*/_react.default.createElement(_WithPluginState.default, {
303
- editorView: _this3.view,
304
- plugins: {
305
- reactNodeViewState: _reactNodeview.stateKey,
306
- editorDisabledPlugin: _editorDisabled.pluginKey
307
- },
308
- render: renderFn
310
+ return /*#__PURE__*/_react.default.createElement(MediaGroupNodeViewInternal, {
311
+ renderFn: renderFn,
312
+ pluginInjectionApi: pluginInjectionApi
309
313
  });
310
314
  }
311
315
  });
312
316
  }
313
317
  }]);
314
318
  return MediaGroupNodeView;
315
- }(_ReactNodeView2.default);
319
+ }(_reactNodeView.default);
316
320
  var ReactMediaGroupNode = function ReactMediaGroupNode(portalProviderAPI, eventDispatcher, providerFactory) {
317
321
  var mediaOptions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
322
+ var pluginInjectionApi = arguments.length > 4 ? arguments[4] : undefined;
318
323
  return function (node, view, getPos) {
319
324
  var hasIntlContext = true;
320
325
  return new MediaGroupNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, {
321
326
  providerFactory: providerFactory,
322
- mediaOptions: mediaOptions
327
+ mediaOptions: mediaOptions,
328
+ pluginInjectionApi: pluginInjectionApi
323
329
  }, undefined, undefined, undefined, hasIntlContext).init();
324
330
  };
325
331
  };
@@ -17,7 +17,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
17
17
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
18
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
19
  var _react = _interopRequireWildcard(require("react"));
20
- var _nodeviews = require("../../../nodeviews/");
20
+ var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-node-view");
21
21
  var _WithPluginState = _interopRequireDefault(require("../../../ui/WithPluginState"));
22
22
  var _mediaCard = require("@atlaskit/media-card");
23
23
  var _providerFactory = require("@atlaskit/editor-common/provider-factory");
@@ -266,9 +266,9 @@ var MediaInlineNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
266
266
  }
267
267
  }]);
268
268
  return MediaInlineNodeView;
269
- }(_nodeviews.SelectionBasedNodeView);
269
+ }(_selectionBasedNodeView.SelectionBasedNodeView);
270
270
  exports.MediaInlineNodeView = MediaInlineNodeView;
271
- var ReactMediaInlineNode = function ReactMediaInlineNode(portalProviderAPI, eventDispatcher, providerFactory, dispatchAnalyticsEvent) {
271
+ var ReactMediaInlineNode = function ReactMediaInlineNode(portalProviderAPI, eventDispatcher, providerFactory, pluginInjectionApi, dispatchAnalyticsEvent) {
272
272
  return function (node, view, getPos) {
273
273
  return new MediaInlineNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, {
274
274
  providerFactory: providerFactory,
@@ -15,9 +15,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _providerFactory = require("@atlaskit/editor-common/provider-factory");
17
17
  var _ui = require("@atlaskit/editor-common/ui");
18
- var _prosemirrorState = require("prosemirror-state");
19
18
  var _react = _interopRequireDefault(require("react"));
20
- var _nodeviews = require("../../../../nodeviews");
19
+ var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-node-view");
21
20
  var _media = _interopRequireDefault(require("./media"));
22
21
  var _mediaClient = require("@atlaskit/media-client");
23
22
  var _mediaCommon = require("../../utils/media-common");
@@ -33,6 +32,9 @@ var MediaNodeWithProviders = function MediaNodeWithProviders(_ref) {
33
32
  width: widthState
34
33
  });
35
34
  };
35
+ function isMediaDecorationSpec(decoration) {
36
+ return decoration.spec.type !== undefined && decoration.spec.selected !== undefined;
37
+ }
36
38
  var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
37
39
  (0, _inherits2.default)(MediaNodeView, _SelectionBasedNodeVi);
38
40
  var _super = _createSuper(MediaNodeView);
@@ -43,15 +45,12 @@ var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
43
45
  args[_key] = arguments[_key];
44
46
  }
45
47
  _this = _super.call.apply(_super, [this].concat(args));
48
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isSelected", false);
46
49
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderMediaNodeWithState", function (mediaProvider, contextIdentifierProvider) {
47
50
  return function (_ref2) {
48
51
  var editorWidth = _ref2.width;
49
52
  var getPos = _this.getPos;
50
53
  var mediaOptions = _this.reactComponentProps.mediaOptions;
51
- var selection = _this.view.state.selection;
52
- var isSelected = function isSelected() {
53
- return _this.isNodeInsideSelection(selection.from, selection.to) || selection instanceof _prosemirrorState.NodeSelection && selection.from === getPos();
54
- };
55
54
  var attrs = _this.getAttrs();
56
55
  var url = attrs.type === 'external' ? attrs.url : '';
57
56
  var width = attrs.width,
@@ -79,7 +78,7 @@ var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
79
78
  view: _this.view,
80
79
  node: _this.node,
81
80
  getPos: getPos,
82
- selected: isSelected(),
81
+ selected: _this.nodeInsideSelection(),
83
82
  originalDimensions: originalDimensions,
84
83
  maxDimensions: maxDimensions,
85
84
  url: url,
@@ -113,11 +112,18 @@ var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
113
112
  }
114
113
  }, {
115
114
  key: "viewShouldUpdate",
116
- value: function viewShouldUpdate(nextNode) {
115
+ value: function viewShouldUpdate(nextNode, decorations) {
116
+ var hasMediaNodeSelectedDecoration = decorations.some(function (decoration) {
117
+ return isMediaDecorationSpec(decoration) && decoration.spec.type === 'media' && decoration.spec.selected;
118
+ });
119
+ if (this.isSelected !== hasMediaNodeSelectedDecoration) {
120
+ this.isSelected = hasMediaNodeSelectedDecoration;
121
+ return true;
122
+ }
117
123
  if (this.node.attrs !== nextNode.attrs) {
118
124
  return true;
119
125
  }
120
- return (0, _get2.default)((0, _getPrototypeOf2.default)(MediaNodeView.prototype), "viewShouldUpdate", this).call(this, nextNode);
126
+ return (0, _get2.default)((0, _getPrototypeOf2.default)(MediaNodeView.prototype), "viewShouldUpdate", this).call(this, nextNode, decorations);
121
127
  }
122
128
  }, {
123
129
  key: "stopEvent",
@@ -155,7 +161,7 @@ var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
155
161
  }
156
162
  }]);
157
163
  return MediaNodeView;
158
- }(_nodeviews.SelectionBasedNodeView);
164
+ }(_selectionBasedNodeView.SelectionBasedNodeView);
159
165
  var ReactMediaNode = function ReactMediaNode(portalProviderAPI, eventDispatcher, providerFactory) {
160
166
  var mediaOptions = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
161
167
  var pluginInjectionApi = arguments.length > 4 ? arguments[4] : undefined;
@@ -33,7 +33,7 @@ var _styles = require("./styles");
33
33
  var _mediaClient = require("@atlaskit/media-client");
34
34
  var _mediaCommon = require("../utils/media-common");
35
35
  var _mediaCommon2 = require("@atlaskit/media-common");
36
- var _ReactNodeView2 = _interopRequireDefault(require("../../../nodeviews/ReactNodeView"));
36
+ var _reactNodeView = _interopRequireDefault(require("@atlaskit/editor-common/react-node-view"));
37
37
  var _CaptionPlaceholder = _interopRequireDefault(require("../ui/CaptionPlaceholder"));
38
38
  var _prosemirrorState = require("prosemirror-state");
39
39
  var _captions = require("../commands/captions");
@@ -584,7 +584,7 @@ var MediaSingleNodeView = /*#__PURE__*/function (_ReactNodeView) {
584
584
  }
585
585
  }]);
586
586
  return MediaSingleNodeView;
587
- }(_ReactNodeView2.default);
587
+ }(_reactNodeView.default);
588
588
  var ReactMediaSingleNode = function ReactMediaSingleNode(portalProviderAPI, eventDispatcher, providerFactory, dispatchAnalyticsEvent) {
589
589
  var mediaOptions = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
590
590
  var pluginInjectionApi = arguments.length > 5 ? arguments[5] : undefined;