@atlaskit/renderer 112.3.1 → 112.3.2

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,13 @@
1
1
  # @atlaskit/renderer
2
2
 
3
+ ## 112.3.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#160291](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/160291)
8
+ [`223443d621e88`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/223443d621e88) -
9
+ [ux] Fixes default table column widths when table is nested in extension that is nested in layout
10
+
3
11
  ## 112.3.1
4
12
 
5
13
  ### Patch Changes
@@ -11,7 +11,9 @@ var _styles = require("@atlaskit/editor-common/styles");
11
11
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
12
12
  var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
13
13
  var _nodeWidth = require("@atlaskit/editor-common/node-width");
14
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
15
  var _useFeatureFlags = require("../../../use-feature-flags");
16
+ var _rendererContext = require("../../../renderer-context");
15
17
  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; }
16
18
  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) { (0, _defineProperty2.default)(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; }
17
19
  // we allow scaling down column widths by no more than 30%
@@ -68,7 +70,8 @@ var renderScaleDownColgroup = function renderScaleDownColgroup(props) {
68
70
  isinsideMultiBodiedExtension = props.isinsideMultiBodiedExtension,
69
71
  isTableScalingEnabled = props.isTableScalingEnabled,
70
72
  isTableFixedColumnWidthsOptionEnabled = props.isTableFixedColumnWidthsOptionEnabled,
71
- allowTableResizing = props.allowTableResizing;
73
+ allowTableResizing = props.allowTableResizing,
74
+ isTopLevelRenderer = props.isTopLevelRenderer;
72
75
  if (!columnWidths) {
73
76
  return [];
74
77
  }
@@ -76,10 +79,16 @@ var renderScaleDownColgroup = function renderScaleDownColgroup(props) {
76
79
  var noOfColumns = columnWidths.length;
77
80
  var targetWidths;
78
81
 
82
+ // This is a fix for ED-23259
83
+ // Some extensions (for ex: Page Properties or Excerpt) do not renderer tables directly inside themselves. They use ReactRenderer.
84
+ // So if we add a check like isInsideExtension (similar to exising isInsideBlockNode), it will fail, and to the only way to learn
85
+ // if the table is rendered inside another node, is to check if the Renderer itself is nested.
86
+ var isRendererNested = isTopLevelRenderer === false && (0, _platformFeatureFlags.fg)('platform_editor_nested_table_in_nested_parent_fix');
87
+
79
88
  // appearance == comment && allowTableResizing && !tableNode?.attrs.width, means it is a comment
80
89
  // appearance == comment && !allowTableResizing && !tableNode?.attrs.width, means it is a inline comment
81
90
  // When comment and inline comment table width inherits from the parent container, we want tableContainerWidth === renderWidth
82
- var tableContainerWidth = rendererAppearance === 'comment' && !(tableNode !== null && tableNode !== void 0 && tableNode.attrs.width) ? renderWidth : (0, _nodeWidth.getTableContainerWidth)(tableNode);
91
+ var tableContainerWidth = rendererAppearance === 'comment' && !(tableNode !== null && tableNode !== void 0 && tableNode.attrs.width) || isRendererNested ? renderWidth : (0, _nodeWidth.getTableContainerWidth)(tableNode);
83
92
  if (allowTableResizing && !isInsideOfBlockNode && !isinsideMultiBodiedExtension && !tableColumnResized) {
84
93
  // when no columns are resized, each column should have equal width, equals to tableWidth / noOfColumns
85
94
  var _tableWidth2 = (isNumberColumnEnabled ? tableContainerWidth - _editorSharedStyles.akEditorTableNumberColumnWidth : tableContainerWidth) - 1;
@@ -167,6 +176,8 @@ var renderScaleDownColgroup = function renderScaleDownColgroup(props) {
167
176
  });
168
177
  };
169
178
  var Colgroup = exports.Colgroup = function Colgroup(props) {
179
+ var _useRendererContext = (0, _rendererContext.useRendererContext)(),
180
+ isTopLevelRenderer = _useRendererContext.isTopLevelRenderer;
170
181
  var columnWidths = props.columnWidths,
171
182
  isNumberColumnEnabled = props.isNumberColumnEnabled;
172
183
  var flags = (0, _useFeatureFlags.useFeatureFlags)();
@@ -174,6 +185,7 @@ var Colgroup = exports.Colgroup = function Colgroup(props) {
174
185
  return null;
175
186
  }
176
187
  var colStyles = renderScaleDownColgroup(_objectSpread(_objectSpread({}, props), {}, {
188
+ isTopLevelRenderer: isTopLevelRenderer,
177
189
  isTableScalingEnabled: !!(flags && 'tablePreserveWidth' in flags && flags.tablePreserveWidth) || props.rendererAppearance === 'comment' && (0, _experiments.editorExperiment)('support_table_in_comment', true, {
178
190
  exposure: true
179
191
  }) || props.rendererAppearance === 'comment' && (0, _experiments.editorExperiment)('support_table_in_comment_jira', true, {
@@ -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 = "112.3.1";
68
+ var packageVersion = "112.3.2";
69
69
  var setAsQueryContainerStyles = (0, _react2.css)({
70
70
  containerName: 'ak-renderer-wrapper',
71
71
  containerType: 'inline-size',
@@ -3,7 +3,10 @@ import { tableCellBorderWidth, tableCellMinWidth } from '@atlaskit/editor-common
3
3
  import { akEditorTableNumberColumnWidth, akEditorTableLegacyCellMinWidth } from '@atlaskit/editor-shared-styles';
4
4
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
5
5
  import { getTableContainerWidth } from '@atlaskit/editor-common/node-width';
6
+ import { fg } from '@atlaskit/platform-feature-flags';
6
7
  import { useFeatureFlags } from '../../../use-feature-flags';
8
+ import { useRendererContext } from '../../../renderer-context';
9
+
7
10
  // we allow scaling down column widths by no more than 30%
8
11
  // this intends to reduce unwanted scrolling in the Renderer in these scenarios:
9
12
  // User A creates a table with column widths → User B views it on a smaller screen
@@ -54,7 +57,8 @@ const renderScaleDownColgroup = props => {
54
57
  isinsideMultiBodiedExtension,
55
58
  isTableScalingEnabled,
56
59
  isTableFixedColumnWidthsOptionEnabled,
57
- allowTableResizing
60
+ allowTableResizing,
61
+ isTopLevelRenderer
58
62
  } = props;
59
63
  if (!columnWidths) {
60
64
  return [];
@@ -63,10 +67,16 @@ const renderScaleDownColgroup = props => {
63
67
  const noOfColumns = columnWidths.length;
64
68
  let targetWidths;
65
69
 
70
+ // This is a fix for ED-23259
71
+ // Some extensions (for ex: Page Properties or Excerpt) do not renderer tables directly inside themselves. They use ReactRenderer.
72
+ // So if we add a check like isInsideExtension (similar to exising isInsideBlockNode), it will fail, and to the only way to learn
73
+ // if the table is rendered inside another node, is to check if the Renderer itself is nested.
74
+ const isRendererNested = isTopLevelRenderer === false && fg('platform_editor_nested_table_in_nested_parent_fix');
75
+
66
76
  // appearance == comment && allowTableResizing && !tableNode?.attrs.width, means it is a comment
67
77
  // appearance == comment && !allowTableResizing && !tableNode?.attrs.width, means it is a inline comment
68
78
  // When comment and inline comment table width inherits from the parent container, we want tableContainerWidth === renderWidth
69
- const tableContainerWidth = rendererAppearance === 'comment' && !(tableNode !== null && tableNode !== void 0 && tableNode.attrs.width) ? renderWidth : getTableContainerWidth(tableNode);
79
+ const tableContainerWidth = rendererAppearance === 'comment' && !(tableNode !== null && tableNode !== void 0 && tableNode.attrs.width) || isRendererNested ? renderWidth : getTableContainerWidth(tableNode);
70
80
  if (allowTableResizing && !isInsideOfBlockNode && !isinsideMultiBodiedExtension && !tableColumnResized) {
71
81
  // when no columns are resized, each column should have equal width, equals to tableWidth / noOfColumns
72
82
  const tableWidth = (isNumberColumnEnabled ? tableContainerWidth - akEditorTableNumberColumnWidth : tableContainerWidth) - 1;
@@ -154,6 +164,9 @@ const renderScaleDownColgroup = props => {
154
164
  });
155
165
  };
156
166
  export const Colgroup = props => {
167
+ const {
168
+ isTopLevelRenderer
169
+ } = useRendererContext();
157
170
  let {
158
171
  columnWidths,
159
172
  isNumberColumnEnabled
@@ -164,6 +177,7 @@ export const Colgroup = props => {
164
177
  }
165
178
  const colStyles = renderScaleDownColgroup({
166
179
  ...props,
180
+ isTopLevelRenderer,
167
181
  isTableScalingEnabled: !!(flags && 'tablePreserveWidth' in flags && flags.tablePreserveWidth) || props.rendererAppearance === 'comment' && editorExperiment('support_table_in_comment', true, {
168
182
  exposure: true
169
183
  }) || props.rendererAppearance === 'comment' && editorExperiment('support_table_in_comment_jira', true, {
@@ -45,7 +45,7 @@ import { countNodes } from './count-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 = "112.3.1";
48
+ const packageVersion = "112.3.2";
49
49
  const setAsQueryContainerStyles = css({
50
50
  containerName: 'ak-renderer-wrapper',
51
51
  containerType: 'inline-size',
@@ -6,7 +6,10 @@ import { tableCellBorderWidth, tableCellMinWidth } from '@atlaskit/editor-common
6
6
  import { akEditorTableNumberColumnWidth, akEditorTableLegacyCellMinWidth } from '@atlaskit/editor-shared-styles';
7
7
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
8
8
  import { getTableContainerWidth } from '@atlaskit/editor-common/node-width';
9
+ import { fg } from '@atlaskit/platform-feature-flags';
9
10
  import { useFeatureFlags } from '../../../use-feature-flags';
11
+ import { useRendererContext } from '../../../renderer-context';
12
+
10
13
  // we allow scaling down column widths by no more than 30%
11
14
  // this intends to reduce unwanted scrolling in the Renderer in these scenarios:
12
15
  // User A creates a table with column widths → User B views it on a smaller screen
@@ -61,7 +64,8 @@ var renderScaleDownColgroup = function renderScaleDownColgroup(props) {
61
64
  isinsideMultiBodiedExtension = props.isinsideMultiBodiedExtension,
62
65
  isTableScalingEnabled = props.isTableScalingEnabled,
63
66
  isTableFixedColumnWidthsOptionEnabled = props.isTableFixedColumnWidthsOptionEnabled,
64
- allowTableResizing = props.allowTableResizing;
67
+ allowTableResizing = props.allowTableResizing,
68
+ isTopLevelRenderer = props.isTopLevelRenderer;
65
69
  if (!columnWidths) {
66
70
  return [];
67
71
  }
@@ -69,10 +73,16 @@ var renderScaleDownColgroup = function renderScaleDownColgroup(props) {
69
73
  var noOfColumns = columnWidths.length;
70
74
  var targetWidths;
71
75
 
76
+ // This is a fix for ED-23259
77
+ // Some extensions (for ex: Page Properties or Excerpt) do not renderer tables directly inside themselves. They use ReactRenderer.
78
+ // So if we add a check like isInsideExtension (similar to exising isInsideBlockNode), it will fail, and to the only way to learn
79
+ // if the table is rendered inside another node, is to check if the Renderer itself is nested.
80
+ var isRendererNested = isTopLevelRenderer === false && fg('platform_editor_nested_table_in_nested_parent_fix');
81
+
72
82
  // appearance == comment && allowTableResizing && !tableNode?.attrs.width, means it is a comment
73
83
  // appearance == comment && !allowTableResizing && !tableNode?.attrs.width, means it is a inline comment
74
84
  // When comment and inline comment table width inherits from the parent container, we want tableContainerWidth === renderWidth
75
- var tableContainerWidth = rendererAppearance === 'comment' && !(tableNode !== null && tableNode !== void 0 && tableNode.attrs.width) ? renderWidth : getTableContainerWidth(tableNode);
85
+ var tableContainerWidth = rendererAppearance === 'comment' && !(tableNode !== null && tableNode !== void 0 && tableNode.attrs.width) || isRendererNested ? renderWidth : getTableContainerWidth(tableNode);
76
86
  if (allowTableResizing && !isInsideOfBlockNode && !isinsideMultiBodiedExtension && !tableColumnResized) {
77
87
  // when no columns are resized, each column should have equal width, equals to tableWidth / noOfColumns
78
88
  var _tableWidth2 = (isNumberColumnEnabled ? tableContainerWidth - akEditorTableNumberColumnWidth : tableContainerWidth) - 1;
@@ -160,6 +170,8 @@ var renderScaleDownColgroup = function renderScaleDownColgroup(props) {
160
170
  });
161
171
  };
162
172
  export var Colgroup = function Colgroup(props) {
173
+ var _useRendererContext = useRendererContext(),
174
+ isTopLevelRenderer = _useRendererContext.isTopLevelRenderer;
163
175
  var columnWidths = props.columnWidths,
164
176
  isNumberColumnEnabled = props.isNumberColumnEnabled;
165
177
  var flags = useFeatureFlags();
@@ -167,6 +179,7 @@ export var Colgroup = function Colgroup(props) {
167
179
  return null;
168
180
  }
169
181
  var colStyles = renderScaleDownColgroup(_objectSpread(_objectSpread({}, props), {}, {
182
+ isTopLevelRenderer: isTopLevelRenderer,
170
183
  isTableScalingEnabled: !!(flags && 'tablePreserveWidth' in flags && flags.tablePreserveWidth) || props.rendererAppearance === 'comment' && editorExperiment('support_table_in_comment', true, {
171
184
  exposure: true
172
185
  }) || props.rendererAppearance === 'comment' && editorExperiment('support_table_in_comment_jira', true, {
@@ -55,7 +55,7 @@ import { countNodes } from './count-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 = "112.3.1";
58
+ var packageVersion = "112.3.2";
59
59
  var setAsQueryContainerStyles = css({
60
60
  containerName: 'ak-renderer-wrapper',
61
61
  containerType: 'inline-size',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/renderer",
3
- "version": "112.3.1",
3
+ "version": "112.3.2",
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.1.0",
30
30
  "@atlaskit/button": "^20.3.0",
31
31
  "@atlaskit/code": "^15.6.0",
32
- "@atlaskit/editor-common": "^94.11.0",
32
+ "@atlaskit/editor-common": "^94.12.0",
33
33
  "@atlaskit/editor-json-transformer": "^8.20.0",
34
34
  "@atlaskit/editor-palette": "1.6.3",
35
35
  "@atlaskit/editor-prosemirror": "6.0.0",
@@ -143,6 +143,9 @@
143
143
  },
144
144
  "platform_editor_advanced_layouts_pre_release_2": {
145
145
  "type": "boolean"
146
+ },
147
+ "platform_editor_nested_table_in_nested_parent_fix": {
148
+ "type": "boolean"
146
149
  }
147
150
  },
148
151
  "af:exports": {