@atlaskit/renderer 113.1.2 → 113.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +24 -0
- package/dist/cjs/react/index.js +12 -0
- package/dist/cjs/react/nodes/TableStickyScrollbar.js +3 -4
- package/dist/cjs/react/nodes/bodiedExtension.js +5 -3
- package/dist/cjs/react/nodes/extension.js +31 -5
- package/dist/cjs/ui/Renderer/RendererStyleContainer.js +1369 -0
- package/dist/cjs/ui/Renderer/get-base-font-size.js +10 -0
- package/dist/cjs/ui/Renderer/index.js +15 -16
- package/dist/cjs/ui/Renderer/style.js +1 -1
- package/dist/es2019/react/index.js +10 -0
- package/dist/es2019/react/nodes/TableStickyScrollbar.js +3 -4
- package/dist/es2019/react/nodes/bodiedExtension.js +5 -3
- package/dist/es2019/react/nodes/extension.js +28 -6
- package/dist/es2019/ui/Renderer/RendererStyleContainer.js +1742 -0
- package/dist/es2019/ui/Renderer/get-base-font-size.js +4 -0
- package/dist/es2019/ui/Renderer/index.js +16 -17
- package/dist/es2019/ui/Renderer/style.js +3 -3
- package/dist/esm/react/index.js +12 -0
- package/dist/esm/react/nodes/TableStickyScrollbar.js +3 -4
- package/dist/esm/react/nodes/bodiedExtension.js +5 -3
- package/dist/esm/react/nodes/extension.js +31 -5
- package/dist/esm/ui/Renderer/RendererStyleContainer.js +1362 -0
- package/dist/esm/ui/Renderer/get-base-font-size.js +4 -0
- package/dist/esm/ui/Renderer/index.js +16 -17
- package/dist/esm/ui/Renderer/style.js +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/react/index.d.ts +4 -1
- package/dist/types/react/nodes/bodiedExtension.d.ts +2 -1
- package/dist/types/react/nodes/extension.d.ts +4 -3
- package/dist/types/react/types.d.ts +4 -0
- package/dist/types/ui/Renderer/RendererStyleContainer.d.ts +11 -0
- package/dist/types/ui/Renderer/get-base-font-size.d.ts +2 -0
- package/dist/types/ui/Renderer/index.d.ts +23 -0
- package/dist/types/ui/renderer-props.d.ts +2 -1
- package/dist/types-ts4.5/index.d.ts +1 -1
- package/dist/types-ts4.5/react/index.d.ts +4 -1
- package/dist/types-ts4.5/react/nodes/bodiedExtension.d.ts +2 -1
- package/dist/types-ts4.5/react/nodes/extension.d.ts +4 -3
- package/dist/types-ts4.5/react/types.d.ts +4 -0
- package/dist/types-ts4.5/ui/Renderer/RendererStyleContainer.d.ts +11 -0
- package/dist/types-ts4.5/ui/Renderer/get-base-font-size.d.ts +2 -0
- package/dist/types-ts4.5/ui/Renderer/index.d.ts +23 -0
- package/dist/types-ts4.5/ui/renderer-props.d.ts +2 -1
- package/package.json +18 -12
|
@@ -22,7 +22,6 @@ import { FabricChannel } from '@atlaskit/analytics-listeners/types';
|
|
|
22
22
|
import { FabricEditorAnalyticsContext } from '@atlaskit/analytics-namespaced-context';
|
|
23
23
|
import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
24
24
|
import { normalizeFeatureFlags } from '@atlaskit/editor-common/normalize-feature-flags';
|
|
25
|
-
import { akEditorFullPageDefaultFontSize } from '@atlaskit/editor-shared-styles';
|
|
26
25
|
import memoizeOne from 'memoize-one';
|
|
27
26
|
import uuid from 'uuid/v4';
|
|
28
27
|
import { ReactSerializer, renderDocument } from '../../';
|
|
@@ -40,13 +39,15 @@ import { ErrorBoundary } from './ErrorBoundary';
|
|
|
40
39
|
import { BreakoutSSRInlineScript } from './breakout-ssr';
|
|
41
40
|
import { isInteractiveElement } from './click-to-edit';
|
|
42
41
|
import { countNodes } from './count-nodes';
|
|
43
|
-
import { TELEPOINTER_ID
|
|
42
|
+
import { TELEPOINTER_ID } from './style';
|
|
44
43
|
import { TruncatedWrapper } from './truncated-wrapper';
|
|
45
44
|
import { ValidationContext } from './ValidationContext';
|
|
45
|
+
import { RendererStyleContainer } from './RendererStyleContainer';
|
|
46
|
+
import { getBaseFontSize } from './get-base-font-size';
|
|
46
47
|
export const NORMAL_SEVERITY_THRESHOLD = 2000;
|
|
47
48
|
export const DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
48
49
|
const packageName = "@atlaskit/renderer";
|
|
49
|
-
const packageVersion = "113.1
|
|
50
|
+
const packageVersion = "113.2.1";
|
|
50
51
|
const setAsQueryContainerStyles = css({
|
|
51
52
|
containerName: 'ak-renderer-wrapper',
|
|
52
53
|
containerType: 'inline-size',
|
|
@@ -273,6 +274,7 @@ export class __RendererClassComponent extends PureComponent {
|
|
|
273
274
|
media: props.media,
|
|
274
275
|
emojiResourceConfig: props.emojiResourceConfig,
|
|
275
276
|
smartLinks: props.smartLinks,
|
|
277
|
+
extensionViewportSizes: props.extensionViewportSizes,
|
|
276
278
|
allowCopyToClipboard: props.allowCopyToClipboard,
|
|
277
279
|
allowWrapCodeBlock: props.allowWrapCodeBlock,
|
|
278
280
|
allowCustomPanels: props.allowCustomPanels,
|
|
@@ -608,6 +610,7 @@ const RendererFunctionalComponent = props => {
|
|
|
608
610
|
media: props.media,
|
|
609
611
|
emojiResourceConfig: props.emojiResourceConfig,
|
|
610
612
|
smartLinks: props.smartLinks,
|
|
613
|
+
extensionViewportSizes: props.extensionViewportSizes,
|
|
611
614
|
allowCopyToClipboard: props.allowCopyToClipboard,
|
|
612
615
|
allowWrapCodeBlock: props.allowWrapCodeBlock,
|
|
613
616
|
allowCustomPanels: props.allowCustomPanels,
|
|
@@ -936,23 +939,19 @@ const RendererWrapper = /*#__PURE__*/React.memo(props => {
|
|
|
936
939
|
"data-appearance": appearance,
|
|
937
940
|
shouldCheckExistingValue: isInsideOfInlineExtension
|
|
938
941
|
}, jsx(BaseTheme, {
|
|
939
|
-
baseFontSize: appearance
|
|
942
|
+
baseFontSize: getBaseFontSize(appearance)
|
|
940
943
|
}, jsx(EditorMediaClientProvider, {
|
|
941
944
|
ssr: ssr
|
|
942
|
-
}, jsx(
|
|
943
|
-
|
|
945
|
+
}, jsx(RendererStyleContainer, {
|
|
946
|
+
innerRef: innerRef,
|
|
944
947
|
onClick: onClick,
|
|
945
|
-
onMouseDown: onMouseDown
|
|
946
|
-
|
|
947
|
-
,
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
useBlockRenderForCodeBlock,
|
|
953
|
-
allowAnnotations: props.allowAnnotations,
|
|
954
|
-
allowTableResizing: allowTableResizing
|
|
955
|
-
})
|
|
948
|
+
onMouseDown: onMouseDown,
|
|
949
|
+
appearance: appearance,
|
|
950
|
+
allowNestedHeaderLinks: allowNestedHeaderLinks,
|
|
951
|
+
allowColumnSorting: !!allowColumnSorting,
|
|
952
|
+
useBlockRenderForCodeBlock: useBlockRenderForCodeBlock,
|
|
953
|
+
allowAnnotations: props.allowAnnotations,
|
|
954
|
+
allowTableResizing: allowTableResizing
|
|
956
955
|
}, children))));
|
|
957
956
|
|
|
958
957
|
// We can only make the wrapper div query container when we have a known width.
|
|
@@ -312,9 +312,9 @@ const tableSortableColumnStyle = ({
|
|
|
312
312
|
|
|
313
313
|
&:hover:not(
|
|
314
314
|
:has(
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
315
|
+
.${RendererCssClassName.SORTABLE_COLUMN_WRAPPER}
|
|
316
|
+
.${RendererCssClassName.SORTABLE_COLUMN}:hover
|
|
317
|
+
)
|
|
318
318
|
)
|
|
319
319
|
> .${RendererCssClassName.SORTABLE_COLUMN}
|
|
320
320
|
> .${RendererCssClassName.SORTABLE_COLUMN_NO_ORDER} {
|
package/dist/esm/react/index.js
CHANGED
|
@@ -190,6 +190,7 @@ var ReactSerializer = /*#__PURE__*/function () {
|
|
|
190
190
|
this.media = init.media;
|
|
191
191
|
this.emojiResourceConfig = init.emojiResourceConfig;
|
|
192
192
|
this.smartLinks = init.smartLinks;
|
|
193
|
+
this.extensionViewportSizes = init.extensionViewportSizes;
|
|
193
194
|
this.allowSelectAllTrap = init.allowSelectAllTrap;
|
|
194
195
|
this.nodeComponents = init.nodeComponents;
|
|
195
196
|
this.allowWindowedCodeBlock = init.allowWindowedCodeBlock;
|
|
@@ -220,6 +221,9 @@ var ReactSerializer = /*#__PURE__*/function () {
|
|
|
220
221
|
return this.getMediaProps(node, path);
|
|
221
222
|
case 'emoji':
|
|
222
223
|
return this.getEmojiProps(node);
|
|
224
|
+
case 'extension':
|
|
225
|
+
case 'bodiedExtension':
|
|
226
|
+
return this.getExtensionProps(node, path);
|
|
223
227
|
case 'mediaGroup':
|
|
224
228
|
return this.getMediaGroupProps(node);
|
|
225
229
|
case 'mediaInline':
|
|
@@ -481,6 +485,14 @@ var ReactSerializer = /*#__PURE__*/function () {
|
|
|
481
485
|
allowAnnotationsDraftMode: this.surroundTextNodesWithTextWrapper
|
|
482
486
|
});
|
|
483
487
|
}
|
|
488
|
+
}, {
|
|
489
|
+
key: "getExtensionProps",
|
|
490
|
+
value: function getExtensionProps(node) {
|
|
491
|
+
var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
492
|
+
return _objectSpread(_objectSpread({}, this.getProps(node, path)), {}, {
|
|
493
|
+
extensionViewportSizes: this.extensionViewportSizes
|
|
494
|
+
});
|
|
495
|
+
}
|
|
484
496
|
}, {
|
|
485
497
|
key: "getEmojiProps",
|
|
486
498
|
value: function getEmojiProps(node) {
|
|
@@ -84,10 +84,9 @@ export var TableStickyScrollbar = /*#__PURE__*/function () {
|
|
|
84
84
|
root: this.rendererScrollableElement
|
|
85
85
|
});
|
|
86
86
|
var bottomSentinels = (_this$wrapper = this.wrapper) === null || _this$wrapper === void 0 || (_this$wrapper = _this$wrapper.parentElement) === null || _this$wrapper === void 0 ? void 0 : _this$wrapper.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM);
|
|
87
|
-
this.sentinels.bottom = fg('platform_editor_querySelector_fix_table_renderer')
|
|
88
|
-
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
89
|
-
|
|
90
|
-
: (_this$wrapper2 = this.wrapper) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.parentElement) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper2 === void 0 ? void 0 : _this$wrapper2.item(0);
|
|
87
|
+
this.sentinels.bottom = fg('platform_editor_querySelector_fix_table_renderer') ? // eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
88
|
+
bottomSentinels === null || bottomSentinels === void 0 ? void 0 : bottomSentinels.item(bottomSentinels.length - 1) : // eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
89
|
+
(_this$wrapper2 = this.wrapper) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.parentElement) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper2 === void 0 ? void 0 : _this$wrapper2.item(0);
|
|
91
90
|
|
|
92
91
|
// Ignored via go/ees005
|
|
93
92
|
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
@@ -14,7 +14,9 @@ var BodiedExtension = function BodiedExtension(props) {
|
|
|
14
14
|
_props$path = props.path,
|
|
15
15
|
path = _props$path === void 0 ? [] : _props$path,
|
|
16
16
|
extensionKey = props.extensionKey,
|
|
17
|
-
extensionType = props.extensionType
|
|
17
|
+
extensionType = props.extensionType,
|
|
18
|
+
parameters = props.parameters,
|
|
19
|
+
extensionViewportSizes = props.extensionViewportSizes;
|
|
18
20
|
var _useAnalyticsEvents = useAnalyticsEvents(),
|
|
19
21
|
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
20
22
|
var removeOverflow = React.Children.toArray(children)
|
|
@@ -44,7 +46,7 @@ var BodiedExtension = function BodiedExtension(props) {
|
|
|
44
46
|
// Return the content directly if it's a valid JSX.Element
|
|
45
47
|
return renderExtension(result, layout, {
|
|
46
48
|
isTopLevel: path.length < 1
|
|
47
|
-
}, removeOverflow);
|
|
49
|
+
}, removeOverflow, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
|
|
48
50
|
}
|
|
49
51
|
} catch (e) {
|
|
50
52
|
/** We don't want this error to block renderer */
|
|
@@ -54,7 +56,7 @@ var BodiedExtension = function BodiedExtension(props) {
|
|
|
54
56
|
// Always return default content if anything goes wrong
|
|
55
57
|
return renderExtension(children, layout, {
|
|
56
58
|
isTopLevel: path.length < 1
|
|
57
|
-
}, removeOverflow);
|
|
59
|
+
}, removeOverflow, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
|
|
58
60
|
})));
|
|
59
61
|
};
|
|
60
62
|
export default BodiedExtension;
|
|
@@ -4,9 +4,32 @@ import ExtensionRenderer from '../../ui/ExtensionRenderer';
|
|
|
4
4
|
import { overflowShadow, WidthConsumer } from '@atlaskit/editor-common/ui';
|
|
5
5
|
import { calcBreakoutWidth } from '@atlaskit/editor-common/utils';
|
|
6
6
|
import { RendererCssClassName } from '../../consts';
|
|
7
|
+
var viewportSizes = ['small', 'medium', 'default', 'large', 'xlarge'];
|
|
8
|
+
// Mirrors sizes from https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/forge/xen-editor-provider/src/render/renderers/ForgeUIExtension.tsx
|
|
9
|
+
var macroHeights = {
|
|
10
|
+
small: '112px',
|
|
11
|
+
medium: '262px',
|
|
12
|
+
default: '262px',
|
|
13
|
+
large: '524px',
|
|
14
|
+
xlarge: '1048px'
|
|
15
|
+
};
|
|
16
|
+
var getViewportSize = function getViewportSize(extensionId, extensionViewportSizes) {
|
|
17
|
+
if (!Array.isArray(extensionViewportSizes) || !extensionId) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
var extension = extensionViewportSizes.find(function (extension) {
|
|
21
|
+
return extension.extensionId === extensionId;
|
|
22
|
+
});
|
|
23
|
+
if (extension) {
|
|
24
|
+
var viewportSize = extension.viewportSize && viewportSizes.includes(extension.viewportSize) ? extension.viewportSize : 'default';
|
|
25
|
+
return macroHeights[viewportSize];
|
|
26
|
+
}
|
|
27
|
+
};
|
|
7
28
|
export var renderExtension = function renderExtension(content, layout) {
|
|
8
29
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
9
30
|
var removeOverflow = arguments.length > 3 ? arguments[3] : undefined;
|
|
31
|
+
var extensionId = arguments.length > 4 ? arguments[4] : undefined;
|
|
32
|
+
var extensionViewportSizes = arguments.length > 5 ? arguments[5] : undefined;
|
|
10
33
|
var overflowContainerClass = !removeOverflow ? RendererCssClassName.EXTENSION_OVERFLOW_CONTAINER : '';
|
|
11
34
|
|
|
12
35
|
// by default, we assume the extension is at top level, (direct child of doc node)
|
|
@@ -14,6 +37,7 @@ export var renderExtension = function renderExtension(content, layout) {
|
|
|
14
37
|
_ref$isTopLevel = _ref.isTopLevel,
|
|
15
38
|
isTopLevel = _ref$isTopLevel === void 0 ? true : _ref$isTopLevel;
|
|
16
39
|
var centerAlignClass = isTopLevel && ['wide', 'full-width'].includes(layout) ? RendererCssClassName.EXTENSION_CENTER_ALIGN : '';
|
|
40
|
+
var viewportSize = getViewportSize(extensionId, extensionViewportSizes);
|
|
17
41
|
return /*#__PURE__*/React.createElement(WidthConsumer, null, function (_ref2) {
|
|
18
42
|
var width = _ref2.width;
|
|
19
43
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -23,7 +47,8 @@ export var renderExtension = function renderExtension(content, layout) {
|
|
|
23
47
|
className: "".concat(RendererCssClassName.EXTENSION, " ").concat(options.shadowClassNames, " ").concat(centerAlignClass),
|
|
24
48
|
style: {
|
|
25
49
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
26
|
-
width: isTopLevel ? calcBreakoutWidth(layout, width) : '100%'
|
|
50
|
+
width: isTopLevel ? calcBreakoutWidth(layout, width) : '100%',
|
|
51
|
+
minHeight: viewportSize
|
|
27
52
|
},
|
|
28
53
|
"data-layout": layout
|
|
29
54
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -38,7 +63,9 @@ var Extension = function Extension(props) {
|
|
|
38
63
|
handleRef = props.handleRef,
|
|
39
64
|
shadowClassNames = props.shadowClassNames,
|
|
40
65
|
_props$path = props.path,
|
|
41
|
-
path = _props$path === void 0 ? [] : _props$path
|
|
66
|
+
path = _props$path === void 0 ? [] : _props$path,
|
|
67
|
+
extensionViewportSizes = props.extensionViewportSizes,
|
|
68
|
+
parameters = props.parameters;
|
|
42
69
|
return /*#__PURE__*/React.createElement(ExtensionRenderer
|
|
43
70
|
// Ignored via go/ees005
|
|
44
71
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
@@ -53,19 +80,18 @@ var Extension = function Extension(props) {
|
|
|
53
80
|
isTopLevel: path.length < 1,
|
|
54
81
|
handleRef: handleRef,
|
|
55
82
|
shadowClassNames: shadowClassNames
|
|
56
|
-
});
|
|
83
|
+
}, undefined, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
|
|
57
84
|
}
|
|
58
85
|
} catch (e) {
|
|
59
86
|
/** We don't want this error to block renderer */
|
|
60
87
|
/** We keep rendering the default content */
|
|
61
88
|
}
|
|
62
|
-
|
|
63
89
|
// Always return default content if anything goes wrong
|
|
64
90
|
return renderExtension(text || 'extension', layout, {
|
|
65
91
|
isTopLevel: path.length < 1,
|
|
66
92
|
handleRef: handleRef,
|
|
67
93
|
shadowClassNames: shadowClassNames
|
|
68
|
-
});
|
|
94
|
+
}, undefined, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
|
|
69
95
|
});
|
|
70
96
|
};
|
|
71
97
|
export default overflowShadow(Extension, {
|