handsontable 14.1.0-next-1211447-20240205 → 14.2.0-next-4873a35-20240228

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 (163) hide show
  1. package/3rdparty/walkontable/src/core/_base.js +12 -0
  2. package/3rdparty/walkontable/src/core/_base.mjs +12 -0
  3. package/3rdparty/walkontable/src/scroll.js +131 -98
  4. package/3rdparty/walkontable/src/scroll.mjs +133 -100
  5. package/3rdparty/walkontable/src/selection/border/border.js +3 -3
  6. package/3rdparty/walkontable/src/selection/border/border.mjs +3 -3
  7. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +26 -0
  8. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +26 -0
  9. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +26 -0
  10. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +26 -0
  11. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +20 -0
  12. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +20 -0
  13. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +20 -0
  14. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +20 -0
  15. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +20 -0
  16. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +20 -0
  17. package/3rdparty/walkontable/src/table.js +2 -0
  18. package/3rdparty/walkontable/src/table.mjs +2 -0
  19. package/3rdparty/walkontable/src/viewport.js +9 -0
  20. package/3rdparty/walkontable/src/viewport.mjs +10 -1
  21. package/CHANGELOG.md +38 -0
  22. package/base.js +2 -2
  23. package/base.mjs +2 -2
  24. package/core/index.js +6 -0
  25. package/core/index.mjs +2 -1
  26. package/core/viewportScroll/index.js +65 -0
  27. package/core/viewportScroll/index.mjs +61 -0
  28. package/core/viewportScroll/scrollStrategies/columnHeaderScroll.js +20 -0
  29. package/core/viewportScroll/scrollStrategies/columnHeaderScroll.mjs +16 -0
  30. package/core/viewportScroll/scrollStrategies/cornerHeaderScroll.js +14 -0
  31. package/core/viewportScroll/scrollStrategies/cornerHeaderScroll.mjs +10 -0
  32. package/core/viewportScroll/scrollStrategies/multipleScroll.js +15 -0
  33. package/core/viewportScroll/scrollStrategies/multipleScroll.mjs +11 -0
  34. package/core/viewportScroll/scrollStrategies/noncontiguousScroll.js +15 -0
  35. package/core/viewportScroll/scrollStrategies/noncontiguousScroll.mjs +11 -0
  36. package/core/viewportScroll/scrollStrategies/rowHeaderScroll.js +20 -0
  37. package/core/viewportScroll/scrollStrategies/rowHeaderScroll.mjs +16 -0
  38. package/core/viewportScroll/scrollStrategies/singleScroll.js +46 -0
  39. package/core/viewportScroll/scrollStrategies/singleScroll.mjs +42 -0
  40. package/core.d.ts +1 -1
  41. package/core.js +11 -52
  42. package/core.mjs +12 -53
  43. package/dataMap/metaManager/index.js +1 -1
  44. package/dataMap/metaManager/index.mjs +1 -1
  45. package/dataMap/metaManager/metaLayers/cellMeta.js +6 -1
  46. package/dataMap/metaManager/metaLayers/cellMeta.mjs +6 -1
  47. package/dataMap/metaManager/metaSchema.js +36 -12
  48. package/dataMap/metaManager/metaSchema.mjs +36 -12
  49. package/dist/handsontable.css +2 -2
  50. package/dist/handsontable.full.css +2 -2
  51. package/dist/handsontable.full.js +2997 -1929
  52. package/dist/handsontable.full.min.css +2 -2
  53. package/dist/handsontable.full.min.js +42 -42
  54. package/dist/handsontable.js +2999 -1931
  55. package/dist/handsontable.min.css +2 -2
  56. package/dist/handsontable.min.js +25 -25
  57. package/dist/languages/all.js +130 -25
  58. package/dist/languages/all.min.js +1 -1
  59. package/dist/languages/hr-HR.js +167 -0
  60. package/dist/languages/hr-HR.min.js +1 -0
  61. package/editorManager.js +15 -4
  62. package/editorManager.mjs +15 -4
  63. package/editors/autocompleteEditor/autocompleteEditor.js +2 -2
  64. package/editors/autocompleteEditor/autocompleteEditor.mjs +2 -2
  65. package/editors/baseEditor/baseEditor.js +1 -1
  66. package/editors/baseEditor/baseEditor.mjs +1 -1
  67. package/editors/checkboxEditor/checkboxEditor.js +5 -4
  68. package/editors/checkboxEditor/checkboxEditor.mjs +5 -4
  69. package/editors/dateEditor/dateEditor.js +1 -1
  70. package/editors/dateEditor/dateEditor.mjs +1 -1
  71. package/editors/dropdownEditor/dropdownEditor.js +1 -1
  72. package/editors/dropdownEditor/dropdownEditor.mjs +1 -1
  73. package/editors/handsontableEditor/handsontableEditor.js +1 -1
  74. package/editors/handsontableEditor/handsontableEditor.mjs +1 -1
  75. package/editors/selectEditor/selectEditor.js +1 -1
  76. package/editors/selectEditor/selectEditor.mjs +1 -1
  77. package/editors/textEditor/textEditor.js +1 -2
  78. package/editors/textEditor/textEditor.mjs +1 -2
  79. package/editors/timeEditor/timeEditor.js +1 -1
  80. package/editors/timeEditor/timeEditor.mjs +1 -1
  81. package/helpers/mixed.js +2 -2
  82. package/helpers/mixed.mjs +2 -2
  83. package/helpers/moves.js +86 -0
  84. package/helpers/moves.mjs +82 -0
  85. package/i18n/languages/hr-HR.js +96 -0
  86. package/i18n/languages/hr-HR.mjs +90 -0
  87. package/i18n/languages/index.js +2 -0
  88. package/i18n/languages/index.mjs +2 -1
  89. package/languages/all.js +130 -25
  90. package/languages/hr-HR.js +167 -0
  91. package/languages/hr-HR.mjs +92 -0
  92. package/languages/index.js +130 -25
  93. package/languages/index.mjs +2 -1
  94. package/package.json +11 -1
  95. package/pluginHooks.d.ts +4 -2
  96. package/pluginHooks.js +33 -3
  97. package/pluginHooks.mjs +33 -3
  98. package/plugins/autoColumnSize/autoColumnSize.js +6 -1
  99. package/plugins/autoColumnSize/autoColumnSize.mjs +6 -1
  100. package/plugins/autoRowSize/autoRowSize.js +5 -0
  101. package/plugins/autoRowSize/autoRowSize.mjs +5 -0
  102. package/plugins/autofill/autofill.js +3 -2
  103. package/plugins/autofill/autofill.mjs +3 -2
  104. package/plugins/columnSummary/columnSummary.js +1 -1
  105. package/plugins/columnSummary/columnSummary.mjs +1 -1
  106. package/plugins/dropdownMenu/dropdownMenu.js +58 -4
  107. package/plugins/dropdownMenu/dropdownMenu.mjs +58 -4
  108. package/plugins/filters/component/value.js +51 -5
  109. package/plugins/filters/component/value.mjs +51 -5
  110. package/plugins/filters/utils.js +1 -1
  111. package/plugins/filters/utils.mjs +1 -1
  112. package/plugins/formulas/formulas.js +10 -1
  113. package/plugins/formulas/formulas.mjs +10 -1
  114. package/plugins/formulas/indexSyncer/axisSyncer.js +3 -75
  115. package/plugins/formulas/indexSyncer/axisSyncer.mjs +3 -75
  116. package/plugins/manualColumnResize/manualColumnResize.js +3 -0
  117. package/plugins/manualColumnResize/manualColumnResize.mjs +3 -0
  118. package/plugins/mergeCells/cellsCollection.js +1 -1
  119. package/plugins/mergeCells/cellsCollection.mjs +1 -1
  120. package/plugins/mergeCells/mergeCells.js +30 -0
  121. package/plugins/mergeCells/mergeCells.mjs +30 -0
  122. package/plugins/undoRedo/undoRedo.js +61 -14
  123. package/plugins/undoRedo/undoRedo.mjs +61 -14
  124. package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -1
  125. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -1
  126. package/renderers/baseRenderer/baseRenderer.js +1 -1
  127. package/renderers/baseRenderer/baseRenderer.mjs +1 -1
  128. package/renderers/checkboxRenderer/checkboxRenderer.js +36 -8
  129. package/renderers/checkboxRenderer/checkboxRenderer.mjs +36 -8
  130. package/renderers/dateRenderer/dateRenderer.js +1 -1
  131. package/renderers/dateRenderer/dateRenderer.mjs +1 -1
  132. package/renderers/dropdownRenderer/dropdownRenderer.js +1 -1
  133. package/renderers/dropdownRenderer/dropdownRenderer.mjs +1 -1
  134. package/renderers/handsontableRenderer/handsontableRenderer.js +1 -1
  135. package/renderers/handsontableRenderer/handsontableRenderer.mjs +1 -1
  136. package/renderers/htmlRenderer/htmlRenderer.js +1 -1
  137. package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
  138. package/renderers/numericRenderer/index.js +2 -1
  139. package/renderers/numericRenderer/index.mjs +1 -1
  140. package/renderers/numericRenderer/numericRenderer.js +28 -13
  141. package/renderers/numericRenderer/numericRenderer.mjs +27 -13
  142. package/renderers/passwordRenderer/passwordRenderer.js +1 -1
  143. package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
  144. package/renderers/selectRenderer/selectRenderer.js +1 -1
  145. package/renderers/selectRenderer/selectRenderer.mjs +1 -1
  146. package/renderers/textRenderer/textRenderer.js +1 -1
  147. package/renderers/textRenderer/textRenderer.mjs +1 -1
  148. package/renderers/timeRenderer/timeRenderer.js +1 -1
  149. package/renderers/timeRenderer/timeRenderer.mjs +1 -1
  150. package/selection/mouseEventHandler.js +4 -0
  151. package/selection/mouseEventHandler.mjs +4 -0
  152. package/selection/selection.js +64 -5
  153. package/selection/selection.mjs +64 -5
  154. package/shortcuts/recorder.js +27 -8
  155. package/shortcuts/recorder.mjs +27 -8
  156. package/tableView.js +86 -5
  157. package/tableView.mjs +87 -6
  158. package/utils/autoResize.js +0 -1
  159. package/utils/autoResize.mjs +0 -1
  160. package/utils/ghostTable.js +6 -6
  161. package/utils/ghostTable.mjs +6 -6
  162. package/utils/parseTable.js +9 -1
  163. package/utils/parseTable.mjs +9 -1
@@ -719,8 +719,111 @@ _handsontable.default.languages.registerLanguageDictionary(dictionary);
719
719
  var _default = exports["default"] = dictionary;
720
720
 
721
721
  /***/ }),
722
- /* 9 */,
723
- /* 10 */
722
+ /* 9 */
723
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
724
+
725
+ "use strict";
726
+
727
+
728
+ var _interopRequireDefault = __webpack_require__(1);
729
+ exports.__esModule = true;
730
+ var _handsontable = _interopRequireDefault(__webpack_require__(2));
731
+ /**
732
+ * @preserve
733
+ * Authors: Domagoj Lončarić & Ante Živković
734
+ * Last updated: Jan 31, 2024
735
+ *
736
+ * Description: Definition file for Croatian - Croatia language-country.
737
+ */
738
+
739
+ const C = _handsontable.default.languages.dictionaryKeys;
740
+ const dictionary = {
741
+ languageCode: 'hr-HR',
742
+ [C.CONTEXTMENU_ITEMS_NO_ITEMS]: 'Nema dostupnih mogućnosti',
743
+ [C.CONTEXTMENU_ITEMS_ROW_ABOVE]: 'Umetni redak iznad',
744
+ [C.CONTEXTMENU_ITEMS_ROW_BELOW]: 'Umetni redak ispod',
745
+ [C.CONTEXTMENU_ITEMS_INSERT_LEFT]: 'Umetni stupac lijevo',
746
+ [C.CONTEXTMENU_ITEMS_INSERT_RIGHT]: 'Umetni stupac desno',
747
+ [C.CONTEXTMENU_ITEMS_REMOVE_ROW]: ['Ukloni redak', 'Ukloni retke'],
748
+ [C.CONTEXTMENU_ITEMS_REMOVE_COLUMN]: ['Ukloni stupac', 'Ukloni stupce'],
749
+ [C.CONTEXTMENU_ITEMS_UNDO]: 'Poništi',
750
+ [C.CONTEXTMENU_ITEMS_REDO]: 'Ponovi',
751
+ [C.CONTEXTMENU_ITEMS_READ_ONLY]: 'Samo za čitanje',
752
+ [C.CONTEXTMENU_ITEMS_CLEAR_COLUMN]: 'Očisti stupac',
753
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT]: 'Poravnanje',
754
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_LEFT]: 'Lijevo',
755
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_CENTER]: 'Centar',
756
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_RIGHT]: 'Desno',
757
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_JUSTIFY]: 'Obostrano',
758
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_TOP]: 'Gore',
759
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_MIDDLE]: 'Sredina',
760
+ [C.CONTEXTMENU_ITEMS_ALIGNMENT_BOTTOM]: 'Dolje',
761
+ [C.CONTEXTMENU_ITEMS_FREEZE_COLUMN]: 'Zamrzni stupac',
762
+ [C.CONTEXTMENU_ITEMS_UNFREEZE_COLUMN]: 'Odmrzni stupac',
763
+ [C.CONTEXTMENU_ITEMS_BORDERS]: 'Granice',
764
+ [C.CONTEXTMENU_ITEMS_BORDERS_TOP]: 'Gore',
765
+ [C.CONTEXTMENU_ITEMS_BORDERS_RIGHT]: 'Desno',
766
+ [C.CONTEXTMENU_ITEMS_BORDERS_BOTTOM]: 'Dolje',
767
+ [C.CONTEXTMENU_ITEMS_BORDERS_LEFT]: 'Lijevo',
768
+ [C.CONTEXTMENU_ITEMS_REMOVE_BORDERS]: 'Ukloni granicu(e)',
769
+ [C.CONTEXTMENU_ITEMS_ADD_COMMENT]: 'Dodaj komentar',
770
+ [C.CONTEXTMENU_ITEMS_EDIT_COMMENT]: 'Uredi komentar',
771
+ [C.CONTEXTMENU_ITEMS_REMOVE_COMMENT]: 'Izbriši komentar',
772
+ [C.CONTEXTMENU_ITEMS_READ_ONLY_COMMENT]: 'Komentar samo za čitanje',
773
+ [C.CONTEXTMENU_ITEMS_MERGE_CELLS]: 'Spoji čelije',
774
+ [C.CONTEXTMENU_ITEMS_UNMERGE_CELLS]: 'Razdijeli čelije',
775
+ [C.CONTEXTMENU_ITEMS_COPY]: 'Kopiraj',
776
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_HEADERS]: ['Kopiraj sa zaglavljem', 'Kopiraj sa zaglavljima'],
777
+ [C.CONTEXTMENU_ITEMS_COPY_WITH_COLUMN_GROUP_HEADERS]: ['Kopiraj sa grupnim zaglavljem', 'Kopiraj sa grupnim zaglavljima'],
778
+ [C.CONTEXTMENU_ITEMS_COPY_COLUMN_HEADERS_ONLY]: ['Kopiraj samo zaglavlje', 'Kopiraj samo zaglavlja'],
779
+ [C.CONTEXTMENU_ITEMS_CUT]: 'Izreži',
780
+ [C.CONTEXTMENU_ITEMS_NESTED_ROWS_INSERT_CHILD]: 'Umetni ugniježđeni redak',
781
+ [C.CONTEXTMENU_ITEMS_NESTED_ROWS_DETACH_CHILD]: 'Odvoji ugniježđeni redak',
782
+ [C.CONTEXTMENU_ITEMS_HIDE_COLUMN]: ['Sakrij stupac', 'Sakrij stupce'],
783
+ [C.CONTEXTMENU_ITEMS_SHOW_COLUMN]: ['Prikaži stupac', 'Prikaži stupce'],
784
+ [C.CONTEXTMENU_ITEMS_HIDE_ROW]: ['Sakrij redak', 'Sakrij retke'],
785
+ [C.CONTEXTMENU_ITEMS_SHOW_ROW]: ['Prikaži redak', 'Prikaži retke'],
786
+ [C.FILTERS_CONDITIONS_NONE]: 'Ništa',
787
+ [C.FILTERS_CONDITIONS_EMPTY]: 'Prazno',
788
+ [C.FILTERS_CONDITIONS_NOT_EMPTY]: 'Nije prazno',
789
+ [C.FILTERS_CONDITIONS_EQUAL]: 'Jednako',
790
+ [C.FILTERS_CONDITIONS_NOT_EQUAL]: 'Nije jednako',
791
+ [C.FILTERS_CONDITIONS_BEGINS_WITH]: 'Počinje s',
792
+ [C.FILTERS_CONDITIONS_ENDS_WITH]: 'Završava s',
793
+ [C.FILTERS_CONDITIONS_CONTAINS]: 'Sadrži',
794
+ [C.FILTERS_CONDITIONS_NOT_CONTAIN]: 'Ne sadrži',
795
+ [C.FILTERS_CONDITIONS_GREATER_THAN]: 'Veće od',
796
+ [C.FILTERS_CONDITIONS_GREATER_THAN_OR_EQUAL]: 'Veće ili jednako od',
797
+ [C.FILTERS_CONDITIONS_LESS_THAN]: 'Manje od',
798
+ [C.FILTERS_CONDITIONS_LESS_THAN_OR_EQUAL]: 'Manje ili jednako od',
799
+ [C.FILTERS_CONDITIONS_BETWEEN]: 'Između',
800
+ [C.FILTERS_CONDITIONS_NOT_BETWEEN]: 'Nije između',
801
+ [C.FILTERS_CONDITIONS_AFTER]: 'Nakon',
802
+ [C.FILTERS_CONDITIONS_BEFORE]: 'Prije',
803
+ [C.FILTERS_CONDITIONS_TODAY]: 'Danas',
804
+ [C.FILTERS_CONDITIONS_TOMORROW]: 'Sutra',
805
+ [C.FILTERS_CONDITIONS_YESTERDAY]: 'Jučer',
806
+ [C.FILTERS_VALUES_BLANK_CELLS]: 'Prazna polja',
807
+ [C.FILTERS_DIVS_FILTER_BY_CONDITION]: 'Filtriraj po uvjetu',
808
+ [C.FILTERS_DIVS_FILTER_BY_VALUE]: 'Filtriraj po vrijednosti',
809
+ [C.FILTERS_LABELS_CONJUNCTION]: 'I',
810
+ [C.FILTERS_LABELS_DISJUNCTION]: 'Ili',
811
+ [C.FILTERS_BUTTONS_SELECT_ALL]: 'Odaberi sve',
812
+ [C.FILTERS_BUTTONS_CLEAR]: 'Očisti',
813
+ [C.FILTERS_BUTTONS_OK]: 'U redu',
814
+ [C.FILTERS_BUTTONS_CANCEL]: 'Odustani',
815
+ [C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH]: 'Pretraži',
816
+ [C.FILTERS_BUTTONS_PLACEHOLDER_VALUE]: 'Vrijednost',
817
+ [C.FILTERS_BUTTONS_PLACEHOLDER_SECOND_VALUE]: 'Druga vrijednost',
818
+ [C.CHECKBOX_CHECKED]: 'Označeno',
819
+ [C.CHECKBOX_UNCHECKED]: 'Nije označeno'
820
+ };
821
+ _handsontable.default.languages.registerLanguageDictionary(dictionary);
822
+ var _default = exports["default"] = dictionary;
823
+
824
+ /***/ }),
825
+ /* 10 */,
826
+ /* 11 */
724
827
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
725
828
 
726
829
  "use strict";
@@ -817,7 +920,7 @@ _handsontable.default.languages.registerLanguageDictionary(dictionary);
817
920
  var _default = exports["default"] = dictionary;
818
921
 
819
922
  /***/ }),
820
- /* 11 */
923
+ /* 12 */
821
924
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
822
925
 
823
926
  "use strict";
@@ -917,7 +1020,7 @@ _handsontable.default.languages.registerLanguageDictionary(dictionary);
917
1020
  var _default = exports["default"] = dictionary;
918
1021
 
919
1022
  /***/ }),
920
- /* 12 */
1023
+ /* 13 */
921
1024
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
922
1025
 
923
1026
  "use strict";
@@ -1014,7 +1117,7 @@ _handsontable.default.languages.registerLanguageDictionary(dictionary);
1014
1117
  var _default = exports["default"] = dictionary;
1015
1118
 
1016
1119
  /***/ }),
1017
- /* 13 */
1120
+ /* 14 */
1018
1121
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1019
1122
 
1020
1123
  "use strict";
@@ -1115,7 +1218,7 @@ _handsontable.default.languages.registerLanguageDictionary(dictionary);
1115
1218
  var _default = exports["default"] = dictionary;
1116
1219
 
1117
1220
  /***/ }),
1118
- /* 14 */
1221
+ /* 15 */
1119
1222
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1120
1223
 
1121
1224
  "use strict";
@@ -1212,7 +1315,7 @@ _handsontable.default.languages.registerLanguageDictionary(dictionary);
1212
1315
  var _default = exports["default"] = dictionary;
1213
1316
 
1214
1317
  /***/ }),
1215
- /* 15 */
1318
+ /* 16 */
1216
1319
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1217
1320
 
1218
1321
  "use strict";
@@ -1312,7 +1415,7 @@ _handsontable.default.languages.registerLanguageDictionary(dictionary);
1312
1415
  var _default = exports["default"] = dictionary;
1313
1416
 
1314
1417
  /***/ }),
1315
- /* 16 */
1418
+ /* 17 */
1316
1419
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1317
1420
 
1318
1421
  "use strict";
@@ -1415,7 +1518,7 @@ _handsontable.default.languages.registerLanguageDictionary(dictionary);
1415
1518
  var _default = exports["default"] = dictionary;
1416
1519
 
1417
1520
  /***/ }),
1418
- /* 17 */
1521
+ /* 18 */
1419
1522
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1420
1523
 
1421
1524
  "use strict";
@@ -1512,7 +1615,7 @@ _handsontable.default.languages.registerLanguageDictionary(dictionary);
1512
1615
  var _default = exports["default"] = dictionary;
1513
1616
 
1514
1617
  /***/ }),
1515
- /* 18 */
1618
+ /* 19 */
1516
1619
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1517
1620
 
1518
1621
  "use strict";
@@ -1609,7 +1712,7 @@ _handsontable.default.languages.registerLanguageDictionary(dictionary);
1609
1712
  var _default = exports["default"] = dictionary;
1610
1713
 
1611
1714
  /***/ }),
1612
- /* 19 */
1715
+ /* 20 */
1613
1716
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1614
1717
 
1615
1718
  "use strict";
@@ -1707,7 +1810,7 @@ _handsontable.default.languages.registerLanguageDictionary(dictionary);
1707
1810
  var _default = exports["default"] = dictionary;
1708
1811
 
1709
1812
  /***/ }),
1710
- /* 20 */
1813
+ /* 21 */
1711
1814
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1712
1815
 
1713
1816
  "use strict";
@@ -1807,7 +1910,7 @@ _handsontable.default.languages.registerLanguageDictionary(dictionary);
1807
1910
  var _default = exports["default"] = dictionary;
1808
1911
 
1809
1912
  /***/ }),
1810
- /* 21 */
1913
+ /* 22 */
1811
1914
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1812
1915
 
1813
1916
  "use strict";
@@ -1954,29 +2057,31 @@ var _esMX = _interopRequireDefault(__webpack_require__(7));
1954
2057
  exports.esMX = _esMX.default;
1955
2058
  var _frFR = _interopRequireDefault(__webpack_require__(8));
1956
2059
  exports.frFR = _frFR.default;
1957
- var _itIT = _interopRequireDefault(__webpack_require__(10));
2060
+ var _hrHR = _interopRequireDefault(__webpack_require__(9));
2061
+ exports.hrHR = _hrHR.default;
2062
+ var _itIT = _interopRequireDefault(__webpack_require__(11));
1958
2063
  exports.itIT = _itIT.default;
1959
- var _jaJP = _interopRequireDefault(__webpack_require__(11));
2064
+ var _jaJP = _interopRequireDefault(__webpack_require__(12));
1960
2065
  exports.jaJP = _jaJP.default;
1961
- var _koKR = _interopRequireDefault(__webpack_require__(12));
2066
+ var _koKR = _interopRequireDefault(__webpack_require__(13));
1962
2067
  exports.koKR = _koKR.default;
1963
- var _lvLV = _interopRequireDefault(__webpack_require__(13));
2068
+ var _lvLV = _interopRequireDefault(__webpack_require__(14));
1964
2069
  exports.lvLV = _lvLV.default;
1965
- var _nbNO = _interopRequireDefault(__webpack_require__(14));
2070
+ var _nbNO = _interopRequireDefault(__webpack_require__(15));
1966
2071
  exports.nbNO = _nbNO.default;
1967
- var _nlNL = _interopRequireDefault(__webpack_require__(15));
2072
+ var _nlNL = _interopRequireDefault(__webpack_require__(16));
1968
2073
  exports.nlNL = _nlNL.default;
1969
- var _plPL = _interopRequireDefault(__webpack_require__(16));
2074
+ var _plPL = _interopRequireDefault(__webpack_require__(17));
1970
2075
  exports.plPL = _plPL.default;
1971
- var _ptBR = _interopRequireDefault(__webpack_require__(17));
2076
+ var _ptBR = _interopRequireDefault(__webpack_require__(18));
1972
2077
  exports.ptBR = _ptBR.default;
1973
- var _ruRU = _interopRequireDefault(__webpack_require__(18));
2078
+ var _ruRU = _interopRequireDefault(__webpack_require__(19));
1974
2079
  exports.ruRU = _ruRU.default;
1975
- var _srSP = _interopRequireDefault(__webpack_require__(19));
2080
+ var _srSP = _interopRequireDefault(__webpack_require__(20));
1976
2081
  exports.srSP = _srSP.default;
1977
- var _zhCN = _interopRequireDefault(__webpack_require__(20));
2082
+ var _zhCN = _interopRequireDefault(__webpack_require__(21));
1978
2083
  exports.zhCN = _zhCN.default;
1979
- var _zhTW = _interopRequireDefault(__webpack_require__(21));
2084
+ var _zhTW = _interopRequireDefault(__webpack_require__(22));
1980
2085
  exports.zhTW = _zhTW.default;
1981
2086
  })();
1982
2087
 
@@ -5,6 +5,7 @@ import deDE from "./de-DE.mjs";
5
5
  import enUS from "./en-US.mjs";
6
6
  import esMX from "./es-MX.mjs";
7
7
  import frFR from "./fr-FR.mjs";
8
+ import hrHR from "./hr-HR.mjs";
8
9
  import itIT from "./it-IT.mjs";
9
10
  import jaJP from "./ja-JP.mjs";
10
11
  import koKR from "./ko-KR.mjs";
@@ -17,4 +18,4 @@ import ruRU from "./ru-RU.mjs";
17
18
  import srSP from "./sr-SP.mjs";
18
19
  import zhCN from "./zh-CN.mjs";
19
20
  import zhTW from "./zh-TW.mjs";
20
- export { arAR, csCZ, deCH, deDE, enUS, esMX, frFR, itIT, jaJP, koKR, lvLV, nbNO, nlNL, plPL, ptBR, ruRU, srSP, zhCN, zhTW };
21
+ export { arAR, csCZ, deCH, deDE, enUS, esMX, frFR, hrHR, itIT, jaJP, koKR, lvLV, nbNO, nlNL, plPL, ptBR, ruRU, srSP, zhCN, zhTW };
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/handsontable/handsontable/issues"
11
11
  },
12
12
  "author": "Handsoncode <hello@handsontable.com>",
13
- "version": "14.1.0-next-1211447-20240205",
13
+ "version": "14.2.0-next-4873a35-20240228",
14
14
  "main": "index",
15
15
  "module": "index.mjs",
16
16
  "jsnext:main": "index.mjs",
@@ -199,6 +199,10 @@
199
199
  "require": "./languages/fr-FR.js",
200
200
  "import": "./languages/fr-FR.mjs"
201
201
  },
202
+ "./languages/hr-HR": {
203
+ "require": "./languages/hr-HR.js",
204
+ "import": "./languages/hr-HR.mjs"
205
+ },
202
206
  "./languages": {
203
207
  "require": "./languages/index.js",
204
208
  "import": "./languages/index.mjs"
@@ -645,6 +649,10 @@
645
649
  "require": "./i18n/languages/fr-FR.js",
646
650
  "import": "./i18n/languages/fr-FR.mjs"
647
651
  },
652
+ "./i18n/languages/hr-HR": {
653
+ "require": "./i18n/languages/hr-HR.js",
654
+ "import": "./i18n/languages/hr-HR.mjs"
655
+ },
648
656
  "./i18n/languages": {
649
657
  "types": "./i18n/languages/index.d.ts",
650
658
  "require": "./i18n/languages/index.js",
@@ -733,6 +741,8 @@
733
741
  "./dist/languages/es-MX.min.js": "./dist/languages/es-MX.min.js",
734
742
  "./dist/languages/fr-FR.js": "./dist/languages/fr-FR.js",
735
743
  "./dist/languages/fr-FR.min.js": "./dist/languages/fr-FR.min.js",
744
+ "./dist/languages/hr-HR.js": "./dist/languages/hr-HR.js",
745
+ "./dist/languages/hr-HR.min.js": "./dist/languages/hr-HR.min.js",
736
746
  "./dist/languages/it-IT.js": "./dist/languages/it-IT.js",
737
747
  "./dist/languages/it-IT.min.js": "./dist/languages/it-IT.min.js",
738
748
  "./dist/languages/ja-JP.js": "./dist/languages/ja-JP.js",
package/pluginHooks.d.ts CHANGED
@@ -157,6 +157,7 @@ export interface Events {
157
157
  afterViewRender?: (isForced: boolean) => void;
158
158
  beforeAddChild?: (parent: RowObject, element?: RowObject, index?: number) => void;
159
159
  beforeAutofill?: (selectionData: CellValue[][], sourceRange: CellRange, targetRange: CellRange, direction: 'up' | 'down' | 'left' | 'right') => CellValue[][] | boolean | void;
160
+ beforeBeginEditing?: (row: number, column: number, initialValue: any, event: MouseEvent | KeyboardEvent, fullEditMode: boolean) => boolean | void;
160
161
  beforeCellAlignment?: (stateBefore: { [row: number]: string[] }, range: CellRange[], type: 'horizontal' | 'vertical',
161
162
  alignmentClass: 'htLeft' | 'htCenter' | 'htRight' | 'htJustify' | 'htTop' | 'htMiddle' | 'htBottom') => void;
162
163
  beforeChange?: (changes: Array<CellChange | null>, source: ChangeSource) => void | boolean;
@@ -228,8 +229,8 @@ export interface Events {
228
229
  beforeUpdateData?: (sourceData: CellValue[], initialLoad: boolean, source: string | undefined) => void;
229
230
  beforeValidate?: (value: CellValue, row: number, prop: string | number, source?: ChangeSource) => void;
230
231
  beforeValueRender?: (value: CellValue, cellProperties: CellProperties) => void;
231
- beforeViewportScrollVertically?: (visualRow: number) => number;
232
- beforeViewportScrollHorizontally?: (visualColumn: number) => number;
232
+ beforeViewportScrollVertically?: (visualRow: number) => number | boolean;
233
+ beforeViewportScrollHorizontally?: (visualColumn: number) => number | boolean;
233
234
  beforeViewportScroll?: () => void;
234
235
  beforeViewRender?: (isForced: boolean, skipRender: { skipRender?: boolean }) => void;
235
236
  construct?: () => void;
@@ -241,6 +242,7 @@ export interface Events {
241
242
  modifyColumnHeaderValue?: (headerValue: string, visualColumnIndex: number, headerLevel: number) => void | string;
242
243
  modifyColWidth?: (width: number, column: number) => void;
243
244
  modifyCopyableRange?: (copyableRanges: RangeType[]) => void;
245
+ modifyFiltersMultiSelectValue?: (value: string, meta: CellProperties) => void | CellValue;
244
246
  modifyFocusedElement?: (row: number, column: number, focusedElement: HTMLElement) => void | HTMLElement;
245
247
  modifyData?: (row: number, column: number, valueHolder: { value: CellValue }, ioMode: 'get' | 'set') => void;
246
248
  modifyFocusOnTabNavigation?: (tabActivationDir: 'from_above' | 'from_below', visualCoords: CellCoords) => void;
package/pluginHooks.js CHANGED
@@ -414,7 +414,7 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
414
414
  */
415
415
  'afterUpdateData',
416
416
  /**
417
- * Fired after a scroll event, which is identified as a momentum scroll.
417
+ * Fired after a scroll event, which is identified as a momentum scroll (e.g. On an iPad).
418
418
  *
419
419
  * @event Hooks#afterMomentumScroll
420
420
  */
@@ -555,7 +555,8 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
555
555
  * @since 14.0.0
556
556
  * @event Hooks#beforeViewportScrollVertically
557
557
  * @param {number} visualRow Visual row index.
558
- * @returns {number} Returns modified row index (or the same as passed in the method argument) to which the viewport will be scrolled.
558
+ * @returns {number | boolean} Returns modified row index (or the same as passed in the method argument) to which
559
+ * the viewport will be scrolled. If the returned value is `false`, the scrolling will be canceled.
559
560
  */
560
561
  'beforeViewportScrollVertically',
561
562
  /**
@@ -565,7 +566,8 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
565
566
  * @since 14.0.0
566
567
  * @event Hooks#beforeViewportScrollHorizontally
567
568
  * @param {number} visualColumn Visual column index.
568
- * @returns {number} Returns modified column index (or the same as passed in the method argument) to which the viewport will be scrolled.
569
+ * @returns {number | boolean} Returns modified column index (or the same as passed in the method argument) to which
570
+ * the viewport will be scrolled. If the returned value is `false`, the scrolling will be canceled.
569
571
  */
570
572
  'beforeViewportScrollHorizontally',
571
573
  /**
@@ -1338,6 +1340,16 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
1338
1340
  * @param {number} column Visual column index.
1339
1341
  */
1340
1342
  'modifyColWidth',
1343
+ /**
1344
+ * Fired when rendering the list of values in the multiple-selection component of the Filters dropdown.
1345
+ * The hook allows modifying the displayed values in that component.
1346
+ *
1347
+ * @since 14.2.0
1348
+ * @event Hooks#modifyFiltersMultiSelectValue
1349
+ * @param {object} item The item in the list of values.
1350
+ * @param {object} meta The cell properties object.
1351
+ */
1352
+ 'modifyFiltersMultiSelectValue',
1341
1353
  /**
1342
1354
  * Fired when focusing a cell or a header element. Allows replacing the element to be focused by returning a
1343
1355
  * different HTML element.
@@ -2398,6 +2410,24 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
2398
2410
  * @param {number} finalElementPosition The final row index of the detached element.
2399
2411
  */
2400
2412
  'afterDetachChild',
2413
+ /**
2414
+ * Fired before the editor is opened and rendered.
2415
+ *
2416
+ * @since 14.1.0
2417
+ * @event Hooks#beforeBeginEditing
2418
+ * @param {number} row Visual row index of the edited cell.
2419
+ * @param {number} column Visual column index of the edited cell.
2420
+ * @param {*} initialValue The initial editor value.
2421
+ * @param {MouseEvent | KeyboardEvent} event The event which was responsible for opening the editor.
2422
+ * @param {boolean} fullEditMode `true` if the editor is opened in full edit mode, `false` otherwise.
2423
+ * Editor opened in full edit mode does not close after pressing Arrow keys.
2424
+ * @returns {boolean | undefined} If the callback returns `false,` the editor won't be opened after
2425
+ * the mouse double click or after pressing the Enter key. Returning `undefined` (or other value
2426
+ * than boolean) will result in default behavior, which disallows opening an editor for non-contiguous
2427
+ * selection (while pressing Ctrl/Cmd) and for multiple selected cells (while pressing SHIFT).
2428
+ * Returning `true` removes those restrictions.
2429
+ */
2430
+ 'beforeBeginEditing',
2401
2431
  /**
2402
2432
  * Fired after the editor is opened and rendered.
2403
2433
  *
package/pluginHooks.mjs CHANGED
@@ -410,7 +410,7 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
410
410
  */
411
411
  'afterUpdateData',
412
412
  /**
413
- * Fired after a scroll event, which is identified as a momentum scroll.
413
+ * Fired after a scroll event, which is identified as a momentum scroll (e.g. On an iPad).
414
414
  *
415
415
  * @event Hooks#afterMomentumScroll
416
416
  */
@@ -551,7 +551,8 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
551
551
  * @since 14.0.0
552
552
  * @event Hooks#beforeViewportScrollVertically
553
553
  * @param {number} visualRow Visual row index.
554
- * @returns {number} Returns modified row index (or the same as passed in the method argument) to which the viewport will be scrolled.
554
+ * @returns {number | boolean} Returns modified row index (or the same as passed in the method argument) to which
555
+ * the viewport will be scrolled. If the returned value is `false`, the scrolling will be canceled.
555
556
  */
556
557
  'beforeViewportScrollVertically',
557
558
  /**
@@ -561,7 +562,8 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
561
562
  * @since 14.0.0
562
563
  * @event Hooks#beforeViewportScrollHorizontally
563
564
  * @param {number} visualColumn Visual column index.
564
- * @returns {number} Returns modified column index (or the same as passed in the method argument) to which the viewport will be scrolled.
565
+ * @returns {number | boolean} Returns modified column index (or the same as passed in the method argument) to which
566
+ * the viewport will be scrolled. If the returned value is `false`, the scrolling will be canceled.
565
567
  */
566
568
  'beforeViewportScrollHorizontally',
567
569
  /**
@@ -1334,6 +1336,16 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
1334
1336
  * @param {number} column Visual column index.
1335
1337
  */
1336
1338
  'modifyColWidth',
1339
+ /**
1340
+ * Fired when rendering the list of values in the multiple-selection component of the Filters dropdown.
1341
+ * The hook allows modifying the displayed values in that component.
1342
+ *
1343
+ * @since 14.2.0
1344
+ * @event Hooks#modifyFiltersMultiSelectValue
1345
+ * @param {object} item The item in the list of values.
1346
+ * @param {object} meta The cell properties object.
1347
+ */
1348
+ 'modifyFiltersMultiSelectValue',
1337
1349
  /**
1338
1350
  * Fired when focusing a cell or a header element. Allows replacing the element to be focused by returning a
1339
1351
  * different HTML element.
@@ -2394,6 +2406,24 @@ const REGISTERED_HOOKS = [/* eslint-disable jsdoc/require-description-complete-s
2394
2406
  * @param {number} finalElementPosition The final row index of the detached element.
2395
2407
  */
2396
2408
  'afterDetachChild',
2409
+ /**
2410
+ * Fired before the editor is opened and rendered.
2411
+ *
2412
+ * @since 14.1.0
2413
+ * @event Hooks#beforeBeginEditing
2414
+ * @param {number} row Visual row index of the edited cell.
2415
+ * @param {number} column Visual column index of the edited cell.
2416
+ * @param {*} initialValue The initial editor value.
2417
+ * @param {MouseEvent | KeyboardEvent} event The event which was responsible for opening the editor.
2418
+ * @param {boolean} fullEditMode `true` if the editor is opened in full edit mode, `false` otherwise.
2419
+ * Editor opened in full edit mode does not close after pressing Arrow keys.
2420
+ * @returns {boolean | undefined} If the callback returns `false,` the editor won't be opened after
2421
+ * the mouse double click or after pressing the Enter key. Returning `undefined` (or other value
2422
+ * than boolean) will result in default behavior, which disallows opening an editor for non-contiguous
2423
+ * selection (while pressing Ctrl/Cmd) and for multiple selected cells (while pressing SHIFT).
2424
+ * Returning `true` removes those restrictions.
2425
+ */
2426
+ 'beforeBeginEditing',
2397
2427
  /**
2398
2428
  * Fired after the editor is opened and rendered.
2399
2429
  *
@@ -205,6 +205,11 @@ class AutoColumnSize extends _base.BasePlugin {
205
205
  * @fires Hooks#modifyAutoColumnSizeSeed
206
206
  */
207
207
  _defineProperty(this, "samplesGenerator", new _samplesGenerator.default((row, column) => {
208
+ const physicalRow = this.hot.toPhysicalRow(row);
209
+ const physicalColumn = this.hot.toPhysicalColumn(column);
210
+ if (this.hot.rowIndexMapper.isHidden(physicalRow) || this.hot.columnIndexMapper.isHidden(physicalColumn)) {
211
+ return false;
212
+ }
208
213
  const cellMeta = this.hot.getCellMeta(row, column);
209
214
  let cellValue = '';
210
215
  if (!cellMeta.spanned) {
@@ -397,7 +402,7 @@ class AutoColumnSize extends _base.BasePlugin {
397
402
 
398
403
  /**
399
404
  * Calculates all columns width. The calculated column will be cached in the {@link AutoColumnSize#widths} property.
400
- * To retrieve width for specified column use {@link AutoColumnSize##getColumnWidth} method.
405
+ * To retrieve width for specified column use {@link AutoColumnSize#getColumnWidth} method.
401
406
  *
402
407
  * @param {object|number} rowRange Row index or an object with `from` and `to` properties which define row range.
403
408
  */
@@ -201,6 +201,11 @@ export class AutoColumnSize extends BasePlugin {
201
201
  * @fires Hooks#modifyAutoColumnSizeSeed
202
202
  */
203
203
  _defineProperty(this, "samplesGenerator", new SamplesGenerator((row, column) => {
204
+ const physicalRow = this.hot.toPhysicalRow(row);
205
+ const physicalColumn = this.hot.toPhysicalColumn(column);
206
+ if (this.hot.rowIndexMapper.isHidden(physicalRow) || this.hot.columnIndexMapper.isHidden(physicalColumn)) {
207
+ return false;
208
+ }
204
209
  const cellMeta = this.hot.getCellMeta(row, column);
205
210
  let cellValue = '';
206
211
  if (!cellMeta.spanned) {
@@ -393,7 +398,7 @@ export class AutoColumnSize extends BasePlugin {
393
398
 
394
399
  /**
395
400
  * Calculates all columns width. The calculated column will be cached in the {@link AutoColumnSize#widths} property.
396
- * To retrieve width for specified column use {@link AutoColumnSize##getColumnWidth} method.
401
+ * To retrieve width for specified column use {@link AutoColumnSize#getColumnWidth} method.
397
402
  *
398
403
  * @param {object|number} rowRange Row index or an object with `from` and `to` properties which define row range.
399
404
  */
@@ -175,6 +175,11 @@ class AutoRowSize extends _base.BasePlugin {
175
175
  * @type {SamplesGenerator}
176
176
  */
177
177
  _defineProperty(this, "samplesGenerator", new _samplesGenerator.default((row, column) => {
178
+ const physicalRow = this.hot.toPhysicalRow(row);
179
+ const physicalColumn = this.hot.toPhysicalColumn(column);
180
+ if (this.hot.rowIndexMapper.isHidden(physicalRow) || this.hot.columnIndexMapper.isHidden(physicalColumn)) {
181
+ return false;
182
+ }
178
183
  if (row >= 0 && column >= 0) {
179
184
  const cellMeta = this.hot.getCellMeta(row, column);
180
185
  if (cellMeta.hidden) {
@@ -171,6 +171,11 @@ export class AutoRowSize extends BasePlugin {
171
171
  * @type {SamplesGenerator}
172
172
  */
173
173
  _defineProperty(this, "samplesGenerator", new SamplesGenerator((row, column) => {
174
+ const physicalRow = this.hot.toPhysicalRow(row);
175
+ const physicalColumn = this.hot.toPhysicalColumn(column);
176
+ if (this.hot.rowIndexMapper.isHidden(physicalRow) || this.hot.columnIndexMapper.isHidden(physicalColumn)) {
177
+ return false;
178
+ }
174
179
  if (row >= 0 && column >= 0) {
175
180
  const cellMeta = this.hot.getCellMeta(row, column);
176
181
  if (cellMeta.hidden) {
@@ -7,6 +7,7 @@ var _base = require("../base");
7
7
  var _pluginHooks = _interopRequireDefault(require("../../pluginHooks"));
8
8
  var _element = require("../../helpers/dom/element");
9
9
  var _array = require("../../helpers/array");
10
+ var _mixed = require("../../helpers/mixed");
10
11
  var _utils = require("./utils");
11
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13
  function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
@@ -392,13 +393,13 @@ class Autofill extends _base.BasePlugin {
392
393
  for (let rowIndex = cornersOfSelectedCells[2] + 1; rowIndex < nrOfTableRows; rowIndex++) {
393
394
  for (let columnIndex = cornersOfSelectedCells[1]; columnIndex <= cornersOfSelectedCells[3]; columnIndex++) {
394
395
  const dataInCell = data[rowIndex][columnIndex];
395
- if (dataInCell) {
396
+ if (!(0, _mixed.isEmpty)(dataInCell)) {
396
397
  return -1;
397
398
  }
398
399
  }
399
400
  const dataInNextLeftCell = data[rowIndex][cornersOfSelectedCells[1] - 1];
400
401
  const dataInNextRightCell = data[rowIndex][cornersOfSelectedCells[3] + 1];
401
- if (!!dataInNextLeftCell || !!dataInNextRightCell) {
402
+ if (!(0, _mixed.isEmpty)(dataInNextLeftCell) || !(0, _mixed.isEmpty)(dataInNextRightCell)) {
402
403
  lastFilledInRowIndex = rowIndex;
403
404
  }
404
405
  }
@@ -10,6 +10,7 @@ import { BasePlugin } from "../base/index.mjs";
10
10
  import Hooks from "../../pluginHooks.mjs";
11
11
  import { offset, outerHeight, outerWidth } from "../../helpers/dom/element.mjs";
12
12
  import { arrayEach, arrayMap } from "../../helpers/array.mjs";
13
+ import { isEmpty } from "../../helpers/mixed.mjs";
13
14
  import { getDragDirectionAndRange, DIRECTIONS, getMappedFillHandleSetting } from "./utils.mjs";
14
15
  Hooks.getSingleton().register('modifyAutofillRange');
15
16
  Hooks.getSingleton().register('beforeAutofill');
@@ -388,13 +389,13 @@ export class Autofill extends BasePlugin {
388
389
  for (let rowIndex = cornersOfSelectedCells[2] + 1; rowIndex < nrOfTableRows; rowIndex++) {
389
390
  for (let columnIndex = cornersOfSelectedCells[1]; columnIndex <= cornersOfSelectedCells[3]; columnIndex++) {
390
391
  const dataInCell = data[rowIndex][columnIndex];
391
- if (dataInCell) {
392
+ if (!isEmpty(dataInCell)) {
392
393
  return -1;
393
394
  }
394
395
  }
395
396
  const dataInNextLeftCell = data[rowIndex][cornersOfSelectedCells[1] - 1];
396
397
  const dataInNextRightCell = data[rowIndex][cornersOfSelectedCells[3] + 1];
397
- if (!!dataInNextLeftCell || !!dataInNextRightCell) {
398
+ if (!isEmpty(dataInNextLeftCell) || !isEmpty(dataInNextRightCell)) {
398
399
  lastFilledInRowIndex = rowIndex;
399
400
  }
400
401
  }
@@ -42,7 +42,7 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 220;
42
42
  * | `reversedRowCoords` | No | Boolean | `false` | [Reverses row coordinates](@/guides/columns/column-summary.md#step-5-make-room-for-the-destination-cell) |
43
43
  * | `suppressDataTypeErrors` | No | Boolean | `true` | [Suppresses data type errors](@/guides/columns/column-summary.md#throw-data-type-errors) |
44
44
  * | `readOnly` | No | Boolean | `true` | Makes summary cell read-only |
45
- * | `roundFloat` | No | Number/Boolean | - | [Rounds summary result](@/guides/columns/column-summary.md#round-a-column-summary-result) |
45
+ * | `roundFloat` | No | Number/<br>Boolean | - | [Rounds summary result](@/guides/columns/column-summary.md#round-a-column-summary-result) |
46
46
  * | `customFunction` | No | Function | - | [Lets you add a custom summary function](@/guides/columns/column-summary.md#implement-a-custom-summary-function) |
47
47
  *
48
48
  * @example
@@ -38,7 +38,7 @@ export const PLUGIN_PRIORITY = 220;
38
38
  * | `reversedRowCoords` | No | Boolean | `false` | [Reverses row coordinates](@/guides/columns/column-summary.md#step-5-make-room-for-the-destination-cell) |
39
39
  * | `suppressDataTypeErrors` | No | Boolean | `true` | [Suppresses data type errors](@/guides/columns/column-summary.md#throw-data-type-errors) |
40
40
  * | `readOnly` | No | Boolean | `true` | Makes summary cell read-only |
41
- * | `roundFloat` | No | Number/Boolean | - | [Rounds summary result](@/guides/columns/column-summary.md#round-a-column-summary-result) |
41
+ * | `roundFloat` | No | Number/<br>Boolean | - | [Rounds summary result](@/guides/columns/column-summary.md#round-a-column-summary-result) |
42
42
  * | `customFunction` | No | Function | - | [Lets you add a custom summary function](@/guides/columns/column-summary.md#implement-a-custom-summary-function) |
43
43
  *
44
44
  * @example