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,141 +1,76 @@
1
1
  "use strict";
2
2
 
3
3
  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); }
4
-
5
4
  require("core-js/modules/es.reflect.construct.js");
6
-
7
5
  require("core-js/modules/es.reflect.get.js");
8
-
9
6
  require("core-js/modules/es.object.get-own-property-descriptor.js");
10
-
11
7
  require("core-js/modules/es.symbol.js");
12
-
13
8
  require("core-js/modules/es.symbol.description.js");
14
-
15
9
  require("core-js/modules/es.symbol.iterator.js");
16
-
17
10
  require("core-js/modules/es.array.slice.js");
18
-
19
11
  require("core-js/modules/es.regexp.exec.js");
20
-
21
12
  require("core-js/modules/es.object.freeze.js");
22
-
23
13
  require("core-js/modules/es.weak-map.js");
24
-
25
14
  exports.__esModule = true;
26
15
  exports.PLUGIN_PRIORITY = exports.PLUGIN_KEY = exports.Filters = void 0;
27
-
28
16
  require("core-js/modules/es.array.iterator.js");
29
-
30
17
  require("core-js/modules/es.map.js");
31
-
32
18
  require("core-js/modules/es.object.to-string.js");
33
-
34
19
  require("core-js/modules/es.string.iterator.js");
35
-
36
20
  require("core-js/modules/web.dom-collections.iterator.js");
37
-
38
21
  require("core-js/modules/web.dom-collections.for-each.js");
39
-
40
22
  require("core-js/modules/es.array.filter.js");
41
-
42
23
  require("core-js/modules/es.array.from.js");
43
-
44
24
  require("core-js/modules/es.function.name.js");
45
-
46
25
  require("core-js/modules/es.array.concat.js");
47
-
48
26
  require("core-js/modules/es.object.set-prototype-of.js");
49
-
50
27
  require("core-js/modules/es.object.get-prototype-of.js");
51
-
52
28
  var _base = require("../base");
53
-
54
29
  var _array = require("../../helpers/array");
55
-
56
30
  var _templateLiteralTag = require("../../helpers/templateLiteralTag");
57
-
58
31
  var _console = require("../../helpers/console");
59
-
60
32
  var _number = require("../../helpers/number");
61
-
62
33
  var _eventManager = _interopRequireDefault(require("../../eventManager"));
63
-
64
34
  var _element = require("../../helpers/dom/element");
65
-
66
35
  var _predefinedItems = require("../contextMenu/predefinedItems");
67
-
68
36
  var constants = _interopRequireWildcard(require("../../i18n/constants"));
69
-
70
37
  var _condition = _interopRequireDefault(require("./component/condition"));
71
-
72
38
  var _operators = _interopRequireDefault(require("./component/operators"));
73
-
74
39
  var _value = _interopRequireDefault(require("./component/value"));
75
-
76
40
  var _actionBar = _interopRequireDefault(require("./component/actionBar"));
77
-
78
41
  var _conditionCollection = _interopRequireDefault(require("./conditionCollection"));
79
-
80
42
  var _dataFilter = _interopRequireDefault(require("./dataFilter"));
81
-
82
43
  var _conditionUpdateObserver = _interopRequireDefault(require("./conditionUpdateObserver"));
83
-
84
44
  var _utils = require("./utils");
85
-
86
45
  var _constants2 = require("./constants");
87
-
88
46
  var _translations = require("../../translations");
89
-
90
47
  var _templateObject;
91
-
92
48
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
93
-
94
49
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
95
-
96
50
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
97
-
98
51
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
99
-
100
52
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
101
-
102
53
  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."); }
103
-
104
54
  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); }
105
-
106
55
  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; }
107
-
108
56
  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; }
109
-
110
57
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
111
-
112
58
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
113
-
114
59
  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); } }
115
-
116
60
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
117
-
118
61
  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); }
119
-
120
62
  function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
121
-
122
63
  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); }
123
-
124
64
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
125
-
126
65
  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); }; }
127
-
128
66
  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); }
129
-
130
67
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
131
-
132
68
  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; } }
133
-
134
69
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
135
-
136
70
  var PLUGIN_KEY = 'filters';
137
71
  exports.PLUGIN_KEY = PLUGIN_KEY;
138
72
  var PLUGIN_PRIORITY = 250;
73
+
139
74
  /**
140
75
  * @plugin Filters
141
76
  * @class Filters
@@ -146,6 +81,7 @@ var PLUGIN_PRIORITY = 250;
146
81
  * See [the filtering demo](@/guides/columns/column-filter.md) for examples.
147
82
  *
148
83
  * @example
84
+ * ::: only-for javascript
149
85
  * ```js
150
86
  * const container = document.getElementById('example');
151
87
  * const hot = new Handsontable(container, {
@@ -156,20 +92,27 @@ var PLUGIN_PRIORITY = 250;
156
92
  * filters: true
157
93
  * });
158
94
  * ```
95
+ * :::
96
+ *
97
+ * ::: only-for react
98
+ * ```jsx
99
+ * <HotTable
100
+ * data={getData()}
101
+ * colHeaders={true}
102
+ * rowHeaders={true}
103
+ * dropdownMenu={true}
104
+ * filters={true}
105
+ * />
106
+ * ```
107
+ * :::
159
108
  */
160
-
161
109
  exports.PLUGIN_PRIORITY = PLUGIN_PRIORITY;
162
-
163
110
  var Filters = /*#__PURE__*/function (_BasePlugin) {
164
111
  _inherits(Filters, _BasePlugin);
165
-
166
112
  var _super = _createSuper(Filters);
167
-
168
113
  function Filters(hotInstance) {
169
114
  var _this;
170
-
171
115
  _classCallCheck(this, Filters);
172
-
173
116
  _this = _super.call(this, hotInstance);
174
117
  /**
175
118
  * Instance of {@link EventManager}.
@@ -177,7 +120,6 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
177
120
  * @private
178
121
  * @type {EventManager}
179
122
  */
180
-
181
123
  _this.eventManager = new _eventManager.default(_assertThisInitialized(_this));
182
124
  /**
183
125
  * Instance of {@link DropdownMenu}.
@@ -185,7 +127,6 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
185
127
  * @private
186
128
  * @type {DropdownMenu}
187
129
  */
188
-
189
130
  _this.dropdownMenuPlugin = null;
190
131
  /**
191
132
  * Instance of {@link ConditionCollection}.
@@ -193,7 +134,6 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
193
134
  * @private
194
135
  * @type {ConditionCollection}
195
136
  */
196
-
197
137
  _this.conditionCollection = null;
198
138
  /**
199
139
  * Instance of {@link ConditionUpdateObserver}.
@@ -201,7 +141,6 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
201
141
  * @private
202
142
  * @type {ConditionUpdateObserver}
203
143
  */
204
-
205
144
  _this.conditionUpdateObserver = null;
206
145
  /**
207
146
  * Map, where key is component identifier and value represent `BaseComponent` element or it derivatives.
@@ -209,7 +148,6 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
209
148
  * @private
210
149
  * @type {Map}
211
150
  */
212
-
213
151
  _this.components = new Map([['filter_by_condition', null], ['filter_operators', null], ['filter_by_condition2', null], ['filter_by_value', null], ['filter_action_bar', null]]);
214
152
  /**
215
153
  * Object containing information about last selected column physical and visual index for added filter conditions.
@@ -218,7 +156,6 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
218
156
  * @type {object}
219
157
  * @default null
220
158
  */
221
-
222
159
  _this.lastSelectedColumn = null;
223
160
  /**
224
161
  * Map of skipped rows by plugin.
@@ -226,47 +163,42 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
226
163
  * @private
227
164
  * @type {null|TrimmingMap}
228
165
  */
166
+ _this.filtersRowsMap = null;
229
167
 
230
- _this.filtersRowsMap = null; // One listener for the enable/disable functionality
231
-
168
+ // One listener for the enable/disable functionality
232
169
  _this.hot.addHook('afterGetColHeader', function (col, TH) {
233
170
  return _this.onAfterGetColHeader(col, TH);
234
171
  });
235
-
236
172
  return _this;
237
173
  }
174
+
238
175
  /**
239
176
  * Checks if the plugin is enabled in the handsontable settings. This method is executed in {@link Hooks#beforeInit}
240
- * hook and if it returns `true` than the {@link Filters#enablePlugin} method is called.
177
+ * hook and if it returns `true` then the {@link Filters#enablePlugin} method is called.
241
178
  *
242
179
  * @returns {boolean}
243
180
  */
244
-
245
-
246
181
  _createClass(Filters, [{
247
182
  key: "isEnabled",
248
183
  value: function isEnabled() {
249
184
  /* eslint-disable no-unneeded-ternary */
250
185
  return this.hot.getSettings()[PLUGIN_KEY] ? true : false;
251
186
  }
187
+
252
188
  /**
253
189
  * Enables the plugin functionality for this Handsontable instance.
254
190
  */
255
-
256
191
  }, {
257
192
  key: "enablePlugin",
258
193
  value: function enablePlugin() {
259
194
  var _this2 = this;
260
-
261
195
  if (this.enabled) {
262
196
  return;
263
197
  }
264
-
265
198
  this.filtersRowsMap = this.hot.rowIndexMapper.registerMap(this.pluginName, new _translations.TrimmingMap());
266
199
  this.dropdownMenuPlugin = this.hot.getPlugin('dropdownMenu');
267
200
  var dropdownSettings = this.hot.getSettings().dropdownMenu;
268
201
  var menuContainer = dropdownSettings && dropdownSettings.uiContainer || this.hot.rootDocument.body;
269
-
270
202
  var addConfirmationHooks = function addConfirmationHooks(component) {
271
203
  component.addLocalHook('accept', function () {
272
204
  return _this2.onActionBarSubmit('accept');
@@ -279,15 +211,12 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
279
211
  });
280
212
  return component;
281
213
  };
282
-
283
214
  var filterByConditionLabel = function filterByConditionLabel() {
284
215
  return "".concat(_this2.hot.getTranslatedPhrase(constants.FILTERS_DIVS_FILTER_BY_CONDITION), ":");
285
216
  };
286
-
287
217
  var filterValueLabel = function filterValueLabel() {
288
218
  return "".concat(_this2.hot.getTranslatedPhrase(constants.FILTERS_DIVS_FILTER_BY_VALUE), ":");
289
219
  };
290
-
291
220
  if (!this.components.get('filter_by_condition')) {
292
221
  var conditionComponent = new _condition.default(this.hot, {
293
222
  id: 'filter_by_condition',
@@ -300,14 +229,12 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
300
229
  });
301
230
  this.components.set('filter_by_condition', addConfirmationHooks(conditionComponent));
302
231
  }
303
-
304
232
  if (!this.components.get('filter_operators')) {
305
233
  this.components.set('filter_operators', new _operators.default(this.hot, {
306
234
  id: 'filter_operators',
307
235
  name: 'Operators'
308
236
  }));
309
237
  }
310
-
311
238
  if (!this.components.get('filter_by_condition2')) {
312
239
  var _conditionComponent = new _condition.default(this.hot, {
313
240
  id: 'filter_by_condition2',
@@ -315,32 +242,26 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
315
242
  addSeparator: true,
316
243
  menuContainer: menuContainer
317
244
  });
318
-
319
245
  _conditionComponent.addLocalHook('afterClose', function () {
320
246
  return _this2.onSelectUIClosed();
321
247
  });
322
-
323
248
  this.components.set('filter_by_condition2', addConfirmationHooks(_conditionComponent));
324
249
  }
325
-
326
250
  if (!this.components.get('filter_by_value')) {
327
251
  this.components.set('filter_by_value', addConfirmationHooks(new _value.default(this.hot, {
328
252
  id: 'filter_by_value',
329
253
  name: filterValueLabel
330
254
  })));
331
255
  }
332
-
333
256
  if (!this.components.get('filter_action_bar')) {
334
257
  this.components.set('filter_action_bar', addConfirmationHooks(new _actionBar.default(this.hot, {
335
258
  id: 'filter_action_bar',
336
259
  name: 'Action bar'
337
260
  })));
338
261
  }
339
-
340
262
  if (!this.conditionCollection) {
341
263
  this.conditionCollection = new _conditionCollection.default(this.hot);
342
264
  }
343
-
344
265
  if (!this.conditionUpdateObserver) {
345
266
  this.conditionUpdateObserver = new _conditionUpdateObserver.default(this.hot, this.conditionCollection, function (physicalColumn) {
346
267
  return _this2.getDataMapAtColumn(physicalColumn);
@@ -349,11 +270,9 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
349
270
  return _this2.updateComponents(conditionState);
350
271
  });
351
272
  }
352
-
353
273
  this.components.forEach(function (component) {
354
274
  return component.show();
355
275
  });
356
- this.registerEvents();
357
276
  this.addHook('beforeDropdownMenuSetItems', function (items) {
358
277
  return _this2.onBeforeDropdownMenuSetItems(items);
359
278
  });
@@ -368,60 +287,40 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
368
287
  });
369
288
  this.addHook('afterChange', function (changes) {
370
289
  return _this2.onAfterChange(changes);
371
- }); // Temp. solution (extending menu items bug in contextMenu/dropdownMenu)
290
+ });
372
291
 
292
+ // Temp. solution (extending menu items bug in contextMenu/dropdownMenu)
373
293
  if (this.hot.getSettings().dropdownMenu && this.dropdownMenuPlugin) {
374
294
  this.dropdownMenuPlugin.disablePlugin();
375
295
  this.dropdownMenuPlugin.enablePlugin();
376
296
  }
377
-
378
297
  _get(_getPrototypeOf(Filters.prototype), "enablePlugin", this).call(this);
379
298
  }
380
- /**
381
- * Registers the DOM listeners.
382
- *
383
- * @private
384
- */
385
299
 
386
- }, {
387
- key: "registerEvents",
388
- value: function registerEvents() {
389
- var _this3 = this;
390
-
391
- this.eventManager.addEventListener(this.hot.rootElement, 'click', function (event) {
392
- return _this3.onTableClick(event);
393
- });
394
- }
395
300
  /**
396
301
  * Disables the plugin functionality for this Handsontable instance.
397
302
  */
398
-
399
303
  }, {
400
304
  key: "disablePlugin",
401
305
  value: function disablePlugin() {
402
- var _this4 = this;
403
-
306
+ var _this3 = this;
404
307
  if (this.enabled) {
405
308
  var _this$dropdownMenuPlu;
406
-
407
309
  if ((_this$dropdownMenuPlu = this.dropdownMenuPlugin) !== null && _this$dropdownMenuPlu !== void 0 && _this$dropdownMenuPlu.enabled) {
408
310
  this.dropdownMenuPlugin.menu.clearLocalHooks();
409
311
  }
410
-
411
312
  this.components.forEach(function (component, key) {
412
313
  component.destroy();
413
-
414
- _this4.components.set(key, null);
314
+ _this3.components.set(key, null);
415
315
  });
416
316
  this.conditionCollection.destroy();
417
317
  this.conditionCollection = null;
418
318
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
419
319
  }
420
-
421
320
  _get(_getPrototypeOf(Filters.prototype), "disablePlugin", this).call(this);
422
321
  }
423
- /* eslint-disable jsdoc/require-description-complete-sentence */
424
322
 
323
+ /* eslint-disable jsdoc/require-description-complete-sentence */
425
324
  /**
426
325
  * @memberof Filters#
427
326
  * @function addCondition
@@ -456,6 +355,7 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
456
355
  * **Note**: Mind that you cannot mix different types of operations (for instance, if you use `conjunction`, use it consequently for a particular column).
457
356
  *
458
357
  * @example
358
+ * ::: only-for javascript
459
359
  * ```js
460
360
  * const container = document.getElementById('example');
461
361
  * const hot = new Handsontable(container, {
@@ -485,14 +385,51 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
485
385
  * filtersPlugin.addCondition(1, 'not_contains', ['ing'], 'disjunction');
486
386
  * filtersPlugin.filter();
487
387
  * ```
388
+ * :::
389
+ *
390
+ * ::: only-for react
391
+ * ```jsx
392
+ * const hotRef = useRef(null);
393
+ *
394
+ * ...
395
+ *
396
+ * <HotTable
397
+ * ref={hotRef}
398
+ * data={getData()}
399
+ * filters={true}
400
+ * />
401
+ *
402
+ * // access to filters plugin instance
403
+ * const hot = hotRef.current.hotInstance;
404
+ * const filtersPlugin = hot.getPlugin('filters');
405
+ *
406
+ * // add filter "Greater than" 95 to column at index 1
407
+ * filtersPlugin.addCondition(1, 'gt', [95]);
408
+ * filtersPlugin.filter();
409
+ *
410
+ * // add filter "By value" to column at index 1
411
+ * // in this case all value's that don't match will be filtered.
412
+ * filtersPlugin.addCondition(1, 'by_value', [['ing', 'ed', 'as', 'on']]);
413
+ * filtersPlugin.filter();
414
+ *
415
+ * // add filter "Begins with" with value "de" AND "Not contains" with value "ing"
416
+ * filtersPlugin.addCondition(1, 'begins_with', ['de'], 'conjunction');
417
+ * filtersPlugin.addCondition(1, 'not_contains', ['ing'], 'conjunction');
418
+ * filtersPlugin.filter();
419
+ *
420
+ * // add filter "Begins with" with value "de" OR "Not contains" with value "ing"
421
+ * filtersPlugin.addCondition(1, 'begins_with', ['de'], 'disjunction');
422
+ * filtersPlugin.addCondition(1, 'not_contains', ['ing'], 'disjunction');
423
+ * filtersPlugin.filter();
424
+ * ```
425
+ * :::
426
+ *
488
427
  * @param {number} column Visual column index.
489
428
  * @param {string} name Condition short name.
490
429
  * @param {Array} args Condition arguments.
491
430
  * @param {string} [operationId=conjunction] `id` of operation which is performed on the column.
492
431
  */
493
-
494
432
  /* eslint-enable jsdoc/require-description-complete-sentence */
495
-
496
433
  }, {
497
434
  key: "addCondition",
498
435
  value: function addCondition(column, name, args) {
@@ -505,25 +442,25 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
505
442
  args: args
506
443
  }, operationId);
507
444
  }
445
+
508
446
  /**
509
447
  * Removes conditions at specified column index.
510
448
  *
511
449
  * @param {number} column Visual column index.
512
450
  */
513
-
514
451
  }, {
515
452
  key: "removeConditions",
516
453
  value: function removeConditions(column) {
517
454
  var physicalColumn = this.hot.toPhysicalColumn(column);
518
455
  this.conditionCollection.removeConditions(physicalColumn);
519
456
  }
457
+
520
458
  /**
521
459
  * Clears all conditions previously added to the collection for the specified column index or, if the column index
522
460
  * was not passed, clear the conditions for all columns.
523
461
  *
524
462
  * @param {number} [column] Visual column index.
525
463
  */
526
-
527
464
  }, {
528
465
  key: "clearConditions",
529
466
  value: function clearConditions(column) {
@@ -534,45 +471,40 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
534
471
  this.conditionCollection.removeConditions(physicalColumn);
535
472
  }
536
473
  }
474
+
537
475
  /**
538
476
  * Filters data based on added filter conditions.
539
477
  *
540
478
  * @fires Hooks#beforeFilter
541
479
  * @fires Hooks#afterFilter
542
480
  */
543
-
544
481
  }, {
545
482
  key: "filter",
546
483
  value: function filter() {
547
- var _this5 = this;
548
-
484
+ var _this4 = this;
549
485
  var dataFilter = this._createDataFilter();
550
-
551
486
  var needToFilter = !this.conditionCollection.isEmpty();
552
487
  var visibleVisualRows = [];
553
488
  var conditions = this.conditionCollection.exportAllConditions();
554
489
  var allowFiltering = this.hot.runHooks('beforeFilter', conditions);
555
-
556
490
  if (allowFiltering !== false) {
557
491
  if (needToFilter) {
558
492
  var trimmedRows = [];
559
493
  this.hot.batchExecution(function () {
560
- _this5.filtersRowsMap.clear();
561
-
494
+ _this4.filtersRowsMap.clear();
562
495
  visibleVisualRows = (0, _array.arrayMap)(dataFilter.filter(), function (rowData) {
563
496
  return rowData.meta.visualRow;
564
497
  });
565
498
  var visibleVisualRowsAssertion = (0, _utils.createArrayAssertion)(visibleVisualRows);
566
- (0, _number.rangeEach)(_this5.hot.countSourceRows() - 1, function (row) {
499
+ (0, _number.rangeEach)(_this4.hot.countSourceRows() - 1, function (row) {
567
500
  if (!visibleVisualRowsAssertion(row)) {
568
501
  trimmedRows.push(row);
569
502
  }
570
503
  });
571
504
  (0, _array.arrayEach)(trimmedRows, function (physicalRow) {
572
- _this5.filtersRowsMap.setValueAtIndex(physicalRow, true);
505
+ _this4.filtersRowsMap.setValueAtIndex(physicalRow, true);
573
506
  });
574
507
  }, true);
575
-
576
508
  if (!visibleVisualRows.length) {
577
509
  this.hot.deselectCell();
578
510
  }
@@ -580,69 +512,71 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
580
512
  this.filtersRowsMap.clear();
581
513
  }
582
514
  }
583
-
584
515
  this.hot.runHooks('afterFilter', conditions);
585
516
  this.hot.view.adjustElementsSize(true);
586
517
  this.hot.render();
587
518
  this.clearColumnSelection();
588
519
  }
520
+
589
521
  /**
590
522
  * Gets last selected column index.
591
523
  *
592
- * @returns {object|null} Return `null` when column isn't selected otherwise
593
- * object containing information about selected column with keys `visualIndex` and `physicalIndex`.
524
+ * @returns {{visualIndex: number, physicalIndex: number} | null} Returns `null` when a column is
525
+ * not selected. Otherwise, returns an object with `visualIndex` and `physicalIndex` properties containing
526
+ * the index of the column.
594
527
  */
595
-
596
528
  }, {
597
529
  key: "getSelectedColumn",
598
530
  value: function getSelectedColumn() {
599
- return this.lastSelectedColumn;
531
+ var _this$hot$getSelected;
532
+ var highlight = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.highlight;
533
+ if (!highlight) {
534
+ return null;
535
+ }
536
+ return {
537
+ visualIndex: highlight.col,
538
+ physicalIndex: this.hot.toPhysicalColumn(highlight.col)
539
+ };
600
540
  }
541
+
601
542
  /**
602
543
  * Clears column selection.
603
544
  *
604
545
  * @private
605
546
  */
606
-
607
547
  }, {
608
548
  key: "clearColumnSelection",
609
549
  value: function clearColumnSelection() {
610
- var _this$hot$getSelected;
611
-
612
- var coords = (_this$hot$getSelected = this.hot.getSelectedRangeLast()) === null || _this$hot$getSelected === void 0 ? void 0 : _this$hot$getSelected.getTopStartCorner();
613
-
614
- if (coords !== void 0) {
615
- this.hot.selectCell(coords.row, coords.col);
550
+ var selectedColumn = this.getSelectedColumn();
551
+ if (selectedColumn !== null) {
552
+ this.hot.selectCell(0, selectedColumn.visualIndex);
616
553
  }
617
554
  }
555
+
618
556
  /**
619
557
  * Returns handsontable source data with cell meta based on current selection.
620
558
  *
621
559
  * @param {number} [column] The physical column index. By default column index accept the value of the selected column.
622
560
  * @returns {Array} Returns array of objects where keys as row index.
623
561
  */
624
-
625
562
  }, {
626
563
  key: "getDataMapAtColumn",
627
564
  value: function getDataMapAtColumn(column) {
628
- var _this6 = this;
629
-
565
+ var _this5 = this;
630
566
  var visualColumn = this.hot.toVisualColumn(column);
631
567
  var data = [];
632
568
  (0, _array.arrayEach)(this.hot.getSourceDataAtCol(visualColumn), function (value, rowIndex) {
633
- var _this6$hot$getDataAtC;
634
-
635
- var _this6$hot$getCellMet = _this6.hot.getCellMeta(rowIndex, visualColumn),
636
- row = _this6$hot$getCellMet.row,
637
- col = _this6$hot$getCellMet.col,
638
- visualCol = _this6$hot$getCellMet.visualCol,
639
- visualRow = _this6$hot$getCellMet.visualRow,
640
- type = _this6$hot$getCellMet.type,
641
- instance = _this6$hot$getCellMet.instance,
642
- dateFormat = _this6$hot$getCellMet.dateFormat,
643
- locale = _this6$hot$getCellMet.locale;
644
-
645
- var dataValue = (_this6$hot$getDataAtC = _this6.hot.getDataAtCell(_this6.hot.toVisualRow(rowIndex), visualColumn)) !== null && _this6$hot$getDataAtC !== void 0 ? _this6$hot$getDataAtC : value;
569
+ var _this5$hot$getDataAtC;
570
+ var _this5$hot$getCellMet = _this5.hot.getCellMeta(rowIndex, visualColumn),
571
+ row = _this5$hot$getCellMet.row,
572
+ col = _this5$hot$getCellMet.col,
573
+ visualCol = _this5$hot$getCellMet.visualCol,
574
+ visualRow = _this5$hot$getCellMet.visualRow,
575
+ type = _this5$hot$getCellMet.type,
576
+ instance = _this5$hot$getCellMet.instance,
577
+ dateFormat = _this5$hot$getCellMet.dateFormat,
578
+ locale = _this5$hot$getCellMet.locale;
579
+ var dataValue = (_this5$hot$getDataAtC = _this5.hot.getDataAtCell(_this5.hot.toVisualRow(rowIndex), visualColumn)) !== null && _this5$hot$getDataAtC !== void 0 ? _this5$hot$getDataAtC : value;
646
580
  data.push({
647
581
  meta: {
648
582
  row: row,
@@ -659,38 +593,35 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
659
593
  });
660
594
  return data;
661
595
  }
596
+
662
597
  /**
663
598
  * `afterChange` listener.
664
599
  *
665
600
  * @private
666
601
  * @param {Array} changes Array of changes.
667
602
  */
668
-
669
603
  }, {
670
604
  key: "onAfterChange",
671
605
  value: function onAfterChange(changes) {
672
- var _this7 = this;
673
-
606
+ var _this6 = this;
674
607
  if (changes) {
675
608
  (0, _array.arrayEach)(changes, function (change) {
676
609
  var _change = _slicedToArray(change, 2),
677
- prop = _change[1];
678
-
679
- var columnIndex = _this7.hot.propToCol(prop);
680
-
681
- if (_this7.conditionCollection.hasConditions(columnIndex)) {
682
- _this7.updateValueComponentCondition(columnIndex);
610
+ prop = _change[1];
611
+ var columnIndex = _this6.hot.propToCol(prop);
612
+ if (_this6.conditionCollection.hasConditions(columnIndex)) {
613
+ _this6.updateValueComponentCondition(columnIndex);
683
614
  }
684
615
  });
685
616
  }
686
617
  }
618
+
687
619
  /**
688
620
  * Update the condition of ValueComponent, based on the handled changes.
689
621
  *
690
622
  * @private
691
623
  * @param {number} columnIndex Column index of handled ValueComponent condition.
692
624
  */
693
-
694
625
  }, {
695
626
  key: "updateValueComponentCondition",
696
627
  value: function updateValueComponentCondition(columnIndex) {
@@ -698,77 +629,74 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
698
629
  var selectedValues = (0, _utils.unifyColumnValues)(dataAtCol);
699
630
  this.conditionUpdateObserver.updateStatesAtColumn(columnIndex, selectedValues);
700
631
  }
632
+
701
633
  /**
702
634
  * Restores components to its saved state.
703
635
  *
704
636
  * @private
705
637
  * @param {Array} components List of components.
706
638
  */
707
-
708
639
  }, {
709
640
  key: "restoreComponents",
710
641
  value: function restoreComponents(components) {
711
642
  var _this$getSelectedColu;
712
-
713
643
  var physicalIndex = (_this$getSelectedColu = this.getSelectedColumn()) === null || _this$getSelectedColu === void 0 ? void 0 : _this$getSelectedColu.physicalIndex;
714
644
  components.forEach(function (component) {
715
645
  if (component.isHidden()) {
716
646
  return;
717
647
  }
718
-
719
648
  component.restoreState(physicalIndex);
720
649
  });
721
650
  this.updateDependentComponentsVisibility();
722
651
  }
652
+
723
653
  /**
724
654
  * After dropdown menu show listener.
725
655
  *
726
656
  * @private
727
657
  */
728
-
729
658
  }, {
730
659
  key: "onAfterDropdownMenuShow",
731
660
  value: function onAfterDropdownMenuShow() {
732
661
  this.restoreComponents(Array.from(this.components.values()));
733
662
  }
663
+
734
664
  /**
735
665
  * After dropdown menu hide listener.
736
666
  *
737
667
  * @private
738
668
  */
739
-
740
669
  }, {
741
670
  key: "onAfterDropdownMenuHide",
742
671
  value: function onAfterDropdownMenuHide() {
743
672
  this.components.get('filter_by_condition').getSelectElement().closeOptions();
744
673
  this.components.get('filter_by_condition2').getSelectElement().closeOptions();
745
674
  }
675
+
746
676
  /**
747
677
  * Before dropdown menu set menu items listener.
748
678
  *
749
679
  * @private
750
680
  */
751
-
752
681
  }, {
753
682
  key: "onBeforeDropdownMenuSetItems",
754
683
  value: function onBeforeDropdownMenuSetItems() {
755
- var _this8 = this;
756
-
684
+ var _this7 = this;
757
685
  if (this.dropdownMenuPlugin) {
758
686
  this.dropdownMenuPlugin.menu.addLocalHook('afterOpen', function () {
759
- _this8.dropdownMenuPlugin.menu.hotMenu.updateSettings({
687
+ _this7.dropdownMenuPlugin.menu.hotMenu.updateSettings({
760
688
  hiddenRows: true
761
689
  });
762
690
  });
763
691
  }
764
692
  }
693
+
765
694
  /**
766
695
  * After dropdown menu default options listener.
767
696
  *
768
697
  * @private
769
698
  * @param {object} defaultOptions ContextMenu default item options.
770
699
  */
771
-
772
700
  }, {
773
701
  key: "onAfterDropdownMenuDefaultOptions",
774
702
  value: function onAfterDropdownMenuDefaultOptions(defaultOptions) {
@@ -779,6 +707,7 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
779
707
  defaultOptions.items.push(component.getMenuItemDescriptor());
780
708
  });
781
709
  }
710
+
782
711
  /**
783
712
  * Get an operation, based on the number and types of arguments (where arguments are states of components).
784
713
  *
@@ -789,12 +718,10 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
789
718
  * @private
790
719
  * @returns {string}
791
720
  */
792
-
793
721
  }, {
794
722
  key: "getOperationBasedOnArguments",
795
723
  value: function getOperationBasedOnArguments(suggestedOperation, byConditionState1, byConditionState2, byValueState) {
796
724
  var operation = suggestedOperation;
797
-
798
725
  if (operation === _constants2.OPERATION_OR && byConditionState1.command.key !== _constants2.CONDITION_NONE && byConditionState2.command.key !== _constants2.CONDITION_NONE && byValueState.command.key !== _constants2.CONDITION_NONE) {
799
726
  operation = _constants2.OPERATION_OR_THEN_VARIABLE;
800
727
  } else if (byValueState.command.key !== _constants2.CONDITION_NONE) {
@@ -802,48 +729,46 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
802
729
  operation = _constants2.OPERATION_AND;
803
730
  }
804
731
  }
805
-
806
732
  return operation;
807
733
  }
734
+
808
735
  /**
809
736
  * On action bar submit listener.
810
737
  *
811
738
  * @private
812
739
  * @param {string} submitType The submit type.
813
740
  */
814
-
815
741
  }, {
816
742
  key: "onActionBarSubmit",
817
743
  value: function onActionBarSubmit(submitType) {
744
+ var _this$dropdownMenuPlu3;
818
745
  if (submitType === 'accept') {
819
- var _this$getSelectedColu2;
820
-
821
- var physicalIndex = (_this$getSelectedColu2 = this.getSelectedColumn()) === null || _this$getSelectedColu2 === void 0 ? void 0 : _this$getSelectedColu2.physicalIndex;
746
+ var selectedColumn = this.getSelectedColumn();
747
+ if (selectedColumn === null) {
748
+ var _this$dropdownMenuPlu2;
749
+ (_this$dropdownMenuPlu2 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu2 === void 0 ? void 0 : _this$dropdownMenuPlu2.close();
750
+ return;
751
+ }
752
+ var physicalIndex = selectedColumn.physicalIndex;
822
753
  var byConditionState1 = this.components.get('filter_by_condition').getState();
823
754
  var byConditionState2 = this.components.get('filter_by_condition2').getState();
824
755
  var byValueState = this.components.get('filter_by_value').getState();
825
756
  var operation = this.getOperationBasedOnArguments(this.components.get('filter_operators').getActiveOperationId(), byConditionState1, byConditionState2, byValueState);
826
757
  this.conditionUpdateObserver.groupChanges();
827
758
  var columnStackPosition = this.conditionCollection.getColumnStackPosition(physicalIndex);
828
-
829
759
  if (columnStackPosition === -1) {
830
760
  columnStackPosition = void 0;
831
761
  }
832
-
833
762
  this.conditionCollection.removeConditions(physicalIndex);
834
-
835
763
  if (byConditionState1.command.key !== _constants2.CONDITION_NONE) {
836
764
  this.conditionCollection.addCondition(physicalIndex, byConditionState1, operation, columnStackPosition);
837
-
838
765
  if (byConditionState2.command.key !== _constants2.CONDITION_NONE) {
839
766
  this.conditionCollection.addCondition(physicalIndex, byConditionState2, operation, columnStackPosition);
840
767
  }
841
768
  }
842
-
843
769
  if (byValueState.command.key !== _constants2.CONDITION_NONE) {
844
770
  this.conditionCollection.addCondition(physicalIndex, byValueState, operation, columnStackPosition);
845
771
  }
846
-
847
772
  this.conditionUpdateObserver.flush();
848
773
  this.components.forEach(function (component) {
849
774
  return component.saveState(physicalIndex);
@@ -851,11 +776,9 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
851
776
  this.filtersRowsMap.clear();
852
777
  this.filter();
853
778
  }
854
-
855
- if (this.dropdownMenuPlugin) {
856
- this.dropdownMenuPlugin.close();
857
- }
779
+ (_this$dropdownMenuPlu3 = this.dropdownMenuPlugin) === null || _this$dropdownMenuPlu3 === void 0 ? void 0 : _this$dropdownMenuPlu3.close();
858
780
  }
781
+
859
782
  /**
860
783
  * On component change listener.
861
784
  *
@@ -863,34 +786,32 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
863
786
  * @param {BaseComponent} component Component inheriting BaseComponent.
864
787
  * @param {object} command Menu item object (command).
865
788
  */
866
-
867
789
  }, {
868
790
  key: "onComponentChange",
869
791
  value: function onComponentChange(component, command) {
870
792
  this.updateDependentComponentsVisibility();
871
-
872
793
  if (component.constructor === _condition.default && !command.inputsCount) {
873
794
  this.setListeningDropdownMenu();
874
795
  }
875
796
  }
797
+
876
798
  /**
877
799
  * On component SelectUI closed listener.
878
800
  *
879
801
  * @private
880
802
  */
881
-
882
803
  }, {
883
804
  key: "onSelectUIClosed",
884
805
  value: function onSelectUIClosed() {
885
806
  this.setListeningDropdownMenu();
886
807
  }
808
+
887
809
  /**
888
810
  * Listen to the keyboard input on document body and forward events to instance of Handsontable
889
811
  * created by DropdownMenu plugin.
890
812
  *
891
813
  * @private
892
814
  */
893
-
894
815
  }, {
895
816
  key: "setListeningDropdownMenu",
896
817
  value: function setListeningDropdownMenu() {
@@ -898,28 +819,26 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
898
819
  this.dropdownMenuPlugin.setListening();
899
820
  }
900
821
  }
822
+
901
823
  /**
902
824
  * Updates visibility of some of the components, based on the state of the parent component.
903
825
  *
904
826
  * @private
905
827
  */
906
-
907
828
  }, {
908
829
  key: "updateDependentComponentsVisibility",
909
830
  value: function updateDependentComponentsVisibility() {
910
831
  var component = this.components.get('filter_by_condition');
911
-
912
832
  var _component$getState = component.getState(),
913
- command = _component$getState.command;
914
-
833
+ command = _component$getState.command;
915
834
  var componentsToShow = [this.components.get('filter_by_condition2'), this.components.get('filter_operators')];
916
-
917
835
  if (command.showOperators) {
918
836
  this.showComponents.apply(this, componentsToShow);
919
837
  } else {
920
838
  this.hideComponents.apply(this, componentsToShow);
921
839
  }
922
840
  }
841
+
923
842
  /**
924
843
  * On after get column header listener.
925
844
  *
@@ -927,39 +846,17 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
927
846
  * @param {number} col Visual column index.
928
847
  * @param {HTMLTableCellElement} TH Header's TH element.
929
848
  */
930
-
931
849
  }, {
932
850
  key: "onAfterGetColHeader",
933
851
  value: function onAfterGetColHeader(col, TH) {
934
852
  var physicalColumn = this.hot.toPhysicalColumn(col);
935
-
936
853
  if (this.enabled && this.conditionCollection.hasConditions(physicalColumn)) {
937
854
  (0, _element.addClass)(TH, 'htFiltersActive');
938
855
  } else {
939
856
  (0, _element.removeClass)(TH, 'htFiltersActive');
940
857
  }
941
858
  }
942
- /**
943
- * On table click listener.
944
- *
945
- * @private
946
- * @param {Event} event DOM Event.
947
- */
948
-
949
- }, {
950
- key: "onTableClick",
951
- value: function onTableClick(event) {
952
- var th = (0, _element.closest)(event.target, 'TH');
953
859
 
954
- if (th) {
955
- var visualIndex = this.hot.getCoords(th).col;
956
- var physicalIndex = this.hot.toPhysicalColumn(visualIndex);
957
- this.lastSelectedColumn = {
958
- visualIndex: visualIndex,
959
- physicalIndex: physicalIndex
960
- };
961
- }
962
- }
963
860
  /**
964
861
  * Creates DataFilter instance based on condition collection.
965
862
  *
@@ -967,17 +864,16 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
967
864
  * @param {ConditionCollection} conditionCollection Condition collection object.
968
865
  * @returns {DataFilter}
969
866
  */
970
-
971
867
  }, {
972
868
  key: "_createDataFilter",
973
869
  value: function _createDataFilter() {
974
- var _this9 = this;
975
-
870
+ var _this8 = this;
976
871
  var conditionCollection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.conditionCollection;
977
872
  return new _dataFilter.default(conditionCollection, function (physicalColumn) {
978
- return _this9.getDataMapAtColumn(physicalColumn);
873
+ return _this8.getDataMapAtColumn(physicalColumn);
979
874
  });
980
875
  }
876
+
981
877
  /**
982
878
  * It updates the components state. The state is triggered by ConditionUpdateObserver, which
983
879
  * reacts to any condition added to the condition collection. It may be added through the UI
@@ -986,26 +882,22 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
986
882
  * @private
987
883
  * @param {object} conditionsState An object with the state generated by UI components.
988
884
  */
989
-
990
885
  }, {
991
886
  key: "updateComponents",
992
887
  value: function updateComponents(conditionsState) {
993
- var _this$dropdownMenuPlu2;
994
-
995
- if (!((_this$dropdownMenuPlu2 = this.dropdownMenuPlugin) !== null && _this$dropdownMenuPlu2 !== void 0 && _this$dropdownMenuPlu2.enabled)) {
888
+ var _this$dropdownMenuPlu4;
889
+ if (!((_this$dropdownMenuPlu4 = this.dropdownMenuPlugin) !== null && _this$dropdownMenuPlu4 !== void 0 && _this$dropdownMenuPlu4.enabled)) {
996
890
  return;
997
891
  }
998
-
999
892
  var _conditionsState$edit = conditionsState.editedConditionStack,
1000
- conditions = _conditionsState$edit.conditions,
1001
- column = _conditionsState$edit.column;
893
+ conditions = _conditionsState$edit.conditions,
894
+ column = _conditionsState$edit.column;
1002
895
  var conditionsByValue = conditions.filter(function (condition) {
1003
896
  return condition.name === _constants2.CONDITION_BY_VALUE;
1004
897
  });
1005
898
  var conditionsWithoutByValue = conditions.filter(function (condition) {
1006
899
  return condition.name !== _constants2.CONDITION_BY_VALUE;
1007
900
  });
1008
-
1009
901
  if (conditionsByValue.length >= 2 || conditionsWithoutByValue.length >= 3) {
1010
902
  (0, _console.warn)((0, _templateLiteralTag.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."]))));
1011
903
  } else {
@@ -1016,6 +908,7 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
1016
908
  this.components.get('filter_by_value').updateState(conditionsState);
1017
909
  }
1018
910
  }
911
+
1019
912
  /**
1020
913
  * Returns indexes of passed components inside list of `dropdownMenu` items.
1021
914
  *
@@ -1023,22 +916,17 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
1023
916
  * @param {...BaseComponent} components List of components.
1024
917
  * @returns {Array}
1025
918
  */
1026
-
1027
919
  }, {
1028
920
  key: "getIndexesOfComponents",
1029
921
  value: function getIndexesOfComponents() {
1030
922
  var indexes = [];
1031
-
1032
923
  if (!this.dropdownMenuPlugin) {
1033
924
  return indexes;
1034
925
  }
1035
-
1036
926
  var menu = this.dropdownMenuPlugin.menu;
1037
-
1038
927
  for (var _len = arguments.length, components = new Array(_len), _key = 0; _key < _len; _key++) {
1039
928
  components[_key] = arguments[_key];
1040
929
  }
1041
-
1042
930
  (0, _array.arrayEach)(components, function (component) {
1043
931
  (0, _array.arrayEach)(menu.menuItems, function (item, index) {
1044
932
  if (item.key === component.getMenuItemDescriptor().key) {
@@ -1048,6 +936,7 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
1048
936
  });
1049
937
  return indexes;
1050
938
  }
939
+
1051
940
  /**
1052
941
  * Changes visibility of component.
1053
942
  *
@@ -1055,88 +944,76 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
1055
944
  * @param {boolean} visible Determine if components should be visible.
1056
945
  * @param {...BaseComponent} components List of components.
1057
946
  */
1058
-
1059
947
  }, {
1060
948
  key: "changeComponentsVisibility",
1061
949
  value: function changeComponentsVisibility() {
1062
950
  var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
1063
-
1064
951
  if (!this.dropdownMenuPlugin) {
1065
952
  return;
1066
953
  }
1067
-
1068
954
  var menu = this.dropdownMenuPlugin.menu;
1069
955
  var hotMenu = menu.hotMenu;
1070
956
  var hiddenRows = hotMenu.getPlugin('hiddenRows');
1071
-
1072
957
  for (var _len2 = arguments.length, components = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
1073
958
  components[_key2 - 1] = arguments[_key2];
1074
959
  }
1075
-
1076
960
  var indexes = this.getIndexesOfComponents.apply(this, components);
1077
-
1078
961
  if (visible) {
1079
962
  hiddenRows.showRows(indexes);
1080
963
  } else {
1081
964
  hiddenRows.hideRows(indexes);
1082
965
  }
1083
-
1084
966
  hotMenu.render();
1085
967
  }
968
+
1086
969
  /**
1087
970
  * Hides components of filters `dropdownMenu`.
1088
971
  *
1089
972
  * @private
1090
973
  * @param {...BaseComponent} components List of components.
1091
974
  */
1092
-
1093
975
  }, {
1094
976
  key: "hideComponents",
1095
977
  value: function hideComponents() {
1096
978
  for (var _len3 = arguments.length, components = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
1097
979
  components[_key3] = arguments[_key3];
1098
980
  }
1099
-
1100
981
  this.changeComponentsVisibility.apply(this, [false].concat(components));
1101
982
  }
983
+
1102
984
  /**
1103
985
  * Shows components of filters `dropdownMenu`.
1104
986
  *
1105
987
  * @private
1106
988
  * @param {...BaseComponent} components List of components.
1107
989
  */
1108
-
1109
990
  }, {
1110
991
  key: "showComponents",
1111
992
  value: function showComponents() {
1112
993
  for (var _len4 = arguments.length, components = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
1113
994
  components[_key4] = arguments[_key4];
1114
995
  }
1115
-
1116
996
  this.changeComponentsVisibility.apply(this, [true].concat(components));
1117
997
  }
998
+
1118
999
  /**
1119
1000
  * Destroys the plugin instance.
1120
1001
  */
1121
-
1122
1002
  }, {
1123
1003
  key: "destroy",
1124
1004
  value: function destroy() {
1125
- var _this10 = this;
1126
-
1005
+ var _this9 = this;
1127
1006
  if (this.enabled) {
1128
1007
  this.components.forEach(function (component, key) {
1129
1008
  if (component !== null) {
1130
1009
  component.destroy();
1131
-
1132
- _this10.components.set(key, null);
1010
+ _this9.components.set(key, null);
1133
1011
  }
1134
1012
  });
1135
1013
  this.conditionCollection.destroy();
1136
1014
  this.conditionUpdateObserver.destroy();
1137
1015
  this.hot.rowIndexMapper.unregisterMap(this.pluginName);
1138
1016
  }
1139
-
1140
1017
  _get(_getPrototypeOf(Filters.prototype), "destroy", this).call(this);
1141
1018
  }
1142
1019
  }], [{
@@ -1155,8 +1032,6 @@ var Filters = /*#__PURE__*/function (_BasePlugin) {
1155
1032
  return ['plugin:DropdownMenu', 'plugin:HiddenRows', 'cell-type:checkbox'];
1156
1033
  }
1157
1034
  }]);
1158
-
1159
1035
  return Filters;
1160
1036
  }(_base.BasePlugin);
1161
-
1162
1037
  exports.Filters = Filters;