@atlaskit/editor-core 187.41.0 → 187.41.1
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 +6 -0
- package/dist/cjs/plugins/media/index.js +59 -54
- package/dist/cjs/plugins/media/nodeviews/mediaInline.js +44 -29
- package/dist/cjs/plugins/media/ui/ToolbarMedia/index.js +20 -33
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/plugins/media/index.js +28 -20
- package/dist/es2019/plugins/media/nodeviews/mediaInline.js +45 -27
- package/dist/es2019/plugins/media/ui/ToolbarMedia/index.js +24 -32
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/plugins/media/index.js +57 -52
- package/dist/esm/plugins/media/nodeviews/mediaInline.js +44 -29
- package/dist/esm/plugins/media/ui/ToolbarMedia/index.js +20 -30
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/plugins/media/index.d.ts +1 -1
- package/dist/types/plugins/media/nodeviews/mediaInline.d.ts +5 -4
- package/dist/types/plugins/media/types.d.ts +10 -1
- package/dist/types/plugins/media/ui/ToolbarMedia/index.d.ts +6 -10
- package/dist/types-ts4.5/plugins/media/index.d.ts +1 -1
- package/dist/types-ts4.5/plugins/media/nodeviews/mediaInline.d.ts +5 -4
- package/dist/types-ts4.5/plugins/media/types.d.ts +10 -1
- package/dist/types-ts4.5/plugins/media/ui/ToolbarMedia/index.d.ts +6 -10
- package/package.json +1 -1
- package/report.api.md +7 -1
- package/tmp/api-report-tmp.d.ts +7 -1
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "insertMediaSingleNode", {
|
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
15
16
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
16
17
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
17
18
|
var _adfSchema = require("@atlaskit/adf-schema");
|
|
@@ -29,19 +30,34 @@ var _mediaSingle = require("./nodeviews/mediaSingle");
|
|
|
29
30
|
var _toolbar = require("./toolbar");
|
|
30
31
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
31
32
|
var _quickInsert = require("@atlaskit/editor-common/quick-insert");
|
|
32
|
-
var _WithPluginState = _interopRequireDefault(require("../../ui/WithPluginState"));
|
|
33
33
|
var _MediaPicker = require("./ui/MediaPicker");
|
|
34
|
-
var _messages = require("
|
|
34
|
+
var _messages = require("@atlaskit/editor-common/messages");
|
|
35
35
|
var _mediaNodeView = require("./nodeviews/mediaNodeView");
|
|
36
36
|
var _mediaInline = require("./nodeviews/mediaInline");
|
|
37
37
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
38
38
|
var _pluginKey = require("./pm-plugins/plugin-key");
|
|
39
39
|
var _mediaSingle2 = require("./utils/media-single");
|
|
40
|
-
var
|
|
40
|
+
var MediaPickerFunctionalComponent = function MediaPickerFunctionalComponent(_ref) {
|
|
41
|
+
var api = _ref.api,
|
|
42
|
+
editorDomElement = _ref.editorDomElement,
|
|
43
|
+
appearance = _ref.appearance;
|
|
44
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['media']),
|
|
45
|
+
mediaState = _useSharedPluginState.mediaState;
|
|
46
|
+
if (!mediaState) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(_MediaPicker.MediaPickerComponents, {
|
|
50
|
+
editorDomElement: editorDomElement,
|
|
51
|
+
mediaState: mediaState,
|
|
52
|
+
appearance: appearance,
|
|
53
|
+
api: api
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
var mediaPlugin = function mediaPlugin(_ref2) {
|
|
41
57
|
var _api$featureFlags;
|
|
42
|
-
var
|
|
43
|
-
options =
|
|
44
|
-
api =
|
|
58
|
+
var _ref2$config = _ref2.config,
|
|
59
|
+
options = _ref2$config === void 0 ? {} : _ref2$config,
|
|
60
|
+
api = _ref2.api;
|
|
45
61
|
var featureFlags = (api === null || api === void 0 ? void 0 : (_api$featureFlags = api.featureFlags) === null || _api$featureFlags === void 0 ? void 0 : _api$featureFlags.sharedState.currentState()) || {};
|
|
46
62
|
return {
|
|
47
63
|
name: 'media',
|
|
@@ -52,12 +68,12 @@ var mediaPlugin = function mediaPlugin(_ref) {
|
|
|
52
68
|
return _pluginKey.stateKey.getState(editorState) || null;
|
|
53
69
|
},
|
|
54
70
|
nodes: function nodes() {
|
|
55
|
-
var
|
|
56
|
-
|
|
57
|
-
allowMediaGroup =
|
|
58
|
-
|
|
59
|
-
allowMediaSingle =
|
|
60
|
-
mediaFeatureFlags =
|
|
71
|
+
var _ref3 = options || {},
|
|
72
|
+
_ref3$allowMediaGroup = _ref3.allowMediaGroup,
|
|
73
|
+
allowMediaGroup = _ref3$allowMediaGroup === void 0 ? true : _ref3$allowMediaGroup,
|
|
74
|
+
_ref3$allowMediaSingl = _ref3.allowMediaSingle,
|
|
75
|
+
allowMediaSingle = _ref3$allowMediaSingl === void 0 ? false : _ref3$allowMediaSingl,
|
|
76
|
+
mediaFeatureFlags = _ref3.featureFlags;
|
|
61
77
|
var captions = (0, _mediaCommon.getMediaFeatureFlag)('captions', mediaFeatureFlags);
|
|
62
78
|
var allowMediaInline = (0, _mediaCommon.getMediaFeatureFlag)('mediaInline', mediaFeatureFlags);
|
|
63
79
|
var mediaSingleOption = (0, _platformFeatureFlags.getBooleanFF)('platform.editor.media.extended-resize-experience') ? {
|
|
@@ -96,22 +112,23 @@ var mediaPlugin = function mediaPlugin(_ref) {
|
|
|
96
112
|
pmPlugins: function pmPlugins() {
|
|
97
113
|
var pmPlugins = [{
|
|
98
114
|
name: 'media',
|
|
99
|
-
plugin: function plugin(
|
|
100
|
-
var schema =
|
|
101
|
-
dispatch =
|
|
102
|
-
getIntl =
|
|
103
|
-
eventDispatcher =
|
|
104
|
-
providerFactory =
|
|
105
|
-
errorReporter =
|
|
106
|
-
portalProviderAPI =
|
|
107
|
-
reactContext =
|
|
108
|
-
dispatchAnalyticsEvent =
|
|
115
|
+
plugin: function plugin(_ref4) {
|
|
116
|
+
var schema = _ref4.schema,
|
|
117
|
+
dispatch = _ref4.dispatch,
|
|
118
|
+
getIntl = _ref4.getIntl,
|
|
119
|
+
eventDispatcher = _ref4.eventDispatcher,
|
|
120
|
+
providerFactory = _ref4.providerFactory,
|
|
121
|
+
errorReporter = _ref4.errorReporter,
|
|
122
|
+
portalProviderAPI = _ref4.portalProviderAPI,
|
|
123
|
+
reactContext = _ref4.reactContext,
|
|
124
|
+
dispatchAnalyticsEvent = _ref4.dispatchAnalyticsEvent;
|
|
109
125
|
return (0, _main.createPlugin)(schema, {
|
|
110
126
|
providerFactory: providerFactory,
|
|
111
127
|
nodeViews: {
|
|
112
128
|
mediaGroup: (0, _mediaGroup.ReactMediaGroupNode)(portalProviderAPI, eventDispatcher, providerFactory, options, api),
|
|
113
129
|
mediaSingle: (0, _mediaSingle.ReactMediaSingleNode)(portalProviderAPI, eventDispatcher, providerFactory, api, dispatchAnalyticsEvent, options),
|
|
114
130
|
media: (0, _mediaNodeView.ReactMediaNode)(portalProviderAPI, eventDispatcher, providerFactory, options, api),
|
|
131
|
+
// @ts-expect-error
|
|
115
132
|
mediaInline: (0, _mediaInline.ReactMediaInlineNode)(portalProviderAPI, eventDispatcher, providerFactory, api)
|
|
116
133
|
},
|
|
117
134
|
errorReporter: errorReporter,
|
|
@@ -132,8 +149,8 @@ var mediaPlugin = function mediaPlugin(_ref) {
|
|
|
132
149
|
if (options && options.allowMediaSingle) {
|
|
133
150
|
pmPlugins.push({
|
|
134
151
|
name: 'mediaSingleKeymap',
|
|
135
|
-
plugin: function plugin(
|
|
136
|
-
var schema =
|
|
152
|
+
plugin: function plugin(_ref5) {
|
|
153
|
+
var schema = _ref5.schema;
|
|
137
154
|
return (0, _keymapMediaSingle.default)(schema);
|
|
138
155
|
}
|
|
139
156
|
});
|
|
@@ -145,9 +162,9 @@ var mediaPlugin = function mediaPlugin(_ref) {
|
|
|
145
162
|
});
|
|
146
163
|
pmPlugins.push({
|
|
147
164
|
name: 'mediaAltTextKeymap',
|
|
148
|
-
plugin: function plugin(
|
|
165
|
+
plugin: function plugin(_ref6) {
|
|
149
166
|
var _api$analytics2;
|
|
150
|
-
var schema =
|
|
167
|
+
var schema = _ref6.schema;
|
|
151
168
|
return (0, _keymap.default)(schema, api === null || api === void 0 ? void 0 : (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 ? void 0 : _api$analytics2.actions);
|
|
152
169
|
}
|
|
153
170
|
});
|
|
@@ -155,15 +172,15 @@ var mediaPlugin = function mediaPlugin(_ref) {
|
|
|
155
172
|
if (options && options.allowLinking) {
|
|
156
173
|
pmPlugins.push({
|
|
157
174
|
name: 'mediaLinking',
|
|
158
|
-
plugin: function plugin(
|
|
159
|
-
var dispatch =
|
|
175
|
+
plugin: function plugin(_ref7) {
|
|
176
|
+
var dispatch = _ref7.dispatch;
|
|
160
177
|
return (0, _linking.default)(dispatch);
|
|
161
178
|
}
|
|
162
179
|
});
|
|
163
180
|
pmPlugins.push({
|
|
164
181
|
name: 'mediaLinkingKeymap',
|
|
165
|
-
plugin: function plugin(
|
|
166
|
-
var schema =
|
|
182
|
+
plugin: function plugin(_ref8) {
|
|
183
|
+
var schema = _ref8.schema;
|
|
167
184
|
return (0, _keymap2.default)(schema);
|
|
168
185
|
}
|
|
169
186
|
});
|
|
@@ -199,35 +216,23 @@ var mediaPlugin = function mediaPlugin(_ref) {
|
|
|
199
216
|
});
|
|
200
217
|
return pmPlugins;
|
|
201
218
|
},
|
|
202
|
-
contentComponent: function contentComponent(
|
|
203
|
-
var editorView =
|
|
204
|
-
appearance =
|
|
205
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
render: function render(_ref9) {
|
|
211
|
-
var mediaState = _ref9.mediaState;
|
|
212
|
-
return /*#__PURE__*/_react.default.createElement(_MediaPicker.MediaPickerComponents, {
|
|
213
|
-
editorDomElement: editorView.dom,
|
|
214
|
-
mediaState: mediaState,
|
|
215
|
-
appearance: appearance,
|
|
216
|
-
api: api
|
|
217
|
-
});
|
|
218
|
-
}
|
|
219
|
-
}));
|
|
219
|
+
contentComponent: function contentComponent(_ref9) {
|
|
220
|
+
var editorView = _ref9.editorView,
|
|
221
|
+
appearance = _ref9.appearance;
|
|
222
|
+
return /*#__PURE__*/_react.default.createElement(MediaPickerFunctionalComponent, {
|
|
223
|
+
editorDomElement: editorView.dom,
|
|
224
|
+
appearance: appearance,
|
|
225
|
+
api: api
|
|
226
|
+
});
|
|
220
227
|
},
|
|
221
228
|
secondaryToolbarComponent: function secondaryToolbarComponent(_ref10) {
|
|
222
229
|
var editorView = _ref10.editorView,
|
|
223
230
|
eventDispatcher = _ref10.eventDispatcher,
|
|
224
231
|
disabled = _ref10.disabled;
|
|
225
232
|
return /*#__PURE__*/_react.default.createElement(_ToolbarMedia.default, {
|
|
226
|
-
editorView: editorView,
|
|
227
|
-
eventDispatcher: eventDispatcher,
|
|
228
|
-
pluginKey: _main.stateKey,
|
|
229
233
|
isDisabled: disabled,
|
|
230
|
-
isReducedSpacing: true
|
|
234
|
+
isReducedSpacing: true,
|
|
235
|
+
api: api
|
|
231
236
|
});
|
|
232
237
|
},
|
|
233
238
|
pluginsOptions: {
|
|
@@ -235,8 +240,8 @@ var mediaPlugin = function mediaPlugin(_ref) {
|
|
|
235
240
|
var formatMessage = _ref11.formatMessage;
|
|
236
241
|
return [{
|
|
237
242
|
id: 'media',
|
|
238
|
-
title: formatMessage(_messages.
|
|
239
|
-
description: formatMessage(_messages.
|
|
243
|
+
title: formatMessage(_messages.toolbarInsertBlockMessages.mediaFiles),
|
|
244
|
+
description: formatMessage(_messages.toolbarInsertBlockMessages.mediaFilesDescription),
|
|
240
245
|
priority: 400,
|
|
241
246
|
keywords: ['attachment', 'gif', 'media', 'picture', 'image', 'video'],
|
|
242
247
|
icon: function icon() {
|
|
@@ -18,11 +18,10 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
18
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
19
|
var _react = _interopRequireWildcard(require("react"));
|
|
20
20
|
var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-node-view");
|
|
21
|
-
var
|
|
21
|
+
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
22
22
|
var _mediaCard = require("@atlaskit/media-card");
|
|
23
23
|
var _providerFactory = require("@atlaskit/editor-common/provider-factory");
|
|
24
24
|
var _styles = require("./styles");
|
|
25
|
-
var _pluginKey = require("../pm-plugins/plugin-key");
|
|
26
25
|
var _mediaNodeUpdater = require("./mediaNodeUpdater");
|
|
27
26
|
var _mediaUi = require("@atlaskit/media-ui");
|
|
28
27
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -188,6 +187,31 @@ var MediaInline = function MediaInline(props) {
|
|
|
188
187
|
});
|
|
189
188
|
};
|
|
190
189
|
exports.MediaInline = MediaInline;
|
|
190
|
+
var MediaInlineSharedState = function MediaInlineSharedState(_ref3) {
|
|
191
|
+
var identifier = _ref3.identifier,
|
|
192
|
+
mediaProvider = _ref3.mediaProvider,
|
|
193
|
+
node = _ref3.node,
|
|
194
|
+
isSelected = _ref3.isSelected,
|
|
195
|
+
getPos = _ref3.getPos,
|
|
196
|
+
contextIdentifierProvider = _ref3.contextIdentifierProvider,
|
|
197
|
+
api = _ref3.api,
|
|
198
|
+
view = _ref3.view;
|
|
199
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['media']),
|
|
200
|
+
mediaState = _useSharedPluginState.mediaState;
|
|
201
|
+
if (!mediaState) {
|
|
202
|
+
return null;
|
|
203
|
+
}
|
|
204
|
+
return /*#__PURE__*/_react.default.createElement(MediaInline, {
|
|
205
|
+
identifier: identifier,
|
|
206
|
+
mediaProvider: mediaProvider,
|
|
207
|
+
mediaPluginState: mediaState,
|
|
208
|
+
node: node,
|
|
209
|
+
isSelected: isSelected,
|
|
210
|
+
view: view,
|
|
211
|
+
getPos: getPos,
|
|
212
|
+
contextIdentifierProvider: contextIdentifierProvider
|
|
213
|
+
});
|
|
214
|
+
};
|
|
191
215
|
var MediaInlineNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
|
|
192
216
|
(0, _inherits2.default)(MediaInlineNodeView, _SelectionBasedNodeVi);
|
|
193
217
|
var _super = _createSuper(MediaInlineNodeView);
|
|
@@ -228,38 +252,28 @@ var MediaInlineNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
|
|
|
228
252
|
key: "render",
|
|
229
253
|
value: function render(props) {
|
|
230
254
|
var _this = this;
|
|
231
|
-
var providerFactory = props.providerFactory
|
|
255
|
+
var providerFactory = props.providerFactory,
|
|
256
|
+
api = props.api;
|
|
257
|
+
var view = this.view;
|
|
232
258
|
var getPos = this.getPos;
|
|
233
259
|
return /*#__PURE__*/_react.default.createElement(_providerFactory.WithProviders, {
|
|
234
260
|
providers: ['mediaProvider', 'contextIdentifierProvider'],
|
|
235
261
|
providerFactory: providerFactory,
|
|
236
|
-
renderNode: function renderNode(
|
|
237
|
-
var mediaProvider =
|
|
238
|
-
contextIdentifierProvider =
|
|
262
|
+
renderNode: function renderNode(_ref4) {
|
|
263
|
+
var mediaProvider = _ref4.mediaProvider,
|
|
264
|
+
contextIdentifierProvider = _ref4.contextIdentifierProvider;
|
|
239
265
|
if (!mediaProvider) {
|
|
240
266
|
return null;
|
|
241
267
|
}
|
|
242
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}
|
|
252
|
-
return /*#__PURE__*/_react.default.createElement(MediaInline, {
|
|
253
|
-
identifier: _this.node.attrs.id,
|
|
254
|
-
mediaProvider: mediaProvider,
|
|
255
|
-
mediaPluginState: mediaPluginState,
|
|
256
|
-
node: _this.node,
|
|
257
|
-
isSelected: _this.nodeInsideSelection(),
|
|
258
|
-
view: _this.view,
|
|
259
|
-
getPos: getPos,
|
|
260
|
-
contextIdentifierProvider: contextIdentifierProvider
|
|
261
|
-
});
|
|
262
|
-
}
|
|
268
|
+
return /*#__PURE__*/_react.default.createElement(MediaInlineSharedState, {
|
|
269
|
+
identifier: _this.node.attrs.id,
|
|
270
|
+
mediaProvider: mediaProvider,
|
|
271
|
+
node: _this.node,
|
|
272
|
+
isSelected: _this.nodeInsideSelection(),
|
|
273
|
+
view: view,
|
|
274
|
+
getPos: getPos,
|
|
275
|
+
contextIdentifierProvider: contextIdentifierProvider,
|
|
276
|
+
api: api
|
|
263
277
|
});
|
|
264
278
|
}
|
|
265
279
|
});
|
|
@@ -268,11 +282,12 @@ var MediaInlineNodeView = /*#__PURE__*/function (_SelectionBasedNodeVi) {
|
|
|
268
282
|
return MediaInlineNodeView;
|
|
269
283
|
}(_selectionBasedNodeView.SelectionBasedNodeView);
|
|
270
284
|
exports.MediaInlineNodeView = MediaInlineNodeView;
|
|
271
|
-
var ReactMediaInlineNode = function ReactMediaInlineNode(portalProviderAPI, eventDispatcher, providerFactory,
|
|
285
|
+
var ReactMediaInlineNode = function ReactMediaInlineNode(portalProviderAPI, eventDispatcher, providerFactory, api, dispatchAnalyticsEvent) {
|
|
272
286
|
return function (node, view, getPos) {
|
|
273
287
|
return new MediaInlineNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, {
|
|
274
288
|
providerFactory: providerFactory,
|
|
275
|
-
dispatchAnalyticsEvent: dispatchAnalyticsEvent
|
|
289
|
+
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
290
|
+
api: api
|
|
276
291
|
}).init();
|
|
277
292
|
};
|
|
278
293
|
};
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
8
|
var _react = _interopRequireDefault(require("react"));
|
|
10
9
|
var _attachment = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/attachment"));
|
|
11
|
-
var
|
|
12
|
-
var _WithPluginState = _interopRequireDefault(require("../../../../ui/WithPluginState"));
|
|
10
|
+
var _uiMenu = require("@atlaskit/editor-common/ui-menu");
|
|
13
11
|
var _toolbarMediaMessages = require("./toolbar-media-messages");
|
|
12
|
+
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
14
13
|
var _reactIntlNext = require("react-intl-next");
|
|
15
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
14
|
var onClickMediaButton = function onClickMediaButton(pluginState) {
|
|
18
15
|
return function () {
|
|
19
16
|
pluginState.showMediaPicker();
|
|
@@ -21,35 +18,25 @@ var onClickMediaButton = function onClickMediaButton(pluginState) {
|
|
|
21
18
|
};
|
|
22
19
|
};
|
|
23
20
|
var ToolbarMedia = function ToolbarMedia(_ref) {
|
|
24
|
-
var
|
|
25
|
-
eventDispatcher = _ref.eventDispatcher,
|
|
26
|
-
pluginKey = _ref.pluginKey,
|
|
27
|
-
isDisabled = _ref.isDisabled,
|
|
21
|
+
var isDisabled = _ref.isDisabled,
|
|
28
22
|
isReducedSpacing = _ref.isReducedSpacing,
|
|
29
|
-
intl = _ref.intl
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
title: intl.formatMessage(toolbarMediaTitle),
|
|
47
|
-
spacing: isReducedSpacing ? 'none' : 'default',
|
|
48
|
-
iconBefore: /*#__PURE__*/_react.default.createElement(_attachment.default, {
|
|
49
|
-
label: intl.formatMessage(toolbarMediaTitle)
|
|
50
|
-
})
|
|
51
|
-
});
|
|
52
|
-
}
|
|
23
|
+
intl = _ref.intl,
|
|
24
|
+
api = _ref.api;
|
|
25
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['media']),
|
|
26
|
+
mediaState = _useSharedPluginState.mediaState;
|
|
27
|
+
if (!(mediaState !== null && mediaState !== void 0 && mediaState.allowsUploads)) {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
var toolbarMediaTitle = _toolbarMediaMessages.toolbarMediaMessages.toolbarMediaTitle;
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement(_uiMenu.ToolbarButton, {
|
|
32
|
+
buttonId: _uiMenu.TOOLBAR_BUTTON.MEDIA,
|
|
33
|
+
onClick: onClickMediaButton(mediaState),
|
|
34
|
+
disabled: isDisabled,
|
|
35
|
+
title: intl.formatMessage(toolbarMediaTitle),
|
|
36
|
+
spacing: isReducedSpacing ? 'none' : 'default',
|
|
37
|
+
iconBefore: /*#__PURE__*/_react.default.createElement(_attachment.default, {
|
|
38
|
+
label: intl.formatMessage(toolbarMediaTitle)
|
|
39
|
+
})
|
|
53
40
|
});
|
|
54
41
|
};
|
|
55
42
|
var _default = (0, _reactIntlNext.injectIntl)(ToolbarMedia);
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.version = exports.nextMajorVersion = exports.name = void 0;
|
|
7
7
|
var name = "@atlaskit/editor-core";
|
|
8
8
|
exports.name = name;
|
|
9
|
-
var version = "187.41.
|
|
9
|
+
var version = "187.41.1";
|
|
10
10
|
exports.version = version;
|
|
11
11
|
var nextMajorVersion = function nextMajorVersion() {
|
|
12
12
|
return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
|
|
2
3
|
import { PluginKey, NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
3
4
|
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
4
5
|
import { media, mediaGroup, mediaInline, mediaSingleSpec } from '@atlaskit/adf-schema';
|
|
@@ -16,14 +17,31 @@ import { ReactMediaSingleNode } from './nodeviews/mediaSingle';
|
|
|
16
17
|
import { floatingToolbar } from './toolbar';
|
|
17
18
|
import { ACTION, ACTION_SUBJECT, INPUT_METHOD, EVENT_TYPE, ACTION_SUBJECT_ID } from '@atlaskit/editor-common/analytics';
|
|
18
19
|
import { IconImages } from '@atlaskit/editor-common/quick-insert';
|
|
19
|
-
import WithPluginState from '../../ui/WithPluginState';
|
|
20
20
|
import { MediaPickerComponents } from './ui/MediaPicker';
|
|
21
|
-
import { messages } from '
|
|
21
|
+
import { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages';
|
|
22
22
|
import { ReactMediaNode } from './nodeviews/mediaNodeView';
|
|
23
23
|
import { ReactMediaInlineNode } from './nodeviews/mediaInline';
|
|
24
24
|
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
25
25
|
import { stateKey } from './pm-plugins/plugin-key';
|
|
26
26
|
export { insertMediaSingleNode } from './utils/media-single';
|
|
27
|
+
const MediaPickerFunctionalComponent = ({
|
|
28
|
+
api,
|
|
29
|
+
editorDomElement,
|
|
30
|
+
appearance
|
|
31
|
+
}) => {
|
|
32
|
+
const {
|
|
33
|
+
mediaState
|
|
34
|
+
} = useSharedPluginState(api, ['media']);
|
|
35
|
+
if (!mediaState) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
return /*#__PURE__*/React.createElement(MediaPickerComponents, {
|
|
39
|
+
editorDomElement: editorDomElement,
|
|
40
|
+
mediaState: mediaState,
|
|
41
|
+
appearance: appearance,
|
|
42
|
+
api: api
|
|
43
|
+
});
|
|
44
|
+
};
|
|
27
45
|
const mediaPlugin = ({
|
|
28
46
|
config: options = {},
|
|
29
47
|
api
|
|
@@ -99,6 +117,7 @@ const mediaPlugin = ({
|
|
|
99
117
|
mediaGroup: ReactMediaGroupNode(portalProviderAPI, eventDispatcher, providerFactory, options, api),
|
|
100
118
|
mediaSingle: ReactMediaSingleNode(portalProviderAPI, eventDispatcher, providerFactory, api, dispatchAnalyticsEvent, options),
|
|
101
119
|
media: ReactMediaNode(portalProviderAPI, eventDispatcher, providerFactory, options, api),
|
|
120
|
+
// @ts-expect-error
|
|
102
121
|
mediaInline: ReactMediaInlineNode(portalProviderAPI, eventDispatcher, providerFactory, api)
|
|
103
122
|
},
|
|
104
123
|
errorReporter,
|
|
@@ -193,20 +212,11 @@ const mediaPlugin = ({
|
|
|
193
212
|
editorView,
|
|
194
213
|
appearance
|
|
195
214
|
}) {
|
|
196
|
-
return /*#__PURE__*/React.createElement(
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
render: ({
|
|
202
|
-
mediaState
|
|
203
|
-
}) => /*#__PURE__*/React.createElement(MediaPickerComponents, {
|
|
204
|
-
editorDomElement: editorView.dom,
|
|
205
|
-
mediaState: mediaState,
|
|
206
|
-
appearance: appearance,
|
|
207
|
-
api: api
|
|
208
|
-
})
|
|
209
|
-
}));
|
|
215
|
+
return /*#__PURE__*/React.createElement(MediaPickerFunctionalComponent, {
|
|
216
|
+
editorDomElement: editorView.dom,
|
|
217
|
+
appearance: appearance,
|
|
218
|
+
api: api
|
|
219
|
+
});
|
|
210
220
|
},
|
|
211
221
|
secondaryToolbarComponent({
|
|
212
222
|
editorView,
|
|
@@ -214,11 +224,9 @@ const mediaPlugin = ({
|
|
|
214
224
|
disabled
|
|
215
225
|
}) {
|
|
216
226
|
return /*#__PURE__*/React.createElement(ToolbarMedia, {
|
|
217
|
-
editorView: editorView,
|
|
218
|
-
eventDispatcher: eventDispatcher,
|
|
219
|
-
pluginKey: pluginKey,
|
|
220
227
|
isDisabled: disabled,
|
|
221
|
-
isReducedSpacing: true
|
|
228
|
+
isReducedSpacing: true,
|
|
229
|
+
api: api
|
|
222
230
|
});
|
|
223
231
|
},
|
|
224
232
|
pluginsOptions: {
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import { SelectionBasedNodeView } from '@atlaskit/editor-common/selection-based-node-view';
|
|
3
|
-
import
|
|
3
|
+
import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
|
|
4
4
|
import { MediaInlineCard } from '@atlaskit/media-card';
|
|
5
5
|
import { WithProviders } from '@atlaskit/editor-common/provider-factory';
|
|
6
6
|
import { MediaInlineNodeSelector } from './styles';
|
|
7
|
-
import { stateKey as mediaStateKey } from '../pm-plugins/plugin-key';
|
|
8
7
|
import { MediaNodeUpdater } from './mediaNodeUpdater';
|
|
9
8
|
import { MediaInlineCardLoadingView } from '@atlaskit/media-ui';
|
|
10
9
|
export const createMediaNodeUpdater = props => {
|
|
@@ -111,6 +110,33 @@ export const MediaInline = props => {
|
|
|
111
110
|
mediaClientConfig: viewMediaClientConfig
|
|
112
111
|
});
|
|
113
112
|
};
|
|
113
|
+
const MediaInlineSharedState = ({
|
|
114
|
+
identifier,
|
|
115
|
+
mediaProvider,
|
|
116
|
+
node,
|
|
117
|
+
isSelected,
|
|
118
|
+
getPos,
|
|
119
|
+
contextIdentifierProvider,
|
|
120
|
+
api,
|
|
121
|
+
view
|
|
122
|
+
}) => {
|
|
123
|
+
const {
|
|
124
|
+
mediaState
|
|
125
|
+
} = useSharedPluginState(api, ['media']);
|
|
126
|
+
if (!mediaState) {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
return /*#__PURE__*/React.createElement(MediaInline, {
|
|
130
|
+
identifier: identifier,
|
|
131
|
+
mediaProvider: mediaProvider,
|
|
132
|
+
mediaPluginState: mediaState,
|
|
133
|
+
node: node,
|
|
134
|
+
isSelected: isSelected,
|
|
135
|
+
view: view,
|
|
136
|
+
getPos: getPos,
|
|
137
|
+
contextIdentifierProvider: contextIdentifierProvider
|
|
138
|
+
});
|
|
139
|
+
};
|
|
114
140
|
export class MediaInlineNodeView extends SelectionBasedNodeView {
|
|
115
141
|
createDomRef() {
|
|
116
142
|
const domRef = document.createElement('span');
|
|
@@ -135,8 +161,12 @@ export class MediaInlineNodeView extends SelectionBasedNodeView {
|
|
|
135
161
|
}
|
|
136
162
|
render(props) {
|
|
137
163
|
const {
|
|
138
|
-
providerFactory
|
|
164
|
+
providerFactory,
|
|
165
|
+
api
|
|
139
166
|
} = props;
|
|
167
|
+
const {
|
|
168
|
+
view
|
|
169
|
+
} = this;
|
|
140
170
|
const getPos = this.getPos;
|
|
141
171
|
return /*#__PURE__*/React.createElement(WithProviders, {
|
|
142
172
|
providers: ['mediaProvider', 'contextIdentifierProvider'],
|
|
@@ -148,36 +178,24 @@ export class MediaInlineNodeView extends SelectionBasedNodeView {
|
|
|
148
178
|
if (!mediaProvider) {
|
|
149
179
|
return null;
|
|
150
180
|
}
|
|
151
|
-
return /*#__PURE__*/React.createElement(
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
return /*#__PURE__*/React.createElement(MediaInline, {
|
|
163
|
-
identifier: this.node.attrs.id,
|
|
164
|
-
mediaProvider: mediaProvider,
|
|
165
|
-
mediaPluginState: mediaPluginState,
|
|
166
|
-
node: this.node,
|
|
167
|
-
isSelected: this.nodeInsideSelection(),
|
|
168
|
-
view: this.view,
|
|
169
|
-
getPos: getPos,
|
|
170
|
-
contextIdentifierProvider: contextIdentifierProvider
|
|
171
|
-
});
|
|
172
|
-
}
|
|
181
|
+
return /*#__PURE__*/React.createElement(MediaInlineSharedState, {
|
|
182
|
+
identifier: this.node.attrs.id,
|
|
183
|
+
mediaProvider: mediaProvider,
|
|
184
|
+
node: this.node,
|
|
185
|
+
isSelected: this.nodeInsideSelection(),
|
|
186
|
+
view: view,
|
|
187
|
+
getPos: getPos,
|
|
188
|
+
contextIdentifierProvider: contextIdentifierProvider,
|
|
189
|
+
api: api
|
|
173
190
|
});
|
|
174
191
|
}
|
|
175
192
|
});
|
|
176
193
|
}
|
|
177
194
|
}
|
|
178
|
-
export const ReactMediaInlineNode = (portalProviderAPI, eventDispatcher, providerFactory,
|
|
195
|
+
export const ReactMediaInlineNode = (portalProviderAPI, eventDispatcher, providerFactory, api, dispatchAnalyticsEvent) => (node, view, getPos) => {
|
|
179
196
|
return new MediaInlineNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, {
|
|
180
197
|
providerFactory,
|
|
181
|
-
dispatchAnalyticsEvent
|
|
198
|
+
dispatchAnalyticsEvent,
|
|
199
|
+
api
|
|
182
200
|
}).init();
|
|
183
201
|
};
|