@atlaskit/renderer 85.0.0 → 86.0.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 +65 -0
- package/dist/cjs/analytics/enums.js +1 -0
- package/dist/cjs/messages.js +47 -1
- package/dist/cjs/react/hooks/use-observed-width.js +94 -0
- package/dist/cjs/react/index.js +2 -0
- package/dist/cjs/react/nodes/copy-text-provider.js +2 -1
- package/dist/cjs/react/nodes/heading-anchor.js +8 -2
- package/dist/cjs/react/nodes/inlineCard.js +12 -1
- package/dist/cjs/react/nodes/mediaSingle/index.js +145 -151
- package/dist/cjs/react/nodes/mention.js +0 -2
- package/dist/cjs/react/nodes/status.js +2 -1
- package/dist/cjs/react/nodes/tableCell.js +19 -8
- package/dist/cjs/react/nodes/task-item-with-providers.js +4 -2
- package/dist/cjs/react/nodes/taskItem.js +1 -0
- package/dist/cjs/render-document.js +17 -1
- package/dist/cjs/types/smartLinksOptions.js +5 -0
- package/dist/cjs/ui/Renderer/breakout-ssr.js +47 -4
- package/dist/cjs/ui/Renderer/index.js +1 -0
- package/dist/cjs/ui/SortingIcon.js +22 -9
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/analytics/enums.js +1 -0
- package/dist/es2019/messages.js +44 -0
- package/dist/es2019/react/hooks/use-observed-width.js +59 -0
- package/dist/es2019/react/index.js +2 -0
- package/dist/es2019/react/nodes/copy-text-provider.js +2 -1
- package/dist/es2019/react/nodes/heading-anchor.js +11 -2
- package/dist/es2019/react/nodes/inlineCard.js +11 -1
- package/dist/es2019/react/nodes/mediaSingle/index.js +132 -112
- package/dist/es2019/react/nodes/mention.js +0 -2
- package/dist/es2019/react/nodes/status.js +2 -1
- package/dist/es2019/react/nodes/tableCell.js +20 -9
- package/dist/es2019/react/nodes/task-item-with-providers.js +3 -1
- package/dist/es2019/react/nodes/taskItem.js +1 -0
- package/dist/es2019/render-document.js +17 -1
- package/dist/es2019/types/smartLinksOptions.js +1 -0
- package/dist/es2019/ui/Renderer/breakout-ssr.js +45 -4
- package/dist/es2019/ui/Renderer/index.js +1 -0
- package/dist/es2019/ui/SortingIcon.js +22 -10
- package/dist/es2019/version.json +1 -1
- package/dist/esm/analytics/enums.js +1 -0
- package/dist/esm/messages.js +44 -0
- package/dist/esm/react/hooks/use-observed-width.js +80 -0
- package/dist/esm/react/index.js +2 -0
- package/dist/esm/react/nodes/copy-text-provider.js +2 -1
- package/dist/esm/react/nodes/heading-anchor.js +9 -2
- package/dist/esm/react/nodes/inlineCard.js +11 -1
- package/dist/esm/react/nodes/mediaSingle/index.js +140 -141
- package/dist/esm/react/nodes/mention.js +0 -2
- package/dist/esm/react/nodes/status.js +2 -1
- package/dist/esm/react/nodes/tableCell.js +17 -8
- package/dist/esm/react/nodes/task-item-with-providers.js +4 -2
- package/dist/esm/react/nodes/taskItem.js +1 -0
- package/dist/esm/render-document.js +16 -1
- package/dist/esm/types/smartLinksOptions.js +1 -0
- package/dist/esm/ui/Renderer/breakout-ssr.js +47 -4
- package/dist/esm/ui/Renderer/index.js +1 -0
- package/dist/esm/ui/SortingIcon.js +20 -10
- package/dist/esm/version.json +1 -1
- package/dist/types/analytics/enums.d.ts +2 -1
- package/dist/types/analytics/events.d.ts +2 -1
- package/dist/types/messages.d.ts +44 -0
- package/dist/types/react/hooks/use-observed-width.d.ts +3 -0
- package/dist/types/react/index.d.ts +3 -0
- package/dist/types/react/nodes/index.d.ts +1 -1
- package/dist/types/react/nodes/inlineCard.d.ts +22 -20
- package/dist/types/react/nodes/mediaSingle/index.d.ts +3 -7
- package/dist/types/react/nodes/mediaSingle/styles.d.ts +1 -1
- package/dist/types/react/nodes/mention.d.ts +0 -1
- package/dist/types/react/nodes/tableCell.d.ts +6 -59
- package/dist/types/react/nodes/task-item-with-providers.d.ts +1 -0
- package/dist/types/types/smartLinksOptions.d.ts +3 -0
- package/dist/types/ui/SortingIcon.d.ts +6 -3
- package/dist/types/ui/renderer-props.d.ts +2 -0
- package/package.json +14 -14
|
@@ -1,23 +1,12 @@
|
|
|
1
|
-
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
-
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
-
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
4
|
-
import _inherits from "@babel/runtime/helpers/inherits";
|
|
5
|
-
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
|
-
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
9
|
-
|
|
10
|
-
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); }; }
|
|
11
|
-
|
|
12
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
13
|
-
|
|
14
|
-
import { mapBreakpointToLayoutMaxWidth, WidthConsumer } from '@atlaskit/editor-common/ui';
|
|
15
|
-
import { akEditorFullWidthLayoutWidth, getAkEditorFullPageMaxWidth, akEditorDefaultLayoutWidth } from '@atlaskit/editor-shared-styles';
|
|
16
|
-
import { Component, default as React } from 'react';
|
|
2
|
+
import { default as React } from 'react';
|
|
17
3
|
import { injectIntl } from 'react-intl-next';
|
|
4
|
+
import { getMediaFeatureFlag } from '@atlaskit/media-common';
|
|
5
|
+
import { mapBreakpointToLayoutMaxWidth, getBreakpoint, WidthConsumer } from '@atlaskit/editor-common/ui';
|
|
6
|
+
import { akEditorFullWidthLayoutWidth, getAkEditorFullPageMaxWidth, akEditorDefaultLayoutWidth } from '@atlaskit/editor-shared-styles';
|
|
18
7
|
import { FullPagePadding } from '../../../ui/Renderer/style';
|
|
8
|
+
import { useObservedWidth } from '../../hooks/use-observed-width';
|
|
19
9
|
import { ExtendedUIMediaSingle } from './styles';
|
|
20
|
-
import { getMediaFeatureFlag } from '@atlaskit/media-common';
|
|
21
10
|
var DEFAULT_WIDTH = 250;
|
|
22
11
|
var DEFAULT_HEIGHT = 200;
|
|
23
12
|
|
|
@@ -53,146 +42,156 @@ export var getMediaContainerWidth = function getMediaContainerWidth(currentConta
|
|
|
53
42
|
return !currentContainerWidth && layout !== 'full-width' && layout !== 'wide' ? akEditorDefaultLayoutWidth : currentContainerWidth;
|
|
54
43
|
};
|
|
55
44
|
|
|
56
|
-
var MediaSingle =
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
var
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
45
|
+
var MediaSingle = function MediaSingle(props) {
|
|
46
|
+
var _ref$current;
|
|
47
|
+
|
|
48
|
+
var rendererAppearance = props.rendererAppearance,
|
|
49
|
+
featureFlags = props.featureFlags,
|
|
50
|
+
isInsideOfBlockNode = props.isInsideOfBlockNode,
|
|
51
|
+
allowDynamicTextSizing = props.allowDynamicTextSizing,
|
|
52
|
+
layout = props.layout,
|
|
53
|
+
children = props.children,
|
|
54
|
+
pctWidth = props.width;
|
|
55
|
+
var isCaptionsFlaggedOn = getMediaFeatureFlag('captions', featureFlags);
|
|
56
|
+
|
|
57
|
+
var _React$useState = React.useState({
|
|
58
|
+
width: 0,
|
|
59
|
+
height: 0
|
|
60
|
+
}),
|
|
61
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
62
|
+
externalImageDimensions = _React$useState2[0],
|
|
63
|
+
setExternalImageDimensions = _React$useState2[1];
|
|
64
|
+
|
|
65
|
+
var ref = React.useRef(null);
|
|
66
|
+
var onExternalImageLoaded = React.useCallback(function (_ref2) {
|
|
67
|
+
var width = _ref2.width,
|
|
68
|
+
height = _ref2.height;
|
|
69
|
+
setExternalImageDimensions({
|
|
70
|
+
width: width,
|
|
71
|
+
height: height
|
|
72
|
+
});
|
|
73
|
+
}, []);
|
|
74
|
+
var observedWidthFlag = getMediaFeatureFlag('observedWidth', featureFlags);
|
|
65
75
|
|
|
66
|
-
|
|
76
|
+
var _useObservedWidth = useObservedWidth((_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.parentElement, observedWidthFlag),
|
|
77
|
+
observedWidth = _useObservedWidth.width;
|
|
67
78
|
|
|
68
|
-
|
|
69
|
-
var width = _ref2.width,
|
|
70
|
-
height = _ref2.height;
|
|
79
|
+
var media;
|
|
71
80
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
});
|
|
81
|
+
var _React$Children$toArr3 = React.Children.toArray(children),
|
|
82
|
+
_React$Children$toArr4 = _slicedToArray(_React$Children$toArr3, 2),
|
|
83
|
+
node = _React$Children$toArr4[0],
|
|
84
|
+
caption = _React$Children$toArr4[1];
|
|
77
85
|
|
|
78
|
-
|
|
86
|
+
if (!isMediaElement(node)) {
|
|
87
|
+
var mediaElement = checkForMediaElement(node.props.children);
|
|
79
88
|
|
|
80
|
-
|
|
89
|
+
if (!mediaElement) {
|
|
90
|
+
return node;
|
|
91
|
+
}
|
|
81
92
|
|
|
82
|
-
|
|
93
|
+
media = mediaElement;
|
|
94
|
+
} else {
|
|
95
|
+
media = node;
|
|
83
96
|
}
|
|
84
97
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
var media;
|
|
98
|
+
var _media$props = media.props,
|
|
99
|
+
_media$props$width = _media$props.width,
|
|
100
|
+
width = _media$props$width === void 0 ? DEFAULT_WIDTH : _media$props$width,
|
|
101
|
+
_media$props$height = _media$props.height,
|
|
102
|
+
height = _media$props$height === void 0 ? DEFAULT_HEIGHT : _media$props$height,
|
|
103
|
+
type = _media$props.type;
|
|
92
104
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
caption = _React$Children$toArr4[1];
|
|
105
|
+
if (type === 'external') {
|
|
106
|
+
var stateWidth = externalImageDimensions.width,
|
|
107
|
+
stateHeight = externalImageDimensions.height;
|
|
97
108
|
|
|
98
|
-
|
|
99
|
-
|
|
109
|
+
if (width === null) {
|
|
110
|
+
width = stateWidth || DEFAULT_WIDTH;
|
|
111
|
+
}
|
|
100
112
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
113
|
+
if (height === null) {
|
|
114
|
+
height = stateHeight || DEFAULT_HEIGHT;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
104
117
|
|
|
105
|
-
|
|
118
|
+
if (width === null) {
|
|
119
|
+
width = DEFAULT_WIDTH;
|
|
120
|
+
height = DEFAULT_HEIGHT;
|
|
121
|
+
} // TODO: put appearance-based padding into theme instead
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
var padding = rendererAppearance === 'full-page' ? FullPagePadding * 2 : 0;
|
|
125
|
+
var isFullWidth = rendererAppearance === 'full-width';
|
|
126
|
+
|
|
127
|
+
var calcDimensions = function calcDimensions(mediaContainerWidth, mediaBreakpoint) {
|
|
128
|
+
var containerWidth = getMediaContainerWidth(mediaContainerWidth, layout);
|
|
129
|
+
var breakpoint = mediaBreakpoint || getBreakpoint(containerWidth);
|
|
130
|
+
var maxWidth = containerWidth;
|
|
131
|
+
var maxHeight = height / width * maxWidth;
|
|
132
|
+
var cardDimensions = {
|
|
133
|
+
width: "".concat(maxWidth, "px"),
|
|
134
|
+
height: "".concat(maxHeight, "px")
|
|
135
|
+
};
|
|
136
|
+
var nonFullWidthSize = containerWidth;
|
|
137
|
+
|
|
138
|
+
if (!isInsideOfBlockNode && rendererAppearance !== 'comment') {
|
|
139
|
+
var isContainerSizeGreaterThanMaxFullPageWidth = containerWidth - padding >= getAkEditorFullPageMaxWidth(allowDynamicTextSizing);
|
|
140
|
+
|
|
141
|
+
if (isContainerSizeGreaterThanMaxFullPageWidth && allowDynamicTextSizing) {
|
|
142
|
+
nonFullWidthSize = mapBreakpointToLayoutMaxWidth(breakpoint);
|
|
143
|
+
} else if (isContainerSizeGreaterThanMaxFullPageWidth) {
|
|
144
|
+
nonFullWidthSize = getAkEditorFullPageMaxWidth(allowDynamicTextSizing);
|
|
106
145
|
} else {
|
|
107
|
-
|
|
146
|
+
nonFullWidthSize = containerWidth - padding;
|
|
108
147
|
}
|
|
109
|
-
|
|
110
|
-
var _media$props = media.props,
|
|
111
|
-
_media$props$width = _media$props.width,
|
|
112
|
-
width = _media$props$width === void 0 ? DEFAULT_WIDTH : _media$props$width,
|
|
113
|
-
_media$props$height = _media$props.height,
|
|
114
|
-
height = _media$props$height === void 0 ? DEFAULT_HEIGHT : _media$props$height,
|
|
115
|
-
type = _media$props.type;
|
|
116
|
-
|
|
117
|
-
if (type === 'external') {
|
|
118
|
-
var _this$state = this.state,
|
|
119
|
-
stateWidth = _this$state.width,
|
|
120
|
-
stateHeight = _this$state.height;
|
|
121
|
-
|
|
122
|
-
if (width === null) {
|
|
123
|
-
width = stateWidth || DEFAULT_WIDTH;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
if (height === null) {
|
|
127
|
-
height = stateHeight || DEFAULT_HEIGHT;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
if (width === null) {
|
|
132
|
-
width = DEFAULT_WIDTH;
|
|
133
|
-
height = DEFAULT_HEIGHT;
|
|
134
|
-
} // TODO: put appearance-based padding into theme instead
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
var _this$props = this.props,
|
|
138
|
-
rendererAppearance = _this$props.rendererAppearance,
|
|
139
|
-
featureFlags = _this$props.featureFlags;
|
|
140
|
-
var padding = rendererAppearance === 'full-page' ? FullPagePadding * 2 : 0;
|
|
141
|
-
return /*#__PURE__*/React.createElement(WidthConsumer, null, function (_ref3) {
|
|
142
|
-
var widthConsumerValue = _ref3.width,
|
|
143
|
-
breakpoint = _ref3.breakpoint;
|
|
144
|
-
var containerWidth = getMediaContainerWidth(widthConsumerValue, props.layout);
|
|
145
|
-
var _this2$props = _this2.props,
|
|
146
|
-
isInsideOfBlockNode = _this2$props.isInsideOfBlockNode,
|
|
147
|
-
allowDynamicTextSizing = _this2$props.allowDynamicTextSizing;
|
|
148
|
-
var maxWidth = containerWidth;
|
|
149
|
-
var maxHeight = height / width * maxWidth;
|
|
150
|
-
var cardDimensions = {
|
|
151
|
-
width: "".concat(maxWidth, "px"),
|
|
152
|
-
height: "".concat(maxHeight, "px")
|
|
153
|
-
};
|
|
154
|
-
var isFullWidth = rendererAppearance === 'full-width';
|
|
155
|
-
var nonFullWidthSize = containerWidth;
|
|
156
|
-
|
|
157
|
-
if (!isInsideOfBlockNode && rendererAppearance !== 'comment') {
|
|
158
|
-
var isContainerSizeGreaterThanMaxFullPageWidth = containerWidth - padding >= getAkEditorFullPageMaxWidth(allowDynamicTextSizing);
|
|
159
|
-
|
|
160
|
-
if (isContainerSizeGreaterThanMaxFullPageWidth && allowDynamicTextSizing) {
|
|
161
|
-
nonFullWidthSize = mapBreakpointToLayoutMaxWidth(breakpoint);
|
|
162
|
-
} else if (isContainerSizeGreaterThanMaxFullPageWidth) {
|
|
163
|
-
nonFullWidthSize = getAkEditorFullPageMaxWidth(allowDynamicTextSizing);
|
|
164
|
-
} else {
|
|
165
|
-
nonFullWidthSize = containerWidth - padding;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
var lineLength = isFullWidth ? Math.min(akEditorFullWidthLayoutWidth, containerWidth - padding) : nonFullWidthSize;
|
|
170
|
-
var originalDimensions = {
|
|
171
|
-
height: height,
|
|
172
|
-
width: width
|
|
173
|
-
};
|
|
174
|
-
var mediaComponent = /*#__PURE__*/React.cloneElement(media, {
|
|
175
|
-
resizeMode: 'stretchy-fit',
|
|
176
|
-
cardDimensions: cardDimensions,
|
|
177
|
-
originalDimensions: originalDimensions,
|
|
178
|
-
onExternalImageLoaded: _this2.onExternalImageLoaded,
|
|
179
|
-
disableOverlay: true,
|
|
180
|
-
featureFlags: featureFlags
|
|
181
|
-
});
|
|
182
|
-
return /*#__PURE__*/React.createElement(ExtendedUIMediaSingle, {
|
|
183
|
-
layout: props.layout,
|
|
184
|
-
width: width,
|
|
185
|
-
height: height,
|
|
186
|
-
lineLength: isInsideOfBlockNode ? containerWidth : lineLength,
|
|
187
|
-
containerWidth: containerWidth,
|
|
188
|
-
pctWidth: props.width,
|
|
189
|
-
fullWidthMode: isFullWidth
|
|
190
|
-
}, /*#__PURE__*/React.createElement(React.Fragment, null, mediaComponent), _this2.isCaptionsFlaggedOn && caption);
|
|
191
|
-
});
|
|
192
148
|
}
|
|
193
|
-
}]);
|
|
194
149
|
|
|
195
|
-
|
|
196
|
-
|
|
150
|
+
var minWidth = Math.min(akEditorFullWidthLayoutWidth, containerWidth - padding);
|
|
151
|
+
var lineLength = isFullWidth ? minWidth : nonFullWidthSize;
|
|
152
|
+
return {
|
|
153
|
+
cardDimensions: cardDimensions,
|
|
154
|
+
lineLength: lineLength,
|
|
155
|
+
containerWidth: containerWidth
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
var originalDimensions = {
|
|
160
|
+
height: height,
|
|
161
|
+
width: width
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
var renderMediaSingle = function renderMediaSingle(renderWidth, mediaBreakpoint) {
|
|
165
|
+
var _calcDimensions = calcDimensions(renderWidth, mediaBreakpoint),
|
|
166
|
+
cardDimensions = _calcDimensions.cardDimensions,
|
|
167
|
+
lineLength = _calcDimensions.lineLength,
|
|
168
|
+
containerWidth = _calcDimensions.containerWidth;
|
|
169
|
+
|
|
170
|
+
var mediaComponent = /*#__PURE__*/React.cloneElement(media, {
|
|
171
|
+
resizeMode: 'stretchy-fit',
|
|
172
|
+
cardDimensions: cardDimensions,
|
|
173
|
+
originalDimensions: originalDimensions,
|
|
174
|
+
onExternalImageLoaded: onExternalImageLoaded,
|
|
175
|
+
disableOverlay: true,
|
|
176
|
+
featureFlags: featureFlags
|
|
177
|
+
});
|
|
178
|
+
return /*#__PURE__*/React.createElement(ExtendedUIMediaSingle, {
|
|
179
|
+
handleMediaSingleRef: ref,
|
|
180
|
+
layout: layout,
|
|
181
|
+
width: width,
|
|
182
|
+
height: height,
|
|
183
|
+
lineLength: isInsideOfBlockNode ? containerWidth : lineLength,
|
|
184
|
+
containerWidth: containerWidth,
|
|
185
|
+
pctWidth: pctWidth,
|
|
186
|
+
fullWidthMode: isFullWidth
|
|
187
|
+
}, /*#__PURE__*/React.createElement(React.Fragment, null, mediaComponent), isCaptionsFlaggedOn && caption);
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
return observedWidthFlag ? renderMediaSingle(observedWidth || document.body.offsetWidth) : /*#__PURE__*/React.createElement(WidthConsumer, null, function (_ref3) {
|
|
191
|
+
var width = _ref3.width,
|
|
192
|
+
breakpoint = _ref3.breakpoint;
|
|
193
|
+
return renderMediaSingle(width, breakpoint);
|
|
194
|
+
});
|
|
195
|
+
};
|
|
197
196
|
|
|
198
197
|
export default injectIntl(MediaSingle);
|
|
@@ -29,7 +29,6 @@ var MentionItem = /*#__PURE__*/function (_PureComponent) {
|
|
|
29
29
|
var _this$props = this.props,
|
|
30
30
|
eventHandlers = _this$props.eventHandlers,
|
|
31
31
|
id = _this$props.id,
|
|
32
|
-
portal = _this$props.portal,
|
|
33
32
|
providers = _this$props.providers,
|
|
34
33
|
text = _this$props.text,
|
|
35
34
|
accessLevel = _this$props.accessLevel;
|
|
@@ -38,7 +37,6 @@ var MentionItem = /*#__PURE__*/function (_PureComponent) {
|
|
|
38
37
|
text: text,
|
|
39
38
|
accessLevel: accessLevel,
|
|
40
39
|
providers: providers,
|
|
41
|
-
portal: portal,
|
|
42
40
|
eventHandlers: eventHandlers && eventHandlers.mention
|
|
43
41
|
});
|
|
44
42
|
}
|
|
@@ -19,6 +19,8 @@ import SortingIcon from '../../ui/SortingIcon';
|
|
|
19
19
|
import { MODE, PLATFORM } from '../../analytics/events';
|
|
20
20
|
import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../../analytics/enums';
|
|
21
21
|
import { RendererCssClassName } from '../../consts';
|
|
22
|
+
import { injectIntl } from 'react-intl-next';
|
|
23
|
+
import { tableCellMessages } from '../../messages';
|
|
22
24
|
var IgnoreSorting = ['LABEL', 'INPUT'];
|
|
23
25
|
|
|
24
26
|
var nextStatusOrder = function nextStatusOrder(currentSortOrder) {
|
|
@@ -36,19 +38,23 @@ var nextStatusOrder = function nextStatusOrder(currentSortOrder) {
|
|
|
36
38
|
return SortOrder.NO_ORDER;
|
|
37
39
|
};
|
|
38
40
|
|
|
39
|
-
var getSortOrderLabel = function getSortOrderLabel(currentSortOrder) {
|
|
41
|
+
var getSortOrderLabel = function getSortOrderLabel(intl, currentSortOrder) {
|
|
42
|
+
var noneSortingLabel = tableCellMessages.noneSortingLabel,
|
|
43
|
+
ascSortingLabel = tableCellMessages.ascSortingLabel,
|
|
44
|
+
descSortingLabel = tableCellMessages.descSortingLabel;
|
|
45
|
+
|
|
40
46
|
switch (currentSortOrder) {
|
|
41
47
|
case SortOrder.NO_ORDER:
|
|
42
|
-
return
|
|
48
|
+
return intl.formatMessage(noneSortingLabel);
|
|
43
49
|
|
|
44
50
|
case SortOrder.ASC:
|
|
45
|
-
return
|
|
51
|
+
return intl.formatMessage(ascSortingLabel);
|
|
46
52
|
|
|
47
53
|
case SortOrder.DESC:
|
|
48
|
-
return
|
|
54
|
+
return intl.formatMessage(descSortingLabel);
|
|
49
55
|
|
|
50
56
|
default:
|
|
51
|
-
return
|
|
57
|
+
return intl.formatMessage(noneSortingLabel);
|
|
52
58
|
}
|
|
53
59
|
};
|
|
54
60
|
|
|
@@ -126,7 +132,7 @@ var withCellProps = function withCellProps(WrapperComponent) {
|
|
|
126
132
|
};
|
|
127
133
|
|
|
128
134
|
export var withSortableColumn = function withSortableColumn(WrapperComponent) {
|
|
129
|
-
|
|
135
|
+
var WithSortableColumn = /*#__PURE__*/function (_React$Component2) {
|
|
130
136
|
_inherits(WithSortableColumn, _React$Component2);
|
|
131
137
|
|
|
132
138
|
var _super2 = _createSuper(WithSortableColumn);
|
|
@@ -201,7 +207,8 @@ export var withSortableColumn = function withSortableColumn(WrapperComponent) {
|
|
|
201
207
|
onSorting = _this$props3.onSorting,
|
|
202
208
|
children = _this$props3.children,
|
|
203
209
|
sortOrdered = _this$props3.sortOrdered,
|
|
204
|
-
isHeaderRow = _this$props3.isHeaderRow
|
|
210
|
+
isHeaderRow = _this$props3.isHeaderRow,
|
|
211
|
+
intl = _this$props3.intl;
|
|
205
212
|
var sortOrderedClassName = sortOrdered === SortOrder.NO_ORDER ? RendererCssClassName.SORTABLE_COLUMN_NO_ORDER : '';
|
|
206
213
|
|
|
207
214
|
if (!allowColumnSorting || !isHeaderRow) {
|
|
@@ -216,7 +223,7 @@ export var withSortableColumn = function withSortableColumn(WrapperComponent) {
|
|
|
216
223
|
|
|
217
224
|
return /*#__PURE__*/React.createElement(WrapperComponent, _extends({}, this.props, {
|
|
218
225
|
className: className,
|
|
219
|
-
ariaSort: getSortOrderLabel(sortOrdered)
|
|
226
|
+
ariaSort: getSortOrderLabel(intl, sortOrdered)
|
|
220
227
|
}), /*#__PURE__*/React.createElement("div", {
|
|
221
228
|
className: RendererCssClassName.SORTABLE_COLUMN_BUTTON,
|
|
222
229
|
role: "button",
|
|
@@ -236,6 +243,8 @@ export var withSortableColumn = function withSortableColumn(WrapperComponent) {
|
|
|
236
243
|
|
|
237
244
|
return WithSortableColumn;
|
|
238
245
|
}(React.Component);
|
|
246
|
+
|
|
247
|
+
return injectIntl(WithSortableColumn);
|
|
239
248
|
};
|
|
240
249
|
export var TableHeader = compose(withSortableColumn, withCellProps)('th');
|
|
241
250
|
export var TableCell = withCellProps('td');
|
|
@@ -9,7 +9,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
9
9
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
10
10
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
11
11
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
12
|
-
var _excluded = ["contextIdentifierProvider", "objectAri"];
|
|
12
|
+
var _excluded = ["contextIdentifierProvider", "objectAri", "isRenderer"];
|
|
13
13
|
|
|
14
14
|
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); }; }
|
|
15
15
|
|
|
@@ -116,11 +116,13 @@ var TaskItemWithProviders = /*#__PURE__*/function (_Component) {
|
|
|
116
116
|
var _this$props = this.props,
|
|
117
117
|
contextIdentifierProvider = _this$props.contextIdentifierProvider,
|
|
118
118
|
objectAri = _this$props.objectAri,
|
|
119
|
+
isRenderer = _this$props.isRenderer,
|
|
119
120
|
otherProps = _objectWithoutProperties(_this$props, _excluded);
|
|
120
121
|
|
|
121
122
|
var resolvedObjectId = this.state.resolvedContextProvider && this.state.resolvedContextProvider.objectId || objectAri;
|
|
122
123
|
return /*#__PURE__*/React.createElement(ResourcedTaskItem, _extends({}, otherProps, {
|
|
123
|
-
objectAri: resolvedObjectId
|
|
124
|
+
objectAri: resolvedObjectId,
|
|
125
|
+
isRenderer: isRenderer
|
|
124
126
|
}));
|
|
125
127
|
}
|
|
126
128
|
}]);
|
|
@@ -52,6 +52,7 @@ var TaskItem = /*#__PURE__*/function (_PureComponent) {
|
|
|
52
52
|
objectAri: objectAri,
|
|
53
53
|
taskId: localId,
|
|
54
54
|
isDone: state === 'DONE',
|
|
55
|
+
isRenderer: true,
|
|
55
56
|
disabled: disabled,
|
|
56
57
|
taskDecisionProvider: taskDecisionProvider,
|
|
57
58
|
contextIdentifierProvider: contextIdentifierProvider,
|
|
@@ -4,6 +4,7 @@ import { validateADFEntity, findAndTrackUnsupportedContentNodes } from '@atlaski
|
|
|
4
4
|
import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from './analytics/enums';
|
|
5
5
|
import { PLATFORM } from './analytics/events';
|
|
6
6
|
import { trackUnsupportedContentLevels } from './analytics/unsupported-content';
|
|
7
|
+
import { transformMediaLinkMarks } from '@atlaskit/adf-utils';
|
|
7
8
|
var SUPPORTS_HIRES_TIMER_API = !!(window.performance && performance.now);
|
|
8
9
|
|
|
9
10
|
var withStopwatch = function withStopwatch(cb) {
|
|
@@ -31,7 +32,21 @@ export var renderDocument = function renderDocument(doc, serializer) {
|
|
|
31
32
|
|
|
32
33
|
var _withStopwatch = withStopwatch(function () {
|
|
33
34
|
if (useSpecBasedValidator) {
|
|
34
|
-
|
|
35
|
+
// link mark on mediaSingle is deprecated, need to move link mark to child media node
|
|
36
|
+
// https://product-fabric.atlassian.net/browse/ED-14043
|
|
37
|
+
var _transformMediaLinkMa = transformMediaLinkMarks(doc),
|
|
38
|
+
transformedAdf = _transformMediaLinkMa.transformedAdf,
|
|
39
|
+
isTransformed = _transformMediaLinkMa.isTransformed;
|
|
40
|
+
|
|
41
|
+
if (isTransformed && dispatchAnalyticsEvent) {
|
|
42
|
+
dispatchAnalyticsEvent({
|
|
43
|
+
action: ACTION.MEDIA_LINK_TRANSFORMED,
|
|
44
|
+
actionSubject: ACTION_SUBJECT.RENDERER,
|
|
45
|
+
eventType: EVENT_TYPE.OPERATIONAL
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return validateADFEntity(schema, transformedAdf || doc, dispatchAnalyticsEvent);
|
|
35
50
|
}
|
|
36
51
|
|
|
37
52
|
return getValidDocument(doc, schema, adfStage);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -33,13 +33,16 @@ export function createBreakoutInlineScript(id, allowDynamicTextSizing) {
|
|
|
33
33
|
export var breakoutInlineScriptContext = "\n var breakoutConsts = ".concat(JSON.stringify(breakoutConsts), ";\n breakoutConsts.mapBreakpointToLayoutMaxWidth = ").concat(breakoutConsts.mapBreakpointToLayoutMaxWidth.toString(), ";\n breakoutConsts.getBreakpoint = ").concat(breakoutConsts.getBreakpoint.toString(), ";\n breakoutConsts.calcBreakoutWidth = ").concat(breakoutConsts.calcBreakoutWidth.toString(), ";\n breakoutConsts.calcLineLength = ").concat(breakoutConsts.calcLineLength.toString(), ";\n breakoutConsts.calcWideWidth = ").concat(breakoutConsts.calcWideWidth.toString(), ";\n");
|
|
34
34
|
|
|
35
35
|
function applyBreakoutAfterSSR(id, allowDynamicTextSizing, breakoutConsts) {
|
|
36
|
-
|
|
36
|
+
var MEDIA_NODE_TYPE = 'mediaSingle';
|
|
37
|
+
var WIDE_LAYOUT_MODES = ['full-width', 'wide'];
|
|
38
|
+
|
|
39
|
+
function findUp(element, condition) {
|
|
37
40
|
if (!element) {
|
|
38
41
|
return;
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
while (element.parentElement) {
|
|
42
|
-
if (element
|
|
45
|
+
if (condition(element)) {
|
|
43
46
|
return element.parentElement;
|
|
44
47
|
}
|
|
45
48
|
|
|
@@ -47,7 +50,11 @@ function applyBreakoutAfterSSR(id, allowDynamicTextSizing, breakoutConsts) {
|
|
|
47
50
|
}
|
|
48
51
|
}
|
|
49
52
|
|
|
50
|
-
var renderer = findUp(document.querySelector('[data-breakout-script-id="' + id + '"]'),
|
|
53
|
+
var renderer = findUp(document.querySelector('[data-breakout-script-id="' + id + '"]'), function (elem) {
|
|
54
|
+
var _elem$parentElement;
|
|
55
|
+
|
|
56
|
+
return !!((_elem$parentElement = elem.parentElement) !== null && _elem$parentElement !== void 0 && _elem$parentElement.classList.contains('ak-renderer-wrapper'));
|
|
57
|
+
});
|
|
51
58
|
|
|
52
59
|
if (!renderer) {
|
|
53
60
|
return;
|
|
@@ -64,7 +71,7 @@ function applyBreakoutAfterSSR(id, allowDynamicTextSizing, breakoutConsts) {
|
|
|
64
71
|
var node = maybeNode;
|
|
65
72
|
var mode = node.dataset.mode || node.dataset.layout || '';
|
|
66
73
|
|
|
67
|
-
if (!mode || !
|
|
74
|
+
if (!mode || !WIDE_LAYOUT_MODES.includes(mode)) {
|
|
68
75
|
return;
|
|
69
76
|
}
|
|
70
77
|
|
|
@@ -87,9 +94,45 @@ function applyBreakoutAfterSSR(id, allowDynamicTextSizing, breakoutConsts) {
|
|
|
87
94
|
}
|
|
88
95
|
}
|
|
89
96
|
});
|
|
97
|
+
} else if (
|
|
98
|
+
/**
|
|
99
|
+
* The mutation observer is only called once per added node.
|
|
100
|
+
* The above condition only deals with direct children of <div class="ak-renderer-document" />
|
|
101
|
+
* When it is initially called on the direct children, not all the sub children have loaded.
|
|
102
|
+
* So nested media elements which are not immediately loaded as sub children are not availabe in the above conditional.
|
|
103
|
+
* Thus adding this conditional to deal with all meida elements directly.
|
|
104
|
+
*/
|
|
105
|
+
item.target.dataset.nodeType === MEDIA_NODE_TYPE) {
|
|
106
|
+
applyMediaBreakout(item.target);
|
|
90
107
|
}
|
|
91
108
|
});
|
|
92
109
|
});
|
|
110
|
+
|
|
111
|
+
var applyMediaBreakout = function applyMediaBreakout(card) {
|
|
112
|
+
// width was already set by another breakout script
|
|
113
|
+
if (card.style.width) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
var tableParent = findUp(card, function (elem) {
|
|
118
|
+
return elem instanceof HTMLTableCellElement;
|
|
119
|
+
}); // only apply the breakout to media elements not nested inside table
|
|
120
|
+
// table sizing is not based on percentage width
|
|
121
|
+
|
|
122
|
+
if (tableParent) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
var mode = card.dataset.mode || card.dataset.layout || '';
|
|
127
|
+
var width = card.dataset.width;
|
|
128
|
+
|
|
129
|
+
if (WIDE_LAYOUT_MODES.includes(mode)) {
|
|
130
|
+
card.style.width = '100%';
|
|
131
|
+
} else if (width) {
|
|
132
|
+
card.style.width = "".concat(width, "%");
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
|
|
93
136
|
observer.observe(renderer, {
|
|
94
137
|
childList: true,
|
|
95
138
|
subtree: true
|
|
@@ -208,6 +208,7 @@ export var Renderer = /*#__PURE__*/function (_PureComponent) {
|
|
|
208
208
|
allowMediaLinking: props.media && props.media.allowLinking,
|
|
209
209
|
surroundTextNodesWithTextWrapper: allowAnnotationsDraftMode,
|
|
210
210
|
media: props.media,
|
|
211
|
+
smartLinks: props.smartLinks,
|
|
211
212
|
allowCopyToClipboard: props.allowCopyToClipboard,
|
|
212
213
|
allowCustomPanels: props.allowCustomPanels,
|
|
213
214
|
allowAnnotations: props.allowAnnotations,
|
|
@@ -7,7 +7,9 @@ import styled from 'styled-components';
|
|
|
7
7
|
import Tooltip from '@atlaskit/tooltip';
|
|
8
8
|
import { gridSize } from '@atlaskit/theme/constants';
|
|
9
9
|
import { N20, N30 } from '@atlaskit/theme/colors';
|
|
10
|
-
import { SortOrder } from '@atlaskit/editor-common/types';
|
|
10
|
+
import { SortOrder } from '@atlaskit/editor-common/types';
|
|
11
|
+
import { sortingIconMessages } from '../messages';
|
|
12
|
+
import { injectIntl } from 'react-intl-next'; // We use data url here because of this issue:
|
|
11
13
|
// https://product-fabric.atlassian.net/browse/ED-8001
|
|
12
14
|
// Remove this workaround if Firefox has fixed: https://bugzilla.mozilla.org/show_bug.cgi?id=1664350
|
|
13
15
|
|
|
@@ -38,29 +40,37 @@ var getClassName = function getClassName(status) {
|
|
|
38
40
|
}
|
|
39
41
|
};
|
|
40
42
|
|
|
41
|
-
var getTooltipTitle = function getTooltipTitle(status) {
|
|
43
|
+
var getTooltipTitle = function getTooltipTitle(intl, isSortingAllowed, status) {
|
|
44
|
+
var noOrderLabel = sortingIconMessages.noOrderLabel,
|
|
45
|
+
ascOrderLabel = sortingIconMessages.ascOrderLabel,
|
|
46
|
+
descOrderLabel = sortingIconMessages.descOrderLabel,
|
|
47
|
+
invalidLabel = sortingIconMessages.invalidLabel;
|
|
48
|
+
|
|
49
|
+
if (!isSortingAllowed) {
|
|
50
|
+
return intl.formatMessage(invalidLabel);
|
|
51
|
+
}
|
|
52
|
+
|
|
42
53
|
switch (status) {
|
|
43
54
|
case SortOrder.NO_ORDER:
|
|
44
|
-
return
|
|
55
|
+
return intl.formatMessage(noOrderLabel);
|
|
45
56
|
|
|
46
57
|
case SortOrder.ASC:
|
|
47
|
-
return
|
|
58
|
+
return intl.formatMessage(ascOrderLabel);
|
|
48
59
|
|
|
49
60
|
case SortOrder.DESC:
|
|
50
|
-
return
|
|
61
|
+
return intl.formatMessage(descOrderLabel);
|
|
51
62
|
}
|
|
52
63
|
|
|
53
64
|
return '';
|
|
54
65
|
};
|
|
55
66
|
|
|
56
|
-
var notAllowedTooltip = "\u26A0\uFE0F You can't sort a table with merged cell";
|
|
57
|
-
|
|
58
67
|
var SortingIcon = function SortingIcon(_ref) {
|
|
59
68
|
var isSortingAllowed = _ref.isSortingAllowed,
|
|
60
|
-
sortOrdered = _ref.sortOrdered
|
|
69
|
+
sortOrdered = _ref.sortOrdered,
|
|
70
|
+
intl = _ref.intl;
|
|
61
71
|
var activated = sortOrdered !== SortOrder.NO_ORDER;
|
|
62
72
|
var wrapperClassName = !isSortingAllowed ? StatusClassNames.SORTING_NOT_ALLOWED : '';
|
|
63
|
-
var content = isSortingAllowed
|
|
73
|
+
var content = getTooltipTitle(intl, isSortingAllowed, sortOrdered);
|
|
64
74
|
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
65
75
|
delay: 0,
|
|
66
76
|
content: content,
|
|
@@ -72,4 +82,4 @@ var SortingIcon = function SortingIcon(_ref) {
|
|
|
72
82
|
})));
|
|
73
83
|
};
|
|
74
84
|
|
|
75
|
-
export default SortingIcon;
|
|
85
|
+
export default injectIntl(SortingIcon);
|
package/dist/esm/version.json
CHANGED
|
@@ -25,7 +25,8 @@ export declare enum ACTION {
|
|
|
25
25
|
RESOLVED = "resolved",
|
|
26
26
|
CREATE_NOT_ALLOWED = "createNotAllowed",
|
|
27
27
|
UNSUPPORTED_CONTENT_LEVELS_TRACKING_SUCCEEDED = "unsupportedContentLevelsTrackingSucceeded",
|
|
28
|
-
UNSUPPORTED_CONTENT_LEVELS_TRACKING_ERRORED = "unsupportedContentLevelsTrackingErrored"
|
|
28
|
+
UNSUPPORTED_CONTENT_LEVELS_TRACKING_ERRORED = "unsupportedContentLevelsTrackingErrored",
|
|
29
|
+
MEDIA_LINK_TRANSFORMED = "mediaLinkTransformed"
|
|
29
30
|
}
|
|
30
31
|
export declare enum ACTION_SUBJECT {
|
|
31
32
|
RENDERER = "renderer",
|