handsontable 16.2.0 → 17.0.0-rc1

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.
Files changed (984) hide show
  1. package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleColumns.js +0 -3
  2. package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleColumns.mjs +0 -3
  3. package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleRows.js +0 -3
  4. package/3rdparty/walkontable/src/calculator/calculationType/fullyVisibleRows.mjs +0 -3
  5. package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleColumns.js +0 -3
  6. package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleColumns.mjs +0 -3
  7. package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleRows.js +0 -3
  8. package/3rdparty/walkontable/src/calculator/calculationType/partiallyVisibleRows.mjs +0 -3
  9. package/3rdparty/walkontable/src/calculator/calculationType/renderedAllColumns.js +0 -1
  10. package/3rdparty/walkontable/src/calculator/calculationType/renderedAllColumns.mjs +0 -1
  11. package/3rdparty/walkontable/src/calculator/calculationType/renderedAllRows.js +0 -1
  12. package/3rdparty/walkontable/src/calculator/calculationType/renderedAllRows.mjs +0 -1
  13. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.js +0 -1
  14. package/3rdparty/walkontable/src/calculator/calculationType/renderedColumns.mjs +0 -1
  15. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.js +0 -1
  16. package/3rdparty/walkontable/src/calculator/calculationType/renderedRows.mjs +0 -1
  17. package/3rdparty/walkontable/src/calculator/viewportBase.js +0 -3
  18. package/3rdparty/walkontable/src/calculator/viewportBase.mjs +0 -3
  19. package/3rdparty/walkontable/src/calculator/viewportColumns.js +0 -2
  20. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +0 -2
  21. package/3rdparty/walkontable/src/calculator/viewportRows.js +0 -2
  22. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +0 -2
  23. package/3rdparty/walkontable/src/cell/coords.js +0 -1
  24. package/3rdparty/walkontable/src/cell/coords.mjs +0 -1
  25. package/3rdparty/walkontable/src/cell/range.js +0 -2
  26. package/3rdparty/walkontable/src/cell/range.mjs +0 -2
  27. package/3rdparty/walkontable/src/core/_base.js +0 -2
  28. package/3rdparty/walkontable/src/core/_base.mjs +0 -2
  29. package/3rdparty/walkontable/src/core/clone.js +0 -1
  30. package/3rdparty/walkontable/src/core/clone.mjs +0 -1
  31. package/3rdparty/walkontable/src/core/core.js +0 -1
  32. package/3rdparty/walkontable/src/core/core.mjs +0 -1
  33. package/3rdparty/walkontable/src/event.js +0 -1
  34. package/3rdparty/walkontable/src/event.mjs +0 -1
  35. package/3rdparty/walkontable/src/filter/column.js +0 -1
  36. package/3rdparty/walkontable/src/filter/column.mjs +0 -1
  37. package/3rdparty/walkontable/src/filter/row.js +0 -1
  38. package/3rdparty/walkontable/src/filter/row.mjs +0 -1
  39. package/3rdparty/walkontable/src/overlay/_base.js +6 -4
  40. package/3rdparty/walkontable/src/overlay/_base.mjs +6 -4
  41. package/3rdparty/walkontable/src/overlay/bottom.js +2 -2
  42. package/3rdparty/walkontable/src/overlay/bottom.mjs +2 -2
  43. package/3rdparty/walkontable/src/overlay/index.js +0 -2
  44. package/3rdparty/walkontable/src/overlay/inlineStart.js +2 -2
  45. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +2 -2
  46. package/3rdparty/walkontable/src/overlay/top.js +2 -2
  47. package/3rdparty/walkontable/src/overlay/top.mjs +2 -2
  48. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +0 -1
  49. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +0 -1
  50. package/3rdparty/walkontable/src/overlays.js +5 -8
  51. package/3rdparty/walkontable/src/overlays.mjs +5 -8
  52. package/3rdparty/walkontable/src/renderer/_base.js +0 -1
  53. package/3rdparty/walkontable/src/renderer/_base.mjs +0 -1
  54. package/3rdparty/walkontable/src/renderer/cells.js +0 -1
  55. package/3rdparty/walkontable/src/renderer/cells.mjs +0 -1
  56. package/3rdparty/walkontable/src/renderer/rowHeaders.js +1 -2
  57. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +1 -2
  58. package/3rdparty/walkontable/src/renderer/rows.js +1 -12
  59. package/3rdparty/walkontable/src/renderer/rows.mjs +1 -12
  60. package/3rdparty/walkontable/src/renderer/table.js +0 -1
  61. package/3rdparty/walkontable/src/renderer/table.mjs +0 -1
  62. package/3rdparty/walkontable/src/scroll.js +0 -1
  63. package/3rdparty/walkontable/src/scroll.mjs +0 -1
  64. package/3rdparty/walkontable/src/selection/border/border.js +13 -26
  65. package/3rdparty/walkontable/src/selection/border/border.mjs +13 -26
  66. package/3rdparty/walkontable/src/selection/border/utils.js +0 -9
  67. package/3rdparty/walkontable/src/selection/border/utils.mjs +0 -9
  68. package/3rdparty/walkontable/src/selection/index.js +0 -2
  69. package/3rdparty/walkontable/src/selection/manager.js +0 -13
  70. package/3rdparty/walkontable/src/selection/manager.mjs +0 -13
  71. package/3rdparty/walkontable/src/selection/scanner.js +0 -8
  72. package/3rdparty/walkontable/src/selection/scanner.mjs +0 -8
  73. package/3rdparty/walkontable/src/settings.js +2 -2
  74. package/3rdparty/walkontable/src/settings.mjs +2 -2
  75. package/3rdparty/walkontable/src/table/master.js +1 -1
  76. package/3rdparty/walkontable/src/table/master.mjs +1 -1
  77. package/3rdparty/walkontable/src/table.js +3 -6
  78. package/3rdparty/walkontable/src/table.mjs +3 -6
  79. package/3rdparty/walkontable/src/utils/column.js +0 -1
  80. package/3rdparty/walkontable/src/utils/column.mjs +0 -1
  81. package/3rdparty/walkontable/src/utils/nodesPool.js +7 -1
  82. package/3rdparty/walkontable/src/utils/nodesPool.mjs +7 -1
  83. package/3rdparty/walkontable/src/utils/orderView/rendererAdapter/differBasedRendererAdapter.js +100 -0
  84. package/3rdparty/walkontable/src/utils/orderView/rendererAdapter/differBasedRendererAdapter.mjs +96 -0
  85. package/3rdparty/walkontable/src/utils/orderView/rendererAdapter/directDomRendererAdapter.js +117 -0
  86. package/3rdparty/walkontable/src/utils/orderView/rendererAdapter/directDomRendererAdapter.mjs +113 -0
  87. package/3rdparty/walkontable/src/utils/orderView/rendererAdapter/index.js +19 -0
  88. package/3rdparty/walkontable/src/utils/orderView/rendererAdapter/index.mjs +15 -0
  89. package/3rdparty/walkontable/src/utils/orderView/view.js +16 -58
  90. package/3rdparty/walkontable/src/utils/orderView/view.mjs +16 -58
  91. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/index.js +0 -2
  92. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/index.mjs +0 -2
  93. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.js +0 -2
  94. package/3rdparty/walkontable/src/utils/orderView/viewDiffer/viewOrder.mjs +0 -2
  95. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +0 -1
  96. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +0 -1
  97. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +0 -1
  98. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +0 -1
  99. package/3rdparty/walkontable/src/utils/row.js +0 -1
  100. package/3rdparty/walkontable/src/utils/row.mjs +0 -1
  101. package/3rdparty/walkontable/src/viewport.js +0 -2
  102. package/3rdparty/walkontable/src/viewport.mjs +0 -2
  103. package/CHANGELOG.md +1 -1
  104. package/README.md +4 -23
  105. package/base.js +13 -2
  106. package/base.mjs +14 -3
  107. package/cellTypes/autocompleteType/accessors/valueSetter.js +2 -4
  108. package/cellTypes/autocompleteType/accessors/valueSetter.mjs +1 -3
  109. package/cellTypes/autocompleteType/autocompleteType.js +2 -1
  110. package/cellTypes/autocompleteType/autocompleteType.mjs +2 -1
  111. package/cellTypes/dropdownType/dropdownType.js +2 -1
  112. package/cellTypes/dropdownType/dropdownType.mjs +2 -1
  113. package/cellTypes/index.d.ts +6 -0
  114. package/cellTypes/index.js +12 -0
  115. package/cellTypes/index.mjs +7 -1
  116. package/cellTypes/intlDateType/index.d.ts +1 -0
  117. package/cellTypes/intlDateType/index.js +6 -0
  118. package/cellTypes/intlDateType/index.mjs +1 -0
  119. package/cellTypes/intlDateType/intlDateType.d.ts +23 -0
  120. package/cellTypes/intlDateType/intlDateType.js +16 -0
  121. package/cellTypes/intlDateType/intlDateType.mjs +13 -0
  122. package/cellTypes/intlTimeType/index.d.ts +1 -0
  123. package/cellTypes/intlTimeType/index.js +6 -0
  124. package/cellTypes/intlTimeType/index.mjs +1 -0
  125. package/cellTypes/intlTimeType/intlTimeType.d.ts +23 -0
  126. package/cellTypes/intlTimeType/intlTimeType.js +16 -0
  127. package/cellTypes/intlTimeType/intlTimeType.mjs +13 -0
  128. package/cellTypes/multiSelectType/accessors/index.js +7 -0
  129. package/cellTypes/multiSelectType/accessors/index.mjs +2 -0
  130. package/cellTypes/multiSelectType/accessors/valueGetter.js +20 -0
  131. package/cellTypes/multiSelectType/accessors/valueGetter.mjs +16 -0
  132. package/cellTypes/multiSelectType/accessors/valueSetter.js +27 -0
  133. package/cellTypes/multiSelectType/accessors/valueSetter.mjs +23 -0
  134. package/cellTypes/multiSelectType/index.js +6 -0
  135. package/cellTypes/multiSelectType/index.mjs +1 -0
  136. package/cellTypes/multiSelectType/multiSelectType.js +19 -0
  137. package/cellTypes/multiSelectType/multiSelectType.mjs +16 -0
  138. package/cellTypes/numericType/numericType.d.ts +3 -1
  139. package/cellTypes/numericType/numericType.js +2 -1
  140. package/cellTypes/numericType/numericType.mjs +3 -2
  141. package/cellTypes/registry.js +2 -2
  142. package/cellTypes/registry.mjs +2 -2
  143. package/common.d.ts +3 -1
  144. package/core/coordsMapper/index.js +0 -2
  145. package/core/coordsMapper/rangeToRenderableMapper.js +0 -1
  146. package/core/coordsMapper/rangeToRenderableMapper.mjs +0 -1
  147. package/core/hooks/bucket.js +0 -14
  148. package/core/hooks/bucket.mjs +0 -14
  149. package/core/hooks/constants.js +0 -28
  150. package/core/hooks/constants.mjs +0 -28
  151. package/core/hooks/index.d.ts +0 -3
  152. package/core/hooks/index.js +0 -2
  153. package/core/hooks/index.mjs +0 -2
  154. package/core/index.js +0 -2
  155. package/core.d.ts +0 -5
  156. package/core.js +193 -104
  157. package/core.mjs +194 -105
  158. package/dataMap/dataMap.js +6 -8
  159. package/dataMap/dataMap.mjs +6 -8
  160. package/dataMap/dataSource.js +0 -4
  161. package/dataMap/dataSource.mjs +0 -4
  162. package/dataMap/index.js +5 -0
  163. package/dataMap/index.mjs +3 -1
  164. package/dataMap/metaManager/index.js +2 -4
  165. package/dataMap/metaManager/index.mjs +2 -4
  166. package/dataMap/metaManager/lazyFactoryMap.js +0 -11
  167. package/dataMap/metaManager/lazyFactoryMap.mjs +0 -11
  168. package/dataMap/metaManager/metaLayers/cellMeta.js +0 -2
  169. package/dataMap/metaManager/metaLayers/cellMeta.mjs +0 -2
  170. package/dataMap/metaManager/metaLayers/columnMeta.js +0 -1
  171. package/dataMap/metaManager/metaLayers/columnMeta.mjs +0 -1
  172. package/dataMap/metaManager/metaLayers/globalMeta.js +0 -1
  173. package/dataMap/metaManager/metaLayers/globalMeta.mjs +0 -1
  174. package/dataMap/metaManager/metaLayers/tableMeta.js +0 -1
  175. package/dataMap/metaManager/metaLayers/tableMeta.mjs +0 -1
  176. package/dataMap/metaManager/metaSchema.js +862 -79
  177. package/dataMap/metaManager/metaSchema.mjs +862 -79
  178. package/dataMap/metaManager/mods/dynamicCellMeta.js +0 -8
  179. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +0 -8
  180. package/dataMap/metaManager/mods/extendMetaProperties.js +23 -15
  181. package/dataMap/metaManager/mods/extendMetaProperties.mjs +23 -15
  182. package/dataMap/metaManager/utils.js +2 -9
  183. package/dataMap/metaManager/utils.mjs +2 -9
  184. package/dataMap/replaceData.js +6 -3
  185. package/dataMap/replaceData.mjs +6 -3
  186. package/dataMap/sourceDataValidator.js +122 -0
  187. package/dataMap/sourceDataValidator.mjs +117 -0
  188. package/dist/handsontable.full.js +57523 -54761
  189. package/dist/handsontable.full.min.js +228 -213
  190. package/dist/handsontable.js +39604 -37938
  191. package/dist/handsontable.min.js +51 -51
  192. package/dist/languages/all.js +1 -1
  193. package/dist/languages/all.min.js +1 -1
  194. package/dist/languages/ar-AR.js +1 -1
  195. package/dist/languages/ar-AR.min.js +1 -1
  196. package/dist/languages/cs-CZ.js +1 -1
  197. package/dist/languages/cs-CZ.min.js +1 -1
  198. package/dist/languages/de-CH.js +1 -1
  199. package/dist/languages/de-CH.min.js +1 -1
  200. package/dist/languages/de-DE.js +1 -1
  201. package/dist/languages/de-DE.min.js +1 -1
  202. package/dist/languages/en-US.js +1 -1
  203. package/dist/languages/en-US.min.js +1 -1
  204. package/dist/languages/es-MX.js +1 -1
  205. package/dist/languages/es-MX.min.js +1 -1
  206. package/dist/languages/fa-IR.js +1 -1
  207. package/dist/languages/fa-IR.min.js +1 -1
  208. package/dist/languages/fr-FR.js +1 -1
  209. package/dist/languages/fr-FR.min.js +1 -1
  210. package/dist/languages/hr-HR.js +1 -1
  211. package/dist/languages/hr-HR.min.js +1 -1
  212. package/dist/languages/it-IT.js +1 -1
  213. package/dist/languages/it-IT.min.js +1 -1
  214. package/dist/languages/ja-JP.js +1 -1
  215. package/dist/languages/ja-JP.min.js +1 -1
  216. package/dist/languages/ko-KR.js +1 -1
  217. package/dist/languages/ko-KR.min.js +1 -1
  218. package/dist/languages/lv-LV.js +1 -1
  219. package/dist/languages/lv-LV.min.js +1 -1
  220. package/dist/languages/nb-NO.js +1 -1
  221. package/dist/languages/nb-NO.min.js +1 -1
  222. package/dist/languages/nl-NL.js +1 -1
  223. package/dist/languages/nl-NL.min.js +1 -1
  224. package/dist/languages/pl-PL.js +1 -1
  225. package/dist/languages/pl-PL.min.js +1 -1
  226. package/dist/languages/pt-BR.js +1 -1
  227. package/dist/languages/pt-BR.min.js +1 -1
  228. package/dist/languages/ru-RU.js +1 -1
  229. package/dist/languages/ru-RU.min.js +1 -1
  230. package/dist/languages/sr-SP.js +1 -1
  231. package/dist/languages/sr-SP.min.js +1 -1
  232. package/dist/languages/zh-CN.js +1 -1
  233. package/dist/languages/zh-CN.min.js +1 -1
  234. package/dist/languages/zh-TW.js +1 -1
  235. package/dist/languages/zh-TW.min.js +1 -1
  236. package/dist/themes/classic.js +467 -0
  237. package/dist/themes/classic.min.js +31 -0
  238. package/dist/themes/horizon.js +467 -0
  239. package/dist/themes/horizon.min.js +31 -0
  240. package/dist/themes/main.js +467 -0
  241. package/dist/themes/main.min.js +31 -0
  242. package/dist/themes/static/variables/colors/ant.js +137 -0
  243. package/dist/themes/static/variables/colors/ant.min.js +31 -0
  244. package/dist/themes/static/variables/colors/classic.js +137 -0
  245. package/dist/themes/static/variables/colors/classic.min.js +31 -0
  246. package/dist/themes/static/variables/colors/horizon.js +137 -0
  247. package/dist/themes/static/variables/colors/horizon.min.js +31 -0
  248. package/dist/themes/static/variables/colors/main.js +137 -0
  249. package/dist/themes/static/variables/colors/main.min.js +31 -0
  250. package/dist/themes/static/variables/colors/material.js +137 -0
  251. package/dist/themes/static/variables/colors/material.min.js +31 -0
  252. package/dist/themes/static/variables/colors/shadcn.js +137 -0
  253. package/dist/themes/static/variables/colors/shadcn.min.js +31 -0
  254. package/dist/themes/static/variables/density.js +163 -0
  255. package/dist/themes/static/variables/density.min.js +31 -0
  256. package/dist/themes/static/variables/helpers/iconsMap.js +240 -0
  257. package/dist/themes/static/variables/helpers/iconsMap.min.js +31 -0
  258. package/dist/themes/static/variables/icons/horizon.js +135 -0
  259. package/dist/themes/static/variables/icons/horizon.min.js +31 -0
  260. package/dist/themes/static/variables/icons/main.js +135 -0
  261. package/dist/themes/static/variables/icons/main.min.js +31 -0
  262. package/dist/themes/static/variables/sizing.js +126 -0
  263. package/dist/themes/static/variables/sizing.min.js +31 -0
  264. package/dist/themes/static/variables/tokens/classic.js +375 -0
  265. package/dist/themes/static/variables/tokens/classic.min.js +31 -0
  266. package/dist/themes/static/variables/tokens/horizon.js +375 -0
  267. package/dist/themes/static/variables/tokens/horizon.min.js +31 -0
  268. package/dist/themes/static/variables/tokens/main.js +375 -0
  269. package/dist/themes/static/variables/tokens/main.min.js +31 -0
  270. package/editorManager.js +0 -1
  271. package/editorManager.mjs +0 -1
  272. package/editors/autocompleteEditor/autocompleteEditor.js +5 -23
  273. package/editors/autocompleteEditor/autocompleteEditor.mjs +6 -24
  274. package/editors/baseEditor/baseEditor.js +18 -13
  275. package/editors/baseEditor/baseEditor.mjs +18 -13
  276. package/editors/dateEditor/dateEditor.js +9 -3
  277. package/editors/dateEditor/dateEditor.mjs +9 -3
  278. package/editors/dropdownEditor/dropdownEditor.js +0 -2
  279. package/editors/dropdownEditor/dropdownEditor.mjs +0 -2
  280. package/editors/factory.d.ts +48 -0
  281. package/editors/factory.js +372 -0
  282. package/editors/factory.mjs +368 -0
  283. package/editors/handsontableEditor/handsontableEditor.js +0 -1
  284. package/editors/handsontableEditor/handsontableEditor.mjs +0 -1
  285. package/editors/index.d.ts +7 -0
  286. package/editors/index.js +14 -0
  287. package/editors/index.mjs +9 -2
  288. package/editors/intlDateEditor/index.d.ts +1 -0
  289. package/editors/intlDateEditor/index.js +6 -0
  290. package/editors/intlDateEditor/index.mjs +1 -0
  291. package/editors/intlDateEditor/intlDateEditor.d.ts +7 -0
  292. package/editors/intlDateEditor/intlDateEditor.js +76 -0
  293. package/editors/intlDateEditor/intlDateEditor.mjs +72 -0
  294. package/editors/intlTimeEditor/index.d.ts +1 -0
  295. package/editors/intlTimeEditor/index.js +6 -0
  296. package/editors/intlTimeEditor/index.mjs +1 -0
  297. package/editors/intlTimeEditor/intlTimeEditor.d.ts +7 -0
  298. package/editors/intlTimeEditor/intlTimeEditor.js +72 -0
  299. package/editors/intlTimeEditor/intlTimeEditor.mjs +68 -0
  300. package/editors/multiSelectEditor/controllers/dropdownController.js +566 -0
  301. package/editors/multiSelectEditor/controllers/dropdownController.mjs +561 -0
  302. package/editors/multiSelectEditor/controllers/inputController.js +101 -0
  303. package/editors/multiSelectEditor/controllers/inputController.mjs +96 -0
  304. package/editors/multiSelectEditor/controllers/selectedItemsController.js +124 -0
  305. package/editors/multiSelectEditor/controllers/selectedItemsController.mjs +120 -0
  306. package/editors/multiSelectEditor/controllers/utils.js +275 -0
  307. package/editors/multiSelectEditor/controllers/utils.mjs +258 -0
  308. package/editors/multiSelectEditor/index.js +6 -0
  309. package/editors/multiSelectEditor/index.mjs +1 -0
  310. package/editors/multiSelectEditor/multiSelectEditor.js +509 -0
  311. package/editors/multiSelectEditor/multiSelectEditor.mjs +504 -0
  312. package/editors/multiSelectEditor/utils/utils.js +57 -0
  313. package/editors/multiSelectEditor/utils/utils.mjs +50 -0
  314. package/editors/passwordEditor/passwordEditor.js +0 -1
  315. package/editors/passwordEditor/passwordEditor.mjs +0 -1
  316. package/editors/registry.js +4 -4
  317. package/editors/registry.mjs +4 -4
  318. package/editors/selectEditor/selectEditor.js +1 -1
  319. package/editors/selectEditor/selectEditor.mjs +1 -1
  320. package/editors/textEditor/textEditor.js +4 -2
  321. package/editors/textEditor/textEditor.mjs +4 -2
  322. package/eventManager.js +0 -2
  323. package/eventManager.mjs +0 -2
  324. package/focusManager/grid.js +0 -1
  325. package/focusManager/grid.mjs +0 -1
  326. package/focusManager/index.js +0 -2
  327. package/focusManager/scopeManager.js +5 -8
  328. package/focusManager/scopeManager.mjs +5 -8
  329. package/focusManager/utils/focusDetector.js +5 -11
  330. package/focusManager/utils/focusDetector.mjs +5 -11
  331. package/helpers/a11y.js +2 -0
  332. package/helpers/a11y.mjs +1 -0
  333. package/helpers/array.js +26 -15
  334. package/helpers/array.mjs +25 -15
  335. package/helpers/console.js +33 -0
  336. package/helpers/console.mjs +32 -0
  337. package/helpers/constants.js +4 -0
  338. package/helpers/constants.mjs +1 -0
  339. package/helpers/data.js +0 -4
  340. package/helpers/data.mjs +0 -4
  341. package/helpers/dateTime.d.ts +5 -0
  342. package/helpers/dateTime.js +110 -0
  343. package/helpers/dateTime.mjs +102 -0
  344. package/helpers/dom/element.d.ts +1 -1
  345. package/helpers/dom/element.js +23 -20
  346. package/helpers/dom/element.mjs +23 -20
  347. package/helpers/errors.d.ts +1 -0
  348. package/helpers/errors.js +21 -0
  349. package/helpers/errors.mjs +17 -0
  350. package/helpers/index.d.ts +2 -1
  351. package/helpers/mixed.js +10 -7
  352. package/helpers/mixed.mjs +10 -6
  353. package/helpers/moves.js +0 -4
  354. package/helpers/moves.mjs +0 -4
  355. package/helpers/number.js +0 -9
  356. package/helpers/number.mjs +0 -9
  357. package/helpers/object.js +47 -6
  358. package/helpers/object.mjs +45 -6
  359. package/helpers/string.js +15 -2
  360. package/helpers/string.mjs +14 -2
  361. package/helpers/templateLiteralTag.js +0 -3
  362. package/helpers/templateLiteralTag.mjs +0 -3
  363. package/helpers/unicode.js +0 -1
  364. package/helpers/unicode.mjs +0 -1
  365. package/helpers/wrappers/jquery.js +2 -2
  366. package/helpers/wrappers/jquery.mjs +2 -2
  367. package/i18n/index.js +0 -2
  368. package/i18n/phraseFormatters/substituteVariables.js +0 -2
  369. package/i18n/phraseFormatters/substituteVariables.mjs +0 -2
  370. package/i18n/registry.js +0 -2
  371. package/i18n/registry.mjs +0 -2
  372. package/index.d.ts +85 -9
  373. package/index.js +18 -3
  374. package/index.mjs +18 -3
  375. package/languages/all.js +1 -1
  376. package/languages/ar-AR.js +1 -1
  377. package/languages/cs-CZ.js +1 -1
  378. package/languages/de-CH.js +1 -1
  379. package/languages/de-DE.js +1 -1
  380. package/languages/en-US.js +1 -1
  381. package/languages/es-MX.js +1 -1
  382. package/languages/fa-IR.js +1 -1
  383. package/languages/fr-FR.js +1 -1
  384. package/languages/hr-HR.js +1 -1
  385. package/languages/index.js +1 -1
  386. package/languages/it-IT.js +1 -1
  387. package/languages/ja-JP.js +1 -1
  388. package/languages/ko-KR.js +1 -1
  389. package/languages/lv-LV.js +1 -1
  390. package/languages/nb-NO.js +1 -1
  391. package/languages/nl-NL.js +1 -1
  392. package/languages/pl-PL.js +1 -1
  393. package/languages/pt-BR.js +1 -1
  394. package/languages/ru-RU.js +1 -1
  395. package/languages/sr-SP.js +1 -1
  396. package/languages/zh-CN.js +1 -1
  397. package/languages/zh-TW.js +1 -1
  398. package/mixins/hooksRefRegisterer.js +0 -1
  399. package/mixins/hooksRefRegisterer.mjs +0 -1
  400. package/mixins/localHooks.js +0 -1
  401. package/mixins/localHooks.mjs +0 -1
  402. package/package.json +184 -78
  403. package/plugins/autoColumnSize/autoColumnSize.js +4 -7
  404. package/plugins/autoColumnSize/autoColumnSize.mjs +4 -7
  405. package/plugins/autoRowSize/autoRowSize.js +8 -9
  406. package/plugins/autoRowSize/autoRowSize.mjs +8 -9
  407. package/plugins/autofill/autofill.js +7 -8
  408. package/plugins/autofill/autofill.mjs +7 -8
  409. package/plugins/base/base.js +3 -7
  410. package/plugins/base/base.mjs +3 -7
  411. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +0 -1
  412. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +0 -1
  413. package/plugins/collapsibleColumns/collapsibleColumns.js +2 -3
  414. package/plugins/collapsibleColumns/collapsibleColumns.mjs +2 -3
  415. package/plugins/columnSorting/columnSorting.js +2 -64
  416. package/plugins/columnSorting/columnSorting.mjs +2 -64
  417. package/plugins/columnSorting/columnStatesManager.js +0 -3
  418. package/plugins/columnSorting/columnStatesManager.mjs +0 -3
  419. package/plugins/columnSorting/domHelpers.js +0 -1
  420. package/plugins/columnSorting/domHelpers.mjs +0 -1
  421. package/plugins/columnSorting/sortFunction/intlDate.js +17 -0
  422. package/plugins/columnSorting/sortFunction/intlDate.mjs +13 -0
  423. package/plugins/columnSorting/sortFunction/intlTime.js +17 -0
  424. package/plugins/columnSorting/sortFunction/intlTime.mjs +13 -0
  425. package/plugins/columnSorting/sortService/registry.js +5 -1
  426. package/plugins/columnSorting/sortService/registry.mjs +4 -0
  427. package/plugins/columnSorting/utils.js +107 -10
  428. package/plugins/columnSorting/utils.mjs +105 -10
  429. package/plugins/columnSummary/columnSummary.js +2 -2
  430. package/plugins/columnSummary/columnSummary.mjs +2 -2
  431. package/plugins/columnSummary/endpoints.js +0 -5
  432. package/plugins/columnSummary/endpoints.mjs +0 -5
  433. package/plugins/comments/commentEditor.js +0 -1
  434. package/plugins/comments/commentEditor.mjs +0 -1
  435. package/plugins/comments/comments.js +5 -6
  436. package/plugins/comments/comments.mjs +5 -6
  437. package/plugins/comments/displaySwitch.js +0 -1
  438. package/plugins/comments/displaySwitch.mjs +0 -1
  439. package/plugins/comments/editorResizeObserver.js +0 -3
  440. package/plugins/comments/editorResizeObserver.mjs +0 -3
  441. package/plugins/contextMenu/commandExecutor.js +2 -4
  442. package/plugins/contextMenu/commandExecutor.mjs +2 -4
  443. package/plugins/contextMenu/contextMenu.js +0 -1
  444. package/plugins/contextMenu/contextMenu.mjs +0 -1
  445. package/plugins/contextMenu/itemsFactory.js +0 -2
  446. package/plugins/contextMenu/itemsFactory.mjs +0 -2
  447. package/plugins/contextMenu/menu/cursor.js +0 -1
  448. package/plugins/contextMenu/menu/cursor.mjs +0 -1
  449. package/plugins/contextMenu/menu/index.js +0 -2
  450. package/plugins/contextMenu/menu/menu.js +3 -15
  451. package/plugins/contextMenu/menu/menu.mjs +3 -15
  452. package/plugins/contextMenu/menu/menuItemRenderer.js +4 -2
  453. package/plugins/contextMenu/menu/menuItemRenderer.mjs +4 -2
  454. package/plugins/contextMenu/menu/positioner.js +0 -1
  455. package/plugins/contextMenu/menu/positioner.mjs +0 -1
  456. package/plugins/contextMenu/menu/shortcuts.js +0 -3
  457. package/plugins/contextMenu/menu/shortcuts.mjs +0 -3
  458. package/plugins/contextMenu/menu/utils.js +0 -1
  459. package/plugins/contextMenu/menu/utils.mjs +0 -1
  460. package/plugins/copyPaste/copyPaste.js +53 -31
  461. package/plugins/copyPaste/copyPaste.mjs +54 -32
  462. package/plugins/copyPaste/copyableRanges.js +0 -2
  463. package/plugins/copyPaste/copyableRanges.mjs +0 -2
  464. package/plugins/customBorders/customBorders.js +3 -6
  465. package/plugins/customBorders/customBorders.mjs +3 -6
  466. package/plugins/customBorders/utils.js +0 -2
  467. package/plugins/customBorders/utils.mjs +0 -2
  468. package/plugins/dialog/dialog.js +3 -6
  469. package/plugins/dialog/dialog.mjs +3 -6
  470. package/plugins/dialog/templates/base.js +2 -2
  471. package/plugins/dialog/templates/base.mjs +2 -2
  472. package/plugins/dialog/templates/confirm.js +2 -5
  473. package/plugins/dialog/templates/confirm.mjs +2 -5
  474. package/plugins/dialog/ui.js +13 -8
  475. package/plugins/dialog/ui.mjs +13 -8
  476. package/plugins/dragToScroll/dragToScroll.js +0 -1
  477. package/plugins/dragToScroll/dragToScroll.mjs +0 -1
  478. package/plugins/dropdownMenu/dropdownMenu.js +0 -1
  479. package/plugins/dropdownMenu/dropdownMenu.mjs +0 -1
  480. package/plugins/emptyDataState/emptyDataState.js +0 -6
  481. package/plugins/emptyDataState/emptyDataState.mjs +0 -6
  482. package/plugins/emptyDataState/ui.js +0 -4
  483. package/plugins/emptyDataState/ui.mjs +0 -4
  484. package/plugins/exportFile/dataProvider.js +0 -2
  485. package/plugins/exportFile/dataProvider.mjs +0 -2
  486. package/plugins/exportFile/exportFile.js +3 -3
  487. package/plugins/exportFile/exportFile.mjs +3 -3
  488. package/plugins/exportFile/types/_base.js +0 -1
  489. package/plugins/exportFile/types/_base.mjs +0 -1
  490. package/plugins/exportFile/types/csv.js +0 -3
  491. package/plugins/exportFile/types/csv.mjs +0 -3
  492. package/plugins/filters/component/_base.js +3 -3
  493. package/plugins/filters/component/_base.mjs +3 -3
  494. package/plugins/filters/component/actionBar.js +0 -2
  495. package/plugins/filters/component/actionBar.mjs +0 -2
  496. package/plugins/filters/component/condition.js +2 -4
  497. package/plugins/filters/component/condition.mjs +2 -4
  498. package/plugins/filters/component/operators.js +2 -5
  499. package/plugins/filters/component/operators.mjs +2 -5
  500. package/plugins/filters/component/value.js +4 -12
  501. package/plugins/filters/component/value.mjs +4 -12
  502. package/plugins/filters/condition/intlDate/after.js +31 -0
  503. package/plugins/filters/condition/intlDate/after.mjs +26 -0
  504. package/plugins/filters/condition/intlDate/before.js +31 -0
  505. package/plugins/filters/condition/intlDate/before.mjs +26 -0
  506. package/plugins/filters/condition/intlDate/between.js +30 -0
  507. package/plugins/filters/condition/intlDate/between.mjs +25 -0
  508. package/plugins/filters/condition/intlDate/today.js +27 -0
  509. package/plugins/filters/condition/intlDate/today.mjs +22 -0
  510. package/plugins/filters/condition/intlDate/tomorrow.js +28 -0
  511. package/plugins/filters/condition/intlDate/tomorrow.mjs +23 -0
  512. package/plugins/filters/condition/intlDate/yesterday.js +28 -0
  513. package/plugins/filters/condition/intlDate/yesterday.mjs +23 -0
  514. package/plugins/filters/condition/intlTime/after.js +31 -0
  515. package/plugins/filters/condition/intlTime/after.mjs +26 -0
  516. package/plugins/filters/condition/intlTime/before.js +31 -0
  517. package/plugins/filters/condition/intlTime/before.mjs +26 -0
  518. package/plugins/filters/condition/intlTime/between.js +30 -0
  519. package/plugins/filters/condition/intlTime/between.mjs +25 -0
  520. package/plugins/filters/conditionCollection.js +3 -9
  521. package/plugins/filters/conditionCollection.mjs +3 -9
  522. package/plugins/filters/conditionRegisterer.js +3 -3
  523. package/plugins/filters/conditionRegisterer.mjs +3 -3
  524. package/plugins/filters/conditionUpdateObserver.js +3 -7
  525. package/plugins/filters/conditionUpdateObserver.mjs +3 -7
  526. package/plugins/filters/constants.js +14 -2
  527. package/plugins/filters/constants.mjs +14 -2
  528. package/plugins/filters/dataFilter.js +1 -3
  529. package/plugins/filters/dataFilter.mjs +1 -3
  530. package/plugins/filters/filters.js +36 -44
  531. package/plugins/filters/filters.mjs +36 -44
  532. package/plugins/filters/logicalOperationRegisterer.js +2 -2
  533. package/plugins/filters/logicalOperationRegisterer.mjs +2 -2
  534. package/plugins/filters/logicalOperations/conjunction.js +0 -2
  535. package/plugins/filters/logicalOperations/conjunction.mjs +0 -2
  536. package/plugins/filters/logicalOperations/disjunction.js +0 -2
  537. package/plugins/filters/logicalOperations/disjunction.mjs +0 -2
  538. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -4
  539. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -4
  540. package/plugins/filters/menu/focusController.js +0 -2
  541. package/plugins/filters/menu/focusController.mjs +0 -2
  542. package/plugins/filters/ui/_base.js +0 -1
  543. package/plugins/filters/ui/_base.mjs +0 -1
  544. package/plugins/filters/ui/input.js +1 -1
  545. package/plugins/filters/ui/input.mjs +1 -1
  546. package/plugins/filters/ui/link.js +0 -1
  547. package/plugins/filters/ui/link.mjs +0 -1
  548. package/plugins/filters/ui/multipleSelect.js +0 -6
  549. package/plugins/filters/ui/multipleSelect.mjs +0 -6
  550. package/plugins/filters/ui/radioInput.js +0 -1
  551. package/plugins/filters/ui/radioInput.mjs +0 -1
  552. package/plugins/filters/ui/select.js +0 -1
  553. package/plugins/filters/ui/select.mjs +0 -1
  554. package/plugins/filters/utils.js +0 -11
  555. package/plugins/filters/utils.mjs +0 -11
  556. package/plugins/formulas/engine/register.js +0 -4
  557. package/plugins/formulas/engine/register.mjs +0 -4
  558. package/plugins/formulas/engine/settings.js +0 -3
  559. package/plugins/formulas/engine/settings.mjs +0 -3
  560. package/plugins/formulas/formulas.js +0 -14
  561. package/plugins/formulas/formulas.mjs +0 -14
  562. package/plugins/formulas/indexSyncer/axisSyncer.js +0 -5
  563. package/plugins/formulas/indexSyncer/axisSyncer.mjs +0 -5
  564. package/plugins/formulas/indexSyncer/index.js +0 -1
  565. package/plugins/formulas/indexSyncer/index.mjs +0 -1
  566. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +0 -1
  567. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +0 -1
  568. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +0 -3
  569. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +0 -3
  570. package/plugins/hiddenColumns/hiddenColumns.js +1 -13
  571. package/plugins/hiddenColumns/hiddenColumns.mjs +1 -13
  572. package/plugins/hiddenRows/contextMenuItem/hideRow.js +0 -1
  573. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +0 -1
  574. package/plugins/hiddenRows/contextMenuItem/showRow.js +0 -3
  575. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +0 -3
  576. package/plugins/hiddenRows/hiddenRows.js +1 -13
  577. package/plugins/hiddenRows/hiddenRows.mjs +1 -13
  578. package/plugins/index.d.ts +0 -3
  579. package/plugins/index.js +0 -3
  580. package/plugins/index.mjs +1 -3
  581. package/plugins/loading/loading.js +0 -1
  582. package/plugins/loading/loading.mjs +0 -1
  583. package/plugins/manualColumnFreeze/manualColumnFreeze.js +0 -4
  584. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +0 -4
  585. package/plugins/manualColumnMove/manualColumnMove.js +2 -36
  586. package/plugins/manualColumnMove/manualColumnMove.mjs +2 -36
  587. package/plugins/manualColumnMove/ui/_base.js +0 -1
  588. package/plugins/manualColumnMove/ui/_base.mjs +0 -1
  589. package/plugins/manualColumnResize/manualColumnResize.js +4 -39
  590. package/plugins/manualColumnResize/manualColumnResize.mjs +4 -39
  591. package/plugins/manualRowMove/manualRowMove.js +2 -37
  592. package/plugins/manualRowMove/manualRowMove.mjs +2 -37
  593. package/plugins/manualRowMove/ui/_base.js +0 -1
  594. package/plugins/manualRowMove/ui/_base.mjs +0 -1
  595. package/plugins/manualRowResize/manualRowResize.js +3 -38
  596. package/plugins/manualRowResize/manualRowResize.mjs +3 -38
  597. package/plugins/mergeCells/calculations/autofill.js +0 -3
  598. package/plugins/mergeCells/calculations/autofill.mjs +0 -3
  599. package/plugins/mergeCells/calculations/selection.js +0 -2
  600. package/plugins/mergeCells/calculations/selection.mjs +0 -2
  601. package/plugins/mergeCells/cellCoords.js +0 -1
  602. package/plugins/mergeCells/cellCoords.mjs +0 -1
  603. package/plugins/mergeCells/cellsCollection.js +0 -14
  604. package/plugins/mergeCells/cellsCollection.mjs +0 -14
  605. package/plugins/mergeCells/focusOrder.js +0 -4
  606. package/plugins/mergeCells/focusOrder.mjs +0 -4
  607. package/plugins/mergeCells/mergeCells.js +0 -14
  608. package/plugins/mergeCells/mergeCells.mjs +0 -14
  609. package/plugins/multiColumnSorting/domHelpers.js +0 -3
  610. package/plugins/multiColumnSorting/domHelpers.mjs +0 -3
  611. package/plugins/multiColumnSorting/multiColumnSorting.js +0 -1
  612. package/plugins/multiColumnSorting/multiColumnSorting.mjs +0 -1
  613. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +0 -2
  614. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +0 -2
  615. package/plugins/nestedHeaders/nestedHeaders.js +0 -4
  616. package/plugins/nestedHeaders/nestedHeaders.mjs +0 -4
  617. package/plugins/nestedHeaders/stateManager/headersTree.js +0 -1
  618. package/plugins/nestedHeaders/stateManager/headersTree.mjs +0 -1
  619. package/plugins/nestedHeaders/stateManager/index.js +0 -4
  620. package/plugins/nestedHeaders/stateManager/index.mjs +0 -4
  621. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +0 -1
  622. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +0 -1
  623. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +0 -7
  624. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +0 -7
  625. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +0 -7
  626. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +0 -7
  627. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -4
  628. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +3 -4
  629. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -2
  630. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -2
  631. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -3
  632. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +3 -3
  633. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +0 -1
  634. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +0 -1
  635. package/plugins/nestedHeaders/stateManager/sourceSettings.js +3 -4
  636. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +3 -4
  637. package/plugins/nestedHeaders/utils/ghostTable.js +1 -2
  638. package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -2
  639. package/plugins/nestedRows/data/dataManager.js +0 -2
  640. package/plugins/nestedRows/data/dataManager.mjs +0 -2
  641. package/plugins/nestedRows/nestedRows.js +0 -12
  642. package/plugins/nestedRows/nestedRows.mjs +0 -12
  643. package/plugins/nestedRows/ui/_base.js +0 -1
  644. package/plugins/nestedRows/ui/_base.mjs +0 -1
  645. package/plugins/nestedRows/ui/collapsing.js +0 -1
  646. package/plugins/nestedRows/ui/collapsing.mjs +0 -1
  647. package/plugins/nestedRows/ui/contextMenu.js +0 -1
  648. package/plugins/nestedRows/ui/contextMenu.mjs +0 -1
  649. package/plugins/nestedRows/ui/headers.js +2 -4
  650. package/plugins/nestedRows/ui/headers.mjs +2 -4
  651. package/plugins/nestedRows/utils/rowMoveController.js +0 -6
  652. package/plugins/nestedRows/utils/rowMoveController.mjs +0 -6
  653. package/plugins/pagination/pagination.js +1 -7
  654. package/plugins/pagination/pagination.mjs +1 -7
  655. package/plugins/pagination/strategies/autoPageSize.js +0 -2
  656. package/plugins/pagination/strategies/autoPageSize.mjs +0 -2
  657. package/plugins/pagination/strategies/fixedPageSize.js +0 -1
  658. package/plugins/pagination/strategies/fixedPageSize.mjs +0 -1
  659. package/plugins/pagination/strategies/index.js +2 -2
  660. package/plugins/pagination/strategies/index.mjs +2 -2
  661. package/plugins/pagination/ui.js +0 -3
  662. package/plugins/pagination/ui.mjs +0 -3
  663. package/plugins/registry.js +2 -2
  664. package/plugins/registry.mjs +2 -2
  665. package/plugins/search/search.js +0 -2
  666. package/plugins/search/search.mjs +0 -2
  667. package/plugins/stretchColumns/calculator.js +1 -6
  668. package/plugins/stretchColumns/calculator.mjs +1 -6
  669. package/plugins/stretchColumns/strategies/_base.js +0 -1
  670. package/plugins/stretchColumns/strategies/_base.mjs +0 -1
  671. package/plugins/stretchColumns/strategies/all.js +0 -4
  672. package/plugins/stretchColumns/strategies/all.mjs +0 -4
  673. package/plugins/stretchColumns/strategies/last.js +0 -3
  674. package/plugins/stretchColumns/strategies/last.mjs +0 -3
  675. package/plugins/stretchColumns/stretchColumns.js +0 -3
  676. package/plugins/stretchColumns/stretchColumns.mjs +0 -3
  677. package/plugins/touchScroll/touchScroll.js +0 -2
  678. package/plugins/touchScroll/touchScroll.mjs +0 -2
  679. package/plugins/trimRows/trimRows.js +1 -12
  680. package/plugins/trimRows/trimRows.mjs +1 -12
  681. package/plugins/undoRedo/actions/_base.js +3 -3
  682. package/plugins/undoRedo/actions/_base.mjs +3 -3
  683. package/plugins/undoRedo/actions/cellAlignment.js +0 -1
  684. package/plugins/undoRedo/actions/cellAlignment.mjs +0 -1
  685. package/plugins/undoRedo/actions/columnMove.js +0 -3
  686. package/plugins/undoRedo/actions/columnMove.mjs +0 -3
  687. package/plugins/undoRedo/actions/columnSort.js +0 -1
  688. package/plugins/undoRedo/actions/columnSort.mjs +0 -1
  689. package/plugins/undoRedo/actions/createColumn.js +0 -1
  690. package/plugins/undoRedo/actions/createColumn.mjs +0 -1
  691. package/plugins/undoRedo/actions/createRow.js +0 -1
  692. package/plugins/undoRedo/actions/createRow.mjs +0 -1
  693. package/plugins/undoRedo/actions/dataChange.js +0 -6
  694. package/plugins/undoRedo/actions/dataChange.mjs +0 -6
  695. package/plugins/undoRedo/actions/filters.js +0 -3
  696. package/plugins/undoRedo/actions/filters.mjs +0 -3
  697. package/plugins/undoRedo/actions/mergeCells.js +0 -1
  698. package/plugins/undoRedo/actions/mergeCells.mjs +0 -1
  699. package/plugins/undoRedo/actions/removeColumn.js +0 -4
  700. package/plugins/undoRedo/actions/removeColumn.mjs +0 -4
  701. package/plugins/undoRedo/actions/removeRow.js +0 -4
  702. package/plugins/undoRedo/actions/removeRow.mjs +0 -4
  703. package/plugins/undoRedo/actions/rowMove.js +0 -3
  704. package/plugins/undoRedo/actions/rowMove.mjs +0 -3
  705. package/plugins/undoRedo/actions/unmergeCells.js +0 -1
  706. package/plugins/undoRedo/actions/unmergeCells.mjs +0 -1
  707. package/plugins/undoRedo/undoRedo.js +0 -87
  708. package/plugins/undoRedo/undoRedo.mjs +0 -87
  709. package/plugins/undoRedo/utils.js +1 -13
  710. package/plugins/undoRedo/utils.mjs +1 -13
  711. package/renderers/baseRenderer/baseRenderer.js +3 -1
  712. package/renderers/baseRenderer/baseRenderer.mjs +3 -1
  713. package/renderers/checkboxRenderer/checkboxRenderer.js +2 -7
  714. package/renderers/checkboxRenderer/checkboxRenderer.mjs +2 -7
  715. package/renderers/dateRenderer/dateRenderer.js +6 -0
  716. package/renderers/dateRenderer/dateRenderer.mjs +6 -0
  717. package/renderers/factory.d.ts +20 -0
  718. package/renderers/factory.js +51 -0
  719. package/renderers/factory.mjs +47 -0
  720. package/renderers/htmlRenderer/htmlRenderer.js +1 -4
  721. package/renderers/htmlRenderer/htmlRenderer.mjs +1 -4
  722. package/renderers/index.d.ts +7 -0
  723. package/renderers/index.js +10 -0
  724. package/renderers/index.mjs +7 -2
  725. package/renderers/intlDateRenderer/index.d.ts +1 -0
  726. package/renderers/intlDateRenderer/index.js +7 -0
  727. package/renderers/intlDateRenderer/index.mjs +1 -0
  728. package/renderers/intlDateRenderer/intlDateRenderer.d.ts +6 -0
  729. package/renderers/intlDateRenderer/intlDateRenderer.js +58 -0
  730. package/renderers/intlDateRenderer/intlDateRenderer.mjs +53 -0
  731. package/renderers/intlTimeRenderer/index.d.ts +1 -0
  732. package/renderers/intlTimeRenderer/index.js +7 -0
  733. package/renderers/intlTimeRenderer/index.mjs +1 -0
  734. package/renderers/intlTimeRenderer/intlTimeRenderer.d.ts +6 -0
  735. package/renderers/intlTimeRenderer/intlTimeRenderer.js +57 -0
  736. package/renderers/intlTimeRenderer/intlTimeRenderer.mjs +52 -0
  737. package/renderers/multiSelectRenderer/index.js +7 -0
  738. package/renderers/multiSelectRenderer/index.mjs +1 -0
  739. package/renderers/multiSelectRenderer/multiSelectRenderer.js +60 -0
  740. package/renderers/multiSelectRenderer/multiSelectRenderer.mjs +56 -0
  741. package/renderers/multiSelectRenderer/utils/utils.js +270 -0
  742. package/renderers/multiSelectRenderer/utils/utils.mjs +258 -0
  743. package/renderers/numericRenderer/index.d.ts +1 -1
  744. package/renderers/numericRenderer/index.js +1 -1
  745. package/renderers/numericRenderer/index.mjs +1 -1
  746. package/renderers/numericRenderer/numericRenderer.d.ts +1 -0
  747. package/renderers/numericRenderer/numericRenderer.js +19 -22
  748. package/renderers/numericRenderer/numericRenderer.mjs +18 -20
  749. package/renderers/numericRenderer/utils.js +64 -0
  750. package/renderers/numericRenderer/utils.mjs +57 -0
  751. package/renderers/passwordRenderer/passwordRenderer.js +22 -12
  752. package/renderers/passwordRenderer/passwordRenderer.mjs +21 -12
  753. package/renderers/registry.d.ts +1 -1
  754. package/renderers/registry.js +51 -3
  755. package/renderers/registry.mjs +51 -3
  756. package/renderers/textRenderer/textRenderer.js +0 -2
  757. package/renderers/textRenderer/textRenderer.mjs +0 -2
  758. package/renderers/timeRenderer/timeRenderer.js +6 -0
  759. package/renderers/timeRenderer/timeRenderer.mjs +6 -0
  760. package/selection/highlight/highlight.js +0 -2
  761. package/selection/highlight/highlight.mjs +0 -2
  762. package/selection/highlight/visualSelection.js +0 -1
  763. package/selection/highlight/visualSelection.mjs +0 -1
  764. package/selection/index.js +0 -2
  765. package/selection/mouseEventHandler.js +0 -2
  766. package/selection/mouseEventHandler.mjs +0 -2
  767. package/selection/range.js +0 -7
  768. package/selection/range.mjs +0 -7
  769. package/selection/selection.js +6 -15
  770. package/selection/selection.mjs +6 -15
  771. package/selection/transformation/_base.js +6 -6
  772. package/selection/transformation/_base.mjs +6 -6
  773. package/selection/transformation/focus.js +2 -2
  774. package/selection/transformation/focus.mjs +2 -2
  775. package/selection/utils.js +3 -13
  776. package/selection/utils.mjs +3 -13
  777. package/settings.d.ts +9 -3
  778. package/shortcutContexts/commands/editor/open.js +0 -2
  779. package/shortcutContexts/commands/editor/open.mjs +0 -2
  780. package/shortcutContexts/commands/moveCellSelection/inlineEnd.js +0 -2
  781. package/shortcutContexts/commands/moveCellSelection/inlineEnd.mjs +0 -2
  782. package/shortcutContexts/commands/moveCellSelection/inlineStart.js +0 -2
  783. package/shortcutContexts/commands/moveCellSelection/inlineStart.mjs +0 -2
  784. package/shortcutContexts/grid.js +11 -12
  785. package/shortcutContexts/grid.mjs +11 -12
  786. package/shortcutContexts/index.js +0 -2
  787. package/shortcuts/context.js +4 -8
  788. package/shortcuts/context.mjs +4 -8
  789. package/shortcuts/keyObserver.js +0 -7
  790. package/shortcuts/keyObserver.mjs +0 -7
  791. package/shortcuts/manager.js +2 -2
  792. package/shortcuts/manager.mjs +2 -2
  793. package/shortcuts/recorder.js +0 -1
  794. package/shortcuts/recorder.mjs +0 -1
  795. package/shortcuts/utils.js +0 -2
  796. package/shortcuts/utils.mjs +0 -2
  797. package/styles/handsontable.css +302 -83
  798. package/styles/handsontable.min.css +3 -3
  799. package/styles/handsontableStyles.js +6 -0
  800. package/styles/handsontableStyles.mjs +4 -0
  801. package/styles/ht-icons-horizon.css +55 -61
  802. package/styles/ht-icons-horizon.min.css +3 -3
  803. package/styles/ht-icons-main.css +55 -61
  804. package/styles/ht-icons-main.min.css +3 -3
  805. package/styles/ht-theme-classic-no-icons.css +302 -374
  806. package/styles/ht-theme-classic-no-icons.min.css +3 -3
  807. package/styles/ht-theme-classic.css +383 -408
  808. package/styles/ht-theme-classic.min.css +3 -3
  809. package/styles/ht-theme-horizon-no-icons.css +300 -378
  810. package/styles/ht-theme-horizon-no-icons.min.css +3 -3
  811. package/styles/ht-theme-horizon.css +381 -412
  812. package/styles/ht-theme-horizon.min.css +3 -3
  813. package/styles/ht-theme-main-no-icons.css +302 -371
  814. package/styles/ht-theme-main-no-icons.min.css +3 -3
  815. package/styles/ht-theme-main.css +383 -405
  816. package/styles/ht-theme-main.min.css +3 -3
  817. package/tableView.js +16 -4
  818. package/tableView.mjs +16 -4
  819. package/themes/engine/builder.js +251 -0
  820. package/themes/engine/builder.mjs +246 -0
  821. package/themes/engine/index.js +7 -0
  822. package/themes/engine/index.mjs +2 -0
  823. package/themes/engine/manager.js +188 -0
  824. package/themes/engine/manager.mjs +183 -0
  825. package/themes/engine/utils/cssVariables.js +132 -0
  826. package/themes/engine/utils/cssVariables.mjs +128 -0
  827. package/themes/engine/utils/validation.js +348 -0
  828. package/themes/engine/utils/validation.mjs +342 -0
  829. package/themes/index.js +15 -0
  830. package/themes/index.mjs +2 -0
  831. package/themes/registry.js +131 -0
  832. package/themes/registry.mjs +122 -0
  833. package/themes/static/variables/colors/ant.d.ts +4 -0
  834. package/themes/static/variables/colors/ant.js +32 -0
  835. package/themes/static/variables/colors/ant.mjs +30 -0
  836. package/themes/static/variables/colors/classic.d.ts +4 -0
  837. package/themes/static/variables/colors/classic.js +32 -0
  838. package/themes/static/variables/colors/classic.mjs +30 -0
  839. package/themes/static/variables/colors/horizon.d.ts +4 -0
  840. package/themes/static/variables/colors/horizon.js +32 -0
  841. package/themes/static/variables/colors/horizon.mjs +30 -0
  842. package/themes/static/variables/colors/main.d.ts +4 -0
  843. package/themes/static/variables/colors/main.js +32 -0
  844. package/themes/static/variables/colors/main.mjs +30 -0
  845. package/themes/static/variables/colors/material.d.ts +4 -0
  846. package/themes/static/variables/colors/material.js +32 -0
  847. package/themes/static/variables/colors/material.mjs +30 -0
  848. package/themes/static/variables/colors/shadcn.d.ts +4 -0
  849. package/themes/static/variables/colors/shadcn.js +32 -0
  850. package/themes/static/variables/colors/shadcn.mjs +30 -0
  851. package/themes/static/variables/density.d.ts +4 -0
  852. package/themes/static/variables/density.js +59 -0
  853. package/themes/static/variables/density.mjs +57 -0
  854. package/themes/static/variables/helpers/iconsMap.d.ts +3 -0
  855. package/themes/static/variables/helpers/iconsMap.js +139 -0
  856. package/themes/static/variables/helpers/iconsMap.mjs +135 -0
  857. package/themes/static/variables/icons/horizon.d.ts +4 -0
  858. package/themes/static/variables/icons/horizon.js +29 -0
  859. package/themes/static/variables/icons/horizon.mjs +28 -0
  860. package/themes/static/variables/icons/main.d.ts +4 -0
  861. package/themes/static/variables/icons/main.js +29 -0
  862. package/themes/static/variables/icons/main.mjs +28 -0
  863. package/themes/static/variables/sizing.d.ts +4 -0
  864. package/themes/static/variables/sizing.js +22 -0
  865. package/themes/static/variables/sizing.mjs +20 -0
  866. package/themes/static/variables/tokens/classic.d.ts +4 -0
  867. package/themes/static/variables/tokens/classic.js +270 -0
  868. package/themes/static/variables/tokens/classic.mjs +268 -0
  869. package/themes/static/variables/tokens/horizon.d.ts +4 -0
  870. package/themes/static/variables/tokens/horizon.js +270 -0
  871. package/themes/static/variables/tokens/horizon.mjs +268 -0
  872. package/themes/static/variables/tokens/main.d.ts +4 -0
  873. package/themes/static/variables/tokens/main.js +270 -0
  874. package/themes/static/variables/tokens/main.mjs +268 -0
  875. package/themes/theme/classic.d.ts +3 -0
  876. package/themes/theme/classic.js +14 -0
  877. package/themes/theme/classic.mjs +11 -0
  878. package/themes/theme/horizon.d.ts +3 -0
  879. package/themes/theme/horizon.js +14 -0
  880. package/themes/theme/horizon.mjs +11 -0
  881. package/themes/theme/index.d.ts +5 -0
  882. package/themes/theme/index.js +9 -0
  883. package/themes/theme/index.mjs +3 -0
  884. package/themes/theme/main.d.ts +3 -0
  885. package/themes/theme/main.js +14 -0
  886. package/themes/theme/main.mjs +11 -0
  887. package/themes.d.ts +491 -0
  888. package/translations/changesObservable/observable.js +0 -10
  889. package/translations/changesObservable/observable.mjs +0 -10
  890. package/translations/changesObservable/observer.js +0 -1
  891. package/translations/changesObservable/observer.mjs +0 -1
  892. package/translations/changesObservable/utils.js +0 -1
  893. package/translations/changesObservable/utils.mjs +0 -1
  894. package/translations/index.js +0 -2
  895. package/translations/indexMapper.js +3 -14
  896. package/translations/indexMapper.mjs +3 -14
  897. package/translations/mapCollections/aggregatedCollection.js +0 -2
  898. package/translations/mapCollections/aggregatedCollection.mjs +0 -2
  899. package/translations/mapCollections/index.js +0 -2
  900. package/translations/mapCollections/mapCollection.js +0 -3
  901. package/translations/mapCollections/mapCollection.mjs +0 -3
  902. package/translations/maps/hidingMap.js +0 -1
  903. package/translations/maps/hidingMap.mjs +0 -1
  904. package/translations/maps/index.js +2 -4
  905. package/translations/maps/index.mjs +2 -2
  906. package/translations/maps/indexMap.js +0 -2
  907. package/translations/maps/indexMap.mjs +0 -2
  908. package/translations/maps/linkedPhysicalIndexToValueMap.js +0 -3
  909. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +0 -3
  910. package/translations/maps/trimmingMap.js +0 -1
  911. package/translations/maps/trimmingMap.mjs +0 -1
  912. package/translations/maps/utils/actionsOnIndexes.js +0 -2
  913. package/translations/maps/utils/actionsOnIndexes.mjs +0 -2
  914. package/translations/maps/utils/index.js +2 -2
  915. package/translations/maps/utils/index.mjs +2 -2
  916. package/translations/maps/utils/physicallyIndexed.js +0 -2
  917. package/translations/maps/utils/physicallyIndexed.mjs +0 -2
  918. package/utils/dataStructures/linkedList.js +0 -1
  919. package/utils/dataStructures/linkedList.mjs +0 -1
  920. package/utils/dataStructures/priorityMap.js +3 -5
  921. package/utils/dataStructures/priorityMap.mjs +3 -5
  922. package/utils/dataStructures/queue.js +0 -1
  923. package/utils/dataStructures/queue.mjs +0 -1
  924. package/utils/dataStructures/stack.js +0 -1
  925. package/utils/dataStructures/stack.mjs +0 -1
  926. package/utils/dataStructures/tree.js +2 -3
  927. package/utils/dataStructures/tree.mjs +2 -3
  928. package/utils/dataStructures/uniqueMap.js +2 -4
  929. package/utils/dataStructures/uniqueMap.mjs +2 -4
  930. package/utils/dataStructures/uniqueSet.js +2 -9
  931. package/utils/dataStructures/uniqueSet.mjs +2 -9
  932. package/utils/ghostTable.js +3 -6
  933. package/utils/ghostTable.mjs +3 -6
  934. package/utils/interval.js +0 -1
  935. package/utils/interval.mjs +0 -1
  936. package/utils/paginator.js +0 -7
  937. package/utils/paginator.mjs +0 -7
  938. package/utils/parseTable.js +0 -6
  939. package/utils/parseTable.mjs +0 -6
  940. package/utils/samplesGenerator.js +2 -3
  941. package/utils/samplesGenerator.mjs +2 -3
  942. package/utils/stylesHandler.js +49 -60
  943. package/utils/stylesHandler.mjs +48 -60
  944. package/validators/autocompleteValidator/autocompleteValidator.js +9 -1
  945. package/validators/autocompleteValidator/autocompleteValidator.mjs +10 -2
  946. package/validators/dateValidator/dateValidator.js +2 -2
  947. package/validators/dateValidator/dateValidator.mjs +1 -1
  948. package/validators/index.d.ts +6 -0
  949. package/validators/index.js +12 -0
  950. package/validators/index.mjs +7 -1
  951. package/validators/intlDateValidator/index.d.ts +1 -0
  952. package/validators/intlDateValidator/index.js +8 -0
  953. package/validators/intlDateValidator/index.mjs +1 -0
  954. package/validators/intlDateValidator/intlDateValidator.d.ts +6 -0
  955. package/validators/intlDateValidator/intlDateValidator.js +39 -0
  956. package/validators/intlDateValidator/intlDateValidator.mjs +34 -0
  957. package/validators/intlTimeValidator/index.d.ts +1 -0
  958. package/validators/intlTimeValidator/index.js +8 -0
  959. package/validators/intlTimeValidator/index.mjs +1 -0
  960. package/validators/intlTimeValidator/intlTimeValidator.d.ts +6 -0
  961. package/validators/intlTimeValidator/intlTimeValidator.js +39 -0
  962. package/validators/intlTimeValidator/intlTimeValidator.mjs +34 -0
  963. package/validators/multiSelectValidator/index.js +6 -0
  964. package/validators/multiSelectValidator/index.mjs +1 -0
  965. package/validators/multiSelectValidator/multiSelectValidator.js +84 -0
  966. package/validators/multiSelectValidator/multiSelectValidator.mjs +80 -0
  967. package/validators/registry.js +2 -2
  968. package/validators/registry.mjs +2 -2
  969. package/dist/README.md +0 -54
  970. package/dist/handsontable.css +0 -2551
  971. package/dist/handsontable.full.css +0 -2781
  972. package/dist/handsontable.full.min.css +0 -51
  973. package/dist/handsontable.min.css +0 -46
  974. package/helpers/date.d.ts +0 -1
  975. package/helpers/date.js +0 -22
  976. package/helpers/date.mjs +0 -18
  977. package/plugins/persistentState/index.d.ts +0 -1
  978. package/plugins/persistentState/index.js +0 -7
  979. package/plugins/persistentState/index.mjs +0 -1
  980. package/plugins/persistentState/persistentState.d.ts +0 -16
  981. package/plugins/persistentState/persistentState.js +0 -159
  982. package/plugins/persistentState/persistentState.mjs +0 -154
  983. package/plugins/persistentState/storage.js +0 -120
  984. package/plugins/persistentState/storage.mjs +0 -117
@@ -1,17 +1,21 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- require("core-js/modules/es.error.cause.js");
5
- require("core-js/modules/esnext.iterator.constructor.js");
6
- require("core-js/modules/esnext.iterator.for-each.js");
7
4
  var _console = require("../helpers/console");
5
+ var _handsontableStyles = _interopRequireDefault(require("../styles/handsontableStyles"));
6
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
7
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
9
8
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
10
9
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
11
10
  function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
12
11
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
13
12
  function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
14
- const CLASSIC_THEME_DEFAULT_HEIGHT = 23;
13
+ /**
14
+ * The id of the core styles element injected into the document head.
15
+ *
16
+ * @type {string}
17
+ */
18
+ const CORE_STYLES_ID = 'handsontable-core-styles';
15
19
 
16
20
  /**
17
21
  * Handles the theme-related style operations.
@@ -21,7 +25,6 @@ var _themeName = /*#__PURE__*/new WeakMap();
21
25
  var _rootElement = /*#__PURE__*/new WeakMap();
22
26
  var _rootComputedStyle = /*#__PURE__*/new WeakMap();
23
27
  var _rootDocument = /*#__PURE__*/new WeakMap();
24
- var _isClassicTheme = /*#__PURE__*/new WeakMap();
25
28
  var _cssVars = /*#__PURE__*/new WeakMap();
26
29
  var _computedStyles = /*#__PURE__*/new WeakMap();
27
30
  var _onThemeChange = /*#__PURE__*/new WeakMap();
@@ -35,19 +38,16 @@ class StylesHandler {
35
38
  * @param {HTMLElement} options.rootElement The root element of the instance.
36
39
  * @param {Document} options.rootDocument The root document of the instance.
37
40
  * @param {function(string)} options.onThemeChange The callback function to be called when the theme changes.
41
+ * @param {boolean} options.injectCoreCss Whether to inject the core styles into the document head.
38
42
  */
39
43
  constructor(_ref) {
40
44
  let {
41
45
  hot,
42
46
  rootElement: _rootElement2,
43
47
  rootDocument: _rootDocument2,
44
- onThemeChange = () => {}
48
+ onThemeChange = () => {},
49
+ injectCoreCss = true
45
50
  } = _ref;
46
- /**
47
- * Calculates the row height based on the current theme and CSS variables.
48
- *
49
- * @returns {number|null} The calculated row height, or `null` if any required CSS variable is not found.
50
- */
51
51
  _classPrivateMethodInitSpec(this, _StylesHandler_brand);
52
52
  /**
53
53
  * The instance of the Handsontable.
@@ -80,12 +80,6 @@ class StylesHandler {
80
80
  * @type {Document}
81
81
  */
82
82
  _classPrivateFieldInitSpec(this, _rootDocument, void 0);
83
- /**
84
- * `true` if the classic theme is enabled, `false` otherwise.
85
- *
86
- * @type {boolean}
87
- */
88
- _classPrivateFieldInitSpec(this, _isClassicTheme, true);
89
83
  /**
90
84
  * An object to store CSS variable values.
91
85
  *
@@ -108,15 +102,9 @@ class StylesHandler {
108
102
  _classPrivateFieldSet(_rootElement, this, _rootElement2);
109
103
  _classPrivateFieldSet(_rootDocument, this, _rootDocument2);
110
104
  _classPrivateFieldSet(_onThemeChange, this, onThemeChange);
111
- }
112
-
113
- /**
114
- * Gets the value indicating whether the classic theme is enabled.
115
- *
116
- * @returns {boolean} `true` if the classic theme is enabled, `false` otherwise.
117
- */
118
- isClassicTheme() {
119
- return _classPrivateFieldGet(_isClassicTheme, this);
105
+ if (injectCoreCss) {
106
+ _assertClassBrand(_StylesHandler_brand, this, _injectCoreStyles).call(this);
107
+ }
120
108
  }
121
109
 
122
110
  /**
@@ -127,9 +115,6 @@ class StylesHandler {
127
115
  */
128
116
  getCSSVariableValue(variableName) {
129
117
  var _assertClassBrand$cal;
130
- if (_classPrivateFieldGet(_isClassicTheme, this)) {
131
- return null;
132
- }
133
118
  if (_classPrivateFieldGet(_cssVars, this)[`--ht-${variableName}`]) {
134
119
  return _classPrivateFieldGet(_cssVars, this)[`--ht-${variableName}`];
135
120
  }
@@ -148,7 +133,7 @@ class StylesHandler {
148
133
  */
149
134
  getStyleForTD(cssProperty) {
150
135
  var _classPrivateFieldGet2;
151
- return (_classPrivateFieldGet2 = _classPrivateFieldGet(_computedStyles, this)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.td[cssProperty];
136
+ return (_classPrivateFieldGet2 = _classPrivateFieldGet(_computedStyles, this)) === null || _classPrivateFieldGet2 === void 0 || (_classPrivateFieldGet2 = _classPrivateFieldGet2.td) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2[cssProperty];
152
137
  }
153
138
 
154
139
  /**
@@ -158,13 +143,7 @@ class StylesHandler {
158
143
  * @returns {number} The calculated row height.
159
144
  */
160
145
  getDefaultRowHeight(visualRowIndex) {
161
- if (_classPrivateFieldGet(_isClassicTheme, this)) {
162
- return CLASSIC_THEME_DEFAULT_HEIGHT;
163
- }
164
146
  const rowHeight = _assertClassBrand(_StylesHandler_brand, this, _calculateRowHeight).call(this);
165
- if (!rowHeight) {
166
- return CLASSIC_THEME_DEFAULT_HEIGHT;
167
- }
168
147
  if (visualRowIndex !== undefined && visualRowIndex === _classPrivateFieldGet(_hot, this).view.getFirstRenderedVisibleRow()) {
169
148
  // add 1px border-top-width compensation for the first rendered row
170
149
  return rowHeight + 1;
@@ -187,30 +166,16 @@ class StylesHandler {
187
166
  * @param {string|undefined|boolean} [themeName] - The name of the theme to apply.
188
167
  */
189
168
  useTheme(themeName) {
190
- if (!themeName) {
191
- _classPrivateFieldSet(_themeName, this, undefined);
192
- _classPrivateFieldSet(_isClassicTheme, this, true);
193
- _classPrivateFieldGet(_onThemeChange, this).call(this, _classPrivateFieldGet(_themeName, this));
194
- _assertClassBrand(_StylesHandler_brand, this, _cacheStylesheetValues).call(this);
169
+ if (!/ht-theme-.*/.test(themeName)) {
170
+ (0, _console.warn)(`${themeName} isn't a valid theme name. Please ensure it follows the format ht-theme-<theme-name>.`);
195
171
  return;
196
172
  }
173
+ _assertClassBrand(_StylesHandler_brand, this, _clearCachedValues).call(this);
197
174
  if (themeName && themeName !== _classPrivateFieldGet(_themeName, this)) {
198
- if (!/ht-theme-.*/.test(themeName)) {
199
- (0, _console.warn)(`Invalid theme name: ${themeName}. Please provide a valid theme name.`);
200
- _classPrivateFieldSet(_themeName, this, undefined);
201
- _classPrivateFieldSet(_isClassicTheme, this, false);
202
- _classPrivateFieldGet(_onThemeChange, this).call(this, _classPrivateFieldGet(_themeName, this));
203
- _assertClassBrand(_StylesHandler_brand, this, _cacheStylesheetValues).call(this);
204
- return;
205
- }
206
- if (_classPrivateFieldGet(_themeName, this)) {
207
- _assertClassBrand(_StylesHandler_brand, this, _clearCachedValues).call(this);
208
- }
209
175
  _classPrivateFieldSet(_themeName, this, themeName);
210
- _classPrivateFieldSet(_isClassicTheme, this, false);
211
- _classPrivateFieldGet(_onThemeChange, this).call(this, _classPrivateFieldGet(_themeName, this));
212
- _assertClassBrand(_StylesHandler_brand, this, _cacheStylesheetValues).call(this);
213
176
  }
177
+ _classPrivateFieldGet(_onThemeChange, this).call(this, _classPrivateFieldGet(_themeName, this));
178
+ _assertClassBrand(_StylesHandler_brand, this, _cacheStylesheetValues).call(this);
214
179
  }
215
180
 
216
181
  /**
@@ -221,8 +186,34 @@ class StylesHandler {
221
186
  getThemeName() {
222
187
  return _classPrivateFieldGet(_themeName, this);
223
188
  }
189
+ /**
190
+ * Clears all cached CSS variable values and computed styles.
191
+ * This should be called when theme CSS variables are dynamically updated.
192
+ */
193
+ clearCache() {
194
+ _assertClassBrand(_StylesHandler_brand, this, _clearCachedValues).call(this);
195
+ _assertClassBrand(_StylesHandler_brand, this, _cacheStylesheetValues).call(this);
196
+ }
224
197
  }
225
198
  exports.StylesHandler = StylesHandler;
199
+ function _injectCoreStyles() {
200
+ if (!_classPrivateFieldGet(_hot, this) || !_classPrivateFieldGet(_rootDocument, this) || !_classPrivateFieldGet(_rootDocument, this).head) {
201
+ return;
202
+ }
203
+ const existing = _classPrivateFieldGet(_rootDocument, this).getElementById(CORE_STYLES_ID);
204
+ if (existing && existing instanceof HTMLStyleElement) {
205
+ return;
206
+ }
207
+ const baseStyles = _classPrivateFieldGet(_rootDocument, this).createElement('style');
208
+ baseStyles.id = CORE_STYLES_ID;
209
+ baseStyles.textContent = _handsontableStyles.default;
210
+ _classPrivateFieldGet(_rootDocument, this).head.appendChild(baseStyles);
211
+ }
212
+ /**
213
+ * Calculates the row height based on the current theme and CSS variables.
214
+ *
215
+ * @returns {number|null} The calculated row height, or `null` if any required CSS variable is not found.
216
+ */
226
217
  function _calculateRowHeight() {
227
218
  const lineHeightVarValue = this.getCSSVariableValue('line-height');
228
219
  const verticalPaddingVarValue = this.getCSSVariableValue('cell-vertical-padding');
@@ -236,9 +227,7 @@ function _calculateRowHeight() {
236
227
  * Caches the computed style values for the root element and `td` element.
237
228
  */
238
229
  function _cacheStylesheetValues() {
239
- if (!this.isClassicTheme()) {
240
- _classPrivateFieldSet(_rootComputedStyle, this, getComputedStyle(_classPrivateFieldGet(_rootElement, this)));
241
- }
230
+ _classPrivateFieldSet(_rootComputedStyle, this, getComputedStyle(_classPrivateFieldGet(_rootElement, this)));
242
231
  const stylesForTD = _assertClassBrand(_StylesHandler_brand, this, _getStylesForTD).call(this, ['box-sizing', 'border-bottom-width']);
243
232
  _classPrivateFieldGet(_computedStyles, this).td = {
244
233
  ..._classPrivateFieldGet(_computedStyles, this).td,
@@ -298,7 +287,8 @@ function _getParsedNumericCSSValue(property) {
298
287
  * @returns {string|null} The value of the specified CSS property or `null` if non-existent.
299
288
  */
300
289
  function _getCSSValue(property) {
301
- const acquiredValue = _classPrivateFieldGet(_rootComputedStyle, this).getPropertyValue(property);
290
+ var _classPrivateFieldGet3;
291
+ const acquiredValue = (_classPrivateFieldGet3 = _classPrivateFieldGet(_rootComputedStyle, this)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.getPropertyValue(property);
302
292
  return acquiredValue === '' ? null : acquiredValue;
303
293
  }
304
294
  /**
@@ -307,5 +297,4 @@ function _getCSSValue(property) {
307
297
  function _clearCachedValues() {
308
298
  _classPrivateFieldSet(_computedStyles, this, {});
309
299
  _classPrivateFieldSet(_cssVars, this, {});
310
- _classPrivateFieldSet(_isClassicTheme, this, true);
311
300
  }
@@ -1,6 +1,3 @@
1
- import "core-js/modules/es.error.cause.js";
2
- import "core-js/modules/esnext.iterator.constructor.js";
3
- import "core-js/modules/esnext.iterator.for-each.js";
4
1
  function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
5
2
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
6
3
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
@@ -8,7 +5,13 @@ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
8
5
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
9
6
  function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
10
7
  import { warn } from "../helpers/console.mjs";
11
- const CLASSIC_THEME_DEFAULT_HEIGHT = 23;
8
+ import handsontableStyles from "../styles/handsontableStyles.mjs";
9
+ /**
10
+ * The id of the core styles element injected into the document head.
11
+ *
12
+ * @type {string}
13
+ */
14
+ const CORE_STYLES_ID = 'handsontable-core-styles';
12
15
 
13
16
  /**
14
17
  * Handles the theme-related style operations.
@@ -18,7 +21,6 @@ var _themeName = /*#__PURE__*/new WeakMap();
18
21
  var _rootElement = /*#__PURE__*/new WeakMap();
19
22
  var _rootComputedStyle = /*#__PURE__*/new WeakMap();
20
23
  var _rootDocument = /*#__PURE__*/new WeakMap();
21
- var _isClassicTheme = /*#__PURE__*/new WeakMap();
22
24
  var _cssVars = /*#__PURE__*/new WeakMap();
23
25
  var _computedStyles = /*#__PURE__*/new WeakMap();
24
26
  var _onThemeChange = /*#__PURE__*/new WeakMap();
@@ -32,19 +34,16 @@ export class StylesHandler {
32
34
  * @param {HTMLElement} options.rootElement The root element of the instance.
33
35
  * @param {Document} options.rootDocument The root document of the instance.
34
36
  * @param {function(string)} options.onThemeChange The callback function to be called when the theme changes.
37
+ * @param {boolean} options.injectCoreCss Whether to inject the core styles into the document head.
35
38
  */
36
39
  constructor(_ref) {
37
40
  let {
38
41
  hot,
39
42
  rootElement: _rootElement2,
40
43
  rootDocument: _rootDocument2,
41
- onThemeChange = () => {}
44
+ onThemeChange = () => {},
45
+ injectCoreCss = true
42
46
  } = _ref;
43
- /**
44
- * Calculates the row height based on the current theme and CSS variables.
45
- *
46
- * @returns {number|null} The calculated row height, or `null` if any required CSS variable is not found.
47
- */
48
47
  _classPrivateMethodInitSpec(this, _StylesHandler_brand);
49
48
  /**
50
49
  * The instance of the Handsontable.
@@ -77,12 +76,6 @@ export class StylesHandler {
77
76
  * @type {Document}
78
77
  */
79
78
  _classPrivateFieldInitSpec(this, _rootDocument, void 0);
80
- /**
81
- * `true` if the classic theme is enabled, `false` otherwise.
82
- *
83
- * @type {boolean}
84
- */
85
- _classPrivateFieldInitSpec(this, _isClassicTheme, true);
86
79
  /**
87
80
  * An object to store CSS variable values.
88
81
  *
@@ -105,15 +98,9 @@ export class StylesHandler {
105
98
  _classPrivateFieldSet(_rootElement, this, _rootElement2);
106
99
  _classPrivateFieldSet(_rootDocument, this, _rootDocument2);
107
100
  _classPrivateFieldSet(_onThemeChange, this, onThemeChange);
108
- }
109
-
110
- /**
111
- * Gets the value indicating whether the classic theme is enabled.
112
- *
113
- * @returns {boolean} `true` if the classic theme is enabled, `false` otherwise.
114
- */
115
- isClassicTheme() {
116
- return _classPrivateFieldGet(_isClassicTheme, this);
101
+ if (injectCoreCss) {
102
+ _assertClassBrand(_StylesHandler_brand, this, _injectCoreStyles).call(this);
103
+ }
117
104
  }
118
105
 
119
106
  /**
@@ -124,9 +111,6 @@ export class StylesHandler {
124
111
  */
125
112
  getCSSVariableValue(variableName) {
126
113
  var _assertClassBrand$cal;
127
- if (_classPrivateFieldGet(_isClassicTheme, this)) {
128
- return null;
129
- }
130
114
  if (_classPrivateFieldGet(_cssVars, this)[`--ht-${variableName}`]) {
131
115
  return _classPrivateFieldGet(_cssVars, this)[`--ht-${variableName}`];
132
116
  }
@@ -145,7 +129,7 @@ export class StylesHandler {
145
129
  */
146
130
  getStyleForTD(cssProperty) {
147
131
  var _classPrivateFieldGet2;
148
- return (_classPrivateFieldGet2 = _classPrivateFieldGet(_computedStyles, this)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.td[cssProperty];
132
+ return (_classPrivateFieldGet2 = _classPrivateFieldGet(_computedStyles, this)) === null || _classPrivateFieldGet2 === void 0 || (_classPrivateFieldGet2 = _classPrivateFieldGet2.td) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2[cssProperty];
149
133
  }
150
134
 
151
135
  /**
@@ -155,13 +139,7 @@ export class StylesHandler {
155
139
  * @returns {number} The calculated row height.
156
140
  */
157
141
  getDefaultRowHeight(visualRowIndex) {
158
- if (_classPrivateFieldGet(_isClassicTheme, this)) {
159
- return CLASSIC_THEME_DEFAULT_HEIGHT;
160
- }
161
142
  const rowHeight = _assertClassBrand(_StylesHandler_brand, this, _calculateRowHeight).call(this);
162
- if (!rowHeight) {
163
- return CLASSIC_THEME_DEFAULT_HEIGHT;
164
- }
165
143
  if (visualRowIndex !== undefined && visualRowIndex === _classPrivateFieldGet(_hot, this).view.getFirstRenderedVisibleRow()) {
166
144
  // add 1px border-top-width compensation for the first rendered row
167
145
  return rowHeight + 1;
@@ -184,30 +162,16 @@ export class StylesHandler {
184
162
  * @param {string|undefined|boolean} [themeName] - The name of the theme to apply.
185
163
  */
186
164
  useTheme(themeName) {
187
- if (!themeName) {
188
- _classPrivateFieldSet(_themeName, this, undefined);
189
- _classPrivateFieldSet(_isClassicTheme, this, true);
190
- _classPrivateFieldGet(_onThemeChange, this).call(this, _classPrivateFieldGet(_themeName, this));
191
- _assertClassBrand(_StylesHandler_brand, this, _cacheStylesheetValues).call(this);
165
+ if (!/ht-theme-.*/.test(themeName)) {
166
+ warn(`${themeName} isn't a valid theme name. Please ensure it follows the format ht-theme-<theme-name>.`);
192
167
  return;
193
168
  }
169
+ _assertClassBrand(_StylesHandler_brand, this, _clearCachedValues).call(this);
194
170
  if (themeName && themeName !== _classPrivateFieldGet(_themeName, this)) {
195
- if (!/ht-theme-.*/.test(themeName)) {
196
- warn(`Invalid theme name: ${themeName}. Please provide a valid theme name.`);
197
- _classPrivateFieldSet(_themeName, this, undefined);
198
- _classPrivateFieldSet(_isClassicTheme, this, false);
199
- _classPrivateFieldGet(_onThemeChange, this).call(this, _classPrivateFieldGet(_themeName, this));
200
- _assertClassBrand(_StylesHandler_brand, this, _cacheStylesheetValues).call(this);
201
- return;
202
- }
203
- if (_classPrivateFieldGet(_themeName, this)) {
204
- _assertClassBrand(_StylesHandler_brand, this, _clearCachedValues).call(this);
205
- }
206
171
  _classPrivateFieldSet(_themeName, this, themeName);
207
- _classPrivateFieldSet(_isClassicTheme, this, false);
208
- _classPrivateFieldGet(_onThemeChange, this).call(this, _classPrivateFieldGet(_themeName, this));
209
- _assertClassBrand(_StylesHandler_brand, this, _cacheStylesheetValues).call(this);
210
172
  }
173
+ _classPrivateFieldGet(_onThemeChange, this).call(this, _classPrivateFieldGet(_themeName, this));
174
+ _assertClassBrand(_StylesHandler_brand, this, _cacheStylesheetValues).call(this);
211
175
  }
212
176
 
213
177
  /**
@@ -218,7 +182,33 @@ export class StylesHandler {
218
182
  getThemeName() {
219
183
  return _classPrivateFieldGet(_themeName, this);
220
184
  }
185
+ /**
186
+ * Clears all cached CSS variable values and computed styles.
187
+ * This should be called when theme CSS variables are dynamically updated.
188
+ */
189
+ clearCache() {
190
+ _assertClassBrand(_StylesHandler_brand, this, _clearCachedValues).call(this);
191
+ _assertClassBrand(_StylesHandler_brand, this, _cacheStylesheetValues).call(this);
192
+ }
221
193
  }
194
+ function _injectCoreStyles() {
195
+ if (!_classPrivateFieldGet(_hot, this) || !_classPrivateFieldGet(_rootDocument, this) || !_classPrivateFieldGet(_rootDocument, this).head) {
196
+ return;
197
+ }
198
+ const existing = _classPrivateFieldGet(_rootDocument, this).getElementById(CORE_STYLES_ID);
199
+ if (existing && existing instanceof HTMLStyleElement) {
200
+ return;
201
+ }
202
+ const baseStyles = _classPrivateFieldGet(_rootDocument, this).createElement('style');
203
+ baseStyles.id = CORE_STYLES_ID;
204
+ baseStyles.textContent = handsontableStyles;
205
+ _classPrivateFieldGet(_rootDocument, this).head.appendChild(baseStyles);
206
+ }
207
+ /**
208
+ * Calculates the row height based on the current theme and CSS variables.
209
+ *
210
+ * @returns {number|null} The calculated row height, or `null` if any required CSS variable is not found.
211
+ */
222
212
  function _calculateRowHeight() {
223
213
  const lineHeightVarValue = this.getCSSVariableValue('line-height');
224
214
  const verticalPaddingVarValue = this.getCSSVariableValue('cell-vertical-padding');
@@ -232,9 +222,7 @@ function _calculateRowHeight() {
232
222
  * Caches the computed style values for the root element and `td` element.
233
223
  */
234
224
  function _cacheStylesheetValues() {
235
- if (!this.isClassicTheme()) {
236
- _classPrivateFieldSet(_rootComputedStyle, this, getComputedStyle(_classPrivateFieldGet(_rootElement, this)));
237
- }
225
+ _classPrivateFieldSet(_rootComputedStyle, this, getComputedStyle(_classPrivateFieldGet(_rootElement, this)));
238
226
  const stylesForTD = _assertClassBrand(_StylesHandler_brand, this, _getStylesForTD).call(this, ['box-sizing', 'border-bottom-width']);
239
227
  _classPrivateFieldGet(_computedStyles, this).td = {
240
228
  ..._classPrivateFieldGet(_computedStyles, this).td,
@@ -294,7 +282,8 @@ function _getParsedNumericCSSValue(property) {
294
282
  * @returns {string|null} The value of the specified CSS property or `null` if non-existent.
295
283
  */
296
284
  function _getCSSValue(property) {
297
- const acquiredValue = _classPrivateFieldGet(_rootComputedStyle, this).getPropertyValue(property);
285
+ var _classPrivateFieldGet3;
286
+ const acquiredValue = (_classPrivateFieldGet3 = _classPrivateFieldGet(_rootComputedStyle, this)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.getPropertyValue(property);
298
287
  return acquiredValue === '' ? null : acquiredValue;
299
288
  }
300
289
  /**
@@ -303,5 +292,4 @@ function _getCSSValue(property) {
303
292
  function _clearCachedValues() {
304
293
  _classPrivateFieldSet(_computedStyles, this, {});
305
294
  _classPrivateFieldSet(_cssVars, this, {});
306
- _classPrivateFieldSet(_isClassicTheme, this, true);
307
295
  }
@@ -3,6 +3,7 @@
3
3
  exports.__esModule = true;
4
4
  exports.autocompleteValidator = autocompleteValidator;
5
5
  var _object = require("../../helpers/object");
6
+ var _mixed = require("../../helpers/mixed");
6
7
  const VALIDATOR_TYPE = exports.VALIDATOR_TYPE = 'autocomplete';
7
8
 
8
9
  /**
@@ -13,8 +14,15 @@ const VALIDATOR_TYPE = exports.VALIDATOR_TYPE = 'autocomplete';
13
14
  * @param {Function} callback Callback called with validation result.
14
15
  */
15
16
  function autocompleteValidator(value, callback) {
17
+ const isKeyValueObject = obj => (0, _object.isObject)(obj) && (0, _mixed.isDefined)(obj.key) && (0, _mixed.isDefined)(obj.value);
18
+ const isNullOrUndefined = val => {
19
+ if (isKeyValueObject(val)) {
20
+ return isNullOrUndefined(val.key) && isNullOrUndefined(val.value);
21
+ }
22
+ return val === null || val === undefined;
23
+ };
16
24
  let valueToValidate = value;
17
- if (valueToValidate === null || valueToValidate === undefined) {
25
+ if (isNullOrUndefined(valueToValidate)) {
18
26
  valueToValidate = '';
19
27
  }
20
28
  if (this.allowEmpty && valueToValidate === '') {
@@ -1,4 +1,5 @@
1
- import { isObjectEqual } from "../../helpers/object.mjs";
1
+ import { isObjectEqual, isObject } from "../../helpers/object.mjs";
2
+ import { isDefined } from "../../helpers/mixed.mjs";
2
3
  export const VALIDATOR_TYPE = 'autocomplete';
3
4
 
4
5
  /**
@@ -9,8 +10,15 @@ export const VALIDATOR_TYPE = 'autocomplete';
9
10
  * @param {Function} callback Callback called with validation result.
10
11
  */
11
12
  export function autocompleteValidator(value, callback) {
13
+ const isKeyValueObject = obj => isObject(obj) && isDefined(obj.key) && isDefined(obj.value);
14
+ const isNullOrUndefined = val => {
15
+ if (isKeyValueObject(val)) {
16
+ return isNullOrUndefined(val.key) && isNullOrUndefined(val.value);
17
+ }
18
+ return val === null || val === undefined;
19
+ };
12
20
  let valueToValidate = value;
13
- if (valueToValidate === null || valueToValidate === undefined) {
21
+ if (isNullOrUndefined(valueToValidate)) {
14
22
  valueToValidate = '';
15
23
  }
16
24
  if (this.allowEmpty && valueToValidate === '') {
@@ -6,7 +6,7 @@ exports.dateValidator = dateValidator;
6
6
  var _moment = _interopRequireDefault(require("moment"));
7
7
  var _registry = require("../../editors/registry");
8
8
  var _dateEditor = require("../../editors/dateEditor");
9
- var _date = require("../../helpers/date");
9
+ var _dateTime = require("../../helpers/dateTime");
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
11
  const VALIDATOR_TYPE = exports.VALIDATOR_TYPE = 'date';
12
12
 
@@ -58,7 +58,7 @@ dateValidator.VALIDATOR_TYPE = VALIDATOR_TYPE;
58
58
  * @returns {string}
59
59
  */
60
60
  function correctFormat(value, dateFormat) {
61
- const dateFromDate = (0, _moment.default)((0, _date.getNormalizedDate)(value));
61
+ const dateFromDate = (0, _moment.default)((0, _dateTime.getNormalizedDate)(value));
62
62
  const dateFromMoment = (0, _moment.default)(value, dateFormat);
63
63
  const isAlphanumeric = value.search(/[A-Za-z]/g) > -1;
64
64
  let date;
@@ -1,7 +1,7 @@
1
1
  import moment from 'moment';
2
2
  import { getEditorInstance } from "../../editors/registry.mjs";
3
3
  import { EDITOR_TYPE as DATE_EDITOR_TYPE } from "../../editors/dateEditor/index.mjs";
4
- import { getNormalizedDate } from "../../helpers/date.mjs";
4
+ import { getNormalizedDate } from "../../helpers/dateTime.mjs";
5
5
  export const VALIDATOR_TYPE = 'date';
6
6
 
7
7
  /**
@@ -1,5 +1,7 @@
1
1
  import { autocompleteValidator, VALIDATOR_TYPE as AUTOCOMPLETE_VALIDATOR } from './autocompleteValidator';
2
2
  import { dropdownValidator, VALIDATOR_TYPE as DROPDOWN_VALIDATOR } from './dropdownValidator';
3
+ import { intlDateValidator, VALIDATOR_TYPE as INTL_DATE_VALIDATOR } from './intlDateValidator';
4
+ import { intlTimeValidator, VALIDATOR_TYPE as INTL_TIME_VALIDATOR } from './intlTimeValidator';
3
5
  import { dateValidator, VALIDATOR_TYPE as DATE_VALIDATOR } from './dateValidator';
4
6
  import { numericValidator, VALIDATOR_TYPE as NUMERIC_VALIDATOR } from './numericValidator';
5
7
  import { timeValidator, VALIDATOR_TYPE as TIME_VALIDATOR } from './timeValidator';
@@ -8,6 +10,8 @@ export function registerAllValidators(): void;
8
10
 
9
11
  export interface Validators {
10
12
  autocomplete: typeof autocompleteValidator;
13
+ intlDate: typeof intlDateValidator;
14
+ intlTime: typeof intlTimeValidator;
11
15
  date: typeof dateValidator;
12
16
  numeric: typeof numericValidator;
13
17
  time: typeof timeValidator;
@@ -21,6 +25,8 @@ export type ValidatorType = keyof Validators;
21
25
  export {
22
26
  autocompleteValidator, AUTOCOMPLETE_VALIDATOR,
23
27
  dropdownValidator, DROPDOWN_VALIDATOR,
28
+ intlDateValidator, INTL_DATE_VALIDATOR,
29
+ intlTimeValidator, INTL_TIME_VALIDATOR,
24
30
  dateValidator, DATE_VALIDATOR,
25
31
  numericValidator, NUMERIC_VALIDATOR,
26
32
  timeValidator, TIME_VALIDATOR
@@ -11,6 +11,15 @@ exports.DATE_VALIDATOR = _dateValidator.VALIDATOR_TYPE;
11
11
  var _dropdownValidator = require("./dropdownValidator");
12
12
  exports.dropdownValidator = _dropdownValidator.dropdownValidator;
13
13
  exports.DROPDOWN_VALIDATOR = _dropdownValidator.VALIDATOR_TYPE;
14
+ var _intlDateValidator = require("./intlDateValidator");
15
+ exports.intlDateValidator = _intlDateValidator.intlDateValidator;
16
+ exports.INTL_DATE_VALIDATOR = _intlDateValidator.VALIDATOR_TYPE;
17
+ var _intlTimeValidator = require("./intlTimeValidator");
18
+ exports.intlTimeValidator = _intlTimeValidator.intlTimeValidator;
19
+ exports.INTL_TIME_VALIDATOR = _intlTimeValidator.VALIDATOR_TYPE;
20
+ var _multiSelectValidator = require("./multiSelectValidator");
21
+ exports.multiSelectValidator = _multiSelectValidator.multiSelectValidator;
22
+ exports.MULTISELECT_VALIDATOR = _multiSelectValidator.VALIDATOR_TYPE;
14
23
  var _numericValidator = require("./numericValidator");
15
24
  exports.numericValidator = _numericValidator.numericValidator;
16
25
  exports.NUMERIC_VALIDATOR = _numericValidator.VALIDATOR_TYPE;
@@ -30,6 +39,9 @@ function registerAllValidators() {
30
39
  (0, _registry.registerValidator)(_autocompleteValidator.autocompleteValidator);
31
40
  (0, _registry.registerValidator)(_dropdownValidator.dropdownValidator);
32
41
  (0, _registry.registerValidator)(_dateValidator.dateValidator);
42
+ (0, _registry.registerValidator)(_intlDateValidator.intlDateValidator);
43
+ (0, _registry.registerValidator)(_intlTimeValidator.intlTimeValidator);
44
+ (0, _registry.registerValidator)(_multiSelectValidator.multiSelectValidator);
33
45
  (0, _registry.registerValidator)(_numericValidator.numericValidator);
34
46
  (0, _registry.registerValidator)(_timeValidator.timeValidator);
35
47
  }
@@ -1,6 +1,9 @@
1
1
  import { autocompleteValidator, VALIDATOR_TYPE as AUTOCOMPLETE_VALIDATOR } from "./autocompleteValidator/index.mjs";
2
2
  import { dateValidator, VALIDATOR_TYPE as DATE_VALIDATOR } from "./dateValidator/index.mjs";
3
3
  import { dropdownValidator, VALIDATOR_TYPE as DROPDOWN_VALIDATOR } from "./dropdownValidator/index.mjs";
4
+ import { intlDateValidator, VALIDATOR_TYPE as INTL_DATE_VALIDATOR } from "./intlDateValidator/index.mjs";
5
+ import { intlTimeValidator, VALIDATOR_TYPE as INTL_TIME_VALIDATOR } from "./intlTimeValidator/index.mjs";
6
+ import { multiSelectValidator, VALIDATOR_TYPE as MULTISELECT_VALIDATOR } from "./multiSelectValidator/index.mjs";
4
7
  import { numericValidator, VALIDATOR_TYPE as NUMERIC_VALIDATOR } from "./numericValidator/index.mjs";
5
8
  import { timeValidator, VALIDATOR_TYPE as TIME_VALIDATOR } from "./timeValidator/index.mjs";
6
9
  import { registerValidator } from "./registry.mjs";
@@ -11,8 +14,11 @@ export function registerAllValidators() {
11
14
  registerValidator(autocompleteValidator);
12
15
  registerValidator(dropdownValidator);
13
16
  registerValidator(dateValidator);
17
+ registerValidator(intlDateValidator);
18
+ registerValidator(intlTimeValidator);
19
+ registerValidator(multiSelectValidator);
14
20
  registerValidator(numericValidator);
15
21
  registerValidator(timeValidator);
16
22
  }
17
- export { autocompleteValidator, AUTOCOMPLETE_VALIDATOR, dropdownValidator, DROPDOWN_VALIDATOR, dateValidator, DATE_VALIDATOR, numericValidator, NUMERIC_VALIDATOR, timeValidator, TIME_VALIDATOR };
23
+ export { autocompleteValidator, AUTOCOMPLETE_VALIDATOR, dropdownValidator, DROPDOWN_VALIDATOR, dateValidator, DATE_VALIDATOR, intlDateValidator, INTL_DATE_VALIDATOR, intlTimeValidator, INTL_TIME_VALIDATOR, multiSelectValidator, MULTISELECT_VALIDATOR, numericValidator, NUMERIC_VALIDATOR, timeValidator, TIME_VALIDATOR };
18
24
  export { getRegisteredValidatorNames, getRegisteredValidators, getValidator, hasValidator, registerValidator } from "./registry.mjs";
@@ -0,0 +1 @@
1
+ export { VALIDATOR_TYPE, intlDateValidator, sourceDataValidator } from './intlDateValidator';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ var _intlDateValidator = require("./intlDateValidator");
5
+ exports.VALIDATOR_TYPE = _intlDateValidator.VALIDATOR_TYPE;
6
+ exports.SOURCE_DATA_WARNING_MESSAGE = _intlDateValidator.SOURCE_DATA_WARNING_MESSAGE;
7
+ exports.intlDateValidator = _intlDateValidator.intlDateValidator;
8
+ exports.sourceDataValidator = _intlDateValidator.sourceDataValidator;
@@ -0,0 +1 @@
1
+ export { VALIDATOR_TYPE, SOURCE_DATA_WARNING_MESSAGE, intlDateValidator, sourceDataValidator } from "./intlDateValidator.mjs";
@@ -0,0 +1,6 @@
1
+ import { CellProperties } from '../../settings';
2
+ import { CellValue } from '../../common';
3
+
4
+ export const VALIDATOR_TYPE: 'intl-date';
5
+ export function sourceDataValidator(value: CellValue, cellProperties: CellProperties): boolean;
6
+ export function intlDateValidator(this: CellProperties, value: CellValue, callback: (valid: boolean) => void): void;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.intlDateValidator = intlDateValidator;
5
+ exports.sourceDataValidator = sourceDataValidator;
6
+ var _dateTime = require("../../helpers/dateTime");
7
+ var _mixed = require("../../helpers/mixed");
8
+ const VALIDATOR_TYPE = exports.VALIDATOR_TYPE = 'intl-date';
9
+ const SOURCE_DATA_WARNING_MESSAGE = exports.SOURCE_DATA_WARNING_MESSAGE = 'Source data warning ([itemsCount]). ' + 'Invalid value for "intl-date" cell type.\n\n' + '[affectedCells]\n\n' + 'Expected a value compatible with the ISO 8601 date format ("YYYY-MM-DD").';
10
+
11
+ /**
12
+ * Source data validator.
13
+ *
14
+ * @param {*} value Value of the source data of the cell.
15
+ * @param {CellMeta} cellMeta Cell meta object.
16
+ * @returns {boolean} True if valid, false otherwise.
17
+ */
18
+ function sourceDataValidator(value, cellMeta) {
19
+ if (cellMeta.allowEmpty && (0, _mixed.isEmpty)(value)) {
20
+ return true;
21
+ }
22
+ return (0, _dateTime.isValidISODate)(value);
23
+ }
24
+
25
+ /**
26
+ * The Date cell validator.
27
+ *
28
+ * @private
29
+ * @param {*} value Value of edited cell.
30
+ * @param {Function} callback Callback called with validation result.
31
+ */
32
+ function intlDateValidator(value, callback) {
33
+ if (this.allowEmpty && (0, _mixed.isEmpty)(value)) {
34
+ callback(true);
35
+ return;
36
+ }
37
+ callback((0, _dateTime.isValidISODate)(value));
38
+ }
39
+ intlDateValidator.VALIDATOR_TYPE = VALIDATOR_TYPE;