@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.
- package/CHANGELOG.md +18 -0
- package/dist/cjs/mediaPlugin.js +43 -22
- package/dist/cjs/nodeviews/mediaGroup.js +22 -20
- package/dist/cjs/nodeviews/mediaInline.js +43 -38
- package/dist/cjs/nodeviews/mediaNodeView/index.js +20 -11
- package/dist/cjs/nodeviews/mediaSingle.js +48 -43
- package/dist/cjs/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
- package/dist/cjs/pm-plugins/pixel-resizing/ui/pixel-entry.js +24 -1
- package/dist/cjs/ui/CommentBadge/index.js +26 -33
- package/dist/cjs/ui/MediaLinkingToolbar.js +5 -2
- package/dist/cjs/ui/MediaPicker/BrowserWrapper.js +2 -2
- package/dist/cjs/ui/MediaPicker/ClipboardWrapper.js +4 -4
- package/dist/cjs/ui/MediaPicker/DropzoneWrapper.js +72 -31
- package/dist/cjs/ui/MediaPicker/PickerFacadeProvider.js +37 -9
- package/dist/cjs/ui/MediaPicker/index.js +32 -25
- package/dist/cjs/ui/ToolbarMedia/index.js +18 -13
- package/dist/cjs/ui/hooks/useMediaProvider.js +14 -9
- package/dist/es2019/mediaPlugin.js +47 -24
- package/dist/es2019/nodeviews/mediaGroup.js +23 -20
- package/dist/es2019/nodeviews/mediaInline.js +45 -39
- package/dist/es2019/nodeviews/mediaNodeView/index.js +22 -12
- package/dist/es2019/nodeviews/mediaSingle.js +49 -43
- package/dist/es2019/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
- package/dist/es2019/pm-plugins/pixel-resizing/ui/pixel-entry.js +23 -1
- package/dist/es2019/ui/CommentBadge/index.js +29 -35
- package/dist/es2019/ui/MediaLinkingToolbar.js +5 -2
- package/dist/es2019/ui/MediaPicker/BrowserWrapper.js +2 -2
- package/dist/es2019/ui/MediaPicker/ClipboardWrapper.js +4 -4
- package/dist/es2019/ui/MediaPicker/DropzoneWrapper.js +53 -14
- package/dist/es2019/ui/MediaPicker/PickerFacadeProvider.js +37 -7
- package/dist/es2019/ui/MediaPicker/index.js +34 -26
- package/dist/es2019/ui/ToolbarMedia/index.js +20 -14
- package/dist/es2019/ui/hooks/useMediaProvider.js +16 -10
- package/dist/esm/mediaPlugin.js +44 -23
- package/dist/esm/nodeviews/mediaGroup.js +23 -21
- package/dist/esm/nodeviews/mediaInline.js +44 -39
- package/dist/esm/nodeviews/mediaNodeView/index.js +21 -12
- package/dist/esm/nodeviews/mediaSingle.js +49 -44
- package/dist/esm/pm-plugins/alt-text/ui/AltTextEdit.js +1 -1
- package/dist/esm/pm-plugins/pixel-resizing/ui/pixel-entry.js +23 -1
- package/dist/esm/ui/CommentBadge/index.js +27 -34
- package/dist/esm/ui/MediaLinkingToolbar.js +5 -2
- package/dist/esm/ui/MediaPicker/BrowserWrapper.js +2 -2
- package/dist/esm/ui/MediaPicker/ClipboardWrapper.js +4 -4
- package/dist/esm/ui/MediaPicker/DropzoneWrapper.js +72 -31
- package/dist/esm/ui/MediaPicker/PickerFacadeProvider.js +37 -9
- package/dist/esm/ui/MediaPicker/index.js +33 -26
- package/dist/esm/ui/ToolbarMedia/index.js +19 -14
- package/dist/esm/ui/hooks/useMediaProvider.js +15 -10
- package/dist/types/ui/MediaPicker/BrowserWrapper.d.ts +4 -3
- package/dist/types/ui/MediaPicker/ClipboardWrapper.d.ts +4 -3
- package/dist/types/ui/MediaPicker/DropzoneWrapper.d.ts +4 -4
- package/dist/types/ui/MediaPicker/PickerFacadeProvider.d.ts +4 -3
- package/dist/types/ui/MediaPicker/index.d.ts +2 -2
- package/dist/types-ts4.5/ui/MediaPicker/BrowserWrapper.d.ts +4 -3
- package/dist/types-ts4.5/ui/MediaPicker/ClipboardWrapper.d.ts +4 -3
- package/dist/types-ts4.5/ui/MediaPicker/DropzoneWrapper.d.ts +4 -4
- package/dist/types-ts4.5/ui/MediaPicker/PickerFacadeProvider.d.ts +4 -3
- package/dist/types-ts4.5/ui/MediaPicker/index.d.ts +2 -2
- 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
|
|
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
|
|
28
|
-
|
|
29
|
-
|
|
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:
|
|
69
|
-
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(
|
|
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,
|
|
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
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
85
|
-
|
|
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
|
|
95
|
-
|
|
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
|
|
21
|
-
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
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
|
|
4
|
+
import { MediaNextEditorPluginType } from '../../mediaPluginType';
|
|
4
5
|
type Props = {
|
|
5
|
-
|
|
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: ({
|
|
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
|
|
4
|
+
import { MediaNextEditorPluginType } from '../../mediaPluginType';
|
|
4
5
|
type Props = {
|
|
5
|
-
|
|
6
|
+
api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
|
|
6
7
|
featureFlags?: MediaFeatureFlags;
|
|
7
8
|
container?: HTMLElement;
|
|
8
9
|
};
|
|
9
|
-
export declare const ClipboardWrapper: ({
|
|
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
|
|
4
|
+
import { MediaNextEditorPluginType } from '../../mediaPluginType';
|
|
5
5
|
type Props = {
|
|
6
|
-
|
|
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: ({
|
|
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
|
-
|
|
13
|
+
api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
|
|
13
14
|
analyticsName: string;
|
|
14
15
|
children: (props: ChildrenProps) => React.ReactElement | null;
|
|
15
16
|
};
|
|
16
|
-
export default function PickerFacadeProvider({
|
|
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
|
|
4
|
+
import { MediaNextEditorPluginType } from '../../mediaPluginType';
|
|
4
5
|
type Props = {
|
|
5
|
-
|
|
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: ({
|
|
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
|
|
4
|
+
import { MediaNextEditorPluginType } from '../../mediaPluginType';
|
|
4
5
|
type Props = {
|
|
5
|
-
|
|
6
|
+
api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
|
|
6
7
|
featureFlags?: MediaFeatureFlags;
|
|
7
8
|
container?: HTMLElement;
|
|
8
9
|
};
|
|
9
|
-
export declare const ClipboardWrapper: ({
|
|
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
|
|
4
|
+
import { MediaNextEditorPluginType } from '../../mediaPluginType';
|
|
5
5
|
type Props = {
|
|
6
|
-
|
|
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: ({
|
|
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
|
-
|
|
13
|
+
api: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined;
|
|
13
14
|
analyticsName: string;
|
|
14
15
|
children: (props: ChildrenProps) => React.ReactElement | null;
|
|
15
16
|
};
|
|
16
|
-
export default function PickerFacadeProvider({
|
|
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
|
+
"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.
|
|
41
|
+
"@atlaskit/editor-common": "^105.2.0",
|
|
42
42
|
"@atlaskit/editor-palette": "^2.1.0",
|
|
43
|
-
"@atlaskit/editor-plugin-analytics": "^2.
|
|
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.
|
|
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.
|
|
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.
|
|
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": {
|