@atlaskit/renderer 109.15.1 → 109.15.3
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 +13 -0
- package/dist/cjs/react/nodes/media/index.js +63 -7
- package/dist/cjs/react/nodes/mediaSingle/index.js +2 -1
- package/dist/cjs/ui/Renderer/index.js +1 -1
- package/dist/es2019/react/nodes/media/index.js +58 -6
- package/dist/es2019/react/nodes/mediaSingle/index.js +2 -1
- package/dist/es2019/ui/Renderer/index.js +1 -1
- package/dist/esm/react/nodes/media/index.js +61 -6
- package/dist/esm/react/nodes/mediaSingle/index.js +2 -1
- package/dist/esm/ui/Renderer/index.js +1 -1
- package/dist/types/react/nodes/media/index.d.ts +3 -0
- package/dist/types-ts4.5/react/nodes/media/index.d.ts +3 -0
- package/package.json +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @atlaskit/renderer
|
|
2
2
|
|
|
3
|
+
## 109.15.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#88742](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/88742) [`6771cedeadd3`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/6771cedeadd3) - Add UI for comment badge in Renderer, clean up props
|
|
8
|
+
|
|
9
|
+
## 109.15.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#88323](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/88323) [`b56b60b50087`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/b56b60b50087) - Support nested annotation marks for media nodes in renderer
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
|
|
3
16
|
## 109.15.1
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
11
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
@@ -14,6 +13,8 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
|
|
|
14
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
17
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
18
19
|
var _react2 = require("@emotion/react");
|
|
19
20
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
@@ -21,16 +22,22 @@ var _analyticsNamespacedContext = require("@atlaskit/analytics-namespaced-contex
|
|
|
21
22
|
var _providerFactory = require("@atlaskit/editor-common/provider-factory");
|
|
22
23
|
var _ui = require("@atlaskit/editor-common/ui");
|
|
23
24
|
var _MediaCard = require("../../../ui/MediaCard");
|
|
25
|
+
var _adfSchema = require("@atlaskit/adf-schema");
|
|
24
26
|
var _editorPalette = require("@atlaskit/editor-palette");
|
|
25
27
|
var _utils = require("../../../utils");
|
|
26
28
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
27
29
|
var _events = require("../../../analytics/events");
|
|
28
30
|
var _annotation = _interopRequireDefault(require("../../marks/annotation"));
|
|
29
31
|
var _styles = require("./styles");
|
|
32
|
+
var _mediaSingle = require("@atlaskit/editor-common/media-single");
|
|
33
|
+
var _reactIntlNext = require("react-intl-next");
|
|
34
|
+
var _hooks = require("../../../ui/annotations/hooks");
|
|
35
|
+
var _excluded = ["marks"];
|
|
36
|
+
/** @jsx jsx */
|
|
30
37
|
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); }
|
|
31
38
|
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; }
|
|
32
39
|
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); }; }
|
|
33
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
40
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
34
41
|
var MediaBorder = function MediaBorder(_ref) {
|
|
35
42
|
var _mark$attrs$color, _mark$attrs$size;
|
|
36
43
|
var mark = _ref.mark,
|
|
@@ -85,6 +92,47 @@ var MediaAnnotation = function MediaAnnotation(_ref3) {
|
|
|
85
92
|
useBlockLevel: true
|
|
86
93
|
}, children);
|
|
87
94
|
};
|
|
95
|
+
var MediaAnnotations = function MediaAnnotations(_ref4) {
|
|
96
|
+
var _ref4$marks = _ref4.marks,
|
|
97
|
+
marks = _ref4$marks === void 0 ? [] : _ref4$marks,
|
|
98
|
+
children = _ref4.children;
|
|
99
|
+
// Early Exit
|
|
100
|
+
if (marks.length === 0) {
|
|
101
|
+
return (0, _react2.jsx)(_react.Fragment, null, children);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Recursive marks
|
|
105
|
+
var currentMark = marks[0];
|
|
106
|
+
var otherMarks = marks.slice(1);
|
|
107
|
+
return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(MediaAnnotation, {
|
|
108
|
+
key: currentMark.attrs.id,
|
|
109
|
+
mark: currentMark
|
|
110
|
+
}, otherMarks.length ? (0, _react2.jsx)(MediaAnnotations, {
|
|
111
|
+
marks: otherMarks
|
|
112
|
+
}, children) : (0, _react2.jsx)(_react.Fragment, null, children)));
|
|
113
|
+
};
|
|
114
|
+
var CommentBadge = (0, _reactIntlNext.injectIntl)(_mediaSingle.CommentBadge);
|
|
115
|
+
var CommentBadgeWrapper = function CommentBadgeWrapper(_ref5) {
|
|
116
|
+
var _marks$map;
|
|
117
|
+
var marks = _ref5.marks,
|
|
118
|
+
rest = (0, _objectWithoutProperties2.default)(_ref5, _excluded);
|
|
119
|
+
var activeParentIds = (0, _hooks.useInlineCommentsFilter)({
|
|
120
|
+
annotationIds: (_marks$map = marks === null || marks === void 0 ? void 0 : marks.map(function (mark) {
|
|
121
|
+
return mark.attrs.id;
|
|
122
|
+
})) !== null && _marks$map !== void 0 ? _marks$map : [''],
|
|
123
|
+
filter: {
|
|
124
|
+
state: _adfSchema.AnnotationMarkStates.ACTIVE
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
if (!activeParentIds.length) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// todo: handle onClick
|
|
132
|
+
return (0, _react2.jsx)(CommentBadge, (0, _extends2.default)({
|
|
133
|
+
onClick: function onClick() {}
|
|
134
|
+
}, rest));
|
|
135
|
+
};
|
|
88
136
|
var Media = exports.default = /*#__PURE__*/function (_PureComponent) {
|
|
89
137
|
(0, _inherits2.default)(Media, _PureComponent);
|
|
90
138
|
var _super = _createSuper(Media);
|
|
@@ -101,8 +149,11 @@ var Media = exports.default = /*#__PURE__*/function (_PureComponent) {
|
|
|
101
149
|
featureFlags = _this$props.featureFlags,
|
|
102
150
|
allowMediaViewer = _this$props.shouldOpenMediaViewer,
|
|
103
151
|
enableDownloadButton = _this$props.enableDownloadButton,
|
|
104
|
-
ssr = _this$props.ssr
|
|
105
|
-
|
|
152
|
+
ssr = _this$props.ssr,
|
|
153
|
+
width = _this$props.width,
|
|
154
|
+
height = _this$props.height,
|
|
155
|
+
mediaSingleElement = _this$props.mediaSingleElement;
|
|
156
|
+
var annotationMarks = _this.props.isAnnotationMark ? _this.props.marks.filter(_this.props.isAnnotationMark) : undefined;
|
|
106
157
|
var borderMark = _this.props.marks.find(_this.props.isBorderMark);
|
|
107
158
|
var linkMark = _this.props.marks.find(_this.props.isLinkMark);
|
|
108
159
|
var linkHref = linkMark === null || linkMark === void 0 ? void 0 : linkMark.attrs.href;
|
|
@@ -111,15 +162,20 @@ var Media = exports.default = /*#__PURE__*/function (_PureComponent) {
|
|
|
111
162
|
return (0, _react2.jsx)(MediaLink, {
|
|
112
163
|
mark: linkMark,
|
|
113
164
|
onClick: _this.handleMediaLinkClickFn
|
|
114
|
-
}, (0, _react2.jsx)(
|
|
115
|
-
|
|
165
|
+
}, (0, _react2.jsx)(MediaAnnotations, {
|
|
166
|
+
marks: annotationMarks
|
|
116
167
|
}, (0, _react2.jsx)(MediaBorder, {
|
|
117
168
|
mark: borderMark
|
|
118
169
|
}, (0, _react2.jsx)(_analyticsNext.AnalyticsContext, {
|
|
119
170
|
data: (0, _defineProperty2.default)({}, _analyticsNamespacedContext.MEDIA_CONTEXT, {
|
|
120
171
|
border: !!borderMark
|
|
121
172
|
})
|
|
122
|
-
}, (0, _react2.jsx)(
|
|
173
|
+
}, !!annotationMarks && (0, _react2.jsx)(CommentBadgeWrapper, {
|
|
174
|
+
marks: annotationMarks,
|
|
175
|
+
mediaElement: mediaSingleElement,
|
|
176
|
+
width: width,
|
|
177
|
+
height: height
|
|
178
|
+
}), (0, _react2.jsx)(_MediaCard.MediaCard, (0, _extends2.default)({
|
|
123
179
|
contextIdentifierProvider: contextIdentifierProvider
|
|
124
180
|
}, _this.props, {
|
|
125
181
|
shouldOpenMediaViewer: shouldOpenMediaViewer,
|
|
@@ -165,7 +165,8 @@ var MediaSingle = function MediaSingle(props) {
|
|
|
165
165
|
originalDimensions: originalDimensions,
|
|
166
166
|
onExternalImageLoaded: onExternalImageLoaded,
|
|
167
167
|
disableOverlay: true,
|
|
168
|
-
featureFlags: featureFlags
|
|
168
|
+
featureFlags: featureFlags,
|
|
169
|
+
mediaSingleElement: ref.current
|
|
169
170
|
});
|
|
170
171
|
var uiMediaSingleStyles = layout === 'full-width' || layout === 'wide' ? [_styles.uiMediaSingleBaseStyles, _styles.uiMediaSingleLayoutStyles] : [_styles.uiMediaSingleBaseStyles];
|
|
171
172
|
return (0, _react2.jsx)(_ui.MediaSingle, {
|
|
@@ -55,7 +55,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
55
55
|
var NORMAL_SEVERITY_THRESHOLD = exports.NORMAL_SEVERITY_THRESHOLD = 2000;
|
|
56
56
|
var DEGRADED_SEVERITY_THRESHOLD = exports.DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
57
57
|
var packageName = "@atlaskit/renderer";
|
|
58
|
-
var packageVersion = "109.15.
|
|
58
|
+
var packageVersion = "109.15.3";
|
|
59
59
|
var Renderer = exports.Renderer = /*#__PURE__*/function (_PureComponent) {
|
|
60
60
|
(0, _inherits2.default)(Renderer, _PureComponent);
|
|
61
61
|
var _super = _createSuper(Renderer);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
3
3
|
/** @jsx jsx */
|
|
4
4
|
|
|
5
5
|
import React, { PureComponent, Fragment } from 'react';
|
|
@@ -9,12 +9,16 @@ import { MEDIA_CONTEXT } from '@atlaskit/analytics-namespaced-context';
|
|
|
9
9
|
import { WithProviders } from '@atlaskit/editor-common/provider-factory';
|
|
10
10
|
import { MediaBorderGapFiller } from '@atlaskit/editor-common/ui';
|
|
11
11
|
import { MediaCard } from '../../../ui/MediaCard';
|
|
12
|
+
import { AnnotationMarkStates } from '@atlaskit/adf-schema';
|
|
12
13
|
import { hexToEditorBorderPaletteColor } from '@atlaskit/editor-palette';
|
|
13
14
|
import { getEventHandler } from '../../../utils';
|
|
14
15
|
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
15
16
|
import { MODE, PLATFORM } from '../../../analytics/events';
|
|
16
17
|
import AnnotationComponent from '../../marks/annotation';
|
|
17
18
|
import { linkStyle, borderStyle } from './styles';
|
|
19
|
+
import { CommentBadge as CommentBadgeComponent } from '@atlaskit/editor-common/media-single';
|
|
20
|
+
import { injectIntl } from 'react-intl-next';
|
|
21
|
+
import { useInlineCommentsFilter } from '../../../ui/annotations/hooks';
|
|
18
22
|
const MediaBorder = ({
|
|
19
23
|
mark,
|
|
20
24
|
children
|
|
@@ -72,6 +76,46 @@ const MediaAnnotation = ({
|
|
|
72
76
|
useBlockLevel: true
|
|
73
77
|
}, children);
|
|
74
78
|
};
|
|
79
|
+
const MediaAnnotations = ({
|
|
80
|
+
marks = [],
|
|
81
|
+
children
|
|
82
|
+
}) => {
|
|
83
|
+
// Early Exit
|
|
84
|
+
if (marks.length === 0) {
|
|
85
|
+
return jsx(Fragment, null, children);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Recursive marks
|
|
89
|
+
const currentMark = marks[0];
|
|
90
|
+
const otherMarks = marks.slice(1);
|
|
91
|
+
return jsx(Fragment, null, jsx(MediaAnnotation, {
|
|
92
|
+
key: currentMark.attrs.id,
|
|
93
|
+
mark: currentMark
|
|
94
|
+
}, otherMarks.length ? jsx(MediaAnnotations, {
|
|
95
|
+
marks: otherMarks
|
|
96
|
+
}, children) : jsx(Fragment, null, children)));
|
|
97
|
+
};
|
|
98
|
+
const CommentBadge = injectIntl(CommentBadgeComponent);
|
|
99
|
+
const CommentBadgeWrapper = ({
|
|
100
|
+
marks,
|
|
101
|
+
...rest
|
|
102
|
+
}) => {
|
|
103
|
+
var _marks$map;
|
|
104
|
+
const activeParentIds = useInlineCommentsFilter({
|
|
105
|
+
annotationIds: (_marks$map = marks === null || marks === void 0 ? void 0 : marks.map(mark => mark.attrs.id)) !== null && _marks$map !== void 0 ? _marks$map : [''],
|
|
106
|
+
filter: {
|
|
107
|
+
state: AnnotationMarkStates.ACTIVE
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
if (!activeParentIds.length) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// todo: handle onClick
|
|
115
|
+
return jsx(CommentBadge, _extends({
|
|
116
|
+
onClick: () => {}
|
|
117
|
+
}, rest));
|
|
118
|
+
};
|
|
75
119
|
export default class Media extends PureComponent {
|
|
76
120
|
constructor(props) {
|
|
77
121
|
super(props);
|
|
@@ -85,9 +129,12 @@ export default class Media extends PureComponent {
|
|
|
85
129
|
featureFlags,
|
|
86
130
|
shouldOpenMediaViewer: allowMediaViewer,
|
|
87
131
|
enableDownloadButton,
|
|
88
|
-
ssr
|
|
132
|
+
ssr,
|
|
133
|
+
width,
|
|
134
|
+
height,
|
|
135
|
+
mediaSingleElement
|
|
89
136
|
} = this.props;
|
|
90
|
-
const
|
|
137
|
+
const annotationMarks = this.props.isAnnotationMark ? this.props.marks.filter(this.props.isAnnotationMark) : undefined;
|
|
91
138
|
const borderMark = this.props.marks.find(this.props.isBorderMark);
|
|
92
139
|
const linkMark = this.props.marks.find(this.props.isLinkMark);
|
|
93
140
|
const linkHref = linkMark === null || linkMark === void 0 ? void 0 : linkMark.attrs.href;
|
|
@@ -96,8 +143,8 @@ export default class Media extends PureComponent {
|
|
|
96
143
|
return jsx(MediaLink, {
|
|
97
144
|
mark: linkMark,
|
|
98
145
|
onClick: this.handleMediaLinkClickFn
|
|
99
|
-
}, jsx(
|
|
100
|
-
|
|
146
|
+
}, jsx(MediaAnnotations, {
|
|
147
|
+
marks: annotationMarks
|
|
101
148
|
}, jsx(MediaBorder, {
|
|
102
149
|
mark: borderMark
|
|
103
150
|
}, jsx(AnalyticsContext, {
|
|
@@ -106,7 +153,12 @@ export default class Media extends PureComponent {
|
|
|
106
153
|
border: !!borderMark
|
|
107
154
|
}
|
|
108
155
|
}
|
|
109
|
-
}, jsx(
|
|
156
|
+
}, !!annotationMarks && jsx(CommentBadgeWrapper, {
|
|
157
|
+
marks: annotationMarks,
|
|
158
|
+
mediaElement: mediaSingleElement,
|
|
159
|
+
width: width,
|
|
160
|
+
height: height
|
|
161
|
+
}), jsx(MediaCard, _extends({
|
|
110
162
|
contextIdentifierProvider: contextIdentifierProvider
|
|
111
163
|
}, this.props, {
|
|
112
164
|
shouldOpenMediaViewer: shouldOpenMediaViewer,
|
|
@@ -150,7 +150,8 @@ const MediaSingle = props => {
|
|
|
150
150
|
originalDimensions,
|
|
151
151
|
onExternalImageLoaded,
|
|
152
152
|
disableOverlay: true,
|
|
153
|
-
featureFlags
|
|
153
|
+
featureFlags,
|
|
154
|
+
mediaSingleElement: ref.current
|
|
154
155
|
});
|
|
155
156
|
const uiMediaSingleStyles = layout === 'full-width' || layout === 'wide' ? [uiMediaSingleBaseStyles, uiMediaSingleLayoutStyles] : [uiMediaSingleBaseStyles];
|
|
156
157
|
return jsx(UIMediaSingle, {
|
|
@@ -36,7 +36,7 @@ import { EditorMediaClientProvider } from '../../react/utils/EditorMediaClientPr
|
|
|
36
36
|
export const NORMAL_SEVERITY_THRESHOLD = 2000;
|
|
37
37
|
export const DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
38
38
|
const packageName = "@atlaskit/renderer";
|
|
39
|
-
const packageVersion = "109.15.
|
|
39
|
+
const packageVersion = "109.15.3";
|
|
40
40
|
export class Renderer extends PureComponent {
|
|
41
41
|
constructor(props) {
|
|
42
42
|
super(props);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/extends";
|
|
2
1
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
2
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
3
|
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
@@ -6,6 +5,9 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
6
5
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
7
6
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
8
7
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
9
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
10
|
+
var _excluded = ["marks"];
|
|
9
11
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
10
12
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
11
13
|
/** @jsx jsx */
|
|
@@ -17,12 +19,16 @@ import { MEDIA_CONTEXT } from '@atlaskit/analytics-namespaced-context';
|
|
|
17
19
|
import { WithProviders } from '@atlaskit/editor-common/provider-factory';
|
|
18
20
|
import { MediaBorderGapFiller } from '@atlaskit/editor-common/ui';
|
|
19
21
|
import { MediaCard } from '../../../ui/MediaCard';
|
|
22
|
+
import { AnnotationMarkStates } from '@atlaskit/adf-schema';
|
|
20
23
|
import { hexToEditorBorderPaletteColor } from '@atlaskit/editor-palette';
|
|
21
24
|
import { getEventHandler } from '../../../utils';
|
|
22
25
|
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
23
26
|
import { MODE, PLATFORM } from '../../../analytics/events';
|
|
24
27
|
import AnnotationComponent from '../../marks/annotation';
|
|
25
28
|
import { linkStyle, borderStyle } from './styles';
|
|
29
|
+
import { CommentBadge as CommentBadgeComponent } from '@atlaskit/editor-common/media-single';
|
|
30
|
+
import { injectIntl } from 'react-intl-next';
|
|
31
|
+
import { useInlineCommentsFilter } from '../../../ui/annotations/hooks';
|
|
26
32
|
var MediaBorder = function MediaBorder(_ref) {
|
|
27
33
|
var _mark$attrs$color, _mark$attrs$size;
|
|
28
34
|
var mark = _ref.mark,
|
|
@@ -77,6 +83,47 @@ var MediaAnnotation = function MediaAnnotation(_ref3) {
|
|
|
77
83
|
useBlockLevel: true
|
|
78
84
|
}, children);
|
|
79
85
|
};
|
|
86
|
+
var MediaAnnotations = function MediaAnnotations(_ref4) {
|
|
87
|
+
var _ref4$marks = _ref4.marks,
|
|
88
|
+
marks = _ref4$marks === void 0 ? [] : _ref4$marks,
|
|
89
|
+
children = _ref4.children;
|
|
90
|
+
// Early Exit
|
|
91
|
+
if (marks.length === 0) {
|
|
92
|
+
return jsx(Fragment, null, children);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Recursive marks
|
|
96
|
+
var currentMark = marks[0];
|
|
97
|
+
var otherMarks = marks.slice(1);
|
|
98
|
+
return jsx(Fragment, null, jsx(MediaAnnotation, {
|
|
99
|
+
key: currentMark.attrs.id,
|
|
100
|
+
mark: currentMark
|
|
101
|
+
}, otherMarks.length ? jsx(MediaAnnotations, {
|
|
102
|
+
marks: otherMarks
|
|
103
|
+
}, children) : jsx(Fragment, null, children)));
|
|
104
|
+
};
|
|
105
|
+
var CommentBadge = injectIntl(CommentBadgeComponent);
|
|
106
|
+
var CommentBadgeWrapper = function CommentBadgeWrapper(_ref5) {
|
|
107
|
+
var _marks$map;
|
|
108
|
+
var marks = _ref5.marks,
|
|
109
|
+
rest = _objectWithoutProperties(_ref5, _excluded);
|
|
110
|
+
var activeParentIds = useInlineCommentsFilter({
|
|
111
|
+
annotationIds: (_marks$map = marks === null || marks === void 0 ? void 0 : marks.map(function (mark) {
|
|
112
|
+
return mark.attrs.id;
|
|
113
|
+
})) !== null && _marks$map !== void 0 ? _marks$map : [''],
|
|
114
|
+
filter: {
|
|
115
|
+
state: AnnotationMarkStates.ACTIVE
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
if (!activeParentIds.length) {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
// todo: handle onClick
|
|
123
|
+
return jsx(CommentBadge, _extends({
|
|
124
|
+
onClick: function onClick() {}
|
|
125
|
+
}, rest));
|
|
126
|
+
};
|
|
80
127
|
var Media = /*#__PURE__*/function (_PureComponent) {
|
|
81
128
|
_inherits(Media, _PureComponent);
|
|
82
129
|
var _super = _createSuper(Media);
|
|
@@ -93,8 +140,11 @@ var Media = /*#__PURE__*/function (_PureComponent) {
|
|
|
93
140
|
featureFlags = _this$props.featureFlags,
|
|
94
141
|
allowMediaViewer = _this$props.shouldOpenMediaViewer,
|
|
95
142
|
enableDownloadButton = _this$props.enableDownloadButton,
|
|
96
|
-
ssr = _this$props.ssr
|
|
97
|
-
|
|
143
|
+
ssr = _this$props.ssr,
|
|
144
|
+
width = _this$props.width,
|
|
145
|
+
height = _this$props.height,
|
|
146
|
+
mediaSingleElement = _this$props.mediaSingleElement;
|
|
147
|
+
var annotationMarks = _this.props.isAnnotationMark ? _this.props.marks.filter(_this.props.isAnnotationMark) : undefined;
|
|
98
148
|
var borderMark = _this.props.marks.find(_this.props.isBorderMark);
|
|
99
149
|
var linkMark = _this.props.marks.find(_this.props.isLinkMark);
|
|
100
150
|
var linkHref = linkMark === null || linkMark === void 0 ? void 0 : linkMark.attrs.href;
|
|
@@ -103,15 +153,20 @@ var Media = /*#__PURE__*/function (_PureComponent) {
|
|
|
103
153
|
return jsx(MediaLink, {
|
|
104
154
|
mark: linkMark,
|
|
105
155
|
onClick: _this.handleMediaLinkClickFn
|
|
106
|
-
}, jsx(
|
|
107
|
-
|
|
156
|
+
}, jsx(MediaAnnotations, {
|
|
157
|
+
marks: annotationMarks
|
|
108
158
|
}, jsx(MediaBorder, {
|
|
109
159
|
mark: borderMark
|
|
110
160
|
}, jsx(AnalyticsContext, {
|
|
111
161
|
data: _defineProperty({}, MEDIA_CONTEXT, {
|
|
112
162
|
border: !!borderMark
|
|
113
163
|
})
|
|
114
|
-
}, jsx(
|
|
164
|
+
}, !!annotationMarks && jsx(CommentBadgeWrapper, {
|
|
165
|
+
marks: annotationMarks,
|
|
166
|
+
mediaElement: mediaSingleElement,
|
|
167
|
+
width: width,
|
|
168
|
+
height: height
|
|
169
|
+
}), jsx(MediaCard, _extends({
|
|
115
170
|
contextIdentifierProvider: contextIdentifierProvider
|
|
116
171
|
}, _this.props, {
|
|
117
172
|
shouldOpenMediaViewer: shouldOpenMediaViewer,
|
|
@@ -155,7 +155,8 @@ var MediaSingle = function MediaSingle(props) {
|
|
|
155
155
|
originalDimensions: originalDimensions,
|
|
156
156
|
onExternalImageLoaded: onExternalImageLoaded,
|
|
157
157
|
disableOverlay: true,
|
|
158
|
-
featureFlags: featureFlags
|
|
158
|
+
featureFlags: featureFlags,
|
|
159
|
+
mediaSingleElement: ref.current
|
|
159
160
|
});
|
|
160
161
|
var uiMediaSingleStyles = layout === 'full-width' || layout === 'wide' ? [uiMediaSingleBaseStyles, uiMediaSingleLayoutStyles] : [uiMediaSingleBaseStyles];
|
|
161
162
|
return jsx(UIMediaSingle, {
|
|
@@ -46,7 +46,7 @@ import { EditorMediaClientProvider } from '../../react/utils/EditorMediaClientPr
|
|
|
46
46
|
export var NORMAL_SEVERITY_THRESHOLD = 2000;
|
|
47
47
|
export var DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
48
48
|
var packageName = "@atlaskit/renderer";
|
|
49
|
-
var packageVersion = "109.15.
|
|
49
|
+
var packageVersion = "109.15.3";
|
|
50
50
|
export var Renderer = /*#__PURE__*/function (_PureComponent) {
|
|
51
51
|
_inherits(Renderer, _PureComponent);
|
|
52
52
|
var _super = _createSuper(Renderer);
|
|
@@ -19,6 +19,9 @@ export type MediaProps = MediaCardProps & {
|
|
|
19
19
|
featureFlags?: MediaFeatureFlags;
|
|
20
20
|
eventHandlers?: EventHandlers;
|
|
21
21
|
enableDownloadButton?: boolean;
|
|
22
|
+
mediaSingleElement?: HTMLElement | null;
|
|
23
|
+
width?: number;
|
|
24
|
+
height?: number;
|
|
22
25
|
};
|
|
23
26
|
export default class Media extends PureComponent<MediaProps, {}> {
|
|
24
27
|
constructor(props: MediaProps);
|
|
@@ -19,6 +19,9 @@ export type MediaProps = MediaCardProps & {
|
|
|
19
19
|
featureFlags?: MediaFeatureFlags;
|
|
20
20
|
eventHandlers?: EventHandlers;
|
|
21
21
|
enableDownloadButton?: boolean;
|
|
22
|
+
mediaSingleElement?: HTMLElement | null;
|
|
23
|
+
width?: number;
|
|
24
|
+
height?: number;
|
|
22
25
|
};
|
|
23
26
|
export default class Media extends PureComponent<MediaProps, {}> {
|
|
24
27
|
constructor(props: MediaProps);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/renderer",
|
|
3
|
-
"version": "109.15.
|
|
3
|
+
"version": "109.15.3",
|
|
4
4
|
"description": "Renderer component",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -29,22 +29,22 @@
|
|
|
29
29
|
"@atlaskit/analytics-listeners": "^8.9.0",
|
|
30
30
|
"@atlaskit/analytics-namespaced-context": "^6.9.0",
|
|
31
31
|
"@atlaskit/analytics-next": "^9.2.0",
|
|
32
|
-
"@atlaskit/button": "^17.
|
|
32
|
+
"@atlaskit/button": "^17.11.0",
|
|
33
33
|
"@atlaskit/code": "^15.1.0",
|
|
34
|
-
"@atlaskit/editor-common": "^78.
|
|
34
|
+
"@atlaskit/editor-common": "^78.24.0",
|
|
35
35
|
"@atlaskit/editor-json-transformer": "^8.10.0",
|
|
36
36
|
"@atlaskit/editor-palette": "1.5.3",
|
|
37
37
|
"@atlaskit/editor-prosemirror": "3.0.0",
|
|
38
38
|
"@atlaskit/editor-shared-styles": "^2.9.0",
|
|
39
39
|
"@atlaskit/emoji": "^67.6.0",
|
|
40
40
|
"@atlaskit/icon": "^22.1.0",
|
|
41
|
-
"@atlaskit/link-datasource": "^1.
|
|
41
|
+
"@atlaskit/link-datasource": "^1.26.0",
|
|
42
42
|
"@atlaskit/media-card": "^77.10.0",
|
|
43
43
|
"@atlaskit/media-client": "^26.2.0",
|
|
44
44
|
"@atlaskit/media-client-react": "^2.0.0",
|
|
45
45
|
"@atlaskit/media-common": "^11.1.0",
|
|
46
46
|
"@atlaskit/media-filmstrip": "^47.0.0",
|
|
47
|
-
"@atlaskit/media-ui": "^25.
|
|
47
|
+
"@atlaskit/media-ui": "^25.6.0",
|
|
48
48
|
"@atlaskit/media-viewer": "^48.4.0",
|
|
49
49
|
"@atlaskit/platform-feature-flags": "^0.2.0",
|
|
50
50
|
"@atlaskit/smart-card": "^26.52.0",
|
|
@@ -98,6 +98,7 @@
|
|
|
98
98
|
"react": "^16.8.0",
|
|
99
99
|
"react-dom": "^16.8.0",
|
|
100
100
|
"react-live-clock": "^5.0.0",
|
|
101
|
+
"react-magnetic-di": "^2.2.6",
|
|
101
102
|
"react-moment": "^1.1.2",
|
|
102
103
|
"react-test-renderer": "^16.8.0",
|
|
103
104
|
"rxjs": "^5.5.0",
|