handsontable 12.3.3-next-e19badf-20230328 → 12.4.0-next-ddbea0c-20230512

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.
Files changed (148) hide show
  1. package/3rdparty/walkontable/src/cell/coords.js +13 -16
  2. package/3rdparty/walkontable/src/cell/coords.mjs +13 -16
  3. package/3rdparty/walkontable/src/cell/range.js +25 -29
  4. package/3rdparty/walkontable/src/cell/range.mjs +24 -28
  5. package/3rdparty/walkontable/src/event.js +4 -0
  6. package/3rdparty/walkontable/src/event.mjs +4 -0
  7. package/3rdparty/walkontable/src/overlay/_base.js +6 -7
  8. package/3rdparty/walkontable/src/overlay/_base.mjs +6 -7
  9. package/3rdparty/walkontable/src/overlay/bottom.js +6 -7
  10. package/3rdparty/walkontable/src/overlay/bottom.mjs +6 -7
  11. package/3rdparty/walkontable/src/overlay/top.js +6 -7
  12. package/3rdparty/walkontable/src/overlay/top.mjs +6 -7
  13. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +10 -12
  14. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +10 -12
  15. package/3rdparty/walkontable/src/overlays.js +55 -64
  16. package/3rdparty/walkontable/src/overlays.mjs +55 -64
  17. package/3rdparty/walkontable/src/scroll.js +20 -23
  18. package/3rdparty/walkontable/src/scroll.mjs +20 -23
  19. package/3rdparty/walkontable/src/settings.js +13 -15
  20. package/3rdparty/walkontable/src/settings.mjs +13 -15
  21. package/3rdparty/walkontable/src/table.js +22 -26
  22. package/3rdparty/walkontable/src/table.mjs +22 -26
  23. package/CHANGELOG.md +14 -0
  24. package/base.js +2 -4
  25. package/base.mjs +2 -2
  26. package/core.js +23 -6
  27. package/core.mjs +23 -6
  28. package/dataMap/dataSource.js +5 -5
  29. package/dataMap/dataSource.mjs +5 -5
  30. package/dataMap/metaManager/metaSchema.js +9 -7
  31. package/dataMap/metaManager/metaSchema.mjs +9 -7
  32. package/dist/handsontable.css +2 -2
  33. package/dist/handsontable.full.css +2 -2
  34. package/dist/handsontable.full.js +5047 -4193
  35. package/dist/handsontable.full.min.css +2 -2
  36. package/dist/handsontable.full.min.js +86 -78
  37. package/dist/handsontable.js +4023 -3170
  38. package/dist/handsontable.min.css +2 -2
  39. package/dist/handsontable.min.js +11 -3
  40. package/dist/languages/all.js +133 -0
  41. package/dist/languages/ar-AR.js +7 -0
  42. package/dist/languages/cs-CZ.js +7 -0
  43. package/dist/languages/de-CH.js +7 -0
  44. package/dist/languages/de-DE.js +7 -0
  45. package/dist/languages/en-US.js +7 -0
  46. package/dist/languages/es-MX.js +7 -0
  47. package/dist/languages/fr-FR.js +7 -0
  48. package/dist/languages/it-IT.js +7 -0
  49. package/dist/languages/ja-JP.js +7 -0
  50. package/dist/languages/ko-KR.js +7 -0
  51. package/dist/languages/lv-LV.js +7 -0
  52. package/dist/languages/nb-NO.js +7 -0
  53. package/dist/languages/nl-NL.js +7 -0
  54. package/dist/languages/pl-PL.js +7 -0
  55. package/dist/languages/pt-BR.js +7 -0
  56. package/dist/languages/ru-RU.js +7 -0
  57. package/dist/languages/sr-SP.js +7 -0
  58. package/dist/languages/zh-CN.js +7 -0
  59. package/dist/languages/zh-TW.js +7 -0
  60. package/helpers/mixed.js +2 -2
  61. package/helpers/mixed.mjs +2 -2
  62. package/i18n/languages/ar-AR.js +7 -1
  63. package/i18n/languages/cs-CZ.js +7 -1
  64. package/i18n/languages/de-CH.js +7 -1
  65. package/i18n/languages/de-DE.js +7 -1
  66. package/i18n/languages/en-US.js +7 -1
  67. package/i18n/languages/es-MX.js +7 -1
  68. package/i18n/languages/fr-FR.js +7 -1
  69. package/i18n/languages/it-IT.js +7 -1
  70. package/i18n/languages/ja-JP.js +7 -1
  71. package/i18n/languages/ko-KR.js +7 -1
  72. package/i18n/languages/lv-LV.js +7 -1
  73. package/i18n/languages/nb-NO.js +7 -1
  74. package/i18n/languages/nl-NL.js +7 -1
  75. package/i18n/languages/pl-PL.js +7 -1
  76. package/i18n/languages/pt-BR.js +7 -1
  77. package/i18n/languages/ru-RU.js +7 -1
  78. package/i18n/languages/sr-SP.js +7 -1
  79. package/i18n/languages/zh-CN.js +7 -1
  80. package/i18n/languages/zh-TW.js +7 -1
  81. package/languages/all.js +133 -0
  82. package/languages/ar-AR.js +7 -0
  83. package/languages/cs-CZ.js +7 -0
  84. package/languages/de-CH.js +7 -0
  85. package/languages/de-DE.js +7 -0
  86. package/languages/en-US.js +7 -0
  87. package/languages/es-MX.js +7 -0
  88. package/languages/fr-FR.js +7 -0
  89. package/languages/index.js +133 -0
  90. package/languages/it-IT.js +7 -0
  91. package/languages/ja-JP.js +7 -0
  92. package/languages/ko-KR.js +7 -0
  93. package/languages/lv-LV.js +7 -0
  94. package/languages/nb-NO.js +7 -0
  95. package/languages/nl-NL.js +7 -0
  96. package/languages/pl-PL.js +7 -0
  97. package/languages/pt-BR.js +7 -0
  98. package/languages/ru-RU.js +7 -0
  99. package/languages/sr-SP.js +7 -0
  100. package/languages/zh-CN.js +7 -0
  101. package/languages/zh-TW.js +7 -0
  102. package/package.json +3 -2
  103. package/pluginHooks.js +16 -6
  104. package/pluginHooks.mjs +15 -3
  105. package/plugins/autoRowSize/autoRowSize.js +2 -2
  106. package/plugins/autoRowSize/autoRowSize.mjs +2 -2
  107. package/plugins/copyPaste/copyableRanges.js +25 -31
  108. package/plugins/copyPaste/copyableRanges.mjs +18 -24
  109. package/plugins/customBorders/customBorders.d.ts +2 -0
  110. package/plugins/filters/filters.js +5 -0
  111. package/plugins/filters/filters.mjs +5 -0
  112. package/plugins/formulas/engine/register.js +9 -0
  113. package/plugins/formulas/engine/register.mjs +13 -4
  114. package/plugins/formulas/engine/settings.js +18 -3
  115. package/plugins/formulas/engine/settings.mjs +16 -3
  116. package/plugins/formulas/formulas.js +274 -155
  117. package/plugins/formulas/formulas.mjs +274 -156
  118. package/plugins/formulas/indexSyncer/axisSyncer.js +379 -0
  119. package/plugins/formulas/indexSyncer/axisSyncer.mjs +374 -0
  120. package/plugins/formulas/indexSyncer/index.js +225 -0
  121. package/plugins/formulas/indexSyncer/index.mjs +219 -0
  122. package/plugins/formulas/utils.js +81 -0
  123. package/plugins/formulas/utils.mjs +74 -0
  124. package/plugins/manualRowMove/manualRowMove.js +26 -11
  125. package/plugins/manualRowMove/manualRowMove.mjs +27 -12
  126. package/plugins/nestedHeaders/stateManager/headersTree.js +23 -26
  127. package/plugins/nestedHeaders/stateManager/headersTree.mjs +20 -23
  128. package/plugins/nestedHeaders/stateManager/index.js +3 -3
  129. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +1 -0
  130. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +1 -1
  131. package/plugins/nestedHeaders/utils/ghostTable.js +30 -35
  132. package/plugins/nestedHeaders/utils/ghostTable.mjs +30 -35
  133. package/plugins/registry.js +3 -1
  134. package/plugins/undoRedo/undoRedo.js +0 -1
  135. package/plugins/undoRedo/undoRedo.mjs +0 -1
  136. package/selection/highlight/visualSelection.js +5 -6
  137. package/selection/highlight/visualSelection.mjs +5 -6
  138. package/tableView.js +62 -72
  139. package/tableView.mjs +62 -72
  140. package/translations/changesObservable/observable.js +41 -46
  141. package/translations/changesObservable/observable.mjs +36 -41
  142. package/translations/changesObservable/observer.js +1 -1
  143. package/translations/indexMapper.js +21 -0
  144. package/translations/indexMapper.mjs +21 -0
  145. package/utils/dataStructures/tree.js +15 -18
  146. package/utils/dataStructures/tree.mjs +15 -18
  147. package/utils/parseTable.js +5 -1
  148. package/utils/parseTable.mjs +5 -1
@@ -195,7 +195,7 @@ var DataSource = /*#__PURE__*/function () {
195
195
  }
196
196
  if (this.hot.hasHook('modifySourceData')) {
197
197
  var valueHolder = (0, _object.createObjectPropListener)(value);
198
- this.hot.runHooks('modifySourceData', row, this.propToCol(column), valueHolder, 'set');
198
+ this.hot.runHooks('modifySourceData', row, column, valueHolder, 'set');
199
199
  if (valueHolder.isTouched()) {
200
200
  value = valueHolder.value;
201
201
  }
@@ -232,7 +232,7 @@ var DataSource = /*#__PURE__*/function () {
232
232
  }
233
233
  if (this.hot.hasHook('modifySourceData')) {
234
234
  var valueHolder = (0, _object.createObjectPropListener)(result);
235
- this.hot.runHooks('modifySourceData', row, this.colToProp(column), valueHolder, 'get');
235
+ this.hot.runHooks('modifySourceData', row, column, valueHolder, 'get');
236
236
  if (valueHolder.isTouched()) {
237
237
  result = valueHolder.value;
238
238
  }
@@ -244,14 +244,14 @@ var DataSource = /*#__PURE__*/function () {
244
244
  * Returns a single value from the data.
245
245
  *
246
246
  * @param {number} row Physical row index.
247
- * @param {number} column Visual column index.
247
+ * @param {number} columnOrProp Visual column index or property.
248
248
  * @returns {*}
249
249
  */
250
250
  }, {
251
251
  key: "getAtCell",
252
- value: function getAtCell(row, column) {
252
+ value: function getAtCell(row, columnOrProp) {
253
253
  var dataRow = this.modifyRowData(row);
254
- return this.getAtPhysicalCell(row, this.colToProp(column), dataRow);
254
+ return this.getAtPhysicalCell(row, this.colToProp(columnOrProp), dataRow);
255
255
  }
256
256
 
257
257
  /**
@@ -191,7 +191,7 @@ var DataSource = /*#__PURE__*/function () {
191
191
  }
192
192
  if (this.hot.hasHook('modifySourceData')) {
193
193
  var valueHolder = createObjectPropListener(value);
194
- this.hot.runHooks('modifySourceData', row, this.propToCol(column), valueHolder, 'set');
194
+ this.hot.runHooks('modifySourceData', row, column, valueHolder, 'set');
195
195
  if (valueHolder.isTouched()) {
196
196
  value = valueHolder.value;
197
197
  }
@@ -228,7 +228,7 @@ var DataSource = /*#__PURE__*/function () {
228
228
  }
229
229
  if (this.hot.hasHook('modifySourceData')) {
230
230
  var valueHolder = createObjectPropListener(result);
231
- this.hot.runHooks('modifySourceData', row, this.colToProp(column), valueHolder, 'get');
231
+ this.hot.runHooks('modifySourceData', row, column, valueHolder, 'get');
232
232
  if (valueHolder.isTouched()) {
233
233
  result = valueHolder.value;
234
234
  }
@@ -240,14 +240,14 @@ var DataSource = /*#__PURE__*/function () {
240
240
  * Returns a single value from the data.
241
241
  *
242
242
  * @param {number} row Physical row index.
243
- * @param {number} column Visual column index.
243
+ * @param {number} columnOrProp Visual column index or property.
244
244
  * @returns {*}
245
245
  */
246
246
  }, {
247
247
  key: "getAtCell",
248
- value: function getAtCell(row, column) {
248
+ value: function getAtCell(row, columnOrProp) {
249
249
  var dataRow = this.modifyRowData(row);
250
- return this.getAtPhysicalCell(row, this.colToProp(column), dataRow);
250
+ return this.getAtPhysicalCell(row, this.colToProp(columnOrProp), dataRow);
251
251
  }
252
252
 
253
253
  /**
@@ -21,7 +21,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
21
21
  * [Configuration options](@/guides/getting-started/configuration-options.md) let you heavily customize your Handsontable instance. For example, you can:
22
22
  *
23
23
  * - Enable and disable built-in features
24
- * - Enable and configure additional [plugins](@/guides/tools-and-building/custom-plugins.md)
24
+ * - Enable and configure additional [plugins](@/api/plugins.md)
25
25
  * - Personalize Handsontable's look
26
26
  * - Adjust Handsontable's behavior
27
27
  * - Implement your own custom features
@@ -945,8 +945,7 @@ var _default = function _default() {
945
945
  /**
946
946
  * The `colWidths` option sets columns' widths, in pixels.
947
947
  *
948
- * In the rendering process, the default column width is 50px. To change it,
949
- * set the `colWidths` option to one of the following:
948
+ * The default column width is 50px. To change it, set the `colWidths` option to one of the following:
950
949
  *
951
950
  * | Setting | Description | Example |
952
951
  * | ----------- | ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
@@ -956,7 +955,10 @@ var _default = function _default() {
956
955
  * | A function | Set column widths dynamically,<br>on each render | `colWidths(visualColumnIndex) { return visualColumnIndex * 10; }` |
957
956
  * | `undefined` | Used by the [modifyColWidth](@/api/hooks.md#modifyColWidth) hook,<br>to detect column width changes. | `colWidths: undefined` |
958
957
  *
959
- * Setting the `colWidths` option disables the {@link AutoColumnSize} plugin.
958
+ * Setting `colWidths` even for a single column disables the {@link AutoColumnSize} plugin
959
+ * for all columns. For this reason, if you use `colWidths`, we recommend you set a width for each one
960
+ * of your columns. Otherwise, every column with an undefined width defaults back to 50px,
961
+ * which may cut longer columns names.
960
962
  *
961
963
  * Read more:
962
964
  * - [Column width](@/guides/columns/column-width.md)
@@ -978,8 +980,8 @@ var _default = function _default() {
978
980
  *
979
981
  * // set the first (by visual index) column's width to 100
980
982
  * // set the second (by visual index) column's width to 120
981
- * // set the third (by visual index) column's width to `undefined`
982
- * // set any other column's width to the default 50px
983
+ * // set the third (by visual index) column's width to `undefined`, so that it defaults to 50px
984
+ * // set any other column's width to the default 50px (note that longer cell values and column names can get cut)
983
985
  * colWidths: [100, 120, undefined],
984
986
  *
985
987
  * // set each column's width individually, using a function
@@ -2872,7 +2874,7 @@ var _default = function _default() {
2872
2874
  * The `maxRows` option sets a maximum number of rows.
2873
2875
  *
2874
2876
  * The `maxRows` option is used:
2875
- * - At initialization: if the `maxRows` value is lower than the initial number of columns,
2877
+ * - At initialization: if the `maxRows` value is lower than the initial number of rows,
2876
2878
  * Handsontable trims rows from the bottom.
2877
2879
  * - At runtime: for example, when inserting rows.
2878
2880
  *
@@ -17,7 +17,7 @@ import { isObjectEqual } from "../../helpers/object.mjs";
17
17
  * [Configuration options](@/guides/getting-started/configuration-options.md) let you heavily customize your Handsontable instance. For example, you can:
18
18
  *
19
19
  * - Enable and disable built-in features
20
- * - Enable and configure additional [plugins](@/guides/tools-and-building/custom-plugins.md)
20
+ * - Enable and configure additional [plugins](@/api/plugins.md)
21
21
  * - Personalize Handsontable's look
22
22
  * - Adjust Handsontable's behavior
23
23
  * - Implement your own custom features
@@ -941,8 +941,7 @@ export default (function () {
941
941
  /**
942
942
  * The `colWidths` option sets columns' widths, in pixels.
943
943
  *
944
- * In the rendering process, the default column width is 50px. To change it,
945
- * set the `colWidths` option to one of the following:
944
+ * The default column width is 50px. To change it, set the `colWidths` option to one of the following:
946
945
  *
947
946
  * | Setting | Description | Example |
948
947
  * | ----------- | ---------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
@@ -952,7 +951,10 @@ export default (function () {
952
951
  * | A function | Set column widths dynamically,<br>on each render | `colWidths(visualColumnIndex) { return visualColumnIndex * 10; }` |
953
952
  * | `undefined` | Used by the [modifyColWidth](@/api/hooks.md#modifyColWidth) hook,<br>to detect column width changes. | `colWidths: undefined` |
954
953
  *
955
- * Setting the `colWidths` option disables the {@link AutoColumnSize} plugin.
954
+ * Setting `colWidths` even for a single column disables the {@link AutoColumnSize} plugin
955
+ * for all columns. For this reason, if you use `colWidths`, we recommend you set a width for each one
956
+ * of your columns. Otherwise, every column with an undefined width defaults back to 50px,
957
+ * which may cut longer columns names.
956
958
  *
957
959
  * Read more:
958
960
  * - [Column width](@/guides/columns/column-width.md)
@@ -974,8 +976,8 @@ export default (function () {
974
976
  *
975
977
  * // set the first (by visual index) column's width to 100
976
978
  * // set the second (by visual index) column's width to 120
977
- * // set the third (by visual index) column's width to `undefined`
978
- * // set any other column's width to the default 50px
979
+ * // set the third (by visual index) column's width to `undefined`, so that it defaults to 50px
980
+ * // set any other column's width to the default 50px (note that longer cell values and column names can get cut)
979
981
  * colWidths: [100, 120, undefined],
980
982
  *
981
983
  * // set each column's width individually, using a function
@@ -2868,7 +2870,7 @@ export default (function () {
2868
2870
  * The `maxRows` option sets a maximum number of rows.
2869
2871
  *
2870
2872
  * The `maxRows` option is used:
2871
- * - At initialization: if the `maxRows` value is lower than the initial number of columns,
2873
+ * - At initialization: if the `maxRows` value is lower than the initial number of rows,
2872
2874
  * Handsontable trims rows from the bottom.
2873
2875
  * - At runtime: for example, when inserting rows.
2874
2876
  *
@@ -25,8 +25,8 @@
25
25
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
26
26
  * USE OR INABILITY TO USE THIS SOFTWARE.
27
27
  *
28
- * Version: 12.3.3-next-e19badf-20230328
29
- * Release date: 28/03/2023 (built at 28/03/2023 10:01:09)
28
+ * Version: 12.4.0-next-ddbea0c-20230512
29
+ * Release date: 23/05/2023 (built at 12/05/2023 12:12:44)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -25,8 +25,8 @@
25
25
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
26
26
  * USE OR INABILITY TO USE THIS SOFTWARE.
27
27
  *
28
- * Version: 12.3.3-next-e19badf-20230328
29
- * Release date: 28/03/2023 (built at 28/03/2023 10:01:09)
28
+ * Version: 12.4.0-next-ddbea0c-20230512
29
+ * Release date: 23/05/2023 (built at 12/05/2023 12:12:44)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles