@atlaskit/renderer 113.1.1 → 113.2.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.
Files changed (32) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/cjs/react/index.js +12 -0
  3. package/dist/cjs/react/nodes/TableStickyScrollbar.js +13 -8
  4. package/dist/cjs/react/nodes/bodiedExtension.js +5 -3
  5. package/dist/cjs/react/nodes/extension.js +31 -5
  6. package/dist/cjs/ui/Renderer/index.js +3 -1
  7. package/dist/cjs/ui/Renderer/style.js +1 -1
  8. package/dist/es2019/react/index.js +10 -0
  9. package/dist/es2019/react/nodes/TableStickyScrollbar.js +12 -8
  10. package/dist/es2019/react/nodes/bodiedExtension.js +5 -3
  11. package/dist/es2019/react/nodes/extension.js +28 -6
  12. package/dist/es2019/ui/Renderer/index.js +3 -1
  13. package/dist/es2019/ui/Renderer/style.js +1 -1
  14. package/dist/esm/react/index.js +12 -0
  15. package/dist/esm/react/nodes/TableStickyScrollbar.js +13 -8
  16. package/dist/esm/react/nodes/bodiedExtension.js +5 -3
  17. package/dist/esm/react/nodes/extension.js +31 -5
  18. package/dist/esm/ui/Renderer/index.js +3 -1
  19. package/dist/esm/ui/Renderer/style.js +1 -1
  20. package/dist/types/index.d.ts +1 -1
  21. package/dist/types/react/index.d.ts +4 -1
  22. package/dist/types/react/nodes/bodiedExtension.d.ts +2 -1
  23. package/dist/types/react/nodes/extension.d.ts +4 -3
  24. package/dist/types/react/types.d.ts +4 -0
  25. package/dist/types/ui/renderer-props.d.ts +2 -1
  26. package/dist/types-ts4.5/index.d.ts +1 -1
  27. package/dist/types-ts4.5/react/index.d.ts +4 -1
  28. package/dist/types-ts4.5/react/nodes/bodiedExtension.d.ts +2 -1
  29. package/dist/types-ts4.5/react/nodes/extension.d.ts +4 -3
  30. package/dist/types-ts4.5/react/types.d.ts +4 -0
  31. package/dist/types-ts4.5/ui/renderer-props.d.ts +2 -1
  32. package/package.json +7 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # @atlaskit/renderer
2
2
 
3
+ ## 113.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#112653](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/112653)
8
+ [`73371f1e55712`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/73371f1e55712) -
9
+ Accepts extension viewport size list as a prop from confluence FE in order to render this size on
10
+ SSR.
11
+
12
+ ### Patch Changes
13
+
14
+ - [#122260](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/122260)
15
+ [`10eabde04f773`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/10eabde04f773) -
16
+ FD-80149: cleans up platform_editor_react18_phase2_v2 from with_editor_actions
17
+ - Updated dependencies
18
+
19
+ ## 113.1.2
20
+
21
+ ### Patch Changes
22
+
23
+ - [#118536](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/118536)
24
+ [`b46814682ebf8`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/b46814682ebf8) -
25
+ [ux] [ED-26716] Review and fix usage of querySelectors in renderer table
26
+ - Updated dependencies
27
+
3
28
  ## 113.1.1
4
29
 
5
30
  ### Patch Changes
@@ -197,6 +197,7 @@ var ReactSerializer = exports.default = /*#__PURE__*/function () {
197
197
  this.media = init.media;
198
198
  this.emojiResourceConfig = init.emojiResourceConfig;
199
199
  this.smartLinks = init.smartLinks;
200
+ this.extensionViewportSizes = init.extensionViewportSizes;
200
201
  this.allowSelectAllTrap = init.allowSelectAllTrap;
201
202
  this.nodeComponents = init.nodeComponents;
202
203
  this.allowWindowedCodeBlock = init.allowWindowedCodeBlock;
@@ -227,6 +228,9 @@ var ReactSerializer = exports.default = /*#__PURE__*/function () {
227
228
  return this.getMediaProps(node, path);
228
229
  case 'emoji':
229
230
  return this.getEmojiProps(node);
231
+ case 'extension':
232
+ case 'bodiedExtension':
233
+ return this.getExtensionProps(node, path);
230
234
  case 'mediaGroup':
231
235
  return this.getMediaGroupProps(node);
232
236
  case 'mediaInline':
@@ -488,6 +492,14 @@ var ReactSerializer = exports.default = /*#__PURE__*/function () {
488
492
  allowAnnotationsDraftMode: this.surroundTextNodesWithTextWrapper
489
493
  });
490
494
  }
495
+ }, {
496
+ key: "getExtensionProps",
497
+ value: function getExtensionProps(node) {
498
+ var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
499
+ return _objectSpread(_objectSpread({}, this.getProps(node, path)), {}, {
500
+ extensionViewportSizes: this.extensionViewportSizes
501
+ });
502
+ }
491
503
  }, {
492
504
  key: "getEmojiProps",
493
505
  value: function getEmojiProps(node) {
@@ -9,6 +9,7 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
9
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
  var _styles = require("@atlaskit/editor-common/styles");
12
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
13
  var TableStickyScrollbar = exports.TableStickyScrollbar = /*#__PURE__*/function () {
13
14
  function TableStickyScrollbar(wrapper) {
14
15
  var _this = this;
@@ -43,11 +44,14 @@ var TableStickyScrollbar = exports.TableStickyScrollbar = /*#__PURE__*/function
43
44
  }, {
44
45
  key: "init",
45
46
  value: function init() {
46
- var _this$wrapper$parentE;
47
+ var _this$wrapper$parentE, _this$wrapper$parentE2;
47
48
  if (!this.wrapper) {
48
49
  return;
49
50
  }
50
- this.stickyScrollbarContainerElement = (_this$wrapper$parentE = this.wrapper.parentElement) === null || _this$wrapper$parentE === void 0 ? void 0 : _this$wrapper$parentE.querySelector(".".concat(_styles.TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_CONTAINER));
51
+ var scrollbarContainers = (_this$wrapper$parentE = this.wrapper.parentElement) === null || _this$wrapper$parentE === void 0 ? void 0 : _this$wrapper$parentE.querySelectorAll(".".concat(_styles.TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_CONTAINER));
52
+
53
+ // eslint-disable-next-line @atlaskit/editor/no-as-casting
54
+ this.stickyScrollbarContainerElement = (0, _platformFeatureFlags.fg)('platform_editor_querySelector_fix_table_renderer') ? scrollbarContainers === null || scrollbarContainers === void 0 ? void 0 : scrollbarContainers.item(scrollbarContainers.length - 1) : (_this$wrapper$parentE2 = this.wrapper.parentElement) === null || _this$wrapper$parentE2 === void 0 ? void 0 : _this$wrapper$parentE2.querySelector(".".concat(_styles.TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_CONTAINER));
51
55
  if (this.stickyScrollbarContainerElement) {
52
56
  // Ignored via go/ees005
53
57
  // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
@@ -62,7 +66,8 @@ var TableStickyScrollbar = exports.TableStickyScrollbar = /*#__PURE__*/function
62
66
  value: function createIntersectionObserver() {
63
67
  var _this2 = this,
64
68
  _this$wrapper,
65
- _this$wrapper2;
69
+ _this$wrapper2,
70
+ _this$wrapper3;
66
71
  this.rendererScrollableElement = window.document;
67
72
  if (!this.rendererScrollableElement || !this.wrapper) {
68
73
  return;
@@ -85,14 +90,14 @@ var TableStickyScrollbar = exports.TableStickyScrollbar = /*#__PURE__*/function
85
90
  }, {
86
91
  root: this.rendererScrollableElement
87
92
  });
93
+ 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(_styles.TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM);
94
+ this.sentinels.bottom = (0, _platformFeatureFlags.fg)('platform_editor_querySelector_fix_table_renderer') ? // eslint-disable-next-line @atlaskit/editor/no-as-casting
95
+ bottomSentinels === null || bottomSentinels === void 0 ? void 0 : bottomSentinels.item(bottomSentinels.length - 1) : // eslint-disable-next-line @atlaskit/editor/no-as-casting
96
+ (_this$wrapper2 = this.wrapper) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.parentElement) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.getElementsByClassName(_styles.TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper2 === void 0 ? void 0 : _this$wrapper2.item(0);
88
97
 
89
98
  // Ignored via go/ees005
90
99
  // eslint-disable-next-line @atlaskit/editor/no-as-casting
91
- this.sentinels.bottom = (_this$wrapper = this.wrapper) === null || _this$wrapper === void 0 || (_this$wrapper = _this$wrapper.parentElement) === null || _this$wrapper === void 0 || (_this$wrapper = _this$wrapper.getElementsByClassName(_styles.TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper === void 0 ? void 0 : _this$wrapper.item(0);
92
-
93
- // Ignored via go/ees005
94
- // eslint-disable-next-line @atlaskit/editor/no-as-casting
95
- this.sentinels.top = (_this$wrapper2 = this.wrapper) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.parentElement) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.getElementsByClassName(_styles.TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_TOP)) === null || _this$wrapper2 === void 0 ? void 0 : _this$wrapper2.item(0);
100
+ this.sentinels.top = (_this$wrapper3 = this.wrapper) === null || _this$wrapper3 === void 0 || (_this$wrapper3 = _this$wrapper3.parentElement) === null || _this$wrapper3 === void 0 || (_this$wrapper3 = _this$wrapper3.getElementsByClassName(_styles.TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_TOP)) === null || _this$wrapper3 === void 0 ? void 0 : _this$wrapper3.item(0);
96
101
  [this.sentinels.bottom, this.sentinels.top].forEach(function (el) {
97
102
  return (
98
103
  // Ignored via go/ees005
@@ -21,7 +21,9 @@ var BodiedExtension = function BodiedExtension(props) {
21
21
  _props$path = props.path,
22
22
  path = _props$path === void 0 ? [] : _props$path,
23
23
  extensionKey = props.extensionKey,
24
- extensionType = props.extensionType;
24
+ extensionType = props.extensionType,
25
+ parameters = props.parameters,
26
+ extensionViewportSizes = props.extensionViewportSizes;
25
27
  var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
26
28
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
27
29
  var removeOverflow = _react.default.Children.toArray(children)
@@ -51,7 +53,7 @@ var BodiedExtension = function BodiedExtension(props) {
51
53
  // Return the content directly if it's a valid JSX.Element
52
54
  return (0, _extension.renderExtension)(result, layout, {
53
55
  isTopLevel: path.length < 1
54
- }, removeOverflow);
56
+ }, removeOverflow, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
55
57
  }
56
58
  } catch (e) {
57
59
  /** We don't want this error to block renderer */
@@ -61,7 +63,7 @@ var BodiedExtension = function BodiedExtension(props) {
61
63
  // Always return default content if anything goes wrong
62
64
  return (0, _extension.renderExtension)(children, layout, {
63
65
  isTopLevel: path.length < 1
64
- }, removeOverflow);
66
+ }, removeOverflow, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
65
67
  })));
66
68
  };
67
69
  var _default = exports.default = BodiedExtension;
@@ -11,9 +11,32 @@ var _ExtensionRenderer = _interopRequireDefault(require("../../ui/ExtensionRende
11
11
  var _ui = require("@atlaskit/editor-common/ui");
12
12
  var _utils = require("@atlaskit/editor-common/utils");
13
13
  var _consts = require("../../consts");
14
+ var viewportSizes = ['small', 'medium', 'default', 'large', 'xlarge'];
15
+ // 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
16
+ var macroHeights = {
17
+ small: '112px',
18
+ medium: '262px',
19
+ default: '262px',
20
+ large: '524px',
21
+ xlarge: '1048px'
22
+ };
23
+ var getViewportSize = function getViewportSize(extensionId, extensionViewportSizes) {
24
+ if (!Array.isArray(extensionViewportSizes) || !extensionId) {
25
+ return;
26
+ }
27
+ var extension = extensionViewportSizes.find(function (extension) {
28
+ return extension.extensionId === extensionId;
29
+ });
30
+ if (extension) {
31
+ var viewportSize = extension.viewportSize && viewportSizes.includes(extension.viewportSize) ? extension.viewportSize : 'default';
32
+ return macroHeights[viewportSize];
33
+ }
34
+ };
14
35
  var renderExtension = exports.renderExtension = function renderExtension(content, layout) {
15
36
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
16
37
  var removeOverflow = arguments.length > 3 ? arguments[3] : undefined;
38
+ var extensionId = arguments.length > 4 ? arguments[4] : undefined;
39
+ var extensionViewportSizes = arguments.length > 5 ? arguments[5] : undefined;
17
40
  var overflowContainerClass = !removeOverflow ? _consts.RendererCssClassName.EXTENSION_OVERFLOW_CONTAINER : '';
18
41
 
19
42
  // by default, we assume the extension is at top level, (direct child of doc node)
@@ -21,6 +44,7 @@ var renderExtension = exports.renderExtension = function renderExtension(content
21
44
  _ref$isTopLevel = _ref.isTopLevel,
22
45
  isTopLevel = _ref$isTopLevel === void 0 ? true : _ref$isTopLevel;
23
46
  var centerAlignClass = isTopLevel && ['wide', 'full-width'].includes(layout) ? _consts.RendererCssClassName.EXTENSION_CENTER_ALIGN : '';
47
+ var viewportSize = getViewportSize(extensionId, extensionViewportSizes);
24
48
  return /*#__PURE__*/_react.default.createElement(_ui.WidthConsumer, null, function (_ref2) {
25
49
  var width = _ref2.width;
26
50
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -30,7 +54,8 @@ var renderExtension = exports.renderExtension = function renderExtension(content
30
54
  className: "".concat(_consts.RendererCssClassName.EXTENSION, " ").concat(options.shadowClassNames, " ").concat(centerAlignClass),
31
55
  style: {
32
56
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
33
- width: isTopLevel ? (0, _utils.calcBreakoutWidth)(layout, width) : '100%'
57
+ width: isTopLevel ? (0, _utils.calcBreakoutWidth)(layout, width) : '100%',
58
+ minHeight: viewportSize
34
59
  },
35
60
  "data-layout": layout
36
61
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -45,7 +70,9 @@ var Extension = function Extension(props) {
45
70
  handleRef = props.handleRef,
46
71
  shadowClassNames = props.shadowClassNames,
47
72
  _props$path = props.path,
48
- path = _props$path === void 0 ? [] : _props$path;
73
+ path = _props$path === void 0 ? [] : _props$path,
74
+ extensionViewportSizes = props.extensionViewportSizes,
75
+ parameters = props.parameters;
49
76
  return /*#__PURE__*/_react.default.createElement(_ExtensionRenderer.default
50
77
  // Ignored via go/ees005
51
78
  // eslint-disable-next-line react/jsx-props-no-spreading
@@ -60,19 +87,18 @@ var Extension = function Extension(props) {
60
87
  isTopLevel: path.length < 1,
61
88
  handleRef: handleRef,
62
89
  shadowClassNames: shadowClassNames
63
- });
90
+ }, undefined, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
64
91
  }
65
92
  } catch (e) {
66
93
  /** We don't want this error to block renderer */
67
94
  /** We keep rendering the default content */
68
95
  }
69
-
70
96
  // Always return default content if anything goes wrong
71
97
  return renderExtension(text || 'extension', layout, {
72
98
  isTopLevel: path.length < 1,
73
99
  handleRef: handleRef,
74
100
  shadowClassNames: shadowClassNames
75
- });
101
+ }, undefined, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
76
102
  });
77
103
  };
78
104
  var _default = exports.default = (0, _ui.overflowShadow)(Extension, {
@@ -65,7 +65,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
65
65
  var NORMAL_SEVERITY_THRESHOLD = exports.NORMAL_SEVERITY_THRESHOLD = 2000;
66
66
  var DEGRADED_SEVERITY_THRESHOLD = exports.DEGRADED_SEVERITY_THRESHOLD = 3000;
67
67
  var packageName = "@atlaskit/renderer";
68
- var packageVersion = "113.1.1";
68
+ var packageVersion = "113.2.0";
69
69
  var setAsQueryContainerStyles = (0, _react2.css)({
70
70
  containerName: 'ak-renderer-wrapper',
71
71
  containerType: 'inline-size',
@@ -293,6 +293,7 @@ var __RendererClassComponent = exports.__RendererClassComponent = /*#__PURE__*/f
293
293
  media: props.media,
294
294
  emojiResourceConfig: props.emojiResourceConfig,
295
295
  smartLinks: props.smartLinks,
296
+ extensionViewportSizes: props.extensionViewportSizes,
296
297
  allowCopyToClipboard: props.allowCopyToClipboard,
297
298
  allowWrapCodeBlock: props.allowWrapCodeBlock,
298
299
  allowCustomPanels: props.allowCustomPanels,
@@ -628,6 +629,7 @@ var RendererFunctionalComponent = function RendererFunctionalComponent(props) {
628
629
  media: props.media,
629
630
  emojiResourceConfig: props.emojiResourceConfig,
630
631
  smartLinks: props.smartLinks,
632
+ extensionViewportSizes: props.extensionViewportSizes,
631
633
  allowCopyToClipboard: props.allowCopyToClipboard,
632
634
  allowWrapCodeBlock: props.allowWrapCodeBlock,
633
635
  allowCustomPanels: props.allowCustomPanels,
@@ -206,7 +206,7 @@ var rendererStyles = exports.rendererStyles = function rendererStyles(wrapperPro
206
206
  var isAdvancedLayoutsOn = (0, _experiments.editorExperiment)('advanced_layouts', true);
207
207
 
208
208
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview, @atlaskit/design-system/no-css-tagged-template-expression
209
- return (0, _react.css)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n\t\tfont-size: ", "px;\n\t\tline-height: 1.5rem;\n\t\tcolor: ", ";\n\n\t\t.", "::after {\n\t\t\t// we add a clearfix after ak-renderer-document in order to\n\t\t\t// contain internal floats (such as media images that are \"wrap-left\")\n\t\t\t// to just the renderer (and not spill outside of it)\n\t\t\tcontent: '';\n\t\t\tvisibility: hidden;\n\t\t\tdisplay: block;\n\t\t\theight: 0;\n\t\t\tclear: both;\n\t\t}\n\n\t\t", "\n\t\t", "\n\n .", " {\n\t\t\t", "\n\t\t}\n\n\t\t& h1 {\n\t\t\t", "\n\t\t}\n\n\t\t& h2 {\n\t\t\t", "\n\t\t}\n\n\t\t& h3 {\n\t\t\t", "\n\t\t}\n\n\t\t& h4 {\n\t\t\t", "\n\t\t}\n\n\t\t& h5 {\n\t\t\t", "\n\t\t}\n\n\t\t& h6 {\n\t\t\t", "\n\t\t}\n\n\t\t& span.akActionMark {\n\t\t\tcolor: ", ";\n\t\t\ttext-decoration: none;\n\n\t\t\t&:hover {\n\t\t\t\tcolor: ", ";\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\n\t\t\t&:active {\n\t\t\t\tcolor: ", ";\n\t\t\t}\n\t\t}\n\n\t\t& span.akActionMark {\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t& span[data-placeholder] {\n\t\t\tcolor: ", ";\n\t\t}\n\n\t\t", "\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", "\n\t\t", "\n\n\t\t& .UnknownBlock {\n\t\t\tfont-family: ", ";\n\t\t\tfont-size: ", ";\n\t\t\tfont-weight: ", ";\n\t\t\twhite-space: pre-wrap;\n\t\t\tword-wrap: break-word;\n\t\t}\n\n\t\t& span.date-node {\n\t\t\tbackground: ", ";\n\t\t\tborder-radius: ", ";\n\t\t\tcolor: ", ";\n\t\t\tpadding: ", " ", ";\n\t\t\tmargin: 0 1px;\n\t\t\ttransition: background 0.3s;\n\t\t}\n\n\t\t& span.date-node-highlighted {\n\t\t\tbackground: ", ";\n\t\t\tcolor: ", ";\n\t\t}\n\n\t\t& .renderer-image {\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: block;\n\t\t\tmargin: ", " 0;\n\t\t}\n\n\t\t.", ".rich-media-wrapped + .", ":not(.rich-media-wrapped) {\n\t\t\tclear: both;\n\t\t}\n\n\t\t& .code-block,\n\t\t& blockquote,\n\t\t& hr,\n\t\t& > div > div:not(.rich-media-wrapped),\n\t\t.", ".rich-media-wrapped + .rich-media-wrapped + *:not(.rich-media-wrapped),\n\t\t.", ".rich-media-wrapped + div:not(.rich-media-wrapped),\n\t\t.", ".image-align-start,\n\t\t\t.", ".image-center,\n\t\t\t.", ".image-align-end {\n\t\t\tclear: both;\n\t\t}\n\n\t\t& .rich-media-wrapped {\n\t\t\t& + h1,\n\t\t\t& + h2,\n\t\t\t& + h3,\n\t\t\t& + h4,\n\t\t\t& + h5,\n\t\t\t& + h6 {\n\t\t\t\tmargin-top: ", ";\n\t\t\t}\n\t\t}\n\n\t\t", "\n\t\t/* plugin styles */\n ", " &\n div[class^='image-wrap-'] + div[class^='image-wrap-'] {\n\t\t\tmargin-left: 0;\n\t\t\tmargin-right: 0;\n\t\t}\n\n\t\t/* Breakout for tables and extensions */\n\t\t.", " > {\n\t\t\t", "\n\n\t\t\t* .", " {\n\t\t\t\toverflow-x: auto;\n\t\t\t}\n\n\t\t\t& .", ":first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\t\t}\n\n\t\t.", " {\n\t\t\t.", " {\n\t\t\t\tmargin-top: ", ";\n\t\t\t}\n\n\t\t\t.", " {\n\t\t\t\tmargin-left: 50%;\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t}\n\n\t\t\t.", " {\n\t\t\t\toverflow-x: auto;\n\t\t\t}\n\n\t\t\t.", " .", " {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t}\n\n\t\t", "\n\n\t\t.", " .", " {\n\t\t\tz-index: 0;\n\t\t\ttransition: all 0.1s linear;\n\t\t\tdisplay: flex; /* needed to avoid position: fixed jumpiness in Chrome */\n\n\t\t\t/** Shadow overrides */\n\t\t\t&.", "::after, &.", "::before {\n\t\t\t\ttop: ", "px;\n\t\t\t\theight: calc(100% - ", "px);\n\t\t\t\tz-index: ", ";\n\t\t\t}\n\n\t\t\t", "\n\n\t\t\t", "\n\n\t\t\t&\n .", ",\n &\n .", " {\n\t\t\t\theight: calc(100% - ", "px);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * A hack for making all the <th /> heights equal in case some have shorter\n\t\t\t * content than others.\n\t\t\t *\n\t\t\t * This is done to make sort buttons fill entire <th />.\n\t\t\t*/\n\t\t\t", " {\n\t\t\t\theight: 1px; /* will be ignored */\n\t\t\t\t", ";\n\t\t\t\tmargin-left: 0;\n\t\t\t\tmargin-right: 0;\n\t\t\t}\n\n\t\t\t", " {\n\t\t\t\theight: 100%;\n\n\t\t\t\ttd,\n\t\t\t\tth {\n\t\t\t\t\tposition: relative;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttable[data-number-column='true'] {\n\t\t\t\t.", " {\n\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t\tborder-right: 1px solid\n\t\t\t\t\t\t", ";\n\t\t\t\t\twidth: ", "px;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\tcolor: ", ";\n\t\t\t\t\tfont-size: ", ";\n\t\t\t\t}\n\n\t\t\t\t.fixed .", " {\n\t\t\t\t\tborder-right: 0px none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\ttr[data-header-row].fixed {\n\t\t\tposition: fixed !important;\n\t\t\tdisplay: flex;\n\t\t\toverflow: hidden;\n\t\t\tz-index: ", ";\n\n\t\t\tborder-right: 1px solid ", ";\n\t\t\tborder-bottom: 1px solid ", ";\n\n\t\t\t/* this is to compensate for the table border */\n\t\t\ttransform: translateX(-1px);\n\t\t}\n\n\t\t.sticky > th {\n\t\t\tz-index: ", ";\n\t\t\tposition: sticky !important;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t/* Make the number column header sticky */\n\t\t.sticky > td {\n\t\t\tposition: sticky !important;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t/* add border for position: sticky\n and work around background-clip: padding-box\n bug for FF causing box-shadow bug in Chrome */\n\t\t.sticky th,\n\t\t.sticky td {\n\t\t\tbox-shadow:\n\t\t\t\t0px 1px ", ",\n\t\t\t\t0px -0.5px ", ",\n\t\t\t\tinset -1px 0px ", ",\n\t\t\t\t0px -1px ", ";\n\t\t}\n\n\t\t/* this will remove jumpiness caused in Chrome for sticky headers */\n\t\t.fixed + tr {\n\t\t\tmin-height: 0px;\n\t\t}\n\n\t\t/*\n * We wrap CodeBlock in a grid to prevent it from overflowing the container of the renderer.\n * See ED-4159.\n */\n\t\t& .code-block {\n\t\t\tmax-width: 100%;\n\t\t\t/* -ms- properties are necessary until MS supports the latest version of the grid spec */\n\t\t\t/* stylelint-disable value-no-vendor-prefix, declaration-block-no-duplicate-properties */\n\t\t\tdisplay: block;\n\t\t\t/* stylelint-enable */\n\n\t\t\tposition: relative;\n\t\t\tborder-radius: ", ";\n\n\t\t\t/*\n * The overall renderer has word-wrap: break; which causes issues with\n * code block line numbers in Safari / iOS.\n */\n\t\t\tword-wrap: normal;\n\t\t}\n\n\t\t& .MediaGroup,\n\t\t& .code-block {\n\t\t\tmargin-top: ", ";\n\n\t\t\t&:first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\t\t}\n\n\t\t", "\n\n\t\t", "\n\n ", ";\n\t\t", ";\n\t\t& [data-layout-section] {\n\t\t\tmargin-top: ", ";\n\t\t\t& > div + div {\n\t\t\t\tmargin-left: ", ";\n\t\t\t}\n\n\t\t\t@media screen and (max-width: ", "px) {\n\t\t\t\t& > div + div {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .MediaGroup,\n\t\t\t& .code-block {\n\t\t\t\tmargin-top: ", ";\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& li {\n\t\t\t> .code-block {\n\t\t\t\tmargin: ", " 0 0 0;\n\t\t\t}\n\t\t\t> .code-block:first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\n\t\t\t> div:last-of-type.code-block {\n\t\t\t\tmargin-bottom: ", ";\n\t\t\t}\n\t\t}\n\n\t\t&:not([data-node-type='decisionList']) > li,\n // This prevents https://product-fabric.atlassian.net/browse/ED-20924\n &:not(.", ") > li {\n\t\t\t", "\n\t\t}\n\t"])), (0, _editorSharedStyles.editorFontSize)(themeProps), "var(--ds-text, ".concat(colors.N800, ")"), _consts.RendererCssClassName.DOCUMENT, fullPageStyles(wrapperProps, themeProps), fullWidthStyles(wrapperProps), _consts.RendererCssClassName.DOCUMENT, _mediaInline.mediaInlineImageStyles, headingAnchorStyle('h1'), headingAnchorStyle('h2'), headingAnchorStyle('h3'), headingAnchorStyle('h4'), headingAnchorStyle('h5'), headingAnchorStyle('h6'), "var(--ds-link, ".concat(colors.B400, ")"), "var(--ds-link, ".concat(colors.B300, ")"), "var(--ds-link-pressed, ".concat(colors.B500, ")"), "var(--ds-text-subtlest, ".concat(colors.N200, ")"), telepointerStyles, _styles.whitespaceSharedStyles, _styles.blockquoteSharedStyles, (0, _styles.headingsSharedStyles)(typography), (0, _styles.ruleSharedStyles)(), (0, _styles.paragraphSharedStyles)(typography), _styles.listsSharedStyles, _styles.indentationSharedStyles, _styles.blockMarksSharedStyles, (0, _styles.codeMarkSharedStyles)(), _styles.shadowSharedStyle, _styles.dateSharedStyle, _styles.textColorStyles, (0, _styles.backgroundColorStyles)(), _styles.tasksAndDecisionsStyles, _styles.smartCardSharedStyles, getAnnotationStyles(wrapperProps), "var(--ds-font-family-body, ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)", (0, _editorSharedStyles.relativeFontSizeToBase16)(14), "var(--ds-font-weight-regular, 400)", "var(--ds-background-neutral, ".concat(colors.N30A, ")"), "var(--ds-border-radius-100, 3px)", "var(--ds-text, ".concat(colors.N800, ")"), "var(--ds-space-025, 2px)", "var(--ds-space-050, 4px)", "var(--ds-background-danger, ".concat(colors.R50, ")"), "var(--ds-text-danger, ".concat(colors.R500, ")"), "var(--ds-space-300, 24px)", _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, "var(--ds-space-100, 8px)", alignedHeadingAnchorStyle(wrapperProps), _styles.mediaSingleSharedStyle, _consts.RendererCssClassName.DOCUMENT, breakoutWidthStyle(), _consts.RendererCssClassName.EXTENSION_OVERFLOW_CONTAINER, _consts.RendererCssClassName.EXTENSION, _consts.RendererCssClassName.DOCUMENT, _consts.RendererCssClassName.EXTENSION, _editorSharedStyles.blockNodesVerticalMargin, _consts.RendererCssClassName.EXTENSION_CENTER_ALIGN, _styles.TableSharedCssClassName.TABLE_NODE_WRAPPER, _ui.shadowObserverClassNames.SHADOW_CONTAINER, _styles.TableSharedCssClassName.TABLE_NODE_WRAPPER, (0, _styles.tableSharedStyle)(), _consts.RendererCssClassName.DOCUMENT, _styles.TableSharedCssClassName.TABLE_CONTAINER, _ui.shadowClassNames.RIGHT_SHADOW, _ui.shadowClassNames.LEFT_SHADOW, _styles.tableMarginTop - 1, _styles.tableMarginTop, _editorSharedStyles.akEditorStickyHeaderZIndex, getShadowOverrides(), (0, _table.isStickyScrollbarEnabled)(appearance) ? stickyScrollbarStyles : '', _ui.shadowObserverClassNames.SENTINEL_LEFT, _ui.shadowObserverClassNames.SENTINEL_RIGHT, _styles.tableMarginTop, (0, _platformFeatureFlags.fg)('platform_editor_renderer_table_header_styles') ? ".".concat(_styles.TableSharedCssClassName.TABLE_NODE_WRAPPER, " > table, .").concat(_styles.TableSharedCssClassName.TABLE_STICKY_WRAPPER, " > table") : 'table', tableSortableColumnStyle(wrapperProps), (0, _platformFeatureFlags.fg)('platform_editor_renderer_table_header_styles') ? ".".concat(_styles.TableSharedCssClassName.TABLE_NODE_WRAPPER, " > table > tbody > tr:first-of-type, .").concat(_styles.TableSharedCssClassName.TABLE_STICKY_WRAPPER, " > table > tbody > tr:first-of-type") : 'table tr:first-of-type', _consts.RendererCssClassName.NUMBER_COLUMN, "var(--ds-background-neutral, ".concat(_editorSharedStyles.akEditorTableToolbar, ")"), "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableBorder, ")"), _editorSharedStyles.akEditorTableNumberColumnWidth, "var(--ds-text-subtlest, ".concat(colors.N200, ")"), (0, _editorSharedStyles.relativeFontSizeToBase16)(14), _consts.RendererCssClassName.NUMBER_COLUMN, _editorSharedStyles.akEditorStickyHeaderZIndex, "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableBorder, ")"), "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableBorder, ")"), _editorSharedStyles.akEditorStickyHeaderZIndex, "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableBorder, ")"), "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableBorder, ")"), "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableToolbar, ")"), "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableToolbar, ")"), "var(--ds-border-radius-100, 3px)", _editorSharedStyles.blockNodesVerticalMargin, useGridRenderForCodeBlock(useBlockRenderForCodeBlock), (0, _lightWeightCodeBlock.getLightWeightCodeBlockStylesForRootRendererStyleSheet)(), isAdvancedLayoutsOn ? _styles.columnLayoutResponsiveSharedStyle : _styles.columnLayoutSharedStyle, isAdvancedLayoutsOn && _styles.columnLayoutResponsiveRendererStyles, "var(--ds-space-250, 20px)", isAdvancedLayoutsOn ? 0 : "var(--ds-space-400, 32px)", _editorSharedStyles.gridMediumMaxWidth, _editorSharedStyles.blockNodesVerticalMargin, _editorSharedStyles.blockNodesVerticalMargin, _editorSharedStyles.blockNodesVerticalMargin, _styles.SmartCardSharedCssClassName.BLOCK_CARD_CONTAINER, _browser.browser.safari ? _styles.codeBlockInListSafariFix : '');
209
+ return (0, _react.css)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n\t\tfont-size: ", "px;\n\t\tline-height: 1.5rem;\n\t\tcolor: ", ";\n\n\t\t.", "::after {\n\t\t\t// we add a clearfix after ak-renderer-document in order to\n\t\t\t// contain internal floats (such as media images that are \"wrap-left\")\n\t\t\t// to just the renderer (and not spill outside of it)\n\t\t\tcontent: '';\n\t\t\tvisibility: hidden;\n\t\t\tdisplay: block;\n\t\t\theight: 0;\n\t\t\tclear: both;\n\t\t}\n\n\t\t", "\n\t\t", "\n\n .", " {\n\t\t\t", "\n\t\t}\n\n\t\t& h1 {\n\t\t\t", "\n\t\t}\n\n\t\t& h2 {\n\t\t\t", "\n\t\t}\n\n\t\t& h3 {\n\t\t\t", "\n\t\t}\n\n\t\t& h4 {\n\t\t\t", "\n\t\t}\n\n\t\t& h5 {\n\t\t\t", "\n\t\t}\n\n\t\t& h6 {\n\t\t\t", "\n\t\t}\n\n\t\t& span.akActionMark {\n\t\t\tcolor: ", ";\n\t\t\ttext-decoration: none;\n\n\t\t\t&:hover {\n\t\t\t\tcolor: ", ";\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\n\t\t\t&:active {\n\t\t\t\tcolor: ", ";\n\t\t\t}\n\t\t}\n\n\t\t& span.akActionMark {\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t& span[data-placeholder] {\n\t\t\tcolor: ", ";\n\t\t}\n\n\t\t", "\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", "\n\t\t", "\n\n\t\t& .UnknownBlock {\n\t\t\tfont-family: ", ";\n\t\t\tfont-size: ", ";\n\t\t\tfont-weight: ", ";\n\t\t\twhite-space: pre-wrap;\n\t\t\tword-wrap: break-word;\n\t\t}\n\n\t\t& span.date-node {\n\t\t\tbackground: ", ";\n\t\t\tborder-radius: ", ";\n\t\t\tcolor: ", ";\n\t\t\tpadding: ", " ", ";\n\t\t\tmargin: 0 1px;\n\t\t\ttransition: background 0.3s;\n\t\t}\n\n\t\t& span.date-node-highlighted {\n\t\t\tbackground: ", ";\n\t\t\tcolor: ", ";\n\t\t}\n\n\t\t& .renderer-image {\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: block;\n\t\t\tmargin: ", " 0;\n\t\t}\n\n\t\t.", ".rich-media-wrapped + .", ":not(.rich-media-wrapped) {\n\t\t\tclear: both;\n\t\t}\n\n\t\t& .code-block,\n\t\t& blockquote,\n\t\t& hr,\n\t\t& > div > div:not(.rich-media-wrapped),\n\t\t.", ".rich-media-wrapped + .rich-media-wrapped + *:not(.rich-media-wrapped),\n\t\t.", ".rich-media-wrapped + div:not(.rich-media-wrapped),\n\t\t.", ".image-align-start,\n\t\t\t.", ".image-center,\n\t\t\t.", ".image-align-end {\n\t\t\tclear: both;\n\t\t}\n\n\t\t& .rich-media-wrapped {\n\t\t\t& + h1,\n\t\t\t& + h2,\n\t\t\t& + h3,\n\t\t\t& + h4,\n\t\t\t& + h5,\n\t\t\t& + h6 {\n\t\t\t\tmargin-top: ", ";\n\t\t\t}\n\t\t}\n\n\t\t", "\n\t\t/* plugin styles */\n ", " &\n div[class^='image-wrap-'] + div[class^='image-wrap-'] {\n\t\t\tmargin-left: 0;\n\t\t\tmargin-right: 0;\n\t\t}\n\n\t\t/* Breakout for tables and extensions */\n\t\t.", " > {\n\t\t\t", "\n\n\t\t\t* .", " {\n\t\t\t\toverflow-x: auto;\n\t\t\t}\n\n\t\t\t& .", ":first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\t\t}\n\n\t\t.", " {\n\t\t\t.", " {\n\t\t\t\tmargin-top: ", ";\n\t\t\t}\n\n\t\t\t.", " {\n\t\t\t\tmargin-left: 50%;\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t}\n\n\t\t\t.", " {\n\t\t\t\toverflow-x: auto;\n\t\t\t}\n\n\t\t\t.", " .", " {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t}\n\n\t\t", "\n\n\t\t.", " .", " {\n\t\t\tz-index: 0;\n\t\t\ttransition: all 0.1s linear;\n\t\t\tdisplay: flex; /* needed to avoid position: fixed jumpiness in Chrome */\n\n\t\t\t/** Shadow overrides */\n\t\t\t&.", "::after, &.", "::before {\n\t\t\t\ttop: ", "px;\n\t\t\t\theight: calc(100% - ", "px);\n\t\t\t\tz-index: ", ";\n\t\t\t}\n\n\t\t\t", "\n\n\t\t\t", "\n\n\t\t\t&\n .", ",\n &\n .", " {\n\t\t\t\theight: calc(100% - ", "px);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * A hack for making all the <th /> heights equal in case some have shorter\n\t\t\t * content than others.\n\t\t\t *\n\t\t\t * This is done to make sort buttons fill entire <th />.\n\t\t\t*/\n\t\t\t", " {\n\t\t\t\theight: 1px; /* will be ignored */\n\t\t\t\t", ";\n\t\t\t\tmargin-left: 0;\n\t\t\t\tmargin-right: 0;\n\t\t\t}\n\n\t\t\t", " {\n\t\t\t\theight: 100%;\n\n\t\t\t\ttd,\n\t\t\t\tth {\n\t\t\t\t\tposition: relative;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttable[data-number-column='true'] {\n\t\t\t\t.", " {\n\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t\tborder-right: 1px solid\n\t\t\t\t\t\t", ";\n\t\t\t\t\twidth: ", "px;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\tcolor: ", ";\n\t\t\t\t\tfont-size: ", ";\n\t\t\t\t}\n\n\t\t\t\t.fixed .", " {\n\t\t\t\t\tborder-right: 0px none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\ttr[data-header-row].fixed {\n\t\t\tposition: fixed !important;\n\t\t\tdisplay: flex;\n\t\t\toverflow: hidden;\n\t\t\tz-index: ", ";\n\n\t\t\tborder-right: 1px solid ", ";\n\t\t\tborder-bottom: 1px solid ", ";\n\n\t\t\t/* this is to compensate for the table border */\n\t\t\ttransform: translateX(-1px);\n\t\t}\n\n\t\t.sticky > th {\n\t\t\tz-index: ", ";\n\t\t\tposition: sticky !important;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t/* Make the number column header sticky */\n\t\t.sticky > td {\n\t\t\tposition: sticky !important;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t/* add border for position: sticky\n and work around background-clip: padding-box\n bug for FF causing box-shadow bug in Chrome */\n\t\t.sticky th,\n\t\t.sticky td {\n\t\t\tbox-shadow:\n\t\t\t\t0px 1px ", ",\n\t\t\t\t0px -0.5px ", ",\n\t\t\t\tinset -1px 0px ", ",\n\t\t\t\t0px -1px ", ";\n\t\t}\n\n\t\t/* this will remove jumpiness caused in Chrome for sticky headers */\n\t\t.fixed + tr {\n\t\t\tmin-height: 0px;\n\t\t}\n\n\t\t/*\n * We wrap CodeBlock in a grid to prevent it from overflowing the container of the renderer.\n * See ED-4159.\n */\n\t\t& .code-block {\n\t\t\tmax-width: 100%;\n\t\t\t/* -ms- properties are necessary until MS supports the latest version of the grid spec */\n\t\t\t/* stylelint-disable value-no-vendor-prefix, declaration-block-no-duplicate-properties */\n\t\t\tdisplay: block;\n\t\t\t/* stylelint-enable */\n\n\t\t\tposition: relative;\n\t\t\tborder-radius: ", ";\n\n\t\t\t/*\n * The overall renderer has word-wrap: break; which causes issues with\n * code block line numbers in Safari / iOS.\n */\n\t\t\tword-wrap: normal;\n\t\t}\n\n\t\t& .MediaGroup,\n\t\t& .code-block {\n\t\t\tmargin-top: ", ";\n\n\t\t\t&:first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\t\t}\n\n\t\t", "\n\n\t\t", "\n\n ", ";\n\t\t", ";\n\t\t& [data-layout-section] {\n\t\t\tmargin-top: ", ";\n\t\t\t& > div + div {\n\t\t\t\tmargin-left: ", ";\n\t\t\t}\n\n\t\t\t@media screen and (max-width: ", "px) {\n\t\t\t\t& > div + div {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .MediaGroup,\n\t\t\t& .code-block {\n\t\t\t\tmargin-top: ", ";\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& li {\n\t\t\t> .code-block {\n\t\t\t\tmargin: ", " 0 0 0;\n\t\t\t}\n\t\t\t> .code-block:first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\n\t\t\t> div:last-of-type.code-block {\n\t\t\t\tmargin-bottom: ", ";\n\t\t\t}\n\t\t}\n\n\t\t&:not([data-node-type='decisionList']) > li,\n // This prevents https://product-fabric.atlassian.net/browse/ED-20924\n &:not(.", ") > li {\n\t\t\t", "\n\t\t}\n\t"])), (0, _editorSharedStyles.editorFontSize)(themeProps), "var(--ds-text, ".concat(colors.N800, ")"), _consts.RendererCssClassName.DOCUMENT, fullPageStyles(wrapperProps, themeProps), fullWidthStyles(wrapperProps), _consts.RendererCssClassName.DOCUMENT, _mediaInline.mediaInlineImageStyles, headingAnchorStyle('h1'), headingAnchorStyle('h2'), headingAnchorStyle('h3'), headingAnchorStyle('h4'), headingAnchorStyle('h5'), headingAnchorStyle('h6'), "var(--ds-link, ".concat(colors.B400, ")"), "var(--ds-link, ".concat(colors.B300, ")"), "var(--ds-link-pressed, ".concat(colors.B500, ")"), "var(--ds-text-subtlest, ".concat(colors.N200, ")"), telepointerStyles, _styles.whitespaceSharedStyles, _styles.blockquoteSharedStyles, (0, _styles.headingsSharedStyles)(typography), (0, _styles.ruleSharedStyles)(), (0, _styles.paragraphSharedStyles)(typography), _styles.listsSharedStyles, _styles.indentationSharedStyles, _styles.blockMarksSharedStyles, (0, _styles.codeMarkSharedStyles)(), _styles.shadowSharedStyle, _styles.dateSharedStyle, _styles.textColorStyles, (0, _styles.backgroundColorStyles)(), _styles.tasksAndDecisionsStyles, _styles.smartCardSharedStyles, getAnnotationStyles(wrapperProps), "var(--ds-font-family-body, ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)", (0, _editorSharedStyles.relativeFontSizeToBase16)(14), "var(--ds-font-weight-regular, 400)", "var(--ds-background-neutral, ".concat(colors.N30A, ")"), "var(--ds-border-radius-100, 3px)", "var(--ds-text, ".concat(colors.N800, ")"), "var(--ds-space-025, 2px)", "var(--ds-space-050, 4px)", "var(--ds-background-danger, ".concat(colors.R50, ")"), "var(--ds-text-danger, ".concat(colors.R500, ")"), "var(--ds-space-300, 24px)", _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, "var(--ds-space-100, 8px)", alignedHeadingAnchorStyle(wrapperProps), _styles.mediaSingleSharedStyle, _consts.RendererCssClassName.DOCUMENT, breakoutWidthStyle(), _consts.RendererCssClassName.EXTENSION_OVERFLOW_CONTAINER, _consts.RendererCssClassName.EXTENSION, _consts.RendererCssClassName.DOCUMENT, _consts.RendererCssClassName.EXTENSION, _editorSharedStyles.blockNodesVerticalMargin, _consts.RendererCssClassName.EXTENSION_CENTER_ALIGN, _styles.TableSharedCssClassName.TABLE_NODE_WRAPPER, _ui.shadowObserverClassNames.SHADOW_CONTAINER, _styles.TableSharedCssClassName.TABLE_NODE_WRAPPER, (0, _styles.tableSharedStyle)(), _consts.RendererCssClassName.DOCUMENT, _styles.TableSharedCssClassName.TABLE_CONTAINER, _ui.shadowClassNames.RIGHT_SHADOW, _ui.shadowClassNames.LEFT_SHADOW, _styles.tableMarginTop - 1, _styles.tableMarginTop, _editorSharedStyles.akEditorStickyHeaderZIndex, getShadowOverrides(), (0, _table.isStickyScrollbarEnabled)(appearance) ? stickyScrollbarStyles : '', _ui.shadowObserverClassNames.SENTINEL_LEFT, _ui.shadowObserverClassNames.SENTINEL_RIGHT, _styles.tableMarginTop, (0, _platformFeatureFlags.fg)('platform_editor_renderer_table_header_styles') ? ".".concat(_styles.TableSharedCssClassName.TABLE_NODE_WRAPPER, " > table, .").concat(_styles.TableSharedCssClassName.TABLE_STICKY_WRAPPER, " > table") : 'table', tableSortableColumnStyle(wrapperProps), (0, _platformFeatureFlags.fg)('platform_editor_renderer_table_header_styles') ? ".".concat(_styles.TableSharedCssClassName.TABLE_NODE_WRAPPER, " > table > tbody > tr:first-of-type, .").concat(_styles.TableSharedCssClassName.TABLE_STICKY_WRAPPER, " > table > tbody > tr:first-of-type") : 'table tr:first-of-type', _consts.RendererCssClassName.NUMBER_COLUMN, "var(--ds-background-neutral, ".concat(_editorSharedStyles.akEditorTableToolbar, ")"), "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableBorder, ")"), _editorSharedStyles.akEditorTableNumberColumnWidth, "var(--ds-text-subtlest, ".concat(colors.N200, ")"), (0, _editorSharedStyles.relativeFontSizeToBase16)(14), _consts.RendererCssClassName.NUMBER_COLUMN, _editorSharedStyles.akEditorStickyHeaderZIndex, "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableBorder, ")"), "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableBorder, ")"), _editorSharedStyles.akEditorStickyHeaderZIndex, "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableBorder, ")"), "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableBorder, ")"), "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableToolbar, ")"), "var(--ds-background-accent-gray-subtler, ".concat(_editorSharedStyles.akEditorTableToolbar, ")"), "var(--ds-border-radius-100, 3px)", _editorSharedStyles.blockNodesVerticalMargin, useGridRenderForCodeBlock(useBlockRenderForCodeBlock), (0, _lightWeightCodeBlock.getLightWeightCodeBlockStylesForRootRendererStyleSheet)(), isAdvancedLayoutsOn ? _styles.columnLayoutResponsiveSharedStyle : _styles.columnLayoutSharedStyle, isAdvancedLayoutsOn && _styles.columnLayoutResponsiveRendererStyles, "var(--ds-space-250, 20px)", isAdvancedLayoutsOn ? 0 : "var(--ds-space-400, 32px)", _editorSharedStyles.gridMediumMaxWidth, _editorSharedStyles.blockNodesVerticalMargin, _editorSharedStyles.blockNodesVerticalMargin, _editorSharedStyles.blockNodesVerticalMargin, _styles.SmartCardSharedCssClassName.BLOCK_CARD_CONTAINER, _browser.browser.safari ? _styles.codeBlockInListSafariFix : '');
210
210
  };
211
211
  };
212
212
  var useGridRenderForCodeBlock = function useGridRenderForCodeBlock(codeBlockRenderAsBlock) {
@@ -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),
@@ -1,5 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { TableSharedCssClassName } from '@atlaskit/editor-common/styles';
3
+ import { fg } from '@atlaskit/platform-feature-flags';
3
4
  export class TableStickyScrollbar {
4
5
  constructor(wrapper) {
5
6
  _defineProperty(this, "sentinels", {});
@@ -26,11 +27,14 @@ export class TableStickyScrollbar {
26
27
  }
27
28
  }
28
29
  init() {
29
- var _this$wrapper$parentE;
30
+ var _this$wrapper$parentE, _this$wrapper$parentE2;
30
31
  if (!this.wrapper) {
31
32
  return;
32
33
  }
33
- this.stickyScrollbarContainerElement = (_this$wrapper$parentE = this.wrapper.parentElement) === null || _this$wrapper$parentE === void 0 ? void 0 : _this$wrapper$parentE.querySelector(`.${TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_CONTAINER}`);
34
+ const scrollbarContainers = (_this$wrapper$parentE = this.wrapper.parentElement) === null || _this$wrapper$parentE === void 0 ? void 0 : _this$wrapper$parentE.querySelectorAll(`.${TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_CONTAINER}`);
35
+
36
+ // eslint-disable-next-line @atlaskit/editor/no-as-casting
37
+ this.stickyScrollbarContainerElement = fg('platform_editor_querySelector_fix_table_renderer') ? scrollbarContainers === null || scrollbarContainers === void 0 ? void 0 : scrollbarContainers.item(scrollbarContainers.length - 1) : (_this$wrapper$parentE2 = this.wrapper.parentElement) === null || _this$wrapper$parentE2 === void 0 ? void 0 : _this$wrapper$parentE2.querySelector(`.${TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_CONTAINER}`);
34
38
  if (this.stickyScrollbarContainerElement) {
35
39
  // Ignored via go/ees005
36
40
  // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
@@ -41,7 +45,7 @@ export class TableStickyScrollbar {
41
45
  this.createIntersectionObserver();
42
46
  }
43
47
  createIntersectionObserver() {
44
- var _this$wrapper, _this$wrapper$parentE2, _this$wrapper$parentE3, _this$wrapper2, _this$wrapper2$parent, _this$wrapper2$parent2;
48
+ var _this$wrapper, _this$wrapper$parentE3, _this$wrapper2, _this$wrapper2$parent, _this$wrapper2$parent2, _this$wrapper3, _this$wrapper3$parent, _this$wrapper3$parent2;
45
49
  this.rendererScrollableElement = window.document;
46
50
  if (!this.rendererScrollableElement || !this.wrapper) {
47
51
  return;
@@ -64,14 +68,14 @@ export class TableStickyScrollbar {
64
68
  }, {
65
69
  root: this.rendererScrollableElement
66
70
  });
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') ? // 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);
67
75
 
68
76
  // Ignored via go/ees005
69
77
  // eslint-disable-next-line @atlaskit/editor/no-as-casting
70
- this.sentinels.bottom = (_this$wrapper = this.wrapper) === null || _this$wrapper === void 0 ? void 0 : (_this$wrapper$parentE2 = _this$wrapper.parentElement) === null || _this$wrapper$parentE2 === void 0 ? void 0 : (_this$wrapper$parentE3 = _this$wrapper$parentE2.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper$parentE3 === void 0 ? void 0 : _this$wrapper$parentE3.item(0);
71
-
72
- // Ignored via go/ees005
73
- // eslint-disable-next-line @atlaskit/editor/no-as-casting
74
- this.sentinels.top = (_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_TOP)) === null || _this$wrapper2$parent2 === void 0 ? void 0 : _this$wrapper2$parent2.item(0);
78
+ this.sentinels.top = (_this$wrapper3 = this.wrapper) === null || _this$wrapper3 === void 0 ? void 0 : (_this$wrapper3$parent = _this$wrapper3.parentElement) === null || _this$wrapper3$parent === void 0 ? void 0 : (_this$wrapper3$parent2 = _this$wrapper3$parent.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_TOP)) === null || _this$wrapper3$parent2 === void 0 ? void 0 : _this$wrapper3$parent2.item(0);
75
79
  [this.sentinels.bottom, this.sentinels.top].forEach(el =>
76
80
  // Ignored via go/ees005
77
81
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -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
- export const renderExtension = (content, layout, options = {}, removeOverflow) => {
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, {
@@ -46,7 +46,7 @@ import { ValidationContext } from './ValidationContext';
46
46
  export const NORMAL_SEVERITY_THRESHOLD = 2000;
47
47
  export const DEGRADED_SEVERITY_THRESHOLD = 3000;
48
48
  const packageName = "@atlaskit/renderer";
49
- const packageVersion = "113.1.1";
49
+ const packageVersion = "113.2.0";
50
50
  const setAsQueryContainerStyles = css({
51
51
  containerName: 'ak-renderer-wrapper',
52
52
  containerType: 'inline-size',
@@ -273,6 +273,7 @@ export class __RendererClassComponent extends PureComponent {
273
273
  media: props.media,
274
274
  emojiResourceConfig: props.emojiResourceConfig,
275
275
  smartLinks: props.smartLinks,
276
+ extensionViewportSizes: props.extensionViewportSizes,
276
277
  allowCopyToClipboard: props.allowCopyToClipboard,
277
278
  allowWrapCodeBlock: props.allowWrapCodeBlock,
278
279
  allowCustomPanels: props.allowCustomPanels,
@@ -608,6 +609,7 @@ const RendererFunctionalComponent = props => {
608
609
  media: props.media,
609
610
  emojiResourceConfig: props.emojiResourceConfig,
610
611
  smartLinks: props.smartLinks,
612
+ extensionViewportSizes: props.extensionViewportSizes,
611
613
  allowCopyToClipboard: props.allowCopyToClipboard,
612
614
  allowWrapCodeBlock: props.allowWrapCodeBlock,
613
615
  allowCustomPanels: props.allowCustomPanels,
@@ -612,7 +612,7 @@ export const rendererStyles = wrapperProps => theme => {
612
612
  ${getAnnotationStyles(wrapperProps)}
613
613
 
614
614
  & .UnknownBlock {
615
- font-family: ${"var(--ds-font-family-body, ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"};
615
+ font-family: ${"var(--ds-font-family-body, ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)"};
616
616
  font-size: ${relativeFontSizeToBase16(14)};
617
617
  font-weight: ${"var(--ds-font-weight-regular, 400)"};
618
618
  white-space: pre-wrap;
@@ -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) {
@@ -2,6 +2,7 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
2
  import _createClass from "@babel/runtime/helpers/createClass";
3
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
4
  import { TableSharedCssClassName } from '@atlaskit/editor-common/styles';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
5
6
  export var TableStickyScrollbar = /*#__PURE__*/function () {
6
7
  function TableStickyScrollbar(wrapper) {
7
8
  var _this = this;
@@ -36,11 +37,14 @@ export var TableStickyScrollbar = /*#__PURE__*/function () {
36
37
  }, {
37
38
  key: "init",
38
39
  value: function init() {
39
- var _this$wrapper$parentE;
40
+ var _this$wrapper$parentE, _this$wrapper$parentE2;
40
41
  if (!this.wrapper) {
41
42
  return;
42
43
  }
43
- this.stickyScrollbarContainerElement = (_this$wrapper$parentE = this.wrapper.parentElement) === null || _this$wrapper$parentE === void 0 ? void 0 : _this$wrapper$parentE.querySelector(".".concat(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_CONTAINER));
44
+ var scrollbarContainers = (_this$wrapper$parentE = this.wrapper.parentElement) === null || _this$wrapper$parentE === void 0 ? void 0 : _this$wrapper$parentE.querySelectorAll(".".concat(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_CONTAINER));
45
+
46
+ // eslint-disable-next-line @atlaskit/editor/no-as-casting
47
+ this.stickyScrollbarContainerElement = fg('platform_editor_querySelector_fix_table_renderer') ? scrollbarContainers === null || scrollbarContainers === void 0 ? void 0 : scrollbarContainers.item(scrollbarContainers.length - 1) : (_this$wrapper$parentE2 = this.wrapper.parentElement) === null || _this$wrapper$parentE2 === void 0 ? void 0 : _this$wrapper$parentE2.querySelector(".".concat(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_CONTAINER));
44
48
  if (this.stickyScrollbarContainerElement) {
45
49
  // Ignored via go/ees005
46
50
  // eslint-disable-next-line @repo/internal/dom-events/no-unsafe-event-listeners
@@ -55,7 +59,8 @@ export var TableStickyScrollbar = /*#__PURE__*/function () {
55
59
  value: function createIntersectionObserver() {
56
60
  var _this2 = this,
57
61
  _this$wrapper,
58
- _this$wrapper2;
62
+ _this$wrapper2,
63
+ _this$wrapper3;
59
64
  this.rendererScrollableElement = window.document;
60
65
  if (!this.rendererScrollableElement || !this.wrapper) {
61
66
  return;
@@ -78,14 +83,14 @@ export var TableStickyScrollbar = /*#__PURE__*/function () {
78
83
  }, {
79
84
  root: this.rendererScrollableElement
80
85
  });
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') ? // 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);
81
90
 
82
91
  // Ignored via go/ees005
83
92
  // eslint-disable-next-line @atlaskit/editor/no-as-casting
84
- this.sentinels.bottom = (_this$wrapper = this.wrapper) === null || _this$wrapper === void 0 || (_this$wrapper = _this$wrapper.parentElement) === null || _this$wrapper === void 0 || (_this$wrapper = _this$wrapper.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper === void 0 ? void 0 : _this$wrapper.item(0);
85
-
86
- // Ignored via go/ees005
87
- // eslint-disable-next-line @atlaskit/editor/no-as-casting
88
- this.sentinels.top = (_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_TOP)) === null || _this$wrapper2 === void 0 ? void 0 : _this$wrapper2.item(0);
93
+ this.sentinels.top = (_this$wrapper3 = this.wrapper) === null || _this$wrapper3 === void 0 || (_this$wrapper3 = _this$wrapper3.parentElement) === null || _this$wrapper3 === void 0 || (_this$wrapper3 = _this$wrapper3.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_TOP)) === null || _this$wrapper3 === void 0 ? void 0 : _this$wrapper3.item(0);
89
94
  [this.sentinels.bottom, this.sentinels.top].forEach(function (el) {
90
95
  return (
91
96
  // Ignored via go/ees005
@@ -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, {
@@ -55,7 +55,7 @@ import { ValidationContext } from './ValidationContext';
55
55
  export var NORMAL_SEVERITY_THRESHOLD = 2000;
56
56
  export var DEGRADED_SEVERITY_THRESHOLD = 3000;
57
57
  var packageName = "@atlaskit/renderer";
58
- var packageVersion = "113.1.1";
58
+ var packageVersion = "113.2.0";
59
59
  var setAsQueryContainerStyles = css({
60
60
  containerName: 'ak-renderer-wrapper',
61
61
  containerType: 'inline-size',
@@ -283,6 +283,7 @@ export var __RendererClassComponent = /*#__PURE__*/function (_PureComponent) {
283
283
  media: props.media,
284
284
  emojiResourceConfig: props.emojiResourceConfig,
285
285
  smartLinks: props.smartLinks,
286
+ extensionViewportSizes: props.extensionViewportSizes,
286
287
  allowCopyToClipboard: props.allowCopyToClipboard,
287
288
  allowWrapCodeBlock: props.allowWrapCodeBlock,
288
289
  allowCustomPanels: props.allowCustomPanels,
@@ -618,6 +619,7 @@ var RendererFunctionalComponent = function RendererFunctionalComponent(props) {
618
619
  media: props.media,
619
620
  emojiResourceConfig: props.emojiResourceConfig,
620
621
  smartLinks: props.smartLinks,
622
+ extensionViewportSizes: props.extensionViewportSizes,
621
623
  allowCopyToClipboard: props.allowCopyToClipboard,
622
624
  allowWrapCodeBlock: props.allowWrapCodeBlock,
623
625
  allowCustomPanels: props.allowCustomPanels,
@@ -196,7 +196,7 @@ export var rendererStyles = function rendererStyles(wrapperProps) {
196
196
  var isAdvancedLayoutsOn = editorExperiment('advanced_layouts', true);
197
197
 
198
198
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview, @atlaskit/design-system/no-css-tagged-template-expression
199
- return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n\t\tfont-size: ", "px;\n\t\tline-height: 1.5rem;\n\t\tcolor: ", ";\n\n\t\t.", "::after {\n\t\t\t// we add a clearfix after ak-renderer-document in order to\n\t\t\t// contain internal floats (such as media images that are \"wrap-left\")\n\t\t\t// to just the renderer (and not spill outside of it)\n\t\t\tcontent: '';\n\t\t\tvisibility: hidden;\n\t\t\tdisplay: block;\n\t\t\theight: 0;\n\t\t\tclear: both;\n\t\t}\n\n\t\t", "\n\t\t", "\n\n .", " {\n\t\t\t", "\n\t\t}\n\n\t\t& h1 {\n\t\t\t", "\n\t\t}\n\n\t\t& h2 {\n\t\t\t", "\n\t\t}\n\n\t\t& h3 {\n\t\t\t", "\n\t\t}\n\n\t\t& h4 {\n\t\t\t", "\n\t\t}\n\n\t\t& h5 {\n\t\t\t", "\n\t\t}\n\n\t\t& h6 {\n\t\t\t", "\n\t\t}\n\n\t\t& span.akActionMark {\n\t\t\tcolor: ", ";\n\t\t\ttext-decoration: none;\n\n\t\t\t&:hover {\n\t\t\t\tcolor: ", ";\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\n\t\t\t&:active {\n\t\t\t\tcolor: ", ";\n\t\t\t}\n\t\t}\n\n\t\t& span.akActionMark {\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t& span[data-placeholder] {\n\t\t\tcolor: ", ";\n\t\t}\n\n\t\t", "\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", "\n\t\t", "\n\n\t\t& .UnknownBlock {\n\t\t\tfont-family: ", ";\n\t\t\tfont-size: ", ";\n\t\t\tfont-weight: ", ";\n\t\t\twhite-space: pre-wrap;\n\t\t\tword-wrap: break-word;\n\t\t}\n\n\t\t& span.date-node {\n\t\t\tbackground: ", ";\n\t\t\tborder-radius: ", ";\n\t\t\tcolor: ", ";\n\t\t\tpadding: ", " ", ";\n\t\t\tmargin: 0 1px;\n\t\t\ttransition: background 0.3s;\n\t\t}\n\n\t\t& span.date-node-highlighted {\n\t\t\tbackground: ", ";\n\t\t\tcolor: ", ";\n\t\t}\n\n\t\t& .renderer-image {\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: block;\n\t\t\tmargin: ", " 0;\n\t\t}\n\n\t\t.", ".rich-media-wrapped + .", ":not(.rich-media-wrapped) {\n\t\t\tclear: both;\n\t\t}\n\n\t\t& .code-block,\n\t\t& blockquote,\n\t\t& hr,\n\t\t& > div > div:not(.rich-media-wrapped),\n\t\t.", ".rich-media-wrapped + .rich-media-wrapped + *:not(.rich-media-wrapped),\n\t\t.", ".rich-media-wrapped + div:not(.rich-media-wrapped),\n\t\t.", ".image-align-start,\n\t\t\t.", ".image-center,\n\t\t\t.", ".image-align-end {\n\t\t\tclear: both;\n\t\t}\n\n\t\t& .rich-media-wrapped {\n\t\t\t& + h1,\n\t\t\t& + h2,\n\t\t\t& + h3,\n\t\t\t& + h4,\n\t\t\t& + h5,\n\t\t\t& + h6 {\n\t\t\t\tmargin-top: ", ";\n\t\t\t}\n\t\t}\n\n\t\t", "\n\t\t/* plugin styles */\n ", " &\n div[class^='image-wrap-'] + div[class^='image-wrap-'] {\n\t\t\tmargin-left: 0;\n\t\t\tmargin-right: 0;\n\t\t}\n\n\t\t/* Breakout for tables and extensions */\n\t\t.", " > {\n\t\t\t", "\n\n\t\t\t* .", " {\n\t\t\t\toverflow-x: auto;\n\t\t\t}\n\n\t\t\t& .", ":first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\t\t}\n\n\t\t.", " {\n\t\t\t.", " {\n\t\t\t\tmargin-top: ", ";\n\t\t\t}\n\n\t\t\t.", " {\n\t\t\t\tmargin-left: 50%;\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t}\n\n\t\t\t.", " {\n\t\t\t\toverflow-x: auto;\n\t\t\t}\n\n\t\t\t.", " .", " {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t}\n\n\t\t", "\n\n\t\t.", " .", " {\n\t\t\tz-index: 0;\n\t\t\ttransition: all 0.1s linear;\n\t\t\tdisplay: flex; /* needed to avoid position: fixed jumpiness in Chrome */\n\n\t\t\t/** Shadow overrides */\n\t\t\t&.", "::after, &.", "::before {\n\t\t\t\ttop: ", "px;\n\t\t\t\theight: calc(100% - ", "px);\n\t\t\t\tz-index: ", ";\n\t\t\t}\n\n\t\t\t", "\n\n\t\t\t", "\n\n\t\t\t&\n .", ",\n &\n .", " {\n\t\t\t\theight: calc(100% - ", "px);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * A hack for making all the <th /> heights equal in case some have shorter\n\t\t\t * content than others.\n\t\t\t *\n\t\t\t * This is done to make sort buttons fill entire <th />.\n\t\t\t*/\n\t\t\t", " {\n\t\t\t\theight: 1px; /* will be ignored */\n\t\t\t\t", ";\n\t\t\t\tmargin-left: 0;\n\t\t\t\tmargin-right: 0;\n\t\t\t}\n\n\t\t\t", " {\n\t\t\t\theight: 100%;\n\n\t\t\t\ttd,\n\t\t\t\tth {\n\t\t\t\t\tposition: relative;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttable[data-number-column='true'] {\n\t\t\t\t.", " {\n\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t\tborder-right: 1px solid\n\t\t\t\t\t\t", ";\n\t\t\t\t\twidth: ", "px;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\tcolor: ", ";\n\t\t\t\t\tfont-size: ", ";\n\t\t\t\t}\n\n\t\t\t\t.fixed .", " {\n\t\t\t\t\tborder-right: 0px none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\ttr[data-header-row].fixed {\n\t\t\tposition: fixed !important;\n\t\t\tdisplay: flex;\n\t\t\toverflow: hidden;\n\t\t\tz-index: ", ";\n\n\t\t\tborder-right: 1px solid ", ";\n\t\t\tborder-bottom: 1px solid ", ";\n\n\t\t\t/* this is to compensate for the table border */\n\t\t\ttransform: translateX(-1px);\n\t\t}\n\n\t\t.sticky > th {\n\t\t\tz-index: ", ";\n\t\t\tposition: sticky !important;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t/* Make the number column header sticky */\n\t\t.sticky > td {\n\t\t\tposition: sticky !important;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t/* add border for position: sticky\n and work around background-clip: padding-box\n bug for FF causing box-shadow bug in Chrome */\n\t\t.sticky th,\n\t\t.sticky td {\n\t\t\tbox-shadow:\n\t\t\t\t0px 1px ", ",\n\t\t\t\t0px -0.5px ", ",\n\t\t\t\tinset -1px 0px ", ",\n\t\t\t\t0px -1px ", ";\n\t\t}\n\n\t\t/* this will remove jumpiness caused in Chrome for sticky headers */\n\t\t.fixed + tr {\n\t\t\tmin-height: 0px;\n\t\t}\n\n\t\t/*\n * We wrap CodeBlock in a grid to prevent it from overflowing the container of the renderer.\n * See ED-4159.\n */\n\t\t& .code-block {\n\t\t\tmax-width: 100%;\n\t\t\t/* -ms- properties are necessary until MS supports the latest version of the grid spec */\n\t\t\t/* stylelint-disable value-no-vendor-prefix, declaration-block-no-duplicate-properties */\n\t\t\tdisplay: block;\n\t\t\t/* stylelint-enable */\n\n\t\t\tposition: relative;\n\t\t\tborder-radius: ", ";\n\n\t\t\t/*\n * The overall renderer has word-wrap: break; which causes issues with\n * code block line numbers in Safari / iOS.\n */\n\t\t\tword-wrap: normal;\n\t\t}\n\n\t\t& .MediaGroup,\n\t\t& .code-block {\n\t\t\tmargin-top: ", ";\n\n\t\t\t&:first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\t\t}\n\n\t\t", "\n\n\t\t", "\n\n ", ";\n\t\t", ";\n\t\t& [data-layout-section] {\n\t\t\tmargin-top: ", ";\n\t\t\t& > div + div {\n\t\t\t\tmargin-left: ", ";\n\t\t\t}\n\n\t\t\t@media screen and (max-width: ", "px) {\n\t\t\t\t& > div + div {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .MediaGroup,\n\t\t\t& .code-block {\n\t\t\t\tmargin-top: ", ";\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& li {\n\t\t\t> .code-block {\n\t\t\t\tmargin: ", " 0 0 0;\n\t\t\t}\n\t\t\t> .code-block:first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\n\t\t\t> div:last-of-type.code-block {\n\t\t\t\tmargin-bottom: ", ";\n\t\t\t}\n\t\t}\n\n\t\t&:not([data-node-type='decisionList']) > li,\n // This prevents https://product-fabric.atlassian.net/browse/ED-20924\n &:not(.", ") > li {\n\t\t\t", "\n\t\t}\n\t"])), editorFontSize(themeProps), "var(--ds-text, ".concat(colors.N800, ")"), RendererCssClassName.DOCUMENT, fullPageStyles(wrapperProps, themeProps), fullWidthStyles(wrapperProps), RendererCssClassName.DOCUMENT, mediaInlineImageStyles, headingAnchorStyle('h1'), headingAnchorStyle('h2'), headingAnchorStyle('h3'), headingAnchorStyle('h4'), headingAnchorStyle('h5'), headingAnchorStyle('h6'), "var(--ds-link, ".concat(colors.B400, ")"), "var(--ds-link, ".concat(colors.B300, ")"), "var(--ds-link-pressed, ".concat(colors.B500, ")"), "var(--ds-text-subtlest, ".concat(colors.N200, ")"), telepointerStyles, whitespaceSharedStyles, blockquoteSharedStyles, headingsSharedStyles(typography), ruleSharedStyles(), paragraphSharedStyles(typography), listsSharedStyles, indentationSharedStyles, blockMarksSharedStyles, codeMarkSharedStyles(), shadowSharedStyle, dateSharedStyle, textColorStyles, backgroundColorStyles(), tasksAndDecisionsStyles, smartCardSharedStyles, getAnnotationStyles(wrapperProps), "var(--ds-font-family-body, ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)", relativeFontSizeToBase16(14), "var(--ds-font-weight-regular, 400)", "var(--ds-background-neutral, ".concat(colors.N30A, ")"), "var(--ds-border-radius-100, 3px)", "var(--ds-text, ".concat(colors.N800, ")"), "var(--ds-space-025, 2px)", "var(--ds-space-050, 4px)", "var(--ds-background-danger, ".concat(colors.R50, ")"), "var(--ds-text-danger, ".concat(colors.R500, ")"), "var(--ds-space-300, 24px)", richMediaClassName, richMediaClassName, richMediaClassName, richMediaClassName, richMediaClassName, richMediaClassName, richMediaClassName, "var(--ds-space-100, 8px)", alignedHeadingAnchorStyle(wrapperProps), mediaSingleSharedStyle, RendererCssClassName.DOCUMENT, breakoutWidthStyle(), RendererCssClassName.EXTENSION_OVERFLOW_CONTAINER, RendererCssClassName.EXTENSION, RendererCssClassName.DOCUMENT, RendererCssClassName.EXTENSION, blockNodesVerticalMargin, RendererCssClassName.EXTENSION_CENTER_ALIGN, TableSharedCssClassName.TABLE_NODE_WRAPPER, shadowObserverClassNames.SHADOW_CONTAINER, TableSharedCssClassName.TABLE_NODE_WRAPPER, tableSharedStyle(), RendererCssClassName.DOCUMENT, TableSharedCssClassName.TABLE_CONTAINER, shadowClassNames.RIGHT_SHADOW, shadowClassNames.LEFT_SHADOW, tableMarginTop - 1, tableMarginTop, akEditorStickyHeaderZIndex, getShadowOverrides(), isStickyScrollbarEnabled(appearance) ? stickyScrollbarStyles : '', shadowObserverClassNames.SENTINEL_LEFT, shadowObserverClassNames.SENTINEL_RIGHT, tableMarginTop, fg('platform_editor_renderer_table_header_styles') ? ".".concat(TableSharedCssClassName.TABLE_NODE_WRAPPER, " > table, .").concat(TableSharedCssClassName.TABLE_STICKY_WRAPPER, " > table") : 'table', tableSortableColumnStyle(wrapperProps), fg('platform_editor_renderer_table_header_styles') ? ".".concat(TableSharedCssClassName.TABLE_NODE_WRAPPER, " > table > tbody > tr:first-of-type, .").concat(TableSharedCssClassName.TABLE_STICKY_WRAPPER, " > table > tbody > tr:first-of-type") : 'table tr:first-of-type', RendererCssClassName.NUMBER_COLUMN, "var(--ds-background-neutral, ".concat(akEditorTableToolbar, ")"), "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), akEditorTableNumberColumnWidth, "var(--ds-text-subtlest, ".concat(colors.N200, ")"), relativeFontSizeToBase16(14), RendererCssClassName.NUMBER_COLUMN, akEditorStickyHeaderZIndex, "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), akEditorStickyHeaderZIndex, "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableToolbar, ")"), "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableToolbar, ")"), "var(--ds-border-radius-100, 3px)", blockNodesVerticalMargin, useGridRenderForCodeBlock(useBlockRenderForCodeBlock), getLightWeightCodeBlockStylesForRootRendererStyleSheet(), isAdvancedLayoutsOn ? columnLayoutResponsiveSharedStyle : columnLayoutSharedStyle, isAdvancedLayoutsOn && columnLayoutResponsiveRendererStyles, "var(--ds-space-250, 20px)", isAdvancedLayoutsOn ? 0 : "var(--ds-space-400, 32px)", gridMediumMaxWidth, blockNodesVerticalMargin, blockNodesVerticalMargin, blockNodesVerticalMargin, SmartCardSharedCssClassName.BLOCK_CARD_CONTAINER, browser.safari ? codeBlockInListSafariFix : '');
199
+ return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n\t\tfont-size: ", "px;\n\t\tline-height: 1.5rem;\n\t\tcolor: ", ";\n\n\t\t.", "::after {\n\t\t\t// we add a clearfix after ak-renderer-document in order to\n\t\t\t// contain internal floats (such as media images that are \"wrap-left\")\n\t\t\t// to just the renderer (and not spill outside of it)\n\t\t\tcontent: '';\n\t\t\tvisibility: hidden;\n\t\t\tdisplay: block;\n\t\t\theight: 0;\n\t\t\tclear: both;\n\t\t}\n\n\t\t", "\n\t\t", "\n\n .", " {\n\t\t\t", "\n\t\t}\n\n\t\t& h1 {\n\t\t\t", "\n\t\t}\n\n\t\t& h2 {\n\t\t\t", "\n\t\t}\n\n\t\t& h3 {\n\t\t\t", "\n\t\t}\n\n\t\t& h4 {\n\t\t\t", "\n\t\t}\n\n\t\t& h5 {\n\t\t\t", "\n\t\t}\n\n\t\t& h6 {\n\t\t\t", "\n\t\t}\n\n\t\t& span.akActionMark {\n\t\t\tcolor: ", ";\n\t\t\ttext-decoration: none;\n\n\t\t\t&:hover {\n\t\t\t\tcolor: ", ";\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\n\t\t\t&:active {\n\t\t\t\tcolor: ", ";\n\t\t\t}\n\t\t}\n\n\t\t& span.akActionMark {\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\t& span[data-placeholder] {\n\t\t\tcolor: ", ";\n\t\t}\n\n\t\t", "\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", ";\n\t\t", "\n\t\t", "\n\n\t\t& .UnknownBlock {\n\t\t\tfont-family: ", ";\n\t\t\tfont-size: ", ";\n\t\t\tfont-weight: ", ";\n\t\t\twhite-space: pre-wrap;\n\t\t\tword-wrap: break-word;\n\t\t}\n\n\t\t& span.date-node {\n\t\t\tbackground: ", ";\n\t\t\tborder-radius: ", ";\n\t\t\tcolor: ", ";\n\t\t\tpadding: ", " ", ";\n\t\t\tmargin: 0 1px;\n\t\t\ttransition: background 0.3s;\n\t\t}\n\n\t\t& span.date-node-highlighted {\n\t\t\tbackground: ", ";\n\t\t\tcolor: ", ";\n\t\t}\n\n\t\t& .renderer-image {\n\t\t\tmax-width: 100%;\n\t\t\tdisplay: block;\n\t\t\tmargin: ", " 0;\n\t\t}\n\n\t\t.", ".rich-media-wrapped + .", ":not(.rich-media-wrapped) {\n\t\t\tclear: both;\n\t\t}\n\n\t\t& .code-block,\n\t\t& blockquote,\n\t\t& hr,\n\t\t& > div > div:not(.rich-media-wrapped),\n\t\t.", ".rich-media-wrapped + .rich-media-wrapped + *:not(.rich-media-wrapped),\n\t\t.", ".rich-media-wrapped + div:not(.rich-media-wrapped),\n\t\t.", ".image-align-start,\n\t\t\t.", ".image-center,\n\t\t\t.", ".image-align-end {\n\t\t\tclear: both;\n\t\t}\n\n\t\t& .rich-media-wrapped {\n\t\t\t& + h1,\n\t\t\t& + h2,\n\t\t\t& + h3,\n\t\t\t& + h4,\n\t\t\t& + h5,\n\t\t\t& + h6 {\n\t\t\t\tmargin-top: ", ";\n\t\t\t}\n\t\t}\n\n\t\t", "\n\t\t/* plugin styles */\n ", " &\n div[class^='image-wrap-'] + div[class^='image-wrap-'] {\n\t\t\tmargin-left: 0;\n\t\t\tmargin-right: 0;\n\t\t}\n\n\t\t/* Breakout for tables and extensions */\n\t\t.", " > {\n\t\t\t", "\n\n\t\t\t* .", " {\n\t\t\t\toverflow-x: auto;\n\t\t\t}\n\n\t\t\t& .", ":first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\t\t}\n\n\t\t.", " {\n\t\t\t.", " {\n\t\t\t\tmargin-top: ", ";\n\t\t\t}\n\n\t\t\t.", " {\n\t\t\t\tmargin-left: 50%;\n\t\t\t\ttransform: translateX(-50%);\n\t\t\t}\n\n\t\t\t.", " {\n\t\t\t\toverflow-x: auto;\n\t\t\t}\n\n\t\t\t.", " .", " {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t}\n\n\t\t", "\n\n\t\t.", " .", " {\n\t\t\tz-index: 0;\n\t\t\ttransition: all 0.1s linear;\n\t\t\tdisplay: flex; /* needed to avoid position: fixed jumpiness in Chrome */\n\n\t\t\t/** Shadow overrides */\n\t\t\t&.", "::after, &.", "::before {\n\t\t\t\ttop: ", "px;\n\t\t\t\theight: calc(100% - ", "px);\n\t\t\t\tz-index: ", ";\n\t\t\t}\n\n\t\t\t", "\n\n\t\t\t", "\n\n\t\t\t&\n .", ",\n &\n .", " {\n\t\t\t\theight: calc(100% - ", "px);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * A hack for making all the <th /> heights equal in case some have shorter\n\t\t\t * content than others.\n\t\t\t *\n\t\t\t * This is done to make sort buttons fill entire <th />.\n\t\t\t*/\n\t\t\t", " {\n\t\t\t\theight: 1px; /* will be ignored */\n\t\t\t\t", ";\n\t\t\t\tmargin-left: 0;\n\t\t\t\tmargin-right: 0;\n\t\t\t}\n\n\t\t\t", " {\n\t\t\t\theight: 100%;\n\n\t\t\t\ttd,\n\t\t\t\tth {\n\t\t\t\t\tposition: relative;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttable[data-number-column='true'] {\n\t\t\t\t.", " {\n\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t\tborder-right: 1px solid\n\t\t\t\t\t\t", ";\n\t\t\t\t\twidth: ", "px;\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\tcolor: ", ";\n\t\t\t\t\tfont-size: ", ";\n\t\t\t\t}\n\n\t\t\t\t.fixed .", " {\n\t\t\t\t\tborder-right: 0px none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\ttr[data-header-row].fixed {\n\t\t\tposition: fixed !important;\n\t\t\tdisplay: flex;\n\t\t\toverflow: hidden;\n\t\t\tz-index: ", ";\n\n\t\t\tborder-right: 1px solid ", ";\n\t\t\tborder-bottom: 1px solid ", ";\n\n\t\t\t/* this is to compensate for the table border */\n\t\t\ttransform: translateX(-1px);\n\t\t}\n\n\t\t.sticky > th {\n\t\t\tz-index: ", ";\n\t\t\tposition: sticky !important;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t/* Make the number column header sticky */\n\t\t.sticky > td {\n\t\t\tposition: sticky !important;\n\t\t\ttop: 0;\n\t\t}\n\n\t\t/* add border for position: sticky\n and work around background-clip: padding-box\n bug for FF causing box-shadow bug in Chrome */\n\t\t.sticky th,\n\t\t.sticky td {\n\t\t\tbox-shadow:\n\t\t\t\t0px 1px ", ",\n\t\t\t\t0px -0.5px ", ",\n\t\t\t\tinset -1px 0px ", ",\n\t\t\t\t0px -1px ", ";\n\t\t}\n\n\t\t/* this will remove jumpiness caused in Chrome for sticky headers */\n\t\t.fixed + tr {\n\t\t\tmin-height: 0px;\n\t\t}\n\n\t\t/*\n * We wrap CodeBlock in a grid to prevent it from overflowing the container of the renderer.\n * See ED-4159.\n */\n\t\t& .code-block {\n\t\t\tmax-width: 100%;\n\t\t\t/* -ms- properties are necessary until MS supports the latest version of the grid spec */\n\t\t\t/* stylelint-disable value-no-vendor-prefix, declaration-block-no-duplicate-properties */\n\t\t\tdisplay: block;\n\t\t\t/* stylelint-enable */\n\n\t\t\tposition: relative;\n\t\t\tborder-radius: ", ";\n\n\t\t\t/*\n * The overall renderer has word-wrap: break; which causes issues with\n * code block line numbers in Safari / iOS.\n */\n\t\t\tword-wrap: normal;\n\t\t}\n\n\t\t& .MediaGroup,\n\t\t& .code-block {\n\t\t\tmargin-top: ", ";\n\n\t\t\t&:first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\t\t}\n\n\t\t", "\n\n\t\t", "\n\n ", ";\n\t\t", ";\n\t\t& [data-layout-section] {\n\t\t\tmargin-top: ", ";\n\t\t\t& > div + div {\n\t\t\t\tmargin-left: ", ";\n\t\t\t}\n\n\t\t\t@media screen and (max-width: ", "px) {\n\t\t\t\t& > div + div {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t& .MediaGroup,\n\t\t\t& .code-block {\n\t\t\t\tmargin-top: ", ";\n\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t& li {\n\t\t\t> .code-block {\n\t\t\t\tmargin: ", " 0 0 0;\n\t\t\t}\n\t\t\t> .code-block:first-child {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\n\t\t\t> div:last-of-type.code-block {\n\t\t\t\tmargin-bottom: ", ";\n\t\t\t}\n\t\t}\n\n\t\t&:not([data-node-type='decisionList']) > li,\n // This prevents https://product-fabric.atlassian.net/browse/ED-20924\n &:not(.", ") > li {\n\t\t\t", "\n\t\t}\n\t"])), editorFontSize(themeProps), "var(--ds-text, ".concat(colors.N800, ")"), RendererCssClassName.DOCUMENT, fullPageStyles(wrapperProps, themeProps), fullWidthStyles(wrapperProps), RendererCssClassName.DOCUMENT, mediaInlineImageStyles, headingAnchorStyle('h1'), headingAnchorStyle('h2'), headingAnchorStyle('h3'), headingAnchorStyle('h4'), headingAnchorStyle('h5'), headingAnchorStyle('h6'), "var(--ds-link, ".concat(colors.B400, ")"), "var(--ds-link, ".concat(colors.B300, ")"), "var(--ds-link-pressed, ".concat(colors.B500, ")"), "var(--ds-text-subtlest, ".concat(colors.N200, ")"), telepointerStyles, whitespaceSharedStyles, blockquoteSharedStyles, headingsSharedStyles(typography), ruleSharedStyles(), paragraphSharedStyles(typography), listsSharedStyles, indentationSharedStyles, blockMarksSharedStyles, codeMarkSharedStyles(), shadowSharedStyle, dateSharedStyle, textColorStyles, backgroundColorStyles(), tasksAndDecisionsStyles, smartCardSharedStyles, getAnnotationStyles(wrapperProps), "var(--ds-font-family-body, ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, \"Helvetica Neue\", sans-serif)", relativeFontSizeToBase16(14), "var(--ds-font-weight-regular, 400)", "var(--ds-background-neutral, ".concat(colors.N30A, ")"), "var(--ds-border-radius-100, 3px)", "var(--ds-text, ".concat(colors.N800, ")"), "var(--ds-space-025, 2px)", "var(--ds-space-050, 4px)", "var(--ds-background-danger, ".concat(colors.R50, ")"), "var(--ds-text-danger, ".concat(colors.R500, ")"), "var(--ds-space-300, 24px)", richMediaClassName, richMediaClassName, richMediaClassName, richMediaClassName, richMediaClassName, richMediaClassName, richMediaClassName, "var(--ds-space-100, 8px)", alignedHeadingAnchorStyle(wrapperProps), mediaSingleSharedStyle, RendererCssClassName.DOCUMENT, breakoutWidthStyle(), RendererCssClassName.EXTENSION_OVERFLOW_CONTAINER, RendererCssClassName.EXTENSION, RendererCssClassName.DOCUMENT, RendererCssClassName.EXTENSION, blockNodesVerticalMargin, RendererCssClassName.EXTENSION_CENTER_ALIGN, TableSharedCssClassName.TABLE_NODE_WRAPPER, shadowObserverClassNames.SHADOW_CONTAINER, TableSharedCssClassName.TABLE_NODE_WRAPPER, tableSharedStyle(), RendererCssClassName.DOCUMENT, TableSharedCssClassName.TABLE_CONTAINER, shadowClassNames.RIGHT_SHADOW, shadowClassNames.LEFT_SHADOW, tableMarginTop - 1, tableMarginTop, akEditorStickyHeaderZIndex, getShadowOverrides(), isStickyScrollbarEnabled(appearance) ? stickyScrollbarStyles : '', shadowObserverClassNames.SENTINEL_LEFT, shadowObserverClassNames.SENTINEL_RIGHT, tableMarginTop, fg('platform_editor_renderer_table_header_styles') ? ".".concat(TableSharedCssClassName.TABLE_NODE_WRAPPER, " > table, .").concat(TableSharedCssClassName.TABLE_STICKY_WRAPPER, " > table") : 'table', tableSortableColumnStyle(wrapperProps), fg('platform_editor_renderer_table_header_styles') ? ".".concat(TableSharedCssClassName.TABLE_NODE_WRAPPER, " > table > tbody > tr:first-of-type, .").concat(TableSharedCssClassName.TABLE_STICKY_WRAPPER, " > table > tbody > tr:first-of-type") : 'table tr:first-of-type', RendererCssClassName.NUMBER_COLUMN, "var(--ds-background-neutral, ".concat(akEditorTableToolbar, ")"), "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), akEditorTableNumberColumnWidth, "var(--ds-text-subtlest, ".concat(colors.N200, ")"), relativeFontSizeToBase16(14), RendererCssClassName.NUMBER_COLUMN, akEditorStickyHeaderZIndex, "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), akEditorStickyHeaderZIndex, "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableToolbar, ")"), "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableToolbar, ")"), "var(--ds-border-radius-100, 3px)", blockNodesVerticalMargin, useGridRenderForCodeBlock(useBlockRenderForCodeBlock), getLightWeightCodeBlockStylesForRootRendererStyleSheet(), isAdvancedLayoutsOn ? columnLayoutResponsiveSharedStyle : columnLayoutSharedStyle, isAdvancedLayoutsOn && columnLayoutResponsiveRendererStyles, "var(--ds-space-250, 20px)", isAdvancedLayoutsOn ? 0 : "var(--ds-space-400, 32px)", gridMediumMaxWidth, blockNodesVerticalMargin, blockNodesVerticalMargin, blockNodesVerticalMargin, SmartCardSharedCssClassName.BLOCK_CARD_CONTAINER, browser.safari ? codeBlockInListSafariFix : '');
200
200
  };
201
201
  };
202
202
  var useGridRenderForCodeBlock = function useGridRenderForCodeBlock(codeBlockRenderAsBlock) {
@@ -7,7 +7,7 @@ export { ValidationContextProvider } from './ui/Renderer/ValidationContext';
7
7
  export type { Serializer } from './serializer';
8
8
  export type { HeadingAnchorLinksProps, RendererAppearance, StickyHeaderProps, NodeComponentsProps, } from './ui/Renderer/types';
9
9
  export type { RendererProps } from './ui/renderer-props';
10
- export type { RendererContext, NodeProps } from './react/types';
10
+ export type { RendererContext, NodeProps, ExtensionViewportSize } from './react/types';
11
11
  export { ADFEncoder } from './utils';
12
12
  export { renderDocument } from './render-document';
13
13
  export type { RenderOutputStat } from './render-document';
@@ -7,7 +7,7 @@ import type { TextWrapper } from './nodes';
7
7
  import type { ExtensionHandlers } from '@atlaskit/editor-common/extensions';
8
8
  import type { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
9
9
  import type { EventHandlers } from '@atlaskit/editor-common/ui';
10
- import type { RendererContext, TextHighlighter } from './types';
10
+ import type { RendererContext, TextHighlighter, ExtensionViewportSize } from './types';
11
11
  import type { MediaOptions } from '../types/mediaOptions';
12
12
  import type { SmartLinksOptions } from '../types/smartLinksOptions';
13
13
  import type { EmojiResourceConfig } from '@atlaskit/emoji/resource';
@@ -37,6 +37,7 @@ export interface ReactSerializerInit {
37
37
  media?: MediaOptions;
38
38
  emojiResourceConfig?: EmojiResourceConfig;
39
39
  smartLinks?: SmartLinksOptions;
40
+ extensionViewportSizes?: ExtensionViewportSize[];
40
41
  allowCopyToClipboard?: boolean;
41
42
  allowWrapCodeBlock?: boolean;
42
43
  allowPlaceholderText?: boolean;
@@ -91,6 +92,7 @@ export default class ReactSerializer implements Serializer<JSX.Element> {
91
92
  private media?;
92
93
  private emojiResourceConfig?;
93
94
  private smartLinks?;
95
+ private extensionViewportSizes?;
94
96
  private allowAnnotations;
95
97
  private allowSelectAllTrap?;
96
98
  private nodeComponents?;
@@ -114,6 +116,7 @@ export default class ReactSerializer implements Serializer<JSX.Element> {
114
116
  private getDateProps;
115
117
  private getMediaSingleProps;
116
118
  private getMediaProps;
119
+ private getExtensionProps;
117
120
  private getEmojiProps;
118
121
  private getEmbedCardProps;
119
122
  private getBlockCardProps;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { Mark as PMMark, Node as PMNode } from '@atlaskit/editor-prosemirror/model';
3
- import type { RendererContext } from '../types';
3
+ import type { RendererContext, ExtensionViewportSize } from '../types';
4
4
  import type { Serializer } from '../../serializer';
5
5
  import type { ExtensionLayout } from '@atlaskit/adf-schema';
6
6
  import type { ExtensionHandlers } from '@atlaskit/editor-common/extensions';
@@ -20,6 +20,7 @@ interface Props {
20
20
  localId?: string;
21
21
  marks?: PMMark[];
22
22
  startPos: number;
23
+ extensionViewportSizes?: ExtensionViewportSize[];
23
24
  }
24
25
  declare const BodiedExtension: (props: React.PropsWithChildren<Props>) => React.JSX.Element;
25
26
  export default BodiedExtension;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type Mark as PMMark, type Node as PMNode } from '@atlaskit/editor-prosemirror/model';
3
- import { type RendererContext } from '../types';
3
+ import { type RendererContext, type ExtensionViewportSize } from '../types';
4
4
  import { type ExtensionLayout } from '@atlaskit/adf-schema';
5
5
  import type { ExtensionHandlers } from '@atlaskit/editor-common/extensions';
6
6
  import { type ProviderFactory } from '@atlaskit/editor-common/provider-factory';
@@ -17,6 +17,7 @@ interface Props {
17
17
  layout?: ExtensionLayout;
18
18
  localId?: string;
19
19
  marks?: PMMark[];
20
+ extensionViewportSizes?: ExtensionViewportSize[];
20
21
  }
21
22
  type AllOrNone<T> = T | {
22
23
  [K in keyof T]?: never;
@@ -24,7 +25,7 @@ type AllOrNone<T> = T | {
24
25
  type RenderExtensionOptions = {
25
26
  isTopLevel?: boolean;
26
27
  } & AllOrNone<OverflowShadowProps>;
27
- export declare const renderExtension: (content: any, layout: string, options?: RenderExtensionOptions, removeOverflow?: boolean) => React.JSX.Element;
28
+ export declare const renderExtension: (content: any, layout: string, options?: RenderExtensionOptions, removeOverflow?: boolean, extensionId?: string, extensionViewportSizes?: ExtensionViewportSize[]) => React.JSX.Element;
28
29
  declare const _default: {
29
30
  new (props: Props | Readonly<Props>): {
30
31
  overflowContainer?: HTMLElement | null | undefined;
@@ -75,7 +76,7 @@ declare const _default: {
75
76
  state: {
76
77
  showLeftShadow: boolean;
77
78
  showRightShadow: boolean;
78
- }; /** We keep rendering the default content */
79
+ };
79
80
  componentWillUnmount(): void;
80
81
  componentDidUpdate(): void;
81
82
  handleScroll: (event: Event) => void;
@@ -69,3 +69,7 @@ export type TextHighlighter = {
69
69
  startPos: number;
70
70
  }>;
71
71
  };
72
+ export interface ExtensionViewportSize {
73
+ extensionId?: string;
74
+ viewportSize?: string;
75
+ }
@@ -10,7 +10,7 @@ import type { ADFStage } from '@atlaskit/editor-common/validator';
10
10
  import type { Schema } from '@atlaskit/editor-prosemirror/model';
11
11
  import type { EmojiResourceConfig } from '@atlaskit/emoji/resource';
12
12
  import type { RendererContext } from '../';
13
- import type { TextHighlighter } from '../react/types';
13
+ import type { TextHighlighter, ExtensionViewportSize } from '../react/types';
14
14
  import type { RenderOutputStat } from '../render-document';
15
15
  import type { MediaOptions } from '../types/mediaOptions';
16
16
  import type { SmartLinksOptions } from '../types/smartLinksOptions';
@@ -47,6 +47,7 @@ export interface RendererProps {
47
47
  media?: MediaOptions;
48
48
  emojiResourceConfig?: EmojiResourceConfig;
49
49
  smartLinks?: SmartLinksOptions;
50
+ extensionViewportSizes?: ExtensionViewportSize[];
50
51
  allowAnnotations?: boolean;
51
52
  annotationProvider?: AnnotationProviders | null;
52
53
  innerRef?: React.RefObject<HTMLDivElement>;
@@ -7,7 +7,7 @@ export { ValidationContextProvider } from './ui/Renderer/ValidationContext';
7
7
  export type { Serializer } from './serializer';
8
8
  export type { HeadingAnchorLinksProps, RendererAppearance, StickyHeaderProps, NodeComponentsProps, } from './ui/Renderer/types';
9
9
  export type { RendererProps } from './ui/renderer-props';
10
- export type { RendererContext, NodeProps } from './react/types';
10
+ export type { RendererContext, NodeProps, ExtensionViewportSize } from './react/types';
11
11
  export { ADFEncoder } from './utils';
12
12
  export { renderDocument } from './render-document';
13
13
  export type { RenderOutputStat } from './render-document';
@@ -7,7 +7,7 @@ import type { TextWrapper } from './nodes';
7
7
  import type { ExtensionHandlers } from '@atlaskit/editor-common/extensions';
8
8
  import type { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
9
9
  import type { EventHandlers } from '@atlaskit/editor-common/ui';
10
- import type { RendererContext, TextHighlighter } from './types';
10
+ import type { RendererContext, TextHighlighter, ExtensionViewportSize } from './types';
11
11
  import type { MediaOptions } from '../types/mediaOptions';
12
12
  import type { SmartLinksOptions } from '../types/smartLinksOptions';
13
13
  import type { EmojiResourceConfig } from '@atlaskit/emoji/resource';
@@ -37,6 +37,7 @@ export interface ReactSerializerInit {
37
37
  media?: MediaOptions;
38
38
  emojiResourceConfig?: EmojiResourceConfig;
39
39
  smartLinks?: SmartLinksOptions;
40
+ extensionViewportSizes?: ExtensionViewportSize[];
40
41
  allowCopyToClipboard?: boolean;
41
42
  allowWrapCodeBlock?: boolean;
42
43
  allowPlaceholderText?: boolean;
@@ -91,6 +92,7 @@ export default class ReactSerializer implements Serializer<JSX.Element> {
91
92
  private media?;
92
93
  private emojiResourceConfig?;
93
94
  private smartLinks?;
95
+ private extensionViewportSizes?;
94
96
  private allowAnnotations;
95
97
  private allowSelectAllTrap?;
96
98
  private nodeComponents?;
@@ -114,6 +116,7 @@ export default class ReactSerializer implements Serializer<JSX.Element> {
114
116
  private getDateProps;
115
117
  private getMediaSingleProps;
116
118
  private getMediaProps;
119
+ private getExtensionProps;
117
120
  private getEmojiProps;
118
121
  private getEmbedCardProps;
119
122
  private getBlockCardProps;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import type { Mark as PMMark, Node as PMNode } from '@atlaskit/editor-prosemirror/model';
3
- import type { RendererContext } from '../types';
3
+ import type { RendererContext, ExtensionViewportSize } from '../types';
4
4
  import type { Serializer } from '../../serializer';
5
5
  import type { ExtensionLayout } from '@atlaskit/adf-schema';
6
6
  import type { ExtensionHandlers } from '@atlaskit/editor-common/extensions';
@@ -20,6 +20,7 @@ interface Props {
20
20
  localId?: string;
21
21
  marks?: PMMark[];
22
22
  startPos: number;
23
+ extensionViewportSizes?: ExtensionViewportSize[];
23
24
  }
24
25
  declare const BodiedExtension: (props: React.PropsWithChildren<Props>) => React.JSX.Element;
25
26
  export default BodiedExtension;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type Mark as PMMark, type Node as PMNode } from '@atlaskit/editor-prosemirror/model';
3
- import { type RendererContext } from '../types';
3
+ import { type RendererContext, type ExtensionViewportSize } from '../types';
4
4
  import { type ExtensionLayout } from '@atlaskit/adf-schema';
5
5
  import type { ExtensionHandlers } from '@atlaskit/editor-common/extensions';
6
6
  import { type ProviderFactory } from '@atlaskit/editor-common/provider-factory';
@@ -17,6 +17,7 @@ interface Props {
17
17
  layout?: ExtensionLayout;
18
18
  localId?: string;
19
19
  marks?: PMMark[];
20
+ extensionViewportSizes?: ExtensionViewportSize[];
20
21
  }
21
22
  type AllOrNone<T> = T | {
22
23
  [K in keyof T]?: never;
@@ -24,7 +25,7 @@ type AllOrNone<T> = T | {
24
25
  type RenderExtensionOptions = {
25
26
  isTopLevel?: boolean;
26
27
  } & AllOrNone<OverflowShadowProps>;
27
- export declare const renderExtension: (content: any, layout: string, options?: RenderExtensionOptions, removeOverflow?: boolean) => React.JSX.Element;
28
+ export declare const renderExtension: (content: any, layout: string, options?: RenderExtensionOptions, removeOverflow?: boolean, extensionId?: string, extensionViewportSizes?: ExtensionViewportSize[]) => React.JSX.Element;
28
29
  declare const _default: {
29
30
  new (props: Props | Readonly<Props>): {
30
31
  overflowContainer?: HTMLElement | null | undefined;
@@ -75,7 +76,7 @@ declare const _default: {
75
76
  state: {
76
77
  showLeftShadow: boolean;
77
78
  showRightShadow: boolean;
78
- }; /** We keep rendering the default content */
79
+ };
79
80
  componentWillUnmount(): void;
80
81
  componentDidUpdate(): void;
81
82
  handleScroll: (event: Event) => void;
@@ -69,3 +69,7 @@ export type TextHighlighter = {
69
69
  startPos: number;
70
70
  }>;
71
71
  };
72
+ export interface ExtensionViewportSize {
73
+ extensionId?: string;
74
+ viewportSize?: string;
75
+ }
@@ -10,7 +10,7 @@ import type { ADFStage } from '@atlaskit/editor-common/validator';
10
10
  import type { Schema } from '@atlaskit/editor-prosemirror/model';
11
11
  import type { EmojiResourceConfig } from '@atlaskit/emoji/resource';
12
12
  import type { RendererContext } from '../';
13
- import type { TextHighlighter } from '../react/types';
13
+ import type { TextHighlighter, ExtensionViewportSize } from '../react/types';
14
14
  import type { RenderOutputStat } from '../render-document';
15
15
  import type { MediaOptions } from '../types/mediaOptions';
16
16
  import type { SmartLinksOptions } from '../types/smartLinksOptions';
@@ -47,6 +47,7 @@ export interface RendererProps {
47
47
  media?: MediaOptions;
48
48
  emojiResourceConfig?: EmojiResourceConfig;
49
49
  smartLinks?: SmartLinksOptions;
50
+ extensionViewportSizes?: ExtensionViewportSize[];
50
51
  allowAnnotations?: boolean;
51
52
  annotationProvider?: AnnotationProviders | null;
52
53
  innerRef?: React.RefObject<HTMLDivElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/renderer",
3
- "version": "113.1.1",
3
+ "version": "113.2.0",
4
4
  "description": "Renderer component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -31,7 +31,7 @@
31
31
  "@atlaskit/analytics-next": "^11.0.0",
32
32
  "@atlaskit/button": "^21.1.0",
33
33
  "@atlaskit/code": "^16.0.0",
34
- "@atlaskit/editor-common": "^100.5.0",
34
+ "@atlaskit/editor-common": "^101.1.0",
35
35
  "@atlaskit/editor-json-transformer": "^8.24.0",
36
36
  "@atlaskit/editor-palette": "2.0.0",
37
37
  "@atlaskit/editor-prosemirror": "7.0.0",
@@ -48,10 +48,10 @@
48
48
  "@atlaskit/media-ui": "^28.0.0",
49
49
  "@atlaskit/media-viewer": "^52.0.0",
50
50
  "@atlaskit/platform-feature-flags": "^1.1.0",
51
- "@atlaskit/smart-card": "^35.1.0",
51
+ "@atlaskit/smart-card": "^35.2.0",
52
52
  "@atlaskit/status": "^3.0.0",
53
53
  "@atlaskit/task-decision": "^19.0.0",
54
- "@atlaskit/theme": "^17.0.0",
54
+ "@atlaskit/theme": "^18.0.0",
55
55
  "@atlaskit/tmp-editor-statsig": "^3.4.0",
56
56
  "@atlaskit/tokens": "^4.3.0",
57
57
  "@atlaskit/tooltip": "^20.0.0",
@@ -133,9 +133,6 @@
133
133
  "annotations_align_editor_and_renderer_styles": {
134
134
  "type": "boolean"
135
135
  },
136
- "platform_editor_react18_phase2_v2": {
137
- "type": "boolean"
138
- },
139
136
  "platform-fix-table-ssr-resizing": {
140
137
  "type": "boolean"
141
138
  },
@@ -195,6 +192,9 @@
195
192
  "bandicoots-compiled-migration-smartcard": {
196
193
  "type": "boolean",
197
194
  "referenceOnly": true
195
+ },
196
+ "platform_editor_querySelector_fix_table_renderer": {
197
+ "type": "boolean"
198
198
  }
199
199
  },
200
200
  "af:exports": {