@atlaskit/editor-plugin-media 3.0.3 → 3.0.5

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 (60) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/mediaPlugin.js +43 -22
  3. package/dist/cjs/nodeviews/mediaGroup.js +22 -20
  4. package/dist/cjs/nodeviews/mediaInline.js +43 -38
  5. package/dist/cjs/nodeviews/mediaNodeView/index.js +20 -11
  6. package/dist/cjs/nodeviews/mediaSingle.js +48 -43
  7. package/dist/cjs/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
  8. package/dist/cjs/pm-plugins/pixel-resizing/ui/pixel-entry.js +24 -1
  9. package/dist/cjs/ui/CommentBadge/index.js +26 -33
  10. package/dist/cjs/ui/MediaLinkingToolbar.js +5 -2
  11. package/dist/cjs/ui/MediaPicker/BrowserWrapper.js +2 -2
  12. package/dist/cjs/ui/MediaPicker/ClipboardWrapper.js +4 -4
  13. package/dist/cjs/ui/MediaPicker/DropzoneWrapper.js +72 -31
  14. package/dist/cjs/ui/MediaPicker/PickerFacadeProvider.js +37 -9
  15. package/dist/cjs/ui/MediaPicker/index.js +32 -25
  16. package/dist/cjs/ui/ToolbarMedia/index.js +18 -13
  17. package/dist/cjs/ui/hooks/useMediaProvider.js +14 -9
  18. package/dist/es2019/mediaPlugin.js +47 -24
  19. package/dist/es2019/nodeviews/mediaGroup.js +23 -20
  20. package/dist/es2019/nodeviews/mediaInline.js +45 -39
  21. package/dist/es2019/nodeviews/mediaNodeView/index.js +22 -12
  22. package/dist/es2019/nodeviews/mediaSingle.js +49 -43
  23. package/dist/es2019/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
  24. package/dist/es2019/pm-plugins/pixel-resizing/ui/pixel-entry.js +23 -1
  25. package/dist/es2019/ui/CommentBadge/index.js +29 -35
  26. package/dist/es2019/ui/MediaLinkingToolbar.js +5 -2
  27. package/dist/es2019/ui/MediaPicker/BrowserWrapper.js +2 -2
  28. package/dist/es2019/ui/MediaPicker/ClipboardWrapper.js +4 -4
  29. package/dist/es2019/ui/MediaPicker/DropzoneWrapper.js +53 -14
  30. package/dist/es2019/ui/MediaPicker/PickerFacadeProvider.js +37 -7
  31. package/dist/es2019/ui/MediaPicker/index.js +34 -26
  32. package/dist/es2019/ui/ToolbarMedia/index.js +20 -14
  33. package/dist/es2019/ui/hooks/useMediaProvider.js +16 -10
  34. package/dist/esm/mediaPlugin.js +44 -23
  35. package/dist/esm/nodeviews/mediaGroup.js +23 -21
  36. package/dist/esm/nodeviews/mediaInline.js +44 -39
  37. package/dist/esm/nodeviews/mediaNodeView/index.js +21 -12
  38. package/dist/esm/nodeviews/mediaSingle.js +49 -44
  39. package/dist/esm/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
  40. package/dist/esm/pm-plugins/pixel-resizing/ui/pixel-entry.js +23 -1
  41. package/dist/esm/ui/CommentBadge/index.js +27 -34
  42. package/dist/esm/ui/MediaLinkingToolbar.js +5 -2
  43. package/dist/esm/ui/MediaPicker/BrowserWrapper.js +2 -2
  44. package/dist/esm/ui/MediaPicker/ClipboardWrapper.js +4 -4
  45. package/dist/esm/ui/MediaPicker/DropzoneWrapper.js +72 -31
  46. package/dist/esm/ui/MediaPicker/PickerFacadeProvider.js +37 -9
  47. package/dist/esm/ui/MediaPicker/index.js +33 -26
  48. package/dist/esm/ui/ToolbarMedia/index.js +19 -14
  49. package/dist/esm/ui/hooks/useMediaProvider.js +15 -10
  50. package/dist/types/ui/MediaPicker/BrowserWrapper.d.ts +4 -3
  51. package/dist/types/ui/MediaPicker/ClipboardWrapper.d.ts +4 -3
  52. package/dist/types/ui/MediaPicker/DropzoneWrapper.d.ts +4 -4
  53. package/dist/types/ui/MediaPicker/PickerFacadeProvider.d.ts +4 -3
  54. package/dist/types/ui/MediaPicker/index.d.ts +2 -2
  55. package/dist/types-ts4.5/ui/MediaPicker/BrowserWrapper.d.ts +4 -3
  56. package/dist/types-ts4.5/ui/MediaPicker/ClipboardWrapper.d.ts +4 -3
  57. package/dist/types-ts4.5/ui/MediaPicker/DropzoneWrapper.d.ts +4 -4
  58. package/dist/types-ts4.5/ui/MediaPicker/PickerFacadeProvider.d.ts +4 -3
  59. package/dist/types-ts4.5/ui/MediaPicker/index.d.ts +2 -2
  60. package/package.json +9 -6
@@ -3,6 +3,8 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
  import { useCallback, useEffect, useMemo, useState } from 'react';
5
5
  import { flushSync } from 'react-dom';
6
+ import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '@atlaskit/editor-common/hooks';
7
+ import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
6
8
  import { ErrorReporter } from '@atlaskit/editor-common/utils';
7
9
  import PickerFacade from '../../pm-plugins/picker-facade';
8
10
  var dummyMediaPickerObject = {
@@ -12,8 +14,32 @@ var dummyMediaPickerObject = {
12
14
  destroy: function destroy() {},
13
15
  setUploadParams: function setUploadParams() {}
14
16
  };
17
+ var useSharedState = sharedPluginStateHookMigratorFactory(function (api) {
18
+ var mediaProvider = useSharedPluginStateSelector(api, 'media.mediaProvider');
19
+ var mediaOptions = useSharedPluginStateSelector(api, 'media.mediaOptions');
20
+ var insertFile = useSharedPluginStateSelector(api, 'media.insertFile');
21
+ var options = useSharedPluginStateSelector(api, 'media.options');
22
+ return {
23
+ mediaProvider: mediaProvider,
24
+ mediaOptions: mediaOptions,
25
+ insertFile: insertFile,
26
+ options: options
27
+ };
28
+ }, function (api) {
29
+ var _useSharedPluginState = useSharedPluginState(api, ['media']),
30
+ mediaState = _useSharedPluginState.mediaState;
31
+ var mediaProvider = useMemo(function () {
32
+ return mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
33
+ }, [mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider]);
34
+ return {
35
+ mediaProvider: mediaProvider,
36
+ mediaOptions: mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaOptions,
37
+ insertFile: mediaState === null || mediaState === void 0 ? void 0 : mediaState.insertFile,
38
+ options: mediaState === null || mediaState === void 0 ? void 0 : mediaState.options
39
+ };
40
+ });
15
41
  export default function PickerFacadeProvider(_ref) {
16
- var mediaState = _ref.mediaState,
42
+ var api = _ref.api,
17
43
  analyticsName = _ref.analyticsName,
18
44
  children = _ref.children;
19
45
  var _useState = useState({
@@ -24,9 +50,11 @@ export default function PickerFacadeProvider(_ref) {
24
50
  _useState2 = _slicedToArray(_useState, 2),
25
51
  state = _useState2[0],
26
52
  setState = _useState2[1];
27
- var mediaProvider = useMemo(function () {
28
- return mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
29
- }, [mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider]);
53
+ var _useSharedState = useSharedState(api),
54
+ mediaProvider = _useSharedState.mediaProvider,
55
+ mediaOptions = _useSharedState.mediaOptions,
56
+ insertFile = _useSharedState.insertFile,
57
+ options = _useSharedState.options;
30
58
  var handleMediaProvider = useCallback( /*#__PURE__*/function () {
31
59
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_name, provider) {
32
60
  var mediaProvider, resolvedMediaClientConfig, pickerFacadeConfig, pickerFacadeInstance, config;
@@ -37,7 +65,7 @@ export default function PickerFacadeProvider(_ref) {
37
65
  return provider;
38
66
  case 2:
39
67
  mediaProvider = _context.sent;
40
- if (!(!mediaProvider || !mediaProvider.uploadParams)) {
68
+ if (!(!mediaProvider || !mediaProvider.uploadParams || !insertFile)) {
41
69
  _context.next = 5;
42
70
  break;
43
71
  }
@@ -65,14 +93,14 @@ export default function PickerFacadeProvider(_ref) {
65
93
  case 15:
66
94
  pickerFacadeConfig = {
67
95
  mediaClientConfig: resolvedMediaClientConfig,
68
- errorReporter: mediaState.options.errorReporter || new ErrorReporter(),
69
- featureFlags: mediaState.mediaOptions && mediaState.mediaOptions.featureFlags
96
+ errorReporter: (options === null || options === void 0 ? void 0 : options.errorReporter) || new ErrorReporter(),
97
+ featureFlags: mediaOptions && mediaOptions.featureFlags
70
98
  };
71
99
  _context.next = 18;
72
100
  return new PickerFacade('customMediaPicker', pickerFacadeConfig, dummyMediaPickerObject, analyticsName).init();
73
101
  case 18:
74
102
  pickerFacadeInstance = _context.sent;
75
- pickerFacadeInstance.onNewMedia(mediaState.insertFile);
103
+ pickerFacadeInstance.onNewMedia(insertFile);
76
104
  pickerFacadeInstance.setUploadParams(mediaProvider.uploadParams);
77
105
  config = {
78
106
  uploadParams: mediaProvider.uploadParams
@@ -93,7 +121,7 @@ export default function PickerFacadeProvider(_ref) {
93
121
  return function (_x, _x2) {
94
122
  return _ref2.apply(this, arguments);
95
123
  };
96
- }(), [analyticsName, mediaState.insertFile, mediaState.mediaOptions, mediaState.options.errorReporter]);
124
+ }(), [analyticsName, insertFile, mediaOptions, options === null || options === void 0 ? void 0 : options.errorReporter]);
97
125
  useEffect(function () {
98
126
  if (mediaProvider) {
99
127
  handleMediaProvider('mediaProvider', Promise.resolve(mediaProvider));
@@ -7,34 +7,43 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
7
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
8
8
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
9
9
  import React from 'react';
10
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
10
+ import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '@atlaskit/editor-common/hooks';
11
11
  import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
12
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
13
12
  import { BrowserWrapper } from './BrowserWrapper';
14
13
  import { ClipboardWrapper } from './ClipboardWrapper';
15
14
  import { DropzoneWrapper } from './DropzoneWrapper';
15
+ var useMediaPickerState = sharedPluginStateHookMigratorFactory(function (api) {
16
+ var hasFocus = useSharedPluginStateSelector(api, 'focus.hasFocus');
17
+ var connectivityMode = useSharedPluginStateSelector(api, 'connectivity.mode');
18
+ var mediaOptions = useSharedPluginStateSelector(api, 'media.mediaOptions');
19
+ return {
20
+ hasFocus: hasFocus,
21
+ connectivityMode: connectivityMode,
22
+ mediaOptions: mediaOptions
23
+ };
24
+ }, function (api) {
25
+ var _useSharedPluginState = useSharedPluginState(api, ['focus', 'connectivity', 'media']),
26
+ focusState = _useSharedPluginState.focusState,
27
+ connectivityState = _useSharedPluginState.connectivityState,
28
+ mediaState = _useSharedPluginState.mediaState;
29
+ return {
30
+ hasFocus: focusState === null || focusState === void 0 ? void 0 : focusState.hasFocus,
31
+ connectivityMode: connectivityState === null || connectivityState === void 0 ? void 0 : connectivityState.mode,
32
+ mediaOptions: mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaOptions
33
+ };
34
+ });
16
35
  var MediaPicker = function MediaPicker(_ref) {
17
36
  var _editorDom$parentElem;
18
37
  var api = _ref.api,
19
38
  isPopupOpened = _ref.isPopupOpened,
20
39
  appearance = _ref.appearance,
21
- mediaState = _ref.mediaState,
22
40
  onBrowseFn = _ref.onBrowseFn,
23
41
  editorDomElement = _ref.editorDomElement;
24
- var _useSharedPluginState = useSharedPluginState(api, ['focus', 'connectivity'], {
25
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', true)
26
- }),
27
- focusState = _useSharedPluginState.focusState,
28
- connectivityState = _useSharedPluginState.connectivityState;
29
- var hasFocusSelector = useSharedPluginStateSelector(api, 'focus.hasFocus', {
30
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', false)
31
- });
32
- var connectivityModeSelector = useSharedPluginStateSelector(api, 'connectivity.mode', {
33
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', false)
34
- });
35
- var hasFocus = editorExperiment('platform_editor_usesharedpluginstateselector', true) ? hasFocusSelector : focusState === null || focusState === void 0 ? void 0 : focusState.hasFocus;
36
- var connectivityMode = editorExperiment('platform_editor_usesharedpluginstateselector', true) ? connectivityModeSelector : connectivityState === null || connectivityState === void 0 ? void 0 : connectivityState.mode;
37
- var featureFlags = mediaState.mediaOptions && mediaState.mediaOptions.featureFlags;
42
+ var _useMediaPickerState = useMediaPickerState(api),
43
+ hasFocus = _useMediaPickerState.hasFocus,
44
+ connectivityMode = _useMediaPickerState.connectivityMode,
45
+ mediaOptions = _useMediaPickerState.mediaOptions;
46
+ var featureFlags = mediaOptions && mediaOptions.featureFlags;
38
47
 
39
48
  // Ignored via go/ees005
40
49
  // eslint-disable-next-line @atlaskit/editor/no-as-casting
@@ -49,12 +58,12 @@ var MediaPicker = function MediaPicker(_ref) {
49
58
  */
50
59
  var container = editorParent;
51
60
  var clipboard = hasFocus ? /*#__PURE__*/React.createElement(ClipboardWrapper, {
52
- mediaState: mediaState,
61
+ api: api,
53
62
  featureFlags: featureFlags,
54
63
  container: container
55
64
  }) : null;
56
65
  return /*#__PURE__*/React.createElement(React.Fragment, null, clipboard, /*#__PURE__*/React.createElement(DropzoneWrapper, {
57
- mediaState: mediaState,
66
+ api: api,
58
67
  isActive: !isPopupOpened &&
59
68
  // If we're offline don't show the dropzone
60
69
  connectivityMode !== 'offline',
@@ -62,8 +71,8 @@ var MediaPicker = function MediaPicker(_ref) {
62
71
  editorDomElement: editorDomElement,
63
72
  appearance: appearance
64
73
  }), /*#__PURE__*/React.createElement(BrowserWrapper, {
74
+ api: api,
65
75
  onBrowseFn: onBrowseFn,
66
- mediaState: mediaState,
67
76
  featureFlags: featureFlags
68
77
  }));
69
78
  };
@@ -81,8 +90,8 @@ export var MediaPickerComponents = /*#__PURE__*/function (_React$Component) {
81
90
  isPopupOpened: false
82
91
  });
83
92
  _defineProperty(_this, "onBrowseFn", function (nativeBrowseFn) {
84
- var mediaState = _this.props.mediaState;
85
- mediaState && mediaState.setBrowseFn(nativeBrowseFn);
93
+ var setBrowseFn = _this.props.setBrowseFn;
94
+ setBrowseFn(nativeBrowseFn);
86
95
  });
87
96
  return _this;
88
97
  }
@@ -91,8 +100,8 @@ export var MediaPickerComponents = /*#__PURE__*/function (_React$Component) {
91
100
  key: "componentDidMount",
92
101
  value: function componentDidMount() {
93
102
  var _this2 = this;
94
- var mediaState = this.props.mediaState;
95
- mediaState.onPopupToggle(function (isPopupOpened) {
103
+ var onPopupToggle = this.props.onPopupToggle;
104
+ onPopupToggle(function (isPopupOpened) {
96
105
  _this2.setState({
97
106
  isPopupOpened: isPopupOpened
98
107
  });
@@ -103,12 +112,10 @@ export var MediaPickerComponents = /*#__PURE__*/function (_React$Component) {
103
112
  value: function render() {
104
113
  var _this$props = this.props,
105
114
  api = _this$props.api,
106
- mediaState = _this$props.mediaState,
107
115
  editorDomElement = _this$props.editorDomElement,
108
116
  appearance = _this$props.appearance;
109
117
  var isPopupOpened = this.state.isPopupOpened;
110
118
  return /*#__PURE__*/React.createElement(MediaPicker, {
111
- mediaState: mediaState,
112
119
  editorDomElement: editorDomElement,
113
120
  appearance: appearance,
114
121
  isPopupOpened: isPopupOpened,
@@ -1,34 +1,39 @@
1
1
  import React from 'react';
2
2
  import { injectIntl } from 'react-intl-next';
3
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
3
+ import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '@atlaskit/editor-common/hooks';
4
4
  import { toolbarMediaMessages } from '@atlaskit/editor-common/media';
5
5
  import { TOOLBAR_BUTTON, ToolbarButton } from '@atlaskit/editor-common/ui-menu';
6
6
  import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
7
7
  import AttachmentIcon from '@atlaskit/icon/core/migration/attachment--editor-attachment';
8
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
9
8
  var onClickMediaButton = function onClickMediaButton(showMediaPicker) {
10
9
  return function () {
11
10
  showMediaPicker();
12
11
  return true;
13
12
  };
14
13
  };
14
+ var useSharedState = sharedPluginStateHookMigratorFactory(function (api) {
15
+ var allowsUploads = useSharedPluginStateSelector(api, 'media.allowsUploads');
16
+ var showMediaPicker = useSharedPluginStateSelector(api, 'media.showMediaPicker');
17
+ return {
18
+ allowsUploads: allowsUploads,
19
+ showMediaPicker: showMediaPicker
20
+ };
21
+ }, function (api) {
22
+ var _useSharedPluginState = useSharedPluginState(api, ['media']),
23
+ mediaState = _useSharedPluginState.mediaState;
24
+ return {
25
+ allowsUploads: mediaState === null || mediaState === void 0 ? void 0 : mediaState.allowsUploads,
26
+ showMediaPicker: mediaState === null || mediaState === void 0 ? void 0 : mediaState.showMediaPicker
27
+ };
28
+ });
15
29
  var ToolbarMedia = function ToolbarMedia(_ref) {
16
30
  var isDisabled = _ref.isDisabled,
17
31
  isReducedSpacing = _ref.isReducedSpacing,
18
32
  intl = _ref.intl,
19
33
  api = _ref.api;
20
- var _useSharedPluginState = useSharedPluginState(api, ['media'], {
21
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', true)
22
- }),
23
- mediaState = _useSharedPluginState.mediaState;
24
- var allowsUploadsSelector = useSharedPluginStateSelector(api, 'media.allowsUploads', {
25
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', false)
26
- });
27
- var showMediaPickerSelector = useSharedPluginStateSelector(api, 'media.showMediaPicker', {
28
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', false)
29
- });
30
- var allowsUploads = editorExperiment('platform_editor_usesharedpluginstateselector', true) ? allowsUploadsSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.allowsUploads;
31
- var showMediaPicker = editorExperiment('platform_editor_usesharedpluginstateselector', true) ? showMediaPickerSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.showMediaPicker;
34
+ var _useSharedState = useSharedState(api),
35
+ allowsUploads = _useSharedState.allowsUploads,
36
+ showMediaPicker = _useSharedState.showMediaPicker;
32
37
  if (!allowsUploads || !showMediaPicker) {
33
38
  return null;
34
39
  }
@@ -1,16 +1,21 @@
1
1
  import { useMemo } from 'react';
2
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
2
+ import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '@atlaskit/editor-common/hooks';
3
3
  import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
4
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
5
- export var useMediaProvider = function useMediaProvider(pluginInjectionApi) {
6
- var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['media'], {
7
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', true)
8
- }),
4
+ var useSharedState = sharedPluginStateHookMigratorFactory(function (pluginInjectionApi) {
5
+ var mediaProvider = useSharedPluginStateSelector(pluginInjectionApi, 'media.mediaProvider');
6
+ return {
7
+ mediaProvider: mediaProvider
8
+ };
9
+ }, function (pluginInjectionApi) {
10
+ var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['media']),
9
11
  mediaState = _useSharedPluginState.mediaState;
10
- var mediaProviderSelector = useSharedPluginStateSelector(pluginInjectionApi, 'media.mediaProvider', {
11
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', false)
12
- });
13
- var mediaProvider = editorExperiment('platform_editor_usesharedpluginstateselector', true) ? mediaProviderSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
12
+ return {
13
+ mediaProvider: mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider
14
+ };
15
+ });
16
+ export var useMediaProvider = function useMediaProvider(pluginInjectionApi) {
17
+ var _useSharedState = useSharedState(pluginInjectionApi),
18
+ mediaProvider = _useSharedState.mediaProvider;
14
19
  var provider = useMemo(function () {
15
20
  return mediaProvider;
16
21
  }, [mediaProvider]);
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
+ import { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
3
  import type { MediaFeatureFlags } from '@atlaskit/media-common/mediaFeatureFlags';
3
- import type { MediaPluginState } from '../../pm-plugins/types';
4
+ import { MediaNextEditorPluginType } from '../../mediaPluginType';
4
5
  type Props = {
5
- mediaState: MediaPluginState;
6
+ api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
6
7
  isOpen?: boolean;
7
8
  onBrowseFn: (browse: () => void) => void;
8
9
  featureFlags?: MediaFeatureFlags;
9
10
  };
10
- export declare const BrowserWrapper: ({ mediaState, isOpen, onBrowseFn, featureFlags }: Props) => React.JSX.Element;
11
+ export declare const BrowserWrapper: ({ api, isOpen, onBrowseFn, featureFlags }: Props) => React.JSX.Element;
11
12
  export {};
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
+ import { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
3
  import type { MediaFeatureFlags } from '@atlaskit/media-common/mediaFeatureFlags';
3
- import type { MediaPluginState } from '../../pm-plugins/types';
4
+ import { MediaNextEditorPluginType } from '../../mediaPluginType';
4
5
  type Props = {
5
- mediaState: MediaPluginState;
6
+ api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
6
7
  featureFlags?: MediaFeatureFlags;
7
8
  container?: HTMLElement;
8
9
  };
9
- export declare const ClipboardWrapper: ({ mediaState, featureFlags, container }: Props) => React.JSX.Element;
10
+ export declare const ClipboardWrapper: ({ api, container, featureFlags }: Props) => React.JSX.Element;
10
11
  export {};
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
- import type { EditorAppearance } from '@atlaskit/editor-common/types';
2
+ import type { EditorAppearance, ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
3
  import type { MediaFeatureFlags } from '@atlaskit/media-common/mediaFeatureFlags';
4
- import type { MediaPluginState } from '../../pm-plugins/types';
4
+ import { MediaNextEditorPluginType } from '../../mediaPluginType';
5
5
  type Props = {
6
- mediaState: MediaPluginState;
6
+ api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
7
7
  isActive: boolean;
8
8
  featureFlags?: MediaFeatureFlags;
9
9
  editorDomElement: Element;
10
10
  appearance: EditorAppearance;
11
11
  };
12
- export declare const DropzoneWrapper: ({ mediaState, isActive, featureFlags, editorDomElement, appearance, }: Props) => React.JSX.Element;
12
+ export declare const DropzoneWrapper: ({ api, isActive, featureFlags, editorDomElement, appearance, }: Props) => React.JSX.Element;
13
13
  export {};
@@ -1,17 +1,18 @@
1
1
  import type React from 'react';
2
+ import { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
3
  import type { MediaClientConfig } from '@atlaskit/media-core';
3
4
  import type { BrowserConfig, ClipboardConfig, DropzoneConfig } from '@atlaskit/media-picker/types';
5
+ import { MediaNextEditorPluginType } from '../../mediaPluginType';
4
6
  import PickerFacade from '../../pm-plugins/picker-facade';
5
- import type { MediaPluginState } from '../../pm-plugins/types';
6
7
  interface ChildrenProps {
7
8
  config: ClipboardConfig | BrowserConfig | DropzoneConfig;
8
9
  mediaClientConfig: MediaClientConfig;
9
10
  pickerFacadeInstance: PickerFacade;
10
11
  }
11
12
  export type Props = {
12
- mediaState: MediaPluginState;
13
+ api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
13
14
  analyticsName: string;
14
15
  children: (props: ChildrenProps) => React.ReactElement | null;
15
16
  };
16
- export default function PickerFacadeProvider({ mediaState, analyticsName, children }: Props): React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
17
+ export default function PickerFacadeProvider({ api, analyticsName, children }: Props): React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
17
18
  export {};
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import type { EditorAppearance, ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
3
  import type { MediaNextEditorPluginType } from '../../mediaPluginType';
4
- import type { MediaPluginState } from '../../pm-plugins/types';
5
4
  type Props = {
6
- mediaState: MediaPluginState;
7
5
  editorDomElement: Element;
8
6
  appearance: EditorAppearance;
9
7
  api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
8
+ onPopupToggle: (onPopupToggle: (isPopupOpened: boolean) => void) => void;
9
+ setBrowseFn: (nativeBrowseFn: () => void) => void;
10
10
  };
11
11
  type State = {
12
12
  isPopupOpened: boolean;
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
+ import { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
3
  import type { MediaFeatureFlags } from '@atlaskit/media-common/mediaFeatureFlags';
3
- import type { MediaPluginState } from '../../pm-plugins/types';
4
+ import { MediaNextEditorPluginType } from '../../mediaPluginType';
4
5
  type Props = {
5
- mediaState: MediaPluginState;
6
+ api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
6
7
  isOpen?: boolean;
7
8
  onBrowseFn: (browse: () => void) => void;
8
9
  featureFlags?: MediaFeatureFlags;
9
10
  };
10
- export declare const BrowserWrapper: ({ mediaState, isOpen, onBrowseFn, featureFlags }: Props) => React.JSX.Element;
11
+ export declare const BrowserWrapper: ({ api, isOpen, onBrowseFn, featureFlags }: Props) => React.JSX.Element;
11
12
  export {};
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
+ import { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
3
  import type { MediaFeatureFlags } from '@atlaskit/media-common/mediaFeatureFlags';
3
- import type { MediaPluginState } from '../../pm-plugins/types';
4
+ import { MediaNextEditorPluginType } from '../../mediaPluginType';
4
5
  type Props = {
5
- mediaState: MediaPluginState;
6
+ api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
6
7
  featureFlags?: MediaFeatureFlags;
7
8
  container?: HTMLElement;
8
9
  };
9
- export declare const ClipboardWrapper: ({ mediaState, featureFlags, container }: Props) => React.JSX.Element;
10
+ export declare const ClipboardWrapper: ({ api, container, featureFlags }: Props) => React.JSX.Element;
10
11
  export {};
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
- import type { EditorAppearance } from '@atlaskit/editor-common/types';
2
+ import type { EditorAppearance, ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
3
  import type { MediaFeatureFlags } from '@atlaskit/media-common/mediaFeatureFlags';
4
- import type { MediaPluginState } from '../../pm-plugins/types';
4
+ import { MediaNextEditorPluginType } from '../../mediaPluginType';
5
5
  type Props = {
6
- mediaState: MediaPluginState;
6
+ api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
7
7
  isActive: boolean;
8
8
  featureFlags?: MediaFeatureFlags;
9
9
  editorDomElement: Element;
10
10
  appearance: EditorAppearance;
11
11
  };
12
- export declare const DropzoneWrapper: ({ mediaState, isActive, featureFlags, editorDomElement, appearance, }: Props) => React.JSX.Element;
12
+ export declare const DropzoneWrapper: ({ api, isActive, featureFlags, editorDomElement, appearance, }: Props) => React.JSX.Element;
13
13
  export {};
@@ -1,17 +1,18 @@
1
1
  import type React from 'react';
2
+ import { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
3
  import type { MediaClientConfig } from '@atlaskit/media-core';
3
4
  import type { BrowserConfig, ClipboardConfig, DropzoneConfig } from '@atlaskit/media-picker/types';
5
+ import { MediaNextEditorPluginType } from '../../mediaPluginType';
4
6
  import PickerFacade from '../../pm-plugins/picker-facade';
5
- import type { MediaPluginState } from '../../pm-plugins/types';
6
7
  interface ChildrenProps {
7
8
  config: ClipboardConfig | BrowserConfig | DropzoneConfig;
8
9
  mediaClientConfig: MediaClientConfig;
9
10
  pickerFacadeInstance: PickerFacade;
10
11
  }
11
12
  export type Props = {
12
- mediaState: MediaPluginState;
13
+ api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
13
14
  analyticsName: string;
14
15
  children: (props: ChildrenProps) => React.ReactElement | null;
15
16
  };
16
- export default function PickerFacadeProvider({ mediaState, analyticsName, children }: Props): React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
17
+ export default function PickerFacadeProvider({ api, analyticsName, children }: Props): React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
17
18
  export {};
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import type { EditorAppearance, ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
3
  import type { MediaNextEditorPluginType } from '../../mediaPluginType';
4
- import type { MediaPluginState } from '../../pm-plugins/types';
5
4
  type Props = {
6
- mediaState: MediaPluginState;
7
5
  editorDomElement: Element;
8
6
  appearance: EditorAppearance;
9
7
  api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
8
+ onPopupToggle: (onPopupToggle: (isPopupOpened: boolean) => void) => void;
9
+ setBrowseFn: (nativeBrowseFn: () => void) => void;
10
10
  };
11
11
  type State = {
12
12
  isPopupOpened: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-media",
3
- "version": "3.0.3",
3
+ "version": "3.0.5",
4
4
  "description": "Media plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -38,9 +38,9 @@
38
38
  "@atlaskit/analytics-namespaced-context": "^7.0.0",
39
39
  "@atlaskit/analytics-next": "^11.0.0",
40
40
  "@atlaskit/button": "^23.0.0",
41
- "@atlaskit/editor-common": "^105.0.0",
41
+ "@atlaskit/editor-common": "^105.2.0",
42
42
  "@atlaskit/editor-palette": "^2.1.0",
43
- "@atlaskit/editor-plugin-analytics": "^2.2.0",
43
+ "@atlaskit/editor-plugin-analytics": "^2.3.0",
44
44
  "@atlaskit/editor-plugin-annotation": "^2.8.0",
45
45
  "@atlaskit/editor-plugin-connectivity": "^2.0.0",
46
46
  "@atlaskit/editor-plugin-decorations": "^2.0.0",
@@ -59,7 +59,7 @@
59
59
  "@atlaskit/form": "^12.0.0",
60
60
  "@atlaskit/icon": "^26.0.0",
61
61
  "@atlaskit/media-card": "^79.2.0",
62
- "@atlaskit/media-client": "^33.0.0",
62
+ "@atlaskit/media-client": "^33.1.0",
63
63
  "@atlaskit/media-client-react": "^4.0.0",
64
64
  "@atlaskit/media-common": "^12.0.0",
65
65
  "@atlaskit/media-filmstrip": "^50.0.0",
@@ -70,7 +70,7 @@
70
70
  "@atlaskit/primitives": "^14.7.0",
71
71
  "@atlaskit/textfield": "^8.0.0",
72
72
  "@atlaskit/theme": "^18.0.0",
73
- "@atlaskit/tmp-editor-statsig": "^4.19.0",
73
+ "@atlaskit/tmp-editor-statsig": "^4.21.0",
74
74
  "@atlaskit/tokens": "^4.8.0",
75
75
  "@atlaskit/tooltip": "^20.0.0",
76
76
  "@babel/runtime": "^7.0.0",
@@ -85,7 +85,7 @@
85
85
  "typescript": "~5.4.2"
86
86
  },
87
87
  "peerDependencies": {
88
- "@atlaskit/media-core": "^36.0.0",
88
+ "@atlaskit/media-core": "^36.1.0",
89
89
  "react": "^18.2.0",
90
90
  "react-dom": "^18.2.0",
91
91
  "react-intl-next": "npm:react-intl@^5.18.1"
@@ -201,6 +201,9 @@
201
201
  },
202
202
  "platform_editor_controls_patch_8": {
203
203
  "type": "boolean"
204
+ },
205
+ "platform_editor_controls_patch_9": {
206
+ "type": "boolean"
204
207
  }
205
208
  },
206
209
  "stricter": {