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

Sign up to get free protection for your applications and to get access to all the features.
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