handsontable 14.6.1-next-689aaa6-20241016 → 15.0.0-next-4472a60-20241203

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 (392) hide show
  1. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +23 -0
  2. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +23 -0
  3. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +23 -0
  4. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +23 -0
  5. package/3rdparty/walkontable/src/calculator/index.js +1 -2
  6. package/3rdparty/walkontable/src/calculator/index.mjs +2 -2
  7. package/3rdparty/walkontable/src/calculator/viewportBase.js +2 -0
  8. package/3rdparty/walkontable/src/calculator/viewportBase.mjs +2 -0
  9. package/3rdparty/walkontable/src/calculator/viewportRows.js +3 -3
  10. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +3 -3
  11. package/3rdparty/walkontable/src/core/_base.js +29 -23
  12. package/3rdparty/walkontable/src/core/_base.mjs +29 -23
  13. package/3rdparty/walkontable/src/core/clone.js +1 -0
  14. package/3rdparty/walkontable/src/core/clone.mjs +1 -0
  15. package/3rdparty/walkontable/src/core/core.js +2 -0
  16. package/3rdparty/walkontable/src/core/core.mjs +2 -0
  17. package/3rdparty/walkontable/src/facade/core.js +12 -6
  18. package/3rdparty/walkontable/src/facade/core.mjs +12 -6
  19. package/3rdparty/walkontable/src/index.js +0 -1
  20. package/3rdparty/walkontable/src/index.mjs +2 -2
  21. package/3rdparty/walkontable/src/overlay/_base.js +8 -1
  22. package/3rdparty/walkontable/src/overlay/_base.mjs +8 -1
  23. package/3rdparty/walkontable/src/overlay/bottom.js +5 -6
  24. package/3rdparty/walkontable/src/overlay/bottom.mjs +5 -6
  25. package/3rdparty/walkontable/src/overlay/index.js +2 -0
  26. package/3rdparty/walkontable/src/overlay/inlineStart.js +8 -7
  27. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +9 -8
  28. package/3rdparty/walkontable/src/overlay/top.js +9 -8
  29. package/3rdparty/walkontable/src/overlay/top.mjs +10 -9
  30. package/3rdparty/walkontable/src/overlays.js +10 -26
  31. package/3rdparty/walkontable/src/overlays.mjs +10 -26
  32. package/3rdparty/walkontable/src/renderer/colGroup.js +1 -1
  33. package/3rdparty/walkontable/src/renderer/colGroup.mjs +1 -1
  34. package/3rdparty/walkontable/src/renderer/index.js +4 -2
  35. package/3rdparty/walkontable/src/renderer/index.mjs +4 -2
  36. package/3rdparty/walkontable/src/renderer/table.js +13 -4
  37. package/3rdparty/walkontable/src/renderer/table.mjs +13 -4
  38. package/3rdparty/walkontable/src/scroll.js +46 -37
  39. package/3rdparty/walkontable/src/scroll.mjs +46 -37
  40. package/3rdparty/walkontable/src/selection/border/border.js +52 -58
  41. package/3rdparty/walkontable/src/selection/border/border.mjs +53 -59
  42. package/3rdparty/walkontable/src/selection/border/utils.js +26 -0
  43. package/3rdparty/walkontable/src/selection/border/utils.mjs +22 -0
  44. package/3rdparty/walkontable/src/selection/index.js +6 -4
  45. package/3rdparty/walkontable/src/selection/index.mjs +1 -1
  46. package/3rdparty/walkontable/src/selection/manager.js +3 -0
  47. package/3rdparty/walkontable/src/selection/manager.mjs +3 -0
  48. package/3rdparty/walkontable/src/selection/scanner.js +46 -11
  49. package/3rdparty/walkontable/src/selection/scanner.mjs +46 -11
  50. package/3rdparty/walkontable/src/settings.js +8 -9
  51. package/3rdparty/walkontable/src/settings.mjs +8 -9
  52. package/3rdparty/walkontable/src/table/master.js +1 -1
  53. package/3rdparty/walkontable/src/table/master.mjs +2 -2
  54. package/3rdparty/walkontable/src/table.js +25 -36
  55. package/3rdparty/walkontable/src/table.mjs +25 -36
  56. package/3rdparty/walkontable/src/types.js +1 -0
  57. package/3rdparty/walkontable/src/types.mjs +1 -0
  58. package/3rdparty/walkontable/src/utils/column.js +1 -43
  59. package/3rdparty/walkontable/src/utils/column.mjs +1 -43
  60. package/3rdparty/walkontable/src/utils/stylesHandler.js +295 -0
  61. package/3rdparty/walkontable/src/utils/stylesHandler.mjs +291 -0
  62. package/3rdparty/walkontable/src/viewport.js +94 -91
  63. package/3rdparty/walkontable/src/viewport.mjs +95 -92
  64. package/CHANGELOG.md +36 -0
  65. package/README.md +1 -1
  66. package/base.js +4 -4
  67. package/base.mjs +3 -3
  68. package/core/focusCatcher/focusDetector.js +1 -0
  69. package/core/focusCatcher/focusDetector.mjs +1 -0
  70. package/core/hooks/bucket.js +184 -0
  71. package/core/hooks/bucket.mjs +180 -0
  72. package/{pluginHooks.mjs → core/hooks/constants.js} +38 -486
  73. package/{pluginHooks.js → core/hooks/constants.mjs} +34 -489
  74. package/{pluginHooks.d.ts → core/hooks/index.d.ts} +22 -25
  75. package/core/hooks/index.js +385 -0
  76. package/core/hooks/index.mjs +381 -0
  77. package/core/index.js +2 -0
  78. package/core.d.ts +5 -3
  79. package/core.js +77 -35
  80. package/core.mjs +69 -27
  81. package/dataMap/dataMap.js +3 -0
  82. package/dataMap/dataMap.mjs +3 -0
  83. package/dataMap/dataSource.js +2 -0
  84. package/dataMap/dataSource.mjs +2 -0
  85. package/dataMap/metaManager/index.js +2 -0
  86. package/dataMap/metaManager/index.mjs +2 -0
  87. package/dataMap/metaManager/metaSchema.js +91 -5
  88. package/dataMap/metaManager/metaSchema.mjs +91 -5
  89. package/dataMap/metaManager/mods/dynamicCellMeta.js +2 -3
  90. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
  91. package/dataMap/metaManager/mods/extendMetaProperties.js +2 -0
  92. package/dataMap/metaManager/mods/extendMetaProperties.mjs +2 -0
  93. package/dist/handsontable.css +84 -72
  94. package/dist/handsontable.full.css +317 -304
  95. package/dist/handsontable.full.js +14826 -7294
  96. package/dist/handsontable.full.min.css +15 -10
  97. package/dist/handsontable.full.min.js +262 -69
  98. package/dist/handsontable.js +7826 -5552
  99. package/dist/handsontable.min.css +10 -6
  100. package/dist/handsontable.min.js +33 -33
  101. package/dist/languages/all.js +1 -1
  102. package/dist/languages/ar-AR.js +1 -1
  103. package/dist/languages/cs-CZ.js +1 -1
  104. package/dist/languages/de-CH.js +1 -1
  105. package/dist/languages/de-DE.js +1 -1
  106. package/dist/languages/en-US.js +1 -1
  107. package/dist/languages/es-MX.js +1 -1
  108. package/dist/languages/fr-FR.js +1 -1
  109. package/dist/languages/hr-HR.js +1 -1
  110. package/dist/languages/it-IT.js +1 -1
  111. package/dist/languages/ja-JP.js +1 -1
  112. package/dist/languages/ko-KR.js +1 -1
  113. package/dist/languages/lv-LV.js +1 -1
  114. package/dist/languages/nb-NO.js +1 -1
  115. package/dist/languages/nl-NL.js +1 -1
  116. package/dist/languages/pl-PL.js +1 -1
  117. package/dist/languages/pt-BR.js +1 -1
  118. package/dist/languages/ru-RU.js +1 -1
  119. package/dist/languages/sr-SP.js +1 -1
  120. package/dist/languages/zh-CN.js +1 -1
  121. package/dist/languages/zh-TW.js +1 -1
  122. package/editorManager.js +2 -2
  123. package/editorManager.mjs +2 -2
  124. package/editors/autocompleteEditor/autocompleteEditor.js +34 -16
  125. package/editors/autocompleteEditor/autocompleteEditor.mjs +34 -16
  126. package/editors/baseEditor/baseEditor.js +25 -18
  127. package/editors/baseEditor/baseEditor.mjs +26 -19
  128. package/editors/dateEditor/dateEditor.js +9 -0
  129. package/editors/dateEditor/dateEditor.mjs +10 -1
  130. package/editors/dropdownEditor/dropdownEditor.js +4 -3
  131. package/editors/dropdownEditor/dropdownEditor.mjs +3 -1
  132. package/editors/handsontableEditor/handsontableEditor.js +36 -2
  133. package/editors/handsontableEditor/handsontableEditor.mjs +36 -2
  134. package/editors/passwordEditor/passwordEditor.js +18 -0
  135. package/editors/passwordEditor/passwordEditor.mjs +18 -0
  136. package/editors/registry.js +2 -2
  137. package/editors/registry.mjs +1 -1
  138. package/editors/selectEditor/selectEditor.js +20 -9
  139. package/editors/selectEditor/selectEditor.mjs +20 -9
  140. package/editors/textEditor/textEditor.js +5 -12
  141. package/editors/textEditor/textEditor.mjs +6 -13
  142. package/focusManager.js +5 -7
  143. package/focusManager.mjs +5 -7
  144. package/helpers/array.js +2 -0
  145. package/helpers/array.mjs +2 -0
  146. package/helpers/data.js +3 -0
  147. package/helpers/data.mjs +3 -0
  148. package/helpers/dom/element.js +39 -18
  149. package/helpers/dom/element.mjs +38 -17
  150. package/helpers/mixed.js +3 -3
  151. package/helpers/mixed.mjs +3 -3
  152. package/helpers/moves.js +3 -0
  153. package/helpers/moves.mjs +3 -0
  154. package/helpers/number.js +1 -0
  155. package/helpers/number.mjs +1 -0
  156. package/helpers/object.js +2 -0
  157. package/helpers/object.mjs +2 -0
  158. package/helpers/themes.js +17 -0
  159. package/helpers/themes.mjs +13 -0
  160. package/i18n/index.js +2 -0
  161. package/i18n/languages/index.d.ts +8 -0
  162. package/i18n/languages/ja-JP.d.ts +1 -1
  163. package/i18n/phraseFormatters/substituteVariables.js +1 -0
  164. package/i18n/phraseFormatters/substituteVariables.mjs +1 -0
  165. package/index.d.ts +9 -1
  166. package/languages/all.js +1 -1
  167. package/languages/ar-AR.js +1 -1
  168. package/languages/cs-CZ.js +1 -1
  169. package/languages/de-CH.js +1 -1
  170. package/languages/de-DE.js +1 -1
  171. package/languages/en-US.js +1 -1
  172. package/languages/es-MX.js +1 -1
  173. package/languages/fr-FR.js +1 -1
  174. package/languages/hr-HR.js +1 -1
  175. package/languages/index.js +1 -1
  176. package/languages/it-IT.js +1 -1
  177. package/languages/ja-JP.js +1 -1
  178. package/languages/ko-KR.js +1 -1
  179. package/languages/lv-LV.js +1 -1
  180. package/languages/nb-NO.js +1 -1
  181. package/languages/nl-NL.js +1 -1
  182. package/languages/pl-PL.js +1 -1
  183. package/languages/pt-BR.js +1 -1
  184. package/languages/ru-RU.js +1 -1
  185. package/languages/sr-SP.js +1 -1
  186. package/languages/zh-CN.js +1 -1
  187. package/languages/zh-TW.js +1 -1
  188. package/package.json +22 -7
  189. package/plugins/autoColumnSize/autoColumnSize.js +22 -27
  190. package/plugins/autoColumnSize/autoColumnSize.mjs +22 -27
  191. package/plugins/autoRowSize/autoRowSize.js +20 -22
  192. package/plugins/autoRowSize/autoRowSize.mjs +21 -23
  193. package/plugins/autofill/autofill.js +4 -5
  194. package/plugins/autofill/autofill.mjs +1 -1
  195. package/plugins/base/base.d.ts +1 -1
  196. package/plugins/base/base.js +41 -0
  197. package/plugins/base/base.mjs +42 -1
  198. package/plugins/base/index.js +2 -1
  199. package/plugins/base/index.mjs +1 -1
  200. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +2 -5
  201. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +2 -5
  202. package/plugins/columnSorting/columnSorting.js +5 -4
  203. package/plugins/columnSorting/columnSorting.mjs +3 -1
  204. package/plugins/columnSorting/columnStatesManager.js +1 -0
  205. package/plugins/columnSorting/columnStatesManager.mjs +1 -0
  206. package/plugins/columnSorting/utils.js +3 -0
  207. package/plugins/columnSorting/utils.mjs +3 -0
  208. package/plugins/columnSummary/endpoints.js +3 -0
  209. package/plugins/columnSummary/endpoints.mjs +3 -0
  210. package/plugins/comments/commentEditor.js +9 -0
  211. package/plugins/comments/commentEditor.mjs +9 -0
  212. package/plugins/comments/comments.js +24 -18
  213. package/plugins/comments/comments.mjs +26 -20
  214. package/plugins/comments/editorResizeObserver.js +2 -0
  215. package/plugins/comments/editorResizeObserver.mjs +2 -0
  216. package/plugins/contextMenu/contextMenu.d.ts +2 -1
  217. package/plugins/contextMenu/contextMenu.js +6 -7
  218. package/plugins/contextMenu/contextMenu.mjs +1 -1
  219. package/plugins/contextMenu/menu/index.js +2 -0
  220. package/plugins/contextMenu/menu/menu.js +10 -5
  221. package/plugins/contextMenu/menu/menu.mjs +11 -6
  222. package/plugins/contextMenu/menu/positioner.js +4 -2
  223. package/plugins/contextMenu/menu/positioner.mjs +4 -2
  224. package/plugins/contextMenu/menu/shortcuts.js +3 -1
  225. package/plugins/contextMenu/menu/shortcuts.mjs +3 -1
  226. package/plugins/contextMenu/predefinedItems/alignment.js +7 -84
  227. package/plugins/contextMenu/predefinedItems/alignment.mjs +8 -85
  228. package/plugins/contextMenu/utils.js +0 -10
  229. package/plugins/contextMenu/utils.mjs +0 -9
  230. package/plugins/copyPaste/copyPaste.d.ts +1 -0
  231. package/plugins/copyPaste/copyPaste.js +32 -23
  232. package/plugins/copyPaste/copyPaste.mjs +24 -15
  233. package/plugins/customBorders/utils.js +2 -0
  234. package/plugins/customBorders/utils.mjs +2 -0
  235. package/plugins/dropdownMenu/dropdownMenu.d.ts +2 -1
  236. package/plugins/dropdownMenu/dropdownMenu.js +6 -7
  237. package/plugins/dropdownMenu/dropdownMenu.mjs +1 -1
  238. package/plugins/exportFile/types/csv.js +1 -0
  239. package/plugins/exportFile/types/csv.mjs +1 -0
  240. package/plugins/filters/component/condition.js +2 -0
  241. package/plugins/filters/component/condition.mjs +2 -0
  242. package/plugins/filters/component/operators.js +2 -0
  243. package/plugins/filters/component/operators.mjs +2 -0
  244. package/plugins/filters/component/value.js +3 -0
  245. package/plugins/filters/component/value.mjs +3 -0
  246. package/plugins/filters/conditionCollection.js +3 -0
  247. package/plugins/filters/conditionCollection.mjs +3 -0
  248. package/plugins/filters/conditionUpdateObserver.js +2 -0
  249. package/plugins/filters/conditionUpdateObserver.mjs +2 -0
  250. package/plugins/filters/filters.js +43 -13
  251. package/plugins/filters/filters.mjs +43 -13
  252. package/plugins/filters/logicalOperations/conjunction.js +2 -0
  253. package/plugins/filters/logicalOperations/conjunction.mjs +2 -0
  254. package/plugins/filters/logicalOperations/disjunction.js +2 -0
  255. package/plugins/filters/logicalOperations/disjunction.mjs +2 -0
  256. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -0
  257. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -0
  258. package/plugins/filters/menu/focusController.js +38 -14
  259. package/plugins/filters/menu/focusController.mjs +38 -14
  260. package/plugins/filters/ui/multipleSelect.js +10 -0
  261. package/plugins/filters/ui/multipleSelect.mjs +10 -0
  262. package/plugins/formulas/engine/register.js +3 -0
  263. package/plugins/formulas/engine/register.mjs +3 -0
  264. package/plugins/formulas/engine/settings.js +3 -0
  265. package/plugins/formulas/engine/settings.mjs +3 -0
  266. package/plugins/formulas/formulas.js +12 -7
  267. package/plugins/formulas/formulas.mjs +6 -1
  268. package/plugins/formulas/indexSyncer/axisSyncer.js +3 -0
  269. package/plugins/formulas/indexSyncer/axisSyncer.mjs +3 -0
  270. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +2 -0
  271. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -0
  272. package/plugins/hiddenColumns/hiddenColumns.js +22 -30
  273. package/plugins/hiddenColumns/hiddenColumns.mjs +18 -26
  274. package/plugins/hiddenRows/contextMenuItem/showRow.js +2 -0
  275. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -0
  276. package/plugins/hiddenRows/hiddenRows.js +21 -29
  277. package/plugins/hiddenRows/hiddenRows.mjs +17 -25
  278. package/plugins/index.d.ts +3 -0
  279. package/plugins/index.js +3 -0
  280. package/plugins/index.mjs +3 -1
  281. package/plugins/manualColumnFreeze/manualColumnFreeze.js +7 -5
  282. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +3 -1
  283. package/plugins/manualColumnMove/manualColumnMove.js +6 -6
  284. package/plugins/manualColumnMove/manualColumnMove.mjs +4 -4
  285. package/plugins/manualColumnResize/manualColumnResize.js +26 -12
  286. package/plugins/manualColumnResize/manualColumnResize.mjs +26 -12
  287. package/plugins/manualRowMove/manualRowMove.js +8 -6
  288. package/plugins/manualRowMove/manualRowMove.mjs +6 -4
  289. package/plugins/manualRowResize/manualRowResize.js +3 -2
  290. package/plugins/manualRowResize/manualRowResize.mjs +4 -3
  291. package/plugins/mergeCells/cellsCollection.js +19 -3
  292. package/plugins/mergeCells/cellsCollection.mjs +20 -4
  293. package/plugins/mergeCells/mergeCells.d.ts +6 -2
  294. package/plugins/mergeCells/mergeCells.js +84 -56
  295. package/plugins/mergeCells/mergeCells.mjs +82 -54
  296. package/plugins/mergeCells/renderer.js +13 -3
  297. package/plugins/mergeCells/renderer.mjs +13 -3
  298. package/plugins/multiColumnSorting/domHelpers.js +2 -0
  299. package/plugins/multiColumnSorting/domHelpers.mjs +2 -0
  300. package/plugins/nestedHeaders/nestedHeaders.js +63 -16
  301. package/plugins/nestedHeaders/nestedHeaders.mjs +63 -16
  302. package/plugins/nestedHeaders/stateManager/index.js +1 -0
  303. package/plugins/nestedHeaders/stateManager/index.mjs +1 -0
  304. package/plugins/nestedRows/nestedRows.js +3 -0
  305. package/plugins/nestedRows/nestedRows.mjs +3 -0
  306. package/plugins/nestedRows/ui/headers.js +7 -1
  307. package/plugins/nestedRows/ui/headers.mjs +7 -1
  308. package/plugins/nestedRows/utils/rowMoveController.js +4 -0
  309. package/plugins/nestedRows/utils/rowMoveController.mjs +4 -0
  310. package/plugins/persistentState/persistentState.js +4 -4
  311. package/plugins/persistentState/persistentState.mjs +1 -1
  312. package/plugins/stretchColumns/calculator.js +162 -0
  313. package/plugins/stretchColumns/calculator.mjs +158 -0
  314. package/plugins/stretchColumns/index.d.ts +1 -0
  315. package/plugins/stretchColumns/index.js +7 -0
  316. package/plugins/stretchColumns/index.mjs +1 -0
  317. package/plugins/stretchColumns/strategies/_base.js +85 -0
  318. package/plugins/stretchColumns/strategies/_base.mjs +81 -0
  319. package/plugins/stretchColumns/strategies/all.js +71 -0
  320. package/plugins/stretchColumns/strategies/all.mjs +67 -0
  321. package/plugins/stretchColumns/strategies/last.js +79 -0
  322. package/plugins/stretchColumns/strategies/last.mjs +75 -0
  323. package/plugins/stretchColumns/stretchColumns.d.ts +11 -0
  324. package/plugins/stretchColumns/stretchColumns.js +222 -0
  325. package/plugins/stretchColumns/stretchColumns.mjs +218 -0
  326. package/plugins/trimRows/trimRows.js +2 -0
  327. package/plugins/trimRows/trimRows.mjs +2 -0
  328. package/plugins/undoRedo/undoRedo.js +9 -5
  329. package/plugins/undoRedo/undoRedo.mjs +8 -3
  330. package/renderers/checkboxRenderer/checkboxRenderer.js +19 -8
  331. package/renderers/checkboxRenderer/checkboxRenderer.mjs +18 -7
  332. package/selection/index.js +2 -0
  333. package/selection/range.js +2 -0
  334. package/selection/range.mjs +2 -0
  335. package/selection/selection.js +7 -2
  336. package/selection/selection.mjs +7 -2
  337. package/selection/utils.js +2 -0
  338. package/selection/utils.mjs +2 -0
  339. package/settings.d.ts +4 -1
  340. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +1 -1
  341. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +1 -1
  342. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +1 -1
  343. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +1 -1
  344. package/shortcutContexts/commands/index.js +2 -0
  345. package/shortcutContexts/commands/index.mjs +2 -0
  346. package/shortcutContexts/commands/scrollToFocusedCell.js +4 -4
  347. package/shortcutContexts/commands/scrollToFocusedCell.mjs +4 -4
  348. package/shortcutContexts/index.js +2 -0
  349. package/shortcutContexts/index.mjs +2 -0
  350. package/shortcuts/context.js +3 -0
  351. package/shortcuts/context.mjs +3 -0
  352. package/shortcuts/recorder.js +3 -3
  353. package/shortcuts/recorder.mjs +3 -3
  354. package/shortcuts/utils.js +1 -0
  355. package/shortcuts/utils.mjs +1 -0
  356. package/styles/handsontable.css +2307 -0
  357. package/styles/handsontable.min.css +30 -0
  358. package/styles/ht-theme-horizon.css +607 -0
  359. package/styles/ht-theme-horizon.min.css +30 -0
  360. package/styles/ht-theme-main.css +613 -0
  361. package/styles/ht-theme-main.min.css +30 -0
  362. package/tableView.js +205 -33
  363. package/tableView.mjs +206 -34
  364. package/translations/changesObservable/observable.js +2 -0
  365. package/translations/changesObservable/observable.mjs +2 -0
  366. package/translations/index.js +2 -0
  367. package/translations/indexMapper.js +4 -0
  368. package/translations/indexMapper.mjs +4 -0
  369. package/translations/mapCollections/index.js +2 -0
  370. package/translations/mapCollections/mapCollection.js +2 -0
  371. package/translations/mapCollections/mapCollection.mjs +2 -0
  372. package/translations/maps/index.js +2 -0
  373. package/translations/maps/linkedPhysicalIndexToValueMap.js +1 -0
  374. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +1 -0
  375. package/translations/maps/utils/actionsOnIndexes.js +2 -0
  376. package/translations/maps/utils/actionsOnIndexes.mjs +2 -0
  377. package/translations/maps/utils/physicallyIndexed.js +1 -0
  378. package/translations/maps/utils/physicallyIndexed.mjs +1 -0
  379. package/utils/autoResize.js +11 -3
  380. package/utils/autoResize.mjs +11 -3
  381. package/utils/dataStructures/priorityMap.js +1 -0
  382. package/utils/dataStructures/priorityMap.mjs +1 -0
  383. package/utils/dataStructures/uniqueMap.js +2 -0
  384. package/utils/dataStructures/uniqueMap.mjs +2 -0
  385. package/utils/ghostTable.js +7 -3
  386. package/utils/ghostTable.mjs +7 -3
  387. package/utils/parseTable.js +4 -0
  388. package/utils/parseTable.mjs +4 -0
  389. package/3rdparty/walkontable/src/selection/border/constants.js +0 -15
  390. package/3rdparty/walkontable/src/selection/border/constants.mjs +0 -12
  391. package/3rdparty/walkontable/src/utils/columnStretching.js +0 -197
  392. package/3rdparty/walkontable/src/utils/columnStretching.mjs +0 -193
@@ -9,8 +9,8 @@ exports.closestDown = closestDown;
9
9
  exports.empty = empty;
10
10
  exports.fastInnerHTML = fastInnerHTML;
11
11
  exports.fastInnerText = fastInnerText;
12
+ exports.findFirstParentWithClass = findFirstParentWithClass;
12
13
  exports.getCaretPosition = getCaretPosition;
13
- exports.getComputedStyle = getComputedStyle;
14
14
  exports.getCssTransform = getCssTransform;
15
15
  exports.getFrameElement = getFrameElement;
16
16
  exports.getMaximumScrollLeft = getMaximumScrollLeft;
@@ -60,6 +60,9 @@ exports.setCaretPosition = setCaretPosition;
60
60
  exports.setOverlayPosition = setOverlayPosition;
61
61
  require("core-js/modules/es.error.cause.js");
62
62
  require("core-js/modules/es.array.push.js");
63
+ require("core-js/modules/esnext.iterator.constructor.js");
64
+ require("core-js/modules/esnext.iterator.filter.js");
65
+ require("core-js/modules/esnext.iterator.for-each.js");
63
66
  var _string = require("../string");
64
67
  var _a11y = require("../a11y");
65
68
  /**
@@ -195,6 +198,36 @@ function closestDown(element, nodes, until) {
195
198
  return length ? matched[length - 1] : null;
196
199
  }
197
200
 
201
+ /**
202
+ * Traverses up the DOM tree from the given element and finds parent elements that have a specified class name
203
+ * or match a provided class name regular expression.
204
+ *
205
+ * @param {HTMLElement} element - The element from which to start traversing.
206
+ * @param {string|RegExp} className - The class name or class name regular expression to check.
207
+ * @returns {{element: HTMLElement, classNames: string[]}} - Returns an object containing the matched parent element and an array of matched class names.
208
+ */
209
+ function findFirstParentWithClass(element, className) {
210
+ const matched = {
211
+ element: undefined,
212
+ classNames: []
213
+ };
214
+ let elementToCheck = element;
215
+ while (elementToCheck !== null && elementToCheck !== element.ownerDocument.documentElement && !matched.element) {
216
+ if (typeof className === 'string' && elementToCheck.classList.contains(className)) {
217
+ matched.element = elementToCheck;
218
+ matched.classNames.push(className);
219
+ } else if (className instanceof RegExp) {
220
+ const matchingClasses = Array.from(elementToCheck.classList).filter(cls => className.test(cls));
221
+ if (matchingClasses.length) {
222
+ matched.element = elementToCheck;
223
+ matched.classNames.push(...matchingClasses);
224
+ }
225
+ }
226
+ elementToCheck = elementToCheck.parentElement;
227
+ }
228
+ return matched;
229
+ }
230
+
198
231
  /**
199
232
  * Goes up the DOM tree and checks if element is child of another element.
200
233
  *
@@ -332,7 +365,7 @@ function addClass(element, className) {
332
365
  * Remove class name from an element.
333
366
  *
334
367
  * @param {HTMLElement} element An element to process.
335
- * @param {string|Array<string|RegExp>} className Class name as string or array of strings.
368
+ * @param {string|RegExp|Array<string|RegExp>} className Class name as string or array of strings.
336
369
  */
337
370
  function removeClass(element, className) {
338
371
  if (typeof className === 'string') {
@@ -488,6 +521,7 @@ function fastInnerText(element, content) {
488
521
  */
489
522
  function isVisible(element) {
490
523
  const documentElement = element.ownerDocument.documentElement;
524
+ const windowElement = element.ownerDocument.defaultView;
491
525
  let next = element;
492
526
  while (next !== documentElement) {
493
527
  // until <html> reached
@@ -510,7 +544,7 @@ function isVisible(element) {
510
544
  } else {
511
545
  return false; // this is a node detached from document in IE8
512
546
  }
513
- } else if (getComputedStyle(next).display === 'none') {
547
+ } else if (windowElement.getComputedStyle(next).display === 'none') {
514
548
  return false;
515
549
  }
516
550
  next = next.parentNode;
@@ -700,7 +734,7 @@ function getTrimmingContainer(base) {
700
734
  if (el.style.overflow !== 'visible' && el.style.overflow !== '') {
701
735
  return el;
702
736
  }
703
- const computedStyle = getComputedStyle(el, rootWindow);
737
+ const computedStyle = rootWindow.getComputedStyle(el);
704
738
  const allowedProperties = ['scroll', 'hidden', 'auto'];
705
739
  const property = computedStyle.getPropertyValue('overflow');
706
740
  const propertyY = computedStyle.getPropertyValue('overflow-y');
@@ -738,7 +772,7 @@ function getStyle(element, prop) {
738
772
  if (styleProp !== '' && styleProp !== undefined) {
739
773
  return styleProp;
740
774
  }
741
- const computedStyle = getComputedStyle(element, rootWindow);
775
+ const computedStyle = rootWindow.getComputedStyle(element);
742
776
  if (computedStyle[prop] !== '' && computedStyle[prop] !== undefined) {
743
777
  return computedStyle[prop];
744
778
  }
@@ -766,19 +800,6 @@ function matchesCSSRules(element, rule) {
766
800
  return result;
767
801
  }
768
802
 
769
- /**
770
- * Returns a computed style object for the provided element. (Needed if style is declared in external stylesheet).
771
- *
772
- * @param {HTMLElement} element An element to get style from.
773
- * @param {Window} [rootWindow] The document window owner.
774
- * @returns {IEElementStyle|CssStyle} Elements computed style object.
775
- */
776
- // eslint-disable-next-line no-restricted-globals
777
- function getComputedStyle(element) {
778
- let rootWindow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
779
- return element.currentStyle || rootWindow.getComputedStyle(element);
780
- }
781
-
782
803
  /**
783
804
  * Returns the element's outer width.
784
805
  *
@@ -1,5 +1,8 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  import "core-js/modules/es.array.push.js";
3
+ import "core-js/modules/esnext.iterator.constructor.js";
4
+ import "core-js/modules/esnext.iterator.filter.js";
5
+ import "core-js/modules/esnext.iterator.for-each.js";
3
6
  import { sanitize } from "../string.mjs";
4
7
  import { A11Y_HIDDEN } from "../a11y.mjs";
5
8
  /**
@@ -135,6 +138,36 @@ export function closestDown(element, nodes, until) {
135
138
  return length ? matched[length - 1] : null;
136
139
  }
137
140
 
141
+ /**
142
+ * Traverses up the DOM tree from the given element and finds parent elements that have a specified class name
143
+ * or match a provided class name regular expression.
144
+ *
145
+ * @param {HTMLElement} element - The element from which to start traversing.
146
+ * @param {string|RegExp} className - The class name or class name regular expression to check.
147
+ * @returns {{element: HTMLElement, classNames: string[]}} - Returns an object containing the matched parent element and an array of matched class names.
148
+ */
149
+ export function findFirstParentWithClass(element, className) {
150
+ const matched = {
151
+ element: undefined,
152
+ classNames: []
153
+ };
154
+ let elementToCheck = element;
155
+ while (elementToCheck !== null && elementToCheck !== element.ownerDocument.documentElement && !matched.element) {
156
+ if (typeof className === 'string' && elementToCheck.classList.contains(className)) {
157
+ matched.element = elementToCheck;
158
+ matched.classNames.push(className);
159
+ } else if (className instanceof RegExp) {
160
+ const matchingClasses = Array.from(elementToCheck.classList).filter(cls => className.test(cls));
161
+ if (matchingClasses.length) {
162
+ matched.element = elementToCheck;
163
+ matched.classNames.push(...matchingClasses);
164
+ }
165
+ }
166
+ elementToCheck = elementToCheck.parentElement;
167
+ }
168
+ return matched;
169
+ }
170
+
138
171
  /**
139
172
  * Goes up the DOM tree and checks if element is child of another element.
140
173
  *
@@ -272,7 +305,7 @@ export function addClass(element, className) {
272
305
  * Remove class name from an element.
273
306
  *
274
307
  * @param {HTMLElement} element An element to process.
275
- * @param {string|Array<string|RegExp>} className Class name as string or array of strings.
308
+ * @param {string|RegExp|Array<string|RegExp>} className Class name as string or array of strings.
276
309
  */
277
310
  export function removeClass(element, className) {
278
311
  if (typeof className === 'string') {
@@ -428,6 +461,7 @@ export function fastInnerText(element, content) {
428
461
  */
429
462
  export function isVisible(element) {
430
463
  const documentElement = element.ownerDocument.documentElement;
464
+ const windowElement = element.ownerDocument.defaultView;
431
465
  let next = element;
432
466
  while (next !== documentElement) {
433
467
  // until <html> reached
@@ -450,7 +484,7 @@ export function isVisible(element) {
450
484
  } else {
451
485
  return false; // this is a node detached from document in IE8
452
486
  }
453
- } else if (getComputedStyle(next).display === 'none') {
487
+ } else if (windowElement.getComputedStyle(next).display === 'none') {
454
488
  return false;
455
489
  }
456
490
  next = next.parentNode;
@@ -640,7 +674,7 @@ export function getTrimmingContainer(base) {
640
674
  if (el.style.overflow !== 'visible' && el.style.overflow !== '') {
641
675
  return el;
642
676
  }
643
- const computedStyle = getComputedStyle(el, rootWindow);
677
+ const computedStyle = rootWindow.getComputedStyle(el);
644
678
  const allowedProperties = ['scroll', 'hidden', 'auto'];
645
679
  const property = computedStyle.getPropertyValue('overflow');
646
680
  const propertyY = computedStyle.getPropertyValue('overflow-y');
@@ -678,7 +712,7 @@ export function getStyle(element, prop) {
678
712
  if (styleProp !== '' && styleProp !== undefined) {
679
713
  return styleProp;
680
714
  }
681
- const computedStyle = getComputedStyle(element, rootWindow);
715
+ const computedStyle = rootWindow.getComputedStyle(element);
682
716
  if (computedStyle[prop] !== '' && computedStyle[prop] !== undefined) {
683
717
  return computedStyle[prop];
684
718
  }
@@ -706,19 +740,6 @@ export function matchesCSSRules(element, rule) {
706
740
  return result;
707
741
  }
708
742
 
709
- /**
710
- * Returns a computed style object for the provided element. (Needed if style is declared in external stylesheet).
711
- *
712
- * @param {HTMLElement} element An element to get style from.
713
- * @param {Window} [rootWindow] The document window owner.
714
- * @returns {IEElementStyle|CssStyle} Elements computed style object.
715
- */
716
- // eslint-disable-next-line no-restricted-globals
717
- export function getComputedStyle(element) {
718
- let rootWindow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
719
- return element.currentStyle || rootWindow.getComputedStyle(element);
720
- }
721
-
722
743
  /**
723
744
  * Returns the element's outer width.
724
745
  *
package/helpers/mixed.js CHANGED
@@ -134,7 +134,7 @@ const domMessages = {
134
134
  function _injectProductInfo(key, element) {
135
135
  const hasValidType = !isEmpty(key);
136
136
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
137
- const hotVersion = "14.6.1-next-689aaa6-20241016";
137
+ const hotVersion = "15.0.0-next-4472a60-20241203";
138
138
  let keyValidityDate;
139
139
  let consoleMessageState = 'invalid';
140
140
  let domMessageState = 'invalid';
@@ -142,7 +142,7 @@ function _injectProductInfo(key, element) {
142
142
  const schemaValidity = _checkKeySchema(key);
143
143
  if (hasValidType || isNonCommercial || schemaValidity) {
144
144
  if (schemaValidity) {
145
- const releaseDate = (0, _moment.default)("17/10/2024", 'DD/MM/YYYY');
145
+ const releaseDate = (0, _moment.default)("11/12/2024", 'DD/MM/YYYY');
146
146
  const releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
147
147
  const keyValidityDays = _extractTime(key);
148
148
  keyValidityDate = (0, _moment.default)((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
@@ -188,7 +188,7 @@ function _injectProductInfo(key, element) {
188
188
  });
189
189
  if (message) {
190
190
  const messageNode = document.createElement('div');
191
- messageNode.className = 'hot-display-license-info';
191
+ messageNode.className = 'handsontable hot-display-license-info';
192
192
  messageNode.innerHTML = domMessages[domMessageState]({
193
193
  keyValidityDate,
194
194
  hotVersion
package/helpers/mixed.mjs CHANGED
@@ -124,7 +124,7 @@ const domMessages = {
124
124
  export function _injectProductInfo(key, element) {
125
125
  const hasValidType = !isEmpty(key);
126
126
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
127
- const hotVersion = "14.6.1-next-689aaa6-20241016";
127
+ const hotVersion = "15.0.0-next-4472a60-20241203";
128
128
  let keyValidityDate;
129
129
  let consoleMessageState = 'invalid';
130
130
  let domMessageState = 'invalid';
@@ -132,7 +132,7 @@ export function _injectProductInfo(key, element) {
132
132
  const schemaValidity = _checkKeySchema(key);
133
133
  if (hasValidType || isNonCommercial || schemaValidity) {
134
134
  if (schemaValidity) {
135
- const releaseDate = moment("17/10/2024", 'DD/MM/YYYY');
135
+ const releaseDate = moment("11/12/2024", 'DD/MM/YYYY');
136
136
  const releaseDays = Math.floor(releaseDate.toDate().getTime() / 8.64e7);
137
137
  const keyValidityDays = _extractTime(key);
138
138
  keyValidityDate = moment((keyValidityDays + 1) * 8.64e7, 'x').format('MMMM DD, YYYY');
@@ -178,7 +178,7 @@ export function _injectProductInfo(key, element) {
178
178
  });
179
179
  if (message) {
180
180
  const messageNode = document.createElement('div');
181
- messageNode.className = 'hot-display-license-info';
181
+ messageNode.className = 'handsontable hot-display-license-info';
182
182
  messageNode.innerHTML = domMessages[domMessageState]({
183
183
  keyValidityDate,
184
184
  hotVersion
package/helpers/moves.js CHANGED
@@ -3,6 +3,9 @@
3
3
  exports.__esModule = true;
4
4
  exports.getMoves = getMoves;
5
5
  require("core-js/modules/es.array.push.js");
6
+ require("core-js/modules/esnext.iterator.constructor.js");
7
+ require("core-js/modules/esnext.iterator.filter.js");
8
+ require("core-js/modules/esnext.iterator.for-each.js");
6
9
  /**
7
10
  * Gets first position where to move element (respecting the fact that some element will be sooner or later
8
11
  * taken out of the dataset in order to move them).
package/helpers/moves.mjs CHANGED
@@ -1,4 +1,7 @@
1
1
  import "core-js/modules/es.array.push.js";
2
+ import "core-js/modules/esnext.iterator.constructor.js";
3
+ import "core-js/modules/esnext.iterator.filter.js";
4
+ import "core-js/modules/esnext.iterator.for-each.js";
2
5
  /**
3
6
  * Gets first position where to move element (respecting the fact that some element will be sooner or later
4
7
  * taken out of the dataset in order to move them).
package/helpers/number.js CHANGED
@@ -14,6 +14,7 @@ require("core-js/modules/es.set.is-subset-of.v2.js");
14
14
  require("core-js/modules/es.set.is-superset-of.v2.js");
15
15
  require("core-js/modules/es.set.symmetric-difference.v2.js");
16
16
  require("core-js/modules/es.set.union.v2.js");
17
+ require("core-js/modules/esnext.iterator.map.js");
17
18
  /* eslint-disable jsdoc/require-description-complete-sentence */
18
19
  /**
19
20
  * Checks if the passed value is numeric one. For example these values (passed as string or number)
@@ -5,6 +5,7 @@ import "core-js/modules/es.set.is-subset-of.v2.js";
5
5
  import "core-js/modules/es.set.is-superset-of.v2.js";
6
6
  import "core-js/modules/es.set.symmetric-difference.v2.js";
7
7
  import "core-js/modules/es.set.union.v2.js";
8
+ import "core-js/modules/esnext.iterator.map.js";
8
9
  /* eslint-disable jsdoc/require-description-complete-sentence */
9
10
  /**
10
11
  * Checks if the passed value is numeric one. For example these values (passed as string or number)
package/helpers/object.js CHANGED
@@ -20,6 +20,8 @@ exports.setProperty = setProperty;
20
20
  require("core-js/modules/es.error.cause.js");
21
21
  require("core-js/modules/es.array.push.js");
22
22
  require("core-js/modules/es.json.stringify.js");
23
+ require("core-js/modules/esnext.iterator.constructor.js");
24
+ require("core-js/modules/esnext.iterator.for-each.js");
23
25
  var _array = require("./array");
24
26
  /**
25
27
  * Generate schema for passed object.
@@ -1,6 +1,8 @@
1
1
  import "core-js/modules/es.error.cause.js";
2
2
  import "core-js/modules/es.array.push.js";
3
3
  import "core-js/modules/es.json.stringify.js";
4
+ import "core-js/modules/esnext.iterator.constructor.js";
5
+ import "core-js/modules/esnext.iterator.for-each.js";
4
6
  import { arrayEach } from "./array.mjs";
5
7
  /**
6
8
  * Generate schema for passed object.
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.getThemeClassName = getThemeClassName;
5
+ var _element = require("./dom/element");
6
+ /**
7
+ * Retrieves the theme class name from the closest parent element that matches the specified regex pattern.
8
+ *
9
+ * @param {HTMLElement} rootElement - The root element from which to start searching for the theme class.
10
+ * @returns {string} - The theme class name regex.
11
+ */
12
+ function getThemeClassName(rootElement) {
13
+ const {
14
+ classNames
15
+ } = (0, _element.findFirstParentWithClass)(rootElement, /ht-theme-[a-zA-Z0-9_-]+/);
16
+ return classNames.pop();
17
+ }
@@ -0,0 +1,13 @@
1
+ import { findFirstParentWithClass } from "./dom/element.mjs";
2
+ /**
3
+ * Retrieves the theme class name from the closest parent element that matches the specified regex pattern.
4
+ *
5
+ * @param {HTMLElement} rootElement - The root element from which to start searching for the theme class.
6
+ * @returns {string} - The theme class name regex.
7
+ */
8
+ export function getThemeClassName(rootElement) {
9
+ const {
10
+ classNames
11
+ } = findFirstParentWithClass(rootElement, /ht-theme-[a-zA-Z0-9_-]+/);
12
+ return classNames.pop();
13
+ }
package/i18n/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/esnext.iterator.constructor.js");
4
+ require("core-js/modules/esnext.iterator.for-each.js");
3
5
  exports.__esModule = true;
4
6
  var _languages = require("./languages");
5
7
  Object.keys(_languages).forEach(function (key) {
@@ -1,8 +1,11 @@
1
+ import arAr from './ar-AR';
2
+ import csCZ from './cs-CZ';
1
3
  import deCH from './de-CH';
2
4
  import deDE from './de-DE';
3
5
  import enUS from './en-US';
4
6
  import esMX from './es-MX';
5
7
  import frFR from './fr-FR';
8
+ import hrHR from './hr-HR';
6
9
  import itIT from './it-IT';
7
10
  import jaJP from './ja-JP';
8
11
  import koKR from './ko-KR';
@@ -12,15 +15,19 @@ import nlNL from './nl-NL';
12
15
  import plPL from './pl-PL';
13
16
  import ptBR from './pt-BR';
14
17
  import ruRU from './ru-RU';
18
+ import srSP from './sr-SP';
15
19
  import zhCN from './zh-CN';
16
20
  import zhTW from './zh-TW';
17
21
 
18
22
  export {
23
+ arAr,
24
+ csCZ,
19
25
  deCH,
20
26
  deDE,
21
27
  enUS,
22
28
  esMX,
23
29
  frFR,
30
+ hrHR,
24
31
  itIT,
25
32
  jaJP,
26
33
  koKR,
@@ -30,6 +37,7 @@ export {
30
37
  plPL,
31
38
  ptBR,
32
39
  ruRU,
40
+ srSP,
33
41
  zhCN,
34
42
  zhTW
35
43
  };
@@ -1,5 +1,5 @@
1
1
  export default dictionary;
2
2
  declare const dictionary: {
3
3
  [x: string]: string | string[];
4
- languageCode: 'js-JP';
4
+ languageCode: 'ja-JP';
5
5
  };
@@ -2,6 +2,7 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.default = substituteVariables;
5
+ require("core-js/modules/esnext.iterator.map.js");
5
6
  var _string = require("./../../helpers/string");
6
7
  /**
7
8
  * Try to substitute variable inside phrase propositions.
@@ -1,3 +1,4 @@
1
+ import "core-js/modules/esnext.iterator.map.js";
1
2
  import { substitute } from "./../../helpers/string.mjs";
2
3
  /**
3
4
  * Try to substitute variable inside phrase propositions.
package/index.d.ts CHANGED
@@ -78,7 +78,7 @@ import * as dom from './helpers/dom';
78
78
  import CellCoords from './3rdparty/walkontable/src/cell/coords';
79
79
  import CellRange from './3rdparty/walkontable/src/cell/range';
80
80
  import EventManager from './eventManager';
81
- import { Hooks } from './pluginHooks';
81
+ import { Hooks, Events } from './core/hooks';
82
82
  // plugins
83
83
  import {
84
84
  AutoColumnSize as _AutoColumnSize,
@@ -220,6 +220,9 @@ import {
220
220
  SearchCallback,
221
221
  SearchQueryMethod,
222
222
  } from './plugins/search';
223
+ import {
224
+ Settings as StretchColumnsSettings,
225
+ } from './plugins/stretchColumns';
223
226
  import {
224
227
  TouchScroll as _TouchScroll,
225
228
  Settings as TouchScrollSettings,
@@ -523,6 +526,10 @@ declare namespace Handsontable {
523
526
  export { SearchQueryMethod };
524
527
  }
525
528
 
529
+ export namespace StretchColumns {
530
+ export { StretchColumnsSettings as Settings };
531
+ }
532
+
526
533
  export namespace TouchScroll {
527
534
  export { TouchScrollSettings as Settings };
528
535
  }
@@ -547,5 +554,6 @@ declare class Handsontable extends Core {
547
554
  export {
548
555
  CellCoords,
549
556
  CellRange,
557
+ Events,
550
558
  };
551
559
  export default Handsontable;
package/languages/all.js CHANGED
@@ -2035,7 +2035,7 @@ var _default = exports["default"] = dictionary;
2035
2035
  /******/
2036
2036
  /************************************************************************/
2037
2037
  var __webpack_exports__ = {};
2038
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
2038
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
2039
2039
  (() => {
2040
2040
  "use strict";
2041
2041
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -2035,7 +2035,7 @@ var _default = exports["default"] = dictionary;
2035
2035
  /******/
2036
2036
  /************************************************************************/
2037
2037
  var __webpack_exports__ = {};
2038
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
2038
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
2039
2039
  (() => {
2040
2040
  "use strict";
2041
2041
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;
@@ -57,7 +57,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
57
57
  /******/
58
58
  /************************************************************************/
59
59
  var __webpack_exports__ = {};
60
- // This entry need to be wrapped in an IIFE because it need to be in strict mode.
60
+ // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
61
61
  (() => {
62
62
  "use strict";
63
63
  var exports = __webpack_exports__;