handsontable 12.1.2 → 12.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (918) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +3 -32
  2. package/3rdparty/SheetClip/SheetClip.mjs +3 -23
  3. package/3rdparty/SheetClip/index.js +0 -2
  4. package/3rdparty/autoResize/autoResize.js +119 -145
  5. package/3rdparty/autoResize/autoResize.mjs +119 -143
  6. package/3rdparty/autoResize/index.js +0 -2
  7. package/3rdparty/walkontable/src/border.js +72 -174
  8. package/3rdparty/walkontable/src/border.mjs +74 -161
  9. package/3rdparty/walkontable/src/calculator/constants.js +0 -3
  10. package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
  11. package/3rdparty/walkontable/src/calculator/index.js +0 -10
  12. package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
  13. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
  14. package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
  15. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
  16. package/3rdparty/walkontable/src/cell/coords.js +13 -43
  17. package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
  18. package/3rdparty/walkontable/src/cell/range.js +55 -130
  19. package/3rdparty/walkontable/src/cell/range.mjs +60 -126
  20. package/3rdparty/walkontable/src/core/_base.js +16 -74
  21. package/3rdparty/walkontable/src/core/_base.mjs +19 -70
  22. package/3rdparty/walkontable/src/core/clone.js +1 -40
  23. package/3rdparty/walkontable/src/core/clone.mjs +3 -30
  24. package/3rdparty/walkontable/src/core/core.js +3 -57
  25. package/3rdparty/walkontable/src/core/core.mjs +5 -41
  26. package/3rdparty/walkontable/src/event.js +31 -78
  27. package/3rdparty/walkontable/src/event.mjs +31 -65
  28. package/3rdparty/walkontable/src/facade/core.js +1 -17
  29. package/3rdparty/walkontable/src/facade/core.mjs +7 -20
  30. package/3rdparty/walkontable/src/filter/column.js +9 -18
  31. package/3rdparty/walkontable/src/filter/column.mjs +9 -17
  32. package/3rdparty/walkontable/src/filter/row.js +9 -18
  33. package/3rdparty/walkontable/src/filter/row.mjs +9 -17
  34. package/3rdparty/walkontable/src/index.js +0 -31
  35. package/3rdparty/walkontable/src/overlay/_base.js +24 -69
  36. package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
  37. package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
  38. package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
  39. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
  40. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
  41. package/3rdparty/walkontable/src/overlay/constants.js +0 -6
  42. package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
  43. package/3rdparty/walkontable/src/overlay/index.js +0 -17
  44. package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
  45. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
  46. package/3rdparty/walkontable/src/overlay/top.js +27 -100
  47. package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
  48. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
  49. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
  50. package/3rdparty/walkontable/src/overlays.js +58 -129
  51. package/3rdparty/walkontable/src/overlays.mjs +60 -121
  52. package/3rdparty/walkontable/src/renderer/_base.js +4 -20
  53. package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
  54. package/3rdparty/walkontable/src/renderer/cells.js +10 -54
  55. package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
  56. package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
  57. package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
  58. package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
  59. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
  60. package/3rdparty/walkontable/src/renderer/index.js +13 -36
  61. package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
  62. package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
  63. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
  64. package/3rdparty/walkontable/src/renderer/rows.js +3 -46
  65. package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
  66. package/3rdparty/walkontable/src/renderer/table.js +22 -49
  67. package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
  68. package/3rdparty/walkontable/src/scroll.js +56 -86
  69. package/3rdparty/walkontable/src/scroll.mjs +58 -86
  70. package/3rdparty/walkontable/src/selection.js +20 -101
  71. package/3rdparty/walkontable/src/selection.mjs +22 -85
  72. package/3rdparty/walkontable/src/settings.js +9 -29
  73. package/3rdparty/walkontable/src/settings.mjs +9 -27
  74. package/3rdparty/walkontable/src/table/bottom.js +1 -35
  75. package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
  76. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
  77. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
  78. package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
  79. package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
  80. package/3rdparty/walkontable/src/table/master.js +10 -55
  81. package/3rdparty/walkontable/src/table/master.mjs +15 -44
  82. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
  83. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
  84. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
  85. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
  86. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
  87. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
  88. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
  89. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
  90. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
  91. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
  92. package/3rdparty/walkontable/src/table/top.js +1 -35
  93. package/3rdparty/walkontable/src/table/top.mjs +6 -25
  94. package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
  95. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
  96. package/3rdparty/walkontable/src/table.js +74 -238
  97. package/3rdparty/walkontable/src/table.mjs +84 -227
  98. package/3rdparty/walkontable/src/types.js +0 -5
  99. package/3rdparty/walkontable/src/types.mjs +0 -5
  100. package/3rdparty/walkontable/src/utils/column.js +9 -31
  101. package/3rdparty/walkontable/src/utils/column.mjs +13 -30
  102. package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
  103. package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
  104. package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
  105. package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
  106. package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
  107. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
  108. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
  109. package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
  110. package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
  111. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
  112. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
  113. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
  114. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
  115. package/3rdparty/walkontable/src/utils/row.js +2 -13
  116. package/3rdparty/walkontable/src/utils/row.mjs +2 -12
  117. package/3rdparty/walkontable/src/viewport.js +38 -100
  118. package/3rdparty/walkontable/src/viewport.mjs +40 -99
  119. package/CHANGELOG.md +103 -5
  120. package/base.js +6 -17
  121. package/base.mjs +6 -12
  122. package/cellTypes/autocompleteType/autocompleteType.js +0 -4
  123. package/cellTypes/autocompleteType/index.js +0 -2
  124. package/cellTypes/checkboxType/checkboxType.js +0 -3
  125. package/cellTypes/checkboxType/index.js +0 -2
  126. package/cellTypes/dateType/dateType.js +0 -4
  127. package/cellTypes/dateType/index.js +0 -2
  128. package/cellTypes/dropdownType/dropdownType.js +0 -4
  129. package/cellTypes/dropdownType/index.js +0 -2
  130. package/cellTypes/handsontableType/handsontableType.js +0 -3
  131. package/cellTypes/handsontableType/index.js +0 -2
  132. package/cellTypes/index.js +0 -21
  133. package/cellTypes/index.mjs +3 -5
  134. package/cellTypes/numericType/index.js +0 -2
  135. package/cellTypes/numericType/numericType.js +0 -4
  136. package/cellTypes/passwordType/index.js +0 -2
  137. package/cellTypes/passwordType/passwordType.js +0 -3
  138. package/cellTypes/registry.js +10 -25
  139. package/cellTypes/registry.mjs +10 -20
  140. package/cellTypes/textType/index.js +0 -2
  141. package/cellTypes/textType/textType.js +0 -3
  142. package/cellTypes/timeType/index.js +0 -2
  143. package/cellTypes/timeType/timeType.js +0 -4
  144. package/core.d.ts +6 -4
  145. package/core.js +514 -974
  146. package/core.mjs +519 -921
  147. package/dataMap/dataMap.js +127 -212
  148. package/dataMap/dataMap.mjs +127 -188
  149. package/{dataSource.js → dataMap/dataSource.js} +18 -66
  150. package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
  151. package/dataMap/index.js +0 -13
  152. package/dataMap/metaManager/index.js +21 -46
  153. package/dataMap/metaManager/index.mjs +47 -64
  154. package/dataMap/metaManager/lazyFactoryMap.js +23 -55
  155. package/dataMap/metaManager/lazyFactoryMap.mjs +23 -43
  156. package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
  157. package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
  158. package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
  159. package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
  160. package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
  161. package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
  162. package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
  163. package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
  164. package/dataMap/metaManager/metaSchema.js +196 -257
  165. package/dataMap/metaManager/metaSchema.mjs +196 -248
  166. package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
  167. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
  168. package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
  169. package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
  170. package/dataMap/metaManager/utils.js +11 -20
  171. package/dataMap/metaManager/utils.mjs +21 -23
  172. package/dataMap/replaceData.js +14 -35
  173. package/dataMap/replaceData.mjs +35 -45
  174. package/dist/handsontable.css +2 -2
  175. package/dist/handsontable.full.css +2 -2
  176. package/dist/handsontable.full.js +64469 -93042
  177. package/dist/handsontable.full.min.css +2 -2
  178. package/dist/handsontable.full.min.js +527 -284
  179. package/dist/handsontable.js +9616 -21414
  180. package/dist/handsontable.min.css +2 -2
  181. package/dist/handsontable.min.js +3 -3
  182. package/dist/languages/all.js +0 -175
  183. package/dist/languages/ar-AR.js +0 -10
  184. package/dist/languages/cs-CZ.js +0 -10
  185. package/dist/languages/de-CH.js +0 -10
  186. package/dist/languages/de-DE.js +0 -10
  187. package/dist/languages/en-US.js +0 -10
  188. package/dist/languages/es-MX.js +0 -10
  189. package/dist/languages/fr-FR.js +0 -10
  190. package/dist/languages/it-IT.js +0 -10
  191. package/dist/languages/ja-JP.js +0 -10
  192. package/dist/languages/ko-KR.js +0 -10
  193. package/dist/languages/lv-LV.js +0 -10
  194. package/dist/languages/nb-NO.js +0 -10
  195. package/dist/languages/nl-NL.js +0 -10
  196. package/dist/languages/pl-PL.js +0 -10
  197. package/dist/languages/pt-BR.js +0 -10
  198. package/dist/languages/ru-RU.js +0 -10
  199. package/dist/languages/sr-SP.js +0 -10
  200. package/dist/languages/zh-CN.js +0 -10
  201. package/dist/languages/zh-TW.js +0 -10
  202. package/editorManager.js +89 -124
  203. package/editorManager.mjs +89 -104
  204. package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
  205. package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
  206. package/editors/autocompleteEditor/index.js +0 -2
  207. package/editors/baseEditor/baseEditor.js +45 -155
  208. package/editors/baseEditor/baseEditor.mjs +45 -129
  209. package/editors/baseEditor/index.js +0 -2
  210. package/editors/checkboxEditor/checkboxEditor.js +2 -33
  211. package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
  212. package/editors/checkboxEditor/index.js +0 -2
  213. package/editors/dateEditor/dateEditor.js +36 -97
  214. package/editors/dateEditor/dateEditor.mjs +35 -74
  215. package/editors/dateEditor/index.js +0 -2
  216. package/editors/dropdownEditor/dropdownEditor.js +1 -41
  217. package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
  218. package/editors/dropdownEditor/index.js +0 -2
  219. package/editors/handsontableEditor/handsontableEditor.js +13 -85
  220. package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
  221. package/editors/handsontableEditor/index.js +0 -2
  222. package/editors/index.js +0 -25
  223. package/editors/index.mjs +3 -5
  224. package/editors/numericEditor/index.js +0 -2
  225. package/editors/numericEditor/numericEditor.js +1 -31
  226. package/editors/numericEditor/numericEditor.mjs +1 -18
  227. package/editors/passwordEditor/index.js +0 -2
  228. package/editors/passwordEditor/passwordEditor.js +1 -38
  229. package/editors/passwordEditor/passwordEditor.mjs +1 -22
  230. package/editors/registry.js +10 -36
  231. package/editors/registry.mjs +10 -28
  232. package/editors/selectEditor/index.js +0 -2
  233. package/editors/selectEditor/selectEditor.js +21 -73
  234. package/editors/selectEditor/selectEditor.mjs +21 -56
  235. package/editors/textEditor/caretPositioner.js +0 -12
  236. package/editors/textEditor/caretPositioner.mjs +10 -20
  237. package/editors/textEditor/index.js +0 -2
  238. package/editors/textEditor/textEditor.js +38 -137
  239. package/editors/textEditor/textEditor.mjs +38 -106
  240. package/editors/timeEditor/index.js +0 -2
  241. package/editors/timeEditor/timeEditor.js +1 -36
  242. package/editors/timeEditor/timeEditor.mjs +1 -21
  243. package/eventManager.js +20 -56
  244. package/eventManager.mjs +23 -56
  245. package/helpers/array.js +22 -88
  246. package/helpers/array.mjs +22 -58
  247. package/helpers/browser.js +25 -51
  248. package/helpers/browser.mjs +25 -32
  249. package/helpers/console.js +3 -13
  250. package/helpers/console.mjs +8 -16
  251. package/helpers/data.d.ts +0 -1
  252. package/helpers/data.js +10 -55
  253. package/helpers/data.mjs +10 -33
  254. package/helpers/date.js +2 -3
  255. package/helpers/date.mjs +2 -2
  256. package/helpers/dom/element.js +67 -259
  257. package/helpers/dom/element.mjs +74 -194
  258. package/helpers/dom/event.js +3 -7
  259. package/helpers/dom/event.mjs +3 -3
  260. package/helpers/feature.js +13 -47
  261. package/helpers/feature.mjs +13 -31
  262. package/helpers/function.js +14 -59
  263. package/helpers/function.mjs +20 -52
  264. package/helpers/mixed.js +9 -66
  265. package/helpers/mixed.mjs +15 -51
  266. package/helpers/number.js +4 -46
  267. package/helpers/number.mjs +4 -23
  268. package/helpers/object.js +15 -72
  269. package/helpers/object.mjs +21 -52
  270. package/helpers/string.js +6 -28
  271. package/helpers/string.mjs +12 -21
  272. package/helpers/templateLiteralTag.js +0 -6
  273. package/helpers/templateLiteralTag.mjs +7 -10
  274. package/helpers/unicode.js +17 -26
  275. package/helpers/unicode.mjs +17 -15
  276. package/helpers/wrappers/jquery.js +4 -14
  277. package/helpers/wrappers/jquery.mjs +4 -13
  278. package/i18n/constants.js +1 -3
  279. package/i18n/constants.mjs +1 -1
  280. package/i18n/index.js +0 -7
  281. package/i18n/languages/ar-AR.js +0 -16
  282. package/i18n/languages/ar-AR.mjs +1 -4
  283. package/i18n/languages/cs-CZ.js +0 -16
  284. package/i18n/languages/cs-CZ.mjs +1 -4
  285. package/i18n/languages/de-CH.js +0 -16
  286. package/i18n/languages/de-CH.mjs +1 -4
  287. package/i18n/languages/de-DE.js +0 -16
  288. package/i18n/languages/de-DE.mjs +1 -4
  289. package/i18n/languages/en-US.js +0 -16
  290. package/i18n/languages/en-US.mjs +1 -4
  291. package/i18n/languages/es-MX.js +0 -16
  292. package/i18n/languages/es-MX.mjs +1 -4
  293. package/i18n/languages/fr-FR.js +0 -16
  294. package/i18n/languages/fr-FR.mjs +1 -4
  295. package/i18n/languages/index.js +0 -39
  296. package/i18n/languages/it-IT.js +0 -16
  297. package/i18n/languages/it-IT.mjs +1 -4
  298. package/i18n/languages/ja-JP.js +0 -16
  299. package/i18n/languages/ja-JP.mjs +1 -4
  300. package/i18n/languages/ko-KR.js +0 -16
  301. package/i18n/languages/ko-KR.mjs +1 -4
  302. package/i18n/languages/lv-LV.js +0 -16
  303. package/i18n/languages/lv-LV.mjs +1 -4
  304. package/i18n/languages/nb-NO.js +0 -16
  305. package/i18n/languages/nb-NO.mjs +1 -4
  306. package/i18n/languages/nl-NL.js +0 -16
  307. package/i18n/languages/nl-NL.mjs +1 -4
  308. package/i18n/languages/pl-PL.js +0 -16
  309. package/i18n/languages/pl-PL.mjs +1 -4
  310. package/i18n/languages/pt-BR.js +0 -16
  311. package/i18n/languages/pt-BR.mjs +1 -4
  312. package/i18n/languages/ru-RU.js +0 -16
  313. package/i18n/languages/ru-RU.mjs +1 -4
  314. package/i18n/languages/sr-SP.js +0 -16
  315. package/i18n/languages/sr-SP.mjs +1 -4
  316. package/i18n/languages/zh-CN.js +0 -16
  317. package/i18n/languages/zh-CN.mjs +1 -4
  318. package/i18n/languages/zh-TW.js +0 -16
  319. package/i18n/languages/zh-TW.mjs +1 -4
  320. package/i18n/phraseFormatters/index.js +4 -11
  321. package/i18n/phraseFormatters/index.mjs +4 -6
  322. package/i18n/phraseFormatters/pluralize.js +0 -5
  323. package/i18n/phraseFormatters/pluralize.mjs +0 -3
  324. package/i18n/phraseFormatters/substituteVariables.js +0 -4
  325. package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
  326. package/i18n/registry.js +18 -59
  327. package/i18n/registry.mjs +18 -30
  328. package/i18n/utils.js +4 -22
  329. package/i18n/utils.mjs +13 -21
  330. package/index.js +19 -56
  331. package/index.mjs +19 -15
  332. package/languages/all.js +0 -175
  333. package/languages/ar-AR.js +0 -10
  334. package/languages/ar-AR.mjs +1 -4
  335. package/languages/cs-CZ.js +0 -10
  336. package/languages/cs-CZ.mjs +1 -4
  337. package/languages/de-CH.js +0 -10
  338. package/languages/de-CH.mjs +1 -4
  339. package/languages/de-DE.js +0 -10
  340. package/languages/de-DE.mjs +1 -4
  341. package/languages/en-US.js +0 -10
  342. package/languages/en-US.mjs +1 -4
  343. package/languages/es-MX.js +0 -10
  344. package/languages/es-MX.mjs +1 -4
  345. package/languages/fr-FR.js +0 -10
  346. package/languages/fr-FR.mjs +1 -4
  347. package/languages/index.js +0 -175
  348. package/languages/it-IT.js +0 -10
  349. package/languages/it-IT.mjs +1 -4
  350. package/languages/ja-JP.js +0 -10
  351. package/languages/ja-JP.mjs +1 -4
  352. package/languages/ko-KR.js +0 -10
  353. package/languages/ko-KR.mjs +1 -4
  354. package/languages/lv-LV.js +0 -10
  355. package/languages/lv-LV.mjs +1 -4
  356. package/languages/nb-NO.js +0 -10
  357. package/languages/nb-NO.mjs +1 -4
  358. package/languages/nl-NL.js +0 -10
  359. package/languages/nl-NL.mjs +1 -4
  360. package/languages/pl-PL.js +0 -10
  361. package/languages/pl-PL.mjs +1 -4
  362. package/languages/pt-BR.js +0 -10
  363. package/languages/pt-BR.mjs +1 -4
  364. package/languages/ru-RU.js +0 -10
  365. package/languages/ru-RU.mjs +1 -4
  366. package/languages/sr-SP.js +0 -10
  367. package/languages/sr-SP.mjs +1 -4
  368. package/languages/zh-CN.js +0 -10
  369. package/languages/zh-CN.mjs +1 -4
  370. package/languages/zh-TW.js +0 -10
  371. package/languages/zh-TW.mjs +1 -4
  372. package/mixins/hooksRefRegisterer.js +4 -18
  373. package/mixins/hooksRefRegisterer.mjs +4 -15
  374. package/mixins/localHooks.js +7 -17
  375. package/mixins/localHooks.mjs +7 -14
  376. package/package.json +1 -1
  377. package/pluginHooks.d.ts +3 -4
  378. package/pluginHooks.js +288 -110
  379. package/pluginHooks.mjs +287 -97
  380. package/plugins/autoColumnSize/autoColumnSize.js +74 -172
  381. package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
  382. package/plugins/autoColumnSize/index.js +0 -2
  383. package/plugins/autoRowSize/autoRowSize.js +73 -153
  384. package/plugins/autoRowSize/autoRowSize.mjs +73 -124
  385. package/plugins/autoRowSize/index.js +0 -2
  386. package/plugins/autofill/autofill.js +46 -163
  387. package/plugins/autofill/autofill.mjs +46 -131
  388. package/plugins/autofill/index.js +0 -2
  389. package/plugins/autofill/utils.js +4 -26
  390. package/plugins/autofill/utils.mjs +4 -18
  391. package/plugins/base/base.js +21 -92
  392. package/plugins/base/base.mjs +21 -63
  393. package/plugins/base/index.js +0 -2
  394. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
  395. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
  396. package/plugins/bindRowsWithHeaders/index.js +0 -2
  397. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
  398. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
  399. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
  400. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
  401. package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
  402. package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
  403. package/plugins/collapsibleColumns/index.js +0 -2
  404. package/plugins/columnSorting/columnSorting.js +50 -188
  405. package/plugins/columnSorting/columnSorting.mjs +50 -143
  406. package/plugins/columnSorting/columnStatesManager.js +15 -71
  407. package/plugins/columnSorting/columnStatesManager.mjs +15 -48
  408. package/plugins/columnSorting/domHelpers.js +2 -18
  409. package/plugins/columnSorting/domHelpers.mjs +2 -7
  410. package/plugins/columnSorting/index.js +0 -2
  411. package/plugins/columnSorting/rootComparator.js +5 -24
  412. package/plugins/columnSorting/rootComparator.mjs +12 -21
  413. package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
  414. package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
  415. package/plugins/columnSorting/sortFunction/date.js +2 -19
  416. package/plugins/columnSorting/sortFunction/date.mjs +10 -23
  417. package/plugins/columnSorting/sortFunction/default.js +2 -17
  418. package/plugins/columnSorting/sortFunction/default.mjs +10 -23
  419. package/plugins/columnSorting/sortFunction/numeric.js +2 -11
  420. package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
  421. package/plugins/columnSorting/sortService/engine.js +3 -13
  422. package/plugins/columnSorting/sortService/engine.mjs +3 -5
  423. package/plugins/columnSorting/sortService/index.js +0 -5
  424. package/plugins/columnSorting/sortService/registry.js +6 -18
  425. package/plugins/columnSorting/sortService/registry.mjs +6 -10
  426. package/plugins/columnSorting/utils.js +9 -34
  427. package/plugins/columnSorting/utils.mjs +9 -15
  428. package/plugins/columnSummary/columnSummary.js +66 -126
  429. package/plugins/columnSummary/columnSummary.mjs +66 -101
  430. package/plugins/columnSummary/endpoints.js +21 -98
  431. package/plugins/columnSummary/endpoints.mjs +26 -99
  432. package/plugins/columnSummary/index.js +0 -2
  433. package/plugins/columnSummary/utils.js +13 -0
  434. package/plugins/columnSummary/utils.mjs +9 -0
  435. package/plugins/comments/commentEditor.js +16 -28
  436. package/plugins/comments/commentEditor.mjs +21 -32
  437. package/plugins/comments/comments.js +92 -175
  438. package/plugins/comments/comments.mjs +92 -149
  439. package/plugins/comments/displaySwitch.js +6 -23
  440. package/plugins/comments/displaySwitch.mjs +6 -18
  441. package/plugins/comments/index.js +0 -2
  442. package/plugins/contextMenu/commandExecutor.js +9 -40
  443. package/plugins/contextMenu/commandExecutor.mjs +14 -41
  444. package/plugins/contextMenu/contextMenu.js +26 -105
  445. package/plugins/contextMenu/contextMenu.mjs +26 -75
  446. package/plugins/contextMenu/cursor.js +6 -20
  447. package/plugins/contextMenu/cursor.mjs +11 -24
  448. package/plugins/contextMenu/index.js +0 -2
  449. package/plugins/contextMenu/itemsFactory.js +14 -43
  450. package/plugins/contextMenu/itemsFactory.mjs +19 -44
  451. package/plugins/contextMenu/menu.js +61 -177
  452. package/plugins/contextMenu/menu.mjs +61 -149
  453. package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
  454. package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
  455. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
  456. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
  457. package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
  458. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
  459. package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
  460. package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
  461. package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
  462. package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
  463. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
  464. package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
  465. package/plugins/contextMenu/predefinedItems/redo.js +1 -16
  466. package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
  467. package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
  468. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
  469. package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
  470. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
  471. package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
  472. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
  473. package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
  474. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
  475. package/plugins/contextMenu/predefinedItems/separator.js +1 -2
  476. package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
  477. package/plugins/contextMenu/predefinedItems/undo.js +1 -16
  478. package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
  479. package/plugins/contextMenu/predefinedItems.js +2 -48
  480. package/plugins/contextMenu/predefinedItems.mjs +2 -7
  481. package/plugins/contextMenu/utils.js +17 -57
  482. package/plugins/contextMenu/utils.mjs +21 -39
  483. package/plugins/copyPaste/clipboardData.js +1 -10
  484. package/plugins/copyPaste/clipboardData.mjs +1 -9
  485. package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
  486. package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
  487. package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
  488. package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
  489. package/plugins/copyPaste/copyPaste.js +53 -185
  490. package/plugins/copyPaste/copyPaste.mjs +53 -144
  491. package/plugins/copyPaste/focusableElement.js +12 -56
  492. package/plugins/copyPaste/focusableElement.mjs +15 -49
  493. package/plugins/copyPaste/index.js +0 -2
  494. package/plugins/copyPaste/pasteEvent.js +1 -10
  495. package/plugins/copyPaste/pasteEvent.mjs +3 -10
  496. package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
  497. package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
  498. package/plugins/customBorders/contextMenuItem/index.js +0 -11
  499. package/plugins/customBorders/contextMenuItem/left.js +0 -17
  500. package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
  501. package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
  502. package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
  503. package/plugins/customBorders/contextMenuItem/right.js +0 -17
  504. package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
  505. package/plugins/customBorders/contextMenuItem/top.js +0 -17
  506. package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
  507. package/plugins/customBorders/customBorders.js +52 -181
  508. package/plugins/customBorders/customBorders.mjs +52 -147
  509. package/plugins/customBorders/index.js +0 -2
  510. package/plugins/customBorders/utils.js +13 -52
  511. package/plugins/customBorders/utils.mjs +20 -39
  512. package/plugins/dragToScroll/dragToScroll.js +17 -74
  513. package/plugins/dragToScroll/dragToScroll.mjs +17 -55
  514. package/plugins/dragToScroll/index.js +0 -2
  515. package/plugins/dropdownMenu/dropdownMenu.js +47 -126
  516. package/plugins/dropdownMenu/dropdownMenu.mjs +47 -95
  517. package/plugins/dropdownMenu/index.js +0 -2
  518. package/plugins/exportFile/dataProvider.js +24 -69
  519. package/plugins/exportFile/dataProvider.mjs +26 -60
  520. package/plugins/exportFile/exportFile.js +48 -58
  521. package/plugins/exportFile/exportFile.mjs +48 -36
  522. package/plugins/exportFile/index.js +0 -2
  523. package/plugins/exportFile/typeFactory.js +1 -11
  524. package/plugins/exportFile/typeFactory.mjs +1 -4
  525. package/plugins/exportFile/types/_base.js +2 -16
  526. package/plugins/exportFile/types/_base.mjs +4 -16
  527. package/plugins/exportFile/types/csv.js +2 -50
  528. package/plugins/exportFile/types/csv.mjs +2 -29
  529. package/plugins/filters/component/_base.js +12 -32
  530. package/plugins/filters/component/_base.mjs +15 -30
  531. package/plugins/filters/component/actionBar.js +6 -55
  532. package/plugins/filters/component/actionBar.mjs +9 -38
  533. package/plugins/filters/component/condition.js +25 -122
  534. package/plugins/filters/component/condition.mjs +24 -88
  535. package/plugins/filters/component/operators.js +10 -68
  536. package/plugins/filters/component/operators.mjs +10 -45
  537. package/plugins/filters/component/value.js +25 -99
  538. package/plugins/filters/component/value.mjs +28 -72
  539. package/plugins/filters/condition/beginsWith.js +2 -32
  540. package/plugins/filters/condition/beginsWith.mjs +2 -10
  541. package/plugins/filters/condition/between.js +3 -37
  542. package/plugins/filters/condition/between.mjs +3 -15
  543. package/plugins/filters/condition/byValue.js +3 -27
  544. package/plugins/filters/condition/byValue.mjs +3 -12
  545. package/plugins/filters/condition/contains.js +2 -32
  546. package/plugins/filters/condition/contains.mjs +2 -10
  547. package/plugins/filters/condition/date/after.js +2 -34
  548. package/plugins/filters/condition/date/after.mjs +2 -12
  549. package/plugins/filters/condition/date/before.js +2 -34
  550. package/plugins/filters/condition/date/before.mjs +2 -12
  551. package/plugins/filters/condition/date/today.js +1 -22
  552. package/plugins/filters/condition/date/today.mjs +1 -3
  553. package/plugins/filters/condition/date/tomorrow.js +1 -22
  554. package/plugins/filters/condition/date/tomorrow.mjs +1 -3
  555. package/plugins/filters/condition/date/yesterday.js +1 -22
  556. package/plugins/filters/condition/date/yesterday.mjs +1 -3
  557. package/plugins/filters/condition/empty.js +1 -19
  558. package/plugins/filters/condition/empty.mjs +1 -1
  559. package/plugins/filters/condition/endsWith.js +2 -32
  560. package/plugins/filters/condition/endsWith.mjs +2 -10
  561. package/plugins/filters/condition/equal.js +2 -31
  562. package/plugins/filters/condition/equal.mjs +2 -10
  563. package/plugins/filters/condition/false.js +1 -5
  564. package/plugins/filters/condition/false.mjs +1 -1
  565. package/plugins/filters/condition/greaterThan.js +2 -32
  566. package/plugins/filters/condition/greaterThan.mjs +2 -12
  567. package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
  568. package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
  569. package/plugins/filters/condition/lessThan.js +2 -32
  570. package/plugins/filters/condition/lessThan.mjs +2 -12
  571. package/plugins/filters/condition/lessThanOrEqual.js +2 -32
  572. package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
  573. package/plugins/filters/condition/none.js +1 -18
  574. package/plugins/filters/condition/none.mjs +1 -1
  575. package/plugins/filters/condition/notBetween.js +1 -19
  576. package/plugins/filters/condition/notBetween.mjs +1 -1
  577. package/plugins/filters/condition/notContains.js +1 -19
  578. package/plugins/filters/condition/notContains.mjs +1 -1
  579. package/plugins/filters/condition/notEmpty.js +1 -19
  580. package/plugins/filters/condition/notEmpty.mjs +1 -1
  581. package/plugins/filters/condition/notEqual.js +1 -19
  582. package/plugins/filters/condition/notEqual.mjs +1 -1
  583. package/plugins/filters/condition/true.js +1 -5
  584. package/plugins/filters/condition/true.mjs +1 -1
  585. package/plugins/filters/conditionCollection.js +21 -80
  586. package/plugins/filters/conditionCollection.mjs +21 -57
  587. package/plugins/filters/conditionRegisterer.js +5 -14
  588. package/plugins/filters/conditionRegisterer.mjs +5 -9
  589. package/plugins/filters/conditionUpdateObserver.js +17 -57
  590. package/plugins/filters/conditionUpdateObserver.mjs +25 -53
  591. package/plugins/filters/constants.js +1 -66
  592. package/plugins/filters/constants.mjs +1 -8
  593. package/plugins/filters/dataFilter.js +4 -21
  594. package/plugins/filters/dataFilter.mjs +7 -23
  595. package/plugins/filters/filters.d.ts +1 -1
  596. package/plugins/filters/filters.js +147 -272
  597. package/plugins/filters/filters.mjs +148 -228
  598. package/plugins/filters/index.js +0 -2
  599. package/plugins/filters/logicalOperationRegisterer.js +3 -9
  600. package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
  601. package/plugins/filters/logicalOperations/conjunction.js +2 -19
  602. package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
  603. package/plugins/filters/logicalOperations/disjunction.js +2 -19
  604. package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
  605. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
  606. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
  607. package/plugins/filters/ui/_base.js +12 -55
  608. package/plugins/filters/ui/_base.mjs +12 -35
  609. package/plugins/filters/ui/input.js +7 -52
  610. package/plugins/filters/ui/input.mjs +7 -34
  611. package/plugins/filters/ui/link.js +3 -43
  612. package/plugins/filters/ui/link.mjs +3 -25
  613. package/plugins/filters/ui/multipleSelect.js +26 -120
  614. package/plugins/filters/ui/multipleSelect.mjs +20 -76
  615. package/plugins/filters/ui/radioInput.js +6 -47
  616. package/plugins/filters/ui/radioInput.mjs +6 -30
  617. package/plugins/filters/ui/select.js +14 -76
  618. package/plugins/filters/ui/select.mjs +14 -52
  619. package/plugins/filters/utils.js +6 -39
  620. package/plugins/filters/utils.mjs +6 -23
  621. package/plugins/formulas/engine/register.js +24 -74
  622. package/plugins/formulas/engine/register.mjs +29 -51
  623. package/plugins/formulas/engine/settings.js +4 -24
  624. package/plugins/formulas/engine/settings.mjs +4 -12
  625. package/plugins/formulas/formulas.js +103 -295
  626. package/plugins/formulas/formulas.mjs +104 -248
  627. package/plugins/formulas/index.js +0 -2
  628. package/plugins/formulas/utils.js +1 -3
  629. package/plugins/formulas/utils.mjs +1 -1
  630. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
  631. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
  632. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
  633. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
  634. package/plugins/hiddenColumns/hiddenColumns.js +72 -153
  635. package/plugins/hiddenColumns/hiddenColumns.mjs +72 -110
  636. package/plugins/hiddenColumns/index.js +0 -2
  637. package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
  638. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
  639. package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
  640. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
  641. package/plugins/hiddenRows/hiddenRows.js +70 -152
  642. package/plugins/hiddenRows/hiddenRows.mjs +70 -109
  643. package/plugins/hiddenRows/index.js +0 -2
  644. package/plugins/index.js +0 -71
  645. package/plugins/index.mjs +3 -5
  646. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
  647. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
  648. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
  649. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
  650. package/plugins/manualColumnFreeze/index.js +0 -2
  651. package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
  652. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
  653. package/plugins/manualColumnMove/index.js +0 -2
  654. package/plugins/manualColumnMove/manualColumnMove.js +45 -134
  655. package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
  656. package/plugins/manualColumnMove/ui/_base.js +12 -30
  657. package/plugins/manualColumnMove/ui/_base.mjs +12 -27
  658. package/plugins/manualColumnMove/ui/backlight.js +1 -37
  659. package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
  660. package/plugins/manualColumnMove/ui/guideline.js +1 -37
  661. package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
  662. package/plugins/manualColumnResize/index.js +0 -2
  663. package/plugins/manualColumnResize/manualColumnResize.js +44 -143
  664. package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
  665. package/plugins/manualRowMove/index.js +0 -2
  666. package/plugins/manualRowMove/manualRowMove.js +45 -137
  667. package/plugins/manualRowMove/manualRowMove.mjs +45 -109
  668. package/plugins/manualRowMove/ui/_base.js +12 -27
  669. package/plugins/manualRowMove/ui/_base.mjs +12 -26
  670. package/plugins/manualRowMove/ui/backlight.js +1 -37
  671. package/plugins/manualRowMove/ui/backlight.mjs +1 -22
  672. package/plugins/manualRowMove/ui/guideline.js +1 -37
  673. package/plugins/manualRowMove/ui/guideline.mjs +1 -22
  674. package/plugins/manualRowResize/index.js +0 -2
  675. package/plugins/manualRowResize/manualRowResize.js +42 -138
  676. package/plugins/manualRowResize/manualRowResize.mjs +41 -112
  677. package/plugins/mergeCells/calculations/autofill.js +39 -130
  678. package/plugins/mergeCells/calculations/autofill.mjs +44 -122
  679. package/plugins/mergeCells/calculations/selection.js +9 -40
  680. package/plugins/mergeCells/calculations/selection.mjs +9 -37
  681. package/plugins/mergeCells/cellCoords.js +30 -51
  682. package/plugins/mergeCells/cellCoords.mjs +35 -54
  683. package/plugins/mergeCells/cellsCollection.js +13 -84
  684. package/plugins/mergeCells/cellsCollection.mjs +18 -69
  685. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
  686. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
  687. package/plugins/mergeCells/index.js +0 -2
  688. package/plugins/mergeCells/mergeCells.js +130 -333
  689. package/plugins/mergeCells/mergeCells.mjs +130 -292
  690. package/plugins/mergeCells/utils.js +0 -3
  691. package/plugins/mergeCells/utils.mjs +0 -1
  692. package/plugins/multiColumnSorting/domHelpers.js +3 -15
  693. package/plugins/multiColumnSorting/domHelpers.mjs +3 -7
  694. package/plugins/multiColumnSorting/index.js +0 -2
  695. package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
  696. package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
  697. package/plugins/multiColumnSorting/rootComparator.js +2 -26
  698. package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
  699. package/plugins/multiColumnSorting/utils.js +0 -7
  700. package/plugins/multiColumnSorting/utils.mjs +3 -8
  701. package/plugins/multipleSelectionHandles/index.js +0 -2
  702. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
  703. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
  704. package/plugins/nestedHeaders/index.js +0 -2
  705. package/plugins/nestedHeaders/nestedHeaders.js +79 -200
  706. package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
  707. package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
  708. package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
  709. package/plugins/nestedHeaders/stateManager/index.js +24 -107
  710. package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
  711. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
  712. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
  713. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
  714. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
  715. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
  716. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
  717. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
  718. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
  719. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
  720. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
  721. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
  722. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
  723. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
  724. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
  725. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
  726. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
  727. package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
  728. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
  729. package/plugins/nestedHeaders/stateManager/utils.js +19 -22
  730. package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
  731. package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
  732. package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
  733. package/plugins/nestedRows/data/dataManager.js +40 -161
  734. package/plugins/nestedRows/data/dataManager.mjs +44 -148
  735. package/plugins/nestedRows/index.js +0 -2
  736. package/plugins/nestedRows/nestedRows.js +41 -119
  737. package/plugins/nestedRows/nestedRows.mjs +41 -86
  738. package/plugins/nestedRows/ui/_base.js +1 -9
  739. package/plugins/nestedRows/ui/_base.mjs +1 -8
  740. package/plugins/nestedRows/ui/collapsing.js +28 -134
  741. package/plugins/nestedRows/ui/collapsing.mjs +34 -118
  742. package/plugins/nestedRows/ui/contextMenu.js +2 -53
  743. package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
  744. package/plugins/nestedRows/ui/headers.js +5 -50
  745. package/plugins/nestedRows/ui/headers.mjs +11 -41
  746. package/plugins/nestedRows/utils/rowMoveController.js +28 -78
  747. package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
  748. package/plugins/persistentState/index.js +0 -2
  749. package/plugins/persistentState/persistentState.js +10 -58
  750. package/plugins/persistentState/persistentState.mjs +10 -37
  751. package/plugins/persistentState/storage.js +9 -25
  752. package/plugins/persistentState/storage.mjs +12 -26
  753. package/plugins/registry.js +7 -51
  754. package/plugins/registry.mjs +8 -34
  755. package/plugins/search/index.js +0 -2
  756. package/plugins/search/search.js +16 -98
  757. package/plugins/search/search.mjs +16 -68
  758. package/plugins/touchScroll/index.js +0 -2
  759. package/plugins/touchScroll/touchScroll.js +15 -76
  760. package/plugins/touchScroll/touchScroll.mjs +15 -58
  761. package/plugins/trimRows/index.js +0 -2
  762. package/plugins/trimRows/trimRows.js +62 -88
  763. package/plugins/trimRows/trimRows.mjs +62 -65
  764. package/plugins/undoRedo/index.js +0 -14
  765. package/plugins/undoRedo/undoRedo.js +48 -218
  766. package/plugins/undoRedo/undoRedo.mjs +48 -188
  767. package/registry.js +0 -11
  768. package/registry.mjs +2 -4
  769. package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
  770. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
  771. package/renderers/autocompleteRenderer/index.js +0 -2
  772. package/renderers/baseRenderer/baseRenderer.js +2 -11
  773. package/renderers/baseRenderer/baseRenderer.mjs +2 -9
  774. package/renderers/baseRenderer/index.js +0 -2
  775. package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
  776. package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
  777. package/renderers/checkboxRenderer/index.js +0 -2
  778. package/renderers/htmlRenderer/htmlRenderer.js +1 -7
  779. package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
  780. package/renderers/htmlRenderer/index.js +0 -2
  781. package/renderers/index.js +0 -19
  782. package/renderers/index.mjs +3 -5
  783. package/renderers/numericRenderer/index.js +0 -2
  784. package/renderers/numericRenderer/numericRenderer.js +1 -23
  785. package/renderers/numericRenderer/numericRenderer.mjs +1 -10
  786. package/renderers/passwordRenderer/index.js +0 -2
  787. package/renderers/passwordRenderer/passwordRenderer.js +1 -8
  788. package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
  789. package/renderers/registry.js +7 -16
  790. package/renderers/registry.mjs +7 -14
  791. package/renderers/textRenderer/index.js +0 -2
  792. package/renderers/textRenderer/textRenderer.js +2 -14
  793. package/renderers/textRenderer/textRenderer.mjs +2 -6
  794. package/renderers/timeRenderer/index.js +0 -2
  795. package/renderers/timeRenderer/timeRenderer.js +1 -6
  796. package/renderers/timeRenderer/timeRenderer.mjs +1 -1
  797. package/selection/highlight/highlight.js +17 -73
  798. package/selection/highlight/highlight.mjs +31 -64
  799. package/selection/highlight/types/activeHeader.js +1 -21
  800. package/selection/highlight/types/activeHeader.mjs +6 -16
  801. package/selection/highlight/types/area.js +2 -22
  802. package/selection/highlight/types/area.mjs +10 -20
  803. package/selection/highlight/types/cell.js +1 -21
  804. package/selection/highlight/types/cell.mjs +9 -19
  805. package/selection/highlight/types/customSelection.js +2 -22
  806. package/selection/highlight/types/customSelection.mjs +11 -21
  807. package/selection/highlight/types/fill.js +2 -17
  808. package/selection/highlight/types/fill.mjs +9 -14
  809. package/selection/highlight/types/header.js +3 -23
  810. package/selection/highlight/types/header.mjs +13 -23
  811. package/selection/highlight/types/index.js +3 -24
  812. package/selection/highlight/types/index.mjs +3 -10
  813. package/selection/highlight/visualSelection.js +24 -74
  814. package/selection/highlight/visualSelection.mjs +24 -62
  815. package/selection/index.js +0 -14
  816. package/selection/mouseEventHandler.js +19 -30
  817. package/selection/mouseEventHandler.mjs +32 -36
  818. package/selection/range.js +11 -31
  819. package/selection/range.mjs +11 -22
  820. package/selection/selection.js +62 -157
  821. package/selection/selection.mjs +65 -132
  822. package/selection/transformation.js +10 -40
  823. package/selection/transformation.mjs +18 -45
  824. package/selection/utils.js +22 -70
  825. package/selection/utils.mjs +22 -47
  826. package/shortcuts/context.js +23 -78
  827. package/shortcuts/context.mjs +23 -55
  828. package/shortcuts/index.js +0 -2
  829. package/shortcuts/keyObserver.js +4 -17
  830. package/shortcuts/keyObserver.mjs +4 -12
  831. package/shortcuts/manager.js +16 -36
  832. package/shortcuts/manager.mjs +16 -33
  833. package/shortcuts/recorder.js +20 -47
  834. package/shortcuts/recorder.mjs +20 -39
  835. package/shortcuts/utils.js +5 -24
  836. package/shortcuts/utils.mjs +5 -8
  837. package/tableView.js +100 -270
  838. package/tableView.mjs +100 -248
  839. package/translations/changesObservable/observable.js +5 -54
  840. package/translations/changesObservable/observable.mjs +12 -51
  841. package/translations/changesObservable/observer.js +4 -32
  842. package/translations/changesObservable/observer.mjs +9 -29
  843. package/translations/changesObservable/utils.js +1 -5
  844. package/translations/changesObservable/utils.mjs +1 -4
  845. package/translations/index.js +0 -11
  846. package/translations/indexMapper.js +70 -158
  847. package/translations/indexMapper.mjs +70 -125
  848. package/translations/mapCollections/aggregatedCollection.js +9 -51
  849. package/translations/mapCollections/aggregatedCollection.mjs +12 -41
  850. package/translations/mapCollections/index.js +0 -7
  851. package/translations/mapCollections/mapCollection.js +10 -33
  852. package/translations/mapCollections/mapCollection.mjs +10 -22
  853. package/translations/maps/hidingMap.js +2 -35
  854. package/translations/maps/hidingMap.mjs +7 -28
  855. package/translations/maps/index.js +1 -24
  856. package/translations/maps/index.mjs +1 -3
  857. package/translations/maps/indexMap.js +12 -34
  858. package/translations/maps/indexMap.mjs +16 -32
  859. package/translations/maps/indexesSequence.js +3 -41
  860. package/translations/maps/indexesSequence.mjs +9 -32
  861. package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
  862. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
  863. package/translations/maps/physicalIndexToValueMap.js +2 -39
  864. package/translations/maps/physicalIndexToValueMap.mjs +8 -31
  865. package/translations/maps/trimmingMap.js +2 -35
  866. package/translations/maps/trimmingMap.mjs +7 -28
  867. package/translations/maps/utils/actionsOnIndexes.js +1 -7
  868. package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
  869. package/translations/maps/utils/index.js +0 -13
  870. package/translations/maps/utils/index.mjs +0 -3
  871. package/translations/maps/utils/indexesSequence.js +1 -24
  872. package/translations/maps/utils/indexesSequence.mjs +10 -19
  873. package/translations/maps/utils/physicallyIndexed.js +1 -27
  874. package/translations/maps/utils/physicallyIndexed.mjs +11 -21
  875. package/utils/dataStructures/linkedList.js +15 -56
  876. package/utils/dataStructures/linkedList.mjs +15 -54
  877. package/utils/dataStructures/priorityMap.js +8 -46
  878. package/utils/dataStructures/priorityMap.mjs +8 -29
  879. package/utils/dataStructures/queue.js +6 -17
  880. package/utils/dataStructures/queue.mjs +6 -16
  881. package/utils/dataStructures/stack.js +6 -17
  882. package/utils/dataStructures/stack.mjs +6 -16
  883. package/utils/dataStructures/tree.js +11 -75
  884. package/utils/dataStructures/tree.mjs +11 -54
  885. package/utils/dataStructures/uniqueMap.js +17 -56
  886. package/utils/dataStructures/uniqueMap.mjs +17 -42
  887. package/utils/dataStructures/uniqueSet.js +5 -32
  888. package/utils/dataStructures/uniqueSet.mjs +5 -19
  889. package/utils/ghostTable.js +33 -104
  890. package/utils/ghostTable.mjs +35 -92
  891. package/utils/interval.js +10 -37
  892. package/utils/interval.mjs +7 -29
  893. package/utils/parseTable.js +11 -92
  894. package/utils/parseTable.mjs +11 -62
  895. package/utils/rootInstance.js +3 -14
  896. package/utils/rootInstance.mjs +3 -3
  897. package/utils/samplesGenerator.js +15 -51
  898. package/utils/samplesGenerator.mjs +17 -44
  899. package/utils/staticRegister.js +6 -33
  900. package/utils/staticRegister.mjs +6 -19
  901. package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
  902. package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
  903. package/validators/autocompleteValidator/index.js +0 -2
  904. package/validators/dateValidator/dateValidator.js +2 -21
  905. package/validators/dateValidator/dateValidator.mjs +2 -11
  906. package/validators/dateValidator/index.js +0 -2
  907. package/validators/index.js +0 -11
  908. package/validators/index.mjs +3 -5
  909. package/validators/numericValidator/index.js +0 -2
  910. package/validators/numericValidator/numericValidator.js +1 -7
  911. package/validators/numericValidator/numericValidator.mjs +1 -3
  912. package/validators/registry.js +7 -16
  913. package/validators/registry.mjs +7 -14
  914. package/validators/timeValidator/index.js +0 -2
  915. package/validators/timeValidator/timeValidator.js +6 -18
  916. package/validators/timeValidator/timeValidator.mjs +8 -13
  917. package/utils/sortingAlgorithms/mergeSort.js +0 -120
  918. package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
@@ -1,5 +1,4 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
-
3
2
  import "core-js/modules/es.object.set-prototype-of.js";
4
3
  import "core-js/modules/es.object.get-prototype-of.js";
5
4
  import "core-js/modules/es.reflect.construct.js";
@@ -11,23 +10,14 @@ import "core-js/modules/es.symbol.iterator.js";
11
10
  import "core-js/modules/es.array.slice.js";
12
11
  import "core-js/modules/es.regexp.exec.js";
13
12
  import "core-js/modules/es.object.freeze.js";
14
-
15
13
  var _templateObject;
16
-
17
14
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
18
-
19
15
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
20
-
21
16
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
-
23
17
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
-
25
18
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
26
-
27
19
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
28
-
29
20
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
30
-
31
21
  import "core-js/modules/es.array.iterator.js";
32
22
  import "core-js/modules/es.map.js";
33
23
  import "core-js/modules/es.object.to-string.js";
@@ -38,38 +28,25 @@ import "core-js/modules/es.array.filter.js";
38
28
  import "core-js/modules/es.array.from.js";
39
29
  import "core-js/modules/es.function.name.js";
40
30
  import "core-js/modules/es.array.concat.js";
41
-
42
31
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
43
-
44
32
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
45
-
46
33
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
47
-
48
34
  function _get() { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }
49
-
50
35
  function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
51
-
52
36
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
53
-
54
37
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
55
-
56
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
57
-
58
39
  function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
59
-
60
40
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
61
-
62
41
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
63
-
64
42
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
65
-
66
43
  import { BasePlugin } from "../base/index.mjs";
67
44
  import { arrayEach, arrayMap } from "../../helpers/array.mjs";
68
45
  import { toSingleLine } from "../../helpers/templateLiteralTag.mjs";
69
46
  import { warn } from "../../helpers/console.mjs";
70
47
  import { rangeEach } from "../../helpers/number.mjs";
71
48
  import EventManager from "../../eventManager.mjs";
72
- import { addClass, removeClass, closest } from "../../helpers/dom/element.mjs";
49
+ import { addClass, removeClass } from "../../helpers/dom/element.mjs";
73
50
  import { SEPARATOR } from "../contextMenu/predefinedItems.mjs";
74
51
  import * as constants from "../../i18n/constants.mjs";
75
52
  import ConditionComponent from "./component/condition.mjs";
@@ -84,6 +61,7 @@ import { CONDITION_NONE, CONDITION_BY_VALUE, OPERATION_AND, OPERATION_OR, OPERAT
84
61
  import { TrimmingMap } from "../../translations/index.mjs";
85
62
  export var PLUGIN_KEY = 'filters';
86
63
  export var PLUGIN_PRIORITY = 250;
64
+
87
65
  /**
88
66
  * @plugin Filters
89
67
  * @class Filters
@@ -94,6 +72,7 @@ export var PLUGIN_PRIORITY = 250;
94
72
  * See [the filtering demo](@/guides/columns/column-filter.md) for examples.
95
73
  *
96
74
  * @example
75
+ * ::: only-for javascript
97
76
  * ```js
98
77
  * const container = document.getElementById('example');
99
78
  * const hot = new Handsontable(container, {
@@ -104,18 +83,26 @@ export var PLUGIN_PRIORITY = 250;
104
83
  * filters: true
105
84
  * });
106
85
  * ```
86
+ * :::
87
+ *
88
+ * ::: only-for react
89
+ * ```jsx
90
+ * <HotTable
91
+ * data={getData()}
92
+ * colHeaders={true}
93
+ * rowHeaders={true}
94
+ * dropdownMenu={true}
95
+ * filters={true}
96
+ * />
97
+ * ```
98
+ * :::
107
99
  */
108
-
109
100
  export var Filters = /*#__PURE__*/function (_BasePlugin) {
110
101
  _inherits(Filters, _BasePlugin);
111
-
112
102
  var _super = _createSuper(Filters);
113
-
114
103
  function Filters(hotInstance) {
115
104
  var _this;
116
-
117
105
  _classCallCheck(this, Filters);
118
-
119
106
  _this = _super.call(this, hotInstance);
120
107
  /**
121
108
  * Instance of {@link EventManager}.
@@ -123,7 +110,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
123
110
  * @private
124
111
  * @type {EventManager}
125
112
  */
126
-
127
113
  _this.eventManager = new EventManager(_assertThisInitialized(_this));
128
114
  /**
129
115
  * Instance of {@link DropdownMenu}.
@@ -131,7 +117,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
131
117
  * @private
132
118
  * @type {DropdownMenu}
133
119
  */
134
-
135
120
  _this.dropdownMenuPlugin = null;
136
121
  /**
137
122
  * Instance of {@link ConditionCollection}.
@@ -139,7 +124,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
139
124
  * @private
140
125
  * @type {ConditionCollection}
141
126
  */
142
-
143
127
  _this.conditionCollection = null;
144
128
  /**
145
129
  * Instance of {@link ConditionUpdateObserver}.
@@ -147,7 +131,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
147
131
  * @private
148
132
  * @type {ConditionUpdateObserver}
149
133
  */
150
-
151
134
  _this.conditionUpdateObserver = null;
152
135
  /**
153
136
  * Map, where key is component identifier and value represent `BaseComponent` element or it derivatives.
@@ -155,7 +138,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
155
138
  * @private
156
139
  * @type {Map}
157
140
  */
158
-
159
141
  _this.components = new Map([['filter_by_condition', null], ['filter_operators', null], ['filter_by_condition2', null], ['filter_by_value', null], ['filter_action_bar', null]]);
160
142
  /**
161
143
  * Object containing information about last selected column physical and visual index for added filter conditions.
@@ -164,7 +146,6 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
164
146
  * @type {object}
165
147
  * @default null
166
148
  */
167
-
168
149
  _this.lastSelectedColumn = null;
169
150
  /**
170
151
  * Map of skipped rows by plugin.
@@ -172,47 +153,42 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
172
153
  * @private
173
154
  * @type {null|TrimmingMap}
174
155
  */
156
+ _this.filtersRowsMap = null;
175
157
 
176
- _this.filtersRowsMap = null; // One listener for the enable/disable functionality
177
-
158
+ // One listener for the enable/disable functionality
178
159
  _this.hot.addHook('afterGetColHeader', function (col, TH) {
179
160
  return _this.onAfterGetColHeader(col, TH);
180
161
  });
181
-
182
162
  return _this;
183
163
  }
164
+
184
165
  /**
185
166
  * Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
186
- * hook and if it returns `true` than the {@link Filters#enablePlugin} method is called.
167
+ * hook and if it returns `true` then the {@link Filters#enablePlugin} method is called.
187
168
  *
188
169
  * @returns {boolean}
189
170
  */
190
-
191
-
192
171
  _createClass(Filters, [{
193
172
  key: "isEnabled",
194
173
  value: function isEnabled() {
195
174
  /* eslint-disable no-unneeded-ternary */
196
175
  return this.hot.getSettings()[PLUGIN_KEY] ? true : false;
197
176
  }
177
+
198
178
  /**
199
179
  * Enables the plugin functionality for this Handsontable instance.
200
180
  */
201
-
202
181
  }, {
203
182
  key: "enablePlugin",
204
183
  value: function enablePlugin() {
205
184
  var _this2 = this;
206
-
207
185
  if (this.enabled) {
208
186
  return;
209
187
  }
210
-
211
188
  this.filtersRowsMap = this.hot.rowIndexMapper.registerMap(this.pluginName, new TrimmingMap());
212
189
  this.dropdownMenuPlugin = this.hot.getPlugin('dropdownMenu');
213
190
  var dropdownSettings = this.hot.getSettings().dropdownMenu;
214
191
  var menuContainer = dropdownSettings && dropdownSettings.uiContainer || this.hot.rootDocument.body;
215
-
216
192
  var addConfirmationHooks = function addConfirmationHooks(component) {
217
193
  component.addLocalHook('accept', function () {
218
194
  return _this2.onActionBarSubmit('accept');
@@ -225,15 +201,12 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
225
201
  });
226
202
  return component;
227
203
  };
228
-
229
204
  var filterByConditionLabel = function filterByConditionLabel() {
230
205
  return "".concat(_this2.hot.getTranslatedPhrase(constants.FILTERS_DIVS_FILTER_BY_CONDITION), ":");
231
206
  };
232
-
233
207
  var filterValueLabel = function filterValueLabel() {
234
208
  return "".concat(_this2.hot.getTranslatedPhrase(constants.FILTERS_DIVS_FILTER_BY_VALUE), ":");
235
209
  };
236
-
237
210
  if (!this.components.get('filter_by_condition')) {
238
211
  var conditionComponent = new ConditionComponent(this.hot, {
239
212
  id: 'filter_by_condition',
@@ -246,14 +219,12 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
246
219
  });
247
220
  this.components.set('filter_by_condition', addConfirmationHooks(conditionComponent));
248
221
  }
249
-
250
222
  if (!this.components.get('filter_operators')) {
251
223
  this.components.set('filter_operators', new OperatorsComponent(this.hot, {
252
224
  id: 'filter_operators',
253
225
  name: 'Operators'
254
226
  }));
255
227
  }
256
-
257
228
  if (!this.components.get('filter_by_condition2')) {
258
229
  var _conditionComponent = new ConditionComponent(this.hot, {
259
230
  id: 'filter_by_condition2',
@@ -261,32 +232,26 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
261
232
  addSeparator: true,
262
233
  menuContainer: menuContainer
263
234
  });
264
-
265
235
  _conditionComponent.addLocalHook('afterClose', function () {
266
236
  return _this2.onSelectUIClosed();
267
237
  });
268
-
269
238
  this.components.set('filter_by_condition2', addConfirmationHooks(_conditionComponent));
270
239
  }
271
-
272
240
  if (!this.components.get('filter_by_value')) {
273
241
  this.components.set('filter_by_value', addConfirmationHooks(new ValueComponent(this.hot, {
274
242
  id: 'filter_by_value',
275
243
  name: filterValueLabel
276
244
  })));
277
245
  }
278
-
279
246
  if (!this.components.get('filter_action_bar')) {
280
247
  this.components.set('filter_action_bar', addConfirmationHooks(new ActionBarComponent(this.hot, {
281
248
  id: 'filter_action_bar',
282
249
  name: 'Action bar'
283
250
  })));
284
251
  }
285
-
286
252
  if (!this.conditionCollection) {
287
253
  this.conditionCollection = new ConditionCollection(this.hot);
288
254
  }
289
-
290
255
  if (!this.conditionUpdateObserver) {
291
256
  this.conditionUpdateObserver = new ConditionUpdateObserver(this.hot, this.conditionCollection, function (physicalColumn) {
292
257
  return _this2.getDataMapAtColumn(physicalColumn);
@@ -295,11 +260,9 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
295
260
  return _this2.updateComponents(conditionState);
296
261
  });
297
262
  }
298
-
299
263
  this.components.forEach(function (component) {
300
264
  return component.show();
301
265
  });
302
- this.registerEvents();
303
266
  this.addHook('beforeDropdownMenuSetItems', function (items) {
304
267
  return _this2.onBeforeDropdownMenuSetItems(items);
305
268
  });
@@ -314,60 +277,40 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
314
277
  });
315
278
  this.addHook('afterChange', function (changes) {
316
279
  return _this2.onAfterChange(changes);
317
- }); // Temp. solution (extending menu items bug in contextMenu/dropdownMenu)
280
+ });
318
281
 
282
+ // Temp. solution (extending menu items bug in contextMenu/dropdownMenu)
319
283
  if (this.hot.getSettings().dropdownMenu && this.dropdownMenuPlugin) {
320
284
  this.dropdownMenuPlugin.disablePlugin();
321
285
  this.dropdownMenuPlugin.enablePlugin();
322
286
  }
323
-
324
287
  _get(_getPrototypeOf(Filters.prototype), "enablePlugin", this).call(this);
325
288
  }
326
- /**
327
- * Registers the DOM listeners.
328
- *
329
- * @private
330
- */
331
289
 
332
- }, {
333
- key: "registerEvents",
334
- value: function registerEvents() {
335
- var _this3 = this;
336
-
337
- this.eventManager.addEventListener(this.hot.rootElement, 'click', function (event) {
338
- return _this3.onTableClick(event);
339
- });
340
- }
341
290
  /**
342
291
  * Disables the plugin functionality for this Handsontable instance.
343
292
  */
344
-
345
293
  }, {
346
294
  key: "disablePlugin",
347
295
  value: function disablePlugin() {
348
- var _this4 = this;
349
-
296
+ var _this3 = this;
350
297
  if (this.enabled) {
351
298
  var _this$dropdownMenuPlu;
352
-
353
299
  if ((_this$dropdownMenuPlu = this.dropdownMenuPlugin) !== null && _this$dropdownMenuPlu !== void 0 && _this$dropdownMenuPlu.enabled) {
354
300
  this.dropdownMenuPlugin.menu.clearLocalHooks();
355
301
  }
356
-
357
302
  this.components.forEach(function (component, key) {
358
303
  component.destroy();
359
-
360
- _this4.components.set(key, null);
304
+ _this3.components.set(key, null);
361
305
  });
362
306
  this.conditionCollection.destroy();
363
307
  this.conditionCollection = null;
364
308
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
365
309
  }
366
-
367
310
  _get(_getPrototypeOf(Filters.prototype), "disablePlugin", this).call(this);
368
311
  }
369
- /* eslint-disable jsdoc/require-description-complete-sentence */
370
312
 
313
+ /* eslint-disable jsdoc/require-description-complete-sentence */
371
314
  /**
372
315
  * @memberof Filters#
373
316
  * @function addCondition
@@ -402,6 +345,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
402
345
  * **Note**: Mind that you cannot mix different types of operations (for instance, if you use `conjunction`, use it consequently for a particular column).
403
346
  *
404
347
  * @example
348
+ * ::: only-for javascript
405
349
  * ```js
406
350
  * const container = document.getElementById('example');
407
351
  * const hot = new Handsontable(container, {
@@ -431,14 +375,51 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
431
375
  * filtersPlugin.addCondition(1, 'not_contains', ['ing'], 'disjunction');
432
376
  * filtersPlugin.filter();
433
377
  * ```
378
+ * :::
379
+ *
380
+ * ::: only-for react
381
+ * ```jsx
382
+ * const hotRef = useRef(null);
383
+ *
384
+ * ...
385
+ *
386
+ * <HotTable
387
+ * ref={hotRef}
388
+ * data={getData()}
389
+ * filters={true}
390
+ * />
391
+ *
392
+ * // access to filters plugin instance
393
+ * const hot = hotRef.current.hotInstance;
394
+ * const filtersPlugin = hot.getPlugin('filters');
395
+ *
396
+ * // add filter "Greater than" 95 to column at index 1
397
+ * filtersPlugin.addCondition(1, 'gt', [95]);
398
+ * filtersPlugin.filter();
399
+ *
400
+ * // add filter "By value" to column at index 1
401
+ * // in this case all value's that don't match will be filtered.
402
+ * filtersPlugin.addCondition(1, 'by_value', [['ing', 'ed', 'as', 'on']]);
403
+ * filtersPlugin.filter();
404
+ *
405
+ * // add filter "Begins with" with value "de" AND "Not contains" with value "ing"
406
+ * filtersPlugin.addCondition(1, 'begins_with', ['de'], 'conjunction');
407
+ * filtersPlugin.addCondition(1, 'not_contains', ['ing'], 'conjunction');
408
+ * filtersPlugin.filter();
409
+ *
410
+ * // add filter "Begins with" with value "de" OR "Not contains" with value "ing"
411
+ * filtersPlugin.addCondition(1, 'begins_with', ['de'], 'disjunction');
412
+ * filtersPlugin.addCondition(1, 'not_contains', ['ing'], 'disjunction');
413
+ * filtersPlugin.filter();
414
+ * ```
415
+ * :::
416
+ *
434
417
  * @param {number} column Visual column index.
435
418
  * @param {string} name Condition short name.
436
419
  * @param {Array} args Condition arguments.
437
420
  * @param {string} [operationId=conjunction] `id` of operation which is performed on the column.
438
421
  */
439
-
440
422
  /* eslint-enable jsdoc/require-description-complete-sentence */
441
-
442
423
  }, {
443
424
  key: "addCondition",
444
425
  value: function addCondition(column, name, args) {
@@ -451,25 +432,25 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
451
432
  args: args
452
433
  }, operationId);
453
434
  }
435
+
454
436
  /**
455
437
  * Removes conditions at specified column index.
456
438
  *
457
439
  * @param {number} column Visual column index.
458
440
  */
459
-
460
441
  }, {
461
442
  key: "removeConditions",
462
443
  value: function removeConditions(column) {
463
444
  var physicalColumn = this.hot.toPhysicalColumn(column);
464
445
  this.conditionCollection.removeConditions(physicalColumn);
465
446
  }
447
+
466
448
  /**
467
449
  * Clears all conditions previously added to the collection for the specified column index or, if the column index
468
450
  * was not passed, clear the conditions for all columns.
469
451
  *
470
452
  * @param {number} [column] Visual column index.
471
453
  */
472
-
473
454
  }, {
474
455
  key: "clearConditions",
475
456
  value: function clearConditions(column) {
@@ -480,45 +461,40 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
480
461
  this.conditionCollection.removeConditions(physicalColumn);
481
462
  }
482
463
  }
464
+
483
465
  /**
484
466
  * Filters data based on added filter conditions.
485
467
  *
486
468
  * @fires Hooks#beforeFilter
487
469
  * @fires Hooks#afterFilter
488
470
  */
489
-
490
471
  }, {
491
472
  key: "filter",
492
473
  value: function filter() {
493
- var _this5 = this;
494
-
474
+ var _this4 = this;
495
475
  var dataFilter = this._createDataFilter();
496
-
497
476
  var needToFilter = !this.conditionCollection.isEmpty();
498
477
  var visibleVisualRows = [];
499
478
  var conditions = this.conditionCollection.exportAllConditions();
500
479
  var allowFiltering = this.hot.runHooks('beforeFilter', conditions);
501
-
502
480
  if (allowFiltering !== false) {
503
481
  if (needToFilter) {
504
482
  var trimmedRows = [];
505
483
  this.hot.batchExecution(function () {
506
- _this5.filtersRowsMap.clear();
507
-
484
+ _this4.filtersRowsMap.clear();
508
485
  visibleVisualRows = arrayMap(dataFilter.filter(), function (rowData) {
509
486
  return rowData.meta.visualRow;
510
487
  });
511
488
  var visibleVisualRowsAssertion = createArrayAssertion(visibleVisualRows);
512
- rangeEach(_this5.hot.countSourceRows() - 1, function (row) {
489
+ rangeEach(_this4.hot.countSourceRows() - 1, function (row) {
513
490
  if (!visibleVisualRowsAssertion(row)) {
514
491
  trimmedRows.push(row);
515
492
  }
516
493
  });
517
494
  arrayEach(trimmedRows, function (physicalRow) {
518
- _this5.filtersRowsMap.setValueAtIndex(physicalRow, true);
495
+ _this4.filtersRowsMap.setValueAtIndex(physicalRow, true);
519
496
  });
520
497
  }, true);
521
-
522
498
  if (!visibleVisualRows.length) {
523
499
  this.hot.deselectCell();
524
500
  }
@@ -526,69 +502,71 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
526
502
  this.filtersRowsMap.clear();
527
503
  }
528
504
  }
529
-
530
505
  this.hot.runHooks('afterFilter', conditions);
531
506
  this.hot.view.adjustElementsSize(true);
532
507
  this.hot.render();
533
508
  this.clearColumnSelection();
534
509
  }
510
+
535
511
  /**
536
512
  * Gets last selected column index.
537
513
  *
538
- * @returns {object|null} Return `null` when column isn't selected otherwise
539
- * object containing information about selected column with keys `visualIndex` and `physicalIndex`.
514
+ * @returns {{visualIndex: number, physicalIndex: number} | null} Returns `null` when a column is
515
+ * not selected. Otherwise, returns an object with `visualIndex` and `physicalIndex` properties containing
516
+ * the index of the column.
540
517
  */
541
-
542
518
  }, {
543
519
  key: "getSelectedColumn",
544
520
  value: function getSelectedColumn() {
545
- return this.lastSelectedColumn;
521
+ var _this$hot$getSelected;
522
+ var highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
523
+ if (!highlight) {
524
+ return null;
525
+ }
526
+ return {
527
+ visualIndex: highlight.col,
528
+ physicalIndex: this.hot.toPhysicalColumn(highlight.col)
529
+ };
546
530
  }
531
+
547
532
  /**
548
533
  * Clears column selection.
549
534
  *
550
535
  * @private
551
536
  */
552
-
553
537
  }, {
554
538
  key: "clearColumnSelection",
555
539
  value: function clearColumnSelection() {
556
- var _this$hot$getSelected;
557
-
558
- var coords = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.getTopStartCorner();
559
-
560
- if (coords !== void 0) {
561
- this.hot.selectCell(coords.row, coords.col);
540
+ var selectedColumn = this.getSelectedColumn();
541
+ if (selectedColumn !== null) {
542
+ this.hot.selectCell(0, selectedColumn.visualIndex);
562
543
  }
563
544
  }
545
+
564
546
  /**
565
547
  * Returns handsontable source data with cell meta based on current selection.
566
548
  *
567
549
  * @param {number} [column] The physical column index. By default column index accept the value of the selected column.
568
550
  * @returns {Array} Returns array of objects where keys as row index.
569
551
  */
570
-
571
552
  }, {
572
553
  key: "getDataMapAtColumn",
573
554
  value: function getDataMapAtColumn(column) {
574
- var _this6 = this;
575
-
555
+ var _this5 = this;
576
556
  var visualColumn = this.hot.toVisualColumn(column);
577
557
  var data = [];
578
558
  arrayEach(this.hot.getSourceDataAtCol(visualColumn), function (value, rowIndex) {
579
- var _this6$hot$getDataAtC;
580
-
581
- var _this6$hot$getCellMet = _this6.hot.getCellMeta(rowIndex, visualColumn),
582
- row = _this6$hot$getCellMet.row,
583
- col = _this6$hot$getCellMet.col,
584
- visualCol = _this6$hot$getCellMet.visualCol,
585
- visualRow = _this6$hot$getCellMet.visualRow,
586
- type = _this6$hot$getCellMet.type,
587
- instance = _this6$hot$getCellMet.instance,
588
- dateFormat = _this6$hot$getCellMet.dateFormat,
589
- locale = _this6$hot$getCellMet.locale;
590
-
591
- var dataValue = (_this6$hot$getDataAtC = _this6.hot.getDataAtCell(_this6.hot.toVisualRow(rowIndex), visualColumn)) !== null && _this6$hot$getDataAtC !== void 0 ? _this6$hot$getDataAtC : value;
559
+ var _this5$hot$getDataAtC;
560
+ var _this5$hot$getCellMet = _this5.hot.getCellMeta(rowIndex, visualColumn),
561
+ row = _this5$hot$getCellMet.row,
562
+ col = _this5$hot$getCellMet.col,
563
+ visualCol = _this5$hot$getCellMet.visualCol,
564
+ visualRow = _this5$hot$getCellMet.visualRow,
565
+ type = _this5$hot$getCellMet.type,
566
+ instance = _this5$hot$getCellMet.instance,
567
+ dateFormat = _this5$hot$getCellMet.dateFormat,
568
+ locale = _this5$hot$getCellMet.locale;
569
+ var dataValue = (_this5$hot$getDataAtC = _this5.hot.getDataAtCell(_this5.hot.toVisualRow(rowIndex), visualColumn)) !== null && _this5$hot$getDataAtC !== void 0 ? _this5$hot$getDataAtC : value;
592
570
  data.push({
593
571
  meta: {
594
572
  row: row,
@@ -605,38 +583,35 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
605
583
  });
606
584
  return data;
607
585
  }
586
+
608
587
  /**
609
588
  * `afterChange` listener.
610
589
  *
611
590
  * @private
612
591
  * @param {Array} changes Array of changes.
613
592
  */
614
-
615
593
  }, {
616
594
  key: "onAfterChange",
617
595
  value: function onAfterChange(changes) {
618
- var _this7 = this;
619
-
596
+ var _this6 = this;
620
597
  if (changes) {
621
598
  arrayEach(changes, function (change) {
622
599
  var _change = _slicedToArray(change, 2),
623
- prop = _change[1];
624
-
625
- var columnIndex = _this7.hot.propToCol(prop);
626
-
627
- if (_this7.conditionCollection.hasConditions(columnIndex)) {
628
- _this7.updateValueComponentCondition(columnIndex);
600
+ prop = _change[1];
601
+ var columnIndex = _this6.hot.propToCol(prop);
602
+ if (_this6.conditionCollection.hasConditions(columnIndex)) {
603
+ _this6.updateValueComponentCondition(columnIndex);
629
604
  }
630
605
  });
631
606
  }
632
607
  }
608
+
633
609
  /**
634
610
  * Update the condition of ValueComponent, based on the handled changes.
635
611
  *
636
612
  * @private
637
613
  * @param {number} columnIndex Column index of handled ValueComponent condition.
638
614
  */
639
-
640
615
  }, {
641
616
  key: "updateValueComponentCondition",
642
617
  value: function updateValueComponentCondition(columnIndex) {
@@ -644,77 +619,74 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
644
619
  var selectedValues = unifyColumnValues(dataAtCol);
645
620
  this.conditionUpdateObserver.updateStatesAtColumn(columnIndex, selectedValues);
646
621
  }
622
+
647
623
  /**
648
624
  * Restores components to its saved state.
649
625
  *
650
626
  * @private
651
627
  * @param {Array} components List of components.
652
628
  */
653
-
654
629
  }, {
655
630
  key: "restoreComponents",
656
631
  value: function restoreComponents(components) {
657
632
  var _this$getSelectedColu;
658
-
659
633
  var physicalIndex = (_this$getSelectedColu = this.getSelectedColumn()) === null || _this$getSelectedColu === void 0 ? void 0 : _this$getSelectedColu.physicalIndex;
660
634
  components.forEach(function (component) {
661
635
  if (component.isHidden()) {
662
636
  return;
663
637
  }
664
-
665
638
  component.restoreState(physicalIndex);
666
639
  });
667
640
  this.updateDependentComponentsVisibility();
668
641
  }
642
+
669
643
  /**
670
644
  * After dropdown menu show listener.
671
645
  *
672
646
  * @private
673
647
  */
674
-
675
648
  }, {
676
649
  key: "onAfterDropdownMenuShow",
677
650
  value: function onAfterDropdownMenuShow() {
678
651
  this.restoreComponents(Array.from(this.components.values()));
679
652
  }
653
+
680
654
  /**
681
655
  * After dropdown menu hide listener.
682
656
  *
683
657
  * @private
684
658
  */
685
-
686
659
  }, {
687
660
  key: "onAfterDropdownMenuHide",
688
661
  value: function onAfterDropdownMenuHide() {
689
662
  this.components.get('filter_by_condition').getSelectElement().closeOptions();
690
663
  this.components.get('filter_by_condition2').getSelectElement().closeOptions();
691
664
  }
665
+
692
666
  /**
693
667
  * Before dropdown menu set menu items listener.
694
668
  *
695
669
  * @private
696
670
  */
697
-
698
671
  }, {
699
672
  key: "onBeforeDropdownMenuSetItems",
700
673
  value: function onBeforeDropdownMenuSetItems() {
701
- var _this8 = this;
702
-
674
+ var _this7 = this;
703
675
  if (this.dropdownMenuPlugin) {
704
676
  this.dropdownMenuPlugin.menu.addLocalHook('afterOpen', function () {
705
- _this8.dropdownMenuPlugin.menu.hotMenu.updateSettings({
677
+ _this7.dropdownMenuPlugin.menu.hotMenu.updateSettings({
706
678
  hiddenRows: true
707
679
  });
708
680
  });
709
681
  }
710
682
  }
683
+
711
684
  /**
712
685
  * After dropdown menu default options listener.
713
686
  *
714
687
  * @private
715
688
  * @param {object} defaultOptions ContextMenu default item options.
716
689
  */
717
-
718
690
  }, {
719
691
  key: "onAfterDropdownMenuDefaultOptions",
720
692
  value: function onAfterDropdownMenuDefaultOptions(defaultOptions) {
@@ -725,6 +697,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
725
697
  defaultOptions.items.push(component.getMenuItemDescriptor());
726
698
  });
727
699
  }
700
+
728
701
  /**
729
702
  * Get an operation, based on the number and types of arguments (where arguments are states of components).
730
703
  *
@@ -735,12 +708,10 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
735
708
  * @private
736
709
  * @returns {string}
737
710
  */
738
-
739
711
  }, {
740
712
  key: "getOperationBasedOnArguments",
741
713
  value: function getOperationBasedOnArguments(suggestedOperation, byConditionState1, byConditionState2, byValueState) {
742
714
  var operation = suggestedOperation;
743
-
744
715
  if (operation === OPERATION_OR && byConditionState1.command.key !== CONDITION_NONE && byConditionState2.command.key !== CONDITION_NONE && byValueState.command.key !== CONDITION_NONE) {
745
716
  operation = OPERATION_OR_THEN_VARIABLE;
746
717
  } else if (byValueState.command.key !== CONDITION_NONE) {
@@ -748,48 +719,46 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
748
719
  operation = OPERATION_AND;
749
720
  }
750
721
  }
751
-
752
722
  return operation;
753
723
  }
724
+
754
725
  /**
755
726
  * On action bar submit listener.
756
727
  *
757
728
  * @private
758
729
  * @param {string} submitType The submit type.
759
730
  */
760
-
761
731
  }, {
762
732
  key: "onActionBarSubmit",
763
733
  value: function onActionBarSubmit(submitType) {
734
+ var _this$dropdownMenuPlu3;
764
735
  if (submitType === 'accept') {
765
- var _this$getSelectedColu2;
766
-
767
- var physicalIndex = (_this$getSelectedColu2 = this.getSelectedColumn()) === null || _this$getSelectedColu2 === void 0 ? void 0 : _this$getSelectedColu2.physicalIndex;
736
+ var selectedColumn = this.getSelectedColumn();
737
+ if (selectedColumn === null) {
738
+ var _this$dropdownMenuPlu2;
739
+ (_this$dropdownMenuPlu2 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu2 === void 0 ? void 0 : _this$dropdownMenuPlu2.close();
740
+ return;
741
+ }
742
+ var physicalIndex = selectedColumn.physicalIndex;
768
743
  var byConditionState1 = this.components.get('filter_by_condition').getState();
769
744
  var byConditionState2 = this.components.get('filter_by_condition2').getState();
770
745
  var byValueState = this.components.get('filter_by_value').getState();
771
746
  var operation = this.getOperationBasedOnArguments(this.components.get('filter_operators').getActiveOperationId(), byConditionState1, byConditionState2, byValueState);
772
747
  this.conditionUpdateObserver.groupChanges();
773
748
  var columnStackPosition = this.conditionCollection.getColumnStackPosition(physicalIndex);
774
-
775
749
  if (columnStackPosition === -1) {
776
750
  columnStackPosition = void 0;
777
751
  }
778
-
779
752
  this.conditionCollection.removeConditions(physicalIndex);
780
-
781
753
  if (byConditionState1.command.key !== CONDITION_NONE) {
782
754
  this.conditionCollection.addCondition(physicalIndex, byConditionState1, operation, columnStackPosition);
783
-
784
755
  if (byConditionState2.command.key !== CONDITION_NONE) {
785
756
  this.conditionCollection.addCondition(physicalIndex, byConditionState2, operation, columnStackPosition);
786
757
  }
787
758
  }
788
-
789
759
  if (byValueState.command.key !== CONDITION_NONE) {
790
760
  this.conditionCollection.addCondition(physicalIndex, byValueState, operation, columnStackPosition);
791
761
  }
792
-
793
762
  this.conditionUpdateObserver.flush();
794
763
  this.components.forEach(function (component) {
795
764
  return component.saveState(physicalIndex);
@@ -797,11 +766,9 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
797
766
  this.filtersRowsMap.clear();
798
767
  this.filter();
799
768
  }
800
-
801
- if (this.dropdownMenuPlugin) {
802
- this.dropdownMenuPlugin.close();
803
- }
769
+ (_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 ? void 0 : _this$dropdownMenuPlu3.close();
804
770
  }
771
+
805
772
  /**
806
773
  * On component change listener.
807
774
  *
@@ -809,34 +776,32 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
809
776
  * @param {BaseComponent} component Component inheriting BaseComponent.
810
777
  * @param {object} command Menu item object (command).
811
778
  */
812
-
813
779
  }, {
814
780
  key: "onComponentChange",
815
781
  value: function onComponentChange(component, command) {
816
782
  this.updateDependentComponentsVisibility();
817
-
818
783
  if (component.constructor === ConditionComponent && !command.inputsCount) {
819
784
  this.setListeningDropdownMenu();
820
785
  }
821
786
  }
787
+
822
788
  /**
823
789
  * On component SelectUI closed listener.
824
790
  *
825
791
  * @private
826
792
  */
827
-
828
793
  }, {
829
794
  key: "onSelectUIClosed",
830
795
  value: function onSelectUIClosed() {
831
796
  this.setListeningDropdownMenu();
832
797
  }
798
+
833
799
  /**
834
800
  * Listen to the keyboard input on document body and forward events to instance of Handsontable
835
801
  * created by DropdownMenu plugin.
836
802
  *
837
803
  * @private
838
804
  */
839
-
840
805
  }, {
841
806
  key: "setListeningDropdownMenu",
842
807
  value: function setListeningDropdownMenu() {
@@ -844,28 +809,26 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
844
809
  this.dropdownMenuPlugin.setListening();
845
810
  }
846
811
  }
812
+
847
813
  /**
848
814
  * Updates visibility of some of the components, based on the state of the parent component.
849
815
  *
850
816
  * @private
851
817
  */
852
-
853
818
  }, {
854
819
  key: "updateDependentComponentsVisibility",
855
820
  value: function updateDependentComponentsVisibility() {
856
821
  var component = this.components.get('filter_by_condition');
857
-
858
822
  var _component$getState = component.getState(),
859
- command = _component$getState.command;
860
-
823
+ command = _component$getState.command;
861
824
  var componentsToShow = [this.components.get('filter_by_condition2'), this.components.get('filter_operators')];
862
-
863
825
  if (command.showOperators) {
864
826
  this.showComponents.apply(this, componentsToShow);
865
827
  } else {
866
828
  this.hideComponents.apply(this, componentsToShow);
867
829
  }
868
830
  }
831
+
869
832
  /**
870
833
  * On after get column header listener.
871
834
  *
@@ -873,39 +836,17 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
873
836
  * @param {number} col Visual column index.
874
837
  * @param {HTMLTableCellElement} TH Header's TH element.
875
838
  */
876
-
877
839
  }, {
878
840
  key: "onAfterGetColHeader",
879
841
  value: function onAfterGetColHeader(col, TH) {
880
842
  var physicalColumn = this.hot.toPhysicalColumn(col);
881
-
882
843
  if (this.enabled && this.conditionCollection.hasConditions(physicalColumn)) {
883
844
  addClass(TH, 'htFiltersActive');
884
845
  } else {
885
846
  removeClass(TH, 'htFiltersActive');
886
847
  }
887
848
  }
888
- /**
889
- * On table click listener.
890
- *
891
- * @private
892
- * @param {Event} event DOM Event.
893
- */
894
-
895
- }, {
896
- key: "onTableClick",
897
- value: function onTableClick(event) {
898
- var th = closest(event.target, 'TH');
899
849
 
900
- if (th) {
901
- var visualIndex = this.hot.getCoords(th).col;
902
- var physicalIndex = this.hot.toPhysicalColumn(visualIndex);
903
- this.lastSelectedColumn = {
904
- visualIndex: visualIndex,
905
- physicalIndex: physicalIndex
906
- };
907
- }
908
- }
909
850
  /**
910
851
  * Creates DataFilter instance based on condition collection.
911
852
  *
@@ -913,17 +854,16 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
913
854
  * @param {ConditionCollection} conditionCollection Condition collection object.
914
855
  * @returns {DataFilter}
915
856
  */
916
-
917
857
  }, {
918
858
  key: "_createDataFilter",
919
859
  value: function _createDataFilter() {
920
- var _this9 = this;
921
-
860
+ var _this8 = this;
922
861
  var conditionCollection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.conditionCollection;
923
862
  return new DataFilter(conditionCollection, function (physicalColumn) {
924
- return _this9.getDataMapAtColumn(physicalColumn);
863
+ return _this8.getDataMapAtColumn(physicalColumn);
925
864
  });
926
865
  }
866
+
927
867
  /**
928
868
  * It updates the components state. The state is triggered by ConditionUpdateObserver, which
929
869
  * reacts to any condition added to the condition collection. It may be added through the UI
@@ -932,26 +872,22 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
932
872
  * @private
933
873
  * @param {object} conditionsState An object with the state generated by UI components.
934
874
  */
935
-
936
875
  }, {
937
876
  key: "updateComponents",
938
877
  value: function updateComponents(conditionsState) {
939
- var _this$dropdownMenuPlu2;
940
-
941
- if (!((_this$dropdownMenuPlu2 = this.dropdownMenuPlugin) !== null && _this$dropdownMenuPlu2 !== void 0 && _this$dropdownMenuPlu2.enabled)) {
878
+ var _this$dropdownMenuPlu4;
879
+ if (!((_this$dropdownMenuPlu4 = this.dropdownMenuPlugin) !== null && _this$dropdownMenuPlu4 !== void 0 && _this$dropdownMenuPlu4.enabled)) {
942
880
  return;
943
881
  }
944
-
945
882
  var _conditionsState$edit = conditionsState.editedConditionStack,
946
- conditions = _conditionsState$edit.conditions,
947
- column = _conditionsState$edit.column;
883
+ conditions = _conditionsState$edit.conditions,
884
+ column = _conditionsState$edit.column;
948
885
  var conditionsByValue = conditions.filter(function (condition) {
949
886
  return condition.name === CONDITION_BY_VALUE;
950
887
  });
951
888
  var conditionsWithoutByValue = conditions.filter(function (condition) {
952
889
  return condition.name !== CONDITION_BY_VALUE;
953
890
  });
954
-
955
891
  if (conditionsByValue.length >= 2 || conditionsWithoutByValue.length >= 3) {
956
892
  warn(toSingleLine(_templateObject || (_templateObject = _taggedTemplateLiteral(["The filter conditions have been applied properly, but couldn\u2019t be displayed visually. \n The overall amount of conditions exceed the capability of the dropdown menu. \n For more details see the documentation."], ["The filter conditions have been applied properly, but couldn\u2019t be displayed visually.\\x20\n The overall amount of conditions exceed the capability of the dropdown menu.\\x20\n For more details see the documentation."]))));
957
893
  } else {
@@ -962,6 +898,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
962
898
  this.components.get('filter_by_value').updateState(conditionsState);
963
899
  }
964
900
  }
901
+
965
902
  /**
966
903
  * Returns indexes of passed components inside list of `dropdownMenu` items.
967
904
  *
@@ -969,22 +906,17 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
969
906
  * @param {...BaseComponent} components List of components.
970
907
  * @returns {Array}
971
908
  */
972
-
973
909
  }, {
974
910
  key: "getIndexesOfComponents",
975
911
  value: function getIndexesOfComponents() {
976
912
  var indexes = [];
977
-
978
913
  if (!this.dropdownMenuPlugin) {
979
914
  return indexes;
980
915
  }
981
-
982
916
  var menu = this.dropdownMenuPlugin.menu;
983
-
984
917
  for (var _len = arguments.length, components = new Array(_len), _key = 0; _key < _len; _key++) {
985
918
  components[_key] = arguments[_key];
986
919
  }
987
-
988
920
  arrayEach(components, function (component) {
989
921
  arrayEach(menu.menuItems, function (item, index) {
990
922
  if (item.key === component.getMenuItemDescriptor().key) {
@@ -994,6 +926,7 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
994
926
  });
995
927
  return indexes;
996
928
  }
929
+
997
930
  /**
998
931
  * Changes visibility of component.
999
932
  *
@@ -1001,88 +934,76 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
1001
934
  * @param {boolean} visible Determine if components should be visible.
1002
935
  * @param {...BaseComponent} components List of components.
1003
936
  */
1004
-
1005
937
  }, {
1006
938
  key: "changeComponentsVisibility",
1007
939
  value: function changeComponentsVisibility() {
1008
940
  var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
1009
-
1010
941
  if (!this.dropdownMenuPlugin) {
1011
942
  return;
1012
943
  }
1013
-
1014
944
  var menu = this.dropdownMenuPlugin.menu;
1015
945
  var hotMenu = menu.hotMenu;
1016
946
  var hiddenRows = hotMenu.getPlugin('hiddenRows');
1017
-
1018
947
  for (var _len2 = arguments.length, components = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
1019
948
  components[_key2 - 1] = arguments[_key2];
1020
949
  }
1021
-
1022
950
  var indexes = this.getIndexesOfComponents.apply(this, components);
1023
-
1024
951
  if (visible) {
1025
952
  hiddenRows.showRows(indexes);
1026
953
  } else {
1027
954
  hiddenRows.hideRows(indexes);
1028
955
  }
1029
-
1030
956
  hotMenu.render();
1031
957
  }
958
+
1032
959
  /**
1033
960
  * Hides components of filters `dropdownMenu`.
1034
961
  *
1035
962
  * @private
1036
963
  * @param {...BaseComponent} components List of components.
1037
964
  */
1038
-
1039
965
  }, {
1040
966
  key: "hideComponents",
1041
967
  value: function hideComponents() {
1042
968
  for (var _len3 = arguments.length, components = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
1043
969
  components[_key3] = arguments[_key3];
1044
970
  }
1045
-
1046
971
  this.changeComponentsVisibility.apply(this, [false].concat(components));
1047
972
  }
973
+
1048
974
  /**
1049
975
  * Shows components of filters `dropdownMenu`.
1050
976
  *
1051
977
  * @private
1052
978
  * @param {...BaseComponent} components List of components.
1053
979
  */
1054
-
1055
980
  }, {
1056
981
  key: "showComponents",
1057
982
  value: function showComponents() {
1058
983
  for (var _len4 = arguments.length, components = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
1059
984
  components[_key4] = arguments[_key4];
1060
985
  }
1061
-
1062
986
  this.changeComponentsVisibility.apply(this, [true].concat(components));
1063
987
  }
988
+
1064
989
  /**
1065
990
  * Destroys the plugin instance.
1066
991
  */
1067
-
1068
992
  }, {
1069
993
  key: "destroy",
1070
994
  value: function destroy() {
1071
- var _this10 = this;
1072
-
995
+ var _this9 = this;
1073
996
  if (this.enabled) {
1074
997
  this.components.forEach(function (component, key) {
1075
998
  if (component !== null) {
1076
999
  component.destroy();
1077
-
1078
- _this10.components.set(key, null);
1000
+ _this9.components.set(key, null);
1079
1001
  }
1080
1002
  });
1081
1003
  this.conditionCollection.destroy();
1082
1004
  this.conditionUpdateObserver.destroy();
1083
1005
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
1084
1006
  }
1085
-
1086
1007
  _get(_getPrototypeOf(Filters.prototype), "destroy", this).call(this);
1087
1008
  }
1088
1009
  }], [{
@@ -1101,6 +1022,5 @@ export var Filters = /*#__PURE__*/function (_BasePlugin) {
1101
1022
  return ['plugin:DropdownMenu', 'plugin:HiddenRows', 'cell-type:checkbox'];
1102
1023
  }
1103
1024
  }]);
1104
-
1105
1025
  return Filters;
1106
1026
  }(BasePlugin);