@atlaskit/renderer 112.7.7 → 112.7.9

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,22 @@
1
1
  # @atlaskit/renderer
2
2
 
3
+ ## 112.7.9
4
+
5
+ ### Patch Changes
6
+
7
+ - [#181096](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/181096)
8
+ [`bb4dfee4e6379`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/bb4dfee4e6379) -
9
+ ED-26079 Fix double renderer validation
10
+
11
+ ## 112.7.8
12
+
13
+ ### Patch Changes
14
+
15
+ - [#181016](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/181016)
16
+ [`fb9a503ee55c3`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/fb9a503ee55c3) -
17
+ Add new `getColumnWidths` function which will loop through each table row, looking for the max
18
+ number of table cells to use to render the table correctly when table resizing is enabled.
19
+
3
20
  ## 112.7.7
4
21
 
5
22
  ### Patch Changes
@@ -38,13 +38,17 @@ var RendererActions = exports.default = /*#__PURE__*/function () {
38
38
  //#region private
39
39
  return (0, _createClass2.default)(RendererActions, [{
40
40
  key: "_privateRegisterRenderer",
41
- value: function _privateRegisterRenderer(ref, doc, schema, onAnalyticsEvent, skipValidation) {
41
+ value: function _privateRegisterRenderer(ref, doc, schema, onAnalyticsEvent) {
42
42
  if (!this.initFromContext) {
43
43
  return;
44
44
  } else if (!this.ref) {
45
45
  this.ref = ref;
46
46
  } else if (this.ref !== ref) {
47
- if (!skipValidation) {
47
+ if ((0, _platformFeatureFlags.fg)('platform_editor_legacy_content_macro')) {
48
+ if (this.ref.current !== ref.current) {
49
+ throw new Error("Renderer has already been registered! It's not allowed to re-register with another new Renderer instance.");
50
+ }
51
+ } else {
48
52
  throw new Error("Renderer has already been registered! It's not allowed to re-register with another new Renderer instance.");
49
53
  }
50
54
  }
@@ -22,6 +22,7 @@ var _validator = require("@atlaskit/editor-common/validator");
22
22
  var _utils = require("@atlaskit/editor-common/utils");
23
23
  var _utils2 = require("../utils");
24
24
  var _utils3 = require("@atlaskit/editor-prosemirror/utils");
25
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
25
26
  var _rendererNode = require("./renderer-node");
26
27
  var _code = require("./marks/code");
27
28
  var _segmentText = require("./utils/segment-text");
@@ -367,7 +368,11 @@ var ReactSerializer = exports.default = /*#__PURE__*/function () {
367
368
  var isInsideMultiBodiedExtension = (0, _rendererNode.insideMultiBodiedExtension)(path, node.type.schema);
368
369
  return _objectSpread(_objectSpread({}, this.getProps(node)), {}, {
369
370
  allowColumnSorting: this.allowColumnSorting,
370
- columnWidths: (0, _utils.calcTableColumnWidths)(node),
371
+ columnWidths:
372
+ // When allowTableResizing is enabled, the number of columns is required to render
373
+ // the same scaling logic as editor. Some tables can have unequal rows, so the entire
374
+ // table needs to be scanned.
375
+ this.allowTableResizing && (0, _platformFeatureFlags.fg)('platform_editor_table_col_calculation_fix') ? (0, _utils.getColumnWidths)(node) : (0, _utils.calcTableColumnWidths)(node),
371
376
  tableNode: node,
372
377
  stickyHeaders: stickyHeaders,
373
378
  isInsideOfBlockNode: isInsideOfBlockNode,
@@ -64,7 +64,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
64
64
  var NORMAL_SEVERITY_THRESHOLD = exports.NORMAL_SEVERITY_THRESHOLD = 2000;
65
65
  var DEGRADED_SEVERITY_THRESHOLD = exports.DEGRADED_SEVERITY_THRESHOLD = 3000;
66
66
  var packageName = "@atlaskit/renderer";
67
- var packageVersion = "112.7.7";
67
+ var packageVersion = "112.7.9";
68
68
  var setAsQueryContainerStyles = (0, _react2.css)({
69
69
  containerName: 'ak-renderer-wrapper',
70
70
  containerType: 'inline-size',
@@ -400,8 +400,7 @@ var __RendererClassComponent = exports.__RendererClassComponent = /*#__PURE__*/f
400
400
  }, enableSsrInlineScripts ? (0, _react2.jsx)(_breakoutSsr.BreakoutSSRInlineScript, null) : null, (0, _react2.jsx)(RendererActionsInternalUpdater, {
401
401
  doc: pmDoc,
402
402
  schema: schema,
403
- onAnalyticsEvent: this.fireAnalyticsEvent,
404
- skipValidation: skipValidation
403
+ onAnalyticsEvent: this.fireAnalyticsEvent
405
404
  }, result)))))));
406
405
  var rendererResult = truncated ? (0, _react2.jsx)(_truncatedWrapper.TruncatedWrapper, {
407
406
  height: maxHeight,
@@ -752,8 +751,7 @@ var RendererFunctionalComponent = function RendererFunctionalComponent(props) {
752
751
  }, props.enableSsrInlineScripts ? (0, _react2.jsx)(_breakoutSsr.BreakoutSSRInlineScript, null) : null, (0, _react2.jsx)(RendererActionsInternalUpdater, {
753
752
  doc: pmDoc,
754
753
  schema: schema,
755
- onAnalyticsEvent: _fireAnalyticsEvent,
756
- skipValidation: props.skipValidation
754
+ onAnalyticsEvent: _fireAnalyticsEvent
757
755
  }, result)))))));
758
756
  var rendererResult = props.truncated ? (0, _react2.jsx)(_truncatedWrapper.TruncatedWrapper, {
759
757
  height: props.maxHeight,
@@ -934,8 +932,7 @@ function RendererActionsInternalUpdater(_ref) {
934
932
  var children = _ref.children,
935
933
  doc = _ref.doc,
936
934
  schema = _ref.schema,
937
- onAnalyticsEvent = _ref.onAnalyticsEvent,
938
- skipValidation = _ref.skipValidation;
935
+ onAnalyticsEvent = _ref.onAnalyticsEvent;
939
936
  var rootRendererContextValue = _react.default.useContext(RootRendererContext);
940
937
  var actions = (0, _react.useContext)(_RendererActionsContext.RendererContext);
941
938
  var rendererRef = (0, _react.useRef)(null);
@@ -957,14 +954,14 @@ function RendererActionsInternalUpdater(_ref) {
957
954
  }
958
955
  (0, _react.useLayoutEffect)(function () {
959
956
  if (_doc) {
960
- actions._privateRegisterRenderer(rendererRef, _doc, schema, onAnalyticsEvent, skipValidation);
957
+ actions._privateRegisterRenderer(rendererRef, _doc, schema, onAnalyticsEvent);
961
958
  } else {
962
959
  actions._privateUnregisterRenderer();
963
960
  }
964
961
  return function () {
965
962
  return actions._privateUnregisterRenderer();
966
963
  };
967
- }, [actions, schema, _doc, onAnalyticsEvent, skipValidation]);
964
+ }, [actions, schema, _doc, onAnalyticsEvent]);
968
965
  if ((0, _experiments.editorExperiment)('comment_on_bodied_extensions', true)) {
969
966
  return (0, _react2.jsx)(RootRendererContext.Provider, {
970
967
  value: {
@@ -22,13 +22,17 @@ export default class RendererActions {
22
22
  }
23
23
 
24
24
  //#region private
25
- _privateRegisterRenderer(ref, doc, schema, onAnalyticsEvent, skipValidation) {
25
+ _privateRegisterRenderer(ref, doc, schema, onAnalyticsEvent) {
26
26
  if (!this.initFromContext) {
27
27
  return;
28
28
  } else if (!this.ref) {
29
29
  this.ref = ref;
30
30
  } else if (this.ref !== ref) {
31
- if (!skipValidation) {
31
+ if (fg('platform_editor_legacy_content_macro')) {
32
+ if (this.ref.current !== ref.current) {
33
+ throw new Error("Renderer has already been registered! It's not allowed to re-register with another new Renderer instance.");
34
+ }
35
+ } else {
32
36
  throw new Error("Renderer has already been registered! It's not allowed to re-register with another new Renderer instance.");
33
37
  }
34
38
  }
@@ -8,9 +8,10 @@ import { Doc, DocWithSelectAllTrap, mergeTextNodes, isTextWrapper, isTextNode, t
8
8
  import TextWrapperComponent from './nodes/text-wrapper';
9
9
  import { toReact as markToReact, isAnnotationMark } from './marks';
10
10
  import { getMarksByOrder, isSameMark } from '@atlaskit/editor-common/validator';
11
- import { calcTableColumnWidths } from '@atlaskit/editor-common/utils';
11
+ import { calcTableColumnWidths, getColumnWidths } from '@atlaskit/editor-common/utils';
12
12
  import { getText } from '../utils';
13
13
  import { findChildrenByType } from '@atlaskit/editor-prosemirror/utils';
14
+ import { fg } from '@atlaskit/platform-feature-flags';
14
15
  import { insideBlockNode, insideBreakoutLayout, insideMultiBodiedExtension } from './renderer-node';
15
16
  import { isCodeMark } from './marks/code';
16
17
  import { segmentText } from './utils/segment-text';
@@ -329,7 +330,11 @@ export default class ReactSerializer {
329
330
  return {
330
331
  ...this.getProps(node),
331
332
  allowColumnSorting: this.allowColumnSorting,
332
- columnWidths: calcTableColumnWidths(node),
333
+ columnWidths:
334
+ // When allowTableResizing is enabled, the number of columns is required to render
335
+ // the same scaling logic as editor. Some tables can have unequal rows, so the entire
336
+ // table needs to be scanned.
337
+ this.allowTableResizing && fg('platform_editor_table_col_calculation_fix') ? getColumnWidths(node) : calcTableColumnWidths(node),
333
338
  tableNode: node,
334
339
  stickyHeaders,
335
340
  isInsideOfBlockNode,
@@ -45,7 +45,7 @@ import { TruncatedWrapper } from './truncated-wrapper';
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 = "112.7.7";
48
+ const packageVersion = "112.7.9";
49
49
  const setAsQueryContainerStyles = css({
50
50
  containerName: 'ak-renderer-wrapper',
51
51
  containerType: 'inline-size',
@@ -377,8 +377,7 @@ export class __RendererClassComponent extends PureComponent {
377
377
  }, enableSsrInlineScripts ? jsx(BreakoutSSRInlineScript, null) : null, jsx(RendererActionsInternalUpdater, {
378
378
  doc: pmDoc,
379
379
  schema: schema,
380
- onAnalyticsEvent: this.fireAnalyticsEvent,
381
- skipValidation: skipValidation
380
+ onAnalyticsEvent: this.fireAnalyticsEvent
382
381
  }, result)))))));
383
382
  let rendererResult = truncated ? jsx(TruncatedWrapper, {
384
383
  height: maxHeight,
@@ -728,8 +727,7 @@ const RendererFunctionalComponent = props => {
728
727
  }, props.enableSsrInlineScripts ? jsx(BreakoutSSRInlineScript, null) : null, jsx(RendererActionsInternalUpdater, {
729
728
  doc: pmDoc,
730
729
  schema: schema,
731
- onAnalyticsEvent: fireAnalyticsEvent,
732
- skipValidation: props.skipValidation
730
+ onAnalyticsEvent: fireAnalyticsEvent
733
731
  }, result)))))));
734
732
  let rendererResult = props.truncated ? jsx(TruncatedWrapper, {
735
733
  height: props.maxHeight,
@@ -908,8 +906,7 @@ function RendererActionsInternalUpdater({
908
906
  children,
909
907
  doc,
910
908
  schema,
911
- onAnalyticsEvent,
912
- skipValidation
909
+ onAnalyticsEvent
913
910
  }) {
914
911
  const rootRendererContextValue = React.useContext(RootRendererContext);
915
912
  const actions = useContext(ActionsContext);
@@ -932,12 +929,12 @@ function RendererActionsInternalUpdater({
932
929
  }
933
930
  useLayoutEffect(() => {
934
931
  if (_doc) {
935
- actions._privateRegisterRenderer(rendererRef, _doc, schema, onAnalyticsEvent, skipValidation);
932
+ actions._privateRegisterRenderer(rendererRef, _doc, schema, onAnalyticsEvent);
936
933
  } else {
937
934
  actions._privateUnregisterRenderer();
938
935
  }
939
936
  return () => actions._privateUnregisterRenderer();
940
- }, [actions, schema, _doc, onAnalyticsEvent, skipValidation]);
937
+ }, [actions, schema, _doc, onAnalyticsEvent]);
941
938
  if (editorExperiment('comment_on_bodied_extensions', true)) {
942
939
  return jsx(RootRendererContext.Provider, {
943
940
  value: {
@@ -31,13 +31,17 @@ var RendererActions = /*#__PURE__*/function () {
31
31
  //#region private
32
32
  return _createClass(RendererActions, [{
33
33
  key: "_privateRegisterRenderer",
34
- value: function _privateRegisterRenderer(ref, doc, schema, onAnalyticsEvent, skipValidation) {
34
+ value: function _privateRegisterRenderer(ref, doc, schema, onAnalyticsEvent) {
35
35
  if (!this.initFromContext) {
36
36
  return;
37
37
  } else if (!this.ref) {
38
38
  this.ref = ref;
39
39
  } else if (this.ref !== ref) {
40
- if (!skipValidation) {
40
+ if (fg('platform_editor_legacy_content_macro')) {
41
+ if (this.ref.current !== ref.current) {
42
+ throw new Error("Renderer has already been registered! It's not allowed to re-register with another new Renderer instance.");
43
+ }
44
+ } else {
41
45
  throw new Error("Renderer has already been registered! It's not allowed to re-register with another new Renderer instance.");
42
46
  }
43
47
  }
@@ -15,9 +15,10 @@ import { Doc, DocWithSelectAllTrap, mergeTextNodes, isTextWrapper, isTextNode, t
15
15
  import TextWrapperComponent from './nodes/text-wrapper';
16
16
  import { toReact as markToReact, isAnnotationMark } from './marks';
17
17
  import { getMarksByOrder, isSameMark } from '@atlaskit/editor-common/validator';
18
- import { calcTableColumnWidths } from '@atlaskit/editor-common/utils';
18
+ import { calcTableColumnWidths, getColumnWidths } from '@atlaskit/editor-common/utils';
19
19
  import { getText } from '../utils';
20
20
  import { findChildrenByType } from '@atlaskit/editor-prosemirror/utils';
21
+ import { fg } from '@atlaskit/platform-feature-flags';
21
22
  import { insideBlockNode, insideBreakoutLayout, insideMultiBodiedExtension } from './renderer-node';
22
23
  import { isCodeMark } from './marks/code';
23
24
  import { segmentText } from './utils/segment-text';
@@ -360,7 +361,11 @@ var ReactSerializer = /*#__PURE__*/function () {
360
361
  var isInsideMultiBodiedExtension = insideMultiBodiedExtension(path, node.type.schema);
361
362
  return _objectSpread(_objectSpread({}, this.getProps(node)), {}, {
362
363
  allowColumnSorting: this.allowColumnSorting,
363
- columnWidths: calcTableColumnWidths(node),
364
+ columnWidths:
365
+ // When allowTableResizing is enabled, the number of columns is required to render
366
+ // the same scaling logic as editor. Some tables can have unequal rows, so the entire
367
+ // table needs to be scanned.
368
+ this.allowTableResizing && fg('platform_editor_table_col_calculation_fix') ? getColumnWidths(node) : calcTableColumnWidths(node),
364
369
  tableNode: node,
365
370
  stickyHeaders: stickyHeaders,
366
371
  isInsideOfBlockNode: isInsideOfBlockNode,
@@ -54,7 +54,7 @@ import { TruncatedWrapper } from './truncated-wrapper';
54
54
  export var NORMAL_SEVERITY_THRESHOLD = 2000;
55
55
  export var DEGRADED_SEVERITY_THRESHOLD = 3000;
56
56
  var packageName = "@atlaskit/renderer";
57
- var packageVersion = "112.7.7";
57
+ var packageVersion = "112.7.9";
58
58
  var setAsQueryContainerStyles = css({
59
59
  containerName: 'ak-renderer-wrapper',
60
60
  containerType: 'inline-size',
@@ -390,8 +390,7 @@ export var __RendererClassComponent = /*#__PURE__*/function (_PureComponent) {
390
390
  }, enableSsrInlineScripts ? jsx(BreakoutSSRInlineScript, null) : null, jsx(RendererActionsInternalUpdater, {
391
391
  doc: pmDoc,
392
392
  schema: schema,
393
- onAnalyticsEvent: this.fireAnalyticsEvent,
394
- skipValidation: skipValidation
393
+ onAnalyticsEvent: this.fireAnalyticsEvent
395
394
  }, result)))))));
396
395
  var rendererResult = truncated ? jsx(TruncatedWrapper, {
397
396
  height: maxHeight,
@@ -742,8 +741,7 @@ var RendererFunctionalComponent = function RendererFunctionalComponent(props) {
742
741
  }, props.enableSsrInlineScripts ? jsx(BreakoutSSRInlineScript, null) : null, jsx(RendererActionsInternalUpdater, {
743
742
  doc: pmDoc,
744
743
  schema: schema,
745
- onAnalyticsEvent: _fireAnalyticsEvent,
746
- skipValidation: props.skipValidation
744
+ onAnalyticsEvent: _fireAnalyticsEvent
747
745
  }, result)))))));
748
746
  var rendererResult = props.truncated ? jsx(TruncatedWrapper, {
749
747
  height: props.maxHeight,
@@ -924,8 +922,7 @@ function RendererActionsInternalUpdater(_ref) {
924
922
  var children = _ref.children,
925
923
  doc = _ref.doc,
926
924
  schema = _ref.schema,
927
- onAnalyticsEvent = _ref.onAnalyticsEvent,
928
- skipValidation = _ref.skipValidation;
925
+ onAnalyticsEvent = _ref.onAnalyticsEvent;
929
926
  var rootRendererContextValue = React.useContext(RootRendererContext);
930
927
  var actions = useContext(ActionsContext);
931
928
  var rendererRef = useRef(null);
@@ -947,14 +944,14 @@ function RendererActionsInternalUpdater(_ref) {
947
944
  }
948
945
  useLayoutEffect(function () {
949
946
  if (_doc) {
950
- actions._privateRegisterRenderer(rendererRef, _doc, schema, onAnalyticsEvent, skipValidation);
947
+ actions._privateRegisterRenderer(rendererRef, _doc, schema, onAnalyticsEvent);
951
948
  } else {
952
949
  actions._privateUnregisterRenderer();
953
950
  }
954
951
  return function () {
955
952
  return actions._privateUnregisterRenderer();
956
953
  };
957
- }, [actions, schema, _doc, onAnalyticsEvent, skipValidation]);
954
+ }, [actions, schema, _doc, onAnalyticsEvent]);
958
955
  if (editorExperiment('comment_on_bodied_extensions', true)) {
959
956
  return jsx(RootRendererContext.Provider, {
960
957
  value: {
@@ -39,7 +39,7 @@ export default class RendererActions implements RendererActionsOptions, Annotati
39
39
  private ref?;
40
40
  private onAnalyticsEvent?;
41
41
  constructor(initFromContext?: boolean);
42
- _privateRegisterRenderer(ref: React.MutableRefObject<null>, doc: Node, schema: Schema, onAnalyticsEvent?: (event: AnalyticsEventPayload) => void, skipValidation?: boolean): void;
42
+ _privateRegisterRenderer(ref: React.MutableRefObject<null>, doc: Node, schema: Schema, onAnalyticsEvent?: (event: AnalyticsEventPayload) => void): void;
43
43
  _privateUnregisterRenderer(): void;
44
44
  /**
45
45
  * Validate whether we can create an annotation between two positions
@@ -39,7 +39,7 @@ export default class RendererActions implements RendererActionsOptions, Annotati
39
39
  private ref?;
40
40
  private onAnalyticsEvent?;
41
41
  constructor(initFromContext?: boolean);
42
- _privateRegisterRenderer(ref: React.MutableRefObject<null>, doc: Node, schema: Schema, onAnalyticsEvent?: (event: AnalyticsEventPayload) => void, skipValidation?: boolean): void;
42
+ _privateRegisterRenderer(ref: React.MutableRefObject<null>, doc: Node, schema: Schema, onAnalyticsEvent?: (event: AnalyticsEventPayload) => void): void;
43
43
  _privateUnregisterRenderer(): void;
44
44
  /**
45
45
  * Validate whether we can create an annotation between two positions
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/renderer",
3
- "version": "112.7.7",
3
+ "version": "112.7.9",
4
4
  "description": "Renderer component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -29,7 +29,7 @@
29
29
  "@atlaskit/analytics-next": "^10.2.0",
30
30
  "@atlaskit/button": "^20.3.0",
31
31
  "@atlaskit/code": "^15.6.0",
32
- "@atlaskit/editor-common": "^96.5.0",
32
+ "@atlaskit/editor-common": "^96.7.0",
33
33
  "@atlaskit/editor-json-transformer": "^8.21.0",
34
34
  "@atlaskit/editor-palette": "1.6.3",
35
35
  "@atlaskit/editor-prosemirror": "6.2.1",
@@ -46,11 +46,11 @@
46
46
  "@atlaskit/media-ui": "^27.1.0",
47
47
  "@atlaskit/media-viewer": "^49.5.0",
48
48
  "@atlaskit/platform-feature-flags": "^0.3.0",
49
- "@atlaskit/smart-card": "^32.7.0",
49
+ "@atlaskit/smart-card": "^32.8.0",
50
50
  "@atlaskit/status": "^1.8.0",
51
51
  "@atlaskit/task-decision": "^17.11.0",
52
52
  "@atlaskit/theme": "^14.0.0",
53
- "@atlaskit/tmp-editor-statsig": "^2.27.0",
53
+ "@atlaskit/tmp-editor-statsig": "^2.29.0",
54
54
  "@atlaskit/tokens": "^2.5.0",
55
55
  "@atlaskit/tooltip": "^19.0.0",
56
56
  "@babel/runtime": "^7.0.0",
@@ -167,6 +167,16 @@
167
167
  },
168
168
  "confluence-frontend-comments-panel": {
169
169
  "type": "boolean"
170
+ },
171
+ "platform_editor_table_row_span_fix": {
172
+ "type": "boolean",
173
+ "referenceOnly": true
174
+ },
175
+ "platform_editor_table_col_calculation_fix": {
176
+ "type": "boolean"
177
+ },
178
+ "platform_editor_legacy_content_macro": {
179
+ "type": "boolean"
170
180
  }
171
181
  },
172
182
  "af:exports": {