@atlaskit/editor-plugin-media 0.4.10 → 0.5.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.
Files changed (53) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/nodeviews/mediaInline.js +17 -1
  3. package/dist/cjs/nodeviews/mediaSingle.js +11 -10
  4. package/dist/cjs/nodeviews/styles.js +5 -4
  5. package/dist/cjs/pm-plugins/alt-text/ui/AltTextEdit.js +15 -14
  6. package/dist/cjs/toolbar/index.js +28 -1
  7. package/dist/cjs/toolbar/layout-group.js +7 -5
  8. package/dist/cjs/toolbar/linking-toolbar-appearance.js +12 -11
  9. package/dist/cjs/ui/CaptionPlaceholder/index.js +3 -2
  10. package/dist/cjs/ui/ImageBorder/index.js +23 -20
  11. package/dist/cjs/ui/Media/DropPlaceholder.js +5 -4
  12. package/dist/cjs/ui/MediaLinkingToolbar.js +15 -13
  13. package/dist/cjs/ui/PixelEntry/index.js +18 -15
  14. package/dist/cjs/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.js +4 -1
  15. package/dist/cjs/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +5 -4
  16. package/dist/cjs/ui/ResizableMediaSingle/index.js +5 -4
  17. package/dist/cjs/utils/media-files.js +24 -3
  18. package/dist/cjs/utils/media-single.js +6 -3
  19. package/dist/es2019/nodeviews/mediaInline.js +17 -1
  20. package/dist/es2019/nodeviews/mediaSingle.js +12 -9
  21. package/dist/es2019/nodeviews/styles.js +6 -5
  22. package/dist/es2019/pm-plugins/alt-text/ui/AltTextEdit.js +17 -15
  23. package/dist/es2019/toolbar/index.js +26 -1
  24. package/dist/es2019/toolbar/layout-group.js +7 -6
  25. package/dist/es2019/toolbar/linking-toolbar-appearance.js +13 -12
  26. package/dist/es2019/ui/CaptionPlaceholder/index.js +4 -3
  27. package/dist/es2019/ui/ImageBorder/index.js +22 -20
  28. package/dist/es2019/ui/Media/DropPlaceholder.js +6 -5
  29. package/dist/es2019/ui/MediaLinkingToolbar.js +14 -13
  30. package/dist/es2019/ui/PixelEntry/index.js +17 -15
  31. package/dist/es2019/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.js +3 -1
  32. package/dist/es2019/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +5 -3
  33. package/dist/es2019/ui/ResizableMediaSingle/index.js +5 -3
  34. package/dist/es2019/utils/media-files.js +24 -3
  35. package/dist/es2019/utils/media-single.js +6 -2
  36. package/dist/esm/nodeviews/mediaInline.js +17 -1
  37. package/dist/esm/nodeviews/mediaSingle.js +12 -9
  38. package/dist/esm/nodeviews/styles.js +6 -5
  39. package/dist/esm/pm-plugins/alt-text/ui/AltTextEdit.js +17 -15
  40. package/dist/esm/toolbar/index.js +28 -1
  41. package/dist/esm/toolbar/layout-group.js +7 -6
  42. package/dist/esm/toolbar/linking-toolbar-appearance.js +13 -12
  43. package/dist/esm/ui/CaptionPlaceholder/index.js +4 -3
  44. package/dist/esm/ui/ImageBorder/index.js +22 -20
  45. package/dist/esm/ui/Media/DropPlaceholder.js +6 -5
  46. package/dist/esm/ui/MediaLinkingToolbar.js +14 -13
  47. package/dist/esm/ui/PixelEntry/index.js +17 -15
  48. package/dist/esm/ui/ResizableMediaSingle/ResizableMediaMigrationNotification.js +3 -1
  49. package/dist/esm/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +5 -3
  50. package/dist/esm/ui/ResizableMediaSingle/index.js +5 -3
  51. package/dist/esm/utils/media-files.js +24 -3
  52. package/dist/esm/utils/media-single.js +6 -3
  53. package/package.json +4 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @atlaskit/editor-plugin-media
2
2
 
3
+ ## 0.5.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#59047](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/59047) [`a792bec68ae3`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a792bec68ae3) - [ED-21288] Populate width and height ADF attributes on insertion for mediaInline node of image type.
8
+
9
+ ## 0.5.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#58884](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/58884) [`a149612dc46d`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a149612dc46d) - [ux] Added support for Media Inline Image Card in Editor and Renderer
14
+
15
+ ### Patch Changes
16
+
17
+ - [#59147](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/59147) [`f12e489f23b0`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/f12e489f23b0) - Re-build and deploy packages to NPM to resolve React/Compiled not found error (HOT-106483).
18
+ - [#56822](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/56822) [`77f4fbf44e93`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/77f4fbf44e93) - ECA11Y-78: Added announce for the selected file
19
+
3
20
  ## 0.4.10
4
21
 
5
22
  ### Patch Changes
@@ -18,9 +18,11 @@ 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 _hooks = require("@atlaskit/editor-common/hooks");
21
+ var _mediaInline = require("@atlaskit/editor-common/media-inline");
21
22
  var _providerFactory = require("@atlaskit/editor-common/provider-factory");
22
23
  var _selectionBasedNodeView = require("@atlaskit/editor-common/selection-based-node-view");
23
24
  var _mediaCard = require("@atlaskit/media-card");
25
+ var _mediaClientReact = require("@atlaskit/media-client-react");
24
26
  var _mediaUi = require("@atlaskit/media-ui");
25
27
  var _mediaNodeUpdater = require("./mediaNodeUpdater");
26
28
  var _styles = require("./styles");
@@ -157,7 +159,11 @@ var MediaInline = exports.MediaInline = function MediaInline(props) {
157
159
  }();
158
160
  var _props$node$attrs = props.node.attrs,
159
161
  id = _props$node$attrs.id,
160
- collection = _props$node$attrs.collection;
162
+ collection = _props$node$attrs.collection,
163
+ type = _props$node$attrs.type,
164
+ alt = _props$node$attrs.alt,
165
+ width = _props$node$attrs.width,
166
+ height = _props$node$attrs.height;
161
167
  var identifier = {
162
168
  id: id,
163
169
  mediaItemType: 'file',
@@ -177,6 +183,16 @@ var MediaInline = exports.MediaInline = function MediaInline(props) {
177
183
  isSelected: false
178
184
  });
179
185
  }
186
+ if ((0, _mediaInline.shouldShowInlineImage)(type)) {
187
+ return /*#__PURE__*/_react.default.createElement(_mediaInline.MediaInlineImageCard, {
188
+ mediaClient: (0, _mediaClientReact.getMediaClient)(viewMediaClientConfig),
189
+ identifier: identifier,
190
+ isSelected: props.isSelected,
191
+ alt: alt,
192
+ width: width,
193
+ height: height
194
+ });
195
+ }
180
196
  return /*#__PURE__*/_react.default.createElement(_mediaCard.MediaInlineCard, {
181
197
  isSelected: props.isSelected,
182
198
  identifier: identifier,
@@ -18,6 +18,7 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
18
18
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
19
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
20
  var _react = _interopRequireWildcard(require("react"));
21
+ var _react2 = require("@emotion/react");
21
22
  var _hooks = require("@atlaskit/editor-common/hooks");
22
23
  var _mediaSingle = require("@atlaskit/editor-common/media-single");
23
24
  var _providerFactory = require("@atlaskit/editor-common/provider-factory");
@@ -43,7 +44,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
43
44
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
44
45
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
45
46
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
46
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** @jsx jsx */
47
48
  // eslint-disable-next-line @repo/internal/react/no-class-components
48
49
  var MediaSingleNode = exports.default = /*#__PURE__*/function (_Component) {
49
50
  (0, _inherits2.default)(MediaSingleNode, _Component);
@@ -418,23 +419,23 @@ var MediaSingleNode = exports.default = /*#__PURE__*/function (_Component) {
418
419
  }
419
420
  }
420
421
  var shouldShowPlaceholder = mediaOptions.allowCaptions && node.childCount !== 2 && isSelected && state.selection instanceof _state.NodeSelection;
421
- var MediaChildren = /*#__PURE__*/_react.default.createElement("figure", {
422
+ var MediaChildren = (0, _react2.jsx)("figure", {
422
423
  ref: this.mediaSingleWrapperRef,
423
424
  css: [_styles.figureWrapper],
424
425
  className: _styles.MediaSingleNodeSelector,
425
426
  onClick: this.onMediaSingleClicked
426
- }, /*#__PURE__*/_react.default.createElement("div", {
427
+ }, (0, _react2.jsx)("div", {
427
428
  ref: this.props.forwardRef
428
- }), shouldShowPlaceholder && /*#__PURE__*/_react.default.createElement(_CaptionPlaceholder.default, {
429
+ }), shouldShowPlaceholder && (0, _react2.jsx)(_CaptionPlaceholder.default, {
429
430
  ref: this.captionPlaceHolderRef,
430
431
  onClick: this.clickPlaceholder
431
432
  }));
432
- return canResize ? (0, _platformFeatureFlags.getBooleanFF)('platform.editor.media.extended-resize-experience') ? /*#__PURE__*/_react.default.createElement(_ResizableMediaSingleNext.default, (0, _extends2.default)({}, resizableMediaSingleProps, {
433
+ return canResize ? (0, _platformFeatureFlags.getBooleanFF)('platform.editor.media.extended-resize-experience') ? (0, _react2.jsx)(_ResizableMediaSingleNext.default, (0, _extends2.default)({}, resizableMediaSingleProps, {
433
434
  showLegacyNotification: widthType !== 'pixel'
434
- }), MediaChildren) : /*#__PURE__*/_react.default.createElement(_ResizableMediaSingle.default, (0, _extends2.default)({}, resizableMediaSingleProps, {
435
+ }), MediaChildren) : (0, _react2.jsx)(_ResizableMediaSingle.default, (0, _extends2.default)({}, resizableMediaSingleProps, {
435
436
  lineLength: contentWidthForLegacyExperience,
436
437
  pctWidth: mediaSingleWidthAttribute
437
- }), MediaChildren) : /*#__PURE__*/_react.default.createElement(_ui.MediaSingle, (0, _extends2.default)({}, mediaSingleProps, {
438
+ }), MediaChildren) : (0, _react2.jsx)(_ui.MediaSingle, (0, _extends2.default)({}, mediaSingleProps, {
438
439
  pctWidth: mediaSingleWidthAttribute
439
440
  }), MediaChildren);
440
441
  }
@@ -461,7 +462,7 @@ var MediaSingleNodeWrapper = function MediaSingleNodeWrapper(_ref5) {
461
462
  var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['width', 'media']),
462
463
  widthState = _useSharedPluginState.widthState,
463
464
  mediaState = _useSharedPluginState.mediaState;
464
- return /*#__PURE__*/_react.default.createElement(MediaSingleNode, {
465
+ return (0, _react2.jsx)(MediaSingleNode, {
465
466
  width: widthState.width,
466
467
  lineLength: widthState.lineLength,
467
468
  node: node,
@@ -591,13 +592,13 @@ var MediaSingleNodeView = /*#__PURE__*/function (_ReactNodeView) {
591
592
 
592
593
  // getPos is a boolean for marks, since this is a node we know it must be a function
593
594
  var getPos = this.getPos;
594
- return /*#__PURE__*/_react.default.createElement(_providerFactory.WithProviders, {
595
+ return (0, _react2.jsx)(_providerFactory.WithProviders, {
595
596
  providers: ['mediaProvider', 'contextIdentifierProvider'],
596
597
  providerFactory: providerFactory,
597
598
  renderNode: function renderNode(_ref6) {
598
599
  var mediaProvider = _ref6.mediaProvider,
599
600
  contextIdentifierProvider = _ref6.contextIdentifierProvider;
600
- return /*#__PURE__*/_react.default.createElement(MediaSingleNodeWrapper, {
601
+ return (0, _react2.jsx)(MediaSingleNodeWrapper, {
601
602
  pluginInjectionApi: pluginInjectionApi,
602
603
  mediaProvider: mediaProvider,
603
604
  contextIdentifierProvider: contextIdentifierProvider,
@@ -10,6 +10,7 @@ var _react = _interopRequireDefault(require("react"));
10
10
  var _react2 = require("@emotion/react");
11
11
  var _ui = require("@atlaskit/editor-common/ui");
12
12
  var _templateObject, _templateObject2, _templateObject3;
13
+ /** @jsx jsx */
13
14
  var MediaInlineNodeSelector = exports.MediaInlineNodeSelector = 'media-inline-node';
14
15
  var MediaSingleNodeSelector = exports.MediaSingleNodeSelector = 'media-single-node';
15
16
  var figureWrapper = exports.figureWrapper = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n margin: 0;\n"])));
@@ -23,7 +24,7 @@ var MediaCardWrapper = exports.MediaCardWrapper = function MediaCardWrapper(_ref
23
24
  borderWidth = _ref$borderWidth === void 0 ? 0 : _ref$borderWidth,
24
25
  onContextMenu = _ref.onContextMenu;
25
26
  var calculatedBorderWidth = selected && borderWidth > 0 ? borderWidth + 1 : borderWidth;
26
- return /*#__PURE__*/_react.default.createElement("div", {
27
+ return (0, _react2.jsx)("div", {
27
28
  "data-testid": "media-card-wrapper",
28
29
  style: {
29
30
  borderColor: "var(--custom-palette-color)",
@@ -31,15 +32,15 @@ var MediaCardWrapper = exports.MediaCardWrapper = function MediaCardWrapper(_ref
31
32
  borderStyle: 'solid',
32
33
  borderRadius: "".concat(calculatedBorderWidth * 2, "px")
33
34
  }
34
- }, /*#__PURE__*/_react.default.createElement("div", {
35
+ }, (0, _react2.jsx)("div", {
35
36
  css: forcedDimensions,
36
37
  style: {
37
38
  paddingBottom: "".concat(dimensions.height / dimensions.width * 100, "%")
38
39
  },
39
40
  onContextMenuCapture: onContextMenu
40
- }, borderWidth > 0 && /*#__PURE__*/_react.default.createElement(_ui.MediaBorderGapFiller, {
41
+ }, borderWidth > 0 && (0, _react2.jsx)(_ui.MediaBorderGapFiller, {
41
42
  borderColor: "var(--custom-palette-color)"
42
- }), /*#__PURE__*/_react.default.createElement("div", {
43
+ }), (0, _react2.jsx)("div", {
43
44
  css: absoluteDiv
44
45
  }, children)));
45
46
  };
@@ -27,6 +27,7 @@ var _colors = require("@atlaskit/theme/colors");
27
27
  var _commands = require("../commands");
28
28
  var _messages = require("../messages");
29
29
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
30
+ /** @jsx jsx */
30
31
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
31
32
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
32
33
  var CONTAINER_WIDTH_IN_PX = exports.CONTAINER_WIDTH_IN_PX = _ui.RECENT_SEARCH_WIDTH_IN_PX;
@@ -145,31 +146,31 @@ var AltTextEditComponent = exports.AltTextEditComponent = /*#__PURE__*/function
145
146
  var formatMessage = this.props.intl.formatMessage;
146
147
  var showClearTextButton = this.state.showClearTextButton;
147
148
  var backButtonMessage = formatMessage(_messages.messages.back);
148
- var backButtonMessageComponent = /*#__PURE__*/_react.default.createElement(_keymaps.ToolTipContent, {
149
+ var backButtonMessageComponent = (0, _react2.jsx)(_keymaps.ToolTipContent, {
149
150
  description: backButtonMessage,
150
151
  keymap: _keymaps.escape,
151
152
  shortcutOverride: "Esc"
152
153
  });
153
154
  var errorsList = (this.state.validationErrors || []).map(function (error, index) {
154
- return /*#__PURE__*/_react.default.createElement(_ui.ErrorMessage, {
155
+ return (0, _react2.jsx)(_ui.ErrorMessage, {
155
156
  key: index
156
157
  }, error);
157
158
  });
158
159
  var hasErrors = !!errorsList.length;
159
- return /*#__PURE__*/_react.default.createElement("div", {
160
+ return (0, _react2.jsx)("div", {
160
161
  css: container
161
- }, /*#__PURE__*/_react.default.createElement("section", {
162
+ }, (0, _react2.jsx)("section", {
162
163
  css: inputWrapper
163
- }, /*#__PURE__*/_react.default.createElement("div", {
164
+ }, (0, _react2.jsx)("div", {
164
165
  css: buttonWrapper
165
- }, /*#__PURE__*/_react.default.createElement(_ui.FloatingToolbarButton, {
166
+ }, (0, _react2.jsx)(_ui.FloatingToolbarButton, {
166
167
  title: formatMessage(_messages.messages.back),
167
- icon: /*#__PURE__*/_react.default.createElement(_chevronLeftLarge.default, {
168
+ icon: (0, _react2.jsx)(_chevronLeftLarge.default, {
168
169
  label: formatMessage(_messages.messages.back)
169
170
  }),
170
171
  tooltipContent: backButtonMessageComponent,
171
172
  onClick: this.closeMediaAltTextMenu
172
- })), /*#__PURE__*/_react.default.createElement(_ui.PanelTextInput, {
173
+ })), (0, _react2.jsx)(_ui.PanelTextInput, {
173
174
  testId: "alt-text-input",
174
175
  ariaLabel: formatMessage(_messages.messages.placeholder),
175
176
  describedById: "".concat(hasErrors ? 'errors-list' : '', " support-text"),
@@ -183,24 +184,24 @@ var AltTextEditComponent = exports.AltTextEditComponent = /*#__PURE__*/function
183
184
  ariaRequired: true,
184
185
  ariaInvalid: hasErrors,
185
186
  autoFocus: true
186
- }), showClearTextButton && /*#__PURE__*/_react.default.createElement("div", {
187
+ }), showClearTextButton && (0, _react2.jsx)("div", {
187
188
  css: buttonWrapper
188
- }, /*#__PURE__*/_react.default.createElement(_ui.FloatingToolbarButton, {
189
+ }, (0, _react2.jsx)(_ui.FloatingToolbarButton, {
189
190
  testId: "alt-text-clear-button",
190
191
  title: formatMessage(_messages.messages.clear),
191
- icon: /*#__PURE__*/_react.default.createElement("span", {
192
+ icon: (0, _react2.jsx)("span", {
192
193
  css: clearText
193
- }, /*#__PURE__*/_react.default.createElement(_crossCircle.default, {
194
+ }, (0, _react2.jsx)(_crossCircle.default, {
194
195
  label: formatMessage(_messages.messages.clear)
195
196
  })),
196
197
  tooltipContent: formatMessage(_messages.messages.clear),
197
198
  onClick: this.handleClearText
198
- }))), hasErrors && /*#__PURE__*/_react.default.createElement("section", {
199
+ }))), hasErrors && (0, _react2.jsx)("section", {
199
200
  id: "errors-list",
200
201
  ref: this.errorsListRef,
201
202
  "aria-live": "assertive",
202
203
  css: validationWrapper
203
- }, errorsList), /*#__PURE__*/_react.default.createElement("p", {
204
+ }, errorsList), (0, _react2.jsx)("p", {
204
205
  css: supportText,
205
206
  id: "support-text"
206
207
  }, formatMessage(_messages.messages.supportText)));
@@ -44,6 +44,14 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
44
44
  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; }
45
45
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
46
46
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
47
+ var mediaTypeMessages = {
48
+ image: _mediaUi.messages.file_image_is_selected,
49
+ video: _mediaUi.messages.file_video_is_selected,
50
+ audio: _mediaUi.messages.file_audio_is_selected,
51
+ doc: _mediaUi.messages.file_doc_is_selected,
52
+ archive: _mediaUi.messages.file_archive_is_selected,
53
+ unknown: _mediaUi.messages.file_unknown_is_selected
54
+ };
47
55
  var remove = function remove(state, dispatch) {
48
56
  if (dispatch) {
49
57
  dispatch((0, _utils.removeSelectedNode)(state.tr));
@@ -393,6 +401,12 @@ var generateMediaSingleFloatingToolbar = function generateMediaSingleFloatingToo
393
401
  }, removeButton]);
394
402
  return items;
395
403
  };
404
+ var getMediaTypeMessage = function getMediaTypeMessage(selectedNodeTypeSingle) {
405
+ var mediaType = Object.keys(mediaTypeMessages).find(function (key) {
406
+ return selectedNodeTypeSingle === null || selectedNodeTypeSingle === void 0 ? void 0 : selectedNodeTypeSingle.includes(key);
407
+ });
408
+ return mediaType ? mediaTypeMessages[mediaType] : _mediaUi.messages.file_unknown_is_selected;
409
+ };
396
410
  var floatingToolbar = exports.floatingToolbar = function floatingToolbar(state, intl) {
397
411
  var _pluginInjectionApi$d2;
398
412
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
@@ -471,9 +485,22 @@ var floatingToolbar = exports.floatingToolbar = function floatingToolbar(state,
471
485
  };
472
486
  items = generateMediaSingleFloatingToolbar(state, intl, options, mediaPluginState, mediaLinkingState, pluginInjectionApi, getEditorFeatureFlags);
473
487
  }
488
+ var assistiveMessage = '';
489
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-media_er96o')) {
490
+ var selectedMediaSingleNode = (0, _utils2.getSelectedMediaSingle)(state);
491
+ if (selectedMediaSingleNode) {
492
+ var selectedMediaNode = selectedMediaSingleNode === null || selectedMediaSingleNode === void 0 ? void 0 : selectedMediaSingleNode.node.content.firstChild;
493
+ var selectedNodeTypeSingle = selectedMediaNode === null || selectedMediaNode === void 0 ? void 0 : selectedMediaNode.attrs.__fileMimeType;
494
+ var selectedMediaAlt = selectedMediaNode === null || selectedMediaNode === void 0 ? void 0 : selectedMediaNode.attrs.alt;
495
+ assistiveMessage = intl === null || intl === void 0 ? void 0 : intl.formatMessage(getMediaTypeMessage(selectedNodeTypeSingle), {
496
+ name: selectedMediaAlt
497
+ });
498
+ }
499
+ }
474
500
  var toolbarConfig = _objectSpread(_objectSpread({}, baseToolbar), {}, {
475
501
  items: items,
476
- scrollable: true
502
+ scrollable: true,
503
+ mediaAssistiveMessage: assistiveMessage
477
504
  });
478
505
  if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.media.extended-resize-experience') && allowResizing) {
479
506
  return _objectSpread(_objectSpread({}, toolbarConfig), {}, {
@@ -7,6 +7,8 @@ exports.LayoutGroup = void 0;
7
7
  var _react = require("@emotion/react");
8
8
  var _button = require("@atlaskit/button");
9
9
  var _ui = require("@atlaskit/editor-common/ui");
10
+ /** @jsx jsx */
11
+
10
12
  var containerStyles = (0, _react.css)({
11
13
  marginLeft: "var(--ds-space-100, 8px)"
12
14
  });
@@ -14,19 +16,19 @@ var LayoutGroup = exports.LayoutGroup = function LayoutGroup(_ref) {
14
16
  var layoutButtons = _ref.layoutButtons,
15
17
  dispatchCommand = _ref.dispatchCommand,
16
18
  hide = _ref.hide;
17
- return /*#__PURE__*/React.createElement("div", {
19
+ return (0, _react.jsx)("div", {
18
20
  css: containerStyles
19
- }, /*#__PURE__*/React.createElement(_button.ButtonGroup, null, layoutButtons.map(function (item, idx) {
21
+ }, (0, _react.jsx)(_button.ButtonGroup, null, layoutButtons.map(function (item, idx) {
20
22
  switch (item.type) {
21
23
  case 'separator':
22
- return /*#__PURE__*/React.createElement(_ui.FloatingToolbarSeparator, {
24
+ return (0, _react.jsx)(_ui.FloatingToolbarSeparator, {
23
25
  key: idx
24
26
  });
25
27
  case 'button':
26
28
  var ButtonIcon = item.icon;
27
- return /*#__PURE__*/React.createElement(_ui.FloatingToolbarButton, {
29
+ return (0, _react.jsx)(_ui.FloatingToolbarButton, {
28
30
  key: idx,
29
- icon: item.icon ? /*#__PURE__*/React.createElement(ButtonIcon, {
31
+ icon: item.icon ? (0, _react.jsx)(ButtonIcon, {
30
32
  label: item.title
31
33
  }) : undefined,
32
34
  title: item.title,
@@ -20,6 +20,7 @@ var _pluginKey = require("../pm-plugins/plugin-key");
20
20
  var _checkMediaType = require("../utils/check-media-type");
21
21
  var _currentMediaNode = require("../utils/current-media-node");
22
22
  var _templateObject;
23
+ /** @jsx jsx */
23
24
  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); }
24
25
  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; }
25
26
  // need this wrapper, need to have 4px between items.
@@ -58,42 +59,42 @@ var LinkToolbarAppearance = exports.LinkToolbarAppearance = function LinkToolbar
58
59
  var isValidUrl = (0, _adfSchema.isSafeUrl)(mediaLinkingState.link);
59
60
  var title = intl.formatMessage(_messages.linkToolbarMessages.editLink);
60
61
  var linkTitle = intl.formatMessage(isValidUrl ? _messages.linkMessages.openLink : _messages.linkToolbarMessages.unableToOpenLink);
61
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
62
+ return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)("div", {
62
63
  css: wrapper
63
- }, /*#__PURE__*/_react.default.createElement(_ui.FloatingToolbarButton, {
64
+ }, (0, _react2.jsx)(_ui.FloatingToolbarButton, {
64
65
  onClick: onEditLink,
65
66
  title: title,
66
- tooltipContent: /*#__PURE__*/_react.default.createElement(_keymaps.ToolTipContent, {
67
+ tooltipContent: (0, _react2.jsx)(_keymaps.ToolTipContent, {
67
68
  description: title,
68
69
  keymap: _keymaps.addLink
69
70
  }),
70
71
  testId: "edit-link-button"
71
- }, title)), /*#__PURE__*/_react.default.createElement("div", {
72
+ }, title)), (0, _react2.jsx)("div", {
72
73
  css: wrapper
73
- }, /*#__PURE__*/_react.default.createElement(_ui.FloatingToolbarSeparator, null)), /*#__PURE__*/_react.default.createElement(_ui.FloatingToolbarButton, {
74
+ }, (0, _react2.jsx)(_ui.FloatingToolbarSeparator, null)), (0, _react2.jsx)(_ui.FloatingToolbarButton, {
74
75
  target: "_blank",
75
76
  href: isValidUrl ? mediaLinkingState.link : undefined,
76
77
  disabled: !isValidUrl,
77
78
  onClick: onOpenLink,
78
79
  title: linkTitle,
79
- icon: /*#__PURE__*/_react.default.createElement(_shortcut.default, {
80
+ icon: (0, _react2.jsx)(_shortcut.default, {
80
81
  label: linkTitle
81
82
  }),
82
83
  className: "hyperlink-open-link"
83
- }), /*#__PURE__*/_react.default.createElement(_ui.FloatingToolbarSeparator, null));
84
+ }), (0, _react2.jsx)(_ui.FloatingToolbarSeparator, null));
84
85
  } else {
85
86
  var _title = intl.formatMessage(_messages.linkToolbarMessages.addLink);
86
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_ui.FloatingToolbarButton, {
87
+ return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_ui.FloatingToolbarButton, {
87
88
  testId: "add-link-button",
88
89
  onClick: onAddLink,
89
90
  title: _title,
90
- tooltipContent: /*#__PURE__*/_react.default.createElement(_keymaps.ToolTipContent, {
91
+ tooltipContent: (0, _react2.jsx)(_keymaps.ToolTipContent, {
91
92
  description: _title,
92
93
  keymap: _keymaps.addLink
93
94
  }),
94
- icon: /*#__PURE__*/_react.default.createElement(_link.default, {
95
+ icon: (0, _react2.jsx)(_link.default, {
95
96
  label: _title
96
97
  })
97
- }), /*#__PURE__*/_react.default.createElement(_ui.FloatingToolbarSeparator, null));
98
+ }), (0, _react2.jsx)(_ui.FloatingToolbarSeparator, null));
98
99
  }
99
100
  };
@@ -13,14 +13,15 @@ var _mediaSingle = require("@atlaskit/editor-common/media-single");
13
13
  var _colors = require("@atlaskit/theme/colors");
14
14
  var _messages = require("./messages");
15
15
  var _templateObject;
16
+ /** @jsx jsx */
16
17
  var placeholder = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n width: 100%;\n text-align: center;\n margin-top: ", " !important;\n display: block;\n"])), "var(--ds-text-subtlest, ".concat(_colors.N200, ")"), "var(--ds-space-100, 8px)");
17
18
  var _default = exports.default = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
18
19
  var onClick = _ref.onClick;
19
- return /*#__PURE__*/_react.default.createElement("span", {
20
+ return (0, _react2.jsx)("span", {
20
21
  ref: ref,
21
22
  css: placeholder,
22
23
  onClick: onClick,
23
24
  "data-id": _mediaSingle.CAPTION_PLACEHOLDER_ID,
24
25
  "data-testid": "caption-placeholder"
25
- }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.placeholder));
26
+ }, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _messages.messages.placeholder));
26
27
  });
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _react = require("react");
10
+ var _react2 = require("@emotion/react");
10
11
  var _icons = require("@atlaskit/editor-common/icons");
11
12
  var _styles = require("@atlaskit/editor-common/styles");
12
13
  var _ui = require("@atlaskit/editor-common/ui");
@@ -17,6 +18,8 @@ var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-
17
18
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
18
19
  var _messages = require("./messages");
19
20
  var _styles2 = require("./styles");
21
+ /** @jsx jsx */
22
+
20
23
  var ImageBorder = function ImageBorder(_ref) {
21
24
  var formatMessage = _ref.intl.formatMessage,
22
25
  toggleBorder = _ref.toggleBorder,
@@ -62,14 +65,14 @@ var ImageBorder = function ImageBorder(_ref) {
62
65
  value: {
63
66
  name: 'color'
64
67
  },
65
- elemAfter: /*#__PURE__*/React.createElement("div", {
68
+ elemAfter: (0, _react2.jsx)("div", {
66
69
  className: _styles.DropdownMenuSharedCssClassName.SUBMENU
67
- }, /*#__PURE__*/React.createElement("div", {
70
+ }, (0, _react2.jsx)("div", {
68
71
  css: (0, _styles2.contextualMenuColorIcon)(color && (0, _editorPalette.hexToEditorBorderPaletteColor)(color))
69
- }), isColorSubmenuOpen && /*#__PURE__*/React.createElement("div", {
72
+ }), isColorSubmenuOpen && (0, _react2.jsx)("div", {
70
73
  css: (0, _styles2.contextualSubMenu)(0),
71
74
  ref: handleSubMenuRef
72
- }, /*#__PURE__*/React.createElement(_uiColor.ColorPalette, {
75
+ }, (0, _react2.jsx)(_uiColor.ColorPalette, {
73
76
  onClick: function onClick(color) {
74
77
  setBorder({
75
78
  color: color
@@ -88,22 +91,22 @@ var ImageBorder = function ImageBorder(_ref) {
88
91
  value: {
89
92
  name: 'size'
90
93
  },
91
- elemAfter: /*#__PURE__*/React.createElement("div", {
94
+ elemAfter: (0, _react2.jsx)("div", {
92
95
  className: _styles.DropdownMenuSharedCssClassName.SUBMENU
93
- }, /*#__PURE__*/React.createElement("div", {
96
+ }, (0, _react2.jsx)("div", {
94
97
  css: _styles2.contextualMenuArrow
95
- }), isSizeSubmenuOpen && /*#__PURE__*/React.createElement("div", {
98
+ }), isSizeSubmenuOpen && (0, _react2.jsx)("div", {
96
99
  css: (0, _styles2.contextualSubMenu)(1),
97
100
  ref: handleSubMenuRef
98
101
  }, borderSizeOptions.map(function (_ref2, idx) {
99
102
  var name = _ref2.name,
100
103
  value = _ref2.value;
101
- return /*#__PURE__*/React.createElement(_tooltip.default, {
104
+ return (0, _react2.jsx)(_tooltip.default, {
102
105
  key: idx,
103
106
  content: name
104
- }, /*#__PURE__*/React.createElement("span", {
107
+ }, (0, _react2.jsx)("span", {
105
108
  css: _styles2.buttonWrapperStyle
106
- }, /*#__PURE__*/React.createElement("button", {
109
+ }, (0, _react2.jsx)("button", {
107
110
  css: (0, _styles2.buttonStyle)(value === size),
108
111
  "aria-label": name,
109
112
  role: "radio",
@@ -117,7 +120,7 @@ var ImageBorder = function ImageBorder(_ref) {
117
120
  onMouseDown: function onMouseDown(e) {
118
121
  e.preventDefault();
119
122
  }
120
- }, /*#__PURE__*/React.createElement("div", {
123
+ }, (0, _react2.jsx)("div", {
121
124
  css: (0, _styles2.line)(value, value === size),
122
125
  role: "presentation"
123
126
  }))));
@@ -131,47 +134,47 @@ var ImageBorder = function ImageBorder(_ref) {
131
134
  var fitTolerance = 10;
132
135
  var fitWidth = _styles2.menuItemDimensions.width;
133
136
  var fitHeight = items.length * (_styles2.menuItemDimensions.height + _styles2.itemSpacing);
134
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
137
+ return (0, _react2.jsx)("div", null, (0, _react2.jsx)("div", {
135
138
  css: (0, _styles2.toolbarButtonWrapper)({
136
139
  enabled: enabled,
137
140
  isOpen: isOpen
138
141
  })
139
- }, /*#__PURE__*/React.createElement(_uiMenu.ToolbarButton, {
142
+ }, (0, _react2.jsx)(_uiMenu.ToolbarButton, {
140
143
  className: "image-border-toolbar-btn",
141
144
  selected: enabled,
142
145
  onClick: toggleBorder,
143
146
  spacing: "compact",
144
147
  "aria-label": enabled ? formatMessage(_messages.messages.removeBorder) : formatMessage(_messages.messages.addBorder),
145
- iconBefore: /*#__PURE__*/React.createElement(_icons.BorderIcon, {
148
+ iconBefore: (0, _react2.jsx)(_icons.BorderIcon, {
146
149
  label: ""
147
150
  }),
148
151
  title: enabled ? formatMessage(_messages.messages.removeBorder) : formatMessage(_messages.messages.addBorder)
149
- }), /*#__PURE__*/React.createElement("div", {
152
+ }), (0, _react2.jsx)("div", {
150
153
  ref: popupTarget
151
- }, /*#__PURE__*/React.createElement(_uiMenu.ToolbarButton, {
154
+ }, (0, _react2.jsx)(_uiMenu.ToolbarButton, {
152
155
  className: "image-border-toolbar-dropdown",
153
156
  selected: enabled || isOpen,
154
157
  "aria-label": formatMessage(_messages.messages.borderOptions),
155
158
  title: formatMessage(_messages.messages.borderOptions),
156
159
  spacing: "compact",
157
- iconBefore: /*#__PURE__*/React.createElement(_chevronDown.default, {
160
+ iconBefore: (0, _react2.jsx)(_chevronDown.default, {
158
161
  label: ""
159
162
  }),
160
163
  onClick: function onClick() {
161
164
  setIsOpen(!isOpen);
162
165
  }
163
- }))), /*#__PURE__*/React.createElement(_ui.Popup, {
166
+ }))), (0, _react2.jsx)(_ui.Popup, {
164
167
  target: popupTarget.current ? popupTarget.current : undefined,
165
168
  fitWidth: fitWidth + fitTolerance,
166
169
  fitHeight: fitHeight + fitTolerance,
167
170
  forcePlacement: true,
168
171
  stick: true
169
- }, /*#__PURE__*/React.createElement("div", {
172
+ }, (0, _react2.jsx)("div", {
170
173
  onMouseLeave: function onMouseLeave() {
171
174
  setIsColorSubmenuOpen(false);
172
175
  setIsSizeSubmenuOpen(false);
173
176
  }
174
- }, /*#__PURE__*/React.createElement(_uiMenu.DropdownMenu
177
+ }, (0, _react2.jsx)(_uiMenu.DropdownMenu
175
178
  //This needs be removed when the a11y is completely handled
176
179
  //Disabling key navigation now as it works only partially
177
180
  //Same with packages/editor/editor-plugin-table/src/plugins/table/ui/FloatingContextualMenu/ContextualMenu.tsx
@@ -15,14 +15,15 @@ var _constants = require("@atlaskit/theme/constants");
15
15
  var _media = require("../../nodeviews/mediaNodeView/media");
16
16
  var _dropPlaceholderMessages = require("./drop-placeholder-messages");
17
17
  var _templateObject, _templateObject2;
18
+ /** @jsx jsx */
18
19
  var iconWrapper = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n background: ", ";\n border-radius: ", "px;\n margin: 5px 3px 25px;\n width: ", "px;\n min-height: ", "px;\n display: flex;\n align-items: center;\n justify-content: center;\n"])), "var(--ds-icon-accent-blue, ".concat((0, _adfSchema.hexToRgba)(_colors.B400, 0.4) || _colors.B400, ")"), "var(--ds-background-accent-blue-subtle, ".concat((0, _adfSchema.hexToRgba)(_colors.B300, 0.6) || _colors.B300, ")"), (0, _constants.borderRadius)(), _media.FILE_WIDTH, _media.MEDIA_HEIGHT);
19
20
  var dropLine = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n background: ", ";\n border-radius: ", "px;\n margin: ", " 0;\n width: 100%;\n height: 2px;\n"])), "var(--ds-border-focused, ".concat(_colors.B200, ")"), (0, _constants.borderRadius)(), "var(--ds-space-025, 2px)");
20
21
  var IconWrapperComponent = function IconWrapperComponent(props) {
21
22
  var intl = props.intl;
22
23
  var dropPlaceholderLabel = _dropPlaceholderMessages.dropPlaceholderMessages.dropPlaceholderLabel;
23
- return /*#__PURE__*/React.createElement("div", {
24
+ return (0, _react.jsx)("div", {
24
25
  css: iconWrapper
25
- }, /*#__PURE__*/React.createElement(_documentFilled.default, {
26
+ }, (0, _react.jsx)(_documentFilled.default, {
26
27
  label: intl.formatMessage(dropPlaceholderLabel),
27
28
  size: "medium"
28
29
  }));
@@ -31,7 +32,7 @@ var IntlIconWrapper = (0, _reactIntlNext.injectIntl)(IconWrapperComponent);
31
32
  var _default = exports.default = function _default(_ref) {
32
33
  var _ref$type = _ref.type,
33
34
  type = _ref$type === void 0 ? 'group' : _ref$type;
34
- return type === 'single' ? /*#__PURE__*/React.createElement("div", {
35
+ return type === 'single' ? (0, _react.jsx)("div", {
35
36
  css: dropLine
36
- }) : /*#__PURE__*/React.createElement(IntlIconWrapper, null);
37
+ }) : (0, _react.jsx)(IntlIconWrapper, null);
37
38
  };