@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.
- package/CHANGELOG.md +16 -0
- package/dist/cjs/media/index.js +8 -1
- package/dist/cjs/media/messages/externalMedia.js +14 -0
- package/dist/cjs/media-single/CommentBadge.js +5 -4
- package/dist/cjs/media-single/ExternalImageBadge.js +78 -0
- package/dist/cjs/media-single/index.js +8 -1
- package/dist/cjs/messages/media-insert.js +10 -0
- package/dist/cjs/monitoring/error.js +1 -1
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/cjs/ui/MediaSingle/styled.js +1 -1
- package/dist/es2019/media/index.js +2 -1
- package/dist/es2019/media/messages/externalMedia.js +8 -0
- package/dist/es2019/media-single/CommentBadge.js +6 -5
- package/dist/es2019/media-single/ExternalImageBadge.js +64 -0
- package/dist/es2019/media-single/index.js +2 -1
- package/dist/es2019/messages/media-insert.js +10 -0
- package/dist/es2019/monitoring/error.js +1 -1
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/es2019/ui/MediaSingle/styled.js +1 -1
- package/dist/esm/media/index.js +2 -1
- package/dist/esm/media/messages/externalMedia.js +8 -0
- package/dist/esm/media-single/CommentBadge.js +5 -4
- package/dist/esm/media-single/ExternalImageBadge.js +68 -0
- package/dist/esm/media-single/index.js +2 -1
- package/dist/esm/messages/media-insert.js +10 -0
- package/dist/esm/monitoring/error.js +1 -1
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/esm/ui/MediaSingle/styled.js +1 -1
- package/dist/types/media/index.d.ts +1 -0
- package/dist/types/media/messages/externalMedia.d.ts +7 -0
- package/dist/types/media-single/CommentBadge.d.ts +2 -2
- package/dist/types/media-single/ExternalImageBadge.d.ts +9 -0
- package/dist/types/media-single/index.d.ts +1 -0
- package/dist/types/messages/media-insert.d.ts +10 -0
- package/dist/types-ts4.5/media/index.d.ts +1 -0
- package/dist/types-ts4.5/media/messages/externalMedia.d.ts +7 -0
- package/dist/types-ts4.5/media-single/CommentBadge.d.ts +2 -2
- package/dist/types-ts4.5/media-single/ExternalImageBadge.d.ts +9 -0
- package/dist/types-ts4.5/media-single/index.d.ts +1 -0
- package/dist/types-ts4.5/messages/media-insert.d.ts +10 -0
- 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
|
package/dist/cjs/media/index.js
CHANGED
|
@@ -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
|
|
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.
|
|
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.
|
|
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';
|
|
@@ -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.
|
|
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.
|
|
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%;
|
package/dist/esm/media/index.js
CHANGED
|
@@ -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';
|
|
@@ -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
|
|
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.
|
|
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.
|
|
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';
|
|
@@ -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: (
|
|
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';
|
|
@@ -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: (
|
|
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.
|
|
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.
|
|
126
|
-
"@atlaskit/media-common": "^11.
|
|
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.
|
|
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.
|
|
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": "*",
|