@atlaskit/renderer 113.1.2 → 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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
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
+
3
19
  ## 113.1.2
4
20
 
5
21
  ### 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) {
@@ -91,10 +91,9 @@ var TableStickyScrollbar = exports.TableStickyScrollbar = /*#__PURE__*/function
91
91
  root: this.rendererScrollableElement
92
92
  });
93
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')
95
- // eslint-disable-next-line @atlaskit/editor/no-as-casting
96
- ? bottomSentinels === null || bottomSentinels === void 0 ? void 0 : bottomSentinels.item(bottomSentinels.length - 1) // eslint-disable-next-line @atlaskit/editor/no-as-casting
97
- : (_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);
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);
98
97
 
99
98
  // Ignored via go/ees005
100
99
  // eslint-disable-next-line @atlaskit/editor/no-as-casting
@@ -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.2";
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,
@@ -183,6 +183,7 @@ export default class ReactSerializer {
183
183
  this.media = init.media;
184
184
  this.emojiResourceConfig = init.emojiResourceConfig;
185
185
  this.smartLinks = init.smartLinks;
186
+ this.extensionViewportSizes = init.extensionViewportSizes;
186
187
  this.allowSelectAllTrap = init.allowSelectAllTrap;
187
188
  this.nodeComponents = init.nodeComponents;
188
189
  this.allowWindowedCodeBlock = init.allowWindowedCodeBlock;
@@ -209,6 +210,9 @@ export default class ReactSerializer {
209
210
  return this.getMediaProps(node, path);
210
211
  case 'emoji':
211
212
  return this.getEmojiProps(node);
213
+ case 'extension':
214
+ case 'bodiedExtension':
215
+ return this.getExtensionProps(node, path);
212
216
  case 'mediaGroup':
213
217
  return this.getMediaGroupProps(node);
214
218
  case 'mediaInline':
@@ -442,6 +446,12 @@ export default class ReactSerializer {
442
446
  allowAnnotationsDraftMode: this.surroundTextNodesWithTextWrapper
443
447
  };
444
448
  }
449
+ getExtensionProps(node, path = []) {
450
+ return {
451
+ ...this.getProps(node, path),
452
+ extensionViewportSizes: this.extensionViewportSizes
453
+ };
454
+ }
445
455
  getEmojiProps(node) {
446
456
  return {
447
457
  ...this.getProps(node),
@@ -69,10 +69,9 @@ export class TableStickyScrollbar {
69
69
  root: this.rendererScrollableElement
70
70
  });
71
71
  const bottomSentinels = (_this$wrapper = this.wrapper) === null || _this$wrapper === void 0 ? void 0 : (_this$wrapper$parentE3 = _this$wrapper.parentElement) === null || _this$wrapper$parentE3 === void 0 ? void 0 : _this$wrapper$parentE3.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM);
72
- this.sentinels.bottom = fg('platform_editor_querySelector_fix_table_renderer')
73
- // eslint-disable-next-line @atlaskit/editor/no-as-casting
74
- ? bottomSentinels === null || bottomSentinels === void 0 ? void 0 : bottomSentinels.item(bottomSentinels.length - 1) // eslint-disable-next-line @atlaskit/editor/no-as-casting
75
- : (_this$wrapper2 = this.wrapper) === null || _this$wrapper2 === void 0 ? void 0 : (_this$wrapper2$parent = _this$wrapper2.parentElement) === null || _this$wrapper2$parent === void 0 ? void 0 : (_this$wrapper2$parent2 = _this$wrapper2$parent.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper2$parent2 === void 0 ? void 0 : _this$wrapper2$parent2.item(0);
72
+ this.sentinels.bottom = fg('platform_editor_querySelector_fix_table_renderer') ? // eslint-disable-next-line @atlaskit/editor/no-as-casting
73
+ bottomSentinels === null || bottomSentinels === void 0 ? void 0 : bottomSentinels.item(bottomSentinels.length - 1) : // eslint-disable-next-line @atlaskit/editor/no-as-casting
74
+ (_this$wrapper2 = this.wrapper) === null || _this$wrapper2 === void 0 ? void 0 : (_this$wrapper2$parent = _this$wrapper2.parentElement) === null || _this$wrapper2$parent === void 0 ? void 0 : (_this$wrapper2$parent2 = _this$wrapper2$parent.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper2$parent2 === void 0 ? void 0 : _this$wrapper2$parent2.item(0);
76
75
 
77
76
  // Ignored via go/ees005
78
77
  // eslint-disable-next-line @atlaskit/editor/no-as-casting
@@ -13,7 +13,9 @@ const BodiedExtension = props => {
13
13
  layout = 'default',
14
14
  path = [],
15
15
  extensionKey,
16
- extensionType
16
+ extensionType,
17
+ parameters,
18
+ extensionViewportSizes
17
19
  } = props;
18
20
  const {
19
21
  createAnalyticsEvent
@@ -44,7 +46,7 @@ const BodiedExtension = props => {
44
46
  // Return the content directly if it's a valid JSX.Element
45
47
  return renderExtension(result, layout, {
46
48
  isTopLevel: path.length < 1
47
- }, removeOverflow);
49
+ }, removeOverflow, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
48
50
  }
49
51
  } catch (e) {
50
52
  /** We don't want this error to block renderer */
@@ -54,7 +56,7 @@ const BodiedExtension = props => {
54
56
  // Always return default content if anything goes wrong
55
57
  return renderExtension(children, layout, {
56
58
  isTopLevel: path.length < 1
57
- }, removeOverflow);
59
+ }, removeOverflow, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
58
60
  })));
59
61
  };
60
62
  export default BodiedExtension;
@@ -4,7 +4,26 @@ import ExtensionRenderer from '../../ui/ExtensionRenderer';
4
4
  import { overflowShadow, WidthConsumer } from '@atlaskit/editor-common/ui';
5
5
  import { calcBreakoutWidth } from '@atlaskit/editor-common/utils';
6
6
  import { RendererCssClassName } from '../../consts';
7
- 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.2";
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,
@@ -190,6 +190,7 @@ var ReactSerializer = /*#__PURE__*/function () {
190
190
  this.media = init.media;
191
191
  this.emojiResourceConfig = init.emojiResourceConfig;
192
192
  this.smartLinks = init.smartLinks;
193
+ this.extensionViewportSizes = init.extensionViewportSizes;
193
194
  this.allowSelectAllTrap = init.allowSelectAllTrap;
194
195
  this.nodeComponents = init.nodeComponents;
195
196
  this.allowWindowedCodeBlock = init.allowWindowedCodeBlock;
@@ -220,6 +221,9 @@ var ReactSerializer = /*#__PURE__*/function () {
220
221
  return this.getMediaProps(node, path);
221
222
  case 'emoji':
222
223
  return this.getEmojiProps(node);
224
+ case 'extension':
225
+ case 'bodiedExtension':
226
+ return this.getExtensionProps(node, path);
223
227
  case 'mediaGroup':
224
228
  return this.getMediaGroupProps(node);
225
229
  case 'mediaInline':
@@ -481,6 +485,14 @@ var ReactSerializer = /*#__PURE__*/function () {
481
485
  allowAnnotationsDraftMode: this.surroundTextNodesWithTextWrapper
482
486
  });
483
487
  }
488
+ }, {
489
+ key: "getExtensionProps",
490
+ value: function getExtensionProps(node) {
491
+ var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
492
+ return _objectSpread(_objectSpread({}, this.getProps(node, path)), {}, {
493
+ extensionViewportSizes: this.extensionViewportSizes
494
+ });
495
+ }
484
496
  }, {
485
497
  key: "getEmojiProps",
486
498
  value: function getEmojiProps(node) {
@@ -84,10 +84,9 @@ export var TableStickyScrollbar = /*#__PURE__*/function () {
84
84
  root: this.rendererScrollableElement
85
85
  });
86
86
  var bottomSentinels = (_this$wrapper = this.wrapper) === null || _this$wrapper === void 0 || (_this$wrapper = _this$wrapper.parentElement) === null || _this$wrapper === void 0 ? void 0 : _this$wrapper.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM);
87
- this.sentinels.bottom = fg('platform_editor_querySelector_fix_table_renderer')
88
- // eslint-disable-next-line @atlaskit/editor/no-as-casting
89
- ? bottomSentinels === null || bottomSentinels === void 0 ? void 0 : bottomSentinels.item(bottomSentinels.length - 1) // eslint-disable-next-line @atlaskit/editor/no-as-casting
90
- : (_this$wrapper2 = this.wrapper) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.parentElement) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper2 === void 0 ? void 0 : _this$wrapper2.item(0);
87
+ this.sentinels.bottom = fg('platform_editor_querySelector_fix_table_renderer') ? // eslint-disable-next-line @atlaskit/editor/no-as-casting
88
+ bottomSentinels === null || bottomSentinels === void 0 ? void 0 : bottomSentinels.item(bottomSentinels.length - 1) : // eslint-disable-next-line @atlaskit/editor/no-as-casting
89
+ (_this$wrapper2 = this.wrapper) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.parentElement) === null || _this$wrapper2 === void 0 || (_this$wrapper2 = _this$wrapper2.getElementsByClassName(TableSharedCssClassName.TABLE_STICKY_SCROLLBAR_SENTINEL_BOTTOM)) === null || _this$wrapper2 === void 0 ? void 0 : _this$wrapper2.item(0);
91
90
 
92
91
  // Ignored via go/ees005
93
92
  // eslint-disable-next-line @atlaskit/editor/no-as-casting
@@ -14,7 +14,9 @@ var BodiedExtension = function BodiedExtension(props) {
14
14
  _props$path = props.path,
15
15
  path = _props$path === void 0 ? [] : _props$path,
16
16
  extensionKey = props.extensionKey,
17
- extensionType = props.extensionType;
17
+ extensionType = props.extensionType,
18
+ parameters = props.parameters,
19
+ extensionViewportSizes = props.extensionViewportSizes;
18
20
  var _useAnalyticsEvents = useAnalyticsEvents(),
19
21
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
20
22
  var removeOverflow = React.Children.toArray(children)
@@ -44,7 +46,7 @@ var BodiedExtension = function BodiedExtension(props) {
44
46
  // Return the content directly if it's a valid JSX.Element
45
47
  return renderExtension(result, layout, {
46
48
  isTopLevel: path.length < 1
47
- }, removeOverflow);
49
+ }, removeOverflow, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
48
50
  }
49
51
  } catch (e) {
50
52
  /** We don't want this error to block renderer */
@@ -54,7 +56,7 @@ var BodiedExtension = function BodiedExtension(props) {
54
56
  // Always return default content if anything goes wrong
55
57
  return renderExtension(children, layout, {
56
58
  isTopLevel: path.length < 1
57
- }, removeOverflow);
59
+ }, removeOverflow, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
58
60
  })));
59
61
  };
60
62
  export default BodiedExtension;
@@ -4,9 +4,32 @@ import ExtensionRenderer from '../../ui/ExtensionRenderer';
4
4
  import { overflowShadow, WidthConsumer } from '@atlaskit/editor-common/ui';
5
5
  import { calcBreakoutWidth } from '@atlaskit/editor-common/utils';
6
6
  import { RendererCssClassName } from '../../consts';
7
+ var viewportSizes = ['small', 'medium', 'default', 'large', 'xlarge'];
8
+ // Mirrors sizes from https://stash.atlassian.com/projects/ATLASSIAN/repos/atlassian-frontend-monorepo/browse/platform/packages/forge/xen-editor-provider/src/render/renderers/ForgeUIExtension.tsx
9
+ var macroHeights = {
10
+ small: '112px',
11
+ medium: '262px',
12
+ default: '262px',
13
+ large: '524px',
14
+ xlarge: '1048px'
15
+ };
16
+ var getViewportSize = function getViewportSize(extensionId, extensionViewportSizes) {
17
+ if (!Array.isArray(extensionViewportSizes) || !extensionId) {
18
+ return;
19
+ }
20
+ var extension = extensionViewportSizes.find(function (extension) {
21
+ return extension.extensionId === extensionId;
22
+ });
23
+ if (extension) {
24
+ var viewportSize = extension.viewportSize && viewportSizes.includes(extension.viewportSize) ? extension.viewportSize : 'default';
25
+ return macroHeights[viewportSize];
26
+ }
27
+ };
7
28
  export var renderExtension = function renderExtension(content, layout) {
8
29
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
9
30
  var removeOverflow = arguments.length > 3 ? arguments[3] : undefined;
31
+ var extensionId = arguments.length > 4 ? arguments[4] : undefined;
32
+ var extensionViewportSizes = arguments.length > 5 ? arguments[5] : undefined;
10
33
  var overflowContainerClass = !removeOverflow ? RendererCssClassName.EXTENSION_OVERFLOW_CONTAINER : '';
11
34
 
12
35
  // by default, we assume the extension is at top level, (direct child of doc node)
@@ -14,6 +37,7 @@ export var renderExtension = function renderExtension(content, layout) {
14
37
  _ref$isTopLevel = _ref.isTopLevel,
15
38
  isTopLevel = _ref$isTopLevel === void 0 ? true : _ref$isTopLevel;
16
39
  var centerAlignClass = isTopLevel && ['wide', 'full-width'].includes(layout) ? RendererCssClassName.EXTENSION_CENTER_ALIGN : '';
40
+ var viewportSize = getViewportSize(extensionId, extensionViewportSizes);
17
41
  return /*#__PURE__*/React.createElement(WidthConsumer, null, function (_ref2) {
18
42
  var width = _ref2.width;
19
43
  return /*#__PURE__*/React.createElement("div", {
@@ -23,7 +47,8 @@ export var renderExtension = function renderExtension(content, layout) {
23
47
  className: "".concat(RendererCssClassName.EXTENSION, " ").concat(options.shadowClassNames, " ").concat(centerAlignClass),
24
48
  style: {
25
49
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
26
- width: isTopLevel ? calcBreakoutWidth(layout, width) : '100%'
50
+ width: isTopLevel ? calcBreakoutWidth(layout, width) : '100%',
51
+ minHeight: viewportSize
27
52
  },
28
53
  "data-layout": layout
29
54
  }, /*#__PURE__*/React.createElement("div", {
@@ -38,7 +63,9 @@ var Extension = function Extension(props) {
38
63
  handleRef = props.handleRef,
39
64
  shadowClassNames = props.shadowClassNames,
40
65
  _props$path = props.path,
41
- path = _props$path === void 0 ? [] : _props$path;
66
+ path = _props$path === void 0 ? [] : _props$path,
67
+ extensionViewportSizes = props.extensionViewportSizes,
68
+ parameters = props.parameters;
42
69
  return /*#__PURE__*/React.createElement(ExtensionRenderer
43
70
  // Ignored via go/ees005
44
71
  // eslint-disable-next-line react/jsx-props-no-spreading
@@ -53,19 +80,18 @@ var Extension = function Extension(props) {
53
80
  isTopLevel: path.length < 1,
54
81
  handleRef: handleRef,
55
82
  shadowClassNames: shadowClassNames
56
- });
83
+ }, undefined, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
57
84
  }
58
85
  } catch (e) {
59
86
  /** We don't want this error to block renderer */
60
87
  /** We keep rendering the default content */
61
88
  }
62
-
63
89
  // Always return default content if anything goes wrong
64
90
  return renderExtension(text || 'extension', layout, {
65
91
  isTopLevel: path.length < 1,
66
92
  handleRef: handleRef,
67
93
  shadowClassNames: shadowClassNames
68
- });
94
+ }, undefined, parameters === null || parameters === void 0 ? void 0 : parameters.extensionId, extensionViewportSizes);
69
95
  });
70
96
  };
71
97
  export default overflowShadow(Extension, {
@@ -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.2";
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,
@@ -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.2",
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": "^101.0.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
  },