@atlaskit/editor-plugin-media 1.29.3 → 1.29.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,19 +1,9 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
9
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
10
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
11
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
12
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
13
- import React, { useCallback, useEffect, useMemo, useState } from 'react';
4
+ import { useCallback, useEffect, useMemo, useState } from 'react';
14
5
  import { flushSync } from 'react-dom';
15
6
  import { ErrorReporter } from '@atlaskit/editor-common/utils';
16
- import { fg } from '@atlaskit/platform-feature-flags';
17
7
  import PickerFacade from '../../picker-facade';
18
8
  var dummyMediaPickerObject = {
19
9
  on: function on() {},
@@ -22,7 +12,7 @@ var dummyMediaPickerObject = {
22
12
  destroy: function destroy() {},
23
13
  setUploadParams: function setUploadParams() {}
24
14
  };
25
- function PickerFacadeProviderNew(_ref) {
15
+ export default function PickerFacadeProvider(_ref) {
26
16
  var mediaState = _ref.mediaState,
27
17
  analyticsName = _ref.analyticsName,
28
18
  children = _ref.children;
@@ -120,137 +110,4 @@ function PickerFacadeProviderNew(_ref) {
120
110
  config: config,
121
111
  pickerFacadeInstance: pickerFacadeInstance
122
112
  });
123
- }
124
-
125
- // eslint-disable-next-line @repo/internal/react/no-class-components
126
- var PickerFacadeProviderOld = /*#__PURE__*/function (_React$Component) {
127
- _inherits(PickerFacadeProviderOld, _React$Component);
128
- var _super = _createSuper(PickerFacadeProviderOld);
129
- function PickerFacadeProviderOld() {
130
- var _this;
131
- _classCallCheck(this, PickerFacadeProviderOld);
132
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
133
- args[_key] = arguments[_key];
134
- }
135
- _this = _super.call.apply(_super, [this].concat(args));
136
- _defineProperty(_assertThisInitialized(_this), "state", {});
137
- _defineProperty(_assertThisInitialized(_this), "handleMediaProvider", /*#__PURE__*/function () {
138
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_name, provider) {
139
- var _this$props, mediaState, analyticsName, mediaProvider, resolvedMediaClientConfig, pickerFacadeConfig, pickerFacadeInstance, config;
140
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
141
- while (1) switch (_context2.prev = _context2.next) {
142
- case 0:
143
- _this$props = _this.props, mediaState = _this$props.mediaState, analyticsName = _this$props.analyticsName;
144
- _context2.next = 3;
145
- return provider;
146
- case 3:
147
- mediaProvider = _context2.sent;
148
- if (!(!mediaProvider || !mediaProvider.uploadParams)) {
149
- _context2.next = 6;
150
- break;
151
- }
152
- return _context2.abrupt("return");
153
- case 6:
154
- _context2.next = 8;
155
- return mediaProvider.uploadMediaClientConfig;
156
- case 8:
157
- _context2.t0 = _context2.sent;
158
- if (_context2.t0) {
159
- _context2.next = 13;
160
- break;
161
- }
162
- _context2.next = 12;
163
- return mediaProvider.viewMediaClientConfig;
164
- case 12:
165
- _context2.t0 = _context2.sent;
166
- case 13:
167
- resolvedMediaClientConfig = _context2.t0;
168
- if (resolvedMediaClientConfig) {
169
- _context2.next = 16;
170
- break;
171
- }
172
- return _context2.abrupt("return");
173
- case 16:
174
- pickerFacadeConfig = {
175
- mediaClientConfig: resolvedMediaClientConfig,
176
- errorReporter: mediaState.options.errorReporter || new ErrorReporter(),
177
- featureFlags: mediaState.mediaOptions && mediaState.mediaOptions.featureFlags
178
- };
179
- /**
180
- * As the first MediaPicker component to be migrated to React, we want to scope the amount of changes logic changed/moved on Editor side.
181
- * To achieve this we agreed on using `PickerFacade` 'customMediaPicker' type, since we only need this instance to reuse the logic when we subscribe
182
- * for all the different events in MediaPicker (onPreviewUpdate, onError, onProcessing, etc).
183
- * The `dummyMediaPickerObject` provided here serves as a workaround for the old picker api that `PickerFacade` will try to use.
184
- * But we don't want this to do anything since it's all part of the new React component (`Clipboard` component in this case).
185
- * Eventually PickerFacade will be removed and replaced with a new abstraction explained here https://product-fabric.atlassian.net/browse/MS-1937
186
- */
187
- _context2.next = 19;
188
- return new PickerFacade('customMediaPicker', pickerFacadeConfig, dummyMediaPickerObject, analyticsName).init();
189
- case 19:
190
- pickerFacadeInstance = _context2.sent;
191
- /**
192
- * Based on the `initPickers` method in `MediaPluginState` we need these 2 `onNewMedia` subscriptions.
193
- * First one in order to trigger the entire process of uploading a file for when `onPreviewUpdate` is called
194
- * Second one in order to track all analytics as before.
195
- */
196
- pickerFacadeInstance.onNewMedia(mediaState.insertFile);
197
- pickerFacadeInstance.setUploadParams(mediaProvider.uploadParams);
198
- config = {
199
- uploadParams: mediaProvider.uploadParams
200
- };
201
- flushSync(function () {
202
- return _this.setState({
203
- pickerFacadeInstance: pickerFacadeInstance,
204
- config: config,
205
- mediaClientConfig: resolvedMediaClientConfig
206
- });
207
- });
208
- case 24:
209
- case "end":
210
- return _context2.stop();
211
- }
212
- }, _callee2);
213
- }));
214
- return function (_x3, _x4) {
215
- return _ref3.apply(this, arguments);
216
- };
217
- }());
218
- return _this;
219
- }
220
- _createClass(PickerFacadeProviderOld, [{
221
- key: "componentDidMount",
222
- value: function componentDidMount() {
223
- var mediaProvider = this.props.mediaState.mediaProvider;
224
- if (mediaProvider && fg('platform_editor_media_provider_from_plugin_config')) {
225
- this.handleMediaProvider('mediaProvider', Promise.resolve(mediaProvider));
226
- } else {
227
- this.props.mediaState.options.providerFactory.subscribe('mediaProvider', this.handleMediaProvider);
228
- }
229
- }
230
- }, {
231
- key: "componentWillUnmount",
232
- value: function componentWillUnmount() {
233
- this.props.mediaState.options.providerFactory.unsubscribe('mediaProvider', this.handleMediaProvider);
234
- }
235
- }, {
236
- key: "render",
237
- value: function render() {
238
- var _this$state = this.state,
239
- mediaClientConfig = _this$state.mediaClientConfig,
240
- config = _this$state.config,
241
- pickerFacadeInstance = _this$state.pickerFacadeInstance;
242
- if (!mediaClientConfig || !config || !pickerFacadeInstance) {
243
- return null;
244
- }
245
- return this.props.children({
246
- mediaClientConfig: mediaClientConfig,
247
- config: config,
248
- pickerFacadeInstance: pickerFacadeInstance
249
- });
250
- }
251
- }]);
252
- return PickerFacadeProviderOld;
253
- }(React.Component);
254
- export default function PickerFacadeProvider(props) {
255
- return fg('platform_editor_media_provider_from_plugin_config') ? /*#__PURE__*/React.createElement(PickerFacadeProviderNew, props) : /*#__PURE__*/React.createElement(PickerFacadeProviderOld, props);
256
113
  }
@@ -13,7 +13,7 @@ import type { getPosHandler, MediaOptions } from '../../types';
13
13
  import type { MediaNodeViewProps } from '../types';
14
14
  interface MediaNodeWithPluginStateComponentProps {
15
15
  width?: WidthPluginState;
16
- newMediaProvider?: Promise<MediaProvider>;
16
+ mediaProvider?: Promise<MediaProvider>;
17
17
  }
18
18
  declare class MediaNodeView extends SelectionBasedNodeView<MediaNodeViewProps> {
19
19
  private isSelected;
@@ -26,8 +26,8 @@ declare class MediaNodeView extends SelectionBasedNodeView<MediaNodeViewProps> {
26
26
  width: number;
27
27
  height: number;
28
28
  }) => void;
29
- renderMediaNodeWithState: (mediaProvider?: Promise<MediaProvider>, contextIdentifierProvider?: Promise<ContextIdentifierProvider>) => ({ width: editorWidth, newMediaProvider }: MediaNodeWithPluginStateComponentProps) => JSX.Element;
30
- renderMediaNodeWithProviders: ({ mediaProvider, contextIdentifierProvider }: Providers) => JSX.Element;
29
+ renderMediaNodeWithState: (contextIdentifierProvider?: Promise<ContextIdentifierProvider>) => ({ width: editorWidth, mediaProvider }: MediaNodeWithPluginStateComponentProps) => JSX.Element;
30
+ renderMediaNodeWithProviders: ({ contextIdentifierProvider }: Providers) => JSX.Element;
31
31
  render(): JSX.Element;
32
32
  }
33
33
  export declare const ReactMediaNode: (portalProviderAPI: PortalProviderAPI, eventDispatcher: EventDispatcher, providerFactory: ProviderFactory, mediaOptions: MediaOptions | undefined, pluginInjectionApi: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined) => (node: PMNode, view: EditorView, getPos: getPosHandler) => MediaNodeView;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { MediaClientConfig } from '@atlaskit/media-core';
3
3
  import type { BrowserConfig, ClipboardConfig, DropzoneConfig } from '@atlaskit/media-picker/types';
4
4
  import PickerFacade from '../../picker-facade';
@@ -13,4 +13,4 @@ export type Props = {
13
13
  analyticsName: string;
14
14
  children: (props: ChildrenProps) => React.ReactElement | null;
15
15
  };
16
- export default function PickerFacadeProvider(props: Props): JSX.Element;
16
+ export default function PickerFacadeProvider({ mediaState, analyticsName, children }: Props): React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
@@ -13,7 +13,7 @@ import type { getPosHandler, MediaOptions } from '../../types';
13
13
  import type { MediaNodeViewProps } from '../types';
14
14
  interface MediaNodeWithPluginStateComponentProps {
15
15
  width?: WidthPluginState;
16
- newMediaProvider?: Promise<MediaProvider>;
16
+ mediaProvider?: Promise<MediaProvider>;
17
17
  }
18
18
  declare class MediaNodeView extends SelectionBasedNodeView<MediaNodeViewProps> {
19
19
  private isSelected;
@@ -26,8 +26,8 @@ declare class MediaNodeView extends SelectionBasedNodeView<MediaNodeViewProps> {
26
26
  width: number;
27
27
  height: number;
28
28
  }) => void;
29
- renderMediaNodeWithState: (mediaProvider?: Promise<MediaProvider>, contextIdentifierProvider?: Promise<ContextIdentifierProvider>) => ({ width: editorWidth, newMediaProvider }: MediaNodeWithPluginStateComponentProps) => JSX.Element;
30
- renderMediaNodeWithProviders: ({ mediaProvider, contextIdentifierProvider }: Providers) => JSX.Element;
29
+ renderMediaNodeWithState: (contextIdentifierProvider?: Promise<ContextIdentifierProvider>) => ({ width: editorWidth, mediaProvider }: MediaNodeWithPluginStateComponentProps) => JSX.Element;
30
+ renderMediaNodeWithProviders: ({ contextIdentifierProvider }: Providers) => JSX.Element;
31
31
  render(): JSX.Element;
32
32
  }
33
33
  export declare const ReactMediaNode: (portalProviderAPI: PortalProviderAPI, eventDispatcher: EventDispatcher, providerFactory: ProviderFactory, mediaOptions: MediaOptions | undefined, pluginInjectionApi: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined) => (node: PMNode, view: EditorView, getPos: getPosHandler) => MediaNodeView;
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { MediaClientConfig } from '@atlaskit/media-core';
3
3
  import type { BrowserConfig, ClipboardConfig, DropzoneConfig } from '@atlaskit/media-picker/types';
4
4
  import PickerFacade from '../../picker-facade';
@@ -13,4 +13,4 @@ export type Props = {
13
13
  analyticsName: string;
14
14
  children: (props: ChildrenProps) => React.ReactElement | null;
15
15
  };
16
- export default function PickerFacadeProvider(props: Props): JSX.Element;
16
+ export default function PickerFacadeProvider({ mediaState, analyticsName, children }: Props): React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-media",
3
- "version": "1.29.3",
3
+ "version": "1.29.4",
4
4
  "description": "Media plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -37,7 +37,7 @@
37
37
  "@atlaskit/analytics-namespaced-context": "^6.11.0",
38
38
  "@atlaskit/analytics-next": "^10.1.0",
39
39
  "@atlaskit/button": "^20.1.0",
40
- "@atlaskit/editor-common": "^88.0.0",
40
+ "@atlaskit/editor-common": "^88.1.0",
41
41
  "@atlaskit/editor-palette": "1.6.0",
42
42
  "@atlaskit/editor-plugin-analytics": "^1.8.0",
43
43
  "@atlaskit/editor-plugin-annotation": "1.19.2",
@@ -141,9 +141,6 @@
141
141
  "platform.editor.live-view.disable-editing-in-view-mode_fi1rx": {
142
142
  "type": "boolean"
143
143
  },
144
- "platform_editor_media_provider_from_plugin_config": {
145
- "type": "boolean"
146
- },
147
144
  "platform-editor-a11y-image-border-options-dropdown": {
148
145
  "type": "boolean"
149
146
  },