@atlaskit/renderer 147.1.4 → 147.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 (70) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/core/package.json +10 -0
  3. package/dist/cjs/entry-points/react.js +32 -6
  4. package/dist/cjs/entry-points/renderer-core.js +11 -0
  5. package/dist/cjs/entry-points/renderer-default.js +5 -38
  6. package/dist/cjs/entry-points/renderer.js +53 -25
  7. package/dist/cjs/entry-points/serializer-core.js +13 -0
  8. package/dist/cjs/entry-points/serializer-default.js +29 -0
  9. package/dist/cjs/entry-points/serializer-text.js +13 -0
  10. package/dist/cjs/index.js +66 -21
  11. package/dist/cjs/react/nodes/blockCard.js +1 -10
  12. package/dist/cjs/react/nodes/embedCard.js +1 -1
  13. package/dist/cjs/react/nodes/media/index.js +1 -5
  14. package/dist/cjs/react/utils/withDefaultNodes.js +34 -0
  15. package/dist/cjs/react/utils/withLazyNodes.js +34 -0
  16. package/dist/cjs/ui/Renderer/index.js +5 -4
  17. package/dist/cjs/ui/utils/expand-search-text.js +10 -0
  18. package/dist/es2019/entry-points/react.js +27 -1
  19. package/dist/es2019/entry-points/renderer-core.js +5 -0
  20. package/dist/es2019/entry-points/renderer-default.js +3 -22
  21. package/dist/es2019/entry-points/renderer.js +17 -13
  22. package/dist/es2019/entry-points/serializer-core.js +3 -0
  23. package/dist/es2019/entry-points/serializer-default.js +14 -0
  24. package/dist/es2019/entry-points/serializer-text.js +3 -0
  25. package/dist/es2019/entry-points/text-serializer-text.js +6 -0
  26. package/dist/es2019/entry-points/text.js +6 -0
  27. package/dist/es2019/index.js +45 -6
  28. package/dist/es2019/react/nodes/blockCard.js +1 -10
  29. package/dist/es2019/react/nodes/embedCard.js +1 -1
  30. package/dist/es2019/react/nodes/media/index.js +1 -3
  31. package/dist/es2019/react/utils/withDefaultNodes.js +23 -0
  32. package/dist/es2019/react/utils/withLazyNodes.js +23 -0
  33. package/dist/es2019/ui/Renderer/index.js +3 -2
  34. package/dist/es2019/ui/utils/expand-search-text.js +10 -0
  35. package/dist/esm/entry-points/react.js +35 -1
  36. package/dist/esm/entry-points/renderer-core.js +5 -0
  37. package/dist/esm/entry-points/renderer-default.js +3 -24
  38. package/dist/esm/entry-points/renderer.js +17 -13
  39. package/dist/esm/entry-points/serializer-core.js +3 -0
  40. package/dist/esm/entry-points/serializer-default.js +23 -0
  41. package/dist/esm/entry-points/serializer-text.js +3 -0
  42. package/dist/esm/entry-points/text-serializer-text.js +6 -0
  43. package/dist/esm/entry-points/text.js +6 -0
  44. package/dist/esm/index.js +53 -6
  45. package/dist/esm/react/nodes/blockCard.js +1 -10
  46. package/dist/esm/react/nodes/embedCard.js +1 -1
  47. package/dist/esm/react/nodes/media/index.js +1 -5
  48. package/dist/esm/react/utils/withDefaultNodes.js +25 -0
  49. package/dist/esm/react/utils/withLazyNodes.js +25 -0
  50. package/dist/esm/ui/Renderer/index.js +3 -2
  51. package/dist/esm/ui/utils/expand-search-text.js +10 -0
  52. package/dist/types/entry-points/react.d.ts +14 -1
  53. package/dist/types/entry-points/renderer-core.d.ts +4 -0
  54. package/dist/types/entry-points/renderer-default.d.ts +4 -6
  55. package/dist/types/entry-points/renderer.d.ts +15 -12
  56. package/dist/types/entry-points/serializer-core.d.ts +2 -0
  57. package/dist/types/entry-points/serializer-default.d.ts +6 -0
  58. package/dist/types/entry-points/serializer-text.d.ts +1 -0
  59. package/dist/types/entry-points/serializer.d.ts +6 -0
  60. package/dist/types/entry-points/text-serializer-text.d.ts +6 -0
  61. package/dist/types/entry-points/text.d.ts +6 -0
  62. package/dist/types/index.d.ts +33 -5
  63. package/dist/types/react/utils/withDefaultNodes.d.ts +13 -0
  64. package/dist/types/react/utils/withLazyNodes.d.ts +13 -0
  65. package/dist/types/ui/Renderer/index.d.ts +1 -1
  66. package/dist/types/ui/utils/expand-search-text.d.ts +10 -0
  67. package/package.json +3 -10
  68. package/serializer/core/package.json +10 -0
  69. package/serializer/default/package.json +10 -0
  70. package/serializer/text/package.json +10 -0
package/dist/esm/index.js CHANGED
@@ -1,8 +1,49 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
5
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
+ import _inherits from "@babel/runtime/helpers/inherits";
7
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
8
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
10
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
11
+ import { default as ReactSerializerLegacy } from './react';
12
+ import { nodeToReact } from './react/nodes';
13
+ import { withLazyNodes } from './react/utils/withLazyNodes';
1
14
  /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required */
2
15
  /* eslint-disable @atlaskit/editor/no-re-export */
3
16
  // Entry file in package.json
17
+ import RendererWithAnnotationSelectionLegacy, { RendererWithAnalytics as RendererWithAnalyticsLegacy } from './ui/Renderer';
4
18
 
5
- export { default as ReactSerializer } from './react';
19
+ /**
20
+ * @deprecated Use `ReactSerializerInit` from `@atlaskit/renderer/serializer/default` instead.
21
+ * This export will be removed in January 2027.
22
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
23
+ */
24
+
25
+ /**
26
+ * @deprecated Use `ReactSerializer` from `@atlaskit/renderer/serializer/default` instead.
27
+ * This export will be removed in January 2027.
28
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
29
+ */
30
+ export var ReactSerializer = /*#__PURE__*/function (_ReactSerializerLegac) {
31
+ function ReactSerializer(init) {
32
+ _classCallCheck(this, ReactSerializer);
33
+ return _callSuper(this, ReactSerializer, [_objectSpread(_objectSpread({}, init), {}, {
34
+ nodeComponents: _objectSpread(_objectSpread({}, nodeToReact), init.nodeComponents)
35
+ })]);
36
+ }
37
+ _inherits(ReactSerializer, _ReactSerializerLegac);
38
+ return _createClass(ReactSerializer);
39
+ }(ReactSerializerLegacy);
40
+
41
+ /**
42
+ * @private
43
+ * @deprecated Use `TextSerializer` from `@atlaskit/renderer/serializer/text` instead.
44
+ * This export will be removed in January 2027.
45
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
46
+ */
6
47
  export { default as TextSerializer } from './text';
7
48
 
8
49
  /**
@@ -10,16 +51,14 @@ export { default as TextSerializer } from './text';
10
51
  * This export will be removed in January 2027.
11
52
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
12
53
  */
13
-
14
- export { default as ReactRenderer } from './ui/Renderer';
54
+ export var ReactRenderer = withLazyNodes(RendererWithAnnotationSelectionLegacy);
15
55
 
16
56
  /**
17
- * @deprecated Use `RendererWithAnalytics` from `@atlaskit/renderer/default` instead.
57
+ * @deprecated Use `Renderer` from `@atlaskit/renderer/default` instead.
18
58
  * This export will be removed in January 2027.
19
59
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
20
60
  */
21
- export { RendererWithAnalytics } from './ui/Renderer';
22
- export { InlineNodeRendererWrapper } from './ui/ExtensionRenderer';
61
+ export var RendererWithAnalytics = withLazyNodes(RendererWithAnalyticsLegacy);
23
62
 
24
63
  /**
25
64
  * @deprecated Use `nodes` from `@atlaskit/renderer/nodes/default` instead.
@@ -27,7 +66,15 @@ export { InlineNodeRendererWrapper } from './ui/ExtensionRenderer';
27
66
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
28
67
  */
29
68
  export { nodeToReact as defaultNodeComponents } from './react/nodes';
69
+ export { InlineNodeRendererWrapper } from './ui/ExtensionRenderer';
30
70
  export { AnnotationsWrapper } from './ui/annotations';
31
71
  export { ValidationContextProvider } from './ui/Renderer/ValidationContext';
72
+
73
+ /**
74
+ * @deprecated Use `Serializer` from `@atlaskit/renderer/serializer/default` instead.
75
+ * This export will be removed in January 2027.
76
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
77
+ */
78
+
32
79
  export { ADFEncoder } from './utils';
33
80
  export { renderDocument } from './render-document';
@@ -151,16 +151,7 @@ export default function BlockCard(props) {
151
151
  });
152
152
  }
153
153
  var cardComponent;
154
- if (smartLinks !== null && smartLinks !== void 0 && smartLinks.ssr && url && (
155
- // Clean up feature gates when both are fully rolled out.
156
- // - platform_ssr_smartlink_cards: Controls SSR smart links for confluence (100% rolled out)
157
- // - jfp-magma-ssr-iv-editor-links: Controls SSR smart links for jira (at time of comment: 50% rolled out)
158
- // Once both gates are 100% rolled out, remove this condition entirely and make
159
- // smart link SSR behavior the default.
160
- // NOTE: This is a temporary solution to allow for the gradual rollout of SSR smart links for jira and keep it
161
- // fully rolled out for confluence since both gates target different products keep only one gate to control the behavior
162
- // isnt correct.
163
- fg('platform_ssr_smartlink_cards') || fg('jfp-magma-ssr-iv-editor-links'))) {
154
+ if (smartLinks !== null && smartLinks !== void 0 && smartLinks.ssr && url && fg('platform_ssr_smartlink_cards')) {
164
155
  cardComponent = jsx(CardSSR, _extends({
165
156
  appearance: "block",
166
157
  platform: platform
@@ -155,7 +155,7 @@ function EmbedCardInternal(props) {
155
155
  }
156
156
  };
157
157
  var cardComponent;
158
- if (smartLinks !== null && smartLinks !== void 0 && smartLinks.ssr && url && (fg('platform_ssr_smartlink_embeds') || fg('jfp-magma-ssr-iv-editor-links'))) {
158
+ if (smartLinks !== null && smartLinks !== void 0 && smartLinks.ssr && url && fg('platform_ssr_smartlink_embeds')) {
159
159
  var _smartLinks$frameStyl2;
160
160
  var ssrCardProps = {
161
161
  url: url,
@@ -30,7 +30,6 @@ import { WithProviders } from '@atlaskit/editor-common/provider-factory';
30
30
  import { AnnotationUpdateEvent } from '@atlaskit/editor-common/types';
31
31
  import { MediaBorderGapFiller } from '@atlaskit/editor-common/ui';
32
32
  import { hexToEditorBorderPaletteColor } from '@atlaskit/editor-palette';
33
- import { fg } from '@atlaskit/platform-feature-flags/fg';
34
33
  import { MODE, PLATFORM } from '../../../analytics/events';
35
34
  import { useAnnotationRangeState } from '../../../ui/annotations/contexts/AnnotationRangeContext';
36
35
  import { useInlineCommentSubscriberContext } from '../../../ui/annotations/hooks/use-inline-comment-subscriber';
@@ -44,9 +43,6 @@ var getDataConsumerMark = function getDataConsumerMark(marks) {
44
43
  return mark.type === 'dataConsumer' || ((_mark$type = mark.type) === null || _mark$type === void 0 ? void 0 : _mark$type.name) === 'dataConsumer';
45
44
  });
46
45
  };
47
- var getRemixDataConsumerMark = function getRemixDataConsumerMark(marks) {
48
- return fg('cc-maui-add-mark-for-remix-generated-images') ? getDataConsumerMark(marks) : undefined;
49
- };
50
46
  var linkStyle = css({
51
47
  position: 'absolute',
52
48
  background: 'transparent',
@@ -244,7 +240,7 @@ var Media = /*#__PURE__*/function (_PureComponent) {
244
240
  _this = _callSuper(this, Media, [_props]);
245
241
  _defineProperty(_this, "mediaInstance", {});
246
242
  _defineProperty(_this, "getDataConsumerMark", function () {
247
- return getRemixDataConsumerMark(_this.props.marks);
243
+ return getDataConsumerMark(_this.props.marks);
248
244
  });
249
245
  _defineProperty(_this, "getDataConsumerSource", function () {
250
246
  var _getDataConsumerMark;
@@ -0,0 +1,25 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ import React, { useMemo } from 'react';
6
+ import { nodes } from '../nodes/nodes';
7
+ /**
8
+ * Helper HOC to inject a synchronous set of default nodes into the renderer.
9
+ *
10
+ * @param BaseComponent Renderer without default nodes
11
+ * @returns Renderer, with synchronous set of default nodes
12
+ */
13
+ export function withDefaultNodes(BaseComponent) {
14
+ var ComponentWithDefaultNodes = function ComponentWithDefaultNodes(props) {
15
+ var nodeComponentsWithDefaultNodes = useMemo(function () {
16
+ return _objectSpread(_objectSpread({}, nodes), props.nodeComponents);
17
+ }, [props.nodeComponents]);
18
+
19
+ // eslint-disable-next-line react/jsx-props-no-spreading
20
+ return /*#__PURE__*/React.createElement(BaseComponent, _extends({}, props, {
21
+ nodeComponents: nodeComponentsWithDefaultNodes
22
+ }));
23
+ };
24
+ return ComponentWithDefaultNodes;
25
+ }
@@ -0,0 +1,25 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ import React, { useMemo } from 'react';
6
+ import { nodeToReact } from '../nodes';
7
+ /**
8
+ * Helper HOC to inject the legacy lazy-loaded set of nodes into the renderer.
9
+ *
10
+ * @param BaseComponent Renderer without default nodes
11
+ * @returns Renderer, with lazy-loaded default nodes
12
+ */
13
+ export function withLazyNodes(BaseComponent) {
14
+ var ComponentWithLazyNodes = function ComponentWithLazyNodes(props) {
15
+ var nodeComponentsWithLazyNodes = useMemo(function () {
16
+ return _objectSpread(_objectSpread({}, nodeToReact), props.nodeComponents);
17
+ }, [props.nodeComponents]);
18
+
19
+ // eslint-disable-next-line react/jsx-props-no-spreading
20
+ return /*#__PURE__*/React.createElement(BaseComponent, _extends({}, props, {
21
+ nodeComponents: nodeComponentsWithLazyNodes
22
+ }));
23
+ };
24
+ return ComponentWithLazyNodes;
25
+ }
@@ -28,11 +28,12 @@ import { BaseTheme, IntlErrorBoundary, UnsupportedBlock, WidthProvider, WithCrea
28
28
  import { getAnalyticsAppearance, getAnalyticsEventSeverity, shouldForceTracking } from '@atlaskit/editor-common/utils';
29
29
  import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
30
30
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/editor-experiment';
31
- import { ReactSerializer, renderDocument } from '../../';
32
31
  import AnalyticsContext from '../../analytics/analyticsContext';
33
32
  import { MODE, PLATFORM } from '../../analytics/events';
33
+ import { default as ReactSerializer } from '../../react';
34
34
  import { EditorMediaClientProvider } from '../../react/utils/EditorMediaClientProvider';
35
35
  import { getActiveHeadingId, isNestedHeaderLinksEnabled } from '../../react/utils/links';
36
+ import { renderDocument } from '../../render-document';
36
37
  import { RendererContextProvider, useRendererContext } from '../../renderer-context';
37
38
  import { findInTree } from '../../utils';
38
39
  import { ActiveHeaderIdProvider } from '../active-header-id-provider';
@@ -61,7 +62,7 @@ export var DEGRADED_SEVERITY_THRESHOLD = 3000;
61
62
  var TABLE_INFO_TIMEOUT = 10000;
62
63
  var RENDER_EVENT_SAMPLE_RATE = 0.1;
63
64
  var packageName = "@atlaskit/renderer";
64
- var packageVersion = "147.1.3";
65
+ var packageVersion = "147.1.5";
65
66
  var setAsQueryContainerStyles = css({
66
67
  containerName: 'ak-renderer-wrapper',
67
68
  containerType: 'inline-size'
@@ -112,6 +112,16 @@ var searchTextCache = new WeakMap();
112
112
  * Cached on the node. ProseMirror nodes never change, and the serializer reuses the same instances
113
113
  * across renders, so the text only has to be worked out once per block.
114
114
  *
115
+ * Browser find cannot reach extension output while the expand is collapsed. The ADF does not
116
+ * contain what a table of contents, Jira issues or Table Filter macro shows, so the extension adds
117
+ * no text here and does not render until the expand opens. Extensions that keep ADF in
118
+ * `nestedContent` are the exception.
119
+ *
120
+ * This is deliberate. Loading those macros only when the expand opens is the fix for HOT-121622,
121
+ * where pages with many of them inside expands loaded slowly. To make them findable, return `null`
122
+ * for any block that holds an extension, as for inline comments. Every such macro would then load
123
+ * with the page.
124
+ *
115
125
  * @returns the text, or `undefined` if this block has to be rendered instead.
116
126
  */
117
127
  export var getBlockSearchText = function getBlockSearchText(node) {
@@ -1,2 +1,15 @@
1
+ import { type ReactSerializerInit, default as ReactSerializerLegacy } from '../react';
2
+ /**
3
+ * @deprecated Use `ReactSerializerInit` from `@atlaskit/renderer/serializer/default` instead.
4
+ * This export will be removed in January 2027.
5
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
6
+ */
1
7
  export type { ReactSerializerInit } from '../react/index';
2
- export { default } from '../react/index';
8
+ /**
9
+ * @deprecated Use `ReactSerializer` from `@atlaskit/renderer/serializer/default` instead.
10
+ * This export will be removed in January 2027.
11
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
12
+ */
13
+ export default class ReactSerializer extends ReactSerializerLegacy {
14
+ constructor(init: ReactSerializerInit);
15
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from 'react';
2
+ import type { RendererProps } from '../ui/renderer-props';
3
+ export type { RendererProps } from '../ui/renderer-props';
4
+ export declare const Renderer: ComponentType<RendererProps>;
@@ -1,6 +1,4 @@
1
- import RenderLegacy, { RendererFunctionalComponent as RendererFunctionalComponentLegacy } from '../ui/Renderer/index';
2
- export { DEGRADED_SEVERITY_THRESHOLD, NORMAL_SEVERITY_THRESHOLD } from '../ui/Renderer/index';
3
- export type { RendererWrapperProps } from '../ui/Renderer/index';
4
- export declare const Renderer: typeof RenderLegacy;
5
- export declare const RendererFunctionalComponent: typeof RendererFunctionalComponentLegacy;
6
- export declare const RendererWithAnalytics: typeof RenderLegacy;
1
+ import type { ComponentType } from 'react';
2
+ import type { RendererProps } from '../ui/renderer-props';
3
+ export type { RendererProps } from '../ui/renderer-props';
4
+ export declare const Renderer: ComponentType<RendererProps>;
@@ -1,13 +1,15 @@
1
+ import type { ComponentProps, JSX } from 'react';
2
+ import RendererWithAnnotationSelectionLegacy, { Renderer as RendererLegacy, RendererFunctionalComponent as RendererFunctionalComponentLegacy, RendererWithAnalytics as RendererWithAnalyticsLegacy } from '../ui/Renderer/index';
1
3
  /**
2
- * @deprecated Use `DEGRADED_SEVERITY_THRESHOLD` from `@atlaskit/renderer/default` instead.
3
- * This export will be removed in January 2027.
4
+ * @deprecated This export will be removed in January 2027.
4
5
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
6
+ * Ping #cc-editor-lego if you are using this export.
5
7
  */
6
8
  export { DEGRADED_SEVERITY_THRESHOLD } from '../ui/Renderer/index';
7
9
  /**
8
- * @deprecated Use `NORMAL_SEVERITY_THRESHOLD` from `@atlaskit/renderer/default` instead.
9
- * This export will be removed in January 2027.
10
+ * @deprecated This export will be removed in January 2027.
10
11
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
12
+ * Ping #cc-editor-lego if you are using this export.
11
13
  */
12
14
  export { NORMAL_SEVERITY_THRESHOLD } from '../ui/Renderer/index';
13
15
  /**
@@ -15,28 +17,29 @@ export { NORMAL_SEVERITY_THRESHOLD } from '../ui/Renderer/index';
15
17
  * This export will be removed in January 2027.
16
18
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
17
19
  */
18
- export { Renderer } from '../ui/Renderer/index';
20
+ export declare const Renderer: typeof RendererLegacy;
19
21
  /**
20
- * @deprecated Use `RendererFunctionalComponent` from `@atlaskit/renderer/default` instead.
22
+ * @deprecated Use `Renderer` from `@atlaskit/renderer/default` instead.
21
23
  * This export will be removed in January 2027.
22
24
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
23
25
  */
24
- export { RendererFunctionalComponent } from '../ui/Renderer/index';
26
+ export declare const RendererFunctionalComponent: typeof RendererFunctionalComponentLegacy;
25
27
  /**
26
- * @deprecated Use `RendererWithAnalytics` from `@atlaskit/renderer/default` instead.
28
+ * @deprecated Use `Renderer` from `@atlaskit/renderer/default` instead.
27
29
  * This export will be removed in January 2027.
28
30
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
29
31
  */
30
- export { RendererWithAnalytics } from '../ui/Renderer/index';
32
+ export declare const RendererWithAnalytics: (props: ComponentProps<typeof RendererWithAnalyticsLegacy>) => JSX.Element;
31
33
  /**
32
- * @deprecated Use `RendererWrapperProps` from `@atlaskit/renderer/default` instead.
33
- * This export will be removed in January 2027.
34
+ * @deprecated This export will be removed in January 2027.
34
35
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
36
+ * Ping #cc-editor-lego if you are using this export.
35
37
  */
36
38
  export type { RendererWrapperProps } from '../ui/Renderer/index';
39
+ declare const RendererWithAnnotationSelection: typeof RendererWithAnnotationSelectionLegacy;
37
40
  /**
38
41
  * @deprecated Use `Renderer` from `@atlaskit/renderer/default` instead.
39
42
  * This export will be removed in January 2027.
40
43
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
41
44
  */
42
- export { default } from '../ui/Renderer/index';
45
+ export default RendererWithAnnotationSelection;
@@ -0,0 +1,2 @@
1
+ export type { Serializer } from '../serializer';
2
+ export { default as ReactSerializer, type ReactSerializerInit } from '../react';
@@ -0,0 +1,6 @@
1
+ import ReactSerializerCore, { type ReactSerializerInit } from '../react';
2
+ export type { Serializer } from '../serializer';
3
+ export type { ReactSerializerInit } from '../react';
4
+ export declare class ReactSerializer extends ReactSerializerCore {
5
+ constructor(init: ReactSerializerInit);
6
+ }
@@ -0,0 +1 @@
1
+ export { default as TextSerializer } from '../text/index';
@@ -1 +1,7 @@
1
+ /**
2
+ * @private
3
+ * @deprecated Use `Serializer` from `@atlaskit/renderer/serializer/core` instead.
4
+ * This export will be removed in January 2027.
5
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
6
+ */
1
7
  export type { Serializer } from '../serializer';
@@ -1 +1,7 @@
1
+ /**
2
+ * @private
3
+ * @deprecated Use `TextSerializer` from `@atlaskit/renderer/serializer/text` instead.
4
+ * This export will be removed in January 2027.
5
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
6
+ */
1
7
  export { default as TextSerializer } from '../text/index';
@@ -1 +1,7 @@
1
+ /**
2
+ * @private
3
+ * @deprecated Use `TextSerializer` from `@atlaskit/renderer/serializer/text` instead.
4
+ * This export will be removed in January 2027.
5
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
6
+ */
1
7
  export { default } from '../text/index';
@@ -1,26 +1,54 @@
1
- export { default as ReactSerializer, type ReactSerializerInit } from './react';
1
+ import type { ComponentProps, JSX } from 'react';
2
+ import type { ReactSerializerInit } from './react';
3
+ import { default as ReactSerializerLegacy } from './react';
4
+ import RendererWithAnnotationSelectionLegacy, { RendererWithAnalytics as RendererWithAnalyticsLegacy } from './ui/Renderer';
5
+ /**
6
+ * @deprecated Use `ReactSerializerInit` from `@atlaskit/renderer/serializer/default` instead.
7
+ * This export will be removed in January 2027.
8
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
9
+ */
10
+ export type { ReactSerializerInit } from './react';
11
+ /**
12
+ * @deprecated Use `ReactSerializer` from `@atlaskit/renderer/serializer/default` instead.
13
+ * This export will be removed in January 2027.
14
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
15
+ */
16
+ export declare class ReactSerializer extends ReactSerializerLegacy {
17
+ constructor(init: ReactSerializerInit);
18
+ }
19
+ /**
20
+ * @private
21
+ * @deprecated Use `TextSerializer` from `@atlaskit/renderer/serializer/text` instead.
22
+ * This export will be removed in January 2027.
23
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
24
+ */
2
25
  export { default as TextSerializer } from './text';
3
26
  /**
4
27
  * @deprecated Use `Renderer` from `@atlaskit/renderer/default` instead.
5
28
  * This export will be removed in January 2027.
6
29
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
7
30
  */
8
- export { default as ReactRenderer } from './ui/Renderer';
31
+ export declare const ReactRenderer: typeof RendererWithAnnotationSelectionLegacy;
9
32
  /**
10
- * @deprecated Use `RendererWithAnalytics` from `@atlaskit/renderer/default` instead.
33
+ * @deprecated Use `Renderer` from `@atlaskit/renderer/default` instead.
11
34
  * This export will be removed in January 2027.
12
35
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
13
36
  */
14
- export { RendererWithAnalytics } from './ui/Renderer';
15
- export { InlineNodeRendererWrapper } from './ui/ExtensionRenderer';
37
+ export declare const RendererWithAnalytics: (props: ComponentProps<typeof RendererWithAnalyticsLegacy>) => JSX.Element;
16
38
  /**
17
39
  * @deprecated Use `nodes` from `@atlaskit/renderer/nodes/default` instead.
18
40
  * This export will be removed in January 2027.
19
41
  * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
20
42
  */
21
43
  export { nodeToReact as defaultNodeComponents } from './react/nodes';
44
+ export { InlineNodeRendererWrapper } from './ui/ExtensionRenderer';
22
45
  export { AnnotationsWrapper } from './ui/annotations';
23
46
  export { ValidationContextProvider } from './ui/Renderer/ValidationContext';
47
+ /**
48
+ * @deprecated Use `Serializer` from `@atlaskit/renderer/serializer/default` instead.
49
+ * This export will be removed in January 2027.
50
+ * @see https://hello.atlassian.net/wiki/spaces/EDITOR/pages/7650942996/Moving+to+Synchronous+Rendering+in+Editor+Renderer for more.
51
+ */
24
52
  export type { Serializer } from './serializer';
25
53
  export type { HeadingAnchorLinksProps, RendererAppearance, RendererContentMode, StickyHeaderProps, NodeComponentsProps, } from './ui/Renderer/types';
26
54
  export type { RendererProps } from './ui/renderer-props';
@@ -0,0 +1,13 @@
1
+ import { type ComponentType, type ExoticComponent, type JSX, type ReactNode } from 'react';
2
+ import type { NodeComponentsProps } from '../../ui/Renderer/types';
3
+ type PropsWithNodeComponents = {
4
+ nodeComponents?: NodeComponentsProps;
5
+ };
6
+ /**
7
+ * Helper HOC to inject a synchronous set of default nodes into the renderer.
8
+ *
9
+ * @param BaseComponent Renderer without default nodes
10
+ * @returns Renderer, with synchronous set of default nodes
11
+ */
12
+ export declare function withDefaultNodes<T extends PropsWithNodeComponents>(BaseComponent: ComponentType<T> | ExoticComponent<T> | ((props: T) => ReactNode)): (props: T) => JSX.Element;
13
+ export {};
@@ -0,0 +1,13 @@
1
+ import { type ComponentType, type ExoticComponent, type JSX, type ReactNode } from 'react';
2
+ import type { NodeComponentsProps } from '../../ui/Renderer/types';
3
+ type PropsWithNodeComponents = {
4
+ nodeComponents?: NodeComponentsProps;
5
+ };
6
+ /**
7
+ * Helper HOC to inject the legacy lazy-loaded set of nodes into the renderer.
8
+ *
9
+ * @param BaseComponent Renderer without default nodes
10
+ * @returns Renderer, with lazy-loaded default nodes
11
+ */
12
+ export declare function withLazyNodes<T extends PropsWithNodeComponents>(BaseComponent: ComponentType<T> | ExoticComponent<T> | ((props: T) => ReactNode)): (props: T) => JSX.Element;
13
+ export {};
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import React from 'react';
6
6
  import { jsx } from '@emotion/react';
7
- import type { MediaSSR } from '../../';
7
+ import type { MediaSSR } from '../../types/mediaOptions';
8
8
  import type { RendererProps } from '../renderer-props';
9
9
  import type { RendererAppearance, RendererContentMode } from './types';
10
10
  export declare const NORMAL_SEVERITY_THRESHOLD = 2000;
@@ -18,6 +18,16 @@ export declare const holdsRevealableContent: (node: PMNode) => boolean;
18
18
  * Cached on the node. ProseMirror nodes never change, and the serializer reuses the same instances
19
19
  * across renders, so the text only has to be worked out once per block.
20
20
  *
21
+ * Browser find cannot reach extension output while the expand is collapsed. The ADF does not
22
+ * contain what a table of contents, Jira issues or Table Filter macro shows, so the extension adds
23
+ * no text here and does not render until the expand opens. Extensions that keep ADF in
24
+ * `nestedContent` are the exception.
25
+ *
26
+ * This is deliberate. Loading those macros only when the expand opens is the fix for HOT-121622,
27
+ * where pages with many of them inside expands loaded slowly. To make them findable, return `null`
28
+ * for any block that holds an extension, as for inline comments. Every such macro would then load
29
+ * with the page.
30
+ *
21
31
  * @returns the text, or `undefined` if this block has to be rendered instead.
22
32
  */
23
33
  export declare const getBlockSearchText: (node: PMNode) => string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/renderer",
3
- "version": "147.1.4",
3
+ "version": "147.2.0",
4
4
  "description": "Renderer component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -33,7 +33,7 @@
33
33
  }
34
34
  },
35
35
  "dependencies": {
36
- "@atlaskit/adf-schema": "^57.6.0",
36
+ "@atlaskit/adf-schema": "^57.7.0",
37
37
  "@atlaskit/adf-utils": "^20.9.0",
38
38
  "@atlaskit/afm-i18n-platform-editor-renderer": "2.270.0",
39
39
  "@atlaskit/analytics-listeners": "^11.4.0",
@@ -68,7 +68,7 @@
68
68
  "@atlaskit/platform-feature-flags-react": "^1.2.0",
69
69
  "@atlaskit/pragmatic-drag-and-drop": "^4.0.0",
70
70
  "@atlaskit/react-compiler-gating": "^0.2.0",
71
- "@atlaskit/react-ufo": "^8.0.0",
71
+ "@atlaskit/react-ufo": "^8.1.0",
72
72
  "@atlaskit/smart-card": "^46.5.0",
73
73
  "@atlaskit/status": "^5.13.0",
74
74
  "@atlaskit/task-decision": "^21.12.0",
@@ -203,9 +203,6 @@
203
203
  "platform_editor_numbered_column_in_include": {
204
204
  "type": "boolean"
205
205
  },
206
- "jfp-magma-ssr-iv-editor-links": {
207
- "type": "boolean"
208
- },
209
206
  "media-perf-uplift-mutation-fix": {
210
207
  "type": "boolean"
211
208
  },
@@ -228,10 +225,6 @@
228
225
  "platform_nested_table_style_override_2": {
229
226
  "type": "boolean"
230
227
  },
231
- "cc-maui-add-mark-for-remix-generated-images": {
232
- "type": "boolean",
233
- "referenceOnly": true
234
- },
235
228
  "platform_forge_inline_bodied_macro": {
236
229
  "type": "boolean",
237
230
  "referenceOnly": true
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "@atlaskit/renderer/serializer/core",
3
+ "main": "../../dist/cjs/entry-points/serializer-core.js",
4
+ "module": "../../dist/esm/entry-points/serializer-core.js",
5
+ "module:es2019": "../../dist/es2019/entry-points/serializer-core.js",
6
+ "sideEffects": [
7
+ "*.compiled.css"
8
+ ],
9
+ "types": "../../dist/types/entry-points/serializer-core.d.ts"
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "@atlaskit/renderer/serializer/default",
3
+ "main": "../../dist/cjs/entry-points/serializer-default.js",
4
+ "module": "../../dist/esm/entry-points/serializer-default.js",
5
+ "module:es2019": "../../dist/es2019/entry-points/serializer-default.js",
6
+ "sideEffects": [
7
+ "*.compiled.css"
8
+ ],
9
+ "types": "../../dist/types/entry-points/serializer-default.d.ts"
10
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "@atlaskit/renderer/serializer/text",
3
+ "main": "../../dist/cjs/entry-points/serializer-text.js",
4
+ "module": "../../dist/esm/entry-points/serializer-text.js",
5
+ "module:es2019": "../../dist/es2019/entry-points/serializer-text.js",
6
+ "sideEffects": [
7
+ "*.compiled.css"
8
+ ],
9
+ "types": "../../dist/types/entry-points/serializer-text.d.ts"
10
+ }