@atlaskit/editor-plugin-media 3.0.6 → 3.0.7

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/editor-plugin-media
2
2
 
3
+ ## 3.0.7
4
+
5
+ ### Patch Changes
6
+
7
+ - [#159390](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/159390)
8
+ [`cc1d530fb6ed2`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cc1d530fb6ed2) -
9
+ [ux] [ED-28074] Fix media selection state and remove css-based targeting
10
+ - Updated dependencies
11
+
3
12
  ## 3.0.6
4
13
 
5
14
  ### Patch Changes
@@ -20,6 +20,7 @@ var _providerFactory = require("@atlaskit/editor-common/provider-factory");
20
20
  var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-node-view");
21
21
  var _useSharedPluginStateSelector = require("@atlaskit/editor-common/use-shared-plugin-state-selector");
22
22
  var _mediaClient = require("@atlaskit/media-client");
23
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
23
24
  var _helpers = require("../../pm-plugins/commands/helpers");
24
25
  var _mediaCommon = require("../../pm-plugins/utils/media-common");
25
26
  var _media = _interopRequireDefault(require("./media"));
@@ -51,10 +52,12 @@ var MediaNodeWithProviders = function MediaNodeWithProviders(_ref) {
51
52
  var _useSharedState = useSharedState(pluginInjectionApi),
52
53
  mediaProvider = _useSharedState.mediaProvider,
53
54
  widthState = _useSharedState.widthState;
55
+ var interactionState = (0, _useSharedPluginStateSelector.useSharedPluginStateSelector)(pluginInjectionApi, 'interaction.interactionState');
54
56
  return innerComponent({
55
57
  width: widthState,
56
58
  // Remove when platform_editor_usesharedpluginstateselector is cleaned up
57
- mediaProvider: mediaProvider ? Promise.resolve(mediaProvider) : undefined
59
+ mediaProvider: mediaProvider ? Promise.resolve(mediaProvider) : undefined,
60
+ interactionState: interactionState
58
61
  });
59
62
  };
60
63
  function isMediaDecorationSpec(decoration) {
@@ -89,7 +92,8 @@ var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
89
92
  return function (_ref2) {
90
93
  var _this$reactComponentP;
91
94
  var editorWidth = _ref2.width,
92
- mediaProvider = _ref2.mediaProvider;
95
+ mediaProvider = _ref2.mediaProvider,
96
+ interactionState = _ref2.interactionState;
93
97
  var getPos = _this.getPos;
94
98
  var mediaOptions = _this.reactComponentProps.mediaOptions;
95
99
  var attrs = _this.getAttrs();
@@ -117,11 +121,12 @@ var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
117
121
  width: width,
118
122
  height: height
119
123
  };
124
+ var isSelectedAndInteracted = _this.nodeInsideSelection() && (!(0, _platformFeatureFlags.fg)('platform_editor_interaction_api_refactor') || interactionState !== 'hasNotHadInteraction');
120
125
  return /*#__PURE__*/_react.default.createElement(_media.default, {
121
126
  view: _this.view,
122
127
  node: _this.node,
123
128
  getPos: getPos,
124
- selected: _this.nodeInsideSelection(),
129
+ selected: isSelectedAndInteracted,
125
130
  originalDimensions: originalDimensions,
126
131
  maxDimensions: maxDimensions,
127
132
  url: url,
@@ -6,6 +6,7 @@ import { WithProviders } from '@atlaskit/editor-common/provider-factory';
6
6
  import { SelectionBasedNodeView } from '@atlaskit/editor-common/selection-based-node-view';
7
7
  import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
8
8
  import { getAttrsFromUrl } from '@atlaskit/media-client';
9
+ import { fg } from '@atlaskit/platform-feature-flags';
9
10
  import { updateCurrentMediaNodeAttrs } from '../../pm-plugins/commands/helpers';
10
11
  import { isMediaBlobUrlFromAttrs } from '../../pm-plugins/utils/media-common';
11
12
  // Ignored via go/ees005
@@ -35,10 +36,12 @@ const MediaNodeWithProviders = ({
35
36
  mediaProvider,
36
37
  widthState
37
38
  } = useSharedState(pluginInjectionApi);
39
+ const interactionState = useSharedPluginStateSelector(pluginInjectionApi, 'interaction.interactionState');
38
40
  return innerComponent({
39
41
  width: widthState,
40
42
  // Remove when platform_editor_usesharedpluginstateselector is cleaned up
41
- mediaProvider: mediaProvider ? Promise.resolve(mediaProvider) : undefined
43
+ mediaProvider: mediaProvider ? Promise.resolve(mediaProvider) : undefined,
44
+ interactionState
42
45
  });
43
46
  };
44
47
  function isMediaDecorationSpec(decoration) {
@@ -69,7 +72,8 @@ class MediaNodeView extends SelectionBasedNodeView {
69
72
  _defineProperty(this, "renderMediaNodeWithState", contextIdentifierProvider => {
70
73
  return ({
71
74
  width: editorWidth,
72
- mediaProvider
75
+ mediaProvider,
76
+ interactionState
73
77
  }) => {
74
78
  var _this$reactComponentP, _this$reactComponentP2, _this$reactComponentP3;
75
79
  const getPos = this.getPos;
@@ -105,11 +109,12 @@ class MediaNodeView extends SelectionBasedNodeView {
105
109
  width,
106
110
  height
107
111
  };
112
+ const isSelectedAndInteracted = this.nodeInsideSelection() && (!fg('platform_editor_interaction_api_refactor') || interactionState !== 'hasNotHadInteraction');
108
113
  return /*#__PURE__*/React.createElement(MediaNode, {
109
114
  view: this.view,
110
115
  node: this.node,
111
116
  getPos: getPos,
112
- selected: this.nodeInsideSelection(),
117
+ selected: isSelectedAndInteracted,
113
118
  originalDimensions: originalDimensions,
114
119
  maxDimensions: maxDimensions,
115
120
  url: url,
@@ -19,6 +19,7 @@ import { WithProviders } from '@atlaskit/editor-common/provider-factory';
19
19
  import { SelectionBasedNodeView } from '@atlaskit/editor-common/selection-based-node-view';
20
20
  import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
21
21
  import { getAttrsFromUrl } from '@atlaskit/media-client';
22
+ import { fg } from '@atlaskit/platform-feature-flags';
22
23
  import { updateCurrentMediaNodeAttrs } from '../../pm-plugins/commands/helpers';
23
24
  import { isMediaBlobUrlFromAttrs } from '../../pm-plugins/utils/media-common';
24
25
  // Ignored via go/ees005
@@ -45,10 +46,12 @@ var MediaNodeWithProviders = function MediaNodeWithProviders(_ref) {
45
46
  var _useSharedState = useSharedState(pluginInjectionApi),
46
47
  mediaProvider = _useSharedState.mediaProvider,
47
48
  widthState = _useSharedState.widthState;
49
+ var interactionState = useSharedPluginStateSelector(pluginInjectionApi, 'interaction.interactionState');
48
50
  return innerComponent({
49
51
  width: widthState,
50
52
  // Remove when platform_editor_usesharedpluginstateselector is cleaned up
51
- mediaProvider: mediaProvider ? Promise.resolve(mediaProvider) : undefined
53
+ mediaProvider: mediaProvider ? Promise.resolve(mediaProvider) : undefined,
54
+ interactionState: interactionState
52
55
  });
53
56
  };
54
57
  function isMediaDecorationSpec(decoration) {
@@ -83,7 +86,8 @@ var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
83
86
  return function (_ref2) {
84
87
  var _this$reactComponentP;
85
88
  var editorWidth = _ref2.width,
86
- mediaProvider = _ref2.mediaProvider;
89
+ mediaProvider = _ref2.mediaProvider,
90
+ interactionState = _ref2.interactionState;
87
91
  var getPos = _this.getPos;
88
92
  var mediaOptions = _this.reactComponentProps.mediaOptions;
89
93
  var attrs = _this.getAttrs();
@@ -111,11 +115,12 @@ var MediaNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
111
115
  width: width,
112
116
  height: height
113
117
  };
118
+ var isSelectedAndInteracted = _this.nodeInsideSelection() && (!fg('platform_editor_interaction_api_refactor') || interactionState !== 'hasNotHadInteraction');
114
119
  return /*#__PURE__*/React.createElement(MediaNode, {
115
120
  view: _this.view,
116
121
  node: _this.node,
117
122
  getPos: getPos,
118
- selected: _this.nodeInsideSelection(),
123
+ selected: isSelectedAndInteracted,
119
124
  originalDimensions: originalDimensions,
120
125
  maxDimensions: maxDimensions,
121
126
  url: url,
@@ -5,6 +5,7 @@ import { type PortalProviderAPI } from '@atlaskit/editor-common/portal';
5
5
  import type { ContextIdentifierProvider, MediaProvider, ProviderFactory, Providers } from '@atlaskit/editor-common/provider-factory';
6
6
  import { SelectionBasedNodeView } from '@atlaskit/editor-common/selection-based-node-view';
7
7
  import type { ExtractInjectionAPI, EditorContainerWidth as WidthPluginState } from '@atlaskit/editor-common/types';
8
+ import { SharedInteractionState } from '@atlaskit/editor-plugin-interaction';
8
9
  import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
9
10
  import type { Decoration, EditorView } from '@atlaskit/editor-prosemirror/view';
10
11
  import type { MediaNextEditorPluginType } from '../../mediaPluginType';
@@ -13,6 +14,7 @@ import type { MediaNodeViewProps } from '../types';
13
14
  interface MediaNodeWithPluginStateComponentProps {
14
15
  width?: WidthPluginState;
15
16
  mediaProvider?: Promise<MediaProvider>;
17
+ interactionState?: SharedInteractionState['interactionState'];
16
18
  }
17
19
  declare class MediaNodeView extends SelectionBasedNodeView<MediaNodeViewProps> {
18
20
  private isSelected;
@@ -25,7 +27,7 @@ declare class MediaNodeView extends SelectionBasedNodeView<MediaNodeViewProps> {
25
27
  width: number;
26
28
  height: number;
27
29
  }) => void;
28
- renderMediaNodeWithState: (contextIdentifierProvider?: Promise<ContextIdentifierProvider>) => ({ width: editorWidth, mediaProvider }: MediaNodeWithPluginStateComponentProps) => React.JSX.Element;
30
+ renderMediaNodeWithState: (contextIdentifierProvider?: Promise<ContextIdentifierProvider>) => ({ width: editorWidth, mediaProvider, interactionState, }: MediaNodeWithPluginStateComponentProps) => React.JSX.Element;
29
31
  renderMediaNodeWithProviders: ({ contextIdentifierProvider }: Providers) => React.JSX.Element;
30
32
  render(): React.JSX.Element;
31
33
  }
@@ -5,6 +5,7 @@ import { type PortalProviderAPI } from '@atlaskit/editor-common/portal';
5
5
  import type { ContextIdentifierProvider, MediaProvider, ProviderFactory, Providers } from '@atlaskit/editor-common/provider-factory';
6
6
  import { SelectionBasedNodeView } from '@atlaskit/editor-common/selection-based-node-view';
7
7
  import type { ExtractInjectionAPI, EditorContainerWidth as WidthPluginState } from '@atlaskit/editor-common/types';
8
+ import { SharedInteractionState } from '@atlaskit/editor-plugin-interaction';
8
9
  import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
9
10
  import type { Decoration, EditorView } from '@atlaskit/editor-prosemirror/view';
10
11
  import type { MediaNextEditorPluginType } from '../../mediaPluginType';
@@ -13,6 +14,7 @@ import type { MediaNodeViewProps } from '../types';
13
14
  interface MediaNodeWithPluginStateComponentProps {
14
15
  width?: WidthPluginState;
15
16
  mediaProvider?: Promise<MediaProvider>;
17
+ interactionState?: SharedInteractionState['interactionState'];
16
18
  }
17
19
  declare class MediaNodeView extends SelectionBasedNodeView<MediaNodeViewProps> {
18
20
  private isSelected;
@@ -25,7 +27,7 @@ declare class MediaNodeView extends SelectionBasedNodeView<MediaNodeViewProps> {
25
27
  width: number;
26
28
  height: number;
27
29
  }) => void;
28
- renderMediaNodeWithState: (contextIdentifierProvider?: Promise<ContextIdentifierProvider>) => ({ width: editorWidth, mediaProvider }: MediaNodeWithPluginStateComponentProps) => React.JSX.Element;
30
+ renderMediaNodeWithState: (contextIdentifierProvider?: Promise<ContextIdentifierProvider>) => ({ width: editorWidth, mediaProvider, interactionState, }: MediaNodeWithPluginStateComponentProps) => React.JSX.Element;
29
31
  renderMediaNodeWithProviders: ({ contextIdentifierProvider }: Providers) => React.JSX.Element;
30
32
  render(): React.JSX.Element;
31
33
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-media",
3
- "version": "3.0.6",
3
+ "version": "3.0.7",
4
4
  "description": "Media plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -38,7 +38,7 @@
38
38
  "@atlaskit/analytics-namespaced-context": "^7.0.0",
39
39
  "@atlaskit/analytics-next": "^11.0.0",
40
40
  "@atlaskit/button": "^23.2.0",
41
- "@atlaskit/editor-common": "^105.8.0",
41
+ "@atlaskit/editor-common": "^105.9.0",
42
42
  "@atlaskit/editor-palette": "^2.1.0",
43
43
  "@atlaskit/editor-plugin-analytics": "^2.3.0",
44
44
  "@atlaskit/editor-plugin-annotation": "^2.8.0",
@@ -57,7 +57,7 @@
57
57
  "@atlaskit/editor-shared-styles": "^3.4.0",
58
58
  "@atlaskit/editor-tables": "^2.9.0",
59
59
  "@atlaskit/form": "^12.0.0",
60
- "@atlaskit/icon": "^26.1.0",
60
+ "@atlaskit/icon": "^26.2.0",
61
61
  "@atlaskit/media-card": "^79.3.0",
62
62
  "@atlaskit/media-client": "^33.3.0",
63
63
  "@atlaskit/media-client-react": "^4.1.0",
@@ -65,12 +65,12 @@
65
65
  "@atlaskit/media-filmstrip": "^50.1.0",
66
66
  "@atlaskit/media-picker": "^69.0.0",
67
67
  "@atlaskit/media-ui": "^28.2.0",
68
- "@atlaskit/media-viewer": "^52.1.0",
68
+ "@atlaskit/media-viewer": "^52.2.0",
69
69
  "@atlaskit/platform-feature-flags": "^1.1.0",
70
70
  "@atlaskit/primitives": "^14.8.0",
71
71
  "@atlaskit/textfield": "^8.0.0",
72
72
  "@atlaskit/theme": "^18.0.0",
73
- "@atlaskit/tmp-editor-statsig": "^4.23.0",
73
+ "@atlaskit/tmp-editor-statsig": "^4.25.0",
74
74
  "@atlaskit/tokens": "^4.9.0",
75
75
  "@atlaskit/tooltip": "^20.0.0",
76
76
  "@babel/runtime": "^7.0.0",