handsontable 12.1.3 → 12.3.0-next-bb1a7c2-20221208

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