@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
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getBaseFontSize = void 0;
|
|
7
|
+
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
8
|
+
var getBaseFontSize = exports.getBaseFontSize = function getBaseFontSize(appearance) {
|
|
9
|
+
return appearance && appearance !== 'comment' ? _editorSharedStyles.akEditorFullPageDefaultFontSize : 14;
|
|
10
|
+
};
|
|
@@ -31,7 +31,6 @@ var _types = require("@atlaskit/analytics-listeners/types");
|
|
|
31
31
|
var _analyticsNamespacedContext = require("@atlaskit/analytics-namespaced-context");
|
|
32
32
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
33
33
|
var _normalizeFeatureFlags = require("@atlaskit/editor-common/normalize-feature-flags");
|
|
34
|
-
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
35
34
|
var _memoizeOne = _interopRequireDefault(require("memoize-one"));
|
|
36
35
|
var _v = _interopRequireDefault(require("uuid/v4"));
|
|
37
36
|
var _ = require("../../");
|
|
@@ -52,6 +51,8 @@ var _countNodes = require("./count-nodes");
|
|
|
52
51
|
var _style = require("./style");
|
|
53
52
|
var _truncatedWrapper = require("./truncated-wrapper");
|
|
54
53
|
var _ValidationContext = require("./ValidationContext");
|
|
54
|
+
var _RendererStyleContainer = require("./RendererStyleContainer");
|
|
55
|
+
var _getBaseFontSize = require("./get-base-font-size");
|
|
55
56
|
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); }
|
|
56
57
|
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 && {}.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; }
|
|
57
58
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -65,7 +66,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
65
66
|
var NORMAL_SEVERITY_THRESHOLD = exports.NORMAL_SEVERITY_THRESHOLD = 2000;
|
|
66
67
|
var DEGRADED_SEVERITY_THRESHOLD = exports.DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
67
68
|
var packageName = "@atlaskit/renderer";
|
|
68
|
-
var packageVersion = "113.1
|
|
69
|
+
var packageVersion = "113.2.1";
|
|
69
70
|
var setAsQueryContainerStyles = (0, _react2.css)({
|
|
70
71
|
containerName: 'ak-renderer-wrapper',
|
|
71
72
|
containerType: 'inline-size',
|
|
@@ -293,6 +294,7 @@ var __RendererClassComponent = exports.__RendererClassComponent = /*#__PURE__*/f
|
|
|
293
294
|
media: props.media,
|
|
294
295
|
emojiResourceConfig: props.emojiResourceConfig,
|
|
295
296
|
smartLinks: props.smartLinks,
|
|
297
|
+
extensionViewportSizes: props.extensionViewportSizes,
|
|
296
298
|
allowCopyToClipboard: props.allowCopyToClipboard,
|
|
297
299
|
allowWrapCodeBlock: props.allowWrapCodeBlock,
|
|
298
300
|
allowCustomPanels: props.allowCustomPanels,
|
|
@@ -628,6 +630,7 @@ var RendererFunctionalComponent = function RendererFunctionalComponent(props) {
|
|
|
628
630
|
media: props.media,
|
|
629
631
|
emojiResourceConfig: props.emojiResourceConfig,
|
|
630
632
|
smartLinks: props.smartLinks,
|
|
633
|
+
extensionViewportSizes: props.extensionViewportSizes,
|
|
631
634
|
allowCopyToClipboard: props.allowCopyToClipboard,
|
|
632
635
|
allowWrapCodeBlock: props.allowWrapCodeBlock,
|
|
633
636
|
allowCustomPanels: props.allowCustomPanels,
|
|
@@ -961,23 +964,19 @@ var RendererWrapper = /*#__PURE__*/_react.default.memo(function (props) {
|
|
|
961
964
|
"data-appearance": appearance,
|
|
962
965
|
shouldCheckExistingValue: isInsideOfInlineExtension
|
|
963
966
|
}, (0, _react2.jsx)(_ui.BaseTheme, {
|
|
964
|
-
baseFontSize:
|
|
967
|
+
baseFontSize: (0, _getBaseFontSize.getBaseFontSize)(appearance)
|
|
965
968
|
}, (0, _react2.jsx)(_EditorMediaClientProvider.EditorMediaClientProvider, {
|
|
966
969
|
ssr: ssr
|
|
967
|
-
}, (0, _react2.jsx)(
|
|
968
|
-
|
|
970
|
+
}, (0, _react2.jsx)(_RendererStyleContainer.RendererStyleContainer, {
|
|
971
|
+
innerRef: innerRef,
|
|
969
972
|
onClick: onClick,
|
|
970
|
-
onMouseDown: onMouseDown
|
|
971
|
-
|
|
972
|
-
,
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
useBlockRenderForCodeBlock: useBlockRenderForCodeBlock,
|
|
978
|
-
allowAnnotations: props.allowAnnotations,
|
|
979
|
-
allowTableResizing: allowTableResizing
|
|
980
|
-
})
|
|
973
|
+
onMouseDown: onMouseDown,
|
|
974
|
+
appearance: appearance,
|
|
975
|
+
allowNestedHeaderLinks: allowNestedHeaderLinks,
|
|
976
|
+
allowColumnSorting: !!allowColumnSorting,
|
|
977
|
+
useBlockRenderForCodeBlock: useBlockRenderForCodeBlock,
|
|
978
|
+
allowAnnotations: props.allowAnnotations,
|
|
979
|
+
allowTableResizing: allowTableResizing
|
|
981
980
|
}, children))));
|
|
982
981
|
|
|
983
982
|
// We can only make the wrapper div query container when we have a known width.
|
|
@@ -128,7 +128,7 @@ var tableSortableColumnStyle = function tableSortableColumnStyle(_ref2) {
|
|
|
128
128
|
if (allowNestedHeaderLinks) {
|
|
129
129
|
headingsCss = "\n /**\n * When the sort button is enabled we want the heading's copy link button\n * to reserve space so that it can prematurely wrap to avoid the button\n * being displayed underneath the sort button (hidden or obscured).\n *\n * The two buttons fight each other since the sort button is displayed\n * on hover of the <th /> and the copy link button is displayed on hover\n * of the heading.\n *\n * Note that this can break the WYSIWYG experience in the case where\n * a heading fills the width of the table cell and the only thing which\n * wraps is the copy link button. This is hopefully a rare fringe case.\n */\n .".concat(_headingAnchor.HeadingAnchorWrapperClassName, " {\n position: unset;\n }\n > {\n h1, h2, h3, h4, h5, h6 {\n margin-right: 30px;\n }\n }\n ");
|
|
130
130
|
}
|
|
131
|
-
return (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n\t\t.", " {\n\t\t\tpadding: 0;\n\n\t\t\t.", " {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tpadding: ", "px;\n\t\t\t\tborder-width: 1.5px;\n\t\t\t\tborder-style: solid;\n\t\t\t\tborder-color: transparent;\n\n\t\t\t\t> *:first-child {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\n\t\t\t\t> .ProseMirror-gapcursor:first-child + *,\n\t\t\t\t> style:first-child + .ProseMirror-gapcursor + * {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\n\t\t\t\t> .ProseMirror-gapcursor:first-child + span + *,\n\t\t\t\t> style:first-child + .ProseMirror-gapcursor + span + * {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\n\t\t\t\t@supports selector(:focus-visible) {\n\t\t\t\t\t&:focus {\n\t\t\t\t\t\toutline: unset;\n\t\t\t\t\t}\n\t\t\t\t\t&:focus-visible {\n\t\t\t\t\t\tborder-color: ", ";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t", "\n\t\t\t}\n\n\t\t\t", "\n\t\t}\n\t"])), _consts.RendererCssClassName.SORTABLE_COLUMN_WRAPPER, _consts.RendererCssClassName.SORTABLE_COLUMN, _styles.tableCellPadding, "var(--ds-border-focused, ".concat(colors.B300, ")"), headingsCss, (0, _platformFeatureFlags.fg)('platform_editor_nested_tables_renderer_styles') ? (0, _react.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n\t\t\t\t\t\t// New styles\n\t\t\t\t\t\t> .", "\n\t\t\t\t\t\t\t> .", " {\n\t\t\t\t\t\t\tmargin: 0;\n\n\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\t\ttransition: opacity 0.2s ease-in-out;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t> .", "\n\t\t\t\t\t\t\t> .", " {\n\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\topacity: 0;\n\t\t\t\t\t\t\t\t&:focus {\n\t\t\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&:hover:not(\n\t\t\t\t\t\t\t\t:has(\n\t\t\t\t\t\t\t\t\t
|
|
131
|
+
return (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n\t\t.", " {\n\t\t\tpadding: 0;\n\n\t\t\t.", " {\n\t\t\t\twidth: 100%;\n\t\t\t\theight: 100%;\n\t\t\t\tpadding: ", "px;\n\t\t\t\tborder-width: 1.5px;\n\t\t\t\tborder-style: solid;\n\t\t\t\tborder-color: transparent;\n\n\t\t\t\t> *:first-child {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\n\t\t\t\t> .ProseMirror-gapcursor:first-child + *,\n\t\t\t\t> style:first-child + .ProseMirror-gapcursor + * {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\n\t\t\t\t> .ProseMirror-gapcursor:first-child + span + *,\n\t\t\t\t> style:first-child + .ProseMirror-gapcursor + span + * {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\n\t\t\t\t@supports selector(:focus-visible) {\n\t\t\t\t\t&:focus {\n\t\t\t\t\t\toutline: unset;\n\t\t\t\t\t}\n\t\t\t\t\t&:focus-visible {\n\t\t\t\t\t\tborder-color: ", ";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t", "\n\t\t\t}\n\n\t\t\t", "\n\t\t}\n\t"])), _consts.RendererCssClassName.SORTABLE_COLUMN_WRAPPER, _consts.RendererCssClassName.SORTABLE_COLUMN, _styles.tableCellPadding, "var(--ds-border-focused, ".concat(colors.B300, ")"), headingsCss, (0, _platformFeatureFlags.fg)('platform_editor_nested_tables_renderer_styles') ? (0, _react.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n\t\t\t\t\t\t// New styles\n\t\t\t\t\t\t> .", "\n\t\t\t\t\t\t\t> .", " {\n\t\t\t\t\t\t\tmargin: 0;\n\n\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\t\ttransition: opacity 0.2s ease-in-out;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t> .", "\n\t\t\t\t\t\t\t> .", " {\n\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\topacity: 0;\n\t\t\t\t\t\t\t\t&:focus {\n\t\t\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&:hover:not(\n\t\t\t\t\t\t\t\t:has(\n\t\t\t\t\t\t\t\t\t.", "\n\t\t\t\t\t\t\t\t\t\t.", ":hover\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t> .", "\n\t\t\t\t\t\t\t> .", " {\n\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t"])), _consts.RendererCssClassName.SORTABLE_COLUMN, _consts.RendererCssClassName.SORTABLE_COLUMN_ICON_WRAPPER, _table2.SORTABLE_COLUMN_ICON_CLASSNAME, _consts.RendererCssClassName.SORTABLE_COLUMN, _consts.RendererCssClassName.SORTABLE_COLUMN_NO_ORDER, _table2.SORTABLE_COLUMN_ICON_CLASSNAME, _consts.RendererCssClassName.SORTABLE_COLUMN_WRAPPER, _consts.RendererCssClassName.SORTABLE_COLUMN, _consts.RendererCssClassName.SORTABLE_COLUMN, _consts.RendererCssClassName.SORTABLE_COLUMN_NO_ORDER, _table2.SORTABLE_COLUMN_ICON_CLASSNAME) : (0, _react.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n\t\t\t\t\t\t// old styles\n\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\t\ttransition: opacity 0.2s ease-in-out;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\topacity: 0;\n\t\t\t\t\t\t\t\t&:focus {\n\t\t\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t"])), _consts.RendererCssClassName.SORTABLE_COLUMN_ICON_WRAPPER, _table2.SORTABLE_COLUMN_ICON_CLASSNAME, _consts.RendererCssClassName.SORTABLE_COLUMN_NO_ORDER, _table2.SORTABLE_COLUMN_ICON_CLASSNAME, _consts.RendererCssClassName.SORTABLE_COLUMN_NO_ORDER, _table2.SORTABLE_COLUMN_ICON_CLASSNAME));
|
|
132
132
|
};
|
|
133
133
|
var fullPageStyles = function fullPageStyles(_ref3, _ref4) {
|
|
134
134
|
var appearance = _ref3.appearance;
|
|
@@ -183,6 +183,7 @@ export default class ReactSerializer {
|
|
|
183
183
|
this.media = init.media;
|
|
184
184
|
this.emojiResourceConfig = init.emojiResourceConfig;
|
|
185
185
|
this.smartLinks = init.smartLinks;
|
|
186
|
+
this.extensionViewportSizes = init.extensionViewportSizes;
|
|
186
187
|
this.allowSelectAllTrap = init.allowSelectAllTrap;
|
|
187
188
|
this.nodeComponents = init.nodeComponents;
|
|
188
189
|
this.allowWindowedCodeBlock = init.allowWindowedCodeBlock;
|
|
@@ -209,6 +210,9 @@ export default class ReactSerializer {
|
|
|
209
210
|
return this.getMediaProps(node, path);
|
|
210
211
|
case 'emoji':
|
|
211
212
|
return this.getEmojiProps(node);
|
|
213
|
+
case 'extension':
|
|
214
|
+
case 'bodiedExtension':
|
|
215
|
+
return this.getExtensionProps(node, path);
|
|
212
216
|
case 'mediaGroup':
|
|
213
217
|
return this.getMediaGroupProps(node);
|
|
214
218
|
case 'mediaInline':
|
|
@@ -442,6 +446,12 @@ export default class ReactSerializer {
|
|
|
442
446
|
allowAnnotationsDraftMode: this.surroundTextNodesWithTextWrapper
|
|
443
447
|
};
|
|
444
448
|
}
|
|
449
|
+
getExtensionProps(node, path = []) {
|
|
450
|
+
return {
|
|
451
|
+
...this.getProps(node, path),
|
|
452
|
+
extensionViewportSizes: this.extensionViewportSizes
|
|
453
|
+
};
|
|
454
|
+
}
|
|
445
455
|
getEmojiProps(node) {
|
|
446
456
|
return {
|
|
447
457
|
...this.getProps(node),
|
|
@@ -69,10 +69,9 @@ export class TableStickyScrollbar {
|
|
|
69
69
|
root: this.rendererScrollableElement
|
|
70
70
|
});
|
|
71
71
|
const bottomSentinels = (_this$wrapper = this.wrapper) === null || _this$wrapper === void 0 ? void 0 : (_this$wrapper$parentE3 = _this$wrapper.parentElement) === null || _this$wrapper$parentE3 === void 0 ? void 0 : _this$wrapper$parentE3.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM);
|
|
72
|
-
this.sentinels.bottom = fg('platform_editor_querySelector_fix_table_renderer')
|
|
73
|
-
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
74
|
-
?
|
|
75
|
-
: (_this$wrapper2 = this.wrapper) === null || _this$wrapper2 === void 0 ? void 0 : (_this$wrapper2$parent = _this$wrapper2.parentElement) === null || _this$wrapper2$parent === void 0 ? void 0 : (_this$wrapper2$parent2 = _this$wrapper2$parent.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper2$parent2 === void 0 ? void 0 : _this$wrapper2$parent2.item(0);
|
|
72
|
+
this.sentinels.bottom = fg('platform_editor_querySelector_fix_table_renderer') ? // eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
73
|
+
bottomSentinels === null || bottomSentinels === void 0 ? void 0 : bottomSentinels.item(bottomSentinels.length - 1) : // eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
74
|
+
(_this$wrapper2 = this.wrapper) === null || _this$wrapper2 === void 0 ? void 0 : (_this$wrapper2$parent = _this$wrapper2.parentElement) === null || _this$wrapper2$parent === void 0 ? void 0 : (_this$wrapper2$parent2 = _this$wrapper2$parent.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper2$parent2 === void 0 ? void 0 : _this$wrapper2$parent2.item(0);
|
|
76
75
|
|
|
77
76
|
// Ignored via go/ees005
|
|
78
77
|
// eslint-disable-next-line @atlaskit/editor/no-as-casting
|
|
@@ -13,7 +13,9 @@ const BodiedExtension = props => {
|
|
|
13
13
|
layout = 'default',
|
|
14
14
|
path = [],
|
|
15
15
|
extensionKey,
|
|
16
|
-
extensionType
|
|
16
|
+
extensionType,
|
|
17
|
+
parameters,
|
|
18
|
+
extensionViewportSizes
|
|
17
19
|
} = props;
|
|
18
20
|
const {
|
|
19
21
|
createAnalyticsEvent
|
|
@@ -44,7 +46,7 @@ const 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 @@ const 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,7 +4,26 @@ 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
|
-
|
|
7
|
+
const 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
|
+
const macroHeights = {
|
|
10
|
+
small: '112px',
|
|
11
|
+
medium: '262px',
|
|
12
|
+
default: '262px',
|
|
13
|
+
large: '524px',
|
|
14
|
+
xlarge: '1048px'
|
|
15
|
+
};
|
|
16
|
+
const getViewportSize = (extensionId, extensionViewportSizes) => {
|
|
17
|
+
if (!Array.isArray(extensionViewportSizes) || !extensionId) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const extension = extensionViewportSizes.find(extension => extension.extensionId === extensionId);
|
|
21
|
+
if (extension) {
|
|
22
|
+
const viewportSize = extension.viewportSize && viewportSizes.includes(extension.viewportSize) ? extension.viewportSize : 'default';
|
|
23
|
+
return macroHeights[viewportSize];
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
export const renderExtension = (content, layout, options = {}, removeOverflow, extensionId, extensionViewportSizes) => {
|
|
8
27
|
const overflowContainerClass = !removeOverflow ? RendererCssClassName.EXTENSION_OVERFLOW_CONTAINER : '';
|
|
9
28
|
|
|
10
29
|
// by default, we assume the extension is at top level, (direct child of doc node)
|
|
@@ -12,6 +31,7 @@ export const renderExtension = (content, layout, options = {}, removeOverflow) =
|
|
|
12
31
|
isTopLevel = true
|
|
13
32
|
} = options || {};
|
|
14
33
|
const centerAlignClass = isTopLevel && ['wide', 'full-width'].includes(layout) ? RendererCssClassName.EXTENSION_CENTER_ALIGN : '';
|
|
34
|
+
const viewportSize = getViewportSize(extensionId, extensionViewportSizes);
|
|
15
35
|
return /*#__PURE__*/React.createElement(WidthConsumer, null, ({
|
|
16
36
|
width
|
|
17
37
|
}) => /*#__PURE__*/React.createElement("div", {
|
|
@@ -21,7 +41,8 @@ export const renderExtension = (content, layout, options = {}, removeOverflow) =
|
|
|
21
41
|
className: `${RendererCssClassName.EXTENSION} ${options.shadowClassNames} ${centerAlignClass}`,
|
|
22
42
|
style: {
|
|
23
43
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
24
|
-
width: isTopLevel ? calcBreakoutWidth(layout, width) : '100%'
|
|
44
|
+
width: isTopLevel ? calcBreakoutWidth(layout, width) : '100%',
|
|
45
|
+
minHeight: viewportSize
|
|
25
46
|
},
|
|
26
47
|
"data-layout": layout
|
|
27
48
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -34,7 +55,9 @@ const Extension = props => {
|
|
|
34
55
|
layout = 'default',
|
|
35
56
|
handleRef,
|
|
36
57
|
shadowClassNames,
|
|
37
|
-
path = []
|
|
58
|
+
path = [],
|
|
59
|
+
extensionViewportSizes,
|
|
60
|
+
parameters
|
|
38
61
|
} = props;
|
|
39
62
|
return /*#__PURE__*/React.createElement(ExtensionRenderer
|
|
40
63
|
// Ignored via go/ees005
|
|
@@ -51,19 +74,18 @@ const Extension = props => {
|
|
|
51
74
|
isTopLevel: path.length < 1,
|
|
52
75
|
handleRef,
|
|
53
76
|
shadowClassNames
|
|
54
|
-
});
|
|
77
|
+
}, undefined, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
|
|
55
78
|
}
|
|
56
79
|
} catch (e) {
|
|
57
80
|
/** We don't want this error to block renderer */
|
|
58
81
|
/** We keep rendering the default content */
|
|
59
82
|
}
|
|
60
|
-
|
|
61
83
|
// Always return default content if anything goes wrong
|
|
62
84
|
return renderExtension(text || 'extension', layout, {
|
|
63
85
|
isTopLevel: path.length < 1,
|
|
64
86
|
handleRef,
|
|
65
87
|
shadowClassNames
|
|
66
|
-
});
|
|
88
|
+
}, undefined, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
|
|
67
89
|
});
|
|
68
90
|
};
|
|
69
91
|
export default overflowShadow(Extension, {
|