@atlaskit/renderer 111.1.6 → 111.1.7
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 +8 -0
- package/dist/cjs/ui/Renderer/index.js +32 -20
- package/dist/es2019/ui/Renderer/index.js +33 -20
- package/dist/esm/ui/Renderer/index.js +33 -21
- package/dist/types/renderer-context.d.ts +1 -0
- package/dist/types/ui/Renderer/index.d.ts +1 -1
- package/dist/types/ui/renderer-props.d.ts +1 -0
- package/dist/types-ts4.5/renderer-context.d.ts +1 -0
- package/dist/types-ts4.5/ui/Renderer/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/renderer-props.d.ts +1 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atlaskit/renderer
|
|
2
2
|
|
|
3
|
+
## 111.1.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#150087](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/150087)
|
|
8
|
+
[`1ef4ceed97d4d`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/1ef4ceed97d4d) -
|
|
9
|
+
Fix CSS based renderer width fix not working in nested renderer
|
|
10
|
+
|
|
3
11
|
## 111.1.6
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
|
@@ -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 = "111.1.
|
|
68
|
+
var packageVersion = "111.1.7";
|
|
69
69
|
var setAsQueryContainerStyles = (0, _react2.css)({
|
|
70
70
|
containerName: 'ak-renderer-wrapper',
|
|
71
71
|
containerType: 'inline-size',
|
|
@@ -88,10 +88,12 @@ var __RendererClassComponent = exports.__RendererClassComponent = /*#__PURE__*/f
|
|
|
88
88
|
* deleted once that measurement occurs.
|
|
89
89
|
*/
|
|
90
90
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderedMeasurementDistortedDurationMonitor", (0, _measureRender.getDistortedDurationMonitor)());
|
|
91
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "
|
|
91
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "createRendererContext", (0, _memoizeOne.default)(function (featureFlags, isTopLevelRenderer) {
|
|
92
92
|
var normalizedFeatureFlags = (0, _normalizeFeatureFlags.normalizeFeatureFlags)(featureFlags);
|
|
93
93
|
return {
|
|
94
|
-
featureFlags: normalizedFeatureFlags
|
|
94
|
+
featureFlags: normalizedFeatureFlags,
|
|
95
|
+
// The context is uninitialized at the top level. In nested levels it's all false
|
|
96
|
+
isTopLevelRenderer: isTopLevelRenderer === undefined
|
|
95
97
|
};
|
|
96
98
|
}));
|
|
97
99
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "fireAnalyticsEvent", function (event) {
|
|
@@ -250,8 +252,8 @@ var __RendererClassComponent = exports.__RendererClassComponent = /*#__PURE__*/f
|
|
|
250
252
|
var stickyHeaders = props.stickyHeaders ? props.stickyHeaders === true ? {} : props.stickyHeaders : undefined;
|
|
251
253
|
var annotationProvider = props.annotationProvider;
|
|
252
254
|
var allowAnnotationsDraftMode = Boolean(annotationProvider && annotationProvider.inlineComment && annotationProvider.inlineComment.allowDraftMode);
|
|
253
|
-
var _this$
|
|
254
|
-
featureFlags = _this$
|
|
255
|
+
var _this$createRendererC = this.createRendererContext(props.featureFlags, props.isTopLevelRenderer),
|
|
256
|
+
featureFlags = _this$createRendererC.featureFlags;
|
|
255
257
|
return {
|
|
256
258
|
startPos: props.startPos,
|
|
257
259
|
providers: this.providerFactory,
|
|
@@ -313,7 +315,7 @@ var __RendererClassComponent = exports.__RendererClassComponent = /*#__PURE__*/f
|
|
|
313
315
|
allowWrapCodeBlock = _this$props.allowWrapCodeBlock,
|
|
314
316
|
allowCustomPanels = _this$props.allowCustomPanels,
|
|
315
317
|
media = _this$props.media;
|
|
316
|
-
var
|
|
318
|
+
var rendererContext = this.createRendererContext(this.props.featureFlags, this.props.isTopLevelRenderer);
|
|
317
319
|
var allowNestedHeaderLinks = (0, _links.isNestedHeaderLinksEnabled)(allowHeadingAnchorLinks);
|
|
318
320
|
/**
|
|
319
321
|
* Handle clicks inside renderer. If the click isn't on media, in the media picker, or on a
|
|
@@ -361,7 +363,7 @@ var __RendererClassComponent = exports.__RendererClassComponent = /*#__PURE__*/f
|
|
|
361
363
|
}
|
|
362
364
|
};
|
|
363
365
|
try {
|
|
364
|
-
var
|
|
366
|
+
var _rendererContext$feat;
|
|
365
367
|
var schema = this.getSchema(this.props.schema, this.props.adfStage);
|
|
366
368
|
var _renderDocument = (0, _.renderDocument)(adfDocument, this.serializer, schema, adfStage, this.props.useSpecBasedValidator, this.id, this.fireAnalyticsEvent, this.props.unsupportedContentLevelsTracking, this.props.appearance),
|
|
367
369
|
result = _renderDocument.result,
|
|
@@ -371,7 +373,7 @@ var __RendererClassComponent = exports.__RendererClassComponent = /*#__PURE__*/f
|
|
|
371
373
|
onComplete(stat);
|
|
372
374
|
}
|
|
373
375
|
var rendererOutput = (0, _react2.jsx)(_rendererContext.RendererContextProvider, {
|
|
374
|
-
value:
|
|
376
|
+
value: rendererContext
|
|
375
377
|
}, (0, _react2.jsx)(_activeHeaderIdProvider.ActiveHeaderIdProvider, {
|
|
376
378
|
value: (0, _links.getActiveHeadingId)(allowHeadingAnchorLinks)
|
|
377
379
|
}, (0, _react2.jsx)(_analyticsContext.default.Provider, {
|
|
@@ -391,13 +393,14 @@ var __RendererClassComponent = exports.__RendererClassComponent = /*#__PURE__*/f
|
|
|
391
393
|
allowWrapCodeBlock: allowWrapCodeBlock,
|
|
392
394
|
allowCustomPanels: allowCustomPanels,
|
|
393
395
|
allowPlaceholderText: allowPlaceholderText,
|
|
394
|
-
useBlockRenderForCodeBlock: (
|
|
396
|
+
useBlockRenderForCodeBlock: (_rendererContext$feat = rendererContext.featureFlags.useBlockRenderForCodeBlock) !== null && _rendererContext$feat !== void 0 ? _rendererContext$feat : true,
|
|
395
397
|
addTelepointer: this.props.addTelepointer,
|
|
396
398
|
innerRef: this.editorRef,
|
|
397
399
|
onClick: handleWrapperOnClick,
|
|
398
400
|
onMouseDown: this.onMouseDownEditView,
|
|
399
401
|
ssr: media === null || media === void 0 ? void 0 : media.ssr,
|
|
400
|
-
isInsideOfInlineExtension: this.props.isInsideOfInlineExtension
|
|
402
|
+
isInsideOfInlineExtension: this.props.isInsideOfInlineExtension,
|
|
403
|
+
isTopLevelRenderer: rendererContext.isTopLevelRenderer
|
|
401
404
|
}, enableSsrInlineScripts ? (0, _react2.jsx)(_breakoutSsr.BreakoutSSRInlineScript, null) : null, (0, _react2.jsx)(RendererActionsInternalUpdater, {
|
|
402
405
|
doc: pmDoc,
|
|
403
406
|
schema: schema,
|
|
@@ -409,7 +412,7 @@ var __RendererClassComponent = exports.__RendererClassComponent = /*#__PURE__*/f
|
|
|
409
412
|
}, rendererOutput) : rendererOutput;
|
|
410
413
|
return (0, _react2.jsx)(_react.Fragment, null, rendererResult);
|
|
411
414
|
} catch (e) {
|
|
412
|
-
var
|
|
415
|
+
var _rendererContext$feat2;
|
|
413
416
|
if (onError) {
|
|
414
417
|
onError(e);
|
|
415
418
|
}
|
|
@@ -421,9 +424,10 @@ var __RendererClassComponent = exports.__RendererClassComponent = /*#__PURE__*/f
|
|
|
421
424
|
allowPlaceholderText: allowPlaceholderText,
|
|
422
425
|
allowColumnSorting: allowColumnSorting,
|
|
423
426
|
allowNestedHeaderLinks: allowNestedHeaderLinks,
|
|
424
|
-
useBlockRenderForCodeBlock: (
|
|
427
|
+
useBlockRenderForCodeBlock: (_rendererContext$feat2 = rendererContext.featureFlags.useBlockRenderForCodeBlock) !== null && _rendererContext$feat2 !== void 0 ? _rendererContext$feat2 : true,
|
|
425
428
|
addTelepointer: this.props.addTelepointer,
|
|
426
|
-
onClick: handleWrapperOnClick
|
|
429
|
+
onClick: handleWrapperOnClick,
|
|
430
|
+
isTopLevelRenderer: rendererContext.isTopLevelRenderer
|
|
427
431
|
}, (0, _react2.jsx)(_ui.UnsupportedBlock, null));
|
|
428
432
|
}
|
|
429
433
|
}
|
|
@@ -447,11 +451,15 @@ var __RendererClassComponent = exports.__RendererClassComponent = /*#__PURE__*/f
|
|
|
447
451
|
function Renderer(props) {
|
|
448
452
|
var _React$useContext = _react.default.useContext(_annotations.AnnotationsPositionContext),
|
|
449
453
|
startPos = _React$useContext.startPos;
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
return (
|
|
453
|
-
|
|
454
|
-
|
|
454
|
+
var _useRendererContext = (0, _rendererContext.useRendererContext)(),
|
|
455
|
+
isTopLevelRenderer = _useRendererContext.isTopLevelRenderer;
|
|
456
|
+
return (
|
|
457
|
+
// eslint-disable-next-line react/jsx-pascal-case
|
|
458
|
+
(0, _react2.jsx)(__RendererClassComponent, (0, _extends2.default)({}, props, {
|
|
459
|
+
startPos: startPos,
|
|
460
|
+
isTopLevelRenderer: isTopLevelRenderer
|
|
461
|
+
}))
|
|
462
|
+
);
|
|
455
463
|
}
|
|
456
464
|
|
|
457
465
|
// Usage notes:
|
|
@@ -492,7 +500,8 @@ var RendererWrapper = /*#__PURE__*/_react.default.memo(function (props) {
|
|
|
492
500
|
addTelepointer = props.addTelepointer,
|
|
493
501
|
ssr = props.ssr,
|
|
494
502
|
isInsideOfInlineExtension = props.isInsideOfInlineExtension,
|
|
495
|
-
allowTableResizing = props.allowTableResizing
|
|
503
|
+
allowTableResizing = props.allowTableResizing,
|
|
504
|
+
isTopLevelRenderer = props.isTopLevelRenderer;
|
|
496
505
|
var createTelepointer = function createTelepointer() {
|
|
497
506
|
var telepointer = document.createElement('span');
|
|
498
507
|
telepointer.textContent = "\u200B";
|
|
@@ -577,7 +586,10 @@ var RendererWrapper = /*#__PURE__*/_react.default.memo(function (props) {
|
|
|
577
586
|
// Only apply container-type = inline-size when having a known width in full-page/full-width/comment mode.
|
|
578
587
|
// Otherwise when appearance is unspecified the renderer size is decided by the content.
|
|
579
588
|
// In this case we can't set the container-type = inline-size as it will collapse width to 0.
|
|
580
|
-
return (appearance === 'full-page' || appearance === 'full-width' || appearance === 'comment') &&
|
|
589
|
+
return (appearance === 'full-page' || appearance === 'full-width' || appearance === 'comment') &&
|
|
590
|
+
// In case of having excerpt-include on page there are multiple renderers nested.
|
|
591
|
+
// Make sure only the root renderer is set to be query container.
|
|
592
|
+
isTopLevelRenderer && (0, _platformFeatureFlags.fg)('platform-fix-table-ssr-resizing') ? (0, _react2.jsx)("div", {
|
|
581
593
|
css: setAsQueryContainerStyles
|
|
582
594
|
}, renderer) : renderer;
|
|
583
595
|
});
|
|
@@ -37,7 +37,7 @@ import { AnnotationsPositionContext, AnnotationsWrapper } from '../annotations';
|
|
|
37
37
|
import { getActiveHeadingId, isNestedHeaderLinksEnabled } from '../../react/utils/links';
|
|
38
38
|
import { findInTree } from '../../utils';
|
|
39
39
|
import { isInteractiveElement } from './click-to-edit';
|
|
40
|
-
import { RendererContextProvider } from '../../renderer-context';
|
|
40
|
+
import { useRendererContext, RendererContextProvider } from '../../renderer-context';
|
|
41
41
|
import memoizeOne from 'memoize-one';
|
|
42
42
|
import { ErrorBoundary } from './ErrorBoundary';
|
|
43
43
|
import { EditorMediaClientProvider } from '../../react/utils/EditorMediaClientProvider';
|
|
@@ -45,7 +45,7 @@ import { nodeToReact } from '../../react/nodes';
|
|
|
45
45
|
export const NORMAL_SEVERITY_THRESHOLD = 2000;
|
|
46
46
|
export const DEGRADED_SEVERITY_THRESHOLD = 3000;
|
|
47
47
|
const packageName = "@atlaskit/renderer";
|
|
48
|
-
const packageVersion = "111.1.
|
|
48
|
+
const packageVersion = "111.1.7";
|
|
49
49
|
const setAsQueryContainerStyles = css({
|
|
50
50
|
containerName: 'ak-renderer-wrapper',
|
|
51
51
|
containerType: 'inline-size',
|
|
@@ -64,10 +64,12 @@ export class __RendererClassComponent extends PureComponent {
|
|
|
64
64
|
* deleted once that measurement occurs.
|
|
65
65
|
*/
|
|
66
66
|
_defineProperty(this, "renderedMeasurementDistortedDurationMonitor", getDistortedDurationMonitor());
|
|
67
|
-
_defineProperty(this, "
|
|
67
|
+
_defineProperty(this, "createRendererContext", memoizeOne((featureFlags, isTopLevelRenderer) => {
|
|
68
68
|
const normalizedFeatureFlags = normalizeFeatureFlags(featureFlags);
|
|
69
69
|
return {
|
|
70
|
-
featureFlags: normalizedFeatureFlags
|
|
70
|
+
featureFlags: normalizedFeatureFlags,
|
|
71
|
+
// The context is uninitialized at the top level. In nested levels it's all false
|
|
72
|
+
isTopLevelRenderer: isTopLevelRenderer === undefined
|
|
71
73
|
};
|
|
72
74
|
}));
|
|
73
75
|
_defineProperty(this, "fireAnalyticsEvent", event => {
|
|
@@ -228,7 +230,7 @@ export class __RendererClassComponent extends PureComponent {
|
|
|
228
230
|
const allowAnnotationsDraftMode = Boolean(annotationProvider && annotationProvider.inlineComment && annotationProvider.inlineComment.allowDraftMode);
|
|
229
231
|
const {
|
|
230
232
|
featureFlags
|
|
231
|
-
} = this.
|
|
233
|
+
} = this.createRendererContext(props.featureFlags, props.isTopLevelRenderer);
|
|
232
234
|
return {
|
|
233
235
|
startPos: props.startPos,
|
|
234
236
|
providers: this.providerFactory,
|
|
@@ -289,7 +291,7 @@ export class __RendererClassComponent extends PureComponent {
|
|
|
289
291
|
allowCustomPanels,
|
|
290
292
|
media
|
|
291
293
|
} = this.props;
|
|
292
|
-
const
|
|
294
|
+
const rendererContext = this.createRendererContext(this.props.featureFlags, this.props.isTopLevelRenderer);
|
|
293
295
|
const allowNestedHeaderLinks = isNestedHeaderLinksEnabled(allowHeadingAnchorLinks);
|
|
294
296
|
/**
|
|
295
297
|
* Handle clicks inside renderer. If the click isn't on media, in the media picker, or on a
|
|
@@ -337,7 +339,7 @@ export class __RendererClassComponent extends PureComponent {
|
|
|
337
339
|
}
|
|
338
340
|
};
|
|
339
341
|
try {
|
|
340
|
-
var
|
|
342
|
+
var _rendererContext$feat;
|
|
341
343
|
const schema = this.getSchema(this.props.schema, this.props.adfStage);
|
|
342
344
|
const {
|
|
343
345
|
result,
|
|
@@ -348,7 +350,7 @@ export class __RendererClassComponent extends PureComponent {
|
|
|
348
350
|
onComplete(stat);
|
|
349
351
|
}
|
|
350
352
|
const rendererOutput = jsx(RendererContextProvider, {
|
|
351
|
-
value:
|
|
353
|
+
value: rendererContext
|
|
352
354
|
}, jsx(ActiveHeaderIdProvider, {
|
|
353
355
|
value: getActiveHeadingId(allowHeadingAnchorLinks)
|
|
354
356
|
}, jsx(AnalyticsContext.Provider, {
|
|
@@ -366,13 +368,14 @@ export class __RendererClassComponent extends PureComponent {
|
|
|
366
368
|
allowWrapCodeBlock: allowWrapCodeBlock,
|
|
367
369
|
allowCustomPanels: allowCustomPanels,
|
|
368
370
|
allowPlaceholderText: allowPlaceholderText,
|
|
369
|
-
useBlockRenderForCodeBlock: (
|
|
371
|
+
useBlockRenderForCodeBlock: (_rendererContext$feat = rendererContext.featureFlags.useBlockRenderForCodeBlock) !== null && _rendererContext$feat !== void 0 ? _rendererContext$feat : true,
|
|
370
372
|
addTelepointer: this.props.addTelepointer,
|
|
371
373
|
innerRef: this.editorRef,
|
|
372
374
|
onClick: handleWrapperOnClick,
|
|
373
375
|
onMouseDown: this.onMouseDownEditView,
|
|
374
376
|
ssr: media === null || media === void 0 ? void 0 : media.ssr,
|
|
375
|
-
isInsideOfInlineExtension: this.props.isInsideOfInlineExtension
|
|
377
|
+
isInsideOfInlineExtension: this.props.isInsideOfInlineExtension,
|
|
378
|
+
isTopLevelRenderer: rendererContext.isTopLevelRenderer
|
|
376
379
|
}, enableSsrInlineScripts ? jsx(BreakoutSSRInlineScript, null) : null, jsx(RendererActionsInternalUpdater, {
|
|
377
380
|
doc: pmDoc,
|
|
378
381
|
schema: schema,
|
|
@@ -384,7 +387,7 @@ export class __RendererClassComponent extends PureComponent {
|
|
|
384
387
|
}, rendererOutput) : rendererOutput;
|
|
385
388
|
return jsx(Fragment, null, rendererResult);
|
|
386
389
|
} catch (e) {
|
|
387
|
-
var
|
|
390
|
+
var _rendererContext$feat2;
|
|
388
391
|
if (onError) {
|
|
389
392
|
onError(e);
|
|
390
393
|
}
|
|
@@ -396,9 +399,10 @@ export class __RendererClassComponent extends PureComponent {
|
|
|
396
399
|
allowPlaceholderText: allowPlaceholderText,
|
|
397
400
|
allowColumnSorting: allowColumnSorting,
|
|
398
401
|
allowNestedHeaderLinks: allowNestedHeaderLinks,
|
|
399
|
-
useBlockRenderForCodeBlock: (
|
|
402
|
+
useBlockRenderForCodeBlock: (_rendererContext$feat2 = rendererContext.featureFlags.useBlockRenderForCodeBlock) !== null && _rendererContext$feat2 !== void 0 ? _rendererContext$feat2 : true,
|
|
400
403
|
addTelepointer: this.props.addTelepointer,
|
|
401
|
-
onClick: handleWrapperOnClick
|
|
404
|
+
onClick: handleWrapperOnClick,
|
|
405
|
+
isTopLevelRenderer: rendererContext.isTopLevelRenderer
|
|
402
406
|
}, jsx(UnsupportedBlock, null));
|
|
403
407
|
}
|
|
404
408
|
}
|
|
@@ -421,11 +425,16 @@ export function Renderer(props) {
|
|
|
421
425
|
const {
|
|
422
426
|
startPos
|
|
423
427
|
} = React.useContext(AnnotationsPositionContext);
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
428
|
+
const {
|
|
429
|
+
isTopLevelRenderer
|
|
430
|
+
} = useRendererContext();
|
|
431
|
+
return (
|
|
432
|
+
// eslint-disable-next-line react/jsx-pascal-case
|
|
433
|
+
jsx(__RendererClassComponent, _extends({}, props, {
|
|
434
|
+
startPos: startPos,
|
|
435
|
+
isTopLevelRenderer: isTopLevelRenderer
|
|
436
|
+
}))
|
|
437
|
+
);
|
|
429
438
|
}
|
|
430
439
|
|
|
431
440
|
// Usage notes:
|
|
@@ -465,7 +474,8 @@ const RendererWrapper = /*#__PURE__*/React.memo(props => {
|
|
|
465
474
|
addTelepointer,
|
|
466
475
|
ssr,
|
|
467
476
|
isInsideOfInlineExtension,
|
|
468
|
-
allowTableResizing
|
|
477
|
+
allowTableResizing,
|
|
478
|
+
isTopLevelRenderer
|
|
469
479
|
} = props;
|
|
470
480
|
const createTelepointer = () => {
|
|
471
481
|
const telepointer = document.createElement('span');
|
|
@@ -549,7 +559,10 @@ const RendererWrapper = /*#__PURE__*/React.memo(props => {
|
|
|
549
559
|
// Only apply container-type = inline-size when having a known width in full-page/full-width/comment mode.
|
|
550
560
|
// Otherwise when appearance is unspecified the renderer size is decided by the content.
|
|
551
561
|
// In this case we can't set the container-type = inline-size as it will collapse width to 0.
|
|
552
|
-
return (appearance === 'full-page' || appearance === 'full-width' || appearance === 'comment') &&
|
|
562
|
+
return (appearance === 'full-page' || appearance === 'full-width' || appearance === 'comment') &&
|
|
563
|
+
// In case of having excerpt-include on page there are multiple renderers nested.
|
|
564
|
+
// Make sure only the root renderer is set to be query container.
|
|
565
|
+
isTopLevelRenderer && fg('platform-fix-table-ssr-resizing') ? jsx("div", {
|
|
553
566
|
css: setAsQueryContainerStyles
|
|
554
567
|
}, renderer) : renderer;
|
|
555
568
|
});
|
|
@@ -47,7 +47,7 @@ import { AnnotationsPositionContext, AnnotationsWrapper } from '../annotations';
|
|
|
47
47
|
import { getActiveHeadingId, isNestedHeaderLinksEnabled } from '../../react/utils/links';
|
|
48
48
|
import { findInTree } from '../../utils';
|
|
49
49
|
import { isInteractiveElement } from './click-to-edit';
|
|
50
|
-
import { RendererContextProvider } from '../../renderer-context';
|
|
50
|
+
import { useRendererContext, RendererContextProvider } from '../../renderer-context';
|
|
51
51
|
import memoizeOne from 'memoize-one';
|
|
52
52
|
import { ErrorBoundary } from './ErrorBoundary';
|
|
53
53
|
import { EditorMediaClientProvider } from '../../react/utils/EditorMediaClientProvider';
|
|
@@ -55,7 +55,7 @@ import { nodeToReact } from '../../react/nodes';
|
|
|
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 = "111.1.
|
|
58
|
+
var packageVersion = "111.1.7";
|
|
59
59
|
var setAsQueryContainerStyles = css({
|
|
60
60
|
containerName: 'ak-renderer-wrapper',
|
|
61
61
|
containerType: 'inline-size',
|
|
@@ -78,10 +78,12 @@ export var __RendererClassComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
78
78
|
* deleted once that measurement occurs.
|
|
79
79
|
*/
|
|
80
80
|
_defineProperty(_assertThisInitialized(_this), "renderedMeasurementDistortedDurationMonitor", getDistortedDurationMonitor());
|
|
81
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
81
|
+
_defineProperty(_assertThisInitialized(_this), "createRendererContext", memoizeOne(function (featureFlags, isTopLevelRenderer) {
|
|
82
82
|
var normalizedFeatureFlags = normalizeFeatureFlags(featureFlags);
|
|
83
83
|
return {
|
|
84
|
-
featureFlags: normalizedFeatureFlags
|
|
84
|
+
featureFlags: normalizedFeatureFlags,
|
|
85
|
+
// The context is uninitialized at the top level. In nested levels it's all false
|
|
86
|
+
isTopLevelRenderer: isTopLevelRenderer === undefined
|
|
85
87
|
};
|
|
86
88
|
}));
|
|
87
89
|
_defineProperty(_assertThisInitialized(_this), "fireAnalyticsEvent", function (event) {
|
|
@@ -240,8 +242,8 @@ export var __RendererClassComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
240
242
|
var stickyHeaders = props.stickyHeaders ? props.stickyHeaders === true ? {} : props.stickyHeaders : undefined;
|
|
241
243
|
var annotationProvider = props.annotationProvider;
|
|
242
244
|
var allowAnnotationsDraftMode = Boolean(annotationProvider && annotationProvider.inlineComment && annotationProvider.inlineComment.allowDraftMode);
|
|
243
|
-
var _this$
|
|
244
|
-
featureFlags = _this$
|
|
245
|
+
var _this$createRendererC = this.createRendererContext(props.featureFlags, props.isTopLevelRenderer),
|
|
246
|
+
featureFlags = _this$createRendererC.featureFlags;
|
|
245
247
|
return {
|
|
246
248
|
startPos: props.startPos,
|
|
247
249
|
providers: this.providerFactory,
|
|
@@ -303,7 +305,7 @@ export var __RendererClassComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
303
305
|
allowWrapCodeBlock = _this$props.allowWrapCodeBlock,
|
|
304
306
|
allowCustomPanels = _this$props.allowCustomPanels,
|
|
305
307
|
media = _this$props.media;
|
|
306
|
-
var
|
|
308
|
+
var rendererContext = this.createRendererContext(this.props.featureFlags, this.props.isTopLevelRenderer);
|
|
307
309
|
var allowNestedHeaderLinks = isNestedHeaderLinksEnabled(allowHeadingAnchorLinks);
|
|
308
310
|
/**
|
|
309
311
|
* Handle clicks inside renderer. If the click isn't on media, in the media picker, or on a
|
|
@@ -351,7 +353,7 @@ export var __RendererClassComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
351
353
|
}
|
|
352
354
|
};
|
|
353
355
|
try {
|
|
354
|
-
var
|
|
356
|
+
var _rendererContext$feat;
|
|
355
357
|
var schema = this.getSchema(this.props.schema, this.props.adfStage);
|
|
356
358
|
var _renderDocument = renderDocument(adfDocument, this.serializer, schema, adfStage, this.props.useSpecBasedValidator, this.id, this.fireAnalyticsEvent, this.props.unsupportedContentLevelsTracking, this.props.appearance),
|
|
357
359
|
result = _renderDocument.result,
|
|
@@ -361,7 +363,7 @@ export var __RendererClassComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
361
363
|
onComplete(stat);
|
|
362
364
|
}
|
|
363
365
|
var rendererOutput = jsx(RendererContextProvider, {
|
|
364
|
-
value:
|
|
366
|
+
value: rendererContext
|
|
365
367
|
}, jsx(ActiveHeaderIdProvider, {
|
|
366
368
|
value: getActiveHeadingId(allowHeadingAnchorLinks)
|
|
367
369
|
}, jsx(AnalyticsContext.Provider, {
|
|
@@ -381,13 +383,14 @@ export var __RendererClassComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
381
383
|
allowWrapCodeBlock: allowWrapCodeBlock,
|
|
382
384
|
allowCustomPanels: allowCustomPanels,
|
|
383
385
|
allowPlaceholderText: allowPlaceholderText,
|
|
384
|
-
useBlockRenderForCodeBlock: (
|
|
386
|
+
useBlockRenderForCodeBlock: (_rendererContext$feat = rendererContext.featureFlags.useBlockRenderForCodeBlock) !== null && _rendererContext$feat !== void 0 ? _rendererContext$feat : true,
|
|
385
387
|
addTelepointer: this.props.addTelepointer,
|
|
386
388
|
innerRef: this.editorRef,
|
|
387
389
|
onClick: handleWrapperOnClick,
|
|
388
390
|
onMouseDown: this.onMouseDownEditView,
|
|
389
391
|
ssr: media === null || media === void 0 ? void 0 : media.ssr,
|
|
390
|
-
isInsideOfInlineExtension: this.props.isInsideOfInlineExtension
|
|
392
|
+
isInsideOfInlineExtension: this.props.isInsideOfInlineExtension,
|
|
393
|
+
isTopLevelRenderer: rendererContext.isTopLevelRenderer
|
|
391
394
|
}, enableSsrInlineScripts ? jsx(BreakoutSSRInlineScript, null) : null, jsx(RendererActionsInternalUpdater, {
|
|
392
395
|
doc: pmDoc,
|
|
393
396
|
schema: schema,
|
|
@@ -399,7 +402,7 @@ export var __RendererClassComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
399
402
|
}, rendererOutput) : rendererOutput;
|
|
400
403
|
return jsx(Fragment, null, rendererResult);
|
|
401
404
|
} catch (e) {
|
|
402
|
-
var
|
|
405
|
+
var _rendererContext$feat2;
|
|
403
406
|
if (onError) {
|
|
404
407
|
onError(e);
|
|
405
408
|
}
|
|
@@ -411,9 +414,10 @@ export var __RendererClassComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
411
414
|
allowPlaceholderText: allowPlaceholderText,
|
|
412
415
|
allowColumnSorting: allowColumnSorting,
|
|
413
416
|
allowNestedHeaderLinks: allowNestedHeaderLinks,
|
|
414
|
-
useBlockRenderForCodeBlock: (
|
|
417
|
+
useBlockRenderForCodeBlock: (_rendererContext$feat2 = rendererContext.featureFlags.useBlockRenderForCodeBlock) !== null && _rendererContext$feat2 !== void 0 ? _rendererContext$feat2 : true,
|
|
415
418
|
addTelepointer: this.props.addTelepointer,
|
|
416
|
-
onClick: handleWrapperOnClick
|
|
419
|
+
onClick: handleWrapperOnClick,
|
|
420
|
+
isTopLevelRenderer: rendererContext.isTopLevelRenderer
|
|
417
421
|
}, jsx(UnsupportedBlock, null));
|
|
418
422
|
}
|
|
419
423
|
}
|
|
@@ -437,11 +441,15 @@ export var __RendererClassComponent = /*#__PURE__*/function (_PureComponent) {
|
|
|
437
441
|
export function Renderer(props) {
|
|
438
442
|
var _React$useContext = React.useContext(AnnotationsPositionContext),
|
|
439
443
|
startPos = _React$useContext.startPos;
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
return
|
|
443
|
-
|
|
444
|
-
|
|
444
|
+
var _useRendererContext = useRendererContext(),
|
|
445
|
+
isTopLevelRenderer = _useRendererContext.isTopLevelRenderer;
|
|
446
|
+
return (
|
|
447
|
+
// eslint-disable-next-line react/jsx-pascal-case
|
|
448
|
+
jsx(__RendererClassComponent, _extends({}, props, {
|
|
449
|
+
startPos: startPos,
|
|
450
|
+
isTopLevelRenderer: isTopLevelRenderer
|
|
451
|
+
}))
|
|
452
|
+
);
|
|
445
453
|
}
|
|
446
454
|
|
|
447
455
|
// Usage notes:
|
|
@@ -482,7 +490,8 @@ var RendererWrapper = /*#__PURE__*/React.memo(function (props) {
|
|
|
482
490
|
addTelepointer = props.addTelepointer,
|
|
483
491
|
ssr = props.ssr,
|
|
484
492
|
isInsideOfInlineExtension = props.isInsideOfInlineExtension,
|
|
485
|
-
allowTableResizing = props.allowTableResizing
|
|
493
|
+
allowTableResizing = props.allowTableResizing,
|
|
494
|
+
isTopLevelRenderer = props.isTopLevelRenderer;
|
|
486
495
|
var createTelepointer = function createTelepointer() {
|
|
487
496
|
var telepointer = document.createElement('span');
|
|
488
497
|
telepointer.textContent = "\u200B";
|
|
@@ -567,7 +576,10 @@ var RendererWrapper = /*#__PURE__*/React.memo(function (props) {
|
|
|
567
576
|
// Only apply container-type = inline-size when having a known width in full-page/full-width/comment mode.
|
|
568
577
|
// Otherwise when appearance is unspecified the renderer size is decided by the content.
|
|
569
578
|
// In this case we can't set the container-type = inline-size as it will collapse width to 0.
|
|
570
|
-
return (appearance === 'full-page' || appearance === 'full-width' || appearance === 'comment') &&
|
|
579
|
+
return (appearance === 'full-page' || appearance === 'full-width' || appearance === 'comment') &&
|
|
580
|
+
// In case of having excerpt-include on page there are multiple renderers nested.
|
|
581
|
+
// Make sure only the root renderer is set to be query container.
|
|
582
|
+
isTopLevelRenderer && fg('platform-fix-table-ssr-resizing') ? jsx("div", {
|
|
571
583
|
css: setAsQueryContainerStyles
|
|
572
584
|
}, renderer) : renderer;
|
|
573
585
|
});
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import type { FeatureFlags } from '@atlaskit/editor-common/types';
|
|
3
3
|
export type RendererContextProps = {
|
|
4
4
|
featureFlags?: FeatureFlags;
|
|
5
|
+
isTopLevelRenderer?: boolean;
|
|
5
6
|
};
|
|
6
7
|
export declare const useRendererContext: () => RendererContextProps;
|
|
7
8
|
export declare const RendererContextProvider: React.Provider<{}>;
|
|
@@ -35,7 +35,7 @@ export declare class __RendererClassComponent extends PureComponent<RendererProp
|
|
|
35
35
|
startPos: number;
|
|
36
36
|
}): void;
|
|
37
37
|
private deriveSerializerProps;
|
|
38
|
-
private
|
|
38
|
+
private createRendererContext;
|
|
39
39
|
private fireAnalyticsEvent;
|
|
40
40
|
private getSchema;
|
|
41
41
|
private onMouseDownEditView;
|
|
@@ -65,6 +65,7 @@ export interface RendererProps {
|
|
|
65
65
|
unsupportedContentLevelsTracking?: UnsupportedContentLevelsTracking;
|
|
66
66
|
nodeComponents?: NodeComponentsProps;
|
|
67
67
|
isInsideOfInlineExtension?: boolean;
|
|
68
|
+
isTopLevelRenderer?: boolean;
|
|
68
69
|
/**
|
|
69
70
|
* When enabled a trailing telepointer will be added to the rendered document
|
|
70
71
|
* following content updates.
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import type { FeatureFlags } from '@atlaskit/editor-common/types';
|
|
3
3
|
export type RendererContextProps = {
|
|
4
4
|
featureFlags?: FeatureFlags;
|
|
5
|
+
isTopLevelRenderer?: boolean;
|
|
5
6
|
};
|
|
6
7
|
export declare const useRendererContext: () => RendererContextProps;
|
|
7
8
|
export declare const RendererContextProvider: React.Provider<{}>;
|
|
@@ -35,7 +35,7 @@ export declare class __RendererClassComponent extends PureComponent<RendererProp
|
|
|
35
35
|
startPos: number;
|
|
36
36
|
}): void;
|
|
37
37
|
private deriveSerializerProps;
|
|
38
|
-
private
|
|
38
|
+
private createRendererContext;
|
|
39
39
|
private fireAnalyticsEvent;
|
|
40
40
|
private getSchema;
|
|
41
41
|
private onMouseDownEditView;
|
|
@@ -65,6 +65,7 @@ export interface RendererProps {
|
|
|
65
65
|
unsupportedContentLevelsTracking?: UnsupportedContentLevelsTracking;
|
|
66
66
|
nodeComponents?: NodeComponentsProps;
|
|
67
67
|
isInsideOfInlineExtension?: boolean;
|
|
68
|
+
isTopLevelRenderer?: boolean;
|
|
68
69
|
/**
|
|
69
70
|
* When enabled a trailing telepointer will be added to the rendered document
|
|
70
71
|
* following content updates.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/renderer",
|
|
3
|
-
"version": "111.1.
|
|
3
|
+
"version": "111.1.7",
|
|
4
4
|
"description": "Renderer component",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"@atlaskit/editor-shared-styles": "^3.0.0",
|
|
37
37
|
"@atlaskit/emoji": "^67.8.0",
|
|
38
38
|
"@atlaskit/feature-gate-js-client": "^4.19.0",
|
|
39
|
-
"@atlaskit/icon": "^22.
|
|
40
|
-
"@atlaskit/link-datasource": "^3.
|
|
39
|
+
"@atlaskit/icon": "^22.22.0",
|
|
40
|
+
"@atlaskit/link-datasource": "^3.5.0",
|
|
41
41
|
"@atlaskit/media-card": "^78.5.0",
|
|
42
42
|
"@atlaskit/media-client": "^28.0.0",
|
|
43
43
|
"@atlaskit/media-client-react": "^2.2.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@atlaskit/media-ui": "^25.15.0",
|
|
47
47
|
"@atlaskit/media-viewer": "^49.0.0",
|
|
48
48
|
"@atlaskit/platform-feature-flags": "^0.3.0",
|
|
49
|
-
"@atlaskit/smart-card": "^29.
|
|
49
|
+
"@atlaskit/smart-card": "^29.1.0",
|
|
50
50
|
"@atlaskit/status": "^1.5.0",
|
|
51
51
|
"@atlaskit/task-decision": "^17.11.0",
|
|
52
52
|
"@atlaskit/theme": "^13.0.0",
|