handsontable 0.0.0-next-a148bc1-20241121 → 0.0.0-next-3058de1-20241122

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (136) hide show
  1. package/3rdparty/walkontable/src/calculator/index.js +1 -2
  2. package/3rdparty/walkontable/src/calculator/index.mjs +2 -2
  3. package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
  4. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +3 -3
  5. package/3rdparty/walkontable/src/core/_base.js +3 -0
  6. package/3rdparty/walkontable/src/core/_base.mjs +3 -0
  7. package/3rdparty/walkontable/src/core/clone.js +1 -0
  8. package/3rdparty/walkontable/src/core/clone.mjs +1 -0
  9. package/3rdparty/walkontable/src/core/core.js +2 -0
  10. package/3rdparty/walkontable/src/core/core.mjs +2 -0
  11. package/3rdparty/walkontable/src/facade/core.js +3 -0
  12. package/3rdparty/walkontable/src/facade/core.mjs +3 -0
  13. package/3rdparty/walkontable/src/index.js +0 -3
  14. package/3rdparty/walkontable/src/index.mjs +2 -3
  15. package/3rdparty/walkontable/src/overlay/_base.js +3 -1
  16. package/3rdparty/walkontable/src/overlay/_base.mjs +3 -1
  17. package/3rdparty/walkontable/src/overlay/bottom.js +2 -2
  18. package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
  19. package/3rdparty/walkontable/src/overlay/inlineStart.js +1 -1
  20. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +1 -1
  21. package/3rdparty/walkontable/src/overlay/top.js +2 -2
  22. package/3rdparty/walkontable/src/overlay/top.mjs +2 -2
  23. package/3rdparty/walkontable/src/renderer/_base.js +4 -3
  24. package/3rdparty/walkontable/src/renderer/_base.mjs +2 -2
  25. package/3rdparty/walkontable/src/renderer/cells.js +10 -11
  26. package/3rdparty/walkontable/src/renderer/cells.mjs +8 -10
  27. package/3rdparty/walkontable/src/renderer/colGroup.js +7 -6
  28. package/3rdparty/walkontable/src/renderer/colGroup.mjs +5 -5
  29. package/3rdparty/walkontable/src/renderer/columnHeaders.js +5 -4
  30. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +3 -3
  31. package/3rdparty/walkontable/src/renderer/index.js +23 -20
  32. package/3rdparty/walkontable/src/renderer/index.mjs +10 -8
  33. package/3rdparty/walkontable/src/renderer/rowHeaders.js +6 -5
  34. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +4 -4
  35. package/3rdparty/walkontable/src/renderer/rows.js +11 -23
  36. package/3rdparty/walkontable/src/renderer/rows.mjs +10 -23
  37. package/3rdparty/walkontable/src/renderer/table.js +13 -4
  38. package/3rdparty/walkontable/src/renderer/table.mjs +13 -4
  39. package/3rdparty/walkontable/src/settings.js +0 -2
  40. package/3rdparty/walkontable/src/settings.mjs +0 -2
  41. package/3rdparty/walkontable/src/table.js +17 -9
  42. package/3rdparty/walkontable/src/table.mjs +17 -9
  43. package/3rdparty/walkontable/src/types.js +1 -0
  44. package/3rdparty/walkontable/src/types.mjs +1 -0
  45. package/3rdparty/walkontable/src/utils/column.js +1 -1
  46. package/3rdparty/walkontable/src/utils/column.mjs +1 -1
  47. package/3rdparty/walkontable/src/utils/nodesPool.js +5 -22
  48. package/3rdparty/walkontable/src/utils/nodesPool.mjs +5 -22
  49. package/3rdparty/walkontable/src/utils/orderView/index.js +5 -4
  50. package/3rdparty/walkontable/src/utils/orderView/index.mjs +2 -2
  51. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +4 -3
  52. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
  53. package/3rdparty/walkontable/src/utils/orderView/view.js +76 -79
  54. package/3rdparty/walkontable/src/utils/orderView/view.mjs +74 -78
  55. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
  56. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
  57. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +5 -4
  58. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +3 -3
  59. package/3rdparty/walkontable/src/utils/stylesHandler.js +287 -0
  60. package/3rdparty/walkontable/src/utils/stylesHandler.mjs +283 -0
  61. package/3rdparty/walkontable/src/viewport.js +1 -0
  62. package/3rdparty/walkontable/src/viewport.mjs +1 -0
  63. package/base.js +2 -2
  64. package/base.mjs +2 -2
  65. package/core/hooks/constants.js +9 -0
  66. package/core/hooks/constants.mjs +9 -0
  67. package/core/hooks/index.d.ts +1 -0
  68. package/core.d.ts +2 -0
  69. package/core.js +47 -0
  70. package/core.mjs +47 -0
  71. package/dataMap/metaManager/metaSchema.js +23 -3
  72. package/dataMap/metaManager/metaSchema.mjs +23 -3
  73. package/dist/handsontable.css +17 -9
  74. package/dist/handsontable.full.css +249 -240
  75. package/dist/handsontable.full.js +4767 -4686
  76. package/dist/handsontable.full.min.css +11 -9
  77. package/dist/handsontable.full.min.js +53 -53
  78. package/dist/handsontable.js +4474 -4387
  79. package/dist/handsontable.min.css +5 -4
  80. package/dist/handsontable.min.js +24 -24
  81. package/editors/autocompleteEditor/autocompleteEditor.js +1 -1
  82. package/editors/autocompleteEditor/autocompleteEditor.mjs +1 -1
  83. package/editors/baseEditor/baseEditor.js +1 -1
  84. package/editors/baseEditor/baseEditor.mjs +1 -1
  85. package/editors/dateEditor/dateEditor.js +9 -0
  86. package/editors/dateEditor/dateEditor.mjs +10 -1
  87. package/editors/handsontableEditor/handsontableEditor.js +7 -1
  88. package/editors/handsontableEditor/handsontableEditor.mjs +7 -1
  89. package/editors/selectEditor/selectEditor.js +20 -9
  90. package/editors/selectEditor/selectEditor.mjs +20 -9
  91. package/editors/textEditor/textEditor.js +4 -11
  92. package/editors/textEditor/textEditor.mjs +4 -11
  93. package/helpers/dom/element.js +32 -1
  94. package/helpers/dom/element.mjs +31 -1
  95. package/helpers/mixed.js +2 -2
  96. package/helpers/mixed.mjs +2 -2
  97. package/helpers/themes.js +17 -0
  98. package/helpers/themes.mjs +13 -0
  99. package/package.json +10 -3
  100. package/plugins/comments/commentEditor.js +9 -0
  101. package/plugins/comments/commentEditor.mjs +9 -0
  102. package/plugins/comments/comments.js +14 -0
  103. package/plugins/comments/comments.mjs +15 -1
  104. package/plugins/contextMenu/menu/menu.js +9 -4
  105. package/plugins/contextMenu/menu/menu.mjs +9 -4
  106. package/plugins/filters/ui/multipleSelect.js +6 -0
  107. package/plugins/filters/ui/multipleSelect.mjs +6 -0
  108. package/plugins/manualRowMove/manualRowMove.js +1 -1
  109. package/plugins/manualRowMove/manualRowMove.mjs +1 -1
  110. package/plugins/manualRowResize/manualRowResize.js +1 -2
  111. package/plugins/manualRowResize/manualRowResize.mjs +2 -3
  112. package/plugins/mergeCells/mergeCells.js +1 -1
  113. package/plugins/mergeCells/mergeCells.mjs +1 -1
  114. package/plugins/nestedRows/ui/headers.js +7 -1
  115. package/plugins/nestedRows/ui/headers.mjs +7 -1
  116. package/plugins/stretchColumns/calculator.js +2 -1
  117. package/plugins/stretchColumns/calculator.mjs +3 -2
  118. package/renderers/checkboxRenderer/checkboxRenderer.js +5 -8
  119. package/renderers/checkboxRenderer/checkboxRenderer.mjs +5 -8
  120. package/settings.d.ts +1 -0
  121. package/styles/handsontable.css +2178 -0
  122. package/styles/handsontable.min.css +30 -0
  123. package/styles/ht-theme-horizon.css +607 -0
  124. package/styles/ht-theme-horizon.min.css +30 -0
  125. package/styles/ht-theme-main.css +613 -0
  126. package/styles/ht-theme-main.min.css +30 -0
  127. package/tableView.js +46 -0
  128. package/tableView.mjs +47 -1
  129. package/utils/autoResize.js +4 -1
  130. package/utils/autoResize.mjs +4 -1
  131. package/utils/ghostTable.js +5 -3
  132. package/utils/ghostTable.mjs +5 -3
  133. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/index.js +0 -138
  134. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/index.mjs +0 -135
  135. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.js +0 -72
  136. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.mjs +0 -68
@@ -1,9 +1,9 @@
1
- import { RowHeadersRenderer } from "./rowHeaders.mjs";
2
- import { ColumnHeadersRenderer } from "./columnHeaders.mjs";
3
- import { ColGroupRenderer } from "./colGroup.mjs";
4
- import { RowsRenderer } from "./rows.mjs";
5
- import { CellsRenderer } from "./cells.mjs";
6
- import { TableRenderer } from "./table.mjs";
1
+ import RowHeadersRenderer from "./rowHeaders.mjs";
2
+ import ColumnHeadersRenderer from "./columnHeaders.mjs";
3
+ import ColGroupRenderer from "./colGroup.mjs";
4
+ import RowsRenderer from "./rows.mjs";
5
+ import CellsRenderer from "./cells.mjs";
6
+ import TableRenderer from "./table.mjs";
7
7
  /**
8
8
  * Content renderer.
9
9
  *
@@ -18,7 +18,8 @@ class Renderer {
18
18
  TBODY,
19
19
  rowUtils,
20
20
  columnUtils,
21
- cellRenderer
21
+ cellRenderer,
22
+ stylesHandler
22
23
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
23
24
  /**
24
25
  * General renderer class used to render Walkontable content on screen.
@@ -26,7 +27,8 @@ class Renderer {
26
27
  * @type {TableRenderer}
27
28
  */
28
29
  this.renderer = new TableRenderer(TABLE, {
29
- cellRenderer
30
+ cellRenderer,
31
+ stylesHandler
30
32
  });
31
33
  this.renderer.setRenderers({
32
34
  rowHeaders: new RowHeadersRenderer(),
@@ -2,10 +2,11 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.error.cause.js");
5
- var _orderView = require("../utils/orderView");
6
- var _base = require("./_base");
5
+ var _orderView = require("./../utils/orderView");
6
+ var _base = _interopRequireDefault(require("./_base"));
7
7
  var _element = require("../../../../helpers/dom/element");
8
8
  var _a11y = require("../../../../helpers/a11y");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
10
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
10
11
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
11
12
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -22,7 +23,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
22
23
  *
23
24
  * @class {CellsRenderer}
24
25
  */
25
- class RowHeadersRenderer extends _base.BaseRenderer {
26
+ class RowHeadersRenderer extends _base.default {
26
27
  constructor() {
27
28
  super('TH');
28
29
  /**
@@ -50,7 +51,7 @@ class RowHeadersRenderer extends _base.BaseRenderer {
50
51
  if (this.orderViews.has(rootNode)) {
51
52
  orderView = this.orderViews.get(rootNode);
52
53
  } else {
53
- orderView = new _orderView.SharedOrderView(rootNode, sourceColumnIndex => this.nodesPool.obtain(this.sourceRowIndex, sourceColumnIndex));
54
+ orderView = new _orderView.SharedOrderView(rootNode, sourceColumnIndex => this.nodesPool.obtain(this.sourceRowIndex, sourceColumnIndex), this.nodeType);
54
55
  this.orderViews.set(rootNode, orderView);
55
56
  }
56
57
  return orderView;
@@ -91,4 +92,4 @@ class RowHeadersRenderer extends _base.BaseRenderer {
91
92
  }
92
93
  }
93
94
  }
94
- exports.RowHeadersRenderer = RowHeadersRenderer;
95
+ exports.default = RowHeadersRenderer;
@@ -2,8 +2,8 @@ import "core-js/modules/es.error.cause.js";
2
2
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
- import { SharedOrderView } from "../utils/orderView/index.mjs";
6
- import { BaseRenderer } from "./_base.mjs";
5
+ import { SharedOrderView } from "./../utils/orderView/index.mjs";
6
+ import BaseRenderer from "./_base.mjs";
7
7
  import { setAttribute, removeAttribute } from "../../../../helpers/dom/element.mjs";
8
8
  import { A11Y_COLINDEX, A11Y_ROWHEADER, A11Y_SCOPE_ROW, A11Y_TABINDEX } from "../../../../helpers/a11y.mjs";
9
9
  /**
@@ -19,7 +19,7 @@ import { A11Y_COLINDEX, A11Y_ROWHEADER, A11Y_SCOPE_ROW, A11Y_TABINDEX } from "..
19
19
  *
20
20
  * @class {CellsRenderer}
21
21
  */
22
- export class RowHeadersRenderer extends BaseRenderer {
22
+ export default class RowHeadersRenderer extends BaseRenderer {
23
23
  constructor() {
24
24
  super('TH');
25
25
  /**
@@ -47,7 +47,7 @@ export class RowHeadersRenderer extends BaseRenderer {
47
47
  if (this.orderViews.has(rootNode)) {
48
48
  orderView = this.orderViews.get(rootNode);
49
49
  } else {
50
- orderView = new SharedOrderView(rootNode, sourceColumnIndex => this.nodesPool.obtain(this.sourceRowIndex, sourceColumnIndex));
50
+ orderView = new SharedOrderView(rootNode, sourceColumnIndex => this.nodesPool.obtain(this.sourceRowIndex, sourceColumnIndex), this.nodeType);
51
51
  this.orderViews.set(rootNode, orderView);
52
52
  }
53
53
  return orderView;
@@ -2,12 +2,13 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  require("core-js/modules/es.error.cause.js");
5
- var _base = require("./_base");
6
- var _console = require("../../../../helpers/console");
7
- var _templateLiteralTag = require("../../../../helpers/templateLiteralTag");
8
- var _orderView = require("../utils/orderView");
5
+ var _base = _interopRequireDefault(require("./_base"));
6
+ var _console = require("./../../../../helpers/console");
7
+ var _templateLiteralTag = require("./../../../../helpers/templateLiteralTag");
8
+ var _orderView = require("./../utils/orderView");
9
9
  var _element = require("../../../../helpers/dom/element");
10
10
  var _a11y = require("../../../../helpers/a11y");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
12
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
13
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
13
14
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -29,7 +30,7 @@ let performanceWarningAppeared = false;
29
30
  *
30
31
  * @class {RowsRenderer}
31
32
  */
32
- class RowsRenderer extends _base.BaseRenderer {
33
+ class RowsRenderer extends _base.default {
33
34
  constructor(rootNode) {
34
35
  super('TR', rootNode);
35
36
  /**
@@ -38,7 +39,7 @@ class RowsRenderer extends _base.BaseRenderer {
38
39
  * @type {WeakMap}
39
40
  */
40
41
  _defineProperty(this, "orderView", void 0);
41
- this.orderView = new _orderView.OrderView(rootNode, sourceRowIndex => this.nodesPool.obtain(sourceRowIndex));
42
+ this.orderView = new _orderView.OrderView(rootNode, sourceRowIndex => this.nodesPool.obtain(sourceRowIndex), this.nodeType);
42
43
  }
43
44
 
44
45
  /**
@@ -51,16 +52,6 @@ class RowsRenderer extends _base.BaseRenderer {
51
52
  return this.orderView.getNode(visualIndex);
52
53
  }
53
54
 
54
- /**
55
- * Checks if the the row is marked as "stale" and has to be rerendered.
56
- *
57
- * @param {number} visualIndex Visual index of the rendered node (it always goeas from 0 to N).
58
- * @returns {boolean}
59
- */
60
- hasStaleContent(visualIndex) {
61
- return this.orderView.hasStaleContent(visualIndex);
62
- }
63
-
64
55
  /**
65
56
  * Renders the cells.
66
57
  */
@@ -88,17 +79,14 @@ class RowsRenderer extends _base.BaseRenderer {
88
79
  // `aria-rowindex` is incremented by both tbody and thead rows.
89
80
  (0, _a11y.A11Y_ROWINDEX)(sourceRowIndex + ((_this$table$rowUtils$ = (_this$table$rowUtils = this.table.rowUtils) === null || _this$table$rowUtils === void 0 || (_this$table$rowUtils = _this$table$rowUtils.dataAccessObject) === null || _this$table$rowUtils === void 0 ? void 0 : _this$table$rowUtils.columnHeaders.length) !== null && _this$table$rowUtils$ !== void 0 ? _this$table$rowUtils$ : 0) + 1)]);
90
81
  }
82
+ (0, _element.removeClass)(TR, [ROW_CLASSNAMES.rowEven, ROW_CLASSNAMES.rowOdd]);
91
83
  if ((sourceRowIndex + 1) % 2 === 0) {
92
- if (!(0, _element.hasClass)(TR, ROW_CLASSNAMES.rowEven)) {
93
- (0, _element.removeClass)(TR, ROW_CLASSNAMES.rowOdd);
94
- (0, _element.addClass)(TR, ROW_CLASSNAMES.rowEven);
95
- }
96
- } else if (!(0, _element.hasClass)(TR, ROW_CLASSNAMES.rowOdd)) {
97
- (0, _element.removeClass)(TR, ROW_CLASSNAMES.rowEven);
84
+ (0, _element.addClass)(TR, ROW_CLASSNAMES.rowEven);
85
+ } else {
98
86
  (0, _element.addClass)(TR, ROW_CLASSNAMES.rowOdd);
99
87
  }
100
88
  }
101
89
  this.orderView.end();
102
90
  }
103
91
  }
104
- exports.RowsRenderer = RowsRenderer;
92
+ exports.default = RowsRenderer;
@@ -2,11 +2,11 @@ import "core-js/modules/es.error.cause.js";
2
2
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
- import { BaseRenderer } from "./_base.mjs";
6
- import { warn } from "../../../../helpers/console.mjs";
7
- import { toSingleLine } from "../../../../helpers/templateLiteralTag.mjs";
8
- import { OrderView } from "../utils/orderView/index.mjs";
9
- import { addClass, hasClass, removeClass, setAttribute } from "../../../../helpers/dom/element.mjs";
5
+ import BaseRenderer from "./_base.mjs";
6
+ import { warn } from "./../../../../helpers/console.mjs";
7
+ import { toSingleLine } from "./../../../../helpers/templateLiteralTag.mjs";
8
+ import { OrderView } from "./../utils/orderView/index.mjs";
9
+ import { addClass, removeClass, setAttribute } from "../../../../helpers/dom/element.mjs";
10
10
  import { A11Y_ROW, A11Y_ROWGROUP, A11Y_ROWINDEX } from "../../../../helpers/a11y.mjs";
11
11
  const ROW_CLASSNAMES = {
12
12
  rowEven: 'ht__row_even',
@@ -26,7 +26,7 @@ let performanceWarningAppeared = false;
26
26
  *
27
27
  * @class {RowsRenderer}
28
28
  */
29
- export class RowsRenderer extends BaseRenderer {
29
+ export default class RowsRenderer extends BaseRenderer {
30
30
  constructor(rootNode) {
31
31
  super('TR', rootNode);
32
32
  /**
@@ -35,7 +35,7 @@ export class RowsRenderer extends BaseRenderer {
35
35
  * @type {WeakMap}
36
36
  */
37
37
  _defineProperty(this, "orderView", void 0);
38
- this.orderView = new OrderView(rootNode, sourceRowIndex => this.nodesPool.obtain(sourceRowIndex));
38
+ this.orderView = new OrderView(rootNode, sourceRowIndex => this.nodesPool.obtain(sourceRowIndex), this.nodeType);
39
39
  }
40
40
 
41
41
  /**
@@ -48,16 +48,6 @@ export class RowsRenderer extends BaseRenderer {
48
48
  return this.orderView.getNode(visualIndex);
49
49
  }
50
50
 
51
- /**
52
- * Checks if the the row is marked as "stale" and has to be rerendered.
53
- *
54
- * @param {number} visualIndex Visual index of the rendered node (it always goeas from 0 to N).
55
- * @returns {boolean}
56
- */
57
- hasStaleContent(visualIndex) {
58
- return this.orderView.hasStaleContent(visualIndex);
59
- }
60
-
61
51
  /**
62
52
  * Renders the cells.
63
53
  */
@@ -85,13 +75,10 @@ export class RowsRenderer extends BaseRenderer {
85
75
  // `aria-rowindex` is incremented by both tbody and thead rows.
86
76
  A11Y_ROWINDEX(sourceRowIndex + ((_this$table$rowUtils$ = (_this$table$rowUtils = this.table.rowUtils) === null || _this$table$rowUtils === void 0 || (_this$table$rowUtils = _this$table$rowUtils.dataAccessObject) === null || _this$table$rowUtils === void 0 ? void 0 : _this$table$rowUtils.columnHeaders.length) !== null && _this$table$rowUtils$ !== void 0 ? _this$table$rowUtils$ : 0) + 1)]);
87
77
  }
78
+ removeClass(TR, [ROW_CLASSNAMES.rowEven, ROW_CLASSNAMES.rowOdd]);
88
79
  if ((sourceRowIndex + 1) % 2 === 0) {
89
- if (!hasClass(TR, ROW_CLASSNAMES.rowEven)) {
90
- removeClass(TR, ROW_CLASSNAMES.rowOdd);
91
- addClass(TR, ROW_CLASSNAMES.rowEven);
92
- }
93
- } else if (!hasClass(TR, ROW_CLASSNAMES.rowOdd)) {
94
- removeClass(TR, ROW_CLASSNAMES.rowEven);
80
+ addClass(TR, ROW_CLASSNAMES.rowEven);
81
+ } else {
95
82
  addClass(TR, ROW_CLASSNAMES.rowOdd);
96
83
  }
97
84
  }
@@ -52,7 +52,8 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
52
52
  class TableRenderer {
53
53
  constructor(rootNode) {
54
54
  let {
55
- cellRenderer
55
+ cellRenderer,
56
+ stylesHandler
56
57
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
57
58
  /**
58
59
  * Table element which will be used to render the children element.
@@ -168,9 +169,14 @@ class TableRenderer {
168
169
  * @type {'inline_start'|'top'|'top_inline_start_corner'|'bottom'|'bottom_inline_start_corner'|'master'}
169
170
  */
170
171
  _defineProperty(this, "activeOverlayName", void 0);
172
+ /**
173
+ * Styles handler instance.
174
+ */
175
+ _defineProperty(this, "stylesHandler", void 0);
171
176
  this.rootNode = rootNode;
172
177
  this.rootDocument = this.rootNode.ownerDocument;
173
178
  this.cellRenderer = cellRenderer;
179
+ this.stylesHandler = stylesHandler;
174
180
  }
175
181
 
176
182
  /**
@@ -313,12 +319,15 @@ class TableRenderer {
313
319
  // Fix for multi-line content and for supporting `rowHeights` option.
314
320
  for (let visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
315
321
  const TR = rows.getRenderedNode(visibleRowIndex);
322
+ const rowUtils = this.rowUtils;
316
323
  if (TR.firstChild) {
317
324
  const sourceRowIndex = this.renderedRowToSource(visibleRowIndex);
318
- const rowHeight = this.rowUtils.getHeightByOverlayName(sourceRowIndex, this.activeOverlayName);
325
+ const rowHeight = rowUtils.getHeightByOverlayName(sourceRowIndex, this.activeOverlayName);
326
+ const isBorderBoxSizing = this.stylesHandler.areCellsBorderBox();
327
+ const borderCompensation = isBorderBoxSizing ? 0 : 1;
319
328
  if (rowHeight) {
320
329
  // Decrease height. 1 pixel will be "replaced" by 1px border top
321
- TR.firstChild.style.height = `${rowHeight - 1}px`;
330
+ TR.firstChild.style.height = `${rowHeight - borderCompensation}px`;
322
331
  } else {
323
332
  TR.firstChild.style.height = '';
324
333
  }
@@ -326,4 +335,4 @@ class TableRenderer {
326
335
  }
327
336
  }
328
337
  }
329
- exports.TableRenderer = TableRenderer;
338
+ exports.default = TableRenderer;
@@ -46,10 +46,11 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
46
46
  *
47
47
  * @class {RowsRenderer}
48
48
  */
49
- export class TableRenderer {
49
+ export default class TableRenderer {
50
50
  constructor(rootNode) {
51
51
  let {
52
- cellRenderer
52
+ cellRenderer,
53
+ stylesHandler
53
54
  } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
54
55
  /**
55
56
  * Table element which will be used to render the children element.
@@ -165,9 +166,14 @@ export class TableRenderer {
165
166
  * @type {'inline_start'|'top'|'top_inline_start_corner'|'bottom'|'bottom_inline_start_corner'|'master'}
166
167
  */
167
168
  _defineProperty(this, "activeOverlayName", void 0);
169
+ /**
170
+ * Styles handler instance.
171
+ */
172
+ _defineProperty(this, "stylesHandler", void 0);
168
173
  this.rootNode = rootNode;
169
174
  this.rootDocument = this.rootNode.ownerDocument;
170
175
  this.cellRenderer = cellRenderer;
176
+ this.stylesHandler = stylesHandler;
171
177
  }
172
178
 
173
179
  /**
@@ -310,12 +316,15 @@ export class TableRenderer {
310
316
  // Fix for multi-line content and for supporting `rowHeights` option.
311
317
  for (let visibleRowIndex = 0; visibleRowIndex < rowsToRender; visibleRowIndex++) {
312
318
  const TR = rows.getRenderedNode(visibleRowIndex);
319
+ const rowUtils = this.rowUtils;
313
320
  if (TR.firstChild) {
314
321
  const sourceRowIndex = this.renderedRowToSource(visibleRowIndex);
315
- const rowHeight = this.rowUtils.getHeightByOverlayName(sourceRowIndex, this.activeOverlayName);
322
+ const rowHeight = rowUtils.getHeightByOverlayName(sourceRowIndex, this.activeOverlayName);
323
+ const isBorderBoxSizing = this.stylesHandler.areCellsBorderBox();
324
+ const borderCompensation = isBorderBoxSizing ? 0 : 1;
316
325
  if (rowHeight) {
317
326
  // Decrease height. 1 pixel will be "replaced" by 1px border top
318
- TR.firstChild.style.height = `${rowHeight - 1}px`;
327
+ TR.firstChild.style.height = `${rowHeight - borderCompensation}px`;
319
328
  } else {
320
329
  TR.firstChild.style.height = '';
321
330
  }
@@ -19,7 +19,6 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
19
19
  * @property {Option} currentRowClassName Option `currentRowClassName`.
20
20
  * @property {Option} data Option `data`.
21
21
  * @property {Option} defaultColumnWidth Option `defaultColumnWidth`.
22
- * @property {Option} defaultRowHeight Option `defaultRowHeight`.
23
22
  * @property {Option} externalRowCalculator Option `externalRowCalculator`.
24
23
  * @property {Option} fixedColumnsStart Option `fixedColumnsStart`.
25
24
  * @property {Option} fixedRowsBottom Option `fixedRowsBottom`.
@@ -185,7 +184,6 @@ class Settings {
185
184
  rowHeightByOverlayName() {
186
185
  // return undefined means use default size for the rendered cell content
187
186
  },
188
- defaultRowHeight: 23,
189
187
  defaultColumnWidth: 50,
190
188
  selections: null,
191
189
  hideBorderOnMouseDownOver: false,
@@ -16,7 +16,6 @@ import { objectEach } from "../../../helpers/object.mjs";
16
16
  * @property {Option} currentRowClassName Option `currentRowClassName`.
17
17
  * @property {Option} data Option `data`.
18
18
  * @property {Option} defaultColumnWidth Option `defaultColumnWidth`.
19
- * @property {Option} defaultRowHeight Option `defaultRowHeight`.
20
19
  * @property {Option} externalRowCalculator Option `externalRowCalculator`.
21
20
  * @property {Option} fixedColumnsStart Option `fixedColumnsStart`.
22
21
  * @property {Option} fixedRowsBottom Option `fixedRowsBottom`.
@@ -180,7 +179,6 @@ export default class Settings {
180
179
  rowHeightByOverlayName() {
181
180
  // return undefined means use default size for the rendered cell content
182
181
  },
183
- defaultRowHeight: 23,
184
182
  defaultColumnWidth: 50,
185
183
  selections: null,
186
184
  hideBorderOnMouseDownOver: false,
@@ -117,7 +117,8 @@ class Table {
117
117
  TBODY: this.TBODY,
118
118
  rowUtils: this.rowUtils,
119
119
  columnUtils: this.columnUtils,
120
- cellRenderer: this.wtSettings.getSettingPure('cellRenderer')
120
+ cellRenderer: this.wtSettings.getSettingPure('cellRenderer'),
121
+ stylesHandler: this.dataAccessObject.stylesHandler
121
122
  });
122
123
  }
123
124
 
@@ -353,7 +354,7 @@ class Table {
353
354
  markIfOversizedColumnHeader(col) {
354
355
  const sourceColIndex = this.columnFilter.renderedToSource(col);
355
356
  let level = this.wtSettings.getSetting('columnHeaders').length;
356
- const defaultRowHeight = this.wtSettings.getSetting('defaultRowHeight');
357
+ const defaultRowHeight = this.dataAccessObject.stylesHandler.getDefaultRowHeight();
357
358
  let previousColHeaderHeight;
358
359
  let currentHeader;
359
360
  let currentHeaderHeight;
@@ -631,10 +632,14 @@ class Table {
631
632
  return;
632
633
  }
633
634
  let rowCount = this.TBODY.childNodes.length;
634
- const expectedTableHeight = rowCount * this.wtSettings.getSetting('defaultRowHeight');
635
+ const expectedTableHeight = rowCount * this.dataAccessObject.stylesHandler.getDefaultRowHeight();
635
636
  const actualTableHeight = (0, _element.innerHeight)(this.TBODY) - 1;
637
+ const borderBoxSizing = this.wot.stylesHandler.areCellsBorderBox();
638
+ const rowHeightFn = borderBoxSizing ? _element.outerHeight : _element.innerHeight;
639
+ const borderCompensation = borderBoxSizing ? 0 : 1;
640
+ const firstRowBorderCompensation = borderBoxSizing ? 1 : 0;
636
641
  let previousRowHeight;
637
- let rowInnerHeight;
642
+ let rowCurrentHeight;
638
643
  let sourceRowIndex;
639
644
  let currentTr;
640
645
  let rowHeader;
@@ -648,14 +653,17 @@ class Table {
648
653
  previousRowHeight = this.getRowHeight(sourceRowIndex);
649
654
  currentTr = this.getTrForRow(sourceRowIndex);
650
655
  rowHeader = currentTr.querySelector('th');
656
+ const topBorderCompensation = sourceRowIndex === 0 ? firstRowBorderCompensation : 0;
651
657
  if (rowHeader) {
652
- rowInnerHeight = (0, _element.innerHeight)(rowHeader);
658
+ rowCurrentHeight = rowHeightFn(rowHeader);
653
659
  } else {
654
- rowInnerHeight = (0, _element.innerHeight)(currentTr) - 1;
660
+ rowCurrentHeight = rowHeightFn(currentTr) - borderCompensation;
655
661
  }
656
- if (!previousRowHeight && this.wtSettings.getSetting('defaultRowHeight') < rowInnerHeight || previousRowHeight < rowInnerHeight) {
657
- rowInnerHeight += 1;
658
- this.dataAccessObject.wtViewport.oversizedRows[sourceRowIndex] = rowInnerHeight;
662
+ if (!previousRowHeight && this.dataAccessObject.stylesHandler.getDefaultRowHeight() < rowCurrentHeight - topBorderCompensation || previousRowHeight < rowCurrentHeight) {
663
+ if (!borderBoxSizing) {
664
+ rowCurrentHeight += 1;
665
+ }
666
+ this.dataAccessObject.wtViewport.oversizedRows[sourceRowIndex] = rowCurrentHeight;
659
667
  }
660
668
  }
661
669
  }
@@ -113,7 +113,8 @@ class Table {
113
113
  TBODY: this.TBODY,
114
114
  rowUtils: this.rowUtils,
115
115
  columnUtils: this.columnUtils,
116
- cellRenderer: this.wtSettings.getSettingPure('cellRenderer')
116
+ cellRenderer: this.wtSettings.getSettingPure('cellRenderer'),
117
+ stylesHandler: this.dataAccessObject.stylesHandler
117
118
  });
118
119
  }
119
120
 
@@ -349,7 +350,7 @@ class Table {
349
350
  markIfOversizedColumnHeader(col) {
350
351
  const sourceColIndex = this.columnFilter.renderedToSource(col);
351
352
  let level = this.wtSettings.getSetting('columnHeaders').length;
352
- const defaultRowHeight = this.wtSettings.getSetting('defaultRowHeight');
353
+ const defaultRowHeight = this.dataAccessObject.stylesHandler.getDefaultRowHeight();
353
354
  let previousColHeaderHeight;
354
355
  let currentHeader;
355
356
  let currentHeaderHeight;
@@ -627,10 +628,14 @@ class Table {
627
628
  return;
628
629
  }
629
630
  let rowCount = this.TBODY.childNodes.length;
630
- const expectedTableHeight = rowCount * this.wtSettings.getSetting('defaultRowHeight');
631
+ const expectedTableHeight = rowCount * this.dataAccessObject.stylesHandler.getDefaultRowHeight();
631
632
  const actualTableHeight = innerHeight(this.TBODY) - 1;
633
+ const borderBoxSizing = this.wot.stylesHandler.areCellsBorderBox();
634
+ const rowHeightFn = borderBoxSizing ? outerHeight : innerHeight;
635
+ const borderCompensation = borderBoxSizing ? 0 : 1;
636
+ const firstRowBorderCompensation = borderBoxSizing ? 1 : 0;
632
637
  let previousRowHeight;
633
- let rowInnerHeight;
638
+ let rowCurrentHeight;
634
639
  let sourceRowIndex;
635
640
  let currentTr;
636
641
  let rowHeader;
@@ -644,14 +649,17 @@ class Table {
644
649
  previousRowHeight = this.getRowHeight(sourceRowIndex);
645
650
  currentTr = this.getTrForRow(sourceRowIndex);
646
651
  rowHeader = currentTr.querySelector('th');
652
+ const topBorderCompensation = sourceRowIndex === 0 ? firstRowBorderCompensation : 0;
647
653
  if (rowHeader) {
648
- rowInnerHeight = innerHeight(rowHeader);
654
+ rowCurrentHeight = rowHeightFn(rowHeader);
649
655
  } else {
650
- rowInnerHeight = innerHeight(currentTr) - 1;
656
+ rowCurrentHeight = rowHeightFn(currentTr) - borderCompensation;
651
657
  }
652
- if (!previousRowHeight && this.wtSettings.getSetting('defaultRowHeight') < rowInnerHeight || previousRowHeight < rowInnerHeight) {
653
- rowInnerHeight += 1;
654
- this.dataAccessObject.wtViewport.oversizedRows[sourceRowIndex] = rowInnerHeight;
658
+ if (!previousRowHeight && this.dataAccessObject.stylesHandler.getDefaultRowHeight() < rowCurrentHeight - topBorderCompensation || previousRowHeight < rowCurrentHeight) {
659
+ if (!borderBoxSizing) {
660
+ rowCurrentHeight += 1;
661
+ }
662
+ this.dataAccessObject.wtViewport.oversizedRows[sourceRowIndex] = rowCurrentHeight;
655
663
  }
656
664
  }
657
665
  }
@@ -66,6 +66,7 @@
66
66
  * @property {Walkontable} cloneSource CloneSource.
67
67
  * @property {Walkontable} wot Wot.
68
68
  * @property {number} parentTableOffset ParentTableOffset.
69
+ * @property {StylesHandler} stylesHandler StylesHandler.
69
70
  * @property {number|null} startColumnRendered StartColumnRendered.
70
71
  * @property {number|null} startColumnVisible StartColumnVisible.
71
72
  * @property {number|null} endColumnRendered EndColumnRendered.
@@ -66,6 +66,7 @@
66
66
  * @property {Walkontable} cloneSource CloneSource.
67
67
  * @property {Walkontable} wot Wot.
68
68
  * @property {number} parentTableOffset ParentTableOffset.
69
+ * @property {StylesHandler} stylesHandler StylesHandler.
69
70
  * @property {number|null} startColumnRendered StartColumnRendered.
70
71
  * @property {number|null} startColumnVisible StartColumnVisible.
71
72
  * @property {number|null} endColumnRendered EndColumnRendered.
@@ -50,7 +50,7 @@ class ColumnUtils {
50
50
  * @returns {number}
51
51
  */
52
52
  getHeaderHeight(level) {
53
- let height = this.wtSettings.getSetting('defaultRowHeight');
53
+ let height = this.dataAccessObject.stylesHandler.getDefaultRowHeight();
54
54
  const oversizedHeight = this.dataAccessObject.wtViewport.oversizedColumnHeaders[level];
55
55
  if (oversizedHeight !== undefined) {
56
56
  height = height ? Math.max(height, oversizedHeight) : oversizedHeight;
@@ -47,7 +47,7 @@ export default class ColumnUtils {
47
47
  * @returns {number}
48
48
  */
49
49
  getHeaderHeight(level) {
50
- let height = this.wtSettings.getSetting('defaultRowHeight');
50
+ let height = this.dataAccessObject.stylesHandler.getDefaultRowHeight();
51
51
  const oversizedHeight = this.dataAccessObject.wtViewport.oversizedColumnHeaders[level];
52
52
  if (oversizedHeight !== undefined) {
53
53
  height = height ? Math.max(height, oversizedHeight) : oversizedHeight;
@@ -13,24 +13,18 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
13
13
  class NodesPool {
14
14
  constructor(nodeType) {
15
15
  /**
16
- * Node type to generate (e.g. 'TH', 'TD').
16
+ * Node type to generate (ew 'th', 'td').
17
17
  *
18
18
  * @type {string}
19
19
  */
20
20
  _defineProperty(this, "nodeType", void 0);
21
- /**
22
- * The holder for all created DOM nodes (THs, TDs).
23
- *
24
- * @type {Map<string, HTMLElement>}
25
- */
26
- _defineProperty(this, "pool", new Map());
27
21
  this.nodeType = nodeType.toUpperCase();
28
22
  }
29
23
 
30
24
  /**
31
25
  * Set document owner for this instance.
32
26
  *
33
- * @param {Document} rootDocument The document window owner.
27
+ * @param {HTMLDocument} rootDocument The document window owner.
34
28
  */
35
29
  setRootDocument(rootDocument) {
36
30
  this.rootDocument = rootDocument;
@@ -39,21 +33,10 @@ class NodesPool {
39
33
  /**
40
34
  * Obtains an element. The returned elements in the feature can be cached.
41
35
  *
42
- * @param {number} rowIndex The row index.
43
- * @param {number} [columnIndex] The column index.
44
36
  * @returns {HTMLElement}
45
37
  */
46
- obtain(rowIndex, columnIndex) {
47
- const hasColumnIndex = typeof columnIndex === 'number';
48
- const key = hasColumnIndex ? `${rowIndex}x${columnIndex}` : rowIndex.toString();
49
- if (this.pool.has(key)) {
50
- return this.pool.get(key);
51
- }
52
- const node = this.rootDocument.createElement(this.nodeType);
53
-
54
- // node.dataset.id = key; // Uncomment for debug purposes
55
- this.pool.set(key, node);
56
- return node;
38
+ obtain() {
39
+ return this.rootDocument.createElement(this.nodeType);
57
40
  }
58
41
  }
59
- exports.NodesPool = NodesPool;
42
+ exports.default = NodesPool;
@@ -7,27 +7,21 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
7
7
  *
8
8
  * @class {NodesPool}
9
9
  */
10
- export class NodesPool {
10
+ export default class NodesPool {
11
11
  constructor(nodeType) {
12
12
  /**
13
- * Node type to generate (e.g. 'TH', 'TD').
13
+ * Node type to generate (ew 'th', 'td').
14
14
  *
15
15
  * @type {string}
16
16
  */
17
17
  _defineProperty(this, "nodeType", void 0);
18
- /**
19
- * The holder for all created DOM nodes (THs, TDs).
20
- *
21
- * @type {Map<string, HTMLElement>}
22
- */
23
- _defineProperty(this, "pool", new Map());
24
18
  this.nodeType = nodeType.toUpperCase();
25
19
  }
26
20
 
27
21
  /**
28
22
  * Set document owner for this instance.
29
23
  *
30
- * @param {Document} rootDocument The document window owner.
24
+ * @param {HTMLDocument} rootDocument The document window owner.
31
25
  */
32
26
  setRootDocument(rootDocument) {
33
27
  this.rootDocument = rootDocument;
@@ -36,20 +30,9 @@ export class NodesPool {
36
30
  /**
37
31
  * Obtains an element. The returned elements in the feature can be cached.
38
32
  *
39
- * @param {number} rowIndex The row index.
40
- * @param {number} [columnIndex] The column index.
41
33
  * @returns {HTMLElement}
42
34
  */
43
- obtain(rowIndex, columnIndex) {
44
- const hasColumnIndex = typeof columnIndex === 'number';
45
- const key = hasColumnIndex ? `${rowIndex}x${columnIndex}` : rowIndex.toString();
46
- if (this.pool.has(key)) {
47
- return this.pool.get(key);
48
- }
49
- const node = this.rootDocument.createElement(this.nodeType);
50
-
51
- // node.dataset.id = key; // Uncomment for debug purposes
52
- this.pool.set(key, node);
53
- return node;
35
+ obtain() {
36
+ return this.rootDocument.createElement(this.nodeType);
54
37
  }
55
38
  }
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- var _view = require("./view");
5
- exports.OrderView = _view.OrderView;
6
- var _sharedView = require("./sharedView");
7
- exports.SharedOrderView = _sharedView.SharedOrderView;
4
+ var _view = _interopRequireDefault(require("./view"));
5
+ exports.OrderView = _view.default;
6
+ var _sharedView = _interopRequireDefault(require("./sharedView"));
7
+ exports.SharedOrderView = _sharedView.default;
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }