@atlaskit/editor-common 87.11.0 → 87.12.0

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 (41) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/media/index.js +8 -1
  3. package/dist/cjs/media/messages/externalMedia.js +14 -0
  4. package/dist/cjs/media-single/CommentBadge.js +5 -4
  5. package/dist/cjs/media-single/ExternalImageBadge.js +78 -0
  6. package/dist/cjs/media-single/index.js +8 -1
  7. package/dist/cjs/messages/media-insert.js +10 -0
  8. package/dist/cjs/monitoring/error.js +1 -1
  9. package/dist/cjs/ui/DropList/index.js +1 -1
  10. package/dist/cjs/ui/MediaSingle/styled.js +1 -1
  11. package/dist/es2019/media/index.js +2 -1
  12. package/dist/es2019/media/messages/externalMedia.js +8 -0
  13. package/dist/es2019/media-single/CommentBadge.js +6 -5
  14. package/dist/es2019/media-single/ExternalImageBadge.js +64 -0
  15. package/dist/es2019/media-single/index.js +2 -1
  16. package/dist/es2019/messages/media-insert.js +10 -0
  17. package/dist/es2019/monitoring/error.js +1 -1
  18. package/dist/es2019/ui/DropList/index.js +1 -1
  19. package/dist/es2019/ui/MediaSingle/styled.js +1 -1
  20. package/dist/esm/media/index.js +2 -1
  21. package/dist/esm/media/messages/externalMedia.js +8 -0
  22. package/dist/esm/media-single/CommentBadge.js +5 -4
  23. package/dist/esm/media-single/ExternalImageBadge.js +68 -0
  24. package/dist/esm/media-single/index.js +2 -1
  25. package/dist/esm/messages/media-insert.js +10 -0
  26. package/dist/esm/monitoring/error.js +1 -1
  27. package/dist/esm/ui/DropList/index.js +1 -1
  28. package/dist/esm/ui/MediaSingle/styled.js +1 -1
  29. package/dist/types/media/index.d.ts +1 -0
  30. package/dist/types/media/messages/externalMedia.d.ts +7 -0
  31. package/dist/types/media-single/CommentBadge.d.ts +2 -2
  32. package/dist/types/media-single/ExternalImageBadge.d.ts +9 -0
  33. package/dist/types/media-single/index.d.ts +1 -0
  34. package/dist/types/messages/media-insert.d.ts +10 -0
  35. package/dist/types-ts4.5/media/index.d.ts +1 -0
  36. package/dist/types-ts4.5/media/messages/externalMedia.d.ts +7 -0
  37. package/dist/types-ts4.5/media-single/CommentBadge.d.ts +2 -2
  38. package/dist/types-ts4.5/media-single/ExternalImageBadge.d.ts +9 -0
  39. package/dist/types-ts4.5/media-single/index.d.ts +1 -0
  40. package/dist/types-ts4.5/messages/media-insert.d.ts +10 -0
  41. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 87.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#129457](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/129457)
8
+ [`171c73d4033f0`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/171c73d4033f0) -
9
+ [ux] [ED-24566]
10
+
11
+ - Internationalisation strings in editor-common for editor-plugin-media-insert
12
+ - Removed default pre-filled URL for editor-plugin-media-insert popup
13
+ - Added background color for editor-plugin-media-insert popup
14
+
15
+ - [#130065](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/130065)
16
+ [`e71a357ea40dd`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/e71a357ea40dd) -
17
+ [ux] [ED-24323] Add external image badge for externally hosted images
18
+
3
19
  ## 87.11.0
4
20
 
5
21
  ### Minor Changes
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "dropPlaceholderMessages", {
27
27
  return _dropPlaceholder.dropPlaceholderMessages;
28
28
  }
29
29
  });
30
+ Object.defineProperty(exports, "externalMediaMessages", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _externalMedia.externalMediaMessages;
34
+ }
35
+ });
30
36
  Object.defineProperty(exports, "imageBorderMessages", {
31
37
  enumerable: true,
32
38
  get: function get() {
@@ -72,4 +78,5 @@ var _caption = require("./messages/caption");
72
78
  var _dropPlaceholder = require("./messages/dropPlaceholder");
73
79
  var _altText = require("./messages/altText");
74
80
  var _mediaResizeAnnouncerMess = require("./messages/mediaResizeAnnouncerMess");
75
- var _comments = require("./messages/comments");
81
+ var _comments = require("./messages/comments");
82
+ var _externalMedia = require("./messages/externalMedia");
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.externalMediaMessages = void 0;
7
+ var _reactIntlNext = require("react-intl-next");
8
+ var externalMediaMessages = exports.externalMediaMessages = (0, _reactIntlNext.defineMessages)({
9
+ externalMediaFile: {
10
+ id: 'fabric.editor.externalMediaFile',
11
+ defaultMessage: 'External media file',
12
+ description: 'External media file'
13
+ }
14
+ });
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.CommentBadge = void 0;
7
+ exports.getBadgeSize = exports.CommentBadge = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _react = require("react");
10
10
  var _react2 = require("@emotion/react");
@@ -38,11 +38,11 @@ var commentBadgeEditorOverrides = function commentBadgeEditorOverrides(commentsO
38
38
  zIndex: _constants.layers.card()
39
39
  });
40
40
  };
41
- var getBadgeSize = function getBadgeSize(width, height) {
41
+ var getBadgeSize = exports.getBadgeSize = function getBadgeSize(width, height) {
42
42
  // width is the original width of image, not resized or currently rendered to user. Defaulting to medium for now
43
43
  return width && width < 70 || height && height < 70 ? 'small' : 'medium';
44
44
  };
45
- var CommentBadge = exports.CommentBadge = function CommentBadge(_ref) {
45
+ var CommentBadge = exports.CommentBadge = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
46
46
  var intl = _ref.intl,
47
47
  width = _ref.width,
48
48
  height = _ref.height,
@@ -87,6 +87,7 @@ var CommentBadge = exports.CommentBadge = function CommentBadge(_ref) {
87
87
  }
88
88
  }, [status]);
89
89
  return (0, _react2.jsx)("div", {
90
+ ref: ref,
90
91
  css: badgeOffsetRight ? [commentBadgeWrapper,
91
92
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
92
93
  commentBadgeEditorOverrides(commentsOnMediaBugFixEnabled, badgeOffsetRight)] : commentBadgeWrapper
@@ -119,4 +120,4 @@ var CommentBadge = exports.CommentBadge = function CommentBadge(_ref) {
119
120
  size: badgeSize
120
121
  })
121
122
  })));
122
- };
123
+ });
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ExternalImageBadge = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
12
+ var _reactIntlNext = require("react-intl-next");
13
+ var _info = _interopRequireDefault(require("@atlaskit/icon/glyph/info"));
14
+ var _primitives = require("@atlaskit/primitives");
15
+ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
16
+ var _media = require("../media");
17
+ var _CommentBadge = require("./CommentBadge");
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ var baseStyles = (0, _primitives.xcss)({
21
+ position: 'absolute',
22
+ top: 'space.025',
23
+ borderRadius: 'border.radius',
24
+ backgroundColor: 'elevation.surface',
25
+ zIndex: 'tooltip',
26
+ lineHeight: "var(--ds-space-200, 16px)",
27
+ right: 'var(--right-offset)',
28
+ cursor: 'pointer'
29
+ });
30
+ var ExternalImageBadge = exports.ExternalImageBadge = function ExternalImageBadge(_ref) {
31
+ var mediaWidth = _ref.mediaWidth,
32
+ mediaHeight = _ref.mediaHeight,
33
+ _ref$commentBadgeRigh = _ref.commentBadgeRightOffset,
34
+ commentBadgeRightOffset = _ref$commentBadgeRigh === void 0 ? 0 : _ref$commentBadgeRigh,
35
+ mediaElement = _ref.mediaElement;
36
+ var intl = (0, _reactIntlNext.useIntl)();
37
+ var message = intl.formatMessage(_media.externalMediaMessages.externalMediaFile);
38
+ var _useState = (0, _react.useState)((0, _CommentBadge.getBadgeSize)(mediaWidth, mediaHeight)),
39
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
40
+ badgeSize = _useState2[0],
41
+ setBadgeSize = _useState2[1];
42
+ // detect resize of media element to adjust badge size
43
+ // will combine with the comment badge resize observer when refactoring in the future to avoid multiple resize observers
44
+ (0, _react.useEffect)(function () {
45
+ var observer = new ResizeObserver((0, _debounce.default)(function (entries) {
46
+ var _entries = (0, _slicedToArray2.default)(entries, 1),
47
+ entry = _entries[0];
48
+ var _entry$contentRect = entry.contentRect,
49
+ width = _entry$contentRect.width,
50
+ height = _entry$contentRect.height;
51
+ setBadgeSize((0, _CommentBadge.getBadgeSize)(width, height));
52
+ }));
53
+ if (mediaElement) {
54
+ observer.observe(mediaElement);
55
+ }
56
+ return function () {
57
+ observer.disconnect();
58
+ };
59
+ }, [mediaElement]);
60
+ var baseRightOffset = badgeSize === 'medium' ? 4 : 2;
61
+ var rightOffset = baseRightOffset + commentBadgeRightOffset;
62
+ return /*#__PURE__*/_react.default.createElement(_primitives.Box
63
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
64
+ , {
65
+ style: {
66
+ '--right-offset': "".concat(rightOffset, "px")
67
+ },
68
+ padding: badgeSize === 'medium' ? 'space.050' : 'space.0',
69
+ "data-external-image-badge": "true",
70
+ xcss: baseStyles,
71
+ tabIndex: 0
72
+ }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
73
+ content: message
74
+ }, /*#__PURE__*/_react.default.createElement(_info.default, {
75
+ size: "small",
76
+ label: message
77
+ })));
78
+ };
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "DEFAULT_IMAGE_WIDTH", {
27
27
  return _constants.DEFAULT_IMAGE_WIDTH;
28
28
  }
29
29
  });
30
+ Object.defineProperty(exports, "ExternalImageBadge", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _ExternalImageBadge.ExternalImageBadge;
34
+ }
35
+ });
30
36
  Object.defineProperty(exports, "MEDIA_SINGLE_DEFAULT_MIN_PIXEL_WIDTH", {
31
37
  enumerable: true,
32
38
  get: function get() {
@@ -137,4 +143,5 @@ Object.defineProperty(exports, "wrappedLayouts", {
137
143
  });
138
144
  var _constants = require("./constants");
139
145
  var _utils = require("./utils");
140
- var _CommentBadge = require("./CommentBadge");
146
+ var _CommentBadge = require("./CommentBadge");
147
+ var _ExternalImageBadge = require("./ExternalImageBadge");
@@ -40,5 +40,15 @@ var mediaInsertMessages = exports.mediaInsertMessages = (0, _reactIntlNext.defin
40
40
  id: 'fabric.editor.media.insert.mediaAlt',
41
41
  defaultMessage: 'Preview for uploaded image or video file',
42
42
  description: 'Alt text describing a preview of an image uploaded.'
43
+ },
44
+ linkTabTitle: {
45
+ id: 'fabric.editor.media.insert.linkTabTitle',
46
+ defaultMessage: 'Link',
47
+ description: 'Title of the navigation tab that allows users to insert media from a URL or link'
48
+ },
49
+ mediaPickerPopupAriaLabel: {
50
+ id: 'fabric.editor.media.insert.mediaPickerPopupAriaLabel',
51
+ defaultMessage: 'Media picker',
52
+ description: 'Accessibility label for the media picker popup'
43
53
  }
44
54
  });
@@ -17,7 +17,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
17
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
18
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
19
19
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
20
- var packageVersion = "87.11.0";
20
+ var packageVersion = "87.12.0";
21
21
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
22
22
  // Remove URL as it has UGC
23
23
  // TODO: Sanitise the URL instead of just removing it
@@ -23,7 +23,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
23
23
  * @jsx jsx
24
24
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
25
25
  var packageName = "@atlaskit/editor-common";
26
- var packageVersion = "87.11.0";
26
+ var packageVersion = "87.12.0";
27
27
  var halfFocusRing = 1;
28
28
  var dropOffset = '0, 8';
29
29
  var DropList = /*#__PURE__*/function (_Component) {
@@ -184,7 +184,7 @@ var RenderFallbackContainer = function RenderFallbackContainer(_ref2) {
184
184
 
185
185
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Needs manual remediation
186
186
  var mediaWrapperStyle = exports.mediaWrapperStyle = function mediaWrapperStyle(props) {
187
- return (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n\tposition: relative;\n\n\t", "\n\n\t/* Editor */\n & > figure {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t// Comments on media project adds comment badge as child of the media wrapper,\n\t// thus we need to exclude it so that style is applied to intended div\n\t& > div:not([data-comment-badge='true']) {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t& * [data-mark-annotation-type='inlineComment'] {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t&[data-node-type='embedCard'] > div {\n\t\twidth: 100%;\n\t}\n\n\t/* Renderer */\n\t[data-node-type='media'] {\n\t\tposition: static !important;\n\n\t\t> div {\n\t\t\tposition: absolute;\n\t\t\theight: 100%;\n\t\t}\n\t}\n"])), RenderFallbackContainer(props), props.hasFallbackContainer ? 'absolute' : 'relative', props.hasFallbackContainer ? 'absolute' : 'relative');
187
+ return (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n\tposition: relative;\n\n\t", "\n\n\t/* Editor */\n & > figure {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t// Comments on media project adds comment badge as child of the media wrapper,\n\t// thus we need to exclude it so that style is applied to intended div\n\t& > div:not([data-comment-badge='true'], [data-external-image-badge='true']) {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t& * [data-mark-annotation-type='inlineComment'] {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t&[data-node-type='embedCard'] > div {\n\t\twidth: 100%;\n\t}\n\n\t/* Renderer */\n\t[data-node-type='media'] {\n\t\tposition: static !important;\n\n\t\t> div {\n\t\t\tposition: absolute;\n\t\t\theight: 100%;\n\t\t}\n\t}\n"])), RenderFallbackContainer(props), props.hasFallbackContainer ? 'absolute' : 'relative', props.hasFallbackContainer ? 'absolute' : 'relative');
188
188
  };
189
189
  var MediaWrapper = exports.MediaWrapper = function MediaWrapper(_ref3) {
190
190
  var children = _ref3.children,
@@ -7,4 +7,5 @@ export { captionMessages } from './messages/caption';
7
7
  export { dropPlaceholderMessages } from './messages/dropPlaceholder';
8
8
  export { altTextMessages } from './messages/altText';
9
9
  export { mediaResizeAnnouncerMessMessages } from './messages/mediaResizeAnnouncerMess';
10
- export { commentMessages } from './messages/comments';
10
+ export { commentMessages } from './messages/comments';
11
+ export { externalMediaMessages } from './messages/externalMedia';
@@ -0,0 +1,8 @@
1
+ import { defineMessages } from 'react-intl-next';
2
+ export const externalMediaMessages = defineMessages({
3
+ externalMediaFile: {
4
+ id: 'fabric.editor.externalMediaFile',
5
+ defaultMessage: 'External media file',
6
+ description: 'External media file'
7
+ }
8
+ });
@@ -2,7 +2,7 @@
2
2
  * @jsxRuntime classic
3
3
  * @jsx jsx
4
4
  */
5
- import { useEffect, useMemo, useState } from 'react';
5
+ import { forwardRef, useEffect, useMemo, useState } from 'react';
6
6
 
7
7
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
8
8
  import { css, jsx } from '@emotion/react';
@@ -27,11 +27,11 @@ const commentBadgeEditorOverrides = (commentsOnMediaBugFixEnabled, badgeOffsetRi
27
27
  right: commentsOnMediaBugFixEnabled ? badgeOffsetRight : '14px',
28
28
  zIndex: layers.card()
29
29
  });
30
- const getBadgeSize = (width, height) => {
30
+ export const getBadgeSize = (width, height) => {
31
31
  // width is the original width of image, not resized or currently rendered to user. Defaulting to medium for now
32
32
  return width && width < 70 || height && height < 70 ? 'small' : 'medium';
33
33
  };
34
- export const CommentBadge = ({
34
+ export const CommentBadge = /*#__PURE__*/forwardRef(({
35
35
  intl,
36
36
  width,
37
37
  height,
@@ -42,7 +42,7 @@ export const CommentBadge = ({
42
42
  onMouseLeave,
43
43
  badgeOffsetRight,
44
44
  commentsOnMediaBugFixEnabled
45
- }) => {
45
+ }, ref) => {
46
46
  const [badgeSize, setBadgeSize] = useState(getBadgeSize(width, height));
47
47
  const title = intl.formatMessage(messages.viewCommentsOnMedia);
48
48
  useEffect(() => {
@@ -73,6 +73,7 @@ export const CommentBadge = ({
73
73
  }
74
74
  }, [status]);
75
75
  return jsx("div", {
76
+ ref: ref,
76
77
  css: badgeOffsetRight ? [commentBadgeWrapper,
77
78
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
78
79
  commentBadgeEditorOverrides(commentsOnMediaBugFixEnabled, badgeOffsetRight)] : commentBadgeWrapper
@@ -105,4 +106,4 @@ export const CommentBadge = ({
105
106
  size: badgeSize
106
107
  })
107
108
  })));
108
- };
109
+ });
@@ -0,0 +1,64 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import debounce from 'lodash/debounce';
3
+ import { useIntl } from 'react-intl-next';
4
+ import InfoIcon from '@atlaskit/icon/glyph/info';
5
+ import { Box, xcss } from '@atlaskit/primitives';
6
+ import Tooltip from '@atlaskit/tooltip';
7
+ import { externalMediaMessages } from '../media';
8
+ import { getBadgeSize } from './CommentBadge';
9
+ const baseStyles = xcss({
10
+ position: 'absolute',
11
+ top: 'space.025',
12
+ borderRadius: 'border.radius',
13
+ backgroundColor: 'elevation.surface',
14
+ zIndex: 'tooltip',
15
+ lineHeight: "var(--ds-space-200, 16px)",
16
+ right: 'var(--right-offset)',
17
+ cursor: 'pointer'
18
+ });
19
+ export const ExternalImageBadge = ({
20
+ mediaWidth,
21
+ mediaHeight,
22
+ commentBadgeRightOffset = 0,
23
+ mediaElement
24
+ }) => {
25
+ const intl = useIntl();
26
+ const message = intl.formatMessage(externalMediaMessages.externalMediaFile);
27
+ const [badgeSize, setBadgeSize] = useState(getBadgeSize(mediaWidth, mediaHeight));
28
+ // detect resize of media element to adjust badge size
29
+ // will combine with the comment badge resize observer when refactoring in the future to avoid multiple resize observers
30
+ useEffect(() => {
31
+ const observer = new ResizeObserver(debounce(entries => {
32
+ const [entry] = entries;
33
+ const {
34
+ width,
35
+ height
36
+ } = entry.contentRect;
37
+ setBadgeSize(getBadgeSize(width, height));
38
+ }));
39
+ if (mediaElement) {
40
+ observer.observe(mediaElement);
41
+ }
42
+ return () => {
43
+ observer.disconnect();
44
+ };
45
+ }, [mediaElement]);
46
+ const baseRightOffset = badgeSize === 'medium' ? 4 : 2;
47
+ const rightOffset = baseRightOffset + commentBadgeRightOffset;
48
+ return /*#__PURE__*/React.createElement(Box
49
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
50
+ , {
51
+ style: {
52
+ '--right-offset': `${rightOffset}px`
53
+ },
54
+ padding: badgeSize === 'medium' ? 'space.050' : 'space.0',
55
+ "data-external-image-badge": "true",
56
+ xcss: baseStyles,
57
+ tabIndex: 0
58
+ }, /*#__PURE__*/React.createElement(Tooltip, {
59
+ content: message
60
+ }, /*#__PURE__*/React.createElement(InfoIcon, {
61
+ size: "small",
62
+ label: message
63
+ })));
64
+ };
@@ -1,3 +1,4 @@
1
1
  export { MEDIA_SINGLE_DEFAULT_MIN_PIXEL_WIDTH, MEDIA_SINGLE_VIDEO_MIN_PIXEL_WIDTH, MEDIA_SINGLE_SNAP_GAP, MEDIA_SINGLE_HIGHLIGHT_GAP, MEDIA_SINGLE_GUTTER_SIZE, MEDIA_SINGLE_RESIZE_THROTTLE_TIME, Layout as MediaSingleLayout, DEFAULT_IMAGE_WIDTH, DEFAULT_IMAGE_HEIGHT, wrappedLayouts, CAPTION_PLACEHOLDER_ID } from './constants';
2
2
  export { getMediaSinglePixelWidth, calcMediaSinglePixelWidth, calcMediaSingleMaxWidth, getMediaSingleInitialWidth, calculateOffsetLeft, roundToNearest, calcMinWidth, getMaxWidthForNestedNode, getMaxWidthForNestedNodeNext, currentMediaNodeWithPos } from './utils';
3
- export { CommentBadge } from './CommentBadge';
3
+ export { CommentBadge } from './CommentBadge';
4
+ export { ExternalImageBadge } from './ExternalImageBadge';
@@ -34,5 +34,15 @@ export const mediaInsertMessages = defineMessages({
34
34
  id: 'fabric.editor.media.insert.mediaAlt',
35
35
  defaultMessage: 'Preview for uploaded image or video file',
36
36
  description: 'Alt text describing a preview of an image uploaded.'
37
+ },
38
+ linkTabTitle: {
39
+ id: 'fabric.editor.media.insert.linkTabTitle',
40
+ defaultMessage: 'Link',
41
+ description: 'Title of the navigation tab that allows users to insert media from a URL or link'
42
+ },
43
+ mediaPickerPopupAriaLabel: {
44
+ id: 'fabric.editor.media.insert.mediaPickerPopupAriaLabel',
45
+ defaultMessage: 'Media picker',
46
+ description: 'Accessibility label for the media picker popup'
37
47
  }
38
48
  });
@@ -1,7 +1,7 @@
1
1
  import { isFedRamp } from './environment';
2
2
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
3
3
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
4
- const packageVersion = "87.11.0";
4
+ const packageVersion = "87.12.0";
5
5
  const sanitiseSentryEvents = (data, _hint) => {
6
6
  // Remove URL as it has UGC
7
7
  // TODO: Sanitise the URL instead of just removing it
@@ -12,7 +12,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
12
12
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
13
13
  import Layer from '../Layer';
14
14
  const packageName = "@atlaskit/editor-common";
15
- const packageVersion = "87.11.0";
15
+ const packageVersion = "87.12.0";
16
16
  const halfFocusRing = 1;
17
17
  const dropOffset = '0, 8';
18
18
  class DropList extends Component {
@@ -221,7 +221,7 @@ export const mediaWrapperStyle = props => css`
221
221
 
222
222
  // Comments on media project adds comment badge as child of the media wrapper,
223
223
  // thus we need to exclude it so that style is applied to intended div
224
- & > div:not([data-comment-badge='true']) {
224
+ & > div:not([data-comment-badge='true'], [data-external-image-badge='true']) {
225
225
  position: ${props.hasFallbackContainer ? 'absolute' : 'relative'};
226
226
  height: 100%;
227
227
  width: 100%;
@@ -7,4 +7,5 @@ export { captionMessages } from './messages/caption';
7
7
  export { dropPlaceholderMessages } from './messages/dropPlaceholder';
8
8
  export { altTextMessages } from './messages/altText';
9
9
  export { mediaResizeAnnouncerMessMessages } from './messages/mediaResizeAnnouncerMess';
10
- export { commentMessages } from './messages/comments';
10
+ export { commentMessages } from './messages/comments';
11
+ export { externalMediaMessages } from './messages/externalMedia';
@@ -0,0 +1,8 @@
1
+ import { defineMessages } from 'react-intl-next';
2
+ export var externalMediaMessages = defineMessages({
3
+ externalMediaFile: {
4
+ id: 'fabric.editor.externalMediaFile',
5
+ defaultMessage: 'External media file',
6
+ description: 'External media file'
7
+ }
8
+ });
@@ -3,7 +3,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  * @jsxRuntime classic
4
4
  * @jsx jsx
5
5
  */
6
- import { useEffect, useMemo, useState } from 'react';
6
+ import { forwardRef, useEffect, useMemo, useState } from 'react';
7
7
 
8
8
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
9
9
  import { css, jsx } from '@emotion/react';
@@ -30,11 +30,11 @@ var commentBadgeEditorOverrides = function commentBadgeEditorOverrides(commentsO
30
30
  zIndex: layers.card()
31
31
  });
32
32
  };
33
- var getBadgeSize = function getBadgeSize(width, height) {
33
+ export var getBadgeSize = function getBadgeSize(width, height) {
34
34
  // width is the original width of image, not resized or currently rendered to user. Defaulting to medium for now
35
35
  return width && width < 70 || height && height < 70 ? 'small' : 'medium';
36
36
  };
37
- export var CommentBadge = function CommentBadge(_ref) {
37
+ export var CommentBadge = /*#__PURE__*/forwardRef(function (_ref, ref) {
38
38
  var intl = _ref.intl,
39
39
  width = _ref.width,
40
40
  height = _ref.height,
@@ -79,6 +79,7 @@ export var CommentBadge = function CommentBadge(_ref) {
79
79
  }
80
80
  }, [status]);
81
81
  return jsx("div", {
82
+ ref: ref,
82
83
  css: badgeOffsetRight ? [commentBadgeWrapper,
83
84
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
84
85
  commentBadgeEditorOverrides(commentsOnMediaBugFixEnabled, badgeOffsetRight)] : commentBadgeWrapper
@@ -111,4 +112,4 @@ export var CommentBadge = function CommentBadge(_ref) {
111
112
  size: badgeSize
112
113
  })
113
114
  })));
114
- };
115
+ });
@@ -0,0 +1,68 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React, { useEffect, useState } from 'react';
3
+ import debounce from 'lodash/debounce';
4
+ import { useIntl } from 'react-intl-next';
5
+ import InfoIcon from '@atlaskit/icon/glyph/info';
6
+ import { Box, xcss } from '@atlaskit/primitives';
7
+ import Tooltip from '@atlaskit/tooltip';
8
+ import { externalMediaMessages } from '../media';
9
+ import { getBadgeSize } from './CommentBadge';
10
+ var baseStyles = xcss({
11
+ position: 'absolute',
12
+ top: 'space.025',
13
+ borderRadius: 'border.radius',
14
+ backgroundColor: 'elevation.surface',
15
+ zIndex: 'tooltip',
16
+ lineHeight: "var(--ds-space-200, 16px)",
17
+ right: 'var(--right-offset)',
18
+ cursor: 'pointer'
19
+ });
20
+ export var ExternalImageBadge = function ExternalImageBadge(_ref) {
21
+ var mediaWidth = _ref.mediaWidth,
22
+ mediaHeight = _ref.mediaHeight,
23
+ _ref$commentBadgeRigh = _ref.commentBadgeRightOffset,
24
+ commentBadgeRightOffset = _ref$commentBadgeRigh === void 0 ? 0 : _ref$commentBadgeRigh,
25
+ mediaElement = _ref.mediaElement;
26
+ var intl = useIntl();
27
+ var message = intl.formatMessage(externalMediaMessages.externalMediaFile);
28
+ var _useState = useState(getBadgeSize(mediaWidth, mediaHeight)),
29
+ _useState2 = _slicedToArray(_useState, 2),
30
+ badgeSize = _useState2[0],
31
+ setBadgeSize = _useState2[1];
32
+ // detect resize of media element to adjust badge size
33
+ // will combine with the comment badge resize observer when refactoring in the future to avoid multiple resize observers
34
+ useEffect(function () {
35
+ var observer = new ResizeObserver(debounce(function (entries) {
36
+ var _entries = _slicedToArray(entries, 1),
37
+ entry = _entries[0];
38
+ var _entry$contentRect = entry.contentRect,
39
+ width = _entry$contentRect.width,
40
+ height = _entry$contentRect.height;
41
+ setBadgeSize(getBadgeSize(width, height));
42
+ }));
43
+ if (mediaElement) {
44
+ observer.observe(mediaElement);
45
+ }
46
+ return function () {
47
+ observer.disconnect();
48
+ };
49
+ }, [mediaElement]);
50
+ var baseRightOffset = badgeSize === 'medium' ? 4 : 2;
51
+ var rightOffset = baseRightOffset + commentBadgeRightOffset;
52
+ return /*#__PURE__*/React.createElement(Box
53
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop
54
+ , {
55
+ style: {
56
+ '--right-offset': "".concat(rightOffset, "px")
57
+ },
58
+ padding: badgeSize === 'medium' ? 'space.050' : 'space.0',
59
+ "data-external-image-badge": "true",
60
+ xcss: baseStyles,
61
+ tabIndex: 0
62
+ }, /*#__PURE__*/React.createElement(Tooltip, {
63
+ content: message
64
+ }, /*#__PURE__*/React.createElement(InfoIcon, {
65
+ size: "small",
66
+ label: message
67
+ })));
68
+ };
@@ -1,3 +1,4 @@
1
1
  export { MEDIA_SINGLE_DEFAULT_MIN_PIXEL_WIDTH, MEDIA_SINGLE_VIDEO_MIN_PIXEL_WIDTH, MEDIA_SINGLE_SNAP_GAP, MEDIA_SINGLE_HIGHLIGHT_GAP, MEDIA_SINGLE_GUTTER_SIZE, MEDIA_SINGLE_RESIZE_THROTTLE_TIME, Layout as MediaSingleLayout, DEFAULT_IMAGE_WIDTH, DEFAULT_IMAGE_HEIGHT, wrappedLayouts, CAPTION_PLACEHOLDER_ID } from './constants';
2
2
  export { getMediaSinglePixelWidth, calcMediaSinglePixelWidth, calcMediaSingleMaxWidth, getMediaSingleInitialWidth, calculateOffsetLeft, roundToNearest, calcMinWidth, getMaxWidthForNestedNode, getMaxWidthForNestedNodeNext, currentMediaNodeWithPos } from './utils';
3
- export { CommentBadge } from './CommentBadge';
3
+ export { CommentBadge } from './CommentBadge';
4
+ export { ExternalImageBadge } from './ExternalImageBadge';
@@ -34,5 +34,15 @@ export var mediaInsertMessages = defineMessages({
34
34
  id: 'fabric.editor.media.insert.mediaAlt',
35
35
  defaultMessage: 'Preview for uploaded image or video file',
36
36
  description: 'Alt text describing a preview of an image uploaded.'
37
+ },
38
+ linkTabTitle: {
39
+ id: 'fabric.editor.media.insert.linkTabTitle',
40
+ defaultMessage: 'Link',
41
+ description: 'Title of the navigation tab that allows users to insert media from a URL or link'
42
+ },
43
+ mediaPickerPopupAriaLabel: {
44
+ id: 'fabric.editor.media.insert.mediaPickerPopupAriaLabel',
45
+ defaultMessage: 'Media picker',
46
+ description: 'Accessibility label for the media picker popup'
37
47
  }
38
48
  });
@@ -7,7 +7,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  import { isFedRamp } from './environment';
8
8
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
9
9
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
10
- var packageVersion = "87.11.0";
10
+ var packageVersion = "87.12.0";
11
11
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
12
12
  // Remove URL as it has UGC
13
13
  // TODO: Sanitise the URL instead of just removing it
@@ -20,7 +20,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
20
20
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
21
21
  import Layer from '../Layer';
22
22
  var packageName = "@atlaskit/editor-common";
23
- var packageVersion = "87.11.0";
23
+ var packageVersion = "87.12.0";
24
24
  var halfFocusRing = 1;
25
25
  var dropOffset = '0, 8';
26
26
  var DropList = /*#__PURE__*/function (_Component) {
@@ -175,7 +175,7 @@ var RenderFallbackContainer = function RenderFallbackContainer(_ref2) {
175
175
 
176
176
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Needs manual remediation
177
177
  export var mediaWrapperStyle = function mediaWrapperStyle(props) {
178
- return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n\tposition: relative;\n\n\t", "\n\n\t/* Editor */\n & > figure {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t// Comments on media project adds comment badge as child of the media wrapper,\n\t// thus we need to exclude it so that style is applied to intended div\n\t& > div:not([data-comment-badge='true']) {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t& * [data-mark-annotation-type='inlineComment'] {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t&[data-node-type='embedCard'] > div {\n\t\twidth: 100%;\n\t}\n\n\t/* Renderer */\n\t[data-node-type='media'] {\n\t\tposition: static !important;\n\n\t\t> div {\n\t\t\tposition: absolute;\n\t\t\theight: 100%;\n\t\t}\n\t}\n"])), RenderFallbackContainer(props), props.hasFallbackContainer ? 'absolute' : 'relative', props.hasFallbackContainer ? 'absolute' : 'relative');
178
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n\tposition: relative;\n\n\t", "\n\n\t/* Editor */\n & > figure {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t// Comments on media project adds comment badge as child of the media wrapper,\n\t// thus we need to exclude it so that style is applied to intended div\n\t& > div:not([data-comment-badge='true'], [data-external-image-badge='true']) {\n\t\tposition: ", ";\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\n\t& * [data-mark-annotation-type='inlineComment'] {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t&[data-node-type='embedCard'] > div {\n\t\twidth: 100%;\n\t}\n\n\t/* Renderer */\n\t[data-node-type='media'] {\n\t\tposition: static !important;\n\n\t\t> div {\n\t\t\tposition: absolute;\n\t\t\theight: 100%;\n\t\t}\n\t}\n"])), RenderFallbackContainer(props), props.hasFallbackContainer ? 'absolute' : 'relative', props.hasFallbackContainer ? 'absolute' : 'relative');
179
179
  };
180
180
  export var MediaWrapper = function MediaWrapper(_ref3) {
181
181
  var children = _ref3.children,
@@ -8,3 +8,4 @@ export { dropPlaceholderMessages } from './messages/dropPlaceholder';
8
8
  export { altTextMessages } from './messages/altText';
9
9
  export { mediaResizeAnnouncerMessMessages } from './messages/mediaResizeAnnouncerMess';
10
10
  export { commentMessages } from './messages/comments';
11
+ export { externalMediaMessages } from './messages/externalMedia';
@@ -0,0 +1,7 @@
1
+ export declare const externalMediaMessages: {
2
+ externalMediaFile: {
3
+ id: string;
4
+ defaultMessage: string;
5
+ description: string;
6
+ };
7
+ };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { jsx } from '@emotion/react';
3
2
  import type { IntlShape } from 'react-intl-next';
3
+ export declare const getBadgeSize: (width?: number, height?: number) => "medium" | "small";
4
4
  export type CommentBadgeProps = {
5
5
  intl: IntlShape;
6
6
  width?: number;
@@ -15,4 +15,4 @@ export type CommentBadgeProps = {
15
15
  badgeOffsetRight?: string;
16
16
  commentsOnMediaBugFixEnabled?: boolean;
17
17
  };
18
- export declare const CommentBadge: ({ intl, width, height, status, mediaSingleElement, onClick, onMouseEnter, onMouseLeave, badgeOffsetRight, commentsOnMediaBugFixEnabled, }: CommentBadgeProps) => jsx.JSX.Element;
18
+ export declare const CommentBadge: import("react").ForwardRefExoticComponent<CommentBadgeProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ type ExternalImageBadgeProps = {
3
+ mediaElement?: HTMLElement | null;
4
+ commentBadgeRightOffset?: number;
5
+ mediaHeight?: number;
6
+ mediaWidth?: number;
7
+ };
8
+ export declare const ExternalImageBadge: ({ mediaWidth, mediaHeight, commentBadgeRightOffset, mediaElement, }: ExternalImageBadgeProps) => JSX.Element;
9
+ export {};
@@ -1,4 +1,5 @@
1
1
  export { MEDIA_SINGLE_DEFAULT_MIN_PIXEL_WIDTH, MEDIA_SINGLE_VIDEO_MIN_PIXEL_WIDTH, MEDIA_SINGLE_SNAP_GAP, MEDIA_SINGLE_HIGHLIGHT_GAP, MEDIA_SINGLE_GUTTER_SIZE, MEDIA_SINGLE_RESIZE_THROTTLE_TIME, Layout as MediaSingleLayout, DEFAULT_IMAGE_WIDTH, DEFAULT_IMAGE_HEIGHT, wrappedLayouts, CAPTION_PLACEHOLDER_ID, } from './constants';
2
2
  export { getMediaSinglePixelWidth, calcMediaSinglePixelWidth, calcMediaSingleMaxWidth, getMediaSingleInitialWidth, calculateOffsetLeft, roundToNearest, calcMinWidth, getMaxWidthForNestedNode, getMaxWidthForNestedNodeNext, currentMediaNodeWithPos, } from './utils';
3
3
  export { CommentBadge } from './CommentBadge';
4
+ export { ExternalImageBadge } from './ExternalImageBadge';
4
5
  export type { CommentBadgeProps } from './CommentBadge';
@@ -34,4 +34,14 @@ export declare const mediaInsertMessages: {
34
34
  defaultMessage: string;
35
35
  description: string;
36
36
  };
37
+ linkTabTitle: {
38
+ id: string;
39
+ defaultMessage: string;
40
+ description: string;
41
+ };
42
+ mediaPickerPopupAriaLabel: {
43
+ id: string;
44
+ defaultMessage: string;
45
+ description: string;
46
+ };
37
47
  };
@@ -8,3 +8,4 @@ export { dropPlaceholderMessages } from './messages/dropPlaceholder';
8
8
  export { altTextMessages } from './messages/altText';
9
9
  export { mediaResizeAnnouncerMessMessages } from './messages/mediaResizeAnnouncerMess';
10
10
  export { commentMessages } from './messages/comments';
11
+ export { externalMediaMessages } from './messages/externalMedia';
@@ -0,0 +1,7 @@
1
+ export declare const externalMediaMessages: {
2
+ externalMediaFile: {
3
+ id: string;
4
+ defaultMessage: string;
5
+ description: string;
6
+ };
7
+ };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { jsx } from '@emotion/react';
3
2
  import type { IntlShape } from 'react-intl-next';
3
+ export declare const getBadgeSize: (width?: number, height?: number) => "medium" | "small";
4
4
  export type CommentBadgeProps = {
5
5
  intl: IntlShape;
6
6
  width?: number;
@@ -15,4 +15,4 @@ export type CommentBadgeProps = {
15
15
  badgeOffsetRight?: string;
16
16
  commentsOnMediaBugFixEnabled?: boolean;
17
17
  };
18
- export declare const CommentBadge: ({ intl, width, height, status, mediaSingleElement, onClick, onMouseEnter, onMouseLeave, badgeOffsetRight, commentsOnMediaBugFixEnabled, }: CommentBadgeProps) => jsx.JSX.Element;
18
+ export declare const CommentBadge: import("react").ForwardRefExoticComponent<CommentBadgeProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ type ExternalImageBadgeProps = {
3
+ mediaElement?: HTMLElement | null;
4
+ commentBadgeRightOffset?: number;
5
+ mediaHeight?: number;
6
+ mediaWidth?: number;
7
+ };
8
+ export declare const ExternalImageBadge: ({ mediaWidth, mediaHeight, commentBadgeRightOffset, mediaElement, }: ExternalImageBadgeProps) => JSX.Element;
9
+ export {};
@@ -1,4 +1,5 @@
1
1
  export { MEDIA_SINGLE_DEFAULT_MIN_PIXEL_WIDTH, MEDIA_SINGLE_VIDEO_MIN_PIXEL_WIDTH, MEDIA_SINGLE_SNAP_GAP, MEDIA_SINGLE_HIGHLIGHT_GAP, MEDIA_SINGLE_GUTTER_SIZE, MEDIA_SINGLE_RESIZE_THROTTLE_TIME, Layout as MediaSingleLayout, DEFAULT_IMAGE_WIDTH, DEFAULT_IMAGE_HEIGHT, wrappedLayouts, CAPTION_PLACEHOLDER_ID, } from './constants';
2
2
  export { getMediaSinglePixelWidth, calcMediaSinglePixelWidth, calcMediaSingleMaxWidth, getMediaSingleInitialWidth, calculateOffsetLeft, roundToNearest, calcMinWidth, getMaxWidthForNestedNode, getMaxWidthForNestedNodeNext, currentMediaNodeWithPos, } from './utils';
3
3
  export { CommentBadge } from './CommentBadge';
4
+ export { ExternalImageBadge } from './ExternalImageBadge';
4
5
  export type { CommentBadgeProps } from './CommentBadge';
@@ -34,4 +34,14 @@ export declare const mediaInsertMessages: {
34
34
  defaultMessage: string;
35
35
  description: string;
36
36
  };
37
+ linkTabTitle: {
38
+ id: string;
39
+ defaultMessage: string;
40
+ description: string;
41
+ };
42
+ mediaPickerPopupAriaLabel: {
43
+ id: string;
44
+ defaultMessage: string;
45
+ description: string;
46
+ };
37
47
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "87.11.0",
3
+ "version": "87.12.0",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -122,8 +122,8 @@
122
122
  "@atlaskit/link-picker": "^1.42.0",
123
123
  "@atlaskit/media-card": "^78.0.0",
124
124
  "@atlaskit/media-client": "^27.3.0",
125
- "@atlaskit/media-client-react": "^2.0.0",
126
- "@atlaskit/media-common": "^11.3.0",
125
+ "@atlaskit/media-client-react": "^2.1.0",
126
+ "@atlaskit/media-common": "^11.4.0",
127
127
  "@atlaskit/media-file-preview": "^0.7.0",
128
128
  "@atlaskit/media-picker": "^66.5.0",
129
129
  "@atlaskit/media-ui": "^25.11.0",
@@ -170,14 +170,14 @@
170
170
  "w3c-keyname": "^2.1.8"
171
171
  },
172
172
  "peerDependencies": {
173
- "@atlaskit/media-core": "^34.2.0",
173
+ "@atlaskit/media-core": "^34.3.0",
174
174
  "react": "^16.8.0",
175
175
  "react-dom": "^16.8.0",
176
176
  "react-intl-next": "npm:react-intl@^5.18.1"
177
177
  },
178
178
  "devDependencies": {
179
179
  "@af/visual-regression": "*",
180
- "@atlaskit/media-core": "^34.2.0",
180
+ "@atlaskit/media-core": "^34.3.0",
181
181
  "@atlaskit/media-test-helpers": "^34.0.0",
182
182
  "@atlaskit/util-data-test": "^17.9.0",
183
183
  "@atlaskit/visual-regression": "*",