@atlaskit/renderer 108.11.15 → 108.11.16

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,11 @@
1
1
  # @atlaskit/renderer
2
2
 
3
+ ## 108.11.16
4
+
5
+ ### Patch Changes
6
+
7
+ - [`b821b2d7ac1`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b821b2d7ac1) - Fix issue where tables with no column widths would render at their layout value when nested inside another node, render tables with no column widths in this scenario so they scale with the parent node.
8
+
3
9
  ## 108.11.15
4
10
 
5
11
  ### Patch Changes
@@ -340,11 +340,13 @@ var ReactSerializer = /*#__PURE__*/function () {
340
340
  var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
341
341
  // TODO: https://product-fabric.atlassian.net/browse/CEMS-1048
342
342
  var stickyHeaders = !(0, _rendererNode.insideBreakoutLayout)(path) ? this.stickyHeaders : undefined;
343
+ var isInsideOfBlockNode = (0, _rendererNode.insideBlockNode)(path, node.type.schema);
343
344
  return _objectSpread(_objectSpread({}, this.getProps(node)), {}, {
344
345
  allowColumnSorting: this.allowColumnSorting,
345
346
  columnWidths: (0, _utils.calcTableColumnWidths)(node),
346
347
  tableNode: node,
347
- stickyHeaders: stickyHeaders
348
+ stickyHeaders: stickyHeaders,
349
+ isInsideOfBlockNode: isInsideOfBlockNode
348
350
  });
349
351
  }
350
352
  }, {
@@ -360,21 +362,8 @@ var ReactSerializer = /*#__PURE__*/function () {
360
362
  value: function getMediaSingleProps(node) {
361
363
  var _this5 = this;
362
364
  var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
363
- var _node$type$schema = node.type.schema,
364
- _node$type$schema$nod = _node$type$schema.nodes,
365
- expand = _node$type$schema$nod.expand,
366
- nestedExpand = _node$type$schema$nod.nestedExpand,
367
- layoutColumn = _node$type$schema$nod.layoutColumn,
368
- link = _node$type$schema.marks.link;
369
- var blockNodeNames = [expand, nestedExpand, layoutColumn].filter(function (node) {
370
- return Boolean(node);
371
- }) // Check if the node exist first
372
- .map(function (node) {
373
- return node.name;
374
- });
375
- var isInsideOfBlockNode = path && path.some(function (n) {
376
- return n.type && blockNodeNames.indexOf(n.type.name) > -1;
377
- });
365
+ var link = node.type.schema.marks.link;
366
+ var isInsideOfBlockNode = (0, _rendererNode.insideBlockNode)(path, node.type.schema);
378
367
  var isLinkMark = function isLinkMark(mark) {
379
368
  return mark.type === link;
380
369
  };
@@ -429,19 +418,7 @@ var ReactSerializer = /*#__PURE__*/function () {
429
418
  key: "getEmbedCardProps",
430
419
  value: function getEmbedCardProps(node) {
431
420
  var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
432
- var _node$type$schema$nod2 = node.type.schema.nodes,
433
- expand = _node$type$schema$nod2.expand,
434
- nestedExpand = _node$type$schema$nod2.nestedExpand,
435
- layoutColumn = _node$type$schema$nod2.layoutColumn;
436
- var blockNodeNames = [expand, nestedExpand, layoutColumn].filter(function (node) {
437
- return Boolean(node);
438
- }) // Check if the node exist first
439
- .map(function (node) {
440
- return node.name;
441
- });
442
- var isInsideOfBlockNode = path && path.some(function (n) {
443
- return n.type && blockNodeNames.indexOf(n.type.name) > -1;
444
- });
421
+ var isInsideOfBlockNode = (0, _rendererNode.insideBlockNode)(path, node.type.schema);
445
422
  return _objectSpread(_objectSpread({}, this.getProps(node)), {}, {
446
423
  isInsideOfBlockNode: isInsideOfBlockNode
447
424
  });
@@ -60,7 +60,8 @@ var renderScaleDownColgroup = function renderScaleDownColgroup(props) {
60
60
  isNumberColumnEnabled = props.isNumberColumnEnabled,
61
61
  renderWidth = props.renderWidth,
62
62
  tableNode = props.tableNode,
63
- rendererAppearance = props.rendererAppearance;
63
+ rendererAppearance = props.rendererAppearance,
64
+ isInsideOfBlockNode = props.isInsideOfBlockNode;
64
65
  if (!columnWidths) {
65
66
  return [];
66
67
  }
@@ -73,12 +74,12 @@ var renderScaleDownColgroup = function renderScaleDownColgroup(props) {
73
74
  } else {
74
75
  tableContainerWidth = getTableLayoutWidth(layout);
75
76
  }
76
- if ((0, _table.isTableResizingEnabled)(rendererAppearance) && !tableResized) {
77
+ if ((0, _table.isTableResizingEnabled)(rendererAppearance) && !isInsideOfBlockNode && !tableResized) {
77
78
  if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.custom-table-width-scale-down-undefined-column_nkyvx')) {
78
79
  // for tables with no column widths defined, assume that the real table width
79
80
  // is defined by node.attrs.width
80
- var _tableWidth2 = isNumberColumnEnabled ? tableContainerWidth - _editorSharedStyles.akEditorTableNumberColumnWidth : tableContainerWidth;
81
- var defaultColumnWidth = Math.floor(_tableWidth2 / noOfColumns);
81
+ var _tableWidth2 = (isNumberColumnEnabled ? tableContainerWidth - _editorSharedStyles.akEditorTableNumberColumnWidth : tableContainerWidth) - 1;
82
+ var defaultColumnWidth = _tableWidth2 / noOfColumns;
82
83
  targetWidths = new Array(noOfColumns).fill(defaultColumnWidth);
83
84
  } else {
84
85
  return new Array(noOfColumns).fill({
@@ -15,7 +15,8 @@ var Table = /*#__PURE__*/_react.default.memo(function (_ref) {
15
15
  renderWidth = _ref.renderWidth,
16
16
  children = _ref.children,
17
17
  tableNode = _ref.tableNode,
18
- rendererAppearance = _ref.rendererAppearance;
18
+ rendererAppearance = _ref.rendererAppearance,
19
+ isInsideOfBlockNode = _ref.isInsideOfBlockNode;
19
20
  return /*#__PURE__*/_react.default.createElement("table", {
20
21
  "data-testid": "renderer-table",
21
22
  "data-number-column": isNumberColumnEnabled,
@@ -26,7 +27,8 @@ var Table = /*#__PURE__*/_react.default.memo(function (_ref) {
26
27
  isNumberColumnEnabled: isNumberColumnEnabled,
27
28
  renderWidth: renderWidth,
28
29
  tableNode: tableNode,
29
- rendererAppearance: rendererAppearance
30
+ rendererAppearance: rendererAppearance,
31
+ isInsideOfBlockNode: isInsideOfBlockNode
30
32
  }), /*#__PURE__*/_react.default.createElement("tbody", null, children));
31
33
  });
32
34
  exports.Table = Table;
@@ -295,7 +295,8 @@ var TableContainer = /*#__PURE__*/function (_React$Component) {
295
295
  columnWidths = _this$props.columnWidths,
296
296
  stickyHeaders = _this$props.stickyHeaders,
297
297
  tableNode = _this$props.tableNode,
298
- rendererAppearance = _this$props.rendererAppearance;
298
+ rendererAppearance = _this$props.rendererAppearance,
299
+ isInsideOfBlockNode = _this$props.isInsideOfBlockNode;
299
300
  var stickyMode = this.state.stickyMode;
300
301
  var lineLength = _editorSharedStyles.akEditorDefaultLayoutWidth;
301
302
  var tableWidth;
@@ -385,7 +386,8 @@ var TableContainer = /*#__PURE__*/function (_React$Component) {
385
386
  isNumberColumnEnabled: isNumberColumnEnabled,
386
387
  renderWidth: renderWidth,
387
388
  tableNode: tableNode,
388
- rendererAppearance: rendererAppearance
389
+ rendererAppearance: rendererAppearance,
390
+ isInsideOfBlockNode: isInsideOfBlockNode
389
391
  }, this.grabFirstRowRef(children)))));
390
392
  }
391
393
  }]);
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isLayoutNode = exports.insideBreakoutLayout = exports.hasBreakOutMark = void 0;
6
+ exports.isLayoutNode = exports.insideBreakoutLayout = exports.insideBlockNode = exports.hasBreakOutMark = void 0;
7
7
  var isLayoutNode = function isLayoutNode(node) {
8
8
  return node.type.name === 'layoutSection';
9
9
  };
@@ -19,4 +19,19 @@ var insideBreakoutLayout = function insideBreakoutLayout(path) {
19
19
  return isLayoutNode(item) && hasBreakOutMark(item);
20
20
  });
21
21
  };
22
- exports.insideBreakoutLayout = insideBreakoutLayout;
22
+ exports.insideBreakoutLayout = insideBreakoutLayout;
23
+ var insideBlockNode = function insideBlockNode(path, schema) {
24
+ var _schema$nodes = schema.nodes,
25
+ expand = _schema$nodes.expand,
26
+ nestedExpand = _schema$nodes.nestedExpand,
27
+ layoutColumn = _schema$nodes.layoutColumn;
28
+ var blockNodeNames = [expand, nestedExpand, layoutColumn].filter(function (node) {
29
+ return Boolean(node);
30
+ }).map(function (node) {
31
+ return node.name;
32
+ });
33
+ return path && path.some(function (n) {
34
+ return n.type && blockNodeNames.indexOf(n.type.name) > -1;
35
+ });
36
+ };
37
+ exports.insideBlockNode = insideBlockNode;
@@ -55,7 +55,7 @@ exports.NORMAL_SEVERITY_THRESHOLD = NORMAL_SEVERITY_THRESHOLD;
55
55
  var DEGRADED_SEVERITY_THRESHOLD = 3000;
56
56
  exports.DEGRADED_SEVERITY_THRESHOLD = DEGRADED_SEVERITY_THRESHOLD;
57
57
  var packageName = "@atlaskit/renderer";
58
- var packageVersion = "108.11.15";
58
+ var packageVersion = "108.11.16";
59
59
  var Renderer = /*#__PURE__*/function (_PureComponent) {
60
60
  (0, _inherits2.default)(Renderer, _PureComponent);
61
61
  var _super = _createSuper(Renderer);
@@ -10,7 +10,7 @@ import { getMarksByOrder, isSameMark } from '@atlaskit/editor-common/validator';
10
10
  import { calcTableColumnWidths } from '@atlaskit/editor-common/utils';
11
11
  import { getText } from '../utils';
12
12
  import { findChildrenByType } from '@atlaskit/editor-prosemirror/utils';
13
- import { insideBreakoutLayout } from './renderer-node';
13
+ import { insideBlockNode, insideBreakoutLayout } from './renderer-node';
14
14
  import { isCodeMark } from './marks/code';
15
15
  function mergeMarks(marksAndNodes) {
16
16
  return marksAndNodes.reduce((acc, markOrNode) => {
@@ -300,12 +300,14 @@ export default class ReactSerializer {
300
300
  getTableProps(node, path = []) {
301
301
  // TODO: https://product-fabric.atlassian.net/browse/CEMS-1048
302
302
  const stickyHeaders = !insideBreakoutLayout(path) ? this.stickyHeaders : undefined;
303
+ const isInsideOfBlockNode = insideBlockNode(path, node.type.schema);
303
304
  return {
304
305
  ...this.getProps(node),
305
306
  allowColumnSorting: this.allowColumnSorting,
306
307
  columnWidths: calcTableColumnWidths(node),
307
308
  tableNode: node,
308
- stickyHeaders
309
+ stickyHeaders,
310
+ isInsideOfBlockNode
309
311
  };
310
312
  }
311
313
  getDateProps(node, parentInfo) {
@@ -316,18 +318,11 @@ export default class ReactSerializer {
316
318
  }
317
319
  getMediaSingleProps(node, path = []) {
318
320
  const {
319
- nodes: {
320
- expand,
321
- nestedExpand,
322
- layoutColumn
323
- },
324
321
  marks: {
325
322
  link
326
323
  }
327
324
  } = node.type.schema;
328
- const blockNodeNames = [expand, nestedExpand, layoutColumn].filter(node => Boolean(node)) // Check if the node exist first
329
- .map(node => node.name);
330
- const isInsideOfBlockNode = path && path.some(n => n.type && blockNodeNames.indexOf(n.type.name) > -1);
325
+ const isInsideOfBlockNode = insideBlockNode(path, node.type.schema);
331
326
  const isLinkMark = mark => mark.type === link;
332
327
  const childHasLink = node.firstChild && node.firstChild.marks.filter(m => isLinkMark(m) || this.allowMediaLinking === true).length;
333
328
  return {
@@ -369,16 +364,7 @@ export default class ReactSerializer {
369
364
  };
370
365
  }
371
366
  getEmbedCardProps(node, path = []) {
372
- const {
373
- nodes: {
374
- expand,
375
- nestedExpand,
376
- layoutColumn
377
- }
378
- } = node.type.schema;
379
- const blockNodeNames = [expand, nestedExpand, layoutColumn].filter(node => Boolean(node)) // Check if the node exist first
380
- .map(node => node.name);
381
- const isInsideOfBlockNode = path && path.some(n => n.type && blockNodeNames.indexOf(n.type.name) > -1);
367
+ const isInsideOfBlockNode = insideBlockNode(path, node.type.schema);
382
368
  return {
383
369
  ...this.getProps(node),
384
370
  isInsideOfBlockNode
@@ -53,7 +53,8 @@ const renderScaleDownColgroup = props => {
53
53
  isNumberColumnEnabled,
54
54
  renderWidth,
55
55
  tableNode,
56
- rendererAppearance
56
+ rendererAppearance,
57
+ isInsideOfBlockNode
57
58
  } = props;
58
59
  if (!columnWidths) {
59
60
  return [];
@@ -67,12 +68,12 @@ const renderScaleDownColgroup = props => {
67
68
  } else {
68
69
  tableContainerWidth = getTableLayoutWidth(layout);
69
70
  }
70
- if (isTableResizingEnabled(rendererAppearance) && !tableResized) {
71
+ if (isTableResizingEnabled(rendererAppearance) && !isInsideOfBlockNode && !tableResized) {
71
72
  if (getBooleanFF('platform.editor.custom-table-width-scale-down-undefined-column_nkyvx')) {
72
73
  // for tables with no column widths defined, assume that the real table width
73
74
  // is defined by node.attrs.width
74
- const tableWidth = isNumberColumnEnabled ? tableContainerWidth - akEditorTableNumberColumnWidth : tableContainerWidth;
75
- const defaultColumnWidth = Math.floor(tableWidth / noOfColumns);
75
+ const tableWidth = (isNumberColumnEnabled ? tableContainerWidth - akEditorTableNumberColumnWidth : tableContainerWidth) - 1;
76
+ const defaultColumnWidth = tableWidth / noOfColumns;
76
77
  targetWidths = new Array(noOfColumns).fill(defaultColumnWidth);
77
78
  } else {
78
79
  return new Array(noOfColumns).fill({
@@ -8,7 +8,8 @@ export const Table = /*#__PURE__*/React.memo(({
8
8
  renderWidth,
9
9
  children,
10
10
  tableNode,
11
- rendererAppearance
11
+ rendererAppearance,
12
+ isInsideOfBlockNode
12
13
  }) => {
13
14
  return /*#__PURE__*/React.createElement("table", {
14
15
  "data-testid": "renderer-table",
@@ -20,6 +21,7 @@ export const Table = /*#__PURE__*/React.memo(({
20
21
  isNumberColumnEnabled: isNumberColumnEnabled,
21
22
  renderWidth: renderWidth,
22
23
  tableNode: tableNode,
23
- rendererAppearance: rendererAppearance
24
+ rendererAppearance: rendererAppearance,
25
+ isInsideOfBlockNode: isInsideOfBlockNode
24
26
  }), /*#__PURE__*/React.createElement("tbody", null, children));
25
27
  });
@@ -238,7 +238,8 @@ export class TableContainer extends React.Component {
238
238
  columnWidths,
239
239
  stickyHeaders,
240
240
  tableNode,
241
- rendererAppearance
241
+ rendererAppearance,
242
+ isInsideOfBlockNode
242
243
  } = this.props;
243
244
  const {
244
245
  stickyMode
@@ -331,7 +332,8 @@ export class TableContainer extends React.Component {
331
332
  isNumberColumnEnabled: isNumberColumnEnabled,
332
333
  renderWidth: renderWidth,
333
334
  tableNode: tableNode,
334
- rendererAppearance: rendererAppearance
335
+ rendererAppearance: rendererAppearance,
336
+ isInsideOfBlockNode: isInsideOfBlockNode
335
337
  }, this.grabFirstRowRef(children)))));
336
338
  }
337
339
  }
@@ -1,3 +1,14 @@
1
1
  export const isLayoutNode = node => node.type.name === 'layoutSection';
2
2
  export const hasBreakOutMark = node => node.marks.some(m => m.type.name === 'breakout');
3
- export const insideBreakoutLayout = path => path.some(item => isLayoutNode(item) && hasBreakOutMark(item));
3
+ export const insideBreakoutLayout = path => path.some(item => isLayoutNode(item) && hasBreakOutMark(item));
4
+ export const insideBlockNode = (path, schema) => {
5
+ const {
6
+ nodes: {
7
+ expand,
8
+ nestedExpand,
9
+ layoutColumn
10
+ }
11
+ } = schema;
12
+ const blockNodeNames = [expand, nestedExpand, layoutColumn].filter(node => Boolean(node)).map(node => node.name);
13
+ return path && path.some(n => n.type && blockNodeNames.indexOf(n.type.name) > -1);
14
+ };
@@ -35,7 +35,7 @@ import { RenderTracking } from '../../react/utils/performance/RenderTracking';
35
35
  export const NORMAL_SEVERITY_THRESHOLD = 2000;
36
36
  export const DEGRADED_SEVERITY_THRESHOLD = 3000;
37
37
  const packageName = "@atlaskit/renderer";
38
- const packageVersion = "108.11.15";
38
+ const packageVersion = "108.11.16";
39
39
  export class Renderer extends PureComponent {
40
40
  constructor(props) {
41
41
  super(props);
@@ -17,7 +17,7 @@ import { getMarksByOrder, isSameMark } from '@atlaskit/editor-common/validator';
17
17
  import { calcTableColumnWidths } from '@atlaskit/editor-common/utils';
18
18
  import { getText } from '../utils';
19
19
  import { findChildrenByType } from '@atlaskit/editor-prosemirror/utils';
20
- import { insideBreakoutLayout } from './renderer-node';
20
+ import { insideBlockNode, insideBreakoutLayout } from './renderer-node';
21
21
  import { isCodeMark } from './marks/code';
22
22
  function mergeMarks(marksAndNodes) {
23
23
  return marksAndNodes.reduce(function (acc, markOrNode) {
@@ -333,11 +333,13 @@ var ReactSerializer = /*#__PURE__*/function () {
333
333
  var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
334
334
  // TODO: https://product-fabric.atlassian.net/browse/CEMS-1048
335
335
  var stickyHeaders = !insideBreakoutLayout(path) ? this.stickyHeaders : undefined;
336
+ var isInsideOfBlockNode = insideBlockNode(path, node.type.schema);
336
337
  return _objectSpread(_objectSpread({}, this.getProps(node)), {}, {
337
338
  allowColumnSorting: this.allowColumnSorting,
338
339
  columnWidths: calcTableColumnWidths(node),
339
340
  tableNode: node,
340
- stickyHeaders: stickyHeaders
341
+ stickyHeaders: stickyHeaders,
342
+ isInsideOfBlockNode: isInsideOfBlockNode
341
343
  });
342
344
  }
343
345
  }, {
@@ -353,21 +355,8 @@ var ReactSerializer = /*#__PURE__*/function () {
353
355
  value: function getMediaSingleProps(node) {
354
356
  var _this5 = this;
355
357
  var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
356
- var _node$type$schema = node.type.schema,
357
- _node$type$schema$nod = _node$type$schema.nodes,
358
- expand = _node$type$schema$nod.expand,
359
- nestedExpand = _node$type$schema$nod.nestedExpand,
360
- layoutColumn = _node$type$schema$nod.layoutColumn,
361
- link = _node$type$schema.marks.link;
362
- var blockNodeNames = [expand, nestedExpand, layoutColumn].filter(function (node) {
363
- return Boolean(node);
364
- }) // Check if the node exist first
365
- .map(function (node) {
366
- return node.name;
367
- });
368
- var isInsideOfBlockNode = path && path.some(function (n) {
369
- return n.type && blockNodeNames.indexOf(n.type.name) > -1;
370
- });
358
+ var link = node.type.schema.marks.link;
359
+ var isInsideOfBlockNode = insideBlockNode(path, node.type.schema);
371
360
  var isLinkMark = function isLinkMark(mark) {
372
361
  return mark.type === link;
373
362
  };
@@ -422,19 +411,7 @@ var ReactSerializer = /*#__PURE__*/function () {
422
411
  key: "getEmbedCardProps",
423
412
  value: function getEmbedCardProps(node) {
424
413
  var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
425
- var _node$type$schema$nod2 = node.type.schema.nodes,
426
- expand = _node$type$schema$nod2.expand,
427
- nestedExpand = _node$type$schema$nod2.nestedExpand,
428
- layoutColumn = _node$type$schema$nod2.layoutColumn;
429
- var blockNodeNames = [expand, nestedExpand, layoutColumn].filter(function (node) {
430
- return Boolean(node);
431
- }) // Check if the node exist first
432
- .map(function (node) {
433
- return node.name;
434
- });
435
- var isInsideOfBlockNode = path && path.some(function (n) {
436
- return n.type && blockNodeNames.indexOf(n.type.name) > -1;
437
- });
414
+ var isInsideOfBlockNode = insideBlockNode(path, node.type.schema);
438
415
  return _objectSpread(_objectSpread({}, this.getProps(node)), {}, {
439
416
  isInsideOfBlockNode: isInsideOfBlockNode
440
417
  });
@@ -53,7 +53,8 @@ var renderScaleDownColgroup = function renderScaleDownColgroup(props) {
53
53
  isNumberColumnEnabled = props.isNumberColumnEnabled,
54
54
  renderWidth = props.renderWidth,
55
55
  tableNode = props.tableNode,
56
- rendererAppearance = props.rendererAppearance;
56
+ rendererAppearance = props.rendererAppearance,
57
+ isInsideOfBlockNode = props.isInsideOfBlockNode;
57
58
  if (!columnWidths) {
58
59
  return [];
59
60
  }
@@ -66,12 +67,12 @@ var renderScaleDownColgroup = function renderScaleDownColgroup(props) {
66
67
  } else {
67
68
  tableContainerWidth = getTableLayoutWidth(layout);
68
69
  }
69
- if (isTableResizingEnabled(rendererAppearance) && !tableResized) {
70
+ if (isTableResizingEnabled(rendererAppearance) && !isInsideOfBlockNode && !tableResized) {
70
71
  if (getBooleanFF('platform.editor.custom-table-width-scale-down-undefined-column_nkyvx')) {
71
72
  // for tables with no column widths defined, assume that the real table width
72
73
  // is defined by node.attrs.width
73
- var _tableWidth2 = isNumberColumnEnabled ? tableContainerWidth - akEditorTableNumberColumnWidth : tableContainerWidth;
74
- var defaultColumnWidth = Math.floor(_tableWidth2 / noOfColumns);
74
+ var _tableWidth2 = (isNumberColumnEnabled ? tableContainerWidth - akEditorTableNumberColumnWidth : tableContainerWidth) - 1;
75
+ var defaultColumnWidth = _tableWidth2 / noOfColumns;
75
76
  targetWidths = new Array(noOfColumns).fill(defaultColumnWidth);
76
77
  } else {
77
78
  return new Array(noOfColumns).fill({
@@ -8,7 +8,8 @@ export var Table = /*#__PURE__*/React.memo(function (_ref) {
8
8
  renderWidth = _ref.renderWidth,
9
9
  children = _ref.children,
10
10
  tableNode = _ref.tableNode,
11
- rendererAppearance = _ref.rendererAppearance;
11
+ rendererAppearance = _ref.rendererAppearance,
12
+ isInsideOfBlockNode = _ref.isInsideOfBlockNode;
12
13
  return /*#__PURE__*/React.createElement("table", {
13
14
  "data-testid": "renderer-table",
14
15
  "data-number-column": isNumberColumnEnabled,
@@ -19,6 +20,7 @@ export var Table = /*#__PURE__*/React.memo(function (_ref) {
19
20
  isNumberColumnEnabled: isNumberColumnEnabled,
20
21
  renderWidth: renderWidth,
21
22
  tableNode: tableNode,
22
- rendererAppearance: rendererAppearance
23
+ rendererAppearance: rendererAppearance,
24
+ isInsideOfBlockNode: isInsideOfBlockNode
23
25
  }), /*#__PURE__*/React.createElement("tbody", null, children));
24
26
  });
@@ -287,7 +287,8 @@ export var TableContainer = /*#__PURE__*/function (_React$Component) {
287
287
  columnWidths = _this$props.columnWidths,
288
288
  stickyHeaders = _this$props.stickyHeaders,
289
289
  tableNode = _this$props.tableNode,
290
- rendererAppearance = _this$props.rendererAppearance;
290
+ rendererAppearance = _this$props.rendererAppearance,
291
+ isInsideOfBlockNode = _this$props.isInsideOfBlockNode;
291
292
  var stickyMode = this.state.stickyMode;
292
293
  var lineLength = akEditorDefaultLayoutWidth;
293
294
  var tableWidth;
@@ -377,7 +378,8 @@ export var TableContainer = /*#__PURE__*/function (_React$Component) {
377
378
  isNumberColumnEnabled: isNumberColumnEnabled,
378
379
  renderWidth: renderWidth,
379
380
  tableNode: tableNode,
380
- rendererAppearance: rendererAppearance
381
+ rendererAppearance: rendererAppearance,
382
+ isInsideOfBlockNode: isInsideOfBlockNode
381
383
  }, this.grabFirstRowRef(children)))));
382
384
  }
383
385
  }]);
@@ -10,4 +10,18 @@ export var insideBreakoutLayout = function insideBreakoutLayout(path) {
10
10
  return path.some(function (item) {
11
11
  return isLayoutNode(item) && hasBreakOutMark(item);
12
12
  });
13
+ };
14
+ export var insideBlockNode = function insideBlockNode(path, schema) {
15
+ var _schema$nodes = schema.nodes,
16
+ expand = _schema$nodes.expand,
17
+ nestedExpand = _schema$nodes.nestedExpand,
18
+ layoutColumn = _schema$nodes.layoutColumn;
19
+ var blockNodeNames = [expand, nestedExpand, layoutColumn].filter(function (node) {
20
+ return Boolean(node);
21
+ }).map(function (node) {
22
+ return node.name;
23
+ });
24
+ return path && path.some(function (n) {
25
+ return n.type && blockNodeNames.indexOf(n.type.name) > -1;
26
+ });
13
27
  };
@@ -45,7 +45,7 @@ import { RenderTracking } from '../../react/utils/performance/RenderTracking';
45
45
  export var NORMAL_SEVERITY_THRESHOLD = 2000;
46
46
  export var DEGRADED_SEVERITY_THRESHOLD = 3000;
47
47
  var packageName = "@atlaskit/renderer";
48
- var packageVersion = "108.11.15";
48
+ var packageVersion = "108.11.16";
49
49
  export var Renderer = /*#__PURE__*/function (_PureComponent) {
50
50
  _inherits(Renderer, _PureComponent);
51
51
  var _super = _createSuper(Renderer);
@@ -1,16 +1,16 @@
1
1
  /// <reference types="react" />
2
- import { Fragment, Mark, Node } from '@atlaskit/editor-prosemirror/model';
3
- import { Serializer } from '../';
4
- import { RendererAppearance, StickyHeaderConfig, HeadingAnchorLinksProps, NodeComponentsProps } from '../ui/Renderer/types';
5
- import { AnalyticsEventPayload } from '../analytics/events';
6
- import { TextWrapper } from './nodes';
2
+ import type { Fragment, Mark, Node } from '@atlaskit/editor-prosemirror/model';
3
+ import type { Serializer } from '../';
4
+ import type { RendererAppearance, StickyHeaderConfig, HeadingAnchorLinksProps, NodeComponentsProps } from '../ui/Renderer/types';
5
+ import type { AnalyticsEventPayload } from '../analytics/events';
6
+ import type { TextWrapper } from './nodes';
7
7
  import type { ExtensionHandlers } from '@atlaskit/editor-common/extensions';
8
- import { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
8
+ import type { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
9
9
  import type { EventHandlers } from '@atlaskit/editor-common/ui';
10
- import { RendererContext } from './types';
11
- import { MediaOptions } from '../types/mediaOptions';
12
- import { SmartLinksOptions } from '../types/smartLinksOptions';
13
- import { EmojiResourceConfig } from '@atlaskit/emoji/resource';
10
+ import type { RendererContext } from './types';
11
+ import type { MediaOptions } from '../types/mediaOptions';
12
+ import type { SmartLinksOptions } from '../types/smartLinksOptions';
13
+ import type { EmojiResourceConfig } from '@atlaskit/emoji/resource';
14
14
  export interface ReactSerializerInit {
15
15
  providers?: ProviderFactory;
16
16
  eventHandlers?: EventHandlers;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { SharedTableProps } from './types';
2
+ import type { SharedTableProps } from './types';
3
3
  export type TableProps = SharedTableProps & {
4
4
  innerRef?: React.RefObject<HTMLTableElement>;
5
5
  children: React.ReactNode[];
6
6
  };
7
- export declare const Table: React.MemoExoticComponent<({ innerRef, isNumberColumnEnabled, columnWidths, layout, renderWidth, children, tableNode, rendererAppearance, }: TableProps) => JSX.Element>;
7
+ export declare const Table: React.MemoExoticComponent<({ innerRef, isNumberColumnEnabled, columnWidths, layout, renderWidth, children, tableNode, rendererAppearance, isInsideOfBlockNode, }: TableProps) => JSX.Element>;
@@ -1,6 +1,6 @@
1
- import { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
2
- import { TableLayout } from '@atlaskit/adf-schema';
3
- import { RendererAppearance } from '../../../ui/Renderer/types';
1
+ import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
2
+ import type { TableLayout } from '@atlaskit/adf-schema';
3
+ import type { RendererAppearance } from '../../../ui/Renderer/types';
4
4
  export type SharedTableProps = {
5
5
  columnWidths?: Array<number>;
6
6
  layout: TableLayout;
@@ -8,4 +8,5 @@ export type SharedTableProps = {
8
8
  renderWidth: number;
9
9
  tableNode?: PMNode;
10
10
  rendererAppearance: RendererAppearance;
11
+ isInsideOfBlockNode?: boolean;
11
12
  };
@@ -1,4 +1,5 @@
1
- import { Node } from '@atlaskit/editor-prosemirror/model';
1
+ import type { Node, Schema } from '@atlaskit/editor-prosemirror/model';
2
2
  export declare const isLayoutNode: (node: Node) => boolean;
3
3
  export declare const hasBreakOutMark: (node: Node) => boolean;
4
4
  export declare const insideBreakoutLayout: (path: Node[]) => boolean;
5
+ export declare const insideBlockNode: (path: Node[], schema: Schema) => boolean;
@@ -1,16 +1,16 @@
1
1
  /// <reference types="react" />
2
- import { Fragment, Mark, Node } from '@atlaskit/editor-prosemirror/model';
3
- import { Serializer } from '../';
4
- import { RendererAppearance, StickyHeaderConfig, HeadingAnchorLinksProps, NodeComponentsProps } from '../ui/Renderer/types';
5
- import { AnalyticsEventPayload } from '../analytics/events';
6
- import { TextWrapper } from './nodes';
2
+ import type { Fragment, Mark, Node } from '@atlaskit/editor-prosemirror/model';
3
+ import type { Serializer } from '../';
4
+ import type { RendererAppearance, StickyHeaderConfig, HeadingAnchorLinksProps, NodeComponentsProps } from '../ui/Renderer/types';
5
+ import type { AnalyticsEventPayload } from '../analytics/events';
6
+ import type { TextWrapper } from './nodes';
7
7
  import type { ExtensionHandlers } from '@atlaskit/editor-common/extensions';
8
- import { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
8
+ import type { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
9
9
  import type { EventHandlers } from '@atlaskit/editor-common/ui';
10
- import { RendererContext } from './types';
11
- import { MediaOptions } from '../types/mediaOptions';
12
- import { SmartLinksOptions } from '../types/smartLinksOptions';
13
- import { EmojiResourceConfig } from '@atlaskit/emoji/resource';
10
+ import type { RendererContext } from './types';
11
+ import type { MediaOptions } from '../types/mediaOptions';
12
+ import type { SmartLinksOptions } from '../types/smartLinksOptions';
13
+ import type { EmojiResourceConfig } from '@atlaskit/emoji/resource';
14
14
  export interface ReactSerializerInit {
15
15
  providers?: ProviderFactory;
16
16
  eventHandlers?: EventHandlers;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { SharedTableProps } from './types';
2
+ import type { SharedTableProps } from './types';
3
3
  export type TableProps = SharedTableProps & {
4
4
  innerRef?: React.RefObject<HTMLTableElement>;
5
5
  children: React.ReactNode[];
6
6
  };
7
- export declare const Table: React.MemoExoticComponent<({ innerRef, isNumberColumnEnabled, columnWidths, layout, renderWidth, children, tableNode, rendererAppearance, }: TableProps) => JSX.Element>;
7
+ export declare const Table: React.MemoExoticComponent<({ innerRef, isNumberColumnEnabled, columnWidths, layout, renderWidth, children, tableNode, rendererAppearance, isInsideOfBlockNode, }: TableProps) => JSX.Element>;
@@ -1,6 +1,6 @@
1
- import { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
2
- import { TableLayout } from '@atlaskit/adf-schema';
3
- import { RendererAppearance } from '../../../ui/Renderer/types';
1
+ import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
2
+ import type { TableLayout } from '@atlaskit/adf-schema';
3
+ import type { RendererAppearance } from '../../../ui/Renderer/types';
4
4
  export type SharedTableProps = {
5
5
  columnWidths?: Array<number>;
6
6
  layout: TableLayout;
@@ -8,4 +8,5 @@ export type SharedTableProps = {
8
8
  renderWidth: number;
9
9
  tableNode?: PMNode;
10
10
  rendererAppearance: RendererAppearance;
11
+ isInsideOfBlockNode?: boolean;
11
12
  };
@@ -1,4 +1,5 @@
1
- import { Node } from '@atlaskit/editor-prosemirror/model';
1
+ import type { Node, Schema } from '@atlaskit/editor-prosemirror/model';
2
2
  export declare const isLayoutNode: (node: Node) => boolean;
3
3
  export declare const hasBreakOutMark: (node: Node) => boolean;
4
4
  export declare const insideBreakoutLayout: (path: Node[]) => boolean;
5
+ export declare const insideBlockNode: (path: Node[], schema: Schema) => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/renderer",
3
- "version": "108.11.15",
3
+ "version": "108.11.16",
4
4
  "description": "Renderer component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
package/report.api.md CHANGED
@@ -30,7 +30,7 @@ import type { EventHandlers } from '@atlaskit/editor-common/ui';
30
30
  import type { ExtensionHandlers } from '@atlaskit/editor-common/extensions';
31
31
  import { Fragment } from '@atlaskit/editor-prosemirror/model';
32
32
  import { jsx } from '@emotion/react';
33
- import { Mark } from '@atlaskit/editor-prosemirror/model';
33
+ import type { Mark } from '@atlaskit/editor-prosemirror/model';
34
34
  import { MediaClientConfig } from '@atlaskit/media-core';
35
35
  import { MediaFeatureFlags } from '@atlaskit/media-common';
36
36
  import { Node as Node_2 } from '@atlaskit/editor-prosemirror/model';
@@ -19,7 +19,7 @@ import type { EventHandlers } from '@atlaskit/editor-common/ui';
19
19
  import type { ExtensionHandlers } from '@atlaskit/editor-common/extensions';
20
20
  import { Fragment } from '@atlaskit/editor-prosemirror/model';
21
21
  import { jsx } from '@emotion/react';
22
- import { Mark } from '@atlaskit/editor-prosemirror/model';
22
+ import type { Mark } from '@atlaskit/editor-prosemirror/model';
23
23
  import { MediaClientConfig } from '@atlaskit/media-core';
24
24
  import { MediaFeatureFlags } from '@atlaskit/media-common';
25
25
  import { Node as Node_2 } from '@atlaskit/editor-prosemirror/model';