handsontable 0.0.0-next-9059914-20231025 → 0.0.0-next-cecf979-20231026

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (447) hide show
  1. package/3rdparty/walkontable/src/cell/coords.d.ts +6 -1
  2. package/3rdparty/walkontable/src/cell/coords.js +50 -11
  3. package/3rdparty/walkontable/src/cell/coords.mjs +50 -11
  4. package/3rdparty/walkontable/src/cell/range.d.ts +9 -2
  5. package/3rdparty/walkontable/src/cell/range.js +38 -7
  6. package/3rdparty/walkontable/src/cell/range.mjs +38 -7
  7. package/3rdparty/walkontable/src/core/_base.js +9 -3
  8. package/3rdparty/walkontable/src/core/_base.mjs +9 -3
  9. package/3rdparty/walkontable/src/core/clone.js +2 -2
  10. package/3rdparty/walkontable/src/core/clone.mjs +2 -2
  11. package/3rdparty/walkontable/src/core/core.js +3 -2
  12. package/3rdparty/walkontable/src/core/core.mjs +3 -2
  13. package/3rdparty/walkontable/src/event.js +12 -10
  14. package/3rdparty/walkontable/src/event.mjs +12 -10
  15. package/3rdparty/walkontable/src/facade/core.js +2 -2
  16. package/3rdparty/walkontable/src/facade/core.mjs +2 -2
  17. package/3rdparty/walkontable/src/index.js +10 -2
  18. package/3rdparty/walkontable/src/index.mjs +2 -2
  19. package/3rdparty/walkontable/src/overlay/_base.js +13 -2
  20. package/3rdparty/walkontable/src/overlay/_base.mjs +14 -3
  21. package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -6
  22. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -6
  23. package/3rdparty/walkontable/src/overlay/top.js +2 -6
  24. package/3rdparty/walkontable/src/overlay/top.mjs +2 -6
  25. package/3rdparty/walkontable/src/renderer/cells.js +10 -0
  26. package/3rdparty/walkontable/src/renderer/cells.mjs +11 -1
  27. package/3rdparty/walkontable/src/renderer/columnHeaders.js +10 -0
  28. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +11 -1
  29. package/3rdparty/walkontable/src/renderer/rowHeaders.js +5 -0
  30. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +5 -0
  31. package/3rdparty/walkontable/src/renderer/rows.js +13 -0
  32. package/3rdparty/walkontable/src/renderer/rows.mjs +13 -0
  33. package/3rdparty/walkontable/src/renderer/table.js +9 -0
  34. package/3rdparty/walkontable/src/renderer/table.mjs +9 -0
  35. package/3rdparty/walkontable/src/scroll.js +2 -0
  36. package/3rdparty/walkontable/src/scroll.mjs +2 -0
  37. package/3rdparty/walkontable/src/{border.js → selection/border/border.js} +7 -12
  38. package/3rdparty/walkontable/src/{border.mjs → selection/border/border.mjs} +7 -12
  39. package/3rdparty/walkontable/src/selection/border/constants.js +16 -0
  40. package/3rdparty/walkontable/src/selection/border/constants.mjs +12 -0
  41. package/3rdparty/walkontable/src/selection/constants.js +62 -0
  42. package/3rdparty/walkontable/src/selection/constants.mjs +51 -0
  43. package/3rdparty/walkontable/src/selection/index.js +26 -0
  44. package/3rdparty/walkontable/src/selection/index.mjs +5 -0
  45. package/3rdparty/walkontable/src/selection/manager.js +274 -0
  46. package/3rdparty/walkontable/src/selection/manager.mjs +269 -0
  47. package/3rdparty/walkontable/src/selection/scanner.js +270 -0
  48. package/3rdparty/walkontable/src/selection/scanner.mjs +267 -0
  49. package/3rdparty/walkontable/src/selection/selection.js +101 -0
  50. package/3rdparty/walkontable/src/selection/selection.mjs +96 -0
  51. package/3rdparty/walkontable/src/settings.js +13 -4
  52. package/3rdparty/walkontable/src/settings.mjs +13 -4
  53. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +9 -0
  54. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +9 -0
  55. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +9 -0
  56. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +9 -0
  57. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +9 -0
  58. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +9 -0
  59. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +9 -0
  60. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +9 -0
  61. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -0
  62. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -0
  63. package/3rdparty/walkontable/src/table.js +19 -78
  64. package/3rdparty/walkontable/src/table.mjs +20 -79
  65. package/base.js +2 -2
  66. package/base.mjs +2 -2
  67. package/cellTypes/dateType/dateType.d.ts +3 -3
  68. package/cellTypes/dateType/dateType.js +2 -2
  69. package/cellTypes/dateType/dateType.mjs +2 -2
  70. package/cellTypes/handsontableType/handsontableType.d.ts +3 -3
  71. package/cellTypes/handsontableType/handsontableType.js +2 -2
  72. package/cellTypes/handsontableType/handsontableType.mjs +2 -2
  73. package/cellTypes/index.d.ts +3 -0
  74. package/cellTypes/index.js +4 -0
  75. package/cellTypes/index.mjs +3 -1
  76. package/cellTypes/selectType/index.d.ts +1 -0
  77. package/cellTypes/selectType/index.js +6 -0
  78. package/cellTypes/selectType/index.mjs +1 -0
  79. package/cellTypes/selectType/selectType.d.ts +14 -0
  80. package/cellTypes/selectType/selectType.js +13 -0
  81. package/cellTypes/selectType/selectType.mjs +8 -0
  82. package/core/focusCatcher/focusDetector.js +63 -0
  83. package/core/focusCatcher/focusDetector.mjs +59 -0
  84. package/core/focusCatcher/index.js +142 -0
  85. package/core/focusCatcher/index.mjs +138 -0
  86. package/core/index.js +9 -0
  87. package/core/index.mjs +1 -0
  88. package/core.d.ts +9 -4
  89. package/core.js +285 -327
  90. package/core.mjs +285 -327
  91. package/dataMap/metaManager/metaSchema.js +65 -0
  92. package/dataMap/metaManager/metaSchema.mjs +65 -0
  93. package/dataMap/metaManager/mods/extendMetaProperties.js +7 -1
  94. package/dataMap/metaManager/mods/extendMetaProperties.mjs +7 -1
  95. package/dataMap/replaceData.js +5 -0
  96. package/dataMap/replaceData.mjs +5 -0
  97. package/dist/handsontable.css +51 -15
  98. package/dist/handsontable.full.css +51 -15
  99. package/dist/handsontable.full.js +13360 -7840
  100. package/dist/handsontable.full.min.css +7 -7
  101. package/dist/handsontable.full.min.js +136 -136
  102. package/dist/handsontable.js +20955 -15435
  103. package/dist/handsontable.min.css +6 -6
  104. package/dist/handsontable.min.js +24 -24
  105. package/dist/languages/all.js +6 -2
  106. package/dist/languages/all.min.js +1 -1
  107. package/dist/languages/en-US.js +3 -1
  108. package/dist/languages/en-US.min.js +1 -1
  109. package/dist/languages/pl-PL.js +3 -1
  110. package/dist/languages/pl-PL.min.js +1 -1
  111. package/editorManager.js +15 -87
  112. package/editorManager.mjs +16 -87
  113. package/editors/autocompleteEditor/autocompleteEditor.js +53 -2
  114. package/editors/autocompleteEditor/autocompleteEditor.mjs +54 -3
  115. package/editors/dateEditor/dateEditor.js +26 -7
  116. package/editors/dateEditor/dateEditor.mjs +27 -8
  117. package/editors/handsontableEditor/handsontableEditor.js +9 -1
  118. package/editors/handsontableEditor/handsontableEditor.mjs +10 -2
  119. package/editors/textEditor/textEditor.js +19 -27
  120. package/editors/textEditor/textEditor.mjs +22 -30
  121. package/focusManager.d.ts +12 -0
  122. package/focusManager.js +265 -0
  123. package/focusManager.mjs +261 -0
  124. package/helpers/a11y.js +79 -0
  125. package/helpers/a11y.mjs +38 -0
  126. package/helpers/dom/element.js +188 -9
  127. package/helpers/dom/element.mjs +182 -9
  128. package/helpers/mixed.js +1 -1
  129. package/helpers/mixed.mjs +1 -1
  130. package/helpers/number.d.ts +1 -0
  131. package/helpers/number.js +18 -0
  132. package/helpers/number.mjs +17 -0
  133. package/i18n/constants.js +7 -1
  134. package/i18n/constants.mjs +4 -1
  135. package/i18n/languages/en-US.js +3 -1
  136. package/i18n/languages/en-US.mjs +3 -1
  137. package/i18n/languages/pl-PL.js +3 -1
  138. package/i18n/languages/pl-PL.mjs +3 -1
  139. package/languages/all.js +6 -2
  140. package/languages/en-US.js +3 -1
  141. package/languages/en-US.mjs +3 -1
  142. package/languages/index.js +6 -2
  143. package/languages/pl-PL.js +3 -1
  144. package/languages/pl-PL.mjs +3 -1
  145. package/package.json +21 -1
  146. package/pluginHooks.d.ts +12 -1
  147. package/pluginHooks.js +152 -1
  148. package/pluginHooks.mjs +152 -1
  149. package/plugins/collapsibleColumns/collapsibleColumns.js +74 -4
  150. package/plugins/collapsibleColumns/collapsibleColumns.mjs +75 -5
  151. package/plugins/columnSorting/columnSorting.js +43 -0
  152. package/plugins/columnSorting/columnSorting.mjs +44 -3
  153. package/plugins/columnSorting/index.js +3 -1
  154. package/plugins/columnSorting/index.mjs +1 -1
  155. package/plugins/comments/commentEditor.js +1 -0
  156. package/plugins/comments/commentEditor.mjs +1 -0
  157. package/plugins/comments/comments.js +252 -189
  158. package/plugins/comments/comments.mjs +251 -190
  159. package/plugins/comments/contextMenuItem/addEditComment.js +41 -0
  160. package/plugins/comments/contextMenuItem/addEditComment.mjs +35 -0
  161. package/plugins/comments/contextMenuItem/readOnlyComment.js +49 -0
  162. package/plugins/comments/contextMenuItem/readOnlyComment.mjs +43 -0
  163. package/plugins/comments/contextMenuItem/removeComment.js +38 -0
  164. package/plugins/comments/contextMenuItem/removeComment.mjs +32 -0
  165. package/plugins/contextMenu/commandExecutor.js +2 -3
  166. package/plugins/contextMenu/commandExecutor.mjs +2 -3
  167. package/plugins/contextMenu/contextMenu.d.ts +1 -1
  168. package/plugins/contextMenu/contextMenu.js +75 -36
  169. package/plugins/contextMenu/contextMenu.mjs +74 -35
  170. package/plugins/contextMenu/itemsFactory.js +2 -3
  171. package/plugins/contextMenu/itemsFactory.mjs +3 -4
  172. package/plugins/contextMenu/{cursor.mjs → menu/cursor.js} +6 -4
  173. package/plugins/contextMenu/{cursor.js → menu/cursor.mjs} +4 -10
  174. package/plugins/contextMenu/menu/defaultShortcutsList.js +88 -0
  175. package/plugins/contextMenu/menu/defaultShortcutsList.mjs +84 -0
  176. package/plugins/contextMenu/menu/index.js +9 -0
  177. package/plugins/contextMenu/menu/index.mjs +1 -0
  178. package/plugins/contextMenu/{menu.js → menu/menu.js} +145 -421
  179. package/plugins/contextMenu/{menu.mjs → menu/menu.mjs} +146 -422
  180. package/plugins/contextMenu/menu/menuItemRenderer.js +58 -0
  181. package/plugins/contextMenu/menu/menuItemRenderer.mjs +54 -0
  182. package/plugins/contextMenu/menu/navigator.js +27 -0
  183. package/plugins/contextMenu/menu/navigator.mjs +23 -0
  184. package/plugins/contextMenu/menu/positioner.js +213 -0
  185. package/plugins/contextMenu/menu/positioner.mjs +209 -0
  186. package/plugins/contextMenu/menu/shortcuts.js +114 -0
  187. package/plugins/contextMenu/menu/shortcuts.mjs +110 -0
  188. package/plugins/contextMenu/menu/utils.js +177 -0
  189. package/plugins/contextMenu/menu/utils.mjs +163 -0
  190. package/plugins/contextMenu/predefinedItems/alignment.js +7 -0
  191. package/plugins/contextMenu/predefinedItems/alignment.mjs +7 -0
  192. package/plugins/contextMenu/predefinedItems/clearColumn.js +5 -3
  193. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +5 -3
  194. package/plugins/contextMenu/predefinedItems/columnLeft.js +5 -3
  195. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +5 -3
  196. package/plugins/contextMenu/predefinedItems/columnRight.js +5 -3
  197. package/plugins/contextMenu/predefinedItems/columnRight.mjs +5 -3
  198. package/plugins/contextMenu/{predefinedItems.js → predefinedItems/index.js} +14 -14
  199. package/plugins/contextMenu/predefinedItems/index.mjs +68 -0
  200. package/plugins/contextMenu/predefinedItems/readOnly.js +7 -0
  201. package/plugins/contextMenu/predefinedItems/readOnly.mjs +7 -0
  202. package/plugins/contextMenu/predefinedItems/removeColumn.js +7 -5
  203. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +5 -3
  204. package/plugins/contextMenu/predefinedItems/removeRow.js +7 -5
  205. package/plugins/contextMenu/predefinedItems/removeRow.mjs +5 -3
  206. package/plugins/contextMenu/predefinedItems/rowAbove.js +5 -3
  207. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +5 -3
  208. package/plugins/contextMenu/predefinedItems/rowBelow.js +5 -3
  209. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +5 -3
  210. package/plugins/contextMenu/utils.js +35 -151
  211. package/plugins/contextMenu/utils.mjs +35 -144
  212. package/plugins/copyPaste/contextMenuItem/copy.js +7 -0
  213. package/plugins/copyPaste/contextMenuItem/copy.mjs +7 -0
  214. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.js +9 -1
  215. package/plugins/copyPaste/contextMenuItem/copyColumnHeadersOnly.mjs +9 -1
  216. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.js +9 -1
  217. package/plugins/copyPaste/contextMenuItem/copyWithColumnGroupHeaders.mjs +9 -1
  218. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.js +9 -1
  219. package/plugins/copyPaste/contextMenuItem/copyWithColumnHeaders.mjs +9 -1
  220. package/plugins/copyPaste/contextMenuItem/cut.js +7 -0
  221. package/plugins/copyPaste/contextMenuItem/cut.mjs +7 -0
  222. package/plugins/copyPaste/copyPaste.js +127 -78
  223. package/plugins/copyPaste/copyPaste.mjs +128 -79
  224. package/plugins/customBorders/customBorders.js +23 -20
  225. package/plugins/customBorders/customBorders.mjs +24 -21
  226. package/plugins/dropdownMenu/dropdownMenu.d.ts +1 -1
  227. package/plugins/dropdownMenu/dropdownMenu.js +127 -40
  228. package/plugins/dropdownMenu/dropdownMenu.mjs +126 -39
  229. package/plugins/filters/component/_base.js +23 -8
  230. package/plugins/filters/component/_base.mjs +23 -8
  231. package/plugins/filters/component/actionBar.js +29 -27
  232. package/plugins/filters/component/actionBar.mjs +26 -23
  233. package/plugins/filters/component/condition.js +46 -59
  234. package/plugins/filters/component/condition.mjs +40 -52
  235. package/plugins/filters/component/operators.js +21 -22
  236. package/plugins/filters/component/operators.mjs +18 -18
  237. package/plugins/filters/component/value.js +35 -26
  238. package/plugins/filters/component/value.mjs +32 -22
  239. package/plugins/filters/constants.mjs +1 -1
  240. package/plugins/filters/filters.js +106 -62
  241. package/plugins/filters/filters.mjs +99 -55
  242. package/plugins/filters/menu/focusController.js +123 -0
  243. package/plugins/filters/menu/focusController.mjs +119 -0
  244. package/plugins/filters/menu/focusNavigator.js +30 -0
  245. package/plugins/filters/menu/focusNavigator.mjs +26 -0
  246. package/plugins/filters/ui/_base.js +35 -13
  247. package/plugins/filters/ui/_base.mjs +35 -13
  248. package/plugins/filters/ui/input.js +43 -32
  249. package/plugins/filters/ui/input.mjs +42 -30
  250. package/plugins/filters/ui/link.js +44 -12
  251. package/plugins/filters/ui/link.mjs +44 -11
  252. package/plugins/filters/ui/multipleSelect.js +234 -129
  253. package/plugins/filters/ui/multipleSelect.mjs +232 -127
  254. package/plugins/filters/ui/radioInput.js +42 -18
  255. package/plugins/filters/ui/radioInput.mjs +42 -17
  256. package/plugins/filters/ui/select.js +144 -75
  257. package/plugins/filters/ui/select.mjs +142 -72
  258. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -1
  259. package/plugins/hiddenRows/hiddenRows.mjs +1 -1
  260. package/plugins/manualColumnMove/manualColumnMove.js +3 -1
  261. package/plugins/manualColumnMove/manualColumnMove.mjs +3 -1
  262. package/plugins/mergeCells/mergeCells.js +5 -16
  263. package/plugins/mergeCells/mergeCells.mjs +5 -16
  264. package/plugins/multiColumnSorting/multiColumnSorting.js +37 -2
  265. package/plugins/multiColumnSorting/multiColumnSorting.mjs +37 -2
  266. package/plugins/nestedHeaders/nestedHeaders.js +240 -10
  267. package/plugins/nestedHeaders/nestedHeaders.mjs +241 -11
  268. package/plugins/nestedHeaders/stateManager/index.js +102 -3
  269. package/plugins/nestedHeaders/stateManager/index.mjs +102 -3
  270. package/plugins/nestedRows/nestedRows.js +41 -0
  271. package/plugins/nestedRows/nestedRows.mjs +41 -0
  272. package/plugins/nestedRows/ui/headers.js +11 -0
  273. package/plugins/nestedRows/ui/headers.mjs +12 -1
  274. package/renderers/autocompleteRenderer/autocompleteRenderer.js +8 -0
  275. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +8 -0
  276. package/renderers/baseRenderer/baseRenderer.js +17 -0
  277. package/renderers/baseRenderer/baseRenderer.mjs +18 -1
  278. package/renderers/checkboxRenderer/checkboxRenderer.js +9 -4
  279. package/renderers/checkboxRenderer/checkboxRenderer.mjs +9 -4
  280. package/renderers/dateRenderer/dateRenderer.d.ts +5 -0
  281. package/renderers/dateRenderer/dateRenderer.js +29 -0
  282. package/renderers/dateRenderer/dateRenderer.mjs +24 -0
  283. package/renderers/dateRenderer/index.d.ts +1 -0
  284. package/renderers/dateRenderer/index.js +6 -0
  285. package/renderers/dateRenderer/index.mjs +1 -0
  286. package/renderers/handsontableRenderer/handsontableRenderer.d.ts +5 -0
  287. package/renderers/handsontableRenderer/handsontableRenderer.js +29 -0
  288. package/renderers/handsontableRenderer/handsontableRenderer.mjs +24 -0
  289. package/renderers/handsontableRenderer/index.d.ts +1 -0
  290. package/renderers/handsontableRenderer/index.js +6 -0
  291. package/renderers/handsontableRenderer/index.mjs +1 -0
  292. package/renderers/index.d.ts +9 -0
  293. package/renderers/selectRenderer/index.d.ts +1 -0
  294. package/renderers/selectRenderer/index.js +6 -0
  295. package/renderers/selectRenderer/index.mjs +1 -0
  296. package/renderers/selectRenderer/selectRenderer.d.ts +5 -0
  297. package/renderers/selectRenderer/selectRenderer.js +27 -0
  298. package/renderers/selectRenderer/selectRenderer.mjs +22 -0
  299. package/selection/highlight/highlight.js +256 -71
  300. package/selection/highlight/highlight.mjs +250 -71
  301. package/selection/highlight/types/activeHeader.js +10 -8
  302. package/selection/highlight/types/activeHeader.mjs +10 -8
  303. package/selection/highlight/types/area.js +6 -18
  304. package/selection/highlight/types/area.mjs +6 -18
  305. package/selection/highlight/types/areaLayered.js +31 -0
  306. package/selection/highlight/types/areaLayered.mjs +26 -0
  307. package/selection/highlight/types/column.js +27 -0
  308. package/selection/highlight/types/column.mjs +22 -0
  309. package/selection/highlight/types/customSelection.js +7 -9
  310. package/selection/highlight/types/customSelection.mjs +7 -9
  311. package/selection/highlight/types/fill.js +5 -7
  312. package/selection/highlight/types/fill.mjs +5 -7
  313. package/selection/highlight/types/{cell.js → focus.js} +5 -7
  314. package/selection/highlight/types/{cell.mjs → focus.mjs} +5 -7
  315. package/selection/highlight/types/header.js +9 -18
  316. package/selection/highlight/types/header.mjs +9 -18
  317. package/selection/highlight/types/row.js +27 -0
  318. package/selection/highlight/types/row.mjs +22 -0
  319. package/selection/highlight/visualSelection.js +31 -27
  320. package/selection/highlight/visualSelection.mjs +31 -27
  321. package/selection/index.js +4 -7
  322. package/selection/index.mjs +2 -3
  323. package/selection/mouseEventHandler.js +7 -1
  324. package/selection/mouseEventHandler.mjs +7 -1
  325. package/selection/range.js +8 -8
  326. package/selection/range.mjs +8 -8
  327. package/selection/selection.js +321 -152
  328. package/selection/selection.mjs +318 -151
  329. package/selection/transformation.js +232 -90
  330. package/selection/transformation.mjs +232 -90
  331. package/selection/utils.js +15 -21
  332. package/selection/utils.mjs +16 -21
  333. package/settings.d.ts +4 -0
  334. package/shortcutContexts/commands/editor/closeAndSave.js +12 -0
  335. package/shortcutContexts/commands/editor/closeAndSave.mjs +8 -0
  336. package/shortcutContexts/commands/editor/closeWithoutSaving.js +12 -0
  337. package/shortcutContexts/commands/editor/closeWithoutSaving.mjs +8 -0
  338. package/shortcutContexts/commands/editor/fastOpen.js +16 -0
  339. package/shortcutContexts/commands/editor/fastOpen.mjs +12 -0
  340. package/shortcutContexts/commands/editor/index.js +16 -0
  341. package/shortcutContexts/commands/editor/index.mjs +12 -0
  342. package/shortcutContexts/commands/editor/open.js +27 -0
  343. package/shortcutContexts/commands/editor/open.mjs +23 -0
  344. package/shortcutContexts/commands/emptySelectedCells.js +11 -0
  345. package/shortcutContexts/commands/emptySelectedCells.mjs +7 -0
  346. package/shortcutContexts/commands/extendCellsSelection/down.js +15 -0
  347. package/shortcutContexts/commands/extendCellsSelection/down.mjs +11 -0
  348. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.js +25 -0
  349. package/shortcutContexts/commands/extendCellsSelection/downByViewportHeight.mjs +21 -0
  350. package/shortcutContexts/commands/extendCellsSelection/index.js +26 -0
  351. package/shortcutContexts/commands/extendCellsSelection/index.mjs +22 -0
  352. package/shortcutContexts/commands/extendCellsSelection/left.js +15 -0
  353. package/shortcutContexts/commands/extendCellsSelection/left.mjs +11 -0
  354. package/shortcutContexts/commands/extendCellsSelection/right.js +15 -0
  355. package/shortcutContexts/commands/extendCellsSelection/right.mjs +11 -0
  356. package/shortcutContexts/commands/extendCellsSelection/toColumns.js +19 -0
  357. package/shortcutContexts/commands/extendCellsSelection/toColumns.mjs +15 -0
  358. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.js +29 -0
  359. package/shortcutContexts/commands/extendCellsSelection/toMostBottom.mjs +25 -0
  360. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.js +19 -0
  361. package/shortcutContexts/commands/extendCellsSelection/toMostInlineEnd.mjs +15 -0
  362. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.js +19 -0
  363. package/shortcutContexts/commands/extendCellsSelection/toMostInlineStart.mjs +15 -0
  364. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.js +29 -0
  365. package/shortcutContexts/commands/extendCellsSelection/toMostLeft.mjs +25 -0
  366. package/shortcutContexts/commands/extendCellsSelection/toMostRight.js +29 -0
  367. package/shortcutContexts/commands/extendCellsSelection/toMostRight.mjs +25 -0
  368. package/shortcutContexts/commands/extendCellsSelection/toMostTop.js +29 -0
  369. package/shortcutContexts/commands/extendCellsSelection/toMostTop.mjs +25 -0
  370. package/shortcutContexts/commands/extendCellsSelection/toRows.js +19 -0
  371. package/shortcutContexts/commands/extendCellsSelection/toRows.mjs +15 -0
  372. package/shortcutContexts/commands/extendCellsSelection/up.js +15 -0
  373. package/shortcutContexts/commands/extendCellsSelection/up.mjs +11 -0
  374. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.js +25 -0
  375. package/shortcutContexts/commands/extendCellsSelection/upByViewportHeight.mjs +21 -0
  376. package/shortcutContexts/commands/index.js +35 -0
  377. package/shortcutContexts/commands/index.mjs +31 -0
  378. package/shortcutContexts/commands/moveCellSelection/down.js +13 -0
  379. package/shortcutContexts/commands/moveCellSelection/down.mjs +9 -0
  380. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.js +33 -0
  381. package/shortcutContexts/commands/moveCellSelection/downByViewportHeight.mjs +29 -0
  382. package/shortcutContexts/commands/moveCellSelection/index.js +28 -0
  383. package/shortcutContexts/commands/moveCellSelection/index.mjs +24 -0
  384. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +12 -0
  385. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +8 -0
  386. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +12 -0
  387. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +8 -0
  388. package/shortcutContexts/commands/moveCellSelection/left.js +10 -0
  389. package/shortcutContexts/commands/moveCellSelection/left.mjs +6 -0
  390. package/shortcutContexts/commands/moveCellSelection/right.js +10 -0
  391. package/shortcutContexts/commands/moveCellSelection/right.mjs +6 -0
  392. package/shortcutContexts/commands/moveCellSelection/toMostBottom.js +17 -0
  393. package/shortcutContexts/commands/moveCellSelection/toMostBottom.mjs +13 -0
  394. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.js +18 -0
  395. package/shortcutContexts/commands/moveCellSelection/toMostBottomInlineEnd.mjs +14 -0
  396. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.js +14 -0
  397. package/shortcutContexts/commands/moveCellSelection/toMostInlineEnd.mjs +10 -0
  398. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.js +17 -0
  399. package/shortcutContexts/commands/moveCellSelection/toMostInlineStart.mjs +13 -0
  400. package/shortcutContexts/commands/moveCellSelection/toMostLeft.js +19 -0
  401. package/shortcutContexts/commands/moveCellSelection/toMostLeft.mjs +15 -0
  402. package/shortcutContexts/commands/moveCellSelection/toMostRight.js +21 -0
  403. package/shortcutContexts/commands/moveCellSelection/toMostRight.mjs +17 -0
  404. package/shortcutContexts/commands/moveCellSelection/toMostTop.js +17 -0
  405. package/shortcutContexts/commands/moveCellSelection/toMostTop.mjs +13 -0
  406. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.js +19 -0
  407. package/shortcutContexts/commands/moveCellSelection/toMostTopInlineStart.mjs +15 -0
  408. package/shortcutContexts/commands/moveCellSelection/up.js +13 -0
  409. package/shortcutContexts/commands/moveCellSelection/up.mjs +9 -0
  410. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.js +33 -0
  411. package/shortcutContexts/commands/moveCellSelection/upByViewportHeight.mjs +29 -0
  412. package/shortcutContexts/commands/populateSelectedCellsData.js +29 -0
  413. package/shortcutContexts/commands/populateSelectedCellsData.mjs +25 -0
  414. package/shortcutContexts/commands/scrollToFocusedCell.js +35 -0
  415. package/shortcutContexts/commands/scrollToFocusedCell.mjs +31 -0
  416. package/shortcutContexts/commands/selectAll.js +12 -0
  417. package/shortcutContexts/commands/selectAll.mjs +8 -0
  418. package/shortcutContexts/constants.js +13 -0
  419. package/shortcutContexts/constants.mjs +8 -0
  420. package/shortcutContexts/editor.js +25 -0
  421. package/shortcutContexts/editor.mjs +21 -0
  422. package/shortcutContexts/grid.js +163 -0
  423. package/shortcutContexts/grid.mjs +159 -0
  424. package/shortcutContexts/index.js +24 -0
  425. package/shortcutContexts/index.mjs +11 -0
  426. package/shortcuts/context.d.ts +1 -0
  427. package/shortcuts/context.js +23 -4
  428. package/shortcuts/context.mjs +23 -5
  429. package/shortcuts/manager.js +25 -7
  430. package/shortcuts/manager.mjs +26 -7
  431. package/shortcuts/recorder.js +3 -3
  432. package/shortcuts/recorder.mjs +3 -3
  433. package/shortcuts/utils.js +19 -5
  434. package/shortcuts/utils.mjs +18 -4
  435. package/tableView.js +111 -13
  436. package/tableView.mjs +112 -14
  437. package/utils/paginator.js +151 -0
  438. package/utils/paginator.mjs +147 -0
  439. package/3rdparty/walkontable/src/selection.js +0 -295
  440. package/3rdparty/walkontable/src/selection.mjs +0 -290
  441. package/plugins/contextMenu/predefinedItems.mjs +0 -68
  442. package/plugins/copyPaste/focusableElement.js +0 -186
  443. package/plugins/copyPaste/focusableElement.mjs +0 -180
  444. package/selection/highlight/constants.js +0 -15
  445. package/selection/highlight/constants.mjs +0 -6
  446. package/selection/highlight/types/index.js +0 -35
  447. package/selection/highlight/types/index.mjs +0 -31
@@ -1,4 +1,14 @@
1
1
  import "core-js/modules/es.array.push.js";
2
+ import "core-js/modules/es.error.cause.js";
3
+ function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
4
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
5
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
6
+ function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
7
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
8
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
9
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
10
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
11
+ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
2
12
  import { addClass, getScrollbarWidth } from "../../../helpers/dom/element.mjs";
3
13
  import { clone, extend } from "../../../helpers/object.mjs";
4
14
  import { arrayFilter, arrayMap, arrayEach } from "../../../helpers/array.mjs";
@@ -7,77 +17,147 @@ import { partial } from "../../../helpers/function.mjs";
7
17
  import { dataRowToChangesArray } from "../../../helpers/data.mjs";
8
18
  import * as C from "../../../i18n/constants.mjs";
9
19
  import { stopImmediatePropagation } from "../../../helpers/dom/event.mjs";
10
- import BaseUI from "./_base.mjs";
11
- import InputUI from "./input.mjs";
12
- import LinkUI from "./link.mjs";
20
+ import { BaseUI } from "./_base.mjs";
21
+ import { InputUI } from "./input.mjs";
22
+ import { LinkUI } from "./link.mjs";
13
23
  import { createArrayAssertion } from "../utils.mjs";
14
- const privatePool = new WeakMap();
15
24
  const SHORTCUTS_GROUP = 'multipleSelect.itemBox';
16
25
 
17
26
  /**
18
27
  * @private
19
28
  * @class MultipleSelectUI
20
29
  */
21
- class MultipleSelectUI extends BaseUI {
30
+ var _items = /*#__PURE__*/new WeakMap();
31
+ var _itemsBox = /*#__PURE__*/new WeakMap();
32
+ var _locale = /*#__PURE__*/new WeakMap();
33
+ var _searchInput = /*#__PURE__*/new WeakMap();
34
+ var _selectAllUI = /*#__PURE__*/new WeakMap();
35
+ var _clearAllUI = /*#__PURE__*/new WeakMap();
36
+ var _onInput = /*#__PURE__*/new WeakSet();
37
+ var _onInputKeyDown = /*#__PURE__*/new WeakSet();
38
+ var _onSelectAllClick = /*#__PURE__*/new WeakSet();
39
+ var _onClearAllClick = /*#__PURE__*/new WeakSet();
40
+ export class MultipleSelectUI extends BaseUI {
22
41
  static get DEFAULTS() {
23
42
  return clone({
24
43
  className: 'htUIMultipleSelect',
25
44
  value: []
26
45
  });
27
46
  }
47
+
48
+ /**
49
+ * List of available select options.
50
+ *
51
+ * @type {Array}
52
+ */
53
+
28
54
  constructor(hotInstance, options) {
29
55
  super(hotInstance, extend(MultipleSelectUI.DEFAULTS, options));
30
- privatePool.set(this, {});
31
56
  /**
32
- * Input element.
57
+ * On click listener for "Clear" link.
33
58
  *
34
- * @type {InputUI}
59
+ * @param {DOMEvent} event The mouse event object.
35
60
  */
36
- this.searchInput = new InputUI(this.hot, {
37
- placeholder: C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH,
38
- className: 'htUIMultipleSelectSearch'
61
+ _classPrivateMethodInitSpec(this, _onClearAllClick);
62
+ /**
63
+ * On click listener for "Select all" link.
64
+ *
65
+ * @param {DOMEvent} event The mouse event object.
66
+ */
67
+ _classPrivateMethodInitSpec(this, _onSelectAllClick);
68
+ /**
69
+ * 'keydown' event listener for input element.
70
+ *
71
+ * @param {Event} event DOM event.
72
+ */
73
+ _classPrivateMethodInitSpec(this, _onInputKeyDown);
74
+ /**
75
+ * 'input' event listener for input element.
76
+ *
77
+ * @param {Event} event DOM event.
78
+ */
79
+ _classPrivateMethodInitSpec(this, _onInput);
80
+ _classPrivateFieldInitSpec(this, _items, {
81
+ writable: true,
82
+ value: []
39
83
  });
40
84
  /**
41
- * "Select all" UI element.
85
+ * Handsontable instance used as items list element.
42
86
  *
43
- * @type {BaseUI}
87
+ * @type {Handsontable}
44
88
  */
45
- this.selectAllUI = new LinkUI(this.hot, {
46
- textContent: C.FILTERS_BUTTONS_SELECT_ALL,
47
- className: 'htUISelectAll'
89
+ _classPrivateFieldInitSpec(this, _itemsBox, {
90
+ writable: true,
91
+ value: void 0
48
92
  });
49
93
  /**
50
- * "Clear" UI element.
94
+ * A locale for the component used to compare filtered values.
51
95
  *
52
- * @type {BaseUI}
96
+ * @type {string}
53
97
  */
54
- this.clearAllUI = new LinkUI(this.hot, {
55
- textContent: C.FILTERS_BUTTONS_CLEAR,
56
- className: 'htUIClearAll'
98
+ _classPrivateFieldInitSpec(this, _locale, {
99
+ writable: true,
100
+ value: void 0
57
101
  });
58
102
  /**
59
- * List of available select options.
103
+ * Input element.
60
104
  *
61
- * @type {Array}
105
+ * @type {InputUI}
62
106
  */
63
- this.items = [];
107
+ _classPrivateFieldInitSpec(this, _searchInput, {
108
+ writable: true,
109
+ value: void 0
110
+ });
64
111
  /**
65
- * Handsontable instance used as items list element.
112
+ * "Select all" UI element.
66
113
  *
67
- * @type {Handsontable}
114
+ * @type {LinkUI}
115
+ */
116
+ _classPrivateFieldInitSpec(this, _selectAllUI, {
117
+ writable: true,
118
+ value: void 0
119
+ });
120
+ /**
121
+ * "Clear" UI element.
122
+ *
123
+ * @type {LinkUI}
68
124
  */
69
- this.itemsBox = null;
125
+ _classPrivateFieldInitSpec(this, _clearAllUI, {
126
+ writable: true,
127
+ value: void 0
128
+ });
129
+ _classPrivateFieldSet(this, _searchInput, new InputUI(this.hot, {
130
+ placeholder: C.FILTERS_BUTTONS_PLACEHOLDER_SEARCH,
131
+ className: 'htUIMultipleSelectSearch'
132
+ }));
133
+ _classPrivateFieldSet(this, _selectAllUI, new LinkUI(this.hot, {
134
+ textContent: C.FILTERS_BUTTONS_SELECT_ALL,
135
+ className: 'htUISelectAll'
136
+ }));
137
+ _classPrivateFieldSet(this, _clearAllUI, new LinkUI(this.hot, {
138
+ textContent: C.FILTERS_BUTTONS_CLEAR,
139
+ className: 'htUIClearAll'
140
+ }));
70
141
  this.registerHooks();
71
142
  }
72
143
 
144
+ /**
145
+ * Gets the instance of the internal Handsontable that acts here as a listbox component.
146
+ *
147
+ * @returns {Handsontable}
148
+ */
149
+ getItemsBox() {
150
+ return _classPrivateFieldGet(this, _itemsBox);
151
+ }
152
+
73
153
  /**
74
154
  * Register all necessary hooks.
75
155
  */
76
156
  registerHooks() {
77
- this.searchInput.addLocalHook('keydown', event => this.onInputKeyDown(event));
78
- this.searchInput.addLocalHook('input', event => this.onInput(event));
79
- this.selectAllUI.addLocalHook('click', event => this.onSelectAllClick(event));
80
- this.clearAllUI.addLocalHook('click', event => this.onClearAllClick(event));
157
+ _classPrivateFieldGet(this, _searchInput).addLocalHook('keydown', event => _classPrivateMethodGet(this, _onInputKeyDown, _onInputKeyDown2).call(this, event));
158
+ _classPrivateFieldGet(this, _searchInput).addLocalHook('input', event => _classPrivateMethodGet(this, _onInput, _onInput2).call(this, event));
159
+ _classPrivateFieldGet(this, _selectAllUI).addLocalHook('click', event => _classPrivateMethodGet(this, _onSelectAllClick, _onSelectAllClick2).call(this, event));
160
+ _classPrivateFieldGet(this, _clearAllUI).addLocalHook('click', event => _classPrivateMethodGet(this, _onClearAllClick, _onClearAllClick2).call(this, event));
81
161
  }
82
162
 
83
163
  /**
@@ -86,9 +166,9 @@ class MultipleSelectUI extends BaseUI {
86
166
  * @param {Array} items Array of objects with `checked` and `label` property.
87
167
  */
88
168
  setItems(items) {
89
- this.items = items;
90
- if (this.itemsBox) {
91
- this.itemsBox.loadData(this.items);
169
+ _classPrivateFieldSet(this, _items, items);
170
+ if (_classPrivateFieldGet(this, _itemsBox)) {
171
+ _classPrivateFieldGet(this, _itemsBox).loadData(_classPrivateFieldGet(this, _items));
92
172
  }
93
173
  }
94
174
 
@@ -98,7 +178,7 @@ class MultipleSelectUI extends BaseUI {
98
178
  * @param {string} locale Locale used for filter actions performed on data, ie. `en-US`.
99
179
  */
100
180
  setLocale(locale) {
101
- this.locale = locale;
181
+ _classPrivateFieldSet(this, _locale, locale);
102
182
  }
103
183
 
104
184
  /**
@@ -107,7 +187,7 @@ class MultipleSelectUI extends BaseUI {
107
187
  * @returns {string}
108
188
  */
109
189
  getLocale() {
110
- return this.locale;
190
+ return _classPrivateFieldGet(this, _locale);
111
191
  }
112
192
 
113
193
  /**
@@ -116,7 +196,7 @@ class MultipleSelectUI extends BaseUI {
116
196
  * @returns {Array}
117
197
  */
118
198
  getItems() {
119
- return [...this.items];
199
+ return [..._classPrivateFieldGet(this, _items)];
120
200
  }
121
201
 
122
202
  /**
@@ -125,7 +205,34 @@ class MultipleSelectUI extends BaseUI {
125
205
  * @returns {Array} Array of selected values.
126
206
  */
127
207
  getValue() {
128
- return itemsToValue(this.items);
208
+ return itemsToValue(_classPrivateFieldGet(this, _items));
209
+ }
210
+
211
+ /**
212
+ * Gets the instance of the search input element.
213
+ *
214
+ * @returns {InputUI}
215
+ */
216
+ getSearchInputElement() {
217
+ return _classPrivateFieldGet(this, _searchInput);
218
+ }
219
+
220
+ /**
221
+ * Gets the instance of the "select all" link element.
222
+ *
223
+ * @returns {LinkUI}
224
+ */
225
+ getSelectAllElement() {
226
+ return _classPrivateFieldGet(this, _selectAllUI);
227
+ }
228
+
229
+ /**
230
+ * Gets the instance of the "clear" link element.
231
+ *
232
+ * @returns {LinkUI}
233
+ */
234
+ getClearAllElement() {
235
+ return _classPrivateFieldGet(this, _clearAllUI);
129
236
  }
130
237
 
131
238
  /**
@@ -134,7 +241,7 @@ class MultipleSelectUI extends BaseUI {
134
241
  * @returns {boolean}
135
242
  */
136
243
  isSelectedAllValues() {
137
- return this.items.length === this.getValue().length;
244
+ return _classPrivateFieldGet(this, _items).length === this.getValue().length;
138
245
  }
139
246
 
140
247
  /**
@@ -148,22 +255,22 @@ class MultipleSelectUI extends BaseUI {
148
255
  const itemsBoxWrapper = rootDocument.createElement('div');
149
256
  const selectionControl = new BaseUI(this.hot, {
150
257
  className: 'htUISelectionControls',
151
- children: [this.selectAllUI, this.clearAllUI]
258
+ children: [_classPrivateFieldGet(this, _selectAllUI), _classPrivateFieldGet(this, _clearAllUI)]
152
259
  });
153
- this._element.appendChild(this.searchInput.element);
260
+ this._element.appendChild(_classPrivateFieldGet(this, _searchInput).element);
154
261
  this._element.appendChild(selectionControl.element);
155
262
  this._element.appendChild(itemsBoxWrapper);
156
263
  const hotInitializer = wrapper => {
157
264
  if (!this._element) {
158
265
  return;
159
266
  }
160
- if (this.itemsBox) {
161
- this.itemsBox.destroy();
267
+ if (_classPrivateFieldGet(this, _itemsBox)) {
268
+ _classPrivateFieldGet(this, _itemsBox).destroy();
162
269
  }
163
270
  addClass(wrapper, 'htUIMultipleSelectHot');
164
271
  // Constructs and initializes a new Handsontable instance
165
- this.itemsBox = new this.hot.constructor(wrapper, {
166
- data: this.items,
272
+ _classPrivateFieldSet(this, _itemsBox, new this.hot.constructor(wrapper, {
273
+ data: _classPrivateFieldGet(this, _items),
167
274
  columns: [{
168
275
  data: 'checked',
169
276
  type: 'checkbox',
@@ -175,11 +282,17 @@ class MultipleSelectUI extends BaseUI {
175
282
  beforeRenderer: (TD, row, col, prop, value, cellProperties) => {
176
283
  TD.title = cellProperties.instance.getDataAtRowProp(row, cellProperties.label.property);
177
284
  },
285
+ afterListen: () => {
286
+ this.runLocalHooks('focus', this);
287
+ },
288
+ beforeOnCellMouseUp: () => {
289
+ _classPrivateFieldGet(this, _itemsBox).listen();
290
+ },
178
291
  maxCols: 1,
179
292
  autoWrapCol: true,
180
293
  height: 110,
181
294
  // Workaround for #151.
182
- colWidths: () => this.itemsBox.container.scrollWidth - getScrollbarWidth(rootDocument),
295
+ colWidths: () => _classPrivateFieldGet(this, _itemsBox).container.scrollWidth - getScrollbarWidth(rootDocument),
183
296
  copyPaste: false,
184
297
  disableVisualSelection: 'area',
185
298
  fillHandle: false,
@@ -189,30 +302,49 @@ class MultipleSelectUI extends BaseUI {
189
302
  col: 0
190
303
  },
191
304
  layoutDirection: this.hot.isRtl() ? 'rtl' : 'ltr'
192
- });
193
- this.itemsBox.init();
194
- const shortcutManager = this.itemsBox.getShortcutManager();
305
+ }));
306
+ _classPrivateFieldGet(this, _itemsBox).init();
307
+ const shortcutManager = _classPrivateFieldGet(this, _itemsBox).getShortcutManager();
195
308
  const gridContext = shortcutManager.getContext('grid');
309
+ gridContext.removeShortcutsByKeys(['Tab']);
310
+ gridContext.removeShortcutsByKeys(['Shift', 'Tab']);
196
311
  gridContext.addShortcut({
197
- // TODO: Is this shortcut really needed? We have one test for that case, but focus is performed programmatically.
198
312
  keys: [['Escape']],
199
313
  callback: event => {
200
314
  this.runLocalHooks('keydown', event, this);
201
315
  },
202
316
  group: SHORTCUTS_GROUP
203
317
  });
318
+ gridContext.addShortcut({
319
+ keys: [['Tab'], ['Shift', 'Tab']],
320
+ callback: event => {
321
+ _classPrivateFieldGet(this, _itemsBox).deselectCell();
322
+ this.runLocalHooks('keydown', event, this);
323
+ this.runLocalHooks('listTabKeydown', event, this);
324
+ },
325
+ group: SHORTCUTS_GROUP
326
+ });
204
327
  };
205
328
  hotInitializer(itemsBoxWrapper);
206
- setTimeout(() => hotInitializer(itemsBoxWrapper), 100);
329
+ this.hot._registerTimeout(() => hotInitializer(itemsBoxWrapper), 100);
330
+ }
331
+
332
+ /**
333
+ * Focus element.
334
+ */
335
+ focus() {
336
+ if (this.isBuilt()) {
337
+ _classPrivateFieldGet(this, _itemsBox).listen();
338
+ }
207
339
  }
208
340
 
209
341
  /**
210
342
  * Reset DOM structure.
211
343
  */
212
344
  reset() {
213
- this.searchInput.reset();
214
- this.selectAllUI.reset();
215
- this.clearAllUI.reset();
345
+ _classPrivateFieldGet(this, _searchInput).reset();
346
+ _classPrivateFieldGet(this, _selectAllUI).reset();
347
+ _classPrivateFieldGet(this, _clearAllUI).reset();
216
348
  }
217
349
 
218
350
  /**
@@ -222,7 +354,7 @@ class MultipleSelectUI extends BaseUI {
222
354
  if (!this.isBuilt()) {
223
355
  return;
224
356
  }
225
- this.itemsBox.loadData(valueToItems(this.items, this.options.value));
357
+ _classPrivateFieldGet(this, _itemsBox).loadData(valueToItems(_classPrivateFieldGet(this, _items), this.options.value));
226
358
  super.update();
227
359
  }
228
360
 
@@ -230,85 +362,58 @@ class MultipleSelectUI extends BaseUI {
230
362
  * Destroy instance.
231
363
  */
232
364
  destroy() {
233
- if (this.itemsBox) {
234
- this.itemsBox.destroy();
365
+ if (_classPrivateFieldGet(this, _itemsBox)) {
366
+ _classPrivateFieldGet(this, _itemsBox).destroy();
235
367
  }
236
- this.searchInput.destroy();
237
- this.clearAllUI.destroy();
238
- this.selectAllUI.destroy();
239
- this.searchInput = null;
240
- this.clearAllUI = null;
241
- this.selectAllUI = null;
242
- this.itemsBox = null;
243
- this.items = null;
368
+ _classPrivateFieldGet(this, _searchInput).destroy();
369
+ _classPrivateFieldGet(this, _clearAllUI).destroy();
370
+ _classPrivateFieldGet(this, _selectAllUI).destroy();
371
+ _classPrivateFieldSet(this, _searchInput, null);
372
+ _classPrivateFieldSet(this, _clearAllUI, null);
373
+ _classPrivateFieldSet(this, _selectAllUI, null);
374
+ _classPrivateFieldSet(this, _itemsBox, null);
375
+ _classPrivateFieldSet(this, _items, null);
244
376
  super.destroy();
245
377
  }
246
-
247
- /**
248
- * 'input' event listener for input element.
249
- *
250
- * @private
251
- * @param {Event} event DOM event.
252
- */
253
- onInput(event) {
254
- const value = event.target.value.toLocaleLowerCase(this.getLocale());
255
- let filteredItems;
256
- if (value === '') {
257
- filteredItems = [...this.items];
258
- } else {
259
- filteredItems = arrayFilter(this.items, item => `${item.value}`.toLocaleLowerCase(this.getLocale()).indexOf(value) >= 0);
260
- }
261
- this.itemsBox.loadData(filteredItems);
262
- }
263
-
264
- /**
265
- * 'keydown' event listener for input element.
266
- *
267
- * @private
268
- * @param {Event} event DOM event.
269
- */
270
- onInputKeyDown(event) {
271
- this.runLocalHooks('keydown', event, this);
272
- const isKeyCode = partial(isKey, event.keyCode);
273
- if (isKeyCode('ARROW_DOWN|TAB') && !this.itemsBox.isListening()) {
274
- stopImmediatePropagation(event);
275
- this.itemsBox.listen();
276
- this.itemsBox.selectCell(0, 0);
277
- }
278
- }
279
-
280
- /**
281
- * On click listener for "Select all" link.
282
- *
283
- * @private
284
- * @param {DOMEvent} event The mouse event object.
285
- */
286
- onSelectAllClick(event) {
287
- const changes = [];
288
- event.preventDefault();
289
- arrayEach(this.itemsBox.getSourceData(), (row, rowIndex) => {
290
- row.checked = true;
291
- changes.push(dataRowToChangesArray(row, rowIndex)[0]);
292
- });
293
- this.itemsBox.setSourceDataAtCell(changes);
378
+ }
379
+ function _onInput2(event) {
380
+ const value = event.target.value.toLocaleLowerCase(this.getLocale());
381
+ let filteredItems;
382
+ if (value === '') {
383
+ filteredItems = [..._classPrivateFieldGet(this, _items)];
384
+ } else {
385
+ filteredItems = arrayFilter(_classPrivateFieldGet(this, _items), item => `${item.value}`.toLocaleLowerCase(this.getLocale()).indexOf(value) >= 0);
294
386
  }
295
-
296
- /**
297
- * On click listener for "Clear" link.
298
- *
299
- * @private
300
- * @param {DOMEvent} event The mouse event object.
301
- */
302
- onClearAllClick(event) {
303
- const changes = [];
387
+ _classPrivateFieldGet(this, _itemsBox).loadData(filteredItems);
388
+ }
389
+ function _onInputKeyDown2(event) {
390
+ this.runLocalHooks('keydown', event, this);
391
+ const isKeyCode = partial(isKey, event.keyCode);
392
+ if (isKeyCode('ARROW_DOWN')) {
304
393
  event.preventDefault();
305
- arrayEach(this.itemsBox.getSourceData(), (row, rowIndex) => {
306
- row.checked = false;
307
- changes.push(dataRowToChangesArray(row, rowIndex)[0]);
308
- });
309
- this.itemsBox.setSourceDataAtCell(changes);
394
+ stopImmediatePropagation(event);
395
+ _classPrivateFieldGet(this, _itemsBox).listen();
396
+ _classPrivateFieldGet(this, _itemsBox).selectCell(0, 0);
310
397
  }
311
398
  }
399
+ function _onSelectAllClick2(event) {
400
+ const changes = [];
401
+ event.preventDefault();
402
+ arrayEach(_classPrivateFieldGet(this, _itemsBox).getSourceData(), (row, rowIndex) => {
403
+ row.checked = true;
404
+ changes.push(dataRowToChangesArray(row, rowIndex)[0]);
405
+ });
406
+ _classPrivateFieldGet(this, _itemsBox).setSourceDataAtCell(changes);
407
+ }
408
+ function _onClearAllClick2(event) {
409
+ const changes = [];
410
+ event.preventDefault();
411
+ arrayEach(_classPrivateFieldGet(this, _itemsBox).getSourceData(), (row, rowIndex) => {
412
+ row.checked = false;
413
+ changes.push(dataRowToChangesArray(row, rowIndex)[0]);
414
+ });
415
+ _classPrivateFieldGet(this, _itemsBox).setSourceDataAtCell(changes);
416
+ }
312
417
  export default MultipleSelectUI;
313
418
 
314
419
  /**
@@ -1,16 +1,23 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ require("core-js/modules/es.error.cause.js");
4
5
  var _object = require("../../../helpers/object");
5
- var _base = _interopRequireDefault(require("./_base"));
6
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7
- const privatePool = new WeakMap();
8
-
6
+ var _base = require("./_base");
7
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
8
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
9
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
10
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
11
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
12
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
13
+ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
9
14
  /**
10
15
  * @private
11
16
  * @class RadioInputUI
12
17
  */
13
- class RadioInputUI extends _base.default {
18
+ var _input = /*#__PURE__*/new WeakMap();
19
+ var _label = /*#__PURE__*/new WeakMap();
20
+ class RadioInputUI extends _base.BaseUI {
14
21
  static get DEFAULTS() {
15
22
  return (0, _object.clone)({
16
23
  type: 'radio',
@@ -19,9 +26,28 @@ class RadioInputUI extends _base.default {
19
26
  label: {}
20
27
  });
21
28
  }
29
+
30
+ /**
31
+ * The reference to the input element.
32
+ *
33
+ * @type {HTMLInputElement}
34
+ */
35
+
22
36
  constructor(hotInstance, options) {
23
37
  super(hotInstance, (0, _object.extend)(RadioInputUI.DEFAULTS, options));
24
- privatePool.set(this, {});
38
+ _classPrivateFieldInitSpec(this, _input, {
39
+ writable: true,
40
+ value: void 0
41
+ });
42
+ /**
43
+ * The reference to the label element.
44
+ *
45
+ * @type {HTMLLabelElement}
46
+ */
47
+ _classPrivateFieldInitSpec(this, _label, {
48
+ writable: true,
49
+ value: void 0
50
+ });
25
51
  }
26
52
 
27
53
  /**
@@ -29,12 +55,12 @@ class RadioInputUI extends _base.default {
29
55
  */
30
56
  build() {
31
57
  super.build();
32
- const priv = privatePool.get(this);
33
- priv.input = this._element.firstChild;
34
58
  const label = this.hot.rootDocument.createElement('label');
35
59
  label.textContent = this.translateIfPossible(this.options.label.textContent);
36
60
  label.htmlFor = this.translateIfPossible(this.options.label.htmlFor);
37
- priv.label = label;
61
+ _classPrivateFieldSet(this, _label, label);
62
+ _classPrivateFieldSet(this, _input, this._element.firstChild);
63
+ _classPrivateFieldGet(this, _input).checked = this.options.checked;
38
64
  this._element.appendChild(label);
39
65
  this.update();
40
66
  }
@@ -46,9 +72,7 @@ class RadioInputUI extends _base.default {
46
72
  if (!this.isBuilt()) {
47
73
  return;
48
74
  }
49
- const priv = privatePool.get(this);
50
- priv.input.checked = this.options.checked;
51
- priv.label.textContent = this.translateIfPossible(this.options.label.textContent);
75
+ _classPrivateFieldGet(this, _label).textContent = this.translateIfPossible(this.options.label.textContent);
52
76
  }
53
77
 
54
78
  /**
@@ -57,7 +81,7 @@ class RadioInputUI extends _base.default {
57
81
  * @returns {boolean}
58
82
  */
59
83
  isChecked() {
60
- return this.options.checked;
84
+ return _classPrivateFieldGet(this, _input).checked;
61
85
  }
62
86
 
63
87
  /**
@@ -67,8 +91,9 @@ class RadioInputUI extends _base.default {
67
91
  */
68
92
  setChecked() {
69
93
  let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
70
- this.options.checked = value;
71
- this.update();
94
+ if (this.isBuilt()) {
95
+ _classPrivateFieldGet(this, _input).checked = value;
96
+ }
72
97
  }
73
98
 
74
99
  /**
@@ -76,9 +101,8 @@ class RadioInputUI extends _base.default {
76
101
  */
77
102
  focus() {
78
103
  if (this.isBuilt()) {
79
- privatePool.get(this).input.focus();
104
+ _classPrivateFieldGet(this, _input).focus();
80
105
  }
81
106
  }
82
107
  }
83
- var _default = RadioInputUI;
84
- exports.default = _default;
108
+ exports.RadioInputUI = RadioInputUI;