handsontable 0.0.0-next-9ec04ce-20221121

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (1232) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +128 -0
  2. package/3rdparty/SheetClip/SheetClip.mjs +123 -0
  3. package/3rdparty/SheetClip/index.js +7 -0
  4. package/3rdparty/SheetClip/index.mjs +1 -0
  5. package/3rdparty/autoResize/autoResize.js +164 -0
  6. package/3rdparty/autoResize/autoResize.mjs +160 -0
  7. package/3rdparty/autoResize/index.js +6 -0
  8. package/3rdparty/autoResize/index.mjs +1 -0
  9. package/3rdparty/walkontable/src/border.js +746 -0
  10. package/3rdparty/walkontable/src/border.mjs +741 -0
  11. package/3rdparty/walkontable/src/calculator/constants.js +30 -0
  12. package/3rdparty/walkontable/src/calculator/constants.mjs +23 -0
  13. package/3rdparty/walkontable/src/calculator/index.js +22 -0
  14. package/3rdparty/walkontable/src/calculator/index.mjs +4 -0
  15. package/3rdparty/walkontable/src/calculator/viewportColumns.d.ts +18 -0
  16. package/3rdparty/walkontable/src/calculator/viewportColumns.js +297 -0
  17. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +292 -0
  18. package/3rdparty/walkontable/src/calculator/viewportRows.js +175 -0
  19. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +170 -0
  20. package/3rdparty/walkontable/src/cell/coords.d.ts +16 -0
  21. package/3rdparty/walkontable/src/cell/coords.js +185 -0
  22. package/3rdparty/walkontable/src/cell/coords.mjs +180 -0
  23. package/3rdparty/walkontable/src/cell/range.d.ts +59 -0
  24. package/3rdparty/walkontable/src/cell/range.js +888 -0
  25. package/3rdparty/walkontable/src/cell/range.mjs +882 -0
  26. package/3rdparty/walkontable/src/core/_base.js +395 -0
  27. package/3rdparty/walkontable/src/core/_base.mjs +390 -0
  28. package/3rdparty/walkontable/src/core/clone.js +59 -0
  29. package/3rdparty/walkontable/src/core/clone.mjs +54 -0
  30. package/3rdparty/walkontable/src/core/core.js +130 -0
  31. package/3rdparty/walkontable/src/core/core.mjs +125 -0
  32. package/3rdparty/walkontable/src/event.js +401 -0
  33. package/3rdparty/walkontable/src/event.mjs +396 -0
  34. package/3rdparty/walkontable/src/facade/core.js +236 -0
  35. package/3rdparty/walkontable/src/facade/core.mjs +231 -0
  36. package/3rdparty/walkontable/src/filter/column.js +107 -0
  37. package/3rdparty/walkontable/src/filter/column.mjs +102 -0
  38. package/3rdparty/walkontable/src/filter/row.js +107 -0
  39. package/3rdparty/walkontable/src/filter/row.mjs +102 -0
  40. package/3rdparty/walkontable/src/index.d.ts +1 -0
  41. package/3rdparty/walkontable/src/index.js +37 -0
  42. package/3rdparty/walkontable/src/index.mjs +10 -0
  43. package/3rdparty/walkontable/src/overlay/_base.js +363 -0
  44. package/3rdparty/walkontable/src/overlay/_base.mjs +357 -0
  45. package/3rdparty/walkontable/src/overlay/bottom.js +397 -0
  46. package/3rdparty/walkontable/src/overlay/bottom.mjs +391 -0
  47. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +140 -0
  48. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +134 -0
  49. package/3rdparty/walkontable/src/overlay/constants.js +26 -0
  50. package/3rdparty/walkontable/src/overlay/constants.mjs +15 -0
  51. package/3rdparty/walkontable/src/overlay/index.js +34 -0
  52. package/3rdparty/walkontable/src/overlay/index.mjs +7 -0
  53. package/3rdparty/walkontable/src/overlay/inlineStart.js +385 -0
  54. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +379 -0
  55. package/3rdparty/walkontable/src/overlay/top.js +415 -0
  56. package/3rdparty/walkontable/src/overlay/top.mjs +409 -0
  57. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +130 -0
  58. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +124 -0
  59. package/3rdparty/walkontable/src/overlays.js +675 -0
  60. package/3rdparty/walkontable/src/overlays.mjs +670 -0
  61. package/3rdparty/walkontable/src/renderer/_base.js +83 -0
  62. package/3rdparty/walkontable/src/renderer/_base.mjs +78 -0
  63. package/3rdparty/walkontable/src/renderer/cells.js +127 -0
  64. package/3rdparty/walkontable/src/renderer/cells.mjs +122 -0
  65. package/3rdparty/walkontable/src/renderer/colGroup.js +101 -0
  66. package/3rdparty/walkontable/src/renderer/colGroup.mjs +96 -0
  67. package/3rdparty/walkontable/src/renderer/columnHeaders.js +115 -0
  68. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +110 -0
  69. package/3rdparty/walkontable/src/renderer/index.js +118 -0
  70. package/3rdparty/walkontable/src/renderer/index.mjs +107 -0
  71. package/3rdparty/walkontable/src/renderer/rowHeaders.js +119 -0
  72. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +114 -0
  73. package/3rdparty/walkontable/src/renderer/rows.js +99 -0
  74. package/3rdparty/walkontable/src/renderer/rows.mjs +94 -0
  75. package/3rdparty/walkontable/src/renderer/table.js +317 -0
  76. package/3rdparty/walkontable/src/renderer/table.mjs +313 -0
  77. package/3rdparty/walkontable/src/scroll.js +316 -0
  78. package/3rdparty/walkontable/src/scroll.mjs +311 -0
  79. package/3rdparty/walkontable/src/selection.js +349 -0
  80. package/3rdparty/walkontable/src/selection.mjs +343 -0
  81. package/3rdparty/walkontable/src/settings.js +306 -0
  82. package/3rdparty/walkontable/src/settings.mjs +302 -0
  83. package/3rdparty/walkontable/src/table/bottom.js +56 -0
  84. package/3rdparty/walkontable/src/table/bottom.mjs +50 -0
  85. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +57 -0
  86. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +51 -0
  87. package/3rdparty/walkontable/src/table/inlineStart.js +53 -0
  88. package/3rdparty/walkontable/src/table/inlineStart.mjs +47 -0
  89. package/3rdparty/walkontable/src/table/master.js +132 -0
  90. package/3rdparty/walkontable/src/table/master.mjs +126 -0
  91. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +93 -0
  92. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +88 -0
  93. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +93 -0
  94. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +88 -0
  95. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +85 -0
  96. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +80 -0
  97. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +90 -0
  98. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +85 -0
  99. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +85 -0
  100. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +80 -0
  101. package/3rdparty/walkontable/src/table/top.js +56 -0
  102. package/3rdparty/walkontable/src/table/top.mjs +50 -0
  103. package/3rdparty/walkontable/src/table/topInlineStartCorner.js +57 -0
  104. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +51 -0
  105. package/3rdparty/walkontable/src/table.js +1171 -0
  106. package/3rdparty/walkontable/src/table.mjs +1165 -0
  107. package/3rdparty/walkontable/src/types.js +98 -0
  108. package/3rdparty/walkontable/src/types.mjs +97 -0
  109. package/3rdparty/walkontable/src/utils/column.js +121 -0
  110. package/3rdparty/walkontable/src/utils/column.mjs +117 -0
  111. package/3rdparty/walkontable/src/utils/nodesPool.js +48 -0
  112. package/3rdparty/walkontable/src/utils/nodesPool.mjs +44 -0
  113. package/3rdparty/walkontable/src/utils/orderView/constants.js +30 -0
  114. package/3rdparty/walkontable/src/utils/orderView/constants.mjs +23 -0
  115. package/3rdparty/walkontable/src/utils/orderView/index.js +8 -0
  116. package/3rdparty/walkontable/src/utils/orderView/index.mjs +3 -0
  117. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +81 -0
  118. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +76 -0
  119. package/3rdparty/walkontable/src/utils/orderView/view.js +216 -0
  120. package/3rdparty/walkontable/src/utils/orderView/view.mjs +211 -0
  121. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +68 -0
  122. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +64 -0
  123. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +137 -0
  124. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +132 -0
  125. package/3rdparty/walkontable/src/utils/row.js +43 -0
  126. package/3rdparty/walkontable/src/utils/row.mjs +39 -0
  127. package/3rdparty/walkontable/src/viewport.js +491 -0
  128. package/3rdparty/walkontable/src/viewport.mjs +486 -0
  129. package/CHANGELOG.md +716 -0
  130. package/LICENSE.txt +25 -0
  131. package/README.md +140 -0
  132. package/base.d.ts +3 -0
  133. package/base.js +54 -0
  134. package/base.mjs +44 -0
  135. package/cellTypes/autocompleteType/autocompleteType.d.ts +17 -0
  136. package/cellTypes/autocompleteType/autocompleteType.js +16 -0
  137. package/cellTypes/autocompleteType/autocompleteType.mjs +10 -0
  138. package/cellTypes/autocompleteType/index.d.ts +1 -0
  139. package/cellTypes/autocompleteType/index.js +7 -0
  140. package/cellTypes/autocompleteType/index.mjs +1 -0
  141. package/cellTypes/base.d.ts +14 -0
  142. package/cellTypes/checkboxType/checkboxType.d.ts +14 -0
  143. package/cellTypes/checkboxType/checkboxType.js +14 -0
  144. package/cellTypes/checkboxType/checkboxType.mjs +8 -0
  145. package/cellTypes/checkboxType/index.d.ts +1 -0
  146. package/cellTypes/checkboxType/index.js +7 -0
  147. package/cellTypes/checkboxType/index.mjs +1 -0
  148. package/cellTypes/dateType/dateType.d.ts +17 -0
  149. package/cellTypes/dateType/dateType.js +17 -0
  150. package/cellTypes/dateType/dateType.mjs +11 -0
  151. package/cellTypes/dateType/index.d.ts +1 -0
  152. package/cellTypes/dateType/index.js +7 -0
  153. package/cellTypes/dateType/index.mjs +1 -0
  154. package/cellTypes/dropdownType/dropdownType.d.ts +17 -0
  155. package/cellTypes/dropdownType/dropdownType.js +17 -0
  156. package/cellTypes/dropdownType/dropdownType.mjs +11 -0
  157. package/cellTypes/dropdownType/index.d.ts +1 -0
  158. package/cellTypes/dropdownType/index.js +7 -0
  159. package/cellTypes/dropdownType/index.mjs +1 -0
  160. package/cellTypes/handsontableType/handsontableType.d.ts +14 -0
  161. package/cellTypes/handsontableType/handsontableType.js +15 -0
  162. package/cellTypes/handsontableType/handsontableType.mjs +9 -0
  163. package/cellTypes/handsontableType/index.d.ts +1 -0
  164. package/cellTypes/handsontableType/index.js +7 -0
  165. package/cellTypes/handsontableType/index.mjs +1 -0
  166. package/cellTypes/index.d.ts +47 -0
  167. package/cellTypes/index.js +52 -0
  168. package/cellTypes/index.mjs +26 -0
  169. package/cellTypes/numericType/index.d.ts +1 -0
  170. package/cellTypes/numericType/index.js +7 -0
  171. package/cellTypes/numericType/index.mjs +1 -0
  172. package/cellTypes/numericType/numericType.d.ts +17 -0
  173. package/cellTypes/numericType/numericType.js +17 -0
  174. package/cellTypes/numericType/numericType.mjs +11 -0
  175. package/cellTypes/passwordType/index.d.ts +1 -0
  176. package/cellTypes/passwordType/index.js +7 -0
  177. package/cellTypes/passwordType/index.mjs +1 -0
  178. package/cellTypes/passwordType/passwordType.d.ts +14 -0
  179. package/cellTypes/passwordType/passwordType.js +15 -0
  180. package/cellTypes/passwordType/passwordType.mjs +9 -0
  181. package/cellTypes/registry.d.ts +18 -0
  182. package/cellTypes/registry.js +60 -0
  183. package/cellTypes/registry.mjs +51 -0
  184. package/cellTypes/textType/index.d.ts +1 -0
  185. package/cellTypes/textType/index.js +7 -0
  186. package/cellTypes/textType/index.mjs +1 -0
  187. package/cellTypes/textType/textType.d.ts +14 -0
  188. package/cellTypes/textType/textType.js +14 -0
  189. package/cellTypes/textType/textType.mjs +8 -0
  190. package/cellTypes/timeType/index.d.ts +1 -0
  191. package/cellTypes/timeType/index.js +7 -0
  192. package/cellTypes/timeType/index.mjs +1 -0
  193. package/cellTypes/timeType/timeType.d.ts +17 -0
  194. package/cellTypes/timeType/timeType.js +16 -0
  195. package/cellTypes/timeType/timeType.mjs +10 -0
  196. package/common.d.ts +74 -0
  197. package/core.d.ts +167 -0
  198. package/core.js +4684 -0
  199. package/core.mjs +4679 -0
  200. package/dataMap/dataMap.js +975 -0
  201. package/dataMap/dataMap.mjs +970 -0
  202. package/dataMap/dataSource.js +325 -0
  203. package/dataMap/dataSource.mjs +320 -0
  204. package/dataMap/index.js +16 -0
  205. package/dataMap/index.mjs +7 -0
  206. package/dataMap/metaManager/index.js +339 -0
  207. package/dataMap/metaManager/index.mjs +334 -0
  208. package/dataMap/metaManager/lazyFactoryMap.js +370 -0
  209. package/dataMap/metaManager/lazyFactoryMap.mjs +366 -0
  210. package/dataMap/metaManager/metaLayers/cellMeta.js +275 -0
  211. package/dataMap/metaManager/metaLayers/cellMeta.mjs +270 -0
  212. package/dataMap/metaManager/metaLayers/columnMeta.js +153 -0
  213. package/dataMap/metaManager/metaLayers/columnMeta.mjs +148 -0
  214. package/dataMap/metaManager/metaLayers/globalMeta.js +103 -0
  215. package/dataMap/metaManager/metaLayers/globalMeta.mjs +98 -0
  216. package/dataMap/metaManager/metaLayers/tableMeta.js +73 -0
  217. package/dataMap/metaManager/metaLayers/tableMeta.mjs +69 -0
  218. package/dataMap/metaManager/metaSchema.js +4610 -0
  219. package/dataMap/metaManager/metaSchema.mjs +4605 -0
  220. package/dataMap/metaManager/mods/dynamicCellMeta.js +107 -0
  221. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +101 -0
  222. package/dataMap/metaManager/mods/extendMetaProperties.js +104 -0
  223. package/dataMap/metaManager/mods/extendMetaProperties.mjs +99 -0
  224. package/dataMap/metaManager/utils.js +99 -0
  225. package/dataMap/metaManager/utils.mjs +91 -0
  226. package/dataMap/replaceData.js +119 -0
  227. package/dataMap/replaceData.mjs +115 -0
  228. package/dist/README.md +54 -0
  229. package/dist/handsontable.css +1941 -0
  230. package/dist/handsontable.full.css +2172 -0
  231. package/dist/handsontable.full.js +150392 -0
  232. package/dist/handsontable.full.min.css +47 -0
  233. package/dist/handsontable.full.min.js +869 -0
  234. package/dist/handsontable.js +94075 -0
  235. package/dist/handsontable.min.css +43 -0
  236. package/dist/handsontable.min.js +31 -0
  237. package/dist/languages/all.js +583 -0
  238. package/dist/languages/all.min.js +1 -0
  239. package/dist/languages/ar-AR.js +157 -0
  240. package/dist/languages/ar-AR.min.js +1 -0
  241. package/dist/languages/cs-CZ.js +157 -0
  242. package/dist/languages/cs-CZ.min.js +1 -0
  243. package/dist/languages/de-CH.js +158 -0
  244. package/dist/languages/de-CH.min.js +1 -0
  245. package/dist/languages/de-DE.js +159 -0
  246. package/dist/languages/de-DE.min.js +1 -0
  247. package/dist/languages/en-US.js +160 -0
  248. package/dist/languages/en-US.min.js +1 -0
  249. package/dist/languages/es-MX.js +161 -0
  250. package/dist/languages/es-MX.min.js +1 -0
  251. package/dist/languages/fr-FR.js +162 -0
  252. package/dist/languages/fr-FR.min.js +1 -0
  253. package/dist/languages/it-IT.js +164 -0
  254. package/dist/languages/it-IT.min.js +1 -0
  255. package/dist/languages/ja-JP.js +161 -0
  256. package/dist/languages/ja-JP.min.js +1 -0
  257. package/dist/languages/ko-KR.js +161 -0
  258. package/dist/languages/ko-KR.min.js +1 -0
  259. package/dist/languages/lv-LV.js +161 -0
  260. package/dist/languages/lv-LV.min.js +1 -0
  261. package/dist/languages/nb-NO.js +161 -0
  262. package/dist/languages/nb-NO.min.js +1 -0
  263. package/dist/languages/nl-NL.js +161 -0
  264. package/dist/languages/nl-NL.min.js +1 -0
  265. package/dist/languages/pl-PL.js +161 -0
  266. package/dist/languages/pl-PL.min.js +1 -0
  267. package/dist/languages/pt-BR.js +161 -0
  268. package/dist/languages/pt-BR.min.js +1 -0
  269. package/dist/languages/ru-RU.js +161 -0
  270. package/dist/languages/ru-RU.min.js +1 -0
  271. package/dist/languages/sr-SP.js +161 -0
  272. package/dist/languages/sr-SP.min.js +1 -0
  273. package/dist/languages/zh-CN.js +161 -0
  274. package/dist/languages/zh-CN.min.js +1 -0
  275. package/dist/languages/zh-TW.js +161 -0
  276. package/dist/languages/zh-TW.min.js +1 -0
  277. package/editorManager.js +522 -0
  278. package/editorManager.mjs +514 -0
  279. package/editors/autocompleteEditor/autocompleteEditor.d.ts +29 -0
  280. package/editors/autocompleteEditor/autocompleteEditor.js +584 -0
  281. package/editors/autocompleteEditor/autocompleteEditor.mjs +578 -0
  282. package/editors/autocompleteEditor/index.d.ts +1 -0
  283. package/editors/autocompleteEditor/index.js +7 -0
  284. package/editors/autocompleteEditor/index.mjs +1 -0
  285. package/editors/baseEditor/baseEditor.d.ts +45 -0
  286. package/editors/baseEditor/baseEditor.js +688 -0
  287. package/editors/baseEditor/baseEditor.mjs +679 -0
  288. package/editors/baseEditor/index.d.ts +1 -0
  289. package/editors/baseEditor/index.js +8 -0
  290. package/editors/baseEditor/index.mjs +1 -0
  291. package/editors/checkboxEditor/checkboxEditor.d.ts +12 -0
  292. package/editors/checkboxEditor/checkboxEditor.js +85 -0
  293. package/editors/checkboxEditor/checkboxEditor.mjs +79 -0
  294. package/editors/checkboxEditor/index.d.ts +1 -0
  295. package/editors/checkboxEditor/index.js +7 -0
  296. package/editors/checkboxEditor/index.mjs +1 -0
  297. package/editors/dateEditor/dateEditor.d.ts +18 -0
  298. package/editors/dateEditor/dateEditor.js +325 -0
  299. package/editors/dateEditor/dateEditor.mjs +318 -0
  300. package/editors/dateEditor/index.d.ts +1 -0
  301. package/editors/dateEditor/index.js +7 -0
  302. package/editors/dateEditor/index.mjs +1 -0
  303. package/editors/dropdownEditor/dropdownEditor.d.ts +7 -0
  304. package/editors/dropdownEditor/dropdownEditor.js +81 -0
  305. package/editors/dropdownEditor/dropdownEditor.mjs +74 -0
  306. package/editors/dropdownEditor/index.d.ts +1 -0
  307. package/editors/dropdownEditor/index.js +7 -0
  308. package/editors/dropdownEditor/index.mjs +1 -0
  309. package/editors/handsontableEditor/handsontableEditor.d.ts +10 -0
  310. package/editors/handsontableEditor/handsontableEditor.js +306 -0
  311. package/editors/handsontableEditor/handsontableEditor.mjs +300 -0
  312. package/editors/handsontableEditor/index.d.ts +1 -0
  313. package/editors/handsontableEditor/index.js +7 -0
  314. package/editors/handsontableEditor/index.mjs +1 -0
  315. package/editors/index.d.ts +56 -0
  316. package/editors/index.js +63 -0
  317. package/editors/index.mjs +30 -0
  318. package/editors/numericEditor/index.d.ts +1 -0
  319. package/editors/numericEditor/index.js +7 -0
  320. package/editors/numericEditor/index.mjs +1 -0
  321. package/editors/numericEditor/numericEditor.d.ts +7 -0
  322. package/editors/numericEditor/numericEditor.js +49 -0
  323. package/editors/numericEditor/numericEditor.mjs +43 -0
  324. package/editors/passwordEditor/index.d.ts +1 -0
  325. package/editors/passwordEditor/index.js +7 -0
  326. package/editors/passwordEditor/index.mjs +1 -0
  327. package/editors/passwordEditor/passwordEditor.d.ts +7 -0
  328. package/editors/passwordEditor/passwordEditor.js +68 -0
  329. package/editors/passwordEditor/passwordEditor.mjs +62 -0
  330. package/editors/registry.d.ts +29 -0
  331. package/editors/registry.js +106 -0
  332. package/editors/registry.mjs +94 -0
  333. package/editors/selectEditor/index.d.ts +1 -0
  334. package/editors/selectEditor/index.js +7 -0
  335. package/editors/selectEditor/index.mjs +1 -0
  336. package/editors/selectEditor/selectEditor.d.ts +16 -0
  337. package/editors/selectEditor/selectEditor.js +302 -0
  338. package/editors/selectEditor/selectEditor.mjs +296 -0
  339. package/editors/textEditor/caretPositioner.js +37 -0
  340. package/editors/textEditor/caretPositioner.mjs +33 -0
  341. package/editors/textEditor/index.d.ts +1 -0
  342. package/editors/textEditor/index.js +7 -0
  343. package/editors/textEditor/index.mjs +1 -0
  344. package/editors/textEditor/textEditor.d.ts +24 -0
  345. package/editors/textEditor/textEditor.js +612 -0
  346. package/editors/textEditor/textEditor.mjs +605 -0
  347. package/editors/timeEditor/index.d.ts +1 -0
  348. package/editors/timeEditor/index.js +7 -0
  349. package/editors/timeEditor/index.mjs +1 -0
  350. package/editors/timeEditor/timeEditor.d.ts +7 -0
  351. package/editors/timeEditor/timeEditor.js +70 -0
  352. package/editors/timeEditor/timeEditor.mjs +64 -0
  353. package/eventManager.d.ts +13 -0
  354. package/eventManager.js +236 -0
  355. package/eventManager.mjs +231 -0
  356. package/handsontable-non-commercial-license.pdf +0 -0
  357. package/helpers/array.d.ts +18 -0
  358. package/helpers/array.js +353 -0
  359. package/helpers/array.mjs +333 -0
  360. package/helpers/browser.d.ts +25 -0
  361. package/helpers/browser.js +231 -0
  362. package/helpers/browser.mjs +210 -0
  363. package/helpers/console.d.ts +4 -0
  364. package/helpers/console.js +65 -0
  365. package/helpers/console.mjs +56 -0
  366. package/helpers/data.d.ts +12 -0
  367. package/helpers/data.js +247 -0
  368. package/helpers/data.mjs +234 -0
  369. package/helpers/date.d.ts +1 -0
  370. package/helpers/date.js +22 -0
  371. package/helpers/date.mjs +18 -0
  372. package/helpers/dom/element.d.ts +49 -0
  373. package/helpers/dom/element.js +1117 -0
  374. package/helpers/dom/element.mjs +1064 -0
  375. package/helpers/dom/event.d.ts +4 -0
  376. package/helpers/dom/event.js +46 -0
  377. package/helpers/dom/event.mjs +39 -0
  378. package/helpers/dom/index.d.ts +2 -0
  379. package/helpers/feature.d.ts +11 -0
  380. package/helpers/feature.js +184 -0
  381. package/helpers/feature.mjs +172 -0
  382. package/helpers/function.d.ts +10 -0
  383. package/helpers/function.js +319 -0
  384. package/helpers/function.mjs +307 -0
  385. package/helpers/index.d.ts +14 -0
  386. package/helpers/mixed.d.ts +5 -0
  387. package/helpers/mixed.js +230 -0
  388. package/helpers/mixed.mjs +220 -0
  389. package/helpers/number.d.ts +5 -0
  390. package/helpers/number.js +142 -0
  391. package/helpers/number.mjs +134 -0
  392. package/helpers/object.d.ts +16 -0
  393. package/helpers/object.js +371 -0
  394. package/helpers/object.mjs +352 -0
  395. package/helpers/string.d.ts +7 -0
  396. package/helpers/string.js +115 -0
  397. package/helpers/string.mjs +104 -0
  398. package/helpers/templateLiteralTag.d.ts +1 -0
  399. package/helpers/templateLiteralTag.js +26 -0
  400. package/helpers/templateLiteralTag.mjs +22 -0
  401. package/helpers/unicode.d.ts +73 -0
  402. package/helpers/unicode.js +158 -0
  403. package/helpers/unicode.mjs +148 -0
  404. package/helpers/wrappers/jquery.js +50 -0
  405. package/helpers/wrappers/jquery.mjs +46 -0
  406. package/i18n/constants.js +162 -0
  407. package/i18n/constants.mjs +82 -0
  408. package/i18n/index.d.ts +2 -0
  409. package/i18n/index.js +18 -0
  410. package/i18n/index.mjs +2 -0
  411. package/i18n/languages/ar-AR.js +25 -0
  412. package/i18n/languages/ar-AR.mjs +15 -0
  413. package/i18n/languages/cs-CZ.js +24 -0
  414. package/i18n/languages/cs-CZ.mjs +14 -0
  415. package/i18n/languages/de-CH.d.ts +5 -0
  416. package/i18n/languages/de-CH.js +24 -0
  417. package/i18n/languages/de-CH.mjs +14 -0
  418. package/i18n/languages/de-DE.d.ts +5 -0
  419. package/i18n/languages/de-DE.js +24 -0
  420. package/i18n/languages/de-DE.mjs +14 -0
  421. package/i18n/languages/en-US.d.ts +5 -0
  422. package/i18n/languages/en-US.js +24 -0
  423. package/i18n/languages/en-US.mjs +14 -0
  424. package/i18n/languages/es-MX.d.ts +5 -0
  425. package/i18n/languages/es-MX.js +24 -0
  426. package/i18n/languages/es-MX.mjs +13 -0
  427. package/i18n/languages/fr-FR.d.ts +5 -0
  428. package/i18n/languages/fr-FR.js +24 -0
  429. package/i18n/languages/fr-FR.mjs +14 -0
  430. package/i18n/languages/index.d.ts +35 -0
  431. package/i18n/languages/index.js +42 -0
  432. package/i18n/languages/index.mjs +20 -0
  433. package/i18n/languages/it-IT.d.ts +5 -0
  434. package/i18n/languages/it-IT.js +24 -0
  435. package/i18n/languages/it-IT.mjs +14 -0
  436. package/i18n/languages/ja-JP.d.ts +5 -0
  437. package/i18n/languages/ja-JP.js +24 -0
  438. package/i18n/languages/ja-JP.mjs +14 -0
  439. package/i18n/languages/ko-KR.d.ts +5 -0
  440. package/i18n/languages/ko-KR.js +24 -0
  441. package/i18n/languages/ko-KR.mjs +14 -0
  442. package/i18n/languages/lv-LV.d.ts +5 -0
  443. package/i18n/languages/lv-LV.js +24 -0
  444. package/i18n/languages/lv-LV.mjs +14 -0
  445. package/i18n/languages/nb-NO.d.ts +5 -0
  446. package/i18n/languages/nb-NO.js +24 -0
  447. package/i18n/languages/nb-NO.mjs +14 -0
  448. package/i18n/languages/nl-NL.d.ts +5 -0
  449. package/i18n/languages/nl-NL.js +24 -0
  450. package/i18n/languages/nl-NL.mjs +14 -0
  451. package/i18n/languages/pl-PL.d.ts +5 -0
  452. package/i18n/languages/pl-PL.js +24 -0
  453. package/i18n/languages/pl-PL.mjs +14 -0
  454. package/i18n/languages/pt-BR.d.ts +5 -0
  455. package/i18n/languages/pt-BR.js +24 -0
  456. package/i18n/languages/pt-BR.mjs +14 -0
  457. package/i18n/languages/ru-RU.d.ts +5 -0
  458. package/i18n/languages/ru-RU.js +24 -0
  459. package/i18n/languages/ru-RU.mjs +14 -0
  460. package/i18n/languages/sr-SP.js +24 -0
  461. package/i18n/languages/sr-SP.mjs +14 -0
  462. package/i18n/languages/zh-CN.d.ts +5 -0
  463. package/i18n/languages/zh-CN.js +24 -0
  464. package/i18n/languages/zh-CN.mjs +14 -0
  465. package/i18n/languages/zh-TW.d.ts +5 -0
  466. package/i18n/languages/zh-TW.js +24 -0
  467. package/i18n/languages/zh-TW.mjs +14 -0
  468. package/i18n/phraseFormatters/index.js +31 -0
  469. package/i18n/phraseFormatters/index.mjs +26 -0
  470. package/i18n/phraseFormatters/pluralize.js +21 -0
  471. package/i18n/phraseFormatters/pluralize.mjs +17 -0
  472. package/i18n/phraseFormatters/substituteVariables.js +22 -0
  473. package/i18n/phraseFormatters/substituteVariables.mjs +18 -0
  474. package/i18n/registry.d.ts +13 -0
  475. package/i18n/registry.js +180 -0
  476. package/i18n/registry.mjs +155 -0
  477. package/i18n/utils.js +90 -0
  478. package/i18n/utils.mjs +83 -0
  479. package/index.d.ts +520 -0
  480. package/index.js +130 -0
  481. package/index.mjs +112 -0
  482. package/languages/all.js +583 -0
  483. package/languages/ar-AR.js +157 -0
  484. package/languages/ar-AR.mjs +17 -0
  485. package/languages/cs-CZ.js +157 -0
  486. package/languages/cs-CZ.mjs +16 -0
  487. package/languages/de-CH.js +158 -0
  488. package/languages/de-CH.mjs +16 -0
  489. package/languages/de-DE.js +159 -0
  490. package/languages/de-DE.mjs +16 -0
  491. package/languages/en-US.js +160 -0
  492. package/languages/en-US.mjs +16 -0
  493. package/languages/es-MX.js +161 -0
  494. package/languages/es-MX.mjs +15 -0
  495. package/languages/fr-FR.js +162 -0
  496. package/languages/fr-FR.mjs +16 -0
  497. package/languages/index.js +583 -0
  498. package/languages/index.mjs +20 -0
  499. package/languages/it-IT.js +164 -0
  500. package/languages/it-IT.mjs +16 -0
  501. package/languages/ja-JP.js +161 -0
  502. package/languages/ja-JP.mjs +16 -0
  503. package/languages/ko-KR.js +161 -0
  504. package/languages/ko-KR.mjs +16 -0
  505. package/languages/lv-LV.js +161 -0
  506. package/languages/lv-LV.mjs +16 -0
  507. package/languages/nb-NO.js +161 -0
  508. package/languages/nb-NO.mjs +16 -0
  509. package/languages/nl-NL.js +161 -0
  510. package/languages/nl-NL.mjs +16 -0
  511. package/languages/pl-PL.js +161 -0
  512. package/languages/pl-PL.mjs +16 -0
  513. package/languages/pt-BR.js +161 -0
  514. package/languages/pt-BR.mjs +16 -0
  515. package/languages/ru-RU.js +161 -0
  516. package/languages/ru-RU.mjs +16 -0
  517. package/languages/sr-SP.js +161 -0
  518. package/languages/sr-SP.mjs +16 -0
  519. package/languages/zh-CN.js +161 -0
  520. package/languages/zh-CN.mjs +16 -0
  521. package/languages/zh-TW.js +161 -0
  522. package/languages/zh-TW.mjs +16 -0
  523. package/mixins/hooksRefRegisterer.js +61 -0
  524. package/mixins/hooksRefRegisterer.mjs +56 -0
  525. package/mixins/localHooks.js +71 -0
  526. package/mixins/localHooks.mjs +66 -0
  527. package/package.json +751 -0
  528. package/pluginHooks.d.ts +256 -0
  529. package/pluginHooks.js +2750 -0
  530. package/pluginHooks.mjs +2744 -0
  531. package/plugins/autoColumnSize/autoColumnSize.d.ts +27 -0
  532. package/plugins/autoColumnSize/autoColumnSize.js +796 -0
  533. package/plugins/autoColumnSize/autoColumnSize.mjs +788 -0
  534. package/plugins/autoColumnSize/index.d.ts +1 -0
  535. package/plugins/autoColumnSize/index.js +8 -0
  536. package/plugins/autoColumnSize/index.mjs +1 -0
  537. package/plugins/autoRowSize/autoRowSize.d.ts +27 -0
  538. package/plugins/autoRowSize/autoRowSize.js +735 -0
  539. package/plugins/autoRowSize/autoRowSize.mjs +727 -0
  540. package/plugins/autoRowSize/index.d.ts +1 -0
  541. package/plugins/autoRowSize/index.js +8 -0
  542. package/plugins/autoRowSize/index.mjs +1 -0
  543. package/plugins/autofill/autofill.d.ts +18 -0
  544. package/plugins/autofill/autofill.js +694 -0
  545. package/plugins/autofill/autofill.mjs +687 -0
  546. package/plugins/autofill/index.d.ts +1 -0
  547. package/plugins/autofill/index.js +8 -0
  548. package/plugins/autofill/index.mjs +1 -0
  549. package/plugins/autofill/utils.js +134 -0
  550. package/plugins/autofill/utils.mjs +126 -0
  551. package/plugins/base/base.d.ts +27 -0
  552. package/plugins/base/base.js +345 -0
  553. package/plugins/base/base.mjs +339 -0
  554. package/plugins/base/index.d.ts +1 -0
  555. package/plugins/base/index.js +7 -0
  556. package/plugins/base/index.mjs +1 -0
  557. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.d.ts +9 -0
  558. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +169 -0
  559. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +161 -0
  560. package/plugins/bindRowsWithHeaders/index.d.ts +1 -0
  561. package/plugins/bindRowsWithHeaders/index.js +8 -0
  562. package/plugins/bindRowsWithHeaders/index.mjs +1 -0
  563. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +80 -0
  564. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +75 -0
  565. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +103 -0
  566. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +98 -0
  567. package/plugins/collapsibleColumns/collapsibleColumns.d.ts +22 -0
  568. package/plugins/collapsibleColumns/collapsibleColumns.js +592 -0
  569. package/plugins/collapsibleColumns/collapsibleColumns.mjs +584 -0
  570. package/plugins/collapsibleColumns/index.d.ts +1 -0
  571. package/plugins/collapsibleColumns/index.js +8 -0
  572. package/plugins/collapsibleColumns/index.mjs +1 -0
  573. package/plugins/columnSorting/columnSorting.d.ts +30 -0
  574. package/plugins/columnSorting/columnSorting.js +865 -0
  575. package/plugins/columnSorting/columnSorting.mjs +857 -0
  576. package/plugins/columnSorting/columnStatesManager.js +273 -0
  577. package/plugins/columnSorting/columnStatesManager.mjs +268 -0
  578. package/plugins/columnSorting/domHelpers.js +54 -0
  579. package/plugins/columnSorting/domHelpers.mjs +49 -0
  580. package/plugins/columnSorting/index.d.ts +1 -0
  581. package/plugins/columnSorting/index.js +8 -0
  582. package/plugins/columnSorting/index.mjs +1 -0
  583. package/plugins/columnSorting/rootComparator.js +52 -0
  584. package/plugins/columnSorting/rootComparator.mjs +48 -0
  585. package/plugins/columnSorting/sortFunction/checkbox.js +64 -0
  586. package/plugins/columnSorting/sortFunction/checkbox.mjs +58 -0
  587. package/plugins/columnSorting/sortFunction/date.js +61 -0
  588. package/plugins/columnSorting/sortFunction/date.mjs +54 -0
  589. package/plugins/columnSorting/sortFunction/default.js +65 -0
  590. package/plugins/columnSorting/sortFunction/default.mjs +59 -0
  591. package/plugins/columnSorting/sortFunction/numeric.js +49 -0
  592. package/plugins/columnSorting/sortFunction/numeric.mjs +43 -0
  593. package/plugins/columnSorting/sortService/engine.js +26 -0
  594. package/plugins/columnSorting/sortService/engine.mjs +18 -0
  595. package/plugins/columnSorting/sortService/index.js +13 -0
  596. package/plugins/columnSorting/sortService/index.mjs +3 -0
  597. package/plugins/columnSorting/sortService/registry.js +37 -0
  598. package/plugins/columnSorting/sortService/registry.mjs +30 -0
  599. package/plugins/columnSorting/utils.js +122 -0
  600. package/plugins/columnSorting/utils.mjs +110 -0
  601. package/plugins/columnSummary/columnSummary.d.ts +72 -0
  602. package/plugins/columnSummary/columnSummary.js +544 -0
  603. package/plugins/columnSummary/columnSummary.mjs +536 -0
  604. package/plugins/columnSummary/endpoints.js +557 -0
  605. package/plugins/columnSummary/endpoints.mjs +552 -0
  606. package/plugins/columnSummary/index.d.ts +1 -0
  607. package/plugins/columnSummary/index.js +8 -0
  608. package/plugins/columnSummary/index.mjs +1 -0
  609. package/plugins/columnSummary/utils.js +13 -0
  610. package/plugins/columnSummary/utils.mjs +9 -0
  611. package/plugins/comments/commentEditor.js +241 -0
  612. package/plugins/comments/commentEditor.mjs +236 -0
  613. package/plugins/comments/comments.d.ts +50 -0
  614. package/plugins/comments/comments.js +942 -0
  615. package/plugins/comments/comments.mjs +932 -0
  616. package/plugins/comments/displaySwitch.js +115 -0
  617. package/plugins/comments/displaySwitch.mjs +109 -0
  618. package/plugins/comments/index.d.ts +1 -0
  619. package/plugins/comments/index.js +8 -0
  620. package/plugins/comments/index.mjs +1 -0
  621. package/plugins/contextMenu/commandExecutor.js +113 -0
  622. package/plugins/contextMenu/commandExecutor.mjs +108 -0
  623. package/plugins/contextMenu/contextMenu.d.ts +65 -0
  624. package/plugins/contextMenu/contextMenu.js +445 -0
  625. package/plugins/contextMenu/contextMenu.mjs +437 -0
  626. package/plugins/contextMenu/cursor.js +126 -0
  627. package/plugins/contextMenu/cursor.mjs +121 -0
  628. package/plugins/contextMenu/index.d.ts +1 -0
  629. package/plugins/contextMenu/index.js +8 -0
  630. package/plugins/contextMenu/index.mjs +1 -0
  631. package/plugins/contextMenu/itemsFactory.js +136 -0
  632. package/plugins/contextMenu/itemsFactory.mjs +131 -0
  633. package/plugins/contextMenu/menu.js +1003 -0
  634. package/plugins/contextMenu/menu.mjs +997 -0
  635. package/plugins/contextMenu/predefinedItems/alignment.js +277 -0
  636. package/plugins/contextMenu/predefinedItems/alignment.mjs +259 -0
  637. package/plugins/contextMenu/predefinedItems/clearColumn.js +47 -0
  638. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +29 -0
  639. package/plugins/contextMenu/predefinedItems/columnLeft.js +57 -0
  640. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +39 -0
  641. package/plugins/contextMenu/predefinedItems/columnRight.js +55 -0
  642. package/plugins/contextMenu/predefinedItems/columnRight.mjs +37 -0
  643. package/plugins/contextMenu/predefinedItems/noItems.js +22 -0
  644. package/plugins/contextMenu/predefinedItems/noItems.mjs +16 -0
  645. package/plugins/contextMenu/predefinedItems/readOnly.js +69 -0
  646. package/plugins/contextMenu/predefinedItems/readOnly.mjs +51 -0
  647. package/plugins/contextMenu/predefinedItems/redo.js +42 -0
  648. package/plugins/contextMenu/predefinedItems/redo.mjs +24 -0
  649. package/plugins/contextMenu/predefinedItems/removeColumn.js +79 -0
  650. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +68 -0
  651. package/plugins/contextMenu/predefinedItems/removeRow.js +78 -0
  652. package/plugins/contextMenu/predefinedItems/removeRow.mjs +67 -0
  653. package/plugins/contextMenu/predefinedItems/rowAbove.js +53 -0
  654. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +35 -0
  655. package/plugins/contextMenu/predefinedItems/rowBelow.js +51 -0
  656. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +33 -0
  657. package/plugins/contextMenu/predefinedItems/separator.js +16 -0
  658. package/plugins/contextMenu/predefinedItems/separator.mjs +10 -0
  659. package/plugins/contextMenu/predefinedItems/undo.js +42 -0
  660. package/plugins/contextMenu/predefinedItems/undo.mjs +24 -0
  661. package/plugins/contextMenu/predefinedItems.js +76 -0
  662. package/plugins/contextMenu/predefinedItems.mjs +57 -0
  663. package/plugins/contextMenu/utils.js +278 -0
  664. package/plugins/contextMenu/utils.mjs +261 -0
  665. package/plugins/copyPaste/clipboardData.js +29 -0
  666. package/plugins/copyPaste/clipboardData.mjs +25 -0
  667. package/plugins/copyPaste/contextMenuItem/copy.js +45 -0
  668. package/plugins/copyPaste/contextMenuItem/copy.mjs +29 -0
  669. package/plugins/copyPaste/contextMenuItem/cut.js +45 -0
  670. package/plugins/copyPaste/contextMenuItem/cut.mjs +29 -0
  671. package/plugins/copyPaste/copyPaste.d.ts +35 -0
  672. package/plugins/copyPaste/copyPaste.js +721 -0
  673. package/plugins/copyPaste/copyPaste.mjs +713 -0
  674. package/plugins/copyPaste/focusableElement.js +210 -0
  675. package/plugins/copyPaste/focusableElement.mjs +204 -0
  676. package/plugins/copyPaste/index.d.ts +1 -0
  677. package/plugins/copyPaste/index.js +8 -0
  678. package/plugins/copyPaste/index.mjs +1 -0
  679. package/plugins/copyPaste/pasteEvent.js +17 -0
  680. package/plugins/copyPaste/pasteEvent.mjs +12 -0
  681. package/plugins/customBorders/contextMenuItem/bottom.js +39 -0
  682. package/plugins/customBorders/contextMenuItem/bottom.mjs +23 -0
  683. package/plugins/customBorders/contextMenuItem/index.js +14 -0
  684. package/plugins/customBorders/contextMenuItem/index.mjs +6 -0
  685. package/plugins/customBorders/contextMenuItem/left.js +40 -0
  686. package/plugins/customBorders/contextMenuItem/left.mjs +24 -0
  687. package/plugins/customBorders/contextMenuItem/noBorders.js +36 -0
  688. package/plugins/customBorders/contextMenuItem/noBorders.mjs +20 -0
  689. package/plugins/customBorders/contextMenuItem/right.js +40 -0
  690. package/plugins/customBorders/contextMenuItem/right.mjs +24 -0
  691. package/plugins/customBorders/contextMenuItem/top.js +39 -0
  692. package/plugins/customBorders/contextMenuItem/top.mjs +23 -0
  693. package/plugins/customBorders/customBorders.d.ts +38 -0
  694. package/plugins/customBorders/customBorders.js +887 -0
  695. package/plugins/customBorders/customBorders.mjs +877 -0
  696. package/plugins/customBorders/index.d.ts +1 -0
  697. package/plugins/customBorders/index.js +8 -0
  698. package/plugins/customBorders/index.mjs +1 -0
  699. package/plugins/customBorders/utils.js +265 -0
  700. package/plugins/customBorders/utils.mjs +249 -0
  701. package/plugins/dragToScroll/dragToScroll.d.ts +15 -0
  702. package/plugins/dragToScroll/dragToScroll.js +335 -0
  703. package/plugins/dragToScroll/dragToScroll.mjs +327 -0
  704. package/plugins/dragToScroll/index.d.ts +1 -0
  705. package/plugins/dragToScroll/index.js +8 -0
  706. package/plugins/dragToScroll/index.mjs +1 -0
  707. package/plugins/dropdownMenu/dropdownMenu.d.ts +24 -0
  708. package/plugins/dropdownMenu/dropdownMenu.js +511 -0
  709. package/plugins/dropdownMenu/dropdownMenu.mjs +504 -0
  710. package/plugins/dropdownMenu/index.d.ts +1 -0
  711. package/plugins/dropdownMenu/index.js +8 -0
  712. package/plugins/dropdownMenu/index.mjs +1 -0
  713. package/plugins/exportFile/dataProvider.js +200 -0
  714. package/plugins/exportFile/dataProvider.mjs +195 -0
  715. package/plugins/exportFile/exportFile.d.ts +12 -0
  716. package/plugins/exportFile/exportFile.js +262 -0
  717. package/plugins/exportFile/exportFile.mjs +250 -0
  718. package/plugins/exportFile/index.d.ts +1 -0
  719. package/plugins/exportFile/index.js +8 -0
  720. package/plugins/exportFile/index.mjs +1 -0
  721. package/plugins/exportFile/typeFactory.js +30 -0
  722. package/plugins/exportFile/typeFactory.mjs +21 -0
  723. package/plugins/exportFile/types/_base.js +78 -0
  724. package/plugins/exportFile/types/_base.mjs +73 -0
  725. package/plugins/exportFile/types/csv.js +131 -0
  726. package/plugins/exportFile/types/csv.mjs +125 -0
  727. package/plugins/filters/component/_base.js +169 -0
  728. package/plugins/filters/component/_base.mjs +163 -0
  729. package/plugins/filters/component/actionBar.js +161 -0
  730. package/plugins/filters/component/actionBar.mjs +151 -0
  731. package/plugins/filters/component/condition.js +325 -0
  732. package/plugins/filters/component/condition.mjs +316 -0
  733. package/plugins/filters/component/operators.js +222 -0
  734. package/plugins/filters/component/operators.mjs +216 -0
  735. package/plugins/filters/component/value.js +278 -0
  736. package/plugins/filters/component/value.mjs +269 -0
  737. package/plugins/filters/condition/beginsWith.js +50 -0
  738. package/plugins/filters/condition/beginsWith.mjs +39 -0
  739. package/plugins/filters/condition/between.js +64 -0
  740. package/plugins/filters/condition/between.mjs +53 -0
  741. package/plugins/filters/condition/byValue.js +48 -0
  742. package/plugins/filters/condition/byValue.mjs +42 -0
  743. package/plugins/filters/condition/contains.js +50 -0
  744. package/plugins/filters/condition/contains.mjs +39 -0
  745. package/plugins/filters/condition/date/after.js +55 -0
  746. package/plugins/filters/condition/date/after.mjs +43 -0
  747. package/plugins/filters/condition/date/before.js +55 -0
  748. package/plugins/filters/condition/date/before.mjs +43 -0
  749. package/plugins/filters/condition/date/today.js +39 -0
  750. package/plugins/filters/condition/date/today.mjs +20 -0
  751. package/plugins/filters/condition/date/tomorrow.js +39 -0
  752. package/plugins/filters/condition/date/tomorrow.mjs +20 -0
  753. package/plugins/filters/condition/date/yesterday.js +39 -0
  754. package/plugins/filters/condition/date/yesterday.mjs +20 -0
  755. package/plugins/filters/condition/empty.js +35 -0
  756. package/plugins/filters/condition/empty.mjs +17 -0
  757. package/plugins/filters/condition/endsWith.js +50 -0
  758. package/plugins/filters/condition/endsWith.mjs +39 -0
  759. package/plugins/filters/condition/equal.js +49 -0
  760. package/plugins/filters/condition/equal.mjs +38 -0
  761. package/plugins/filters/condition/false.js +18 -0
  762. package/plugins/filters/condition/false.mjs +12 -0
  763. package/plugins/filters/condition/greaterThan.js +52 -0
  764. package/plugins/filters/condition/greaterThan.mjs +41 -0
  765. package/plugins/filters/condition/greaterThanOrEqual.js +52 -0
  766. package/plugins/filters/condition/greaterThanOrEqual.mjs +41 -0
  767. package/plugins/filters/condition/lessThan.js +52 -0
  768. package/plugins/filters/condition/lessThan.mjs +41 -0
  769. package/plugins/filters/condition/lessThanOrEqual.js +52 -0
  770. package/plugins/filters/condition/lessThanOrEqual.mjs +41 -0
  771. package/plugins/filters/condition/none.js +33 -0
  772. package/plugins/filters/condition/none.mjs +15 -0
  773. package/plugins/filters/condition/notBetween.js +36 -0
  774. package/plugins/filters/condition/notBetween.mjs +18 -0
  775. package/plugins/filters/condition/notContains.js +36 -0
  776. package/plugins/filters/condition/notContains.mjs +18 -0
  777. package/plugins/filters/condition/notEmpty.js +36 -0
  778. package/plugins/filters/condition/notEmpty.mjs +18 -0
  779. package/plugins/filters/condition/notEqual.js +36 -0
  780. package/plugins/filters/condition/notEqual.mjs +18 -0
  781. package/plugins/filters/condition/true.js +18 -0
  782. package/plugins/filters/condition/true.mjs +12 -0
  783. package/plugins/filters/conditionCollection.d.ts +32 -0
  784. package/plugins/filters/conditionCollection.js +343 -0
  785. package/plugins/filters/conditionCollection.mjs +337 -0
  786. package/plugins/filters/conditionRegisterer.js +61 -0
  787. package/plugins/filters/conditionRegisterer.mjs +53 -0
  788. package/plugins/filters/conditionUpdateObserver.d.ts +10 -0
  789. package/plugins/filters/conditionUpdateObserver.js +248 -0
  790. package/plugins/filters/conditionUpdateObserver.mjs +242 -0
  791. package/plugins/filters/constants.js +103 -0
  792. package/plugins/filters/constants.mjs +69 -0
  793. package/plugins/filters/dataFilter.js +98 -0
  794. package/plugins/filters/dataFilter.mjs +93 -0
  795. package/plugins/filters/filters.d.ts +56 -0
  796. package/plugins/filters/filters.js +1037 -0
  797. package/plugins/filters/filters.mjs +1026 -0
  798. package/plugins/filters/index.d.ts +1 -0
  799. package/plugins/filters/index.js +8 -0
  800. package/plugins/filters/index.mjs +1 -0
  801. package/plugins/filters/logicalOperationRegisterer.js +50 -0
  802. package/plugins/filters/logicalOperationRegisterer.mjs +42 -0
  803. package/plugins/filters/logicalOperations/conjunction.js +36 -0
  804. package/plugins/filters/logicalOperations/conjunction.mjs +18 -0
  805. package/plugins/filters/logicalOperations/disjunction.js +36 -0
  806. package/plugins/filters/logicalOperations/disjunction.mjs +18 -0
  807. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +40 -0
  808. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +22 -0
  809. package/plugins/filters/ui/_base.js +249 -0
  810. package/plugins/filters/ui/_base.mjs +231 -0
  811. package/plugins/filters/ui/input.js +140 -0
  812. package/plugins/filters/ui/input.mjs +134 -0
  813. package/plugins/filters/ui/link.js +86 -0
  814. package/plugins/filters/ui/link.mjs +80 -0
  815. package/plugins/filters/ui/multipleSelect.js +441 -0
  816. package/plugins/filters/ui/multipleSelect.mjs +434 -0
  817. package/plugins/filters/ui/radioInput.js +130 -0
  818. package/plugins/filters/ui/radioInput.mjs +124 -0
  819. package/plugins/filters/ui/select.js +269 -0
  820. package/plugins/filters/ui/select.mjs +261 -0
  821. package/plugins/filters/utils.js +143 -0
  822. package/plugins/filters/utils.mjs +134 -0
  823. package/plugins/formulas/engine/register.js +259 -0
  824. package/plugins/formulas/engine/register.mjs +247 -0
  825. package/plugins/formulas/engine/settings.js +115 -0
  826. package/plugins/formulas/engine/settings.mjs +107 -0
  827. package/plugins/formulas/formulas.d.ts +31 -0
  828. package/plugins/formulas/formulas.js +1229 -0
  829. package/plugins/formulas/formulas.mjs +1221 -0
  830. package/plugins/formulas/index.d.ts +1 -0
  831. package/plugins/formulas/index.js +8 -0
  832. package/plugins/formulas/index.mjs +1 -0
  833. package/plugins/formulas/utils.js +24 -0
  834. package/plugins/formulas/utils.mjs +19 -0
  835. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +76 -0
  836. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +67 -0
  837. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +124 -0
  838. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +115 -0
  839. package/plugins/hiddenColumns/hiddenColumns.d.ts +21 -0
  840. package/plugins/hiddenColumns/hiddenColumns.js +620 -0
  841. package/plugins/hiddenColumns/hiddenColumns.mjs +612 -0
  842. package/plugins/hiddenColumns/index.d.ts +1 -0
  843. package/plugins/hiddenColumns/index.js +8 -0
  844. package/plugins/hiddenColumns/index.mjs +1 -0
  845. package/plugins/hiddenRows/contextMenuItem/hideRow.js +76 -0
  846. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +67 -0
  847. package/plugins/hiddenRows/contextMenuItem/showRow.js +124 -0
  848. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +115 -0
  849. package/plugins/hiddenRows/hiddenRows.d.ts +21 -0
  850. package/plugins/hiddenRows/hiddenRows.js +612 -0
  851. package/plugins/hiddenRows/hiddenRows.mjs +604 -0
  852. package/plugins/hiddenRows/index.d.ts +1 -0
  853. package/plugins/hiddenRows/index.js +8 -0
  854. package/plugins/hiddenRows/index.mjs +1 -0
  855. package/plugins/index.d.ts +111 -0
  856. package/plugins/index.js +115 -0
  857. package/plugins/index.mjs +75 -0
  858. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +58 -0
  859. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +49 -0
  860. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +58 -0
  861. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +49 -0
  862. package/plugins/manualColumnFreeze/index.d.ts +1 -0
  863. package/plugins/manualColumnFreeze/index.js +8 -0
  864. package/plugins/manualColumnFreeze/index.mjs +1 -0
  865. package/plugins/manualColumnFreeze/manualColumnFreeze.d.ts +11 -0
  866. package/plugins/manualColumnFreeze/manualColumnFreeze.js +250 -0
  867. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +242 -0
  868. package/plugins/manualColumnMove/index.d.ts +1 -0
  869. package/plugins/manualColumnMove/index.js +8 -0
  870. package/plugins/manualColumnMove/index.mjs +1 -0
  871. package/plugins/manualColumnMove/manualColumnMove.d.ts +14 -0
  872. package/plugins/manualColumnMove/manualColumnMove.js +775 -0
  873. package/plugins/manualColumnMove/manualColumnMove.mjs +767 -0
  874. package/plugins/manualColumnMove/ui/_base.js +209 -0
  875. package/plugins/manualColumnMove/ui/_base.mjs +204 -0
  876. package/plugins/manualColumnMove/ui/backlight.js +60 -0
  877. package/plugins/manualColumnMove/ui/backlight.mjs +54 -0
  878. package/plugins/manualColumnMove/ui/guideline.js +60 -0
  879. package/plugins/manualColumnMove/ui/guideline.mjs +54 -0
  880. package/plugins/manualColumnResize/index.d.ts +1 -0
  881. package/plugins/manualColumnResize/index.js +8 -0
  882. package/plugins/manualColumnResize/index.mjs +1 -0
  883. package/plugins/manualColumnResize/manualColumnResize.d.ts +30 -0
  884. package/plugins/manualColumnResize/manualColumnResize.js +690 -0
  885. package/plugins/manualColumnResize/manualColumnResize.mjs +680 -0
  886. package/plugins/manualRowMove/index.d.ts +1 -0
  887. package/plugins/manualRowMove/index.js +8 -0
  888. package/plugins/manualRowMove/index.mjs +1 -0
  889. package/plugins/manualRowMove/manualRowMove.d.ts +14 -0
  890. package/plugins/manualRowMove/manualRowMove.js +757 -0
  891. package/plugins/manualRowMove/manualRowMove.mjs +749 -0
  892. package/plugins/manualRowMove/ui/_base.js +196 -0
  893. package/plugins/manualRowMove/ui/_base.mjs +191 -0
  894. package/plugins/manualRowMove/ui/backlight.js +60 -0
  895. package/plugins/manualRowMove/ui/backlight.mjs +54 -0
  896. package/plugins/manualRowMove/ui/guideline.js +60 -0
  897. package/plugins/manualRowMove/ui/guideline.mjs +54 -0
  898. package/plugins/manualRowResize/index.d.ts +1 -0
  899. package/plugins/manualRowResize/index.js +8 -0
  900. package/plugins/manualRowResize/index.mjs +1 -0
  901. package/plugins/manualRowResize/manualRowResize.d.ts +29 -0
  902. package/plugins/manualRowResize/manualRowResize.js +652 -0
  903. package/plugins/manualRowResize/manualRowResize.mjs +642 -0
  904. package/plugins/mergeCells/calculations/autofill.js +464 -0
  905. package/plugins/mergeCells/calculations/autofill.mjs +459 -0
  906. package/plugins/mergeCells/calculations/selection.js +204 -0
  907. package/plugins/mergeCells/calculations/selection.mjs +199 -0
  908. package/plugins/mergeCells/cellCoords.js +347 -0
  909. package/plugins/mergeCells/cellCoords.mjs +342 -0
  910. package/plugins/mergeCells/cellsCollection.js +344 -0
  911. package/plugins/mergeCells/cellsCollection.mjs +338 -0
  912. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +55 -0
  913. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +38 -0
  914. package/plugins/mergeCells/index.d.ts +1 -0
  915. package/plugins/mergeCells/index.js +8 -0
  916. package/plugins/mergeCells/index.mjs +1 -0
  917. package/plugins/mergeCells/mergeCells.d.ts +22 -0
  918. package/plugins/mergeCells/mergeCells.js +1290 -0
  919. package/plugins/mergeCells/mergeCells.mjs +1282 -0
  920. package/plugins/mergeCells/utils.js +30 -0
  921. package/plugins/mergeCells/utils.mjs +26 -0
  922. package/plugins/multiColumnSorting/domHelpers.js +44 -0
  923. package/plugins/multiColumnSorting/domHelpers.mjs +39 -0
  924. package/plugins/multiColumnSorting/index.d.ts +1 -0
  925. package/plugins/multiColumnSorting/index.js +8 -0
  926. package/plugins/multiColumnSorting/index.mjs +1 -0
  927. package/plugins/multiColumnSorting/multiColumnSorting.d.ts +8 -0
  928. package/plugins/multiColumnSorting/multiColumnSorting.js +336 -0
  929. package/plugins/multiColumnSorting/multiColumnSorting.mjs +329 -0
  930. package/plugins/multiColumnSorting/rootComparator.js +55 -0
  931. package/plugins/multiColumnSorting/rootComparator.mjs +51 -0
  932. package/plugins/multiColumnSorting/utils.js +16 -0
  933. package/plugins/multiColumnSorting/utils.mjs +12 -0
  934. package/plugins/multipleSelectionHandles/index.d.ts +1 -0
  935. package/plugins/multipleSelectionHandles/index.js +8 -0
  936. package/plugins/multipleSelectionHandles/index.mjs +1 -0
  937. package/plugins/multipleSelectionHandles/multipleSelectionHandles.d.ts +21 -0
  938. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +394 -0
  939. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +386 -0
  940. package/plugins/nestedHeaders/index.d.ts +1 -0
  941. package/plugins/nestedHeaders/index.js +8 -0
  942. package/plugins/nestedHeaders/index.mjs +1 -0
  943. package/plugins/nestedHeaders/nestedHeaders.d.ts +17 -0
  944. package/plugins/nestedHeaders/nestedHeaders.js +666 -0
  945. package/plugins/nestedHeaders/nestedHeaders.mjs +658 -0
  946. package/plugins/nestedHeaders/stateManager/headersTree.js +288 -0
  947. package/plugins/nestedHeaders/stateManager/headersTree.mjs +283 -0
  948. package/plugins/nestedHeaders/stateManager/index.js +417 -0
  949. package/plugins/nestedHeaders/stateManager/index.mjs +412 -0
  950. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +102 -0
  951. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +99 -0
  952. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +98 -0
  953. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +94 -0
  954. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +95 -0
  955. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +91 -0
  956. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +54 -0
  957. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +50 -0
  958. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +40 -0
  959. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +35 -0
  960. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +55 -0
  961. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +51 -0
  962. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +61 -0
  963. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +55 -0
  964. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +122 -0
  965. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +119 -0
  966. package/plugins/nestedHeaders/stateManager/sourceSettings.js +250 -0
  967. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +245 -0
  968. package/plugins/nestedHeaders/stateManager/utils.js +75 -0
  969. package/plugins/nestedHeaders/stateManager/utils.mjs +70 -0
  970. package/plugins/nestedHeaders/utils/ghostTable.js +167 -0
  971. package/plugins/nestedHeaders/utils/ghostTable.mjs +162 -0
  972. package/plugins/nestedRows/data/dataManager.js +809 -0
  973. package/plugins/nestedRows/data/dataManager.mjs +804 -0
  974. package/plugins/nestedRows/index.d.ts +1 -0
  975. package/plugins/nestedRows/index.js +8 -0
  976. package/plugins/nestedRows/index.mjs +1 -0
  977. package/plugins/nestedRows/nestedRows.d.ts +12 -0
  978. package/plugins/nestedRows/nestedRows.js +592 -0
  979. package/plugins/nestedRows/nestedRows.mjs +584 -0
  980. package/plugins/nestedRows/ui/_base.js +28 -0
  981. package/plugins/nestedRows/ui/_base.mjs +23 -0
  982. package/plugins/nestedRows/ui/collapsing.js +562 -0
  983. package/plugins/nestedRows/ui/collapsing.mjs +556 -0
  984. package/plugins/nestedRows/ui/contextMenu.js +147 -0
  985. package/plugins/nestedRows/ui/contextMenu.mjs +138 -0
  986. package/plugins/nestedRows/ui/headers.js +157 -0
  987. package/plugins/nestedRows/ui/headers.mjs +151 -0
  988. package/plugins/nestedRows/utils/rowMoveController.js +331 -0
  989. package/plugins/nestedRows/utils/rowMoveController.mjs +327 -0
  990. package/plugins/persistentState/index.d.ts +1 -0
  991. package/plugins/persistentState/index.js +8 -0
  992. package/plugins/persistentState/index.mjs +1 -0
  993. package/plugins/persistentState/persistentState.d.ts +13 -0
  994. package/plugins/persistentState/persistentState.js +207 -0
  995. package/plugins/persistentState/persistentState.mjs +199 -0
  996. package/plugins/persistentState/storage.js +138 -0
  997. package/plugins/persistentState/storage.mjs +133 -0
  998. package/plugins/registry.d.ts +9 -0
  999. package/plugins/registry.js +150 -0
  1000. package/plugins/registry.mjs +146 -0
  1001. package/plugins/search/index.d.ts +1 -0
  1002. package/plugins/search/index.js +8 -0
  1003. package/plugins/search/index.mjs +1 -0
  1004. package/plugins/search/search.d.ts +28 -0
  1005. package/plugins/search/search.js +377 -0
  1006. package/plugins/search/search.mjs +370 -0
  1007. package/plugins/touchScroll/index.d.ts +1 -0
  1008. package/plugins/touchScroll/index.js +8 -0
  1009. package/plugins/touchScroll/index.mjs +1 -0
  1010. package/plugins/touchScroll/touchScroll.d.ts +13 -0
  1011. package/plugins/touchScroll/touchScroll.js +250 -0
  1012. package/plugins/touchScroll/touchScroll.mjs +243 -0
  1013. package/plugins/trimRows/index.d.ts +1 -0
  1014. package/plugins/trimRows/index.js +8 -0
  1015. package/plugins/trimRows/index.mjs +1 -0
  1016. package/plugins/trimRows/trimRows.d.ts +17 -0
  1017. package/plugins/trimRows/trimRows.js +393 -0
  1018. package/plugins/trimRows/trimRows.mjs +386 -0
  1019. package/plugins/undoRedo/index.d.ts +1 -0
  1020. package/plugins/undoRedo/index.js +18 -0
  1021. package/plugins/undoRedo/index.mjs +2 -0
  1022. package/plugins/undoRedo/undoRedo.d.ts +49 -0
  1023. package/plugins/undoRedo/undoRedo.js +935 -0
  1024. package/plugins/undoRedo/undoRedo.mjs +928 -0
  1025. package/registry.d.ts +6 -0
  1026. package/registry.js +35 -0
  1027. package/registry.mjs +26 -0
  1028. package/renderers/autocompleteRenderer/autocompleteRenderer.d.ts +5 -0
  1029. package/renderers/autocompleteRenderer/autocompleteRenderer.js +59 -0
  1030. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +52 -0
  1031. package/renderers/autocompleteRenderer/index.d.ts +1 -0
  1032. package/renderers/autocompleteRenderer/index.js +7 -0
  1033. package/renderers/autocompleteRenderer/index.mjs +1 -0
  1034. package/renderers/base.d.ts +3 -0
  1035. package/renderers/baseRenderer/baseRenderer.d.ts +5 -0
  1036. package/renderers/baseRenderer/baseRenderer.js +46 -0
  1037. package/renderers/baseRenderer/baseRenderer.mjs +39 -0
  1038. package/renderers/baseRenderer/index.d.ts +1 -0
  1039. package/renderers/baseRenderer/index.js +7 -0
  1040. package/renderers/baseRenderer/index.mjs +1 -0
  1041. package/renderers/checkboxRenderer/checkboxRenderer.d.ts +5 -0
  1042. package/renderers/checkboxRenderer/checkboxRenderer.js +398 -0
  1043. package/renderers/checkboxRenderer/checkboxRenderer.mjs +391 -0
  1044. package/renderers/checkboxRenderer/index.d.ts +1 -0
  1045. package/renderers/checkboxRenderer/index.js +7 -0
  1046. package/renderers/checkboxRenderer/index.mjs +1 -0
  1047. package/renderers/htmlRenderer/htmlRenderer.d.ts +5 -0
  1048. package/renderers/htmlRenderer/htmlRenderer.js +25 -0
  1049. package/renderers/htmlRenderer/htmlRenderer.mjs +19 -0
  1050. package/renderers/htmlRenderer/index.d.ts +1 -0
  1051. package/renderers/htmlRenderer/index.js +7 -0
  1052. package/renderers/htmlRenderer/index.mjs +1 -0
  1053. package/renderers/index.d.ts +45 -0
  1054. package/renderers/index.js +48 -0
  1055. package/renderers/index.mjs +24 -0
  1056. package/renderers/numericRenderer/index.d.ts +1 -0
  1057. package/renderers/numericRenderer/index.js +7 -0
  1058. package/renderers/numericRenderer/index.mjs +1 -0
  1059. package/renderers/numericRenderer/numericRenderer.d.ts +5 -0
  1060. package/renderers/numericRenderer/numericRenderer.js +57 -0
  1061. package/renderers/numericRenderer/numericRenderer.mjs +50 -0
  1062. package/renderers/passwordRenderer/index.d.ts +1 -0
  1063. package/renderers/passwordRenderer/index.js +7 -0
  1064. package/renderers/passwordRenderer/index.mjs +1 -0
  1065. package/renderers/passwordRenderer/passwordRenderer.d.ts +5 -0
  1066. package/renderers/passwordRenderer/passwordRenderer.js +32 -0
  1067. package/renderers/passwordRenderer/passwordRenderer.mjs +26 -0
  1068. package/renderers/registry.d.ts +18 -0
  1069. package/renderers/registry.js +48 -0
  1070. package/renderers/registry.mjs +38 -0
  1071. package/renderers/textRenderer/index.d.ts +1 -0
  1072. package/renderers/textRenderer/index.js +7 -0
  1073. package/renderers/textRenderer/index.mjs +1 -0
  1074. package/renderers/textRenderer/textRenderer.d.ts +5 -0
  1075. package/renderers/textRenderer/textRenderer.js +48 -0
  1076. package/renderers/textRenderer/textRenderer.mjs +42 -0
  1077. package/renderers/timeRenderer/index.d.ts +1 -0
  1078. package/renderers/timeRenderer/index.js +7 -0
  1079. package/renderers/timeRenderer/index.mjs +1 -0
  1080. package/renderers/timeRenderer/timeRenderer.d.ts +5 -0
  1081. package/renderers/timeRenderer/timeRenderer.js +26 -0
  1082. package/renderers/timeRenderer/timeRenderer.mjs +20 -0
  1083. package/selection/highlight/constants.js +16 -0
  1084. package/selection/highlight/constants.mjs +6 -0
  1085. package/selection/highlight/highlight.js +330 -0
  1086. package/selection/highlight/highlight.mjs +325 -0
  1087. package/selection/highlight/types/activeHeader.js +38 -0
  1088. package/selection/highlight/types/activeHeader.mjs +32 -0
  1089. package/selection/highlight/types/area.js +49 -0
  1090. package/selection/highlight/types/area.mjs +43 -0
  1091. package/selection/highlight/types/cell.js +46 -0
  1092. package/selection/highlight/types/cell.mjs +40 -0
  1093. package/selection/highlight/types/customSelection.js +41 -0
  1094. package/selection/highlight/types/customSelection.mjs +35 -0
  1095. package/selection/highlight/types/fill.js +41 -0
  1096. package/selection/highlight/types/fill.mjs +35 -0
  1097. package/selection/highlight/types/header.js +49 -0
  1098. package/selection/highlight/types/header.mjs +43 -0
  1099. package/selection/highlight/types/index.js +43 -0
  1100. package/selection/highlight/types/index.mjs +39 -0
  1101. package/selection/highlight/visualSelection.js +277 -0
  1102. package/selection/highlight/visualSelection.mjs +272 -0
  1103. package/selection/index.d.ts +5 -0
  1104. package/selection/index.js +30 -0
  1105. package/selection/index.mjs +6 -0
  1106. package/selection/mouseEventHandler.js +135 -0
  1107. package/selection/mouseEventHandler.mjs +129 -0
  1108. package/selection/range.js +173 -0
  1109. package/selection/range.mjs +168 -0
  1110. package/selection/selection.js +802 -0
  1111. package/selection/selection.mjs +796 -0
  1112. package/selection/transformation.js +169 -0
  1113. package/selection/transformation.mjs +163 -0
  1114. package/selection/utils.js +256 -0
  1115. package/selection/utils.mjs +242 -0
  1116. package/settings.d.ts +210 -0
  1117. package/shortcuts/context.d.ts +20 -0
  1118. package/shortcuts/context.js +241 -0
  1119. package/shortcuts/context.mjs +236 -0
  1120. package/shortcuts/index.d.ts +1 -0
  1121. package/shortcuts/index.js +6 -0
  1122. package/shortcuts/index.mjs +1 -0
  1123. package/shortcuts/keyObserver.js +58 -0
  1124. package/shortcuts/keyObserver.mjs +54 -0
  1125. package/shortcuts/manager.d.ts +10 -0
  1126. package/shortcuts/manager.js +165 -0
  1127. package/shortcuts/manager.mjs +159 -0
  1128. package/shortcuts/recorder.js +165 -0
  1129. package/shortcuts/recorder.mjs +161 -0
  1130. package/shortcuts/utils.js +58 -0
  1131. package/shortcuts/utils.mjs +51 -0
  1132. package/tableView.js +1313 -0
  1133. package/tableView.mjs +1307 -0
  1134. package/translations/changesObservable/observable.js +175 -0
  1135. package/translations/changesObservable/observable.mjs +170 -0
  1136. package/translations/changesObservable/observer.js +100 -0
  1137. package/translations/changesObservable/observer.mjs +94 -0
  1138. package/translations/changesObservable/utils.js +50 -0
  1139. package/translations/changesObservable/utils.mjs +46 -0
  1140. package/translations/index.d.ts +1 -0
  1141. package/translations/index.js +29 -0
  1142. package/translations/index.mjs +4 -0
  1143. package/translations/indexMapper.d.ts +48 -0
  1144. package/translations/indexMapper.js +865 -0
  1145. package/translations/indexMapper.mjs +859 -0
  1146. package/translations/mapCollections/aggregatedCollection.js +139 -0
  1147. package/translations/mapCollections/aggregatedCollection.mjs +134 -0
  1148. package/translations/mapCollections/index.js +18 -0
  1149. package/translations/mapCollections/index.mjs +2 -0
  1150. package/translations/mapCollections/mapCollection.js +164 -0
  1151. package/translations/mapCollections/mapCollection.mjs +156 -0
  1152. package/translations/maps/hidingMap.js +63 -0
  1153. package/translations/maps/hidingMap.mjs +58 -0
  1154. package/translations/maps/index.js +59 -0
  1155. package/translations/maps/index.mjs +29 -0
  1156. package/translations/maps/indexMap.d.ts +10 -0
  1157. package/translations/maps/indexMap.js +203 -0
  1158. package/translations/maps/indexMap.mjs +197 -0
  1159. package/translations/maps/indexesSequence.js +82 -0
  1160. package/translations/maps/indexesSequence.mjs +77 -0
  1161. package/translations/maps/linkedPhysicalIndexToValueMap.js +216 -0
  1162. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +211 -0
  1163. package/translations/maps/physicalIndexToValueMap.js +76 -0
  1164. package/translations/maps/physicalIndexToValueMap.mjs +71 -0
  1165. package/translations/maps/trimmingMap.js +63 -0
  1166. package/translations/maps/trimmingMap.mjs +58 -0
  1167. package/translations/maps/utils/actionsOnIndexes.js +42 -0
  1168. package/translations/maps/utils/actionsOnIndexes.mjs +37 -0
  1169. package/translations/maps/utils/index.js +28 -0
  1170. package/translations/maps/utils/index.mjs +22 -0
  1171. package/translations/maps/utils/indexesSequence.js +52 -0
  1172. package/translations/maps/utils/indexesSequence.mjs +47 -0
  1173. package/translations/maps/utils/physicallyIndexed.js +61 -0
  1174. package/translations/maps/utils/physicallyIndexed.mjs +56 -0
  1175. package/utils/dataStructures/linkedList.js +263 -0
  1176. package/utils/dataStructures/linkedList.mjs +258 -0
  1177. package/utils/dataStructures/priorityMap.js +106 -0
  1178. package/utils/dataStructures/priorityMap.mjs +99 -0
  1179. package/utils/dataStructures/queue.js +83 -0
  1180. package/utils/dataStructures/queue.mjs +78 -0
  1181. package/utils/dataStructures/stack.js +83 -0
  1182. package/utils/dataStructures/stack.mjs +78 -0
  1183. package/utils/dataStructures/tree.js +254 -0
  1184. package/utils/dataStructures/tree.mjs +246 -0
  1185. package/utils/dataStructures/uniqueMap.js +144 -0
  1186. package/utils/dataStructures/uniqueMap.mjs +140 -0
  1187. package/utils/dataStructures/uniqueSet.js +78 -0
  1188. package/utils/dataStructures/uniqueSet.mjs +74 -0
  1189. package/utils/ghostTable.js +536 -0
  1190. package/utils/ghostTable.mjs +531 -0
  1191. package/utils/interval.js +134 -0
  1192. package/utils/interval.mjs +129 -0
  1193. package/utils/parseTable.d.ts +5 -0
  1194. package/utils/parseTable.js +305 -0
  1195. package/utils/parseTable.mjs +299 -0
  1196. package/utils/rootInstance.js +48 -0
  1197. package/utils/rootInstance.mjs +38 -0
  1198. package/utils/samplesGenerator.js +210 -0
  1199. package/utils/samplesGenerator.mjs +205 -0
  1200. package/utils/staticRegister.js +92 -0
  1201. package/utils/staticRegister.mjs +86 -0
  1202. package/validators/autocompleteValidator/autocompleteValidator.d.ts +5 -0
  1203. package/validators/autocompleteValidator/autocompleteValidator.js +56 -0
  1204. package/validators/autocompleteValidator/autocompleteValidator.mjs +50 -0
  1205. package/validators/autocompleteValidator/index.d.ts +1 -0
  1206. package/validators/autocompleteValidator/index.js +7 -0
  1207. package/validators/autocompleteValidator/index.mjs +1 -0
  1208. package/validators/base.d.ts +6 -0
  1209. package/validators/dateValidator/dateValidator.d.ts +5 -0
  1210. package/validators/dateValidator/dateValidator.js +77 -0
  1211. package/validators/dateValidator/dateValidator.mjs +69 -0
  1212. package/validators/dateValidator/index.d.ts +1 -0
  1213. package/validators/dateValidator/index.js +8 -0
  1214. package/validators/dateValidator/index.mjs +1 -0
  1215. package/validators/index.d.ts +33 -0
  1216. package/validators/index.js +32 -0
  1217. package/validators/index.mjs +16 -0
  1218. package/validators/numericValidator/index.d.ts +1 -0
  1219. package/validators/numericValidator/index.js +7 -0
  1220. package/validators/numericValidator/index.mjs +1 -0
  1221. package/validators/numericValidator/numericValidator.d.ts +5 -0
  1222. package/validators/numericValidator/numericValidator.js +30 -0
  1223. package/validators/numericValidator/numericValidator.mjs +24 -0
  1224. package/validators/registry.d.ts +18 -0
  1225. package/validators/registry.js +48 -0
  1226. package/validators/registry.mjs +38 -0
  1227. package/validators/timeValidator/index.d.ts +1 -0
  1228. package/validators/timeValidator/index.js +7 -0
  1229. package/validators/timeValidator/index.mjs +1 -0
  1230. package/validators/timeValidator/timeValidator.d.ts +5 -0
  1231. package/validators/timeValidator/timeValidator.js +66 -0
  1232. package/validators/timeValidator/timeValidator.mjs +60 -0
@@ -0,0 +1,1064 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ 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); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ 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; }
7
+ import "core-js/modules/es.object.get-prototype-of.js";
8
+ import "core-js/modules/es.array.includes.js";
9
+ import "core-js/modules/es.string.includes.js";
10
+ import "core-js/modules/es.array.slice.js";
11
+ import "core-js/modules/es.array.index-of.js";
12
+ import "core-js/modules/es.array.filter.js";
13
+ import "core-js/modules/es.object.to-string.js";
14
+ import "core-js/modules/es.regexp.constructor.js";
15
+ import "core-js/modules/es.regexp.exec.js";
16
+ import "core-js/modules/es.regexp.to-string.js";
17
+ import "core-js/modules/es.array.join.js";
18
+ import "core-js/modules/es.string.trim.js";
19
+ import "core-js/modules/es.string.replace.js";
20
+ import "core-js/modules/es.array.concat.js";
21
+ import "core-js/modules/es.symbol.js";
22
+ import "core-js/modules/es.symbol.description.js";
23
+ import "core-js/modules/es.symbol.iterator.js";
24
+ import "core-js/modules/es.array.iterator.js";
25
+ import "core-js/modules/es.string.iterator.js";
26
+ import "core-js/modules/web.dom-collections.iterator.js";
27
+ import "core-js/modules/es.array.from.js";
28
+ import "core-js/modules/es.function.name.js";
29
+ import { hasCaptionProblem, isClassListSupported, isTextContentSupported, isGetComputedStyleSupported } from "../feature.mjs";
30
+ import { isSafari, isIE9 } from "../browser.mjs";
31
+ import { sanitize } from "../string.mjs";
32
+ /**
33
+ * Get the parent of the specified node in the DOM tree.
34
+ *
35
+ * @param {HTMLElement} element Element from which traversing is started.
36
+ * @param {number} [level=0] Traversing deep level.
37
+ * @returns {HTMLElement|null}
38
+ */
39
+ export function getParent(element) {
40
+ var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
41
+ var iteration = -1;
42
+ var parent = null;
43
+ var elementToCheck = element;
44
+ while (elementToCheck !== null) {
45
+ if (iteration === level) {
46
+ parent = elementToCheck;
47
+ break;
48
+ }
49
+ if (elementToCheck.host && elementToCheck.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
50
+ elementToCheck = elementToCheck.host;
51
+ } else {
52
+ iteration += 1;
53
+ elementToCheck = elementToCheck.parentNode;
54
+ }
55
+ }
56
+ return parent;
57
+ }
58
+
59
+ /**
60
+ * Gets `frameElement` of the specified frame. Returns null if it is a top frame or if script has no access to read property.
61
+ *
62
+ * @param {Window} frame Frame from which should be get frameElement in safe way.
63
+ * @returns {HTMLIFrameElement|null}
64
+ */
65
+ export function getFrameElement(frame) {
66
+ return Object.getPrototypeOf(frame.parent) && frame.frameElement;
67
+ }
68
+
69
+ /**
70
+ * Gets parent frame of the specified frame. Returns null if it is a top frame or if script has no access to read property.
71
+ *
72
+ * @param {Window} frame Frame from which should be get frameElement in safe way.
73
+ * @returns {Window|null}
74
+ */
75
+ export function getParentWindow(frame) {
76
+ return getFrameElement(frame) && frame.parent;
77
+ }
78
+
79
+ /**
80
+ * Checks if script has access to read from parent frame of specified frame.
81
+ *
82
+ * @param {Window} frame Frame from which should be get frameElement in safe way.
83
+ * @returns {boolean}
84
+ */
85
+ export function hasAccessToParentWindow(frame) {
86
+ return !!Object.getPrototypeOf(frame.parent);
87
+ }
88
+
89
+ /**
90
+ * Goes up the DOM tree (including given element) until it finds an parent element that matches the nodes or nodes name.
91
+ * This method goes up through web components.
92
+ *
93
+ * @param {Node} element Element from which traversing is started.
94
+ * @param {Array<string|Node>} [nodes] Array of elements or Array of elements name (in uppercase form).
95
+ * @param {Node} [until] The element until the traversing ends.
96
+ * @returns {Node|null}
97
+ */
98
+ export function closest(element) {
99
+ var nodes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
100
+ var until = arguments.length > 2 ? arguments[2] : undefined;
101
+ var _Node = Node,
102
+ ELEMENT_NODE = _Node.ELEMENT_NODE,
103
+ DOCUMENT_FRAGMENT_NODE = _Node.DOCUMENT_FRAGMENT_NODE;
104
+ var elementToCheck = element;
105
+ while (elementToCheck !== null && elementToCheck !== void 0 && elementToCheck !== until) {
106
+ var _elementToCheck = elementToCheck,
107
+ nodeType = _elementToCheck.nodeType,
108
+ nodeName = _elementToCheck.nodeName;
109
+ if (nodeType === ELEMENT_NODE && (nodes.includes(nodeName) || nodes.includes(elementToCheck))) {
110
+ return elementToCheck;
111
+ }
112
+ var _elementToCheck2 = elementToCheck,
113
+ host = _elementToCheck2.host;
114
+ if (host && nodeType === DOCUMENT_FRAGMENT_NODE) {
115
+ elementToCheck = host;
116
+ } else {
117
+ elementToCheck = elementToCheck.parentNode;
118
+ }
119
+ }
120
+ return null;
121
+ }
122
+
123
+ /**
124
+ * Goes "down" the DOM tree (including given element) until it finds an element that matches the nodes or nodes name.
125
+ *
126
+ * @param {HTMLElement} element Element from which traversing is started.
127
+ * @param {Array} nodes Array of elements or Array of elements name.
128
+ * @param {HTMLElement} [until] The list of elements until the traversing ends.
129
+ * @returns {HTMLElement|null}
130
+ */
131
+ export function closestDown(element, nodes, until) {
132
+ var matched = [];
133
+ var elementToCheck = element;
134
+ while (elementToCheck) {
135
+ elementToCheck = closest(elementToCheck, nodes, until);
136
+ if (!elementToCheck || until && !until.contains(elementToCheck)) {
137
+ break;
138
+ }
139
+ matched.push(elementToCheck);
140
+ if (elementToCheck.host && elementToCheck.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
141
+ elementToCheck = elementToCheck.host;
142
+ } else {
143
+ elementToCheck = elementToCheck.parentNode;
144
+ }
145
+ }
146
+ var length = matched.length;
147
+ return length ? matched[length - 1] : null;
148
+ }
149
+
150
+ /**
151
+ * Goes up the DOM tree and checks if element is child of another element.
152
+ *
153
+ * @param {HTMLElement} child Child element An element to check.
154
+ * @param {object|string} parent Parent element OR selector of the parent element.
155
+ * If string provided, function returns `true` for the first occurrence of element with that class.
156
+ * @returns {boolean}
157
+ */
158
+ export function isChildOf(child, parent) {
159
+ var node = child.parentNode;
160
+ var queriedParents = [];
161
+ if (typeof parent === 'string') {
162
+ if (child.defaultView) {
163
+ queriedParents = Array.prototype.slice.call(child.querySelectorAll(parent), 0);
164
+ } else {
165
+ queriedParents = Array.prototype.slice.call(child.ownerDocument.querySelectorAll(parent), 0);
166
+ }
167
+ } else {
168
+ queriedParents.push(parent);
169
+ }
170
+ while (node !== null) {
171
+ if (queriedParents.indexOf(node) > -1) {
172
+ return true;
173
+ }
174
+ node = node.parentNode;
175
+ }
176
+ return false;
177
+ }
178
+
179
+ /**
180
+ * Counts index of element within its parent.
181
+ * WARNING: for performance reasons, assumes there are only element nodes (no text nodes). This is true
182
+ * for Walkotnable, otherwise would need to check for nodeType or use previousElementSibling.
183
+ *
184
+ * @see http://jsperf.com/sibling-index/10
185
+ * @param {Element} element The element to check.
186
+ * @returns {number}
187
+ */
188
+ export function index(element) {
189
+ var i = 0;
190
+ var elementToCheck = element;
191
+ if (elementToCheck.previousSibling) {
192
+ /* eslint-disable no-cond-assign */
193
+ while (elementToCheck = elementToCheck.previousSibling) {
194
+ i += 1;
195
+ }
196
+ }
197
+ return i;
198
+ }
199
+
200
+ /**
201
+ * Check if the provided overlay contains the provided element.
202
+ *
203
+ * @param {string} overlayType The type of the overlay.
204
+ * @param {HTMLElement} element An element to check.
205
+ * @param {HTMLElement} root The root element.
206
+ * @returns {boolean}
207
+ */
208
+ export function overlayContainsElement(overlayType, element, root) {
209
+ var overlayElement = root.parentElement.querySelector(".ht_clone_".concat(overlayType));
210
+ return overlayElement ? overlayElement.contains(element) : null;
211
+ }
212
+ var _hasClass;
213
+ var _addClass;
214
+ var _removeClass;
215
+
216
+ /**
217
+ * @param {string} classNames The element "class" attribute string.
218
+ * @returns {string[]}
219
+ */
220
+ function filterEmptyClassNames(classNames) {
221
+ if (!classNames || !classNames.length) {
222
+ return [];
223
+ }
224
+ return classNames.filter(function (x) {
225
+ return !!x;
226
+ });
227
+ }
228
+ if (isClassListSupported()) {
229
+ var isSupportMultipleClassesArg = function isSupportMultipleClassesArg(rootDocument) {
230
+ var element = rootDocument.createElement('div');
231
+ element.classList.add('test', 'test2');
232
+ return element.classList.contains('test2');
233
+ };
234
+ _hasClass = function _hasClass(element, className) {
235
+ if (element.classList === void 0 || typeof className !== 'string' || className === '') {
236
+ return false;
237
+ }
238
+ return element.classList.contains(className);
239
+ };
240
+ _addClass = function _addClass(element, classes) {
241
+ var rootDocument = element.ownerDocument;
242
+ var className = classes;
243
+ if (typeof className === 'string') {
244
+ className = className.split(' ');
245
+ }
246
+ className = filterEmptyClassNames(className);
247
+ if (className.length > 0) {
248
+ if (isSupportMultipleClassesArg(rootDocument)) {
249
+ var _element$classList;
250
+ (_element$classList = element.classList).add.apply(_element$classList, _toConsumableArray(className));
251
+ } else {
252
+ var len = 0;
253
+ while (className[len]) {
254
+ element.classList.add(className[len]);
255
+ len += 1;
256
+ }
257
+ }
258
+ }
259
+ };
260
+ _removeClass = function _removeClass(element, classes) {
261
+ var rootDocument = element.ownerDocument;
262
+ var className = classes;
263
+ if (typeof className === 'string') {
264
+ className = className.split(' ');
265
+ }
266
+ className = filterEmptyClassNames(className);
267
+ if (className.length > 0) {
268
+ if (isSupportMultipleClassesArg(rootDocument)) {
269
+ var _element$classList2;
270
+ (_element$classList2 = element.classList).remove.apply(_element$classList2, _toConsumableArray(className));
271
+ } else {
272
+ var len = 0;
273
+ while (className[len]) {
274
+ element.classList.remove(className[len]);
275
+ len += 1;
276
+ }
277
+ }
278
+ }
279
+ };
280
+ } else {
281
+ var createClassNameRegExp = function createClassNameRegExp(className) {
282
+ return new RegExp("(\\s|^)".concat(className, "(\\s|$)"));
283
+ };
284
+ _hasClass = function _hasClass(element, className) {
285
+ // http://snipplr.com/view/3561/addclass-removeclass-hasclass/
286
+ return element.className !== void 0 && createClassNameRegExp(className).test(element.className);
287
+ };
288
+ _addClass = function _addClass(element, classes) {
289
+ var _className = element.className;
290
+ var className = classes;
291
+ if (typeof className === 'string') {
292
+ className = className.split(' ');
293
+ }
294
+ className = filterEmptyClassNames(className);
295
+ if (_className === '') {
296
+ _className = className.join(' ');
297
+ } else {
298
+ for (var len = 0; len < className.length; len++) {
299
+ if (className[len] && !createClassNameRegExp(className[len]).test(_className)) {
300
+ _className += " ".concat(className[len]);
301
+ }
302
+ }
303
+ }
304
+ element.className = _className;
305
+ };
306
+ _removeClass = function _removeClass(element, classes) {
307
+ var len = 0;
308
+ var _className = element.className;
309
+ var className = classes;
310
+ if (typeof className === 'string') {
311
+ className = className.split(' ');
312
+ }
313
+ className = filterEmptyClassNames(className);
314
+ while (className[len]) {
315
+ // String.prototype.trim is defined in polyfill.js
316
+ _className = _className.replace(createClassNameRegExp(className[len]), ' ').trim();
317
+ len += 1;
318
+ }
319
+ if (element.className !== _className) {
320
+ element.className = _className;
321
+ }
322
+ };
323
+ }
324
+
325
+ /**
326
+ * Checks if element has class name.
327
+ *
328
+ * @param {HTMLElement} element An element to check.
329
+ * @param {string} className Class name to check.
330
+ * @returns {boolean}
331
+ */
332
+ export function hasClass(element, className) {
333
+ return _hasClass(element, className);
334
+ }
335
+
336
+ /**
337
+ * Add class name to an element.
338
+ *
339
+ * @param {HTMLElement} element An element to process.
340
+ * @param {string|Array} className Class name as string or array of strings.
341
+ */
342
+ export function addClass(element, className) {
343
+ _addClass(element, className);
344
+ }
345
+
346
+ /**
347
+ * Remove class name from an element.
348
+ *
349
+ * @param {HTMLElement} element An element to process.
350
+ * @param {string|Array} className Class name as string or array of strings.
351
+ */
352
+ export function removeClass(element, className) {
353
+ _removeClass(element, className);
354
+ }
355
+
356
+ /**
357
+ * @param {HTMLElement} element An element from the text is removed.
358
+ */
359
+ export function removeTextNodes(element) {
360
+ if (element.nodeType === 3) {
361
+ element.parentNode.removeChild(element); // bye text nodes!
362
+ } else if (['TABLE', 'THEAD', 'TBODY', 'TFOOT', 'TR'].indexOf(element.nodeName) > -1) {
363
+ var childs = element.childNodes;
364
+ for (var i = childs.length - 1; i >= 0; i--) {
365
+ removeTextNodes(childs[i]);
366
+ }
367
+ }
368
+ }
369
+
370
+ /**
371
+ * Remove childs function
372
+ * WARNING - this doesn't unload events and data attached by jQuery
373
+ * http://jsperf.com/jquery-html-vs-empty-vs-innerhtml/9
374
+ * http://jsperf.com/jquery-html-vs-empty-vs-innerhtml/11 - no siginificant improvement with Chrome remove() method.
375
+ *
376
+ * @param {HTMLElement} element An element to clear.
377
+ */
378
+ export function empty(element) {
379
+ var child;
380
+
381
+ /* eslint-disable no-cond-assign */
382
+ while (child = element.lastChild) {
383
+ element.removeChild(child);
384
+ }
385
+ }
386
+ export var HTML_CHARACTERS = /(<(.*)>|&(.*);)/;
387
+
388
+ /**
389
+ * Insert content into element trying avoid innerHTML method.
390
+ *
391
+ * @param {HTMLElement} element An element to write into.
392
+ * @param {string} content The text to write.
393
+ * @param {boolean} [sanitizeContent=true] If `true`, the content will be sanitized before writing to the element.
394
+ */
395
+ export function fastInnerHTML(element, content) {
396
+ var sanitizeContent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
397
+ if (HTML_CHARACTERS.test(content)) {
398
+ element.innerHTML = sanitizeContent ? sanitize(content) : content;
399
+ } else {
400
+ fastInnerText(element, content);
401
+ }
402
+ }
403
+
404
+ /**
405
+ * Insert text content into element.
406
+ *
407
+ * @param {HTMLElement} element An element to write into.
408
+ * @param {string} content The text to write.
409
+ */
410
+ export function fastInnerText(element, content) {
411
+ var child = element.firstChild;
412
+ if (child && child.nodeType === 3 && child.nextSibling === null) {
413
+ // fast lane - replace existing text node
414
+
415
+ if (isTextContentSupported) {
416
+ // http://jsperf.com/replace-text-vs-reuse
417
+ child.textContent = content;
418
+ } else {
419
+ // http://jsperf.com/replace-text-vs-reuse
420
+ child.data = content;
421
+ }
422
+ } else {
423
+ // slow lane - empty element and insert a text node
424
+ empty(element);
425
+ element.appendChild(element.ownerDocument.createTextNode(content));
426
+ }
427
+ }
428
+
429
+ /**
430
+ * Returns true if element is attached to the DOM and visible, false otherwise.
431
+ *
432
+ * @param {HTMLElement} element An element to check.
433
+ * @returns {boolean}
434
+ */
435
+ export function isVisible(element) {
436
+ var documentElement = element.ownerDocument.documentElement;
437
+ var next = element;
438
+ while (next !== documentElement) {
439
+ // until <html> reached
440
+ if (next === null) {
441
+ // parent detached from DOM
442
+ return false;
443
+ } else if (next.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
444
+ if (next.host) {
445
+ // this is Web Components Shadow DOM
446
+ // see: http://w3c.github.io/webcomponents/spec/shadow/#encapsulation
447
+ // according to spec, should be if (next.ownerDocument !== window.document), but that doesn't work yet
448
+ if (next.host.impl) {
449
+ // Chrome 33.0.1723.0 canary (2013-11-29) Web Platform features disabled
450
+ return isVisible(next.host.impl);
451
+ } else if (next.host) {
452
+ // Chrome 33.0.1723.0 canary (2013-11-29) Web Platform features enabled
453
+ return isVisible(next.host);
454
+ }
455
+ throw new Error('Lost in Web Components world');
456
+ } else {
457
+ return false; // this is a node detached from document in IE8
458
+ }
459
+ } else if (next.style && next.style.display === 'none') {
460
+ return false;
461
+ }
462
+ next = next.parentNode;
463
+ }
464
+ return true;
465
+ }
466
+
467
+ /**
468
+ * Returns elements top and left offset relative to the document. Function is not compatible with jQuery offset.
469
+ *
470
+ * @param {HTMLElement} element An element to get the offset position from.
471
+ * @returns {object} Returns object with `top` and `left` props.
472
+ */
473
+ export function offset(element) {
474
+ var rootDocument = element.ownerDocument;
475
+ var rootWindow = rootDocument.defaultView;
476
+ var documentElement = rootDocument.documentElement;
477
+ var elementToCheck = element;
478
+ var offsetLeft;
479
+ var offsetTop;
480
+ var lastElem;
481
+ var box;
482
+ if (hasCaptionProblem() && elementToCheck.firstChild && elementToCheck.firstChild.nodeName === 'CAPTION') {
483
+ // fixes problem with Firefox ignoring <caption> in TABLE offset (see also export outerHeight)
484
+ // http://jsperf.com/offset-vs-getboundingclientrect/8
485
+ box = elementToCheck.getBoundingClientRect();
486
+ return {
487
+ top: box.top + (rootWindow.pageYOffset || documentElement.scrollTop) - (documentElement.clientTop || 0),
488
+ left: box.left + (rootWindow.pageXOffset || documentElement.scrollLeft) - (documentElement.clientLeft || 0)
489
+ };
490
+ }
491
+ offsetLeft = elementToCheck.offsetLeft;
492
+ offsetTop = elementToCheck.offsetTop;
493
+ lastElem = elementToCheck;
494
+
495
+ /* eslint-disable no-cond-assign */
496
+ while (elementToCheck = elementToCheck.offsetParent) {
497
+ // from my observation, document.body always has scrollLeft/scrollTop == 0
498
+ if (elementToCheck === rootDocument.body) {
499
+ break;
500
+ }
501
+ offsetLeft += elementToCheck.offsetLeft;
502
+ offsetTop += elementToCheck.offsetTop;
503
+ lastElem = elementToCheck;
504
+ }
505
+
506
+ // slow - http://jsperf.com/offset-vs-getboundingclientrect/6
507
+ if (lastElem && lastElem.style.position === 'fixed') {
508
+ // if(lastElem !== document.body) { //faster but does gives false positive in Firefox
509
+ offsetLeft += rootWindow.pageXOffset || documentElement.scrollLeft;
510
+ offsetTop += rootWindow.pageYOffset || documentElement.scrollTop;
511
+ }
512
+ return {
513
+ left: offsetLeft,
514
+ top: offsetTop
515
+ };
516
+ }
517
+
518
+ /**
519
+ * Returns the document's scrollTop property.
520
+ *
521
+ * @param {Window} [rootWindow] The document window owner.
522
+ * @returns {number}
523
+ */
524
+ // eslint-disable-next-line no-restricted-globals
525
+ export function getWindowScrollTop() {
526
+ var rootWindow = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
527
+ var res = rootWindow.scrollY;
528
+ if (res === void 0) {
529
+ // IE8-11
530
+ res = rootWindow.document.documentElement.scrollTop;
531
+ }
532
+ return res;
533
+ }
534
+
535
+ /**
536
+ * Returns the document's scrollLeft property.
537
+ *
538
+ * @param {Window} [rootWindow] The document window owner.
539
+ * @returns {number}
540
+ */
541
+ // eslint-disable-next-line no-restricted-globals
542
+ export function getWindowScrollLeft() {
543
+ var rootWindow = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
544
+ var res = rootWindow.scrollX;
545
+ if (res === void 0) {
546
+ // IE8-11
547
+ res = rootWindow.document.documentElement.scrollLeft;
548
+ }
549
+ return res;
550
+ }
551
+
552
+ /**
553
+ * Returns the provided element's scrollTop property.
554
+ *
555
+ * @param {HTMLElement} element An element to get the scroll top position from.
556
+ * @param {Window} [rootWindow] The document window owner.
557
+ * @returns {number}
558
+ */
559
+ // eslint-disable-next-line no-restricted-globals
560
+ export function getScrollTop(element) {
561
+ var rootWindow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
562
+ if (element === rootWindow) {
563
+ return getWindowScrollTop(rootWindow);
564
+ }
565
+ return element.scrollTop;
566
+ }
567
+
568
+ /**
569
+ * Returns the provided element's scrollLeft property.
570
+ *
571
+ * @param {HTMLElement} element An element to get the scroll left position from.
572
+ * @param {Window} [rootWindow] The document window owner.
573
+ * @returns {number}
574
+ */
575
+ // eslint-disable-next-line no-restricted-globals
576
+ export function getScrollLeft(element) {
577
+ var rootWindow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
578
+ if (element === rootWindow) {
579
+ return getWindowScrollLeft(rootWindow);
580
+ }
581
+ return element.scrollLeft;
582
+ }
583
+
584
+ /**
585
+ * Returns a DOM element responsible for scrolling of the provided element.
586
+ *
587
+ * @param {HTMLElement} element An element to get the scrollable element from.
588
+ * @returns {HTMLElement} Element's scrollable parent.
589
+ */
590
+ export function getScrollableElement(element) {
591
+ var rootDocument = element.ownerDocument;
592
+ var rootWindow = rootDocument ? rootDocument.defaultView : void 0;
593
+ if (!rootDocument) {
594
+ rootDocument = element.document ? element.document : element;
595
+ rootWindow = rootDocument.defaultView;
596
+ }
597
+ var props = ['auto', 'scroll'];
598
+ var supportedGetComputedStyle = isGetComputedStyleSupported();
599
+ var el = element.parentNode;
600
+ while (el && el.style && rootDocument.body !== el) {
601
+ var _el$style = el.style,
602
+ overflow = _el$style.overflow,
603
+ overflowX = _el$style.overflowX,
604
+ overflowY = _el$style.overflowY;
605
+ if ([overflow, overflowX, overflowY].includes('scroll')) {
606
+ return el;
607
+ } else if (supportedGetComputedStyle) {
608
+ var _rootWindow$getComput = rootWindow.getComputedStyle(el);
609
+ overflow = _rootWindow$getComput.overflow;
610
+ overflowX = _rootWindow$getComput.overflowX;
611
+ overflowY = _rootWindow$getComput.overflowY;
612
+ if (props.includes(overflow) || props.includes(overflowX) || props.includes(overflowY)) {
613
+ return el;
614
+ }
615
+ }
616
+
617
+ // The '+ 1' after the scrollHeight/scrollWidth is to prevent problems with zoomed out Chrome.
618
+ if (el.clientHeight <= el.scrollHeight + 1 && (props.includes(overflowY) || props.includes(overflow))) {
619
+ return el;
620
+ }
621
+ if (el.clientWidth <= el.scrollWidth + 1 && (props.includes(overflowX) || props.includes(overflow))) {
622
+ return el;
623
+ }
624
+ el = el.parentNode;
625
+ }
626
+ return rootWindow;
627
+ }
628
+
629
+ /**
630
+ * Returns a DOM element responsible for trimming the provided element.
631
+ *
632
+ * @param {HTMLElement} base Base element.
633
+ * @returns {HTMLElement} Base element's trimming parent.
634
+ */
635
+ export function getTrimmingContainer(base) {
636
+ var rootDocument = base.ownerDocument;
637
+ var rootWindow = rootDocument.defaultView;
638
+ var el = base.parentNode;
639
+ while (el && el.style && rootDocument.body !== el) {
640
+ if (el.style.overflow !== 'visible' && el.style.overflow !== '') {
641
+ return el;
642
+ }
643
+ var computedStyle = getComputedStyle(el, rootWindow);
644
+ var allowedProperties = ['scroll', 'hidden', 'auto'];
645
+ var property = computedStyle.getPropertyValue('overflow');
646
+ var propertyY = computedStyle.getPropertyValue('overflow-y');
647
+ var propertyX = computedStyle.getPropertyValue('overflow-x');
648
+ if (allowedProperties.includes(property) || allowedProperties.includes(propertyY) || allowedProperties.includes(propertyX)) {
649
+ return el;
650
+ }
651
+ el = el.parentNode;
652
+ }
653
+ return rootWindow;
654
+ }
655
+
656
+ /**
657
+ * Returns a style property for the provided element. (Be it an inline or external style).
658
+ *
659
+ * @param {HTMLElement} element An element to get the style from.
660
+ * @param {string} prop Wanted property.
661
+ * @param {Window} [rootWindow] The document window owner.
662
+ * @returns {string|undefined} Element's style property.
663
+ */
664
+ // eslint-disable-next-line no-restricted-globals
665
+ export function getStyle(element, prop) {
666
+ var rootWindow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : window;
667
+ if (!element) {
668
+ return;
669
+ } else if (element === rootWindow) {
670
+ if (prop === 'width') {
671
+ return "".concat(rootWindow.innerWidth, "px");
672
+ } else if (prop === 'height') {
673
+ return "".concat(rootWindow.innerHeight, "px");
674
+ }
675
+ return;
676
+ }
677
+ var styleProp = element.style[prop];
678
+ if (styleProp !== '' && styleProp !== void 0) {
679
+ return styleProp;
680
+ }
681
+ var computedStyle = getComputedStyle(element, rootWindow);
682
+ if (computedStyle[prop] !== '' && computedStyle[prop] !== void 0) {
683
+ return computedStyle[prop];
684
+ }
685
+ }
686
+
687
+ /**
688
+ * Verifies if element fit to provided CSSRule.
689
+ *
690
+ * @param {Element} element Element to verify with selector text.
691
+ * @param {CSSRule} rule Selector text from CSSRule.
692
+ * @returns {boolean}
693
+ */
694
+ export function matchesCSSRules(element, rule) {
695
+ var selectorText = rule.selectorText;
696
+ var result = false;
697
+ if (rule.type === CSSRule.STYLE_RULE && selectorText) {
698
+ if (element.msMatchesSelector) {
699
+ result = element.msMatchesSelector(selectorText);
700
+ } else if (element.matches) {
701
+ result = element.matches(selectorText);
702
+ }
703
+ }
704
+ return result;
705
+ }
706
+
707
+ /**
708
+ * Returns a computed style object for the provided element. (Needed if style is declared in external stylesheet).
709
+ *
710
+ * @param {HTMLElement} element An element to get style from.
711
+ * @param {Window} [rootWindow] The document window owner.
712
+ * @returns {IEElementStyle|CssStyle} Elements computed style object.
713
+ */
714
+ // eslint-disable-next-line no-restricted-globals
715
+ export function getComputedStyle(element) {
716
+ var rootWindow = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
717
+ return element.currentStyle || rootWindow.getComputedStyle(element);
718
+ }
719
+
720
+ /**
721
+ * Returns the element's outer width.
722
+ *
723
+ * @param {HTMLElement} element An element to get the width from.
724
+ * @returns {number} Element's outer width.
725
+ */
726
+ export function outerWidth(element) {
727
+ return element.offsetWidth;
728
+ }
729
+
730
+ /**
731
+ * Returns the element's outer height.
732
+ *
733
+ * @param {HTMLElement} element An element to get the height from.
734
+ * @returns {number} Element's outer height.
735
+ */
736
+ export function outerHeight(element) {
737
+ if (hasCaptionProblem() && element.firstChild && element.firstChild.nodeName === 'CAPTION') {
738
+ // fixes problem with Firefox ignoring <caption> in TABLE.offsetHeight
739
+ // jQuery (1.10.1) still has this unsolved
740
+ // may be better to just switch to getBoundingClientRect
741
+ // http://bililite.com/blog/2009/03/27/finding-the-size-of-a-table/
742
+ // http://lists.w3.org/Archives/Public/www-style/2009Oct/0089.html
743
+ // http://bugs.jquery.com/ticket/2196
744
+ // http://lists.w3.org/Archives/Public/www-style/2009Oct/0140.html#start140
745
+ return element.offsetHeight + element.firstChild.offsetHeight;
746
+ }
747
+ return element.offsetHeight;
748
+ }
749
+
750
+ /**
751
+ * Returns the element's inner height.
752
+ *
753
+ * @param {HTMLElement} element An element to get the height from.
754
+ * @returns {number} Element's inner height.
755
+ */
756
+ export function innerHeight(element) {
757
+ return element.clientHeight || element.innerHeight;
758
+ }
759
+
760
+ /**
761
+ * Returns the element's inner width.
762
+ *
763
+ * @param {HTMLElement} element An element to get the width from.
764
+ * @returns {number} Element's inner width.
765
+ */
766
+ export function innerWidth(element) {
767
+ return element.clientWidth || element.innerWidth;
768
+ }
769
+
770
+ /**
771
+ * @param {HTMLElement} element An element to which the event is added.
772
+ * @param {string} event The event name.
773
+ * @param {Function} callback The callback to add.
774
+ */
775
+ export function addEvent(element, event, callback) {
776
+ element.addEventListener(event, callback, false);
777
+ }
778
+
779
+ /**
780
+ * @param {HTMLElement} element An element from which the event is removed.
781
+ * @param {string} event The event name.
782
+ * @param {Function} callback The function reference to remove.
783
+ */
784
+ export function removeEvent(element, event, callback) {
785
+ element.removeEventListener(event, callback, false);
786
+ }
787
+
788
+ /**
789
+ * Returns caret position in text input.
790
+ *
791
+ * @author https://stackoverflow.com/questions/263743/how-to-get-caret-position-in-textarea
792
+ * @param {HTMLElement} el An element to check.
793
+ * @returns {number}
794
+ */
795
+ export function getCaretPosition(el) {
796
+ var rootDocument = el.ownerDocument;
797
+ if (el.selectionStart) {
798
+ return el.selectionStart;
799
+ } else if (rootDocument.selection) {
800
+ // IE8
801
+ el.focus();
802
+ var r = rootDocument.selection.createRange();
803
+ if (r === null) {
804
+ return 0;
805
+ }
806
+ var re = el.createTextRange();
807
+ var rc = re.duplicate();
808
+ re.moveToBookmark(r.getBookmark());
809
+ rc.setEndPoint('EndToStart', re);
810
+ return rc.text.length;
811
+ }
812
+ return 0;
813
+ }
814
+
815
+ /**
816
+ * Returns end of the selection in text input.
817
+ *
818
+ * @param {HTMLElement} el An element to check.
819
+ * @returns {number}
820
+ */
821
+ export function getSelectionEndPosition(el) {
822
+ var rootDocument = el.ownerDocument;
823
+ if (el.selectionEnd) {
824
+ return el.selectionEnd;
825
+ } else if (rootDocument.selection) {
826
+ // IE8
827
+ var r = rootDocument.selection.createRange();
828
+ if (r === null) {
829
+ return 0;
830
+ }
831
+ var re = el.createTextRange();
832
+ return re.text.indexOf(r.text) + r.text.length;
833
+ }
834
+ return 0;
835
+ }
836
+
837
+ /**
838
+ * Returns text under selection.
839
+ *
840
+ * @param {Window} [rootWindow] The document window owner.
841
+ * @returns {string}
842
+ */
843
+ // eslint-disable-next-line no-restricted-globals
844
+ export function getSelectionText() {
845
+ var rootWindow = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
846
+ var rootDocument = rootWindow.document;
847
+ var text = '';
848
+ if (rootWindow.getSelection) {
849
+ text = rootWindow.getSelection().toString();
850
+ } else if (rootDocument.selection && rootDocument.selection.type !== 'Control') {
851
+ text = rootDocument.selection.createRange().text;
852
+ }
853
+ return text;
854
+ }
855
+
856
+ /**
857
+ * Cross-platform helper to clear text selection.
858
+ *
859
+ * @param {Window} [rootWindow] The document window owner.
860
+ */
861
+ // eslint-disable-next-line no-restricted-globals
862
+ export function clearTextSelection() {
863
+ var rootWindow = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window;
864
+ var rootDocument = rootWindow.document;
865
+
866
+ // http://stackoverflow.com/questions/3169786/clear-text-selection-with-javascript
867
+ if (rootWindow.getSelection) {
868
+ if (rootWindow.getSelection().empty) {
869
+ // Chrome
870
+ rootWindow.getSelection().empty();
871
+ } else if (rootWindow.getSelection().removeAllRanges) {
872
+ // Firefox
873
+ rootWindow.getSelection().removeAllRanges();
874
+ }
875
+ } else if (rootDocument.selection) {
876
+ // IE?
877
+ rootDocument.selection.empty();
878
+ }
879
+ }
880
+
881
+ /**
882
+ * Sets caret position in text input.
883
+ *
884
+ * @author http://blog.vishalon.net/index.php/javascript-getting-and-setting-caret-position-in-textarea/
885
+ * @param {Element} element An element to process.
886
+ * @param {number} pos The selection start position.
887
+ * @param {number} endPos The selection end position.
888
+ */
889
+ export function setCaretPosition(element, pos, endPos) {
890
+ if (endPos === void 0) {
891
+ endPos = pos;
892
+ }
893
+ if (element.setSelectionRange) {
894
+ element.focus();
895
+ try {
896
+ element.setSelectionRange(pos, endPos);
897
+ } catch (err) {
898
+ var elementParent = element.parentNode;
899
+ var parentDisplayValue = elementParent.style.display;
900
+ elementParent.style.display = 'block';
901
+ element.setSelectionRange(pos, endPos);
902
+ elementParent.style.display = parentDisplayValue;
903
+ }
904
+ }
905
+ }
906
+ var cachedScrollbarWidth;
907
+
908
+ /**
909
+ * Helper to calculate scrollbar width.
910
+ * Source: https://stackoverflow.com/questions/986937/how-can-i-get-the-browsers-scrollbar-sizes.
911
+ *
912
+ * @private
913
+ * @param {Document} rootDocument The onwer of the document.
914
+ * @returns {number}
915
+ */
916
+ // eslint-disable-next-line no-restricted-globals
917
+ function walkontableCalculateScrollbarWidth() {
918
+ var rootDocument = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;
919
+ var inner = rootDocument.createElement('div');
920
+ inner.style.height = '200px';
921
+ inner.style.width = '100%';
922
+ var outer = rootDocument.createElement('div');
923
+ outer.style.boxSizing = 'content-box';
924
+ outer.style.height = '150px';
925
+ outer.style.left = '0px';
926
+ outer.style.overflow = 'hidden';
927
+ outer.style.position = 'absolute';
928
+ outer.style.top = '0px';
929
+ outer.style.width = '200px';
930
+ outer.style.visibility = 'hidden';
931
+ outer.appendChild(inner);
932
+ (rootDocument.body || rootDocument.documentElement).appendChild(outer);
933
+ var w1 = inner.offsetWidth;
934
+ outer.style.overflow = 'scroll';
935
+ var w2 = inner.offsetWidth;
936
+ if (w1 === w2) {
937
+ w2 = outer.clientWidth;
938
+ }
939
+ (rootDocument.body || rootDocument.documentElement).removeChild(outer);
940
+ return w1 - w2;
941
+ }
942
+
943
+ /**
944
+ * Returns the computed width of the native browser scroll bar.
945
+ *
946
+ * @param {Document} [rootDocument] The owner of the document.
947
+ * @returns {number} Width.
948
+ */
949
+ // eslint-disable-next-line no-restricted-globals
950
+ export function getScrollbarWidth() {
951
+ var rootDocument = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;
952
+ if (cachedScrollbarWidth === void 0) {
953
+ cachedScrollbarWidth = walkontableCalculateScrollbarWidth(rootDocument);
954
+ }
955
+ return cachedScrollbarWidth;
956
+ }
957
+
958
+ /**
959
+ * Checks if the provided element has a vertical scrollbar.
960
+ *
961
+ * @param {HTMLElement} element An element to check.
962
+ * @returns {boolean}
963
+ */
964
+ export function hasVerticalScrollbar(element) {
965
+ return element.offsetWidth !== element.clientWidth;
966
+ }
967
+
968
+ /**
969
+ * Checks if the provided element has a vertical scrollbar.
970
+ *
971
+ * @param {HTMLElement} element An element to check.
972
+ * @returns {boolean}
973
+ */
974
+ export function hasHorizontalScrollbar(element) {
975
+ return element.offsetHeight !== element.clientHeight;
976
+ }
977
+
978
+ /**
979
+ * Sets overlay position depending on it's type and used browser.
980
+ *
981
+ * @param {HTMLElement} overlayElem An element to process.
982
+ * @param {number|string} left The left position of the overlay.
983
+ * @param {number|string} top The top position of the overlay.
984
+ */
985
+ export function setOverlayPosition(overlayElem, left, top) {
986
+ if (isIE9()) {
987
+ overlayElem.style.top = top;
988
+ overlayElem.style.left = left;
989
+ } else if (isSafari()) {
990
+ overlayElem.style['-webkit-transform'] = "translate3d(".concat(left, ",").concat(top, ",0)");
991
+ } else {
992
+ overlayElem.style.transform = "translate3d(".concat(left, ",").concat(top, ",0)");
993
+ }
994
+ }
995
+
996
+ /**
997
+ * @param {HTMLElement} element An element to process.
998
+ * @returns {number|Array}
999
+ */
1000
+ export function getCssTransform(element) {
1001
+ var transform;
1002
+ if (element.style.transform && (transform = element.style.transform) !== '') {
1003
+ return ['transform', transform];
1004
+ } else if (element.style['-webkit-transform'] && (transform = element.style['-webkit-transform']) !== '') {
1005
+ return ['-webkit-transform', transform];
1006
+ }
1007
+ return -1;
1008
+ }
1009
+
1010
+ /**
1011
+ * @param {HTMLElement} element An element to process.
1012
+ */
1013
+ export function resetCssTransform(element) {
1014
+ if (element.style.transform && element.style.transform !== '') {
1015
+ element.style.transform = '';
1016
+ } else if (element.style['-webkit-transform'] && element.style['-webkit-transform'] !== '') {
1017
+ element.style['-webkit-transform'] = '';
1018
+ }
1019
+ }
1020
+
1021
+ /**
1022
+ * Determines if the given DOM element is an input field.
1023
+ * Notice: By 'input' we mean input, textarea and select nodes.
1024
+ *
1025
+ * @param {HTMLElement} element - DOM element.
1026
+ * @returns {boolean}
1027
+ */
1028
+ export function isInput(element) {
1029
+ var inputs = ['INPUT', 'SELECT', 'TEXTAREA'];
1030
+ return element && (inputs.indexOf(element.nodeName) > -1 || element.contentEditable === 'true');
1031
+ }
1032
+
1033
+ /**
1034
+ * Determines if the given DOM element is an input field placed OUTSIDE of HOT.
1035
+ * Notice: By 'input' we mean input, textarea and select nodes which have defined 'data-hot-input' attribute.
1036
+ *
1037
+ * @param {HTMLElement} element - DOM element.
1038
+ * @returns {boolean}
1039
+ */
1040
+ export function isOutsideInput(element) {
1041
+ return isInput(element) && element.hasAttribute('data-hot-input') === false;
1042
+ }
1043
+
1044
+ /**
1045
+ * Check if the given DOM element can be focused (by using "select" method).
1046
+ *
1047
+ * @param {HTMLElement} element - DOM element.
1048
+ */
1049
+ export function selectElementIfAllowed(element) {
1050
+ var activeElement = element.ownerDocument.activeElement;
1051
+ if (!isOutsideInput(activeElement)) {
1052
+ element.select();
1053
+ }
1054
+ }
1055
+
1056
+ /**
1057
+ * Check if the provided element is detached from DOM.
1058
+ *
1059
+ * @param {HTMLElement} element HTML element to be checked.
1060
+ * @returns {boolean} `true` if the element is detached, `false` otherwise.
1061
+ */
1062
+ export function isDetached(element) {
1063
+ return !element.parentNode;
1064
+ }