@atlaskit/renderer 151.0.2 → 151.0.3

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,17 @@
1
1
  # @atlaskit/renderer
2
2
 
3
+ ## 151.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [`72696d778e3ae`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/72696d778e3ae) -
8
+ Reduce renderer table cell cloning and map active cell highlights through document changes behind
9
+ platform_editor_table_q4_perf_patch.
10
+
11
+ Only evaluate the performance patch when platform_editor_table_q4_loveability is enabled.
12
+
13
+ - Updated dependencies
14
+
3
15
  ## 151.0.2
4
16
 
5
17
  ### Patch Changes
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.withTableCellEdgeProps = exports.getCachedTableEdges = exports.cacheTableEdges = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
11
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
12
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
13
+ // The table node includes the number-column setting. Cache only its edge data.
14
+ var edgeCache = new WeakMap();
15
+ var noEdges = {
16
+ reachesTop: false,
17
+ reachesBottom: false,
18
+ reachesLeft: false,
19
+ reachesRight: false
20
+ };
21
+ var getCachedTableEdges = exports.getCachedTableEdges = function getCachedTableEdges(node) {
22
+ return edgeCache.get(node);
23
+ };
24
+ var cacheTableEdges = exports.cacheTableEdges = function cacheTableEdges(node, edges) {
25
+ // The existing geometry builder provides every cell; retain only the perimeter.
26
+ var _iterator = _createForOfIteratorHelper(edges),
27
+ _step;
28
+ try {
29
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
30
+ var _step$value = (0, _slicedToArray2.default)(_step.value, 2),
31
+ offset = _step$value[0],
32
+ props = _step$value[1];
33
+ if (!props.reachesTop && !props.reachesBottom && !props.reachesLeft && !props.reachesRight) {
34
+ edges.delete(offset);
35
+ }
36
+ }
37
+ } catch (err) {
38
+ _iterator.e(err);
39
+ } finally {
40
+ _iterator.f();
41
+ }
42
+ edgeCache.set(node, edges);
43
+ };
44
+ var withTableCellEdgeProps = exports.withTableCellEdgeProps = function withTableCellEdgeProps(element) {
45
+ var edges = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noEdges;
46
+ var current = element.props;
47
+ if (Boolean(current.reachesTop) === edges.reachesTop && Boolean(current.reachesBottom) === edges.reachesBottom && Boolean(current.reachesLeft) === edges.reachesLeft && Boolean(current.reachesRight) === edges.reachesRight) {
48
+ return element;
49
+ }
50
+ // Also clears stale edges when a previously decorated element becomes an interior cell.
51
+ return /*#__PURE__*/_react.default.cloneElement(element, edges);
52
+ };
@@ -24,6 +24,7 @@ var _utils = require("@atlaskit/editor-common/utils");
24
24
  var _compareNodes = require("@atlaskit/editor-common/utils/compareNodes");
25
25
  var _compose = require("@atlaskit/editor-common/utils/compose");
26
26
  var _constants = require("@atlaskit/editor-shared-styles/constants");
27
+ var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
27
28
  var _fg = require("@atlaskit/platform-feature-flags/fg");
28
29
  var _editorExperiment = require("@atlaskit/tmp-editor-statsig/editor-experiment");
29
30
  var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
@@ -32,6 +33,7 @@ var _rendererContext = require("../../renderer-context");
32
33
  var _style = require("../../ui/Renderer/style");
33
34
  var _SmartCardStorage = require("../../ui/SmartCardStorage");
34
35
  var _appearance = require("../utils/appearance");
36
+ var _cachedCellEdges = require("./table/cached-cell-edges");
35
37
  var _contentMode2 = require("./table/content-mode");
36
38
  var _sticky = require("./table/sticky");
37
39
  var _table2 = require("./table/table");
@@ -796,6 +798,12 @@ var TableContainer = exports.TableContainer = /*#__PURE__*/function (_React$Comp
796
798
  }]);
797
799
  }(_react.default.Component);
798
800
  var getCellEdgePropsByCellOffset = function getCellEdgePropsByCellOffset(tableNode, isNumberColumnEnabled) {
801
+ // The serializer uses the node attribute. Other callers can supply a different render prop.
802
+ var useCachedEdges = (0, _expValEquals.expValEquals)('platform_editor_table_q4_loveability', 'isEnabled', true) && (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_table_q4_perf_patch') && Boolean(isNumberColumnEnabled) === Boolean(tableNode.attrs.isNumberColumnEnabled);
803
+ var cached = useCachedEdges ? (0, _cachedCellEdges.getCachedTableEdges)(tableNode) : undefined;
804
+ if (cached) {
805
+ return cached;
806
+ }
799
807
  var cellEdgePropsByCellOffset = new Map();
800
808
  var cellRightByCellOffset = new Map();
801
809
  var occupiedGrid = [];
@@ -843,6 +851,9 @@ var getCellEdgePropsByCellOffset = function getCellEdgePropsByCellOffset(tableNo
843
851
  edgeProps.reachesRight = cellRight >= tableWidth;
844
852
  }
845
853
  });
854
+ if (useCachedEdges) {
855
+ (0, _cachedCellEdges.cacheTableEdges)(tableNode, cellEdgePropsByCellOffset);
856
+ }
846
857
  return cellEdgePropsByCellOffset;
847
858
  };
848
859
  var isRenderedTableCell = function isRenderedTableCell(element) {
@@ -851,6 +862,7 @@ var isRenderedTableCell = function isRenderedTableCell(element) {
851
862
  return nodeType === 'tableCell' || nodeType === 'tableHeader' || element.type === _tableCell.TableCell || element.type === _tableCell.TableHeader;
852
863
  };
853
864
  var addTableCellEdgePropsThroughWrappers = function addTableCellEdgePropsThroughWrappers(rows, tableNode, isNumberColumnEnabled) {
865
+ var useCachedEdges = (0, _expValEquals.expValEquals)('platform_editor_table_q4_loveability', 'isEnabled', true) && (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_table_q4_perf_patch');
854
866
  try {
855
867
  if (!tableNode) {
856
868
  return rows;
@@ -867,6 +879,9 @@ var addTableCellEdgePropsThroughWrappers = function addTableCellEdgePropsThrough
867
879
  var edgeProps = cellEdgePropsByCellOffset.get(cellOffset);
868
880
  cellIndex += 1;
869
881
  cellOffset += cellNode.nodeSize;
882
+ if (useCachedEdges) {
883
+ return (0, _cachedCellEdges.withTableCellEdgeProps)(element, edgeProps);
884
+ }
870
885
  return edgeProps ? /*#__PURE__*/_react.default.cloneElement(element, edgeProps) : element;
871
886
  }
872
887
  var _ref5 = element.props,
@@ -79,7 +79,7 @@ var DEGRADED_SEVERITY_THRESHOLD = exports.DEGRADED_SEVERITY_THRESHOLD = 3000;
79
79
  var TABLE_INFO_TIMEOUT = 10000;
80
80
  var RENDER_EVENT_SAMPLE_RATE = 0.1;
81
81
  var packageName = "@atlaskit/renderer";
82
- var packageVersion = "151.0.1";
82
+ var packageVersion = "151.0.2";
83
83
  var setAsQueryContainerStyles = (0, _react2.css)({
84
84
  containerName: 'ak-renderer-wrapper',
85
85
  containerType: 'inline-size'
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ // The table node includes the number-column setting. Cache only its edge data.
3
+ const edgeCache = new WeakMap();
4
+ const noEdges = {
5
+ reachesTop: false,
6
+ reachesBottom: false,
7
+ reachesLeft: false,
8
+ reachesRight: false
9
+ };
10
+ export const getCachedTableEdges = node => edgeCache.get(node);
11
+ export const cacheTableEdges = (node, edges) => {
12
+ // The existing geometry builder provides every cell; retain only the perimeter.
13
+ for (const [offset, props] of edges) {
14
+ if (!props.reachesTop && !props.reachesBottom && !props.reachesLeft && !props.reachesRight) {
15
+ edges.delete(offset);
16
+ }
17
+ }
18
+ edgeCache.set(node, edges);
19
+ };
20
+ export const withTableCellEdgeProps = (element, edges = noEdges) => {
21
+ const current = element.props;
22
+ if (Boolean(current.reachesTop) === edges.reachesTop && Boolean(current.reachesBottom) === edges.reachesBottom && Boolean(current.reachesLeft) === edges.reachesLeft && Boolean(current.reachesRight) === edges.reachesRight) {
23
+ return element;
24
+ }
25
+ // Also clears stale edges when a previously decorated element becomes an interior cell.
26
+ return /*#__PURE__*/React.cloneElement(element, edges);
27
+ };
@@ -13,6 +13,7 @@ import { convertProsemirrorTableNodeToArrayOfRows, hasMergedCell } from '@atlask
13
13
  import { createCompareNodes } from '@atlaskit/editor-common/utils/compareNodes';
14
14
  import { compose } from '@atlaskit/editor-common/utils/compose';
15
15
  import { akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth, akEditorMaxWidthLayoutWidth } from '@atlaskit/editor-shared-styles/constants';
16
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
16
17
  import { fg } from '@atlaskit/platform-feature-flags/fg';
17
18
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/editor-experiment';
18
19
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
@@ -21,6 +22,7 @@ import { useRendererContext } from '../../renderer-context';
21
22
  import { FullPagePadding } from '../../ui/Renderer/style';
22
23
  import { withSmartCardStorage } from '../../ui/SmartCardStorage';
23
24
  import { isCommentAppearance, isFullWidthOrFullPageAppearance, isFullWidthAppearance, isMaxWidthAppearance, isFullPageAppearance } from '../utils/appearance';
25
+ import { cacheTableEdges, getCachedTableEdges, withTableCellEdgeProps } from './table/cached-cell-edges';
24
26
  import { isContentModeSupported } from './table/content-mode';
25
27
  import { StickyTable, tableStickyPadding, OverflowParent } from './table/sticky';
26
28
  import { Table } from './table/table';
@@ -735,6 +737,12 @@ export class TableContainer extends React.Component {
735
737
  }
736
738
  }
737
739
  const getCellEdgePropsByCellOffset = (tableNode, isNumberColumnEnabled) => {
740
+ // The serializer uses the node attribute. Other callers can supply a different render prop.
741
+ const useCachedEdges = expValEquals('platform_editor_table_q4_loveability', 'isEnabled', true) && isExperimentEnabled('platform_editor_table_q4_perf_patch') && Boolean(isNumberColumnEnabled) === Boolean(tableNode.attrs.isNumberColumnEnabled);
742
+ const cached = useCachedEdges ? getCachedTableEdges(tableNode) : undefined;
743
+ if (cached) {
744
+ return cached;
745
+ }
738
746
  const cellEdgePropsByCellOffset = new Map();
739
747
  const cellRightByCellOffset = new Map();
740
748
  const occupiedGrid = [];
@@ -782,6 +790,9 @@ const getCellEdgePropsByCellOffset = (tableNode, isNumberColumnEnabled) => {
782
790
  edgeProps.reachesRight = cellRight >= tableWidth;
783
791
  }
784
792
  });
793
+ if (useCachedEdges) {
794
+ cacheTableEdges(tableNode, cellEdgePropsByCellOffset);
795
+ }
785
796
  return cellEdgePropsByCellOffset;
786
797
  };
787
798
  const isRenderedTableCell = element => {
@@ -791,6 +802,7 @@ const isRenderedTableCell = element => {
791
802
  return nodeType === 'tableCell' || nodeType === 'tableHeader' || element.type === TableCell || element.type === TableHeader;
792
803
  };
793
804
  const addTableCellEdgePropsThroughWrappers = (rows, tableNode, isNumberColumnEnabled) => {
805
+ const useCachedEdges = expValEquals('platform_editor_table_q4_loveability', 'isEnabled', true) && isExperimentEnabled('platform_editor_table_q4_perf_patch');
794
806
  try {
795
807
  if (!tableNode) {
796
808
  return rows;
@@ -807,6 +819,9 @@ const addTableCellEdgePropsThroughWrappers = (rows, tableNode, isNumberColumnEna
807
819
  const edgeProps = cellEdgePropsByCellOffset.get(cellOffset);
808
820
  cellIndex += 1;
809
821
  cellOffset += cellNode.nodeSize;
822
+ if (useCachedEdges) {
823
+ return withTableCellEdgeProps(element, edgeProps);
824
+ }
810
825
  return edgeProps ? /*#__PURE__*/React.cloneElement(element, edgeProps) : element;
811
826
  }
812
827
  const {
@@ -64,7 +64,7 @@ export const DEGRADED_SEVERITY_THRESHOLD = 3000;
64
64
  const TABLE_INFO_TIMEOUT = 10000;
65
65
  const RENDER_EVENT_SAMPLE_RATE = 0.1;
66
66
  const packageName = "@atlaskit/renderer";
67
- const packageVersion = "151.0.1";
67
+ const packageVersion = "151.0.2";
68
68
  const setAsQueryContainerStyles = css({
69
69
  containerName: 'ak-renderer-wrapper',
70
70
  containerType: 'inline-size'
@@ -0,0 +1,45 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
+ import React from 'react';
6
+ // The table node includes the number-column setting. Cache only its edge data.
7
+ var edgeCache = new WeakMap();
8
+ var noEdges = {
9
+ reachesTop: false,
10
+ reachesBottom: false,
11
+ reachesLeft: false,
12
+ reachesRight: false
13
+ };
14
+ export var getCachedTableEdges = function getCachedTableEdges(node) {
15
+ return edgeCache.get(node);
16
+ };
17
+ export var cacheTableEdges = function cacheTableEdges(node, edges) {
18
+ // The existing geometry builder provides every cell; retain only the perimeter.
19
+ var _iterator = _createForOfIteratorHelper(edges),
20
+ _step;
21
+ try {
22
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
23
+ var _step$value = _slicedToArray(_step.value, 2),
24
+ offset = _step$value[0],
25
+ props = _step$value[1];
26
+ if (!props.reachesTop && !props.reachesBottom && !props.reachesLeft && !props.reachesRight) {
27
+ edges.delete(offset);
28
+ }
29
+ }
30
+ } catch (err) {
31
+ _iterator.e(err);
32
+ } finally {
33
+ _iterator.f();
34
+ }
35
+ edgeCache.set(node, edges);
36
+ };
37
+ export var withTableCellEdgeProps = function withTableCellEdgeProps(element) {
38
+ var edges = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noEdges;
39
+ var current = element.props;
40
+ if (Boolean(current.reachesTop) === edges.reachesTop && Boolean(current.reachesBottom) === edges.reachesBottom && Boolean(current.reachesLeft) === edges.reachesLeft && Boolean(current.reachesRight) === edges.reachesRight) {
41
+ return element;
42
+ }
43
+ // Also clears stale edges when a previously decorated element becomes an interior cell.
44
+ return /*#__PURE__*/React.cloneElement(element, edges);
45
+ };
@@ -26,6 +26,7 @@ import { convertProsemirrorTableNodeToArrayOfRows, hasMergedCell } from '@atlask
26
26
  import { createCompareNodes } from '@atlaskit/editor-common/utils/compareNodes';
27
27
  import { compose } from '@atlaskit/editor-common/utils/compose';
28
28
  import { akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth, akEditorMaxWidthLayoutWidth } from '@atlaskit/editor-shared-styles/constants';
29
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
29
30
  import { fg } from '@atlaskit/platform-feature-flags/fg';
30
31
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/editor-experiment';
31
32
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
@@ -34,6 +35,7 @@ import { useRendererContext } from '../../renderer-context';
34
35
  import { FullPagePadding } from '../../ui/Renderer/style';
35
36
  import { withSmartCardStorage } from '../../ui/SmartCardStorage';
36
37
  import { isCommentAppearance, isFullWidthOrFullPageAppearance, isFullWidthAppearance, isMaxWidthAppearance, isFullPageAppearance } from '../utils/appearance';
38
+ import { cacheTableEdges, getCachedTableEdges, withTableCellEdgeProps } from './table/cached-cell-edges';
37
39
  import { isContentModeSupported } from './table/content-mode';
38
40
  import { StickyTable, tableStickyPadding, OverflowParent } from './table/sticky';
39
41
  import { Table } from './table/table';
@@ -791,6 +793,12 @@ export var TableContainer = /*#__PURE__*/function (_React$Component) {
791
793
  }]);
792
794
  }(React.Component);
793
795
  var getCellEdgePropsByCellOffset = function getCellEdgePropsByCellOffset(tableNode, isNumberColumnEnabled) {
796
+ // The serializer uses the node attribute. Other callers can supply a different render prop.
797
+ var useCachedEdges = expValEquals('platform_editor_table_q4_loveability', 'isEnabled', true) && isExperimentEnabled('platform_editor_table_q4_perf_patch') && Boolean(isNumberColumnEnabled) === Boolean(tableNode.attrs.isNumberColumnEnabled);
798
+ var cached = useCachedEdges ? getCachedTableEdges(tableNode) : undefined;
799
+ if (cached) {
800
+ return cached;
801
+ }
794
802
  var cellEdgePropsByCellOffset = new Map();
795
803
  var cellRightByCellOffset = new Map();
796
804
  var occupiedGrid = [];
@@ -838,6 +846,9 @@ var getCellEdgePropsByCellOffset = function getCellEdgePropsByCellOffset(tableNo
838
846
  edgeProps.reachesRight = cellRight >= tableWidth;
839
847
  }
840
848
  });
849
+ if (useCachedEdges) {
850
+ cacheTableEdges(tableNode, cellEdgePropsByCellOffset);
851
+ }
841
852
  return cellEdgePropsByCellOffset;
842
853
  };
843
854
  var isRenderedTableCell = function isRenderedTableCell(element) {
@@ -846,6 +857,7 @@ var isRenderedTableCell = function isRenderedTableCell(element) {
846
857
  return nodeType === 'tableCell' || nodeType === 'tableHeader' || element.type === TableCell || element.type === TableHeader;
847
858
  };
848
859
  var addTableCellEdgePropsThroughWrappers = function addTableCellEdgePropsThroughWrappers(rows, tableNode, isNumberColumnEnabled) {
860
+ var useCachedEdges = expValEquals('platform_editor_table_q4_loveability', 'isEnabled', true) && isExperimentEnabled('platform_editor_table_q4_perf_patch');
849
861
  try {
850
862
  if (!tableNode) {
851
863
  return rows;
@@ -862,6 +874,9 @@ var addTableCellEdgePropsThroughWrappers = function addTableCellEdgePropsThrough
862
874
  var edgeProps = cellEdgePropsByCellOffset.get(cellOffset);
863
875
  cellIndex += 1;
864
876
  cellOffset += cellNode.nodeSize;
877
+ if (useCachedEdges) {
878
+ return withTableCellEdgeProps(element, edgeProps);
879
+ }
865
880
  return edgeProps ? /*#__PURE__*/React.cloneElement(element, edgeProps) : element;
866
881
  }
867
882
  var _ref5 = element.props,
@@ -69,7 +69,7 @@ export var DEGRADED_SEVERITY_THRESHOLD = 3000;
69
69
  var TABLE_INFO_TIMEOUT = 10000;
70
70
  var RENDER_EVENT_SAMPLE_RATE = 0.1;
71
71
  var packageName = "@atlaskit/renderer";
72
- var packageVersion = "151.0.1";
72
+ var packageVersion = "151.0.2";
73
73
  var setAsQueryContainerStyles = css({
74
74
  containerName: 'ak-renderer-wrapper',
75
75
  containerType: 'inline-size'
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
3
+ import type { TableCellEdgeProps } from '../tableCell';
4
+ type EdgeMap = Map<number, TableCellEdgeProps>;
5
+ export declare const getCachedTableEdges: (node: PMNode) => EdgeMap | undefined;
6
+ export declare const cacheTableEdges: (node: PMNode, edges: EdgeMap) => void;
7
+ export declare const withTableCellEdgeProps: (element: React.ReactElement, edges?: TableCellEdgeProps) => React.ReactElement;
8
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/renderer",
3
- "version": "151.0.2",
3
+ "version": "151.0.3",
4
4
  "description": "Renderer component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -73,7 +73,7 @@
73
73
  "@atlaskit/status": "^5.13.0",
74
74
  "@atlaskit/task-decision": "^21.12.0",
75
75
  "@atlaskit/theme": "^28.2.0",
76
- "@atlaskit/tmp-editor-statsig": "^240.0.0",
76
+ "@atlaskit/tmp-editor-statsig": "^241.0.0",
77
77
  "@atlaskit/tokens": "^20.6.0",
78
78
  "@atlaskit/tooltip": "^24.4.0",
79
79
  "@atlaskit/visually-hidden": "^4.4.0",
@@ -115,7 +115,7 @@
115
115
  "@atlaskit/modal-dialog": "^17.1.0",
116
116
  "@atlaskit/navigation-system": "^11.3.0",
117
117
  "@atlaskit/primitives": "^22.6.0",
118
- "@atlaskit/profilecard": "^27.1.0",
118
+ "@atlaskit/profilecard": "^27.2.0",
119
119
  "@atlaskit/radio": "^10.2.0",
120
120
  "@atlaskit/range": "^12.2.0",
121
121
  "@atlaskit/section-message": "^10.2.0",