handsontable 12.1.2 → 12.2.0

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 (918) hide show
  1. package/3rdparty/SheetClip/SheetClip.js +3 -32
  2. package/3rdparty/SheetClip/SheetClip.mjs +3 -23
  3. package/3rdparty/SheetClip/index.js +0 -2
  4. package/3rdparty/autoResize/autoResize.js +119 -145
  5. package/3rdparty/autoResize/autoResize.mjs +119 -143
  6. package/3rdparty/autoResize/index.js +0 -2
  7. package/3rdparty/walkontable/src/border.js +72 -174
  8. package/3rdparty/walkontable/src/border.mjs +74 -161
  9. package/3rdparty/walkontable/src/calculator/constants.js +0 -3
  10. package/3rdparty/walkontable/src/calculator/constants.mjs +0 -2
  11. package/3rdparty/walkontable/src/calculator/index.js +0 -10
  12. package/3rdparty/walkontable/src/calculator/viewportColumns.js +26 -76
  13. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +26 -69
  14. package/3rdparty/walkontable/src/calculator/viewportRows.js +20 -48
  15. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +20 -41
  16. package/3rdparty/walkontable/src/cell/coords.js +13 -43
  17. package/3rdparty/walkontable/src/cell/coords.mjs +13 -38
  18. package/3rdparty/walkontable/src/cell/range.js +55 -130
  19. package/3rdparty/walkontable/src/cell/range.mjs +60 -126
  20. package/3rdparty/walkontable/src/core/_base.js +16 -74
  21. package/3rdparty/walkontable/src/core/_base.mjs +19 -70
  22. package/3rdparty/walkontable/src/core/clone.js +1 -40
  23. package/3rdparty/walkontable/src/core/clone.mjs +3 -30
  24. package/3rdparty/walkontable/src/core/core.js +3 -57
  25. package/3rdparty/walkontable/src/core/core.mjs +5 -41
  26. package/3rdparty/walkontable/src/event.js +31 -78
  27. package/3rdparty/walkontable/src/event.mjs +31 -65
  28. package/3rdparty/walkontable/src/facade/core.js +1 -17
  29. package/3rdparty/walkontable/src/facade/core.mjs +7 -20
  30. package/3rdparty/walkontable/src/filter/column.js +9 -18
  31. package/3rdparty/walkontable/src/filter/column.mjs +9 -17
  32. package/3rdparty/walkontable/src/filter/row.js +9 -18
  33. package/3rdparty/walkontable/src/filter/row.mjs +9 -17
  34. package/3rdparty/walkontable/src/index.js +0 -31
  35. package/3rdparty/walkontable/src/overlay/_base.js +24 -69
  36. package/3rdparty/walkontable/src/overlay/_base.mjs +31 -68
  37. package/3rdparty/walkontable/src/overlay/bottom.js +28 -99
  38. package/3rdparty/walkontable/src/overlay/bottom.mjs +30 -86
  39. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.js +7 -53
  40. package/3rdparty/walkontable/src/overlay/bottomInlineStartCorner.mjs +9 -40
  41. package/3rdparty/walkontable/src/overlay/constants.js +0 -6
  42. package/3rdparty/walkontable/src/overlay/constants.mjs +0 -1
  43. package/3rdparty/walkontable/src/overlay/index.js +0 -17
  44. package/3rdparty/walkontable/src/overlay/inlineStart.js +21 -91
  45. package/3rdparty/walkontable/src/overlay/inlineStart.mjs +23 -78
  46. package/3rdparty/walkontable/src/overlay/top.js +27 -100
  47. package/3rdparty/walkontable/src/overlay/top.mjs +29 -87
  48. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.js +4 -51
  49. package/3rdparty/walkontable/src/overlay/topInlineStartCorner.mjs +6 -38
  50. package/3rdparty/walkontable/src/overlays.js +58 -129
  51. package/3rdparty/walkontable/src/overlays.mjs +60 -121
  52. package/3rdparty/walkontable/src/renderer/_base.js +4 -20
  53. package/3rdparty/walkontable/src/renderer/_base.mjs +8 -22
  54. package/3rdparty/walkontable/src/renderer/cells.js +10 -54
  55. package/3rdparty/walkontable/src/renderer/cells.mjs +22 -52
  56. package/3rdparty/walkontable/src/renderer/colGroup.js +10 -47
  57. package/3rdparty/walkontable/src/renderer/colGroup.mjs +21 -46
  58. package/3rdparty/walkontable/src/renderer/columnHeaders.js +8 -50
  59. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +19 -49
  60. package/3rdparty/walkontable/src/renderer/index.js +13 -36
  61. package/3rdparty/walkontable/src/renderer/index.mjs +17 -27
  62. package/3rdparty/walkontable/src/renderer/rowHeaders.js +8 -50
  63. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +20 -49
  64. package/3rdparty/walkontable/src/renderer/rows.js +3 -46
  65. package/3rdparty/walkontable/src/renderer/rows.mjs +3 -29
  66. package/3rdparty/walkontable/src/renderer/table.js +22 -49
  67. package/3rdparty/walkontable/src/renderer/table.mjs +22 -48
  68. package/3rdparty/walkontable/src/scroll.js +56 -86
  69. package/3rdparty/walkontable/src/scroll.mjs +58 -86
  70. package/3rdparty/walkontable/src/selection.js +20 -101
  71. package/3rdparty/walkontable/src/selection.mjs +22 -85
  72. package/3rdparty/walkontable/src/settings.js +9 -29
  73. package/3rdparty/walkontable/src/settings.mjs +9 -27
  74. package/3rdparty/walkontable/src/table/bottom.js +1 -35
  75. package/3rdparty/walkontable/src/table/bottom.mjs +6 -25
  76. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.js +1 -35
  77. package/3rdparty/walkontable/src/table/bottomInlineStartCorner.mjs +7 -26
  78. package/3rdparty/walkontable/src/table/inlineStart.js +1 -35
  79. package/3rdparty/walkontable/src/table/inlineStart.mjs +3 -22
  80. package/3rdparty/walkontable/src/table/master.js +10 -55
  81. package/3rdparty/walkontable/src/table/master.mjs +15 -44
  82. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +7 -28
  83. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +7 -26
  84. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +7 -28
  85. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +7 -26
  86. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.js +7 -22
  87. package/3rdparty/walkontable/src/table/mixin/stickyColumnsStart.mjs +7 -20
  88. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +7 -23
  89. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +7 -21
  90. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +7 -22
  91. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +7 -20
  92. package/3rdparty/walkontable/src/table/top.js +1 -35
  93. package/3rdparty/walkontable/src/table/top.mjs +6 -25
  94. package/3rdparty/walkontable/src/table/topInlineStartCorner.js +1 -35
  95. package/3rdparty/walkontable/src/table/topInlineStartCorner.mjs +7 -26
  96. package/3rdparty/walkontable/src/table.js +74 -238
  97. package/3rdparty/walkontable/src/table.mjs +84 -227
  98. package/3rdparty/walkontable/src/types.js +0 -5
  99. package/3rdparty/walkontable/src/types.mjs +0 -5
  100. package/3rdparty/walkontable/src/utils/column.js +9 -31
  101. package/3rdparty/walkontable/src/utils/column.mjs +13 -30
  102. package/3rdparty/walkontable/src/utils/nodesPool.js +3 -12
  103. package/3rdparty/walkontable/src/utils/nodesPool.mjs +3 -11
  104. package/3rdparty/walkontable/src/utils/orderView/constants.js +0 -3
  105. package/3rdparty/walkontable/src/utils/orderView/constants.mjs +0 -2
  106. package/3rdparty/walkontable/src/utils/orderView/index.js +0 -5
  107. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -33
  108. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +6 -26
  109. package/3rdparty/walkontable/src/utils/orderView/view.js +14 -46
  110. package/3rdparty/walkontable/src/utils/orderView/view.mjs +21 -50
  111. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +3 -15
  112. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +3 -14
  113. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +8 -22
  114. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +23 -34
  115. package/3rdparty/walkontable/src/utils/row.js +2 -13
  116. package/3rdparty/walkontable/src/utils/row.mjs +2 -12
  117. package/3rdparty/walkontable/src/viewport.js +38 -100
  118. package/3rdparty/walkontable/src/viewport.mjs +40 -99
  119. package/CHANGELOG.md +103 -5
  120. package/base.js +6 -17
  121. package/base.mjs +6 -12
  122. package/cellTypes/autocompleteType/autocompleteType.js +0 -4
  123. package/cellTypes/autocompleteType/index.js +0 -2
  124. package/cellTypes/checkboxType/checkboxType.js +0 -3
  125. package/cellTypes/checkboxType/index.js +0 -2
  126. package/cellTypes/dateType/dateType.js +0 -4
  127. package/cellTypes/dateType/index.js +0 -2
  128. package/cellTypes/dropdownType/dropdownType.js +0 -4
  129. package/cellTypes/dropdownType/index.js +0 -2
  130. package/cellTypes/handsontableType/handsontableType.js +0 -3
  131. package/cellTypes/handsontableType/index.js +0 -2
  132. package/cellTypes/index.js +0 -21
  133. package/cellTypes/index.mjs +3 -5
  134. package/cellTypes/numericType/index.js +0 -2
  135. package/cellTypes/numericType/numericType.js +0 -4
  136. package/cellTypes/passwordType/index.js +0 -2
  137. package/cellTypes/passwordType/passwordType.js +0 -3
  138. package/cellTypes/registry.js +10 -25
  139. package/cellTypes/registry.mjs +10 -20
  140. package/cellTypes/textType/index.js +0 -2
  141. package/cellTypes/textType/textType.js +0 -3
  142. package/cellTypes/timeType/index.js +0 -2
  143. package/cellTypes/timeType/timeType.js +0 -4
  144. package/core.d.ts +6 -4
  145. package/core.js +514 -974
  146. package/core.mjs +519 -921
  147. package/dataMap/dataMap.js +127 -212
  148. package/dataMap/dataMap.mjs +127 -188
  149. package/{dataSource.js → dataMap/dataSource.js} +18 -66
  150. package/{dataSource.mjs → dataMap/dataSource.mjs} +20 -60
  151. package/dataMap/index.js +0 -13
  152. package/dataMap/metaManager/index.js +21 -46
  153. package/dataMap/metaManager/index.mjs +47 -64
  154. package/dataMap/metaManager/lazyFactoryMap.js +23 -55
  155. package/dataMap/metaManager/lazyFactoryMap.mjs +23 -43
  156. package/dataMap/metaManager/metaLayers/cellMeta.js +16 -52
  157. package/dataMap/metaManager/metaLayers/cellMeta.mjs +16 -37
  158. package/dataMap/metaManager/metaLayers/columnMeta.js +8 -22
  159. package/dataMap/metaManager/metaLayers/columnMeta.mjs +14 -25
  160. package/dataMap/metaManager/metaLayers/globalMeta.js +4 -19
  161. package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -15
  162. package/dataMap/metaManager/metaLayers/tableMeta.js +4 -15
  163. package/dataMap/metaManager/metaLayers/tableMeta.mjs +28 -37
  164. package/dataMap/metaManager/metaSchema.js +196 -257
  165. package/dataMap/metaManager/metaSchema.mjs +196 -248
  166. package/dataMap/metaManager/mods/dynamicCellMeta.js +6 -36
  167. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +20 -39
  168. package/dataMap/metaManager/mods/extendMetaProperties.js +5 -28
  169. package/dataMap/metaManager/mods/extendMetaProperties.mjs +4 -18
  170. package/dataMap/metaManager/utils.js +11 -20
  171. package/dataMap/metaManager/utils.mjs +21 -23
  172. package/dataMap/replaceData.js +14 -35
  173. package/dataMap/replaceData.mjs +35 -45
  174. package/dist/handsontable.css +2 -2
  175. package/dist/handsontable.full.css +2 -2
  176. package/dist/handsontable.full.js +64469 -93042
  177. package/dist/handsontable.full.min.css +2 -2
  178. package/dist/handsontable.full.min.js +527 -284
  179. package/dist/handsontable.js +9616 -21414
  180. package/dist/handsontable.min.css +2 -2
  181. package/dist/handsontable.min.js +3 -3
  182. package/dist/languages/all.js +0 -175
  183. package/dist/languages/ar-AR.js +0 -10
  184. package/dist/languages/cs-CZ.js +0 -10
  185. package/dist/languages/de-CH.js +0 -10
  186. package/dist/languages/de-DE.js +0 -10
  187. package/dist/languages/en-US.js +0 -10
  188. package/dist/languages/es-MX.js +0 -10
  189. package/dist/languages/fr-FR.js +0 -10
  190. package/dist/languages/it-IT.js +0 -10
  191. package/dist/languages/ja-JP.js +0 -10
  192. package/dist/languages/ko-KR.js +0 -10
  193. package/dist/languages/lv-LV.js +0 -10
  194. package/dist/languages/nb-NO.js +0 -10
  195. package/dist/languages/nl-NL.js +0 -10
  196. package/dist/languages/pl-PL.js +0 -10
  197. package/dist/languages/pt-BR.js +0 -10
  198. package/dist/languages/ru-RU.js +0 -10
  199. package/dist/languages/sr-SP.js +0 -10
  200. package/dist/languages/zh-CN.js +0 -10
  201. package/dist/languages/zh-TW.js +0 -10
  202. package/editorManager.js +89 -124
  203. package/editorManager.mjs +89 -104
  204. package/editors/autocompleteEditor/autocompleteEditor.js +26 -133
  205. package/editors/autocompleteEditor/autocompleteEditor.mjs +26 -104
  206. package/editors/autocompleteEditor/index.js +0 -2
  207. package/editors/baseEditor/baseEditor.js +45 -155
  208. package/editors/baseEditor/baseEditor.mjs +45 -129
  209. package/editors/baseEditor/index.js +0 -2
  210. package/editors/checkboxEditor/checkboxEditor.js +2 -33
  211. package/editors/checkboxEditor/checkboxEditor.mjs +2 -19
  212. package/editors/checkboxEditor/index.js +0 -2
  213. package/editors/dateEditor/dateEditor.js +36 -97
  214. package/editors/dateEditor/dateEditor.mjs +35 -74
  215. package/editors/dateEditor/index.js +0 -2
  216. package/editors/dropdownEditor/dropdownEditor.js +1 -41
  217. package/editors/dropdownEditor/dropdownEditor.mjs +1 -22
  218. package/editors/dropdownEditor/index.js +0 -2
  219. package/editors/handsontableEditor/handsontableEditor.js +13 -85
  220. package/editors/handsontableEditor/handsontableEditor.mjs +13 -66
  221. package/editors/handsontableEditor/index.js +0 -2
  222. package/editors/index.js +0 -25
  223. package/editors/index.mjs +3 -5
  224. package/editors/numericEditor/index.js +0 -2
  225. package/editors/numericEditor/numericEditor.js +1 -31
  226. package/editors/numericEditor/numericEditor.mjs +1 -18
  227. package/editors/passwordEditor/index.js +0 -2
  228. package/editors/passwordEditor/passwordEditor.js +1 -38
  229. package/editors/passwordEditor/passwordEditor.mjs +1 -22
  230. package/editors/registry.js +10 -36
  231. package/editors/registry.mjs +10 -28
  232. package/editors/selectEditor/index.js +0 -2
  233. package/editors/selectEditor/selectEditor.js +21 -73
  234. package/editors/selectEditor/selectEditor.mjs +21 -56
  235. package/editors/textEditor/caretPositioner.js +0 -12
  236. package/editors/textEditor/caretPositioner.mjs +10 -20
  237. package/editors/textEditor/index.js +0 -2
  238. package/editors/textEditor/textEditor.js +38 -137
  239. package/editors/textEditor/textEditor.mjs +38 -106
  240. package/editors/timeEditor/index.js +0 -2
  241. package/editors/timeEditor/timeEditor.js +1 -36
  242. package/editors/timeEditor/timeEditor.mjs +1 -21
  243. package/eventManager.js +20 -56
  244. package/eventManager.mjs +23 -56
  245. package/helpers/array.js +22 -88
  246. package/helpers/array.mjs +22 -58
  247. package/helpers/browser.js +25 -51
  248. package/helpers/browser.mjs +25 -32
  249. package/helpers/console.js +3 -13
  250. package/helpers/console.mjs +8 -16
  251. package/helpers/data.d.ts +0 -1
  252. package/helpers/data.js +10 -55
  253. package/helpers/data.mjs +10 -33
  254. package/helpers/date.js +2 -3
  255. package/helpers/date.mjs +2 -2
  256. package/helpers/dom/element.js +67 -259
  257. package/helpers/dom/element.mjs +74 -194
  258. package/helpers/dom/event.js +3 -7
  259. package/helpers/dom/event.mjs +3 -3
  260. package/helpers/feature.js +13 -47
  261. package/helpers/feature.mjs +13 -31
  262. package/helpers/function.js +14 -59
  263. package/helpers/function.mjs +20 -52
  264. package/helpers/mixed.js +9 -66
  265. package/helpers/mixed.mjs +15 -51
  266. package/helpers/number.js +4 -46
  267. package/helpers/number.mjs +4 -23
  268. package/helpers/object.js +15 -72
  269. package/helpers/object.mjs +21 -52
  270. package/helpers/string.js +6 -28
  271. package/helpers/string.mjs +12 -21
  272. package/helpers/templateLiteralTag.js +0 -6
  273. package/helpers/templateLiteralTag.mjs +7 -10
  274. package/helpers/unicode.js +17 -26
  275. package/helpers/unicode.mjs +17 -15
  276. package/helpers/wrappers/jquery.js +4 -14
  277. package/helpers/wrappers/jquery.mjs +4 -13
  278. package/i18n/constants.js +1 -3
  279. package/i18n/constants.mjs +1 -1
  280. package/i18n/index.js +0 -7
  281. package/i18n/languages/ar-AR.js +0 -16
  282. package/i18n/languages/ar-AR.mjs +1 -4
  283. package/i18n/languages/cs-CZ.js +0 -16
  284. package/i18n/languages/cs-CZ.mjs +1 -4
  285. package/i18n/languages/de-CH.js +0 -16
  286. package/i18n/languages/de-CH.mjs +1 -4
  287. package/i18n/languages/de-DE.js +0 -16
  288. package/i18n/languages/de-DE.mjs +1 -4
  289. package/i18n/languages/en-US.js +0 -16
  290. package/i18n/languages/en-US.mjs +1 -4
  291. package/i18n/languages/es-MX.js +0 -16
  292. package/i18n/languages/es-MX.mjs +1 -4
  293. package/i18n/languages/fr-FR.js +0 -16
  294. package/i18n/languages/fr-FR.mjs +1 -4
  295. package/i18n/languages/index.js +0 -39
  296. package/i18n/languages/it-IT.js +0 -16
  297. package/i18n/languages/it-IT.mjs +1 -4
  298. package/i18n/languages/ja-JP.js +0 -16
  299. package/i18n/languages/ja-JP.mjs +1 -4
  300. package/i18n/languages/ko-KR.js +0 -16
  301. package/i18n/languages/ko-KR.mjs +1 -4
  302. package/i18n/languages/lv-LV.js +0 -16
  303. package/i18n/languages/lv-LV.mjs +1 -4
  304. package/i18n/languages/nb-NO.js +0 -16
  305. package/i18n/languages/nb-NO.mjs +1 -4
  306. package/i18n/languages/nl-NL.js +0 -16
  307. package/i18n/languages/nl-NL.mjs +1 -4
  308. package/i18n/languages/pl-PL.js +0 -16
  309. package/i18n/languages/pl-PL.mjs +1 -4
  310. package/i18n/languages/pt-BR.js +0 -16
  311. package/i18n/languages/pt-BR.mjs +1 -4
  312. package/i18n/languages/ru-RU.js +0 -16
  313. package/i18n/languages/ru-RU.mjs +1 -4
  314. package/i18n/languages/sr-SP.js +0 -16
  315. package/i18n/languages/sr-SP.mjs +1 -4
  316. package/i18n/languages/zh-CN.js +0 -16
  317. package/i18n/languages/zh-CN.mjs +1 -4
  318. package/i18n/languages/zh-TW.js +0 -16
  319. package/i18n/languages/zh-TW.mjs +1 -4
  320. package/i18n/phraseFormatters/index.js +4 -11
  321. package/i18n/phraseFormatters/index.mjs +4 -6
  322. package/i18n/phraseFormatters/pluralize.js +0 -5
  323. package/i18n/phraseFormatters/pluralize.mjs +0 -3
  324. package/i18n/phraseFormatters/substituteVariables.js +0 -4
  325. package/i18n/phraseFormatters/substituteVariables.mjs +8 -11
  326. package/i18n/registry.js +18 -59
  327. package/i18n/registry.mjs +18 -30
  328. package/i18n/utils.js +4 -22
  329. package/i18n/utils.mjs +13 -21
  330. package/index.js +19 -56
  331. package/index.mjs +19 -15
  332. package/languages/all.js +0 -175
  333. package/languages/ar-AR.js +0 -10
  334. package/languages/ar-AR.mjs +1 -4
  335. package/languages/cs-CZ.js +0 -10
  336. package/languages/cs-CZ.mjs +1 -4
  337. package/languages/de-CH.js +0 -10
  338. package/languages/de-CH.mjs +1 -4
  339. package/languages/de-DE.js +0 -10
  340. package/languages/de-DE.mjs +1 -4
  341. package/languages/en-US.js +0 -10
  342. package/languages/en-US.mjs +1 -4
  343. package/languages/es-MX.js +0 -10
  344. package/languages/es-MX.mjs +1 -4
  345. package/languages/fr-FR.js +0 -10
  346. package/languages/fr-FR.mjs +1 -4
  347. package/languages/index.js +0 -175
  348. package/languages/it-IT.js +0 -10
  349. package/languages/it-IT.mjs +1 -4
  350. package/languages/ja-JP.js +0 -10
  351. package/languages/ja-JP.mjs +1 -4
  352. package/languages/ko-KR.js +0 -10
  353. package/languages/ko-KR.mjs +1 -4
  354. package/languages/lv-LV.js +0 -10
  355. package/languages/lv-LV.mjs +1 -4
  356. package/languages/nb-NO.js +0 -10
  357. package/languages/nb-NO.mjs +1 -4
  358. package/languages/nl-NL.js +0 -10
  359. package/languages/nl-NL.mjs +1 -4
  360. package/languages/pl-PL.js +0 -10
  361. package/languages/pl-PL.mjs +1 -4
  362. package/languages/pt-BR.js +0 -10
  363. package/languages/pt-BR.mjs +1 -4
  364. package/languages/ru-RU.js +0 -10
  365. package/languages/ru-RU.mjs +1 -4
  366. package/languages/sr-SP.js +0 -10
  367. package/languages/sr-SP.mjs +1 -4
  368. package/languages/zh-CN.js +0 -10
  369. package/languages/zh-CN.mjs +1 -4
  370. package/languages/zh-TW.js +0 -10
  371. package/languages/zh-TW.mjs +1 -4
  372. package/mixins/hooksRefRegisterer.js +4 -18
  373. package/mixins/hooksRefRegisterer.mjs +4 -15
  374. package/mixins/localHooks.js +7 -17
  375. package/mixins/localHooks.mjs +7 -14
  376. package/package.json +1 -1
  377. package/pluginHooks.d.ts +3 -4
  378. package/pluginHooks.js +288 -110
  379. package/pluginHooks.mjs +287 -97
  380. package/plugins/autoColumnSize/autoColumnSize.js +74 -172
  381. package/plugins/autoColumnSize/autoColumnSize.mjs +74 -137
  382. package/plugins/autoColumnSize/index.js +0 -2
  383. package/plugins/autoRowSize/autoRowSize.js +73 -153
  384. package/plugins/autoRowSize/autoRowSize.mjs +73 -124
  385. package/plugins/autoRowSize/index.js +0 -2
  386. package/plugins/autofill/autofill.js +46 -163
  387. package/plugins/autofill/autofill.mjs +46 -131
  388. package/plugins/autofill/index.js +0 -2
  389. package/plugins/autofill/utils.js +4 -26
  390. package/plugins/autofill/utils.mjs +4 -18
  391. package/plugins/base/base.js +21 -92
  392. package/plugins/base/base.mjs +21 -63
  393. package/plugins/base/index.js +0 -2
  394. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +19 -52
  395. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +19 -33
  396. package/plugins/bindRowsWithHeaders/index.js +0 -2
  397. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +5 -41
  398. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +5 -29
  399. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +6 -53
  400. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +6 -37
  401. package/plugins/collapsibleColumns/collapsibleColumns.js +96 -188
  402. package/plugins/collapsibleColumns/collapsibleColumns.mjs +97 -158
  403. package/plugins/collapsibleColumns/index.js +0 -2
  404. package/plugins/columnSorting/columnSorting.js +50 -188
  405. package/plugins/columnSorting/columnSorting.mjs +50 -143
  406. package/plugins/columnSorting/columnStatesManager.js +15 -71
  407. package/plugins/columnSorting/columnStatesManager.mjs +15 -48
  408. package/plugins/columnSorting/domHelpers.js +2 -18
  409. package/plugins/columnSorting/domHelpers.mjs +2 -7
  410. package/plugins/columnSorting/index.js +0 -2
  411. package/plugins/columnSorting/rootComparator.js +5 -24
  412. package/plugins/columnSorting/rootComparator.mjs +12 -21
  413. package/plugins/columnSorting/sortFunction/checkbox.js +8 -16
  414. package/plugins/columnSorting/sortFunction/checkbox.mjs +16 -21
  415. package/plugins/columnSorting/sortFunction/date.js +2 -19
  416. package/plugins/columnSorting/sortFunction/date.mjs +10 -23
  417. package/plugins/columnSorting/sortFunction/default.js +2 -17
  418. package/plugins/columnSorting/sortFunction/default.mjs +10 -23
  419. package/plugins/columnSorting/sortFunction/numeric.js +2 -11
  420. package/plugins/columnSorting/sortFunction/numeric.mjs +10 -17
  421. package/plugins/columnSorting/sortService/engine.js +3 -13
  422. package/plugins/columnSorting/sortService/engine.mjs +3 -5
  423. package/plugins/columnSorting/sortService/index.js +0 -5
  424. package/plugins/columnSorting/sortService/registry.js +6 -18
  425. package/plugins/columnSorting/sortService/registry.mjs +6 -10
  426. package/plugins/columnSorting/utils.js +9 -34
  427. package/plugins/columnSorting/utils.mjs +9 -15
  428. package/plugins/columnSummary/columnSummary.js +66 -126
  429. package/plugins/columnSummary/columnSummary.mjs +66 -101
  430. package/plugins/columnSummary/endpoints.js +21 -98
  431. package/plugins/columnSummary/endpoints.mjs +26 -99
  432. package/plugins/columnSummary/index.js +0 -2
  433. package/plugins/columnSummary/utils.js +13 -0
  434. package/plugins/columnSummary/utils.mjs +9 -0
  435. package/plugins/comments/commentEditor.js +16 -28
  436. package/plugins/comments/commentEditor.mjs +21 -32
  437. package/plugins/comments/comments.js +92 -175
  438. package/plugins/comments/comments.mjs +92 -149
  439. package/plugins/comments/displaySwitch.js +6 -23
  440. package/plugins/comments/displaySwitch.mjs +6 -18
  441. package/plugins/comments/index.js +0 -2
  442. package/plugins/contextMenu/commandExecutor.js +9 -40
  443. package/plugins/contextMenu/commandExecutor.mjs +14 -41
  444. package/plugins/contextMenu/contextMenu.js +26 -105
  445. package/plugins/contextMenu/contextMenu.mjs +26 -75
  446. package/plugins/contextMenu/cursor.js +6 -20
  447. package/plugins/contextMenu/cursor.mjs +11 -24
  448. package/plugins/contextMenu/index.js +0 -2
  449. package/plugins/contextMenu/itemsFactory.js +14 -43
  450. package/plugins/contextMenu/itemsFactory.mjs +19 -44
  451. package/plugins/contextMenu/menu.js +61 -177
  452. package/plugins/contextMenu/menu.mjs +61 -149
  453. package/plugins/contextMenu/predefinedItems/alignment.js +1 -55
  454. package/plugins/contextMenu/predefinedItems/alignment.mjs +1 -37
  455. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -20
  456. package/plugins/contextMenu/predefinedItems/clearColumn.mjs +1 -4
  457. package/plugins/contextMenu/predefinedItems/columnLeft.js +6 -43
  458. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +6 -26
  459. package/plugins/contextMenu/predefinedItems/columnRight.js +4 -42
  460. package/plugins/contextMenu/predefinedItems/columnRight.mjs +4 -25
  461. package/plugins/contextMenu/predefinedItems/noItems.js +1 -4
  462. package/plugins/contextMenu/predefinedItems/noItems.mjs +1 -1
  463. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -25
  464. package/plugins/contextMenu/predefinedItems/readOnly.mjs +1 -8
  465. package/plugins/contextMenu/predefinedItems/redo.js +1 -16
  466. package/plugins/contextMenu/predefinedItems/redo.mjs +1 -1
  467. package/plugins/contextMenu/predefinedItems/removeColumn.js +3 -38
  468. package/plugins/contextMenu/predefinedItems/removeColumn.mjs +3 -18
  469. package/plugins/contextMenu/predefinedItems/removeRow.js +3 -37
  470. package/plugins/contextMenu/predefinedItems/removeRow.mjs +3 -17
  471. package/plugins/contextMenu/predefinedItems/rowAbove.js +6 -35
  472. package/plugins/contextMenu/predefinedItems/rowAbove.mjs +6 -19
  473. package/plugins/contextMenu/predefinedItems/rowBelow.js +4 -42
  474. package/plugins/contextMenu/predefinedItems/rowBelow.mjs +4 -25
  475. package/plugins/contextMenu/predefinedItems/separator.js +1 -2
  476. package/plugins/contextMenu/predefinedItems/separator.mjs +1 -1
  477. package/plugins/contextMenu/predefinedItems/undo.js +1 -16
  478. package/plugins/contextMenu/predefinedItems/undo.mjs +1 -1
  479. package/plugins/contextMenu/predefinedItems.js +2 -48
  480. package/plugins/contextMenu/predefinedItems.mjs +2 -7
  481. package/plugins/contextMenu/utils.js +17 -57
  482. package/plugins/contextMenu/utils.mjs +21 -39
  483. package/plugins/copyPaste/clipboardData.js +1 -10
  484. package/plugins/copyPaste/clipboardData.mjs +1 -9
  485. package/plugins/copyPaste/contextMenuItem/copy.js +2 -17
  486. package/plugins/copyPaste/contextMenuItem/copy.mjs +6 -9
  487. package/plugins/copyPaste/contextMenuItem/cut.js +2 -17
  488. package/plugins/copyPaste/contextMenuItem/cut.mjs +6 -9
  489. package/plugins/copyPaste/copyPaste.js +53 -185
  490. package/plugins/copyPaste/copyPaste.mjs +53 -144
  491. package/plugins/copyPaste/focusableElement.js +12 -56
  492. package/plugins/copyPaste/focusableElement.mjs +15 -49
  493. package/plugins/copyPaste/index.js +0 -2
  494. package/plugins/copyPaste/pasteEvent.js +1 -10
  495. package/plugins/copyPaste/pasteEvent.mjs +3 -10
  496. package/plugins/customBorders/contextMenuItem/bottom.js +0 -17
  497. package/plugins/customBorders/contextMenuItem/bottom.mjs +4 -8
  498. package/plugins/customBorders/contextMenuItem/index.js +0 -11
  499. package/plugins/customBorders/contextMenuItem/left.js +0 -17
  500. package/plugins/customBorders/contextMenuItem/left.mjs +4 -8
  501. package/plugins/customBorders/contextMenuItem/noBorders.js +0 -15
  502. package/plugins/customBorders/contextMenuItem/noBorders.mjs +4 -6
  503. package/plugins/customBorders/contextMenuItem/right.js +0 -17
  504. package/plugins/customBorders/contextMenuItem/right.mjs +4 -8
  505. package/plugins/customBorders/contextMenuItem/top.js +0 -17
  506. package/plugins/customBorders/contextMenuItem/top.mjs +4 -8
  507. package/plugins/customBorders/customBorders.js +52 -181
  508. package/plugins/customBorders/customBorders.mjs +52 -147
  509. package/plugins/customBorders/index.js +0 -2
  510. package/plugins/customBorders/utils.js +13 -52
  511. package/plugins/customBorders/utils.mjs +20 -39
  512. package/plugins/dragToScroll/dragToScroll.js +17 -74
  513. package/plugins/dragToScroll/dragToScroll.mjs +17 -55
  514. package/plugins/dragToScroll/index.js +0 -2
  515. package/plugins/dropdownMenu/dropdownMenu.js +47 -126
  516. package/plugins/dropdownMenu/dropdownMenu.mjs +47 -95
  517. package/plugins/dropdownMenu/index.js +0 -2
  518. package/plugins/exportFile/dataProvider.js +24 -69
  519. package/plugins/exportFile/dataProvider.mjs +26 -60
  520. package/plugins/exportFile/exportFile.js +48 -58
  521. package/plugins/exportFile/exportFile.mjs +48 -36
  522. package/plugins/exportFile/index.js +0 -2
  523. package/plugins/exportFile/typeFactory.js +1 -11
  524. package/plugins/exportFile/typeFactory.mjs +1 -4
  525. package/plugins/exportFile/types/_base.js +2 -16
  526. package/plugins/exportFile/types/_base.mjs +4 -16
  527. package/plugins/exportFile/types/csv.js +2 -50
  528. package/plugins/exportFile/types/csv.mjs +2 -29
  529. package/plugins/filters/component/_base.js +12 -32
  530. package/plugins/filters/component/_base.mjs +15 -30
  531. package/plugins/filters/component/actionBar.js +6 -55
  532. package/plugins/filters/component/actionBar.mjs +9 -38
  533. package/plugins/filters/component/condition.js +25 -122
  534. package/plugins/filters/component/condition.mjs +24 -88
  535. package/plugins/filters/component/operators.js +10 -68
  536. package/plugins/filters/component/operators.mjs +10 -45
  537. package/plugins/filters/component/value.js +25 -99
  538. package/plugins/filters/component/value.mjs +28 -72
  539. package/plugins/filters/condition/beginsWith.js +2 -32
  540. package/plugins/filters/condition/beginsWith.mjs +2 -10
  541. package/plugins/filters/condition/between.js +3 -37
  542. package/plugins/filters/condition/between.mjs +3 -15
  543. package/plugins/filters/condition/byValue.js +3 -27
  544. package/plugins/filters/condition/byValue.mjs +3 -12
  545. package/plugins/filters/condition/contains.js +2 -32
  546. package/plugins/filters/condition/contains.mjs +2 -10
  547. package/plugins/filters/condition/date/after.js +2 -34
  548. package/plugins/filters/condition/date/after.mjs +2 -12
  549. package/plugins/filters/condition/date/before.js +2 -34
  550. package/plugins/filters/condition/date/before.mjs +2 -12
  551. package/plugins/filters/condition/date/today.js +1 -22
  552. package/plugins/filters/condition/date/today.mjs +1 -3
  553. package/plugins/filters/condition/date/tomorrow.js +1 -22
  554. package/plugins/filters/condition/date/tomorrow.mjs +1 -3
  555. package/plugins/filters/condition/date/yesterday.js +1 -22
  556. package/plugins/filters/condition/date/yesterday.mjs +1 -3
  557. package/plugins/filters/condition/empty.js +1 -19
  558. package/plugins/filters/condition/empty.mjs +1 -1
  559. package/plugins/filters/condition/endsWith.js +2 -32
  560. package/plugins/filters/condition/endsWith.mjs +2 -10
  561. package/plugins/filters/condition/equal.js +2 -31
  562. package/plugins/filters/condition/equal.mjs +2 -10
  563. package/plugins/filters/condition/false.js +1 -5
  564. package/plugins/filters/condition/false.mjs +1 -1
  565. package/plugins/filters/condition/greaterThan.js +2 -32
  566. package/plugins/filters/condition/greaterThan.mjs +2 -12
  567. package/plugins/filters/condition/greaterThanOrEqual.js +2 -32
  568. package/plugins/filters/condition/greaterThanOrEqual.mjs +2 -12
  569. package/plugins/filters/condition/lessThan.js +2 -32
  570. package/plugins/filters/condition/lessThan.mjs +2 -12
  571. package/plugins/filters/condition/lessThanOrEqual.js +2 -32
  572. package/plugins/filters/condition/lessThanOrEqual.mjs +2 -12
  573. package/plugins/filters/condition/none.js +1 -18
  574. package/plugins/filters/condition/none.mjs +1 -1
  575. package/plugins/filters/condition/notBetween.js +1 -19
  576. package/plugins/filters/condition/notBetween.mjs +1 -1
  577. package/plugins/filters/condition/notContains.js +1 -19
  578. package/plugins/filters/condition/notContains.mjs +1 -1
  579. package/plugins/filters/condition/notEmpty.js +1 -19
  580. package/plugins/filters/condition/notEmpty.mjs +1 -1
  581. package/plugins/filters/condition/notEqual.js +1 -19
  582. package/plugins/filters/condition/notEqual.mjs +1 -1
  583. package/plugins/filters/condition/true.js +1 -5
  584. package/plugins/filters/condition/true.mjs +1 -1
  585. package/plugins/filters/conditionCollection.js +21 -80
  586. package/plugins/filters/conditionCollection.mjs +21 -57
  587. package/plugins/filters/conditionRegisterer.js +5 -14
  588. package/plugins/filters/conditionRegisterer.mjs +5 -9
  589. package/plugins/filters/conditionUpdateObserver.js +17 -57
  590. package/plugins/filters/conditionUpdateObserver.mjs +25 -53
  591. package/plugins/filters/constants.js +1 -66
  592. package/plugins/filters/constants.mjs +1 -8
  593. package/plugins/filters/dataFilter.js +4 -21
  594. package/plugins/filters/dataFilter.mjs +7 -23
  595. package/plugins/filters/filters.d.ts +1 -1
  596. package/plugins/filters/filters.js +147 -272
  597. package/plugins/filters/filters.mjs +148 -228
  598. package/plugins/filters/index.js +0 -2
  599. package/plugins/filters/logicalOperationRegisterer.js +3 -9
  600. package/plugins/filters/logicalOperationRegisterer.mjs +3 -4
  601. package/plugins/filters/logicalOperations/conjunction.js +2 -19
  602. package/plugins/filters/logicalOperations/conjunction.mjs +2 -2
  603. package/plugins/filters/logicalOperations/disjunction.js +2 -19
  604. package/plugins/filters/logicalOperations/disjunction.mjs +2 -2
  605. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +2 -21
  606. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.mjs +2 -3
  607. package/plugins/filters/ui/_base.js +12 -55
  608. package/plugins/filters/ui/_base.mjs +12 -35
  609. package/plugins/filters/ui/input.js +7 -52
  610. package/plugins/filters/ui/input.mjs +7 -34
  611. package/plugins/filters/ui/link.js +3 -43
  612. package/plugins/filters/ui/link.mjs +3 -25
  613. package/plugins/filters/ui/multipleSelect.js +26 -120
  614. package/plugins/filters/ui/multipleSelect.mjs +20 -76
  615. package/plugins/filters/ui/radioInput.js +6 -47
  616. package/plugins/filters/ui/radioInput.mjs +6 -30
  617. package/plugins/filters/ui/select.js +14 -76
  618. package/plugins/filters/ui/select.mjs +14 -52
  619. package/plugins/filters/utils.js +6 -39
  620. package/plugins/filters/utils.mjs +6 -23
  621. package/plugins/formulas/engine/register.js +24 -74
  622. package/plugins/formulas/engine/register.mjs +29 -51
  623. package/plugins/formulas/engine/settings.js +4 -24
  624. package/plugins/formulas/engine/settings.mjs +4 -12
  625. package/plugins/formulas/formulas.js +103 -295
  626. package/plugins/formulas/formulas.mjs +104 -248
  627. package/plugins/formulas/index.js +0 -2
  628. package/plugins/formulas/utils.js +1 -3
  629. package/plugins/formulas/utils.mjs +1 -1
  630. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +4 -38
  631. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +8 -25
  632. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +17 -45
  633. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +21 -29
  634. package/plugins/hiddenColumns/hiddenColumns.js +72 -153
  635. package/plugins/hiddenColumns/hiddenColumns.mjs +72 -110
  636. package/plugins/hiddenColumns/index.js +0 -2
  637. package/plugins/hiddenRows/contextMenuItem/hideRow.js +4 -38
  638. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +8 -25
  639. package/plugins/hiddenRows/contextMenuItem/showRow.js +17 -45
  640. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +21 -29
  641. package/plugins/hiddenRows/hiddenRows.js +70 -152
  642. package/plugins/hiddenRows/hiddenRows.mjs +70 -109
  643. package/plugins/hiddenRows/index.js +0 -2
  644. package/plugins/index.js +0 -71
  645. package/plugins/index.mjs +3 -5
  646. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -28
  647. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +5 -17
  648. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -28
  649. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +5 -17
  650. package/plugins/manualColumnFreeze/index.js +0 -2
  651. package/plugins/manualColumnFreeze/manualColumnFreeze.js +21 -78
  652. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +21 -54
  653. package/plugins/manualColumnMove/index.js +0 -2
  654. package/plugins/manualColumnMove/manualColumnMove.js +45 -134
  655. package/plugins/manualColumnMove/manualColumnMove.mjs +45 -106
  656. package/plugins/manualColumnMove/ui/_base.js +12 -30
  657. package/plugins/manualColumnMove/ui/_base.mjs +12 -27
  658. package/plugins/manualColumnMove/ui/backlight.js +1 -37
  659. package/plugins/manualColumnMove/ui/backlight.mjs +1 -22
  660. package/plugins/manualColumnMove/ui/guideline.js +1 -37
  661. package/plugins/manualColumnMove/ui/guideline.mjs +1 -22
  662. package/plugins/manualColumnResize/index.js +0 -2
  663. package/plugins/manualColumnResize/manualColumnResize.js +44 -143
  664. package/plugins/manualColumnResize/manualColumnResize.mjs +43 -118
  665. package/plugins/manualRowMove/index.js +0 -2
  666. package/plugins/manualRowMove/manualRowMove.js +45 -137
  667. package/plugins/manualRowMove/manualRowMove.mjs +45 -109
  668. package/plugins/manualRowMove/ui/_base.js +12 -27
  669. package/plugins/manualRowMove/ui/_base.mjs +12 -26
  670. package/plugins/manualRowMove/ui/backlight.js +1 -37
  671. package/plugins/manualRowMove/ui/backlight.mjs +1 -22
  672. package/plugins/manualRowMove/ui/guideline.js +1 -37
  673. package/plugins/manualRowMove/ui/guideline.mjs +1 -22
  674. package/plugins/manualRowResize/index.js +0 -2
  675. package/plugins/manualRowResize/manualRowResize.js +42 -138
  676. package/plugins/manualRowResize/manualRowResize.mjs +41 -112
  677. package/plugins/mergeCells/calculations/autofill.js +39 -130
  678. package/plugins/mergeCells/calculations/autofill.mjs +44 -122
  679. package/plugins/mergeCells/calculations/selection.js +9 -40
  680. package/plugins/mergeCells/calculations/selection.mjs +9 -37
  681. package/plugins/mergeCells/cellCoords.js +30 -51
  682. package/plugins/mergeCells/cellCoords.mjs +35 -54
  683. package/plugins/mergeCells/cellsCollection.js +13 -84
  684. package/plugins/mergeCells/cellsCollection.mjs +18 -69
  685. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +0 -22
  686. package/plugins/mergeCells/contextMenuItem/toggleMerge.mjs +4 -11
  687. package/plugins/mergeCells/index.js +0 -2
  688. package/plugins/mergeCells/mergeCells.js +130 -333
  689. package/plugins/mergeCells/mergeCells.mjs +130 -292
  690. package/plugins/mergeCells/utils.js +0 -3
  691. package/plugins/mergeCells/utils.mjs +0 -1
  692. package/plugins/multiColumnSorting/domHelpers.js +3 -15
  693. package/plugins/multiColumnSorting/domHelpers.mjs +3 -7
  694. package/plugins/multiColumnSorting/index.js +0 -2
  695. package/plugins/multiColumnSorting/multiColumnSorting.js +14 -66
  696. package/plugins/multiColumnSorting/multiColumnSorting.mjs +14 -44
  697. package/plugins/multiColumnSorting/rootComparator.js +2 -26
  698. package/plugins/multiColumnSorting/rootComparator.mjs +9 -23
  699. package/plugins/multiColumnSorting/utils.js +0 -7
  700. package/plugins/multiColumnSorting/utils.mjs +3 -8
  701. package/plugins/multipleSelectionHandles/index.js +0 -2
  702. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +6 -109
  703. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +6 -87
  704. package/plugins/nestedHeaders/index.js +0 -2
  705. package/plugins/nestedHeaders/nestedHeaders.js +79 -200
  706. package/plugins/nestedHeaders/nestedHeaders.mjs +80 -173
  707. package/plugins/nestedHeaders/stateManager/headersTree.js +16 -93
  708. package/plugins/nestedHeaders/stateManager/headersTree.mjs +16 -73
  709. package/plugins/nestedHeaders/stateManager/index.js +24 -107
  710. package/plugins/nestedHeaders/stateManager/index.mjs +51 -115
  711. package/plugins/nestedHeaders/stateManager/matrixGenerator.js +7 -25
  712. package/plugins/nestedHeaders/stateManager/matrixGenerator.mjs +38 -51
  713. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.js +12 -27
  714. package/plugins/nestedHeaders/stateManager/nodeModifiers/collapse.mjs +29 -35
  715. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.js +10 -25
  716. package/plugins/nestedHeaders/stateManager/nodeModifiers/expand.mjs +26 -32
  717. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.js +3 -19
  718. package/plugins/nestedHeaders/stateManager/nodeModifiers/hideColumn.mjs +9 -20
  719. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.js +2 -12
  720. package/plugins/nestedHeaders/stateManager/nodeModifiers/index.mjs +2 -5
  721. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.js +3 -22
  722. package/plugins/nestedHeaders/stateManager/nodeModifiers/showColumn.mjs +9 -21
  723. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.js +3 -10
  724. package/plugins/nestedHeaders/stateManager/nodeModifiers/utils/tree.mjs +3 -7
  725. package/plugins/nestedHeaders/stateManager/settingsNormalizer.js +5 -36
  726. package/plugins/nestedHeaders/stateManager/settingsNormalizer.mjs +44 -61
  727. package/plugins/nestedHeaders/stateManager/sourceSettings.js +16 -78
  728. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +21 -68
  729. package/plugins/nestedHeaders/stateManager/utils.js +19 -22
  730. package/plugins/nestedHeaders/stateManager/utils.mjs +19 -20
  731. package/plugins/nestedHeaders/utils/ghostTable.js +9 -37
  732. package/plugins/nestedHeaders/utils/ghostTable.mjs +16 -43
  733. package/plugins/nestedRows/data/dataManager.js +40 -161
  734. package/plugins/nestedRows/data/dataManager.mjs +44 -148
  735. package/plugins/nestedRows/index.js +0 -2
  736. package/plugins/nestedRows/nestedRows.js +41 -119
  737. package/plugins/nestedRows/nestedRows.mjs +41 -86
  738. package/plugins/nestedRows/ui/_base.js +1 -9
  739. package/plugins/nestedRows/ui/_base.mjs +1 -8
  740. package/plugins/nestedRows/ui/collapsing.js +28 -134
  741. package/plugins/nestedRows/ui/collapsing.mjs +34 -118
  742. package/plugins/nestedRows/ui/contextMenu.js +2 -53
  743. package/plugins/nestedRows/ui/contextMenu.mjs +2 -32
  744. package/plugins/nestedRows/ui/headers.js +5 -50
  745. package/plugins/nestedRows/ui/headers.mjs +11 -41
  746. package/plugins/nestedRows/utils/rowMoveController.js +28 -78
  747. package/plugins/nestedRows/utils/rowMoveController.mjs +33 -66
  748. package/plugins/persistentState/index.js +0 -2
  749. package/plugins/persistentState/persistentState.js +10 -58
  750. package/plugins/persistentState/persistentState.mjs +10 -37
  751. package/plugins/persistentState/storage.js +9 -25
  752. package/plugins/persistentState/storage.mjs +12 -26
  753. package/plugins/registry.js +7 -51
  754. package/plugins/registry.mjs +8 -34
  755. package/plugins/search/index.js +0 -2
  756. package/plugins/search/search.js +16 -98
  757. package/plugins/search/search.mjs +16 -68
  758. package/plugins/touchScroll/index.js +0 -2
  759. package/plugins/touchScroll/touchScroll.js +15 -76
  760. package/plugins/touchScroll/touchScroll.mjs +15 -58
  761. package/plugins/trimRows/index.js +0 -2
  762. package/plugins/trimRows/trimRows.js +62 -88
  763. package/plugins/trimRows/trimRows.mjs +62 -65
  764. package/plugins/undoRedo/index.js +0 -14
  765. package/plugins/undoRedo/undoRedo.js +48 -218
  766. package/plugins/undoRedo/undoRedo.mjs +48 -188
  767. package/registry.js +0 -11
  768. package/registry.mjs +2 -4
  769. package/renderers/autocompleteRenderer/autocompleteRenderer.js +5 -14
  770. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +5 -6
  771. package/renderers/autocompleteRenderer/index.js +0 -2
  772. package/renderers/baseRenderer/baseRenderer.js +2 -11
  773. package/renderers/baseRenderer/baseRenderer.mjs +2 -9
  774. package/renderers/baseRenderer/index.js +0 -2
  775. package/renderers/checkboxRenderer/checkboxRenderer.js +22 -103
  776. package/renderers/checkboxRenderer/checkboxRenderer.mjs +22 -81
  777. package/renderers/checkboxRenderer/index.js +0 -2
  778. package/renderers/htmlRenderer/htmlRenderer.js +1 -7
  779. package/renderers/htmlRenderer/htmlRenderer.mjs +1 -1
  780. package/renderers/htmlRenderer/index.js +0 -2
  781. package/renderers/index.js +0 -19
  782. package/renderers/index.mjs +3 -5
  783. package/renderers/numericRenderer/index.js +0 -2
  784. package/renderers/numericRenderer/numericRenderer.js +1 -23
  785. package/renderers/numericRenderer/numericRenderer.mjs +1 -10
  786. package/renderers/passwordRenderer/index.js +0 -2
  787. package/renderers/passwordRenderer/passwordRenderer.js +1 -8
  788. package/renderers/passwordRenderer/passwordRenderer.mjs +1 -1
  789. package/renderers/registry.js +7 -16
  790. package/renderers/registry.mjs +7 -14
  791. package/renderers/textRenderer/index.js +0 -2
  792. package/renderers/textRenderer/textRenderer.js +2 -14
  793. package/renderers/textRenderer/textRenderer.mjs +2 -6
  794. package/renderers/timeRenderer/index.js +0 -2
  795. package/renderers/timeRenderer/timeRenderer.js +1 -6
  796. package/renderers/timeRenderer/timeRenderer.mjs +1 -1
  797. package/selection/highlight/highlight.js +17 -73
  798. package/selection/highlight/highlight.mjs +31 -64
  799. package/selection/highlight/types/activeHeader.js +1 -21
  800. package/selection/highlight/types/activeHeader.mjs +6 -16
  801. package/selection/highlight/types/area.js +2 -22
  802. package/selection/highlight/types/area.mjs +10 -20
  803. package/selection/highlight/types/cell.js +1 -21
  804. package/selection/highlight/types/cell.mjs +9 -19
  805. package/selection/highlight/types/customSelection.js +2 -22
  806. package/selection/highlight/types/customSelection.mjs +11 -21
  807. package/selection/highlight/types/fill.js +2 -17
  808. package/selection/highlight/types/fill.mjs +9 -14
  809. package/selection/highlight/types/header.js +3 -23
  810. package/selection/highlight/types/header.mjs +13 -23
  811. package/selection/highlight/types/index.js +3 -24
  812. package/selection/highlight/types/index.mjs +3 -10
  813. package/selection/highlight/visualSelection.js +24 -74
  814. package/selection/highlight/visualSelection.mjs +24 -62
  815. package/selection/index.js +0 -14
  816. package/selection/mouseEventHandler.js +19 -30
  817. package/selection/mouseEventHandler.mjs +32 -36
  818. package/selection/range.js +11 -31
  819. package/selection/range.mjs +11 -22
  820. package/selection/selection.js +62 -157
  821. package/selection/selection.mjs +65 -132
  822. package/selection/transformation.js +10 -40
  823. package/selection/transformation.mjs +18 -45
  824. package/selection/utils.js +22 -70
  825. package/selection/utils.mjs +22 -47
  826. package/shortcuts/context.js +23 -78
  827. package/shortcuts/context.mjs +23 -55
  828. package/shortcuts/index.js +0 -2
  829. package/shortcuts/keyObserver.js +4 -17
  830. package/shortcuts/keyObserver.mjs +4 -12
  831. package/shortcuts/manager.js +16 -36
  832. package/shortcuts/manager.mjs +16 -33
  833. package/shortcuts/recorder.js +20 -47
  834. package/shortcuts/recorder.mjs +20 -39
  835. package/shortcuts/utils.js +5 -24
  836. package/shortcuts/utils.mjs +5 -8
  837. package/tableView.js +100 -270
  838. package/tableView.mjs +100 -248
  839. package/translations/changesObservable/observable.js +5 -54
  840. package/translations/changesObservable/observable.mjs +12 -51
  841. package/translations/changesObservable/observer.js +4 -32
  842. package/translations/changesObservable/observer.mjs +9 -29
  843. package/translations/changesObservable/utils.js +1 -5
  844. package/translations/changesObservable/utils.mjs +1 -4
  845. package/translations/index.js +0 -11
  846. package/translations/indexMapper.js +70 -158
  847. package/translations/indexMapper.mjs +70 -125
  848. package/translations/mapCollections/aggregatedCollection.js +9 -51
  849. package/translations/mapCollections/aggregatedCollection.mjs +12 -41
  850. package/translations/mapCollections/index.js +0 -7
  851. package/translations/mapCollections/mapCollection.js +10 -33
  852. package/translations/mapCollections/mapCollection.mjs +10 -22
  853. package/translations/maps/hidingMap.js +2 -35
  854. package/translations/maps/hidingMap.mjs +7 -28
  855. package/translations/maps/index.js +1 -24
  856. package/translations/maps/index.mjs +1 -3
  857. package/translations/maps/indexMap.js +12 -34
  858. package/translations/maps/indexMap.mjs +16 -32
  859. package/translations/maps/indexesSequence.js +3 -41
  860. package/translations/maps/indexesSequence.mjs +9 -32
  861. package/translations/maps/linkedPhysicalIndexToValueMap.js +9 -78
  862. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +16 -59
  863. package/translations/maps/physicalIndexToValueMap.js +2 -39
  864. package/translations/maps/physicalIndexToValueMap.mjs +8 -31
  865. package/translations/maps/trimmingMap.js +2 -35
  866. package/translations/maps/trimmingMap.mjs +7 -28
  867. package/translations/maps/utils/actionsOnIndexes.js +1 -7
  868. package/translations/maps/utils/actionsOnIndexes.mjs +9 -12
  869. package/translations/maps/utils/index.js +0 -13
  870. package/translations/maps/utils/index.mjs +0 -3
  871. package/translations/maps/utils/indexesSequence.js +1 -24
  872. package/translations/maps/utils/indexesSequence.mjs +10 -19
  873. package/translations/maps/utils/physicallyIndexed.js +1 -27
  874. package/translations/maps/utils/physicallyIndexed.mjs +11 -21
  875. package/utils/dataStructures/linkedList.js +15 -56
  876. package/utils/dataStructures/linkedList.mjs +15 -54
  877. package/utils/dataStructures/priorityMap.js +8 -46
  878. package/utils/dataStructures/priorityMap.mjs +8 -29
  879. package/utils/dataStructures/queue.js +6 -17
  880. package/utils/dataStructures/queue.mjs +6 -16
  881. package/utils/dataStructures/stack.js +6 -17
  882. package/utils/dataStructures/stack.mjs +6 -16
  883. package/utils/dataStructures/tree.js +11 -75
  884. package/utils/dataStructures/tree.mjs +11 -54
  885. package/utils/dataStructures/uniqueMap.js +17 -56
  886. package/utils/dataStructures/uniqueMap.mjs +17 -42
  887. package/utils/dataStructures/uniqueSet.js +5 -32
  888. package/utils/dataStructures/uniqueSet.mjs +5 -19
  889. package/utils/ghostTable.js +33 -104
  890. package/utils/ghostTable.mjs +35 -92
  891. package/utils/interval.js +10 -37
  892. package/utils/interval.mjs +7 -29
  893. package/utils/parseTable.js +11 -92
  894. package/utils/parseTable.mjs +11 -62
  895. package/utils/rootInstance.js +3 -14
  896. package/utils/rootInstance.mjs +3 -3
  897. package/utils/samplesGenerator.js +15 -51
  898. package/utils/samplesGenerator.mjs +17 -44
  899. package/utils/staticRegister.js +6 -33
  900. package/utils/staticRegister.mjs +6 -19
  901. package/validators/autocompleteValidator/autocompleteValidator.js +2 -10
  902. package/validators/autocompleteValidator/autocompleteValidator.mjs +2 -8
  903. package/validators/autocompleteValidator/index.js +0 -2
  904. package/validators/dateValidator/dateValidator.js +2 -21
  905. package/validators/dateValidator/dateValidator.mjs +2 -11
  906. package/validators/dateValidator/index.js +0 -2
  907. package/validators/index.js +0 -11
  908. package/validators/index.mjs +3 -5
  909. package/validators/numericValidator/index.js +0 -2
  910. package/validators/numericValidator/numericValidator.js +1 -7
  911. package/validators/numericValidator/numericValidator.mjs +1 -3
  912. package/validators/registry.js +7 -16
  913. package/validators/registry.mjs +7 -14
  914. package/validators/timeValidator/index.js +0 -2
  915. package/validators/timeValidator/timeValidator.js +6 -18
  916. package/validators/timeValidator/timeValidator.mjs +8 -13
  917. package/utils/sortingAlgorithms/mergeSort.js +0 -120
  918. package/utils/sortingAlgorithms/mergeSort.mjs +0 -110
@@ -5,19 +5,16 @@ import "core-js/modules/es.symbol.iterator.js";
5
5
  import "core-js/modules/es.array.iterator.js";
6
6
  import "core-js/modules/es.string.iterator.js";
7
7
  import "core-js/modules/web.dom-collections.iterator.js";
8
-
9
8
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
10
-
11
9
  import { isEmpty } from "../../helpers/mixed.mjs";
12
10
  import { isObjectEqual } from "../../helpers/object.mjs";
13
11
  /* eslint-disable jsdoc/require-description-complete-sentence */
14
-
15
12
  /**
16
13
  * @alias Options
17
14
  * @class Options
18
15
  * @description
19
16
  *
20
- * [Configuration options](@/guides/getting-started/setting-options.md) let you heavily customize your Handsontable instance. For example, you can:
17
+ * [Configuration options](@/guides/getting-started/configuration-options.md) let you heavily customize your Handsontable instance. For example, you can:
21
18
  *
22
19
  * - Enable and disable built-in features
23
20
  * - Enable and configure additional [plugins](@/guides/tools-and-building/custom-plugins.md)
@@ -25,10 +22,11 @@ import { isObjectEqual } from "../../helpers/object.mjs";
25
22
  * - Adjust Handsontable's behavior
26
23
  * - Implement your own custom features
27
24
  *
28
- * To apply [configuration options](@/guides/getting-started/setting-options.md), pass them as
25
+ * To apply [configuration options](@/guides/getting-started/configuration-options.md), pass them as
29
26
  * a second argument of the [Handsontable constructor](@/guides/getting-started/installation.md#initialize-handsontable),
30
27
  * using the [object literal notation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer):
31
28
  *
29
+ * ::: only-for javascript
32
30
  * ```js
33
31
  * const container = document.getElementById('example');
34
32
  *
@@ -47,22 +45,58 @@ import { isObjectEqual } from "../../helpers/object.mjs";
47
45
  * manualRowMove: true,
48
46
  * });
49
47
  * ```
48
+ * :::
49
+ *
50
+ * ::: only-for react
51
+ * ```jsx
52
+ * <HotTable
53
+ * // configuration options, in the object literal notation
54
+ * licenseKey='non-commercial-and-evaluation'
55
+ * data={Handsontable.helper.createSpreadsheetData(5, 10)}
56
+ * width={400}
57
+ * height={300}
58
+ * colHeaders={true}
59
+ * rowHeaders={true}
60
+ * customBorders={true}
61
+ * dropdownMenu={true}
62
+ * multiColumnSorting={true}
63
+ * filters={true}
64
+ * manualRowMove={true}
65
+ * />
66
+ * ```
67
+ * :::
50
68
  *
51
69
  * Depending on your needs, you can apply [configuration options](@/api/options.md) to different elements of your grid:
52
- * - [The entire grid](@/guides/getting-started/setting-options.md#setting-grid-options)
53
- * - [Individual columns](@/guides/getting-started/setting-options.md#setting-column-options)
54
- * - [Individual rows](@/guides/getting-started/setting-options.md#setting-row-options)
55
- * - [Individual cells](@/guides/getting-started/setting-options.md#setting-cell-options)
56
- * - [Individual grid elements, based on any logic you implement](@/guides/getting-started/setting-options.md#implementing-custom-logic)
70
+ * - [The entire grid](@/guides/getting-started/configuration-options.md#setting-grid-options)
71
+ * - [Individual columns](@/guides/getting-started/configuration-options.md#setting-column-options)
72
+ * - [Individual rows](@/guides/getting-started/configuration-options.md#setting-row-options)
73
+ * - [Individual cells](@/guides/getting-started/configuration-options.md#setting-cell-options)
74
+ * - [Individual grid elements, based on any logic you implement](@/guides/getting-started/configuration-options.md#implementing-custom-logic)
57
75
  *
58
76
  * Read more:
59
- * - [Configuration options](@/guides/getting-started/setting-options.md)
77
+ * - [Configuration options](@/guides/getting-started/configuration-options.md)
60
78
  */
61
-
62
79
  export default (function () {
63
80
  return {
64
81
  /* eslint-disable jsdoc/require-description-complete-sentence */
65
82
 
83
+ /**
84
+ * Information on which of the meta properties were added automatically.
85
+ * For example: setting the `renderer` property directly won't extend the `_automaticallyAssignedMetaProps`
86
+ * entry, but setting a `type` will modify it to:
87
+ * ```
88
+ * _automaticallyAssignedMetaProps: {
89
+ * renderer: true,
90
+ * editor: true,
91
+ * validator: true
92
+ * }
93
+ * ```
94
+ *
95
+ * @private
96
+ * @type {object}
97
+ * @default {}
98
+ */
99
+ _automaticallyAssignedMetaProps: {},
66
100
  /**
67
101
  * The `activeHeaderClassName` option lets you add a CSS class name
68
102
  * to every currently-active, currently-selected header (when a whole column or row is selected).
@@ -92,7 +126,6 @@ export default (function () {
92
126
  * ```
93
127
  */
94
128
  activeHeaderClassName: 'ht__active_highlight',
95
-
96
129
  /**
97
130
  * The `allowEmpty` option determines whether Handsontable accepts the following values:
98
131
  * - `null`
@@ -101,10 +134,14 @@ export default (function () {
101
134
  *
102
135
  * You can set the `allowEmpty` option to one of the following:
103
136
  *
104
- * | Setting | Description |
105
- * | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
106
- * | `true` (default) | - Accept `null`, `undefined` and `''` values<br>- Mark cells that contain `null`, `undefined` and `''` values as `valid` |
107
- * | `false` | - Don't accept `null`, `undefined` and `''` values<br>- Mark cells that contain `null`, `undefined` and `''` values with as `invalid` |
137
+ * | Setting | Description |
138
+ * | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
139
+ * | `true` (default) | - Accept `null`, `undefined` and `''` values<br>- Mark cells that contain `null`, `undefined` or `''` values as `valid` |
140
+ * | `false` | - Don't accept `null`, `undefined` and `''` values<br>- Mark cells that contain `null`, `undefined` or `''` values with as `invalid` |
141
+ *
142
+ * ::: tip
143
+ * To use the [`allowEmpty`](#allowempty) option, you need to set the [`validator`](#validator) option (or the [`type`](#type) option).
144
+ * :::
108
145
  *
109
146
  * @memberof Options#
110
147
  * @type {boolean}
@@ -113,22 +150,21 @@ export default (function () {
113
150
  *
114
151
  * @example
115
152
  * ```js
116
- * // allow empty values in every cell of the entire grid
153
+ * // allow empty values in each cell of the entire grid
117
154
  * allowEmpty: true,
118
155
  *
119
156
  * // or
120
157
  * columns: [
121
158
  * {
122
- * data: 'date',
159
+ * type: 'date',
123
160
  * dateFormat: 'DD/MM/YYYY',
124
- * // allow empty values in every cell of the 'date' column
161
+ * // allow empty values in each cell of the 'date' column
125
162
  * allowEmpty: true
126
163
  * }
127
164
  * ],
128
165
  * ```
129
166
  */
130
167
  allowEmpty: true,
131
-
132
168
  /**
133
169
  * The `allowHtml` option configures whether [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md)
134
170
  * and [`dropdown`](@/guides/cell-types/dropdown-cell-type.md) cells' [`source`](#source) data
@@ -157,7 +193,7 @@ export default (function () {
157
193
  * ```js
158
194
  * columns: [
159
195
  * {
160
- * // set the `type` of every cell in this column to `autocomplete`
196
+ * // set the `type` of each cell in this column to `autocomplete`
161
197
  * type: 'autocomplete',
162
198
  * // set options available in every `autocomplete` cell of this column
163
199
  * source: ['<strong>foo</strong>', '<strong>bar</strong>']
@@ -168,7 +204,6 @@ export default (function () {
168
204
  * ```
169
205
  */
170
206
  allowHtml: false,
171
-
172
207
  /**
173
208
  * If set to `true`, the `allowInsertColumn` option adds the following menu items to the [context menu](@/guides/accessories-and-menus/context-menu.md):
174
209
  * - **Insert column left**
@@ -186,7 +221,6 @@ export default (function () {
186
221
  * ```
187
222
  */
188
223
  allowInsertColumn: true,
189
-
190
224
  /**
191
225
  * If set to `true`, the `allowInsertRow` option adds the following menu items to the [context menu](@/guides/accessories-and-menus/context-menu.md):
192
226
  * - **Insert row above**
@@ -204,7 +238,6 @@ export default (function () {
204
238
  * ```
205
239
  */
206
240
  allowInsertRow: true,
207
-
208
241
  /**
209
242
  * The `allowInvalid` option determines whether Handsontable accepts values
210
243
  * that were marked as `invalid` by the [cell validator](@/guides/cell-functions/cell-validator.md).
@@ -237,7 +270,6 @@ export default (function () {
237
270
  * ```
238
271
  */
239
272
  allowInvalid: true,
240
-
241
273
  /**
242
274
  * If set to `true`, the `allowRemoveColumn` option adds the following menu items to the [context menu](@/guides/accessories-and-menus/context-menu.md):
243
275
  * - **Remove column**
@@ -257,7 +289,6 @@ export default (function () {
257
289
  * ```
258
290
  */
259
291
  allowRemoveColumn: true,
260
-
261
292
  /**
262
293
  * If set to `true`, the `allowRemoveRow` option adds the following menu items to the [context menu](@/guides/accessories-and-menus/context-menu.md):
263
294
  * - **Remove row**
@@ -277,7 +308,6 @@ export default (function () {
277
308
  * ```
278
309
  */
279
310
  allowRemoveRow: true,
280
-
281
311
  /**
282
312
  * The `autoColumnSize` option configures the [`AutoColumnSize`](@/api/autoColumnSize.md) plugin.
283
313
  *
@@ -328,7 +358,6 @@ export default (function () {
328
358
  * ```
329
359
  */
330
360
  autoColumnSize: void 0,
331
-
332
361
  /**
333
362
  * The `autoRowSize` option configures the [`AutoRowSize`](@/api/autoRowSize.md) plugin.
334
363
  *
@@ -368,7 +397,6 @@ export default (function () {
368
397
  * ```
369
398
  */
370
399
  autoRowSize: void 0,
371
-
372
400
  /**
373
401
  * The `autoWrapCol` option determines what happens to current cell selection when you navigate to the grid's top or bottom edge.
374
402
  *
@@ -391,7 +419,6 @@ export default (function () {
391
419
  * ```
392
420
  */
393
421
  autoWrapCol: false,
394
-
395
422
  /**
396
423
  * The `autoWrapRow` option determines what happens to current cell selection when you navigate to the grid's left or right edge.
397
424
  *
@@ -414,7 +441,6 @@ export default (function () {
414
441
  * ```
415
442
  */
416
443
  autoWrapRow: false,
417
-
418
444
  /**
419
445
  * @description
420
446
  * The `bindRowsWithHeaders` option configures the [`BindRowsWithHeaders`](@/api/bindRowsWithHeaders.md) plugin.
@@ -441,15 +467,14 @@ export default (function () {
441
467
  * ```
442
468
  */
443
469
  bindRowsWithHeaders: void 0,
444
-
445
470
  /**
446
- * The `cell` option lets you apply [configuration options](@/guides/getting-started/setting-options.md) to individual cells.
471
+ * The `cell` option lets you apply [configuration options](@/guides/getting-started/configuration-options.md) to individual cells.
447
472
  *
448
- * The `cell` option overwrites the [top-level grid options](@/guides/getting-started/setting-options.md#setting-grid-options),
473
+ * The `cell` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#setting-grid-options),
449
474
  * and the [`columns`](#columns) options.
450
475
  *
451
476
  * Read more:
452
- * - [Configuration options: Setting cell options](@/guides/getting-started/setting-options.md#setting-cell-options)
477
+ * - [Configuration options: Setting cell options](@/guides/getting-started/configuration-options.md#setting-cell-options)
453
478
  * - [`columns`](#columns)
454
479
  *
455
480
  * @memberof Options#
@@ -471,10 +496,9 @@ export default (function () {
471
496
  * ```
472
497
  */
473
498
  cell: [],
474
-
475
499
  /**
476
500
  * @description
477
- * The `cells` option lets you apply [configuration options](@/guides/getting-started/setting-options.md) to
501
+ * The `cells` option lets you apply any other [configuration options](@/guides/getting-started/configuration-options.md) to
478
502
  * individual grid elements (columns, rows, cells), based on any logic you implement.
479
503
  *
480
504
  * The `cells` option overwrites all other options (including options set by [`columns`](#columns) and [`cell`](#cell)).
@@ -487,8 +511,8 @@ export default (function () {
487
511
  * | `prop` | No | String \| Number | If [`data`](#data) is set to an [array of arrays](@/guides/getting-started/binding-to-data.md#array-of-arrays), `prop` is the same number as `column`.<br><br>If [`data`](#data) is set to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects), `prop` is a property name for the column's data object. |
488
512
  *
489
513
  * Read more:
490
- * - [Configuration options: Implementing custom logic](@/guides/getting-started/setting-options.md#implementing-custom-logic)
491
- * - [Configuration options: Setting row options](@/guides/getting-started/setting-options.md#setting-row-options)
514
+ * - [Configuration options: Implementing custom logic](@/guides/getting-started/configuration-options.md#implementing-custom-logic)
515
+ * - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#setting-row-options)
492
516
  * - [`columns`](#columns)
493
517
  * - [`cell`](#cell)
494
518
  *
@@ -514,7 +538,6 @@ export default (function () {
514
538
  * ```
515
539
  */
516
540
  cells: void 0,
517
-
518
541
  /**
519
542
  * The `checkedTemplate` option lets you configure what value
520
543
  * a checked [`checkbox`](@/guides/cell-types/checkbox-cell-type.md) cell has.
@@ -540,13 +563,13 @@ export default (function () {
540
563
  * ```js
541
564
  * columns: [
542
565
  * {
543
- * // set the `type` of every cell in this column to `checkbox`
566
+ * // set the `type` of each cell in this column to `checkbox`
544
567
  * // when checked, the cell's value is `true`
545
568
  * // when unchecked, the cell's value is `false`
546
569
  * type: 'checkbox',
547
570
  * },
548
571
  * {
549
- * // set the `type` of every cell in this column to `checkbox`
572
+ * // set the `type` of each cell in this column to `checkbox`
550
573
  * type: 'checkbox',
551
574
  * // when checked, the cell's value is `'Yes'`
552
575
  * checkedTemplate: 'Yes',
@@ -557,7 +580,6 @@ export default (function () {
557
580
  * ```
558
581
  */
559
582
  checkedTemplate: void 0,
560
-
561
583
  /**
562
584
  * The `className` option lets you add CSS class names to every currently-selected element.
563
585
  *
@@ -568,10 +590,15 @@ export default (function () {
568
590
  * | A string | Add a single CSS class name to every currently-selected element |
569
591
  * | An array of strings | Add multiple CSS class names to every currently-selected element |
570
592
  *
571
- * To apply different CSS class names on different levels, use Handsontable's [cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration).
593
+ * ::: tip
594
+ * Don't change the `className` metadata of the [column summary](@/guides/columns/column-summary.md) row.
595
+ * To style the summary row, use the class name assigned automatically by the [`ColumnSummary`](@/api/columnSummary.md) plugin: `columnSummaryResult`.
596
+ * :::
597
+ *
598
+ * To apply different CSS class names on different levels, use Handsontable's [cascading configuration](@/guides/getting-started/configuration-options.md#cascading-configuration).
572
599
  *
573
600
  * Read more:
574
- * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
601
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/configuration-options.md#cascading-configuration)
575
602
  * - [`currentRowClassName`](#currentRowClassName)
576
603
  * - [`currentColClassName`](#currentColClassName)
577
604
  * - [`currentHeaderClassName`](#currentHeaderClassName)
@@ -600,7 +627,6 @@ export default (function () {
600
627
  * ```
601
628
  */
602
629
  className: void 0,
603
-
604
630
  /**
605
631
  * The `colHeaders` option configures your grid's column headers.
606
632
  *
@@ -636,7 +662,6 @@ export default (function () {
636
662
  * ```
637
663
  */
638
664
  colHeaders: null,
639
-
640
665
  /**
641
666
  * @description
642
667
  * The `collapsibleColumns` option configures the [`CollapsibleColumns`](@/api/collapsibleColumns.md) plugin.
@@ -670,7 +695,6 @@ export default (function () {
670
695
  * ```
671
696
  */
672
697
  collapsibleColumns: void 0,
673
-
674
698
  /**
675
699
  * @description
676
700
  * The `columnHeaderHeight` option configures the height of column headers.
@@ -697,24 +721,24 @@ export default (function () {
697
721
  * ```
698
722
  */
699
723
  columnHeaderHeight: void 0,
700
-
701
724
  /**
702
725
  * @description
703
- * The `columns` option lets you apply [configuration options](@/guides/getting-started/setting-options.md) to individual columns (or ranges of columns).
726
+ * The `columns` option lets you apply any other [configuration options](@/guides/getting-started/configuration-options.md) to individual columns (or ranges of columns).
704
727
  *
705
728
  * You can set the `columns` option to one of the following:
706
729
  * - An array of objects (each object represents one column)
707
730
  * - A function that returns an array of objects
708
731
  *
709
- * The `columns` option overwrites the [top-level grid options](@/guides/getting-started/setting-options.md#setting-grid-options).
732
+ * The `columns` option overwrites the [top-level grid options](@/guides/getting-started/configuration-options.md#setting-grid-options).
710
733
  *
711
- * When you use the `columns` option, the [`startCols`](#startCols), [`minCols`](#minCols), and [`maxCols`](#maxCols) are ignored.
734
+ * When you use `columns`, the [`startCols`](#startCols), [`minCols`](#minCols), and [`maxCols`](#maxCols) options are ignored.
712
735
  *
713
736
  * Read more:
714
- * - [Configuration options: Setting column options](@/guides/getting-started/setting-options.md#setting-column-options)
737
+ * - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#setting-column-options)
715
738
  * - [`startCols`](#startCols)
716
739
  * - [`minCols`](#minCols)
717
740
  * - [`maxCols`](#maxCols)
741
+ * - [`data`](#data)
718
742
  *
719
743
  * @memberof Options#
720
744
  * @type {object[]|Function}
@@ -750,7 +774,6 @@ export default (function () {
750
774
  * ```
751
775
  */
752
776
  columns: void 0,
753
-
754
777
  /**
755
778
  * @description
756
779
  * The `columnSorting` option configures the [`ColumnSorting`](@/api/columnSorting.md) plugin.
@@ -830,7 +853,6 @@ export default (function () {
830
853
  * ```
831
854
  */
832
855
  columnSorting: void 0,
833
-
834
856
  /**
835
857
  * @description
836
858
  * The `columnSummary` option configures the [`ColumnSummary`](@/api/columnSummary.md) plugin.
@@ -885,7 +907,6 @@ export default (function () {
885
907
  * ```
886
908
  */
887
909
  columnSummary: void 0,
888
-
889
910
  /**
890
911
  * The `colWidths` option sets columns' widths, in pixels.
891
912
  *
@@ -933,7 +954,6 @@ export default (function () {
933
954
  * ```
934
955
  */
935
956
  colWidths: void 0,
936
-
937
957
  /**
938
958
  * The `commentedCellClassName` option lets you add a CSS class name to cells
939
959
  * that have comments.
@@ -960,12 +980,11 @@ export default (function () {
960
980
  * @example
961
981
  * ```js
962
982
  * // add a `has-comment` CSS class name
963
- * // to every cell that has a comment
983
+ * // to each cell that has a comment
964
984
  * commentedCellClassName: 'has-comment',
965
985
  * ```
966
986
  */
967
987
  commentedCellClassName: 'htCommentCell',
968
-
969
988
  /**
970
989
  * @description
971
990
  * The `comments` option configures the [`Comments`](@/api/comments.md) plugin.
@@ -1020,7 +1039,6 @@ export default (function () {
1020
1039
  * ```
1021
1040
  */
1022
1041
  comments: false,
1023
-
1024
1042
  /**
1025
1043
  * @description
1026
1044
  * The `contextMenu` option configures the [`ContextMenu`](@/api/contextMenu.md) plugin.
@@ -1083,21 +1101,20 @@ export default (function () {
1083
1101
  * ```
1084
1102
  */
1085
1103
  contextMenu: void 0,
1086
-
1087
1104
  /**
1088
1105
  * @description
1089
1106
  * The `copyable` option determines whether a cell's value can be copied to the clipboard or not.
1090
1107
  *
1091
1108
  * You can set the `copyable` option to one of the following:
1092
1109
  *
1093
- * | Setting | Description |
1094
- * | -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
1095
- * | `true` (default) | - Enable copying for this cell<br>- On pressing <kbd>**Ctrl**</kbd>/<kbd>**Cmd**</kbd> + <kbd>**C**</kbd>, add the cell's value to the clipboard |
1096
- * | `false`<br>(default for the [`password`](@/guides/cell-types/password-cell-type.md) [cell type](#type)) | - Disable copying for this cell |
1110
+ * | Setting | Description |
1111
+ * | -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
1112
+ * | `true` (default) | - On pressing <kbd>**Ctrl**</kbd>/<kbd>**Cmd**</kbd> + <kbd>**C**</kbd>, add the cell's value to the clipboard |
1113
+ * | `false`<br>(default for the [`password`](@/guides/cell-types/password-cell-type.md) [cell type](#type)) | - On pressing <kbd>**Ctrl**</kbd>/<kbd>**Cmd**</kbd> + <kbd>**C**</kbd>, add an empty string (`""`) to the clipboard |
1097
1114
  *
1098
1115
  * Read more:
1099
1116
  * - [Clipboard](@/guides/cell-features/clipboard.md)
1100
- * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
1117
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/configuration-options.md#cascading-configuration)
1101
1118
  * - [Password cell type](@/guides/cell-types/password-cell-type.md)
1102
1119
  *
1103
1120
  * @memberof Options#
@@ -1107,17 +1124,17 @@ export default (function () {
1107
1124
  *
1108
1125
  * @example
1109
1126
  * ```js
1110
- * // enable copying for every cell of the entire grid
1127
+ * // enable copying for each cell of the entire grid
1111
1128
  * copyable: true,
1112
1129
  *
1113
1130
  * // enable copying for individual columns
1114
1131
  * columns: [
1115
1132
  * {
1116
- * // enable copying for every cell of this column
1133
+ * // enable copying for each cell of this column
1117
1134
  * copyable: true
1118
1135
  * },
1119
1136
  * {
1120
- * // disable copying for every cell of this column
1137
+ * // disable copying for each cell of this column
1121
1138
  * copyable: false
1122
1139
  * }
1123
1140
  * ]
@@ -1134,7 +1151,6 @@ export default (function () {
1134
1151
  * ```
1135
1152
  */
1136
1153
  copyable: true,
1137
-
1138
1154
  /**
1139
1155
  * The `copyPaste` option configures the [`CopyPaste`](@/api/copyPaste.md) plugin.
1140
1156
  *
@@ -1183,17 +1199,22 @@ export default (function () {
1183
1199
  * ```
1184
1200
  */
1185
1201
  copyPaste: true,
1186
-
1187
1202
  /**
1188
- * The `correctFormat` option configures what happens when the format of a date entered into a [`date`](@/guides/cell-types/date-cell-type.md) cell doesn't match the format specified by the [`dateFormat`](#dateFormat) option:
1203
+ * The `correctFormat` option configures whether incorrectly-formatted times and dates are amended or not.
1189
1204
  *
1190
- * | Setting | Description |
1191
- * | ----------------- | ---------------------------------------------------------------------------------- |
1192
- * | `false` (default) | Don't correct the entered date's format (treat the entered date as invalid) |
1193
- * | `true` | Correct the entered date's format to match the [`dateFormat`](#dateFormat) setting |
1205
+ * When the user enters dates and times, Handsontable can automatically adjust their format
1206
+ * to match the [`dateFormat`](#dateFormat) and [`timeFormat`](@/guides/cell-types/time-cell-type.md) settings.
1207
+ *
1208
+ * You can set the `correctFormat` option to one of the following:
1209
+ *
1210
+ * | Setting | Description |
1211
+ * | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
1212
+ * | `false` (default) | Don't correct the format of the entered date or time (treat the entered date or time as invalid) |
1213
+ * | `true` | Correct the format of the entered date or time to match the [`dateFormat`](#dateFormat) or [`timeFormat`](@/guides/cell-types/time-cell-type.md) settings |
1194
1214
  *
1195
1215
  * Read more:
1196
1216
  * - [Date cell type](@/guides/cell-types/date-cell-type.md)
1217
+ * - [Time cell type](@/guides/cell-types/time-cell-type.md)
1197
1218
  * - [`dateFormat`](#dateFormat)
1198
1219
  *
1199
1220
  * @memberof Options#
@@ -1205,21 +1226,29 @@ export default (function () {
1205
1226
  * ```js
1206
1227
  * columns: [
1207
1228
  * {
1208
- * // set the `type` of every cell in this column to `date`
1229
+ * // set the `type` of each cell in this column to `date`
1209
1230
  * type: 'date',
1210
1231
  * // for every `date` cell of this column, set the date format to `YYYY-MM-DD`
1211
1232
  * dateFormat: 'YYYY-MM-DD',
1212
1233
  * // enforce the `YYYY-MM-DD` date format
1213
1234
  * correctFormat: true
1214
1235
  * },
1236
+ *
1237
+ * {
1238
+ * // set the `type` of each cell in this column to `time`
1239
+ * type: 'time',
1240
+ * // for every `time` cell of this column, set the time format to `h:mm:ss a`
1241
+ * timeFormat: 'h:mm:ss a',
1242
+ * // enforce the `h:mm:ss a` time format
1243
+ * correctFormat: true
1244
+ * },
1215
1245
  * ],
1216
1246
  * ```
1217
1247
  */
1218
1248
  correctFormat: false,
1219
-
1220
1249
  /**
1221
1250
  * The `currentColClassName` option lets you add a CSS class name
1222
- * to every cell of the currently-visible, currently-selected columns.
1251
+ * to each cell of the currently-visible, currently-selected columns.
1223
1252
  *
1224
1253
  * Read more:
1225
1254
  * - [`currentRowClassName`](#currentRowClassName)
@@ -1241,12 +1270,11 @@ export default (function () {
1241
1270
  * @example
1242
1271
  * ```js
1243
1272
  * // add a `your-class-name` CSS class name
1244
- * // to every cell of the currently-visible, currently-selected columns
1273
+ * // to each cell of the currently-visible, currently-selected columns
1245
1274
  * currentColClassName: 'your-class-name',
1246
1275
  * ```
1247
1276
  */
1248
1277
  currentColClassName: void 0,
1249
-
1250
1278
  /**
1251
1279
  * The `currentHeaderClassName` option lets you add a CSS class name
1252
1280
  * to every currently-visible, currently-selected header.
@@ -1275,10 +1303,9 @@ export default (function () {
1275
1303
  * ```
1276
1304
  */
1277
1305
  currentHeaderClassName: 'ht__highlight',
1278
-
1279
1306
  /**
1280
1307
  * The `currentRowClassName` option lets you add a CSS class name
1281
- * to every cell of the currently-visible, currently-selected rows.
1308
+ * to each cell of the currently-visible, currently-selected rows.
1282
1309
  *
1283
1310
  * Read more:
1284
1311
  * - [`currentColClassName`](#currentColClassName)
@@ -1300,12 +1327,11 @@ export default (function () {
1300
1327
  * @example
1301
1328
  * ```js
1302
1329
  * // add a `your-class-name` CSS class name
1303
- * // to every cell of the currently-visible, currently-selected rows
1330
+ * // to each cell of the currently-visible, currently-selected rows
1304
1331
  * currentRowClassName: 'your-class-name',
1305
1332
  * ```
1306
1333
  */
1307
1334
  currentRowClassName: void 0,
1308
-
1309
1335
  /**
1310
1336
  * @description
1311
1337
  * The `customBorders` option configures the [`CustomBorders`](@/api/customBorders.md) plugin.
@@ -1418,7 +1444,6 @@ export default (function () {
1418
1444
  * ```
1419
1445
  */
1420
1446
  customBorders: false,
1421
-
1422
1447
  /**
1423
1448
  * @description
1424
1449
  * The `data` option sets the initial [data](@/guides/getting-started/binding-to-data.md) of your Handsontable instance.
@@ -1429,9 +1454,13 @@ export default (function () {
1429
1454
  * - Either to an [array of arrays](@/guides/getting-started/binding-to-data.md#array-of-arrays).
1430
1455
  * - Or to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects).
1431
1456
  *
1457
+ * If you don't set the `data` option (or set it to `null`), Handsontable renders as an empty 5x5 grid by default.
1458
+ *
1432
1459
  * Read more:
1433
1460
  * - [Binding to data](@/guides/getting-started/binding-to-data.md)
1434
1461
  * - [`dataSchema`](#dataSchema)
1462
+ * - [`startRows`](#startRows)
1463
+ * - [`startCols`](#startCols)
1435
1464
  *
1436
1465
  * @memberof Options#
1437
1466
  * @type {Array[]|object[]}
@@ -1458,18 +1487,24 @@ export default (function () {
1458
1487
  * ```
1459
1488
  */
1460
1489
  data: void 0,
1461
-
1462
1490
  /**
1463
1491
  * @description
1464
- * If the [`data`](#data) option is set to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects)
1492
+ * When the [`data`](#data) option is set to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects)
1465
1493
  * (or is empty), the `dataSchema` option defines the structure of new rows.
1466
1494
  *
1495
+ * Using the `dataSchema` option, you can start out with an empty grid.
1496
+ *
1497
+ * You can set the `dataSchema` option to one of the following:
1498
+ * - An object
1499
+ * - A function
1500
+ *
1467
1501
  * Read more:
1468
1502
  * - [Binding to data: Array of objects with custom data schema](@/guides/getting-started/binding-to-data.md#array-of-objects-with-custom-data-schema)
1503
+ * - [Binding to data: Function data source and schema](@/guides/getting-started/binding-to-data.md#function-data-source-and-schema)
1469
1504
  * - [`data`](#data)
1470
1505
  *
1471
1506
  * @memberof Options#
1472
- * @type {object}
1507
+ * @type {object|Function}
1473
1508
  * @default undefined
1474
1509
  * @category Core
1475
1510
  *
@@ -1490,7 +1525,6 @@ export default (function () {
1490
1525
  * ```
1491
1526
  */
1492
1527
  dataSchema: void 0,
1493
-
1494
1528
  /**
1495
1529
  * The `dateFormat` option configures the date format accepted by [`date`](@/guides/cell-types/date-cell-type.md) cells.
1496
1530
  *
@@ -1512,7 +1546,7 @@ export default (function () {
1512
1546
  * ```js
1513
1547
  * columns: [
1514
1548
  * {
1515
- * // set the `type` of every cell in this column to `date`
1549
+ * // set the `type` of each cell in this column to `date`
1516
1550
  * type: 'date',
1517
1551
  * // for every `date` cell of this column, set the date format to `YYYY-MM-DD`
1518
1552
  * dateFormat: 'YYYY-MM-DD',
@@ -1521,18 +1555,17 @@ export default (function () {
1521
1555
  * ```
1522
1556
  */
1523
1557
  dateFormat: 'DD/MM/YYYY',
1524
-
1525
1558
  /**
1526
- * The `datePickerConfig` option configures the `date` [cell editor](@/guides/cell-functions/cell-editor.md)'s date picker, which uses an external dependency: [Pikaday](https://github.com/Pikaday/Pikaday/tree/1.8.0).
1559
+ * The `datePickerConfig` option configures the `date` [cell editor](@/guides/cell-functions/cell-editor.md)'s date picker, which uses an external dependency: [Pikaday](https://github.com/Pikaday/Pikaday/tree/1.8.2).
1527
1560
  *
1528
- * You can set the `datePickerConfig` option to an object with any of the available [Pikaday options](https://github.com/Pikaday/Pikaday/tree/1.8.0#configuration),
1561
+ * You can set the `datePickerConfig` option to an object with any of the available [Pikaday options](https://github.com/Pikaday/Pikaday/tree/1.8.2#configuration),
1529
1562
  * except for the following, which are always overwritten by the `date` [cell editor](@/guides/cell-functions/cell-editor.md):
1530
1563
  * - `bound`
1531
1564
  * - `container`
1532
1565
  * - `field`
1533
1566
  * - `trigger`
1534
1567
  *
1535
- * If the `datePickerConfig` option is not defined, the `date` [cell editor](@/guides/cell-functions/cell-editor.md) overwrites the following [Pikaday options](https://github.com/Pikaday/Pikaday/tree/1.8.0#configuration) as well:
1568
+ * If the `datePickerConfig` option is not defined, the `date` [cell editor](@/guides/cell-functions/cell-editor.md) overwrites the following [Pikaday options](https://github.com/Pikaday/Pikaday/tree/1.8.2#configuration) as well:
1536
1569
  *
1537
1570
  * | Pikaday option | Handsontable's setting |
1538
1571
  * | -------------------- | ---------------------- |
@@ -1543,7 +1576,7 @@ export default (function () {
1543
1576
  * - [`editor`](#editor)
1544
1577
  * - [`dateFormat`](#dateFormat)
1545
1578
  * - [Cell editor](@/guides/cell-functions/cell-editor.md)
1546
- * - [All Pikaday options &#8594;](https://github.com/Pikaday/Pikaday/tree/1.8.0#configuration)
1579
+ * - [All Pikaday options &#8594;](https://github.com/Pikaday/Pikaday/tree/1.8.2#configuration)
1547
1580
  *
1548
1581
  * @memberof Options#
1549
1582
  * @type {object}
@@ -1551,7 +1584,6 @@ export default (function () {
1551
1584
  * @category Core
1552
1585
  */
1553
1586
  datePickerConfig: void 0,
1554
-
1555
1587
  /**
1556
1588
  * The `defaultDate` option configures the date displayed
1557
1589
  * in empty [`date`](@/guides/cell-types/date-cell-type.md) cells.
@@ -1571,7 +1603,7 @@ export default (function () {
1571
1603
  * ```js
1572
1604
  * columns: [
1573
1605
  * {
1574
- * // set the `type` of every cell in this column to `date`
1606
+ * // set the `type` of each cell in this column to `date`
1575
1607
  * type: 'date',
1576
1608
  * // in every empty `date` cell of this column, display `2015-02-02`
1577
1609
  * defaultDate: '2015-02-02'
@@ -1580,7 +1612,6 @@ export default (function () {
1580
1612
  * ```
1581
1613
  */
1582
1614
  defaultDate: void 0,
1583
-
1584
1615
  /**
1585
1616
  * @description
1586
1617
  * The `disableVisualSelection` option configures how
@@ -1624,7 +1655,6 @@ export default (function () {
1624
1655
  * ```
1625
1656
  */
1626
1657
  disableVisualSelection: false,
1627
-
1628
1658
  /**
1629
1659
  * @description
1630
1660
  * The `dragToScroll` option configures the [`DragToScroll`](@/api/dragToScroll.md) plugin.
@@ -1651,7 +1681,6 @@ export default (function () {
1651
1681
  * ```
1652
1682
  */
1653
1683
  dragToScroll: true,
1654
-
1655
1684
  /**
1656
1685
  * The `dropdownMenu` option configures the [`DropdownMenu`](@/api/dropdownMenu.md) plugin.
1657
1686
  *
@@ -1710,7 +1739,6 @@ export default (function () {
1710
1739
  * ```
1711
1740
  */
1712
1741
  dropdownMenu: void 0,
1713
-
1714
1742
  /**
1715
1743
  * The `editor` option sets a [cell editor](@/guides/cell-functions/cell-editor.md) for a cell.
1716
1744
  *
@@ -1742,7 +1770,7 @@ export default (function () {
1742
1770
  * Read more:
1743
1771
  * - [Cell editor](@/guides/cell-functions/cell-editor.md)
1744
1772
  * - [Cell type](@/guides/cell-types/cell-type.md)
1745
- * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
1773
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/configuration-options.md#cascading-configuration)
1746
1774
  * - [`type`](#type)
1747
1775
  *
1748
1776
  * @memberof Options#
@@ -1752,24 +1780,23 @@ export default (function () {
1752
1780
  *
1753
1781
  * @example
1754
1782
  * ```js
1755
- * // use the `numeric` editor for every cell of the entire grid
1783
+ * // use the `numeric` editor for each cell of the entire grid
1756
1784
  * editor: 'numeric',
1757
1785
  *
1758
1786
  * // apply the `editor` option to individual columns
1759
1787
  * columns: [
1760
1788
  * {
1761
- * // use the `autocomplete` editor for every cell of this column
1789
+ * // use the `autocomplete` editor for each cell of this column
1762
1790
  * editor: 'autocomplete'
1763
1791
  * },
1764
1792
  * {
1765
- * // disable editing cells through cell editors for every cell of this column
1793
+ * // disable editing cells through cell editors for each cell of this column
1766
1794
  * editor: false
1767
1795
  * }
1768
1796
  * ]
1769
1797
  * ```
1770
1798
  */
1771
1799
  editor: void 0,
1772
-
1773
1800
  /**
1774
1801
  * The `enterBeginsEditing` option configures the action of the <kbd>**Enter**</kbd> key.
1775
1802
  *
@@ -1799,7 +1826,6 @@ export default (function () {
1799
1826
  * ```
1800
1827
  */
1801
1828
  enterBeginsEditing: true,
1802
-
1803
1829
  /**
1804
1830
  * The `enterMoves` option configures the action of the <kbd>**Enter**</kbd> key.
1805
1831
  *
@@ -1843,7 +1869,6 @@ export default (function () {
1843
1869
  col: 0,
1844
1870
  row: 1
1845
1871
  },
1846
-
1847
1872
  /**
1848
1873
  * The `fillHandle` option configures the [Autofill](@/api/autofill.md) plugin.
1849
1874
  *
@@ -1903,7 +1928,6 @@ export default (function () {
1903
1928
  fillHandle: {
1904
1929
  autoInsertRow: false
1905
1930
  },
1906
-
1907
1931
  /**
1908
1932
  * The `filter` option configures whether [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md) cells'
1909
1933
  * lists are updated by the end user's input.
@@ -1928,7 +1952,7 @@ export default (function () {
1928
1952
  * @example
1929
1953
  * ```js
1930
1954
  * columns: [{
1931
- * // set the `type` of every cell in this column to `autocomplete`
1955
+ * // set the `type` of each cell in this column to `autocomplete`
1932
1956
  * type: 'autocomplete',
1933
1957
  * // set options available in every `autocomplete` cell of this column
1934
1958
  * source: ['A', 'B', 'C'],
@@ -1940,7 +1964,6 @@ export default (function () {
1940
1964
  * ```
1941
1965
  */
1942
1966
  filter: true,
1943
-
1944
1967
  /**
1945
1968
  * The `filteringCaseSensitive` option configures whether [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md) cells'
1946
1969
  * input is case-sensitive.
@@ -1975,7 +1998,6 @@ export default (function () {
1975
1998
  * ```
1976
1999
  */
1977
2000
  filteringCaseSensitive: false,
1978
-
1979
2001
  /**
1980
2002
  * The `filters` option configures the [`Filters`](@/api/filters.md) plugin.
1981
2003
  *
@@ -2003,7 +2025,6 @@ export default (function () {
2003
2025
  * ```
2004
2026
  */
2005
2027
  filters: void 0,
2006
-
2007
2028
  /**
2008
2029
  * `fixedColumnsLeft` is a legacy option.
2009
2030
  *
@@ -2028,7 +2049,6 @@ export default (function () {
2028
2049
  * ```
2029
2050
  */
2030
2051
  fixedColumnsLeft: 0,
2031
-
2032
2052
  /**
2033
2053
  * If your grid's [layout direction](@/guides/internationalization/layout-direction.md) is LTR (default), the `fixedColumnsStart` option sets the number of [frozen columns](@/guides/columns/column-freezing.md) at the left-hand edge of the grid.
2034
2054
  *
@@ -2067,7 +2087,6 @@ export default (function () {
2067
2087
  * ```
2068
2088
  */
2069
2089
  fixedColumnsStart: 0,
2070
-
2071
2090
  /**
2072
2091
  * The `fixedRowsBottom` option sets the number of [frozen rows](@/guides/rows/row-freezing.md)
2073
2092
  * at the bottom of the grid.
@@ -2087,7 +2106,6 @@ export default (function () {
2087
2106
  * ```
2088
2107
  */
2089
2108
  fixedRowsBottom: 0,
2090
-
2091
2109
  /**
2092
2110
  * The `fixedRowsTop` option sets the number of [frozen rows](@/guides/rows/row-freezing.md) at the top of the grid.
2093
2111
  *
@@ -2106,7 +2124,6 @@ export default (function () {
2106
2124
  * ```
2107
2125
  */
2108
2126
  fixedRowsTop: 0,
2109
-
2110
2127
  /**
2111
2128
  * The `formulas` option configures the [`Formulas`](@/api/formulas.md) plugin.
2112
2129
  *
@@ -2186,7 +2203,6 @@ export default (function () {
2186
2203
  * ```
2187
2204
  */
2188
2205
  formulas: void 0,
2189
-
2190
2206
  /**
2191
2207
  * The `fragmentSelection` option configures text selection settings.
2192
2208
  *
@@ -2213,7 +2229,6 @@ export default (function () {
2213
2229
  * ```
2214
2230
  */
2215
2231
  fragmentSelection: false,
2216
-
2217
2232
  /**
2218
2233
  * The `height` option configures the height of your grid.
2219
2234
  *
@@ -2248,7 +2263,6 @@ export default (function () {
2248
2263
  * ```
2249
2264
  */
2250
2265
  height: void 0,
2251
-
2252
2266
  /**
2253
2267
  * The `hiddenColumns` option configures the [`HiddenColumns`](@/api/hiddenColumns.md) plugin.
2254
2268
  *
@@ -2294,7 +2308,6 @@ export default (function () {
2294
2308
  * ```
2295
2309
  */
2296
2310
  hiddenColumns: void 0,
2297
-
2298
2311
  /**
2299
2312
  * The `hiddenRows` option configures the [`HiddenRows`](@/api/hiddenRows.md) plugin.
2300
2313
  *
@@ -2340,7 +2353,6 @@ export default (function () {
2340
2353
  * ```
2341
2354
  */
2342
2355
  hiddenRows: void 0,
2343
-
2344
2356
  /**
2345
2357
  * The `invalidCellClassName` option lets you add a CSS class name to cells
2346
2358
  * that were marked as `invalid` by the [cell validator](@/guides/cell-functions/cell-validator.md).
@@ -2370,7 +2382,6 @@ export default (function () {
2370
2382
  * ```
2371
2383
  */
2372
2384
  invalidCellClassName: 'htInvalid',
2373
-
2374
2385
  /**
2375
2386
  * The `isEmptyCol` option lets you define your own custom method
2376
2387
  * for checking if a column at a given visual index is empty.
@@ -2391,23 +2402,18 @@ export default (function () {
2391
2402
  * ...
2392
2403
  * },
2393
2404
  * ```
2394
- */
2395
- isEmptyCol: function isEmptyCol(col) {
2405
+ */isEmptyCol: function isEmptyCol(col) {
2396
2406
  var row;
2397
2407
  var rowLen;
2398
2408
  var value;
2399
-
2400
2409
  for (row = 0, rowLen = this.countRows(); row < rowLen; row++) {
2401
2410
  value = this.getDataAtCell(row, col);
2402
-
2403
2411
  if (isEmpty(value) === false) {
2404
2412
  return false;
2405
2413
  }
2406
2414
  }
2407
-
2408
2415
  return true;
2409
2416
  },
2410
-
2411
2417
  /**
2412
2418
  * The `isEmptyRow` option lets you define your own custom method
2413
2419
  * for checking if a row at a given visual index is empty.
@@ -2428,29 +2434,23 @@ export default (function () {
2428
2434
  * ...
2429
2435
  * },
2430
2436
  * ```
2431
- */
2432
- isEmptyRow: function isEmptyRow(row) {
2437
+ */isEmptyRow: function isEmptyRow(row) {
2433
2438
  var col;
2434
2439
  var colLen;
2435
2440
  var value;
2436
2441
  var meta;
2437
-
2438
2442
  for (col = 0, colLen = this.countCols(); col < colLen; col++) {
2439
2443
  value = this.getDataAtCell(row, col);
2440
-
2441
2444
  if (isEmpty(value) === false) {
2442
2445
  if (_typeof(value) === 'object') {
2443
2446
  meta = this.getCellMeta(row, col);
2444
2447
  return isObjectEqual(this.getSchema()[meta.prop], value);
2445
2448
  }
2446
-
2447
2449
  return false;
2448
2450
  }
2449
2451
  }
2450
-
2451
2452
  return true;
2452
2453
  },
2453
-
2454
2454
  /**
2455
2455
  * @description
2456
2456
  * The `label` option configures [`checkbox`](@/guides/cell-types/checkbox-cell-type.md) cells` labels.
@@ -2482,7 +2482,6 @@ export default (function () {
2482
2482
  * ```
2483
2483
  */
2484
2484
  label: void 0,
2485
-
2486
2485
  /**
2487
2486
  * The `language` option configures Handsontable's [language](@/guides/internationalization/language.md) settings.
2488
2487
  *
@@ -2527,13 +2526,12 @@ export default (function () {
2527
2526
  * ```
2528
2527
  */
2529
2528
  language: 'en-US',
2530
-
2531
2529
  /**
2532
2530
  * The `layoutDirection` option configures whether Handsontable renders from the left to the right, or from the right to the left.
2533
2531
  *
2534
2532
  * You can set the layout direction only at Handsontable's [initialization](@/guides/getting-started/installation.md#initialize-handsontable). Any change of the `layoutDirection` option after the initialization (e.g. using the [`updateSettings()`](@/api/core.md#updatesettings) method) is ignored.
2535
2533
  *
2536
- * You can set the `layoutDirection` option only [for the entire grid](@/guides/getting-started/setting-options.md#setting-grid-options).
2534
+ * You can set the `layoutDirection` option only [for the entire grid](@/guides/getting-started/configuration-options.md#setting-grid-options).
2537
2535
  * You can't set it for individual columns, rows, or cells.
2538
2536
  *
2539
2537
  * You can set the `layoutDirection` option to one of the following strings:
@@ -2573,7 +2571,6 @@ export default (function () {
2573
2571
  * ```
2574
2572
  */
2575
2573
  layoutDirection: 'inherit',
2576
-
2577
2574
  /**
2578
2575
  * The `licenseKey` option sets your Handsontable license key.
2579
2576
  *
@@ -2602,7 +2599,6 @@ export default (function () {
2602
2599
  * ```
2603
2600
  */
2604
2601
  licenseKey: void 0,
2605
-
2606
2602
  /**
2607
2603
  * The `locale` option configures Handsontable's [locale](@/guides/internationalization/locale.md) settings.
2608
2604
  *
@@ -2639,7 +2635,6 @@ export default (function () {
2639
2635
  * ```
2640
2636
  */
2641
2637
  locale: 'en-US',
2642
-
2643
2638
  /**
2644
2639
  * The `manualColumnFreeze` option configures the [`ManualColumnFreeze`](@/api/manualColumnFreeze.md) plugin.
2645
2640
  *
@@ -2665,7 +2660,6 @@ export default (function () {
2665
2660
  * ```
2666
2661
  */
2667
2662
  manualColumnFreeze: void 0,
2668
-
2669
2663
  /**
2670
2664
  * The `manualColumnMove` option configures the [`ManualColumnMove`](@/api/manualColumnMove.md) plugin.
2671
2665
  *
@@ -2698,7 +2692,6 @@ export default (function () {
2698
2692
  * ```
2699
2693
  */
2700
2694
  manualColumnMove: void 0,
2701
-
2702
2695
  /**
2703
2696
  * @description
2704
2697
  * The `manualColumnResize` option configures the [`ManualColumnResize`](@/api/manualColumnResize.md) plugin.
@@ -2732,7 +2725,6 @@ export default (function () {
2732
2725
  * ```
2733
2726
  */
2734
2727
  manualColumnResize: void 0,
2735
-
2736
2728
  /**
2737
2729
  * @description
2738
2730
  * The `manualRowMove` option configures the [`ManualRowMove`](@/api/manualRowMove.md) plugin.
@@ -2766,7 +2758,6 @@ export default (function () {
2766
2758
  * ```
2767
2759
  */
2768
2760
  manualRowMove: void 0,
2769
-
2770
2761
  /**
2771
2762
  * @description
2772
2763
  * The `manualRowResize` option configures the [`ManualRowResize`](@/api/manualRowResize.md) plugin.
@@ -2800,7 +2791,6 @@ export default (function () {
2800
2791
  * ```
2801
2792
  */
2802
2793
  manualRowResize: void 0,
2803
-
2804
2794
  /**
2805
2795
  * The `maxCols` option sets a maximum number of columns.
2806
2796
  *
@@ -2821,7 +2811,6 @@ export default (function () {
2821
2811
  * ```
2822
2812
  */
2823
2813
  maxCols: Infinity,
2824
-
2825
2814
  /**
2826
2815
  * The `maxRows` option sets a maximum number of rows.
2827
2816
  *
@@ -2842,7 +2831,6 @@ export default (function () {
2842
2831
  * ```
2843
2832
  */
2844
2833
  maxRows: Infinity,
2845
-
2846
2834
  /**
2847
2835
  * @description
2848
2836
  * The `mergeCells` option configures the [`MergeCells`](@/api/mergeCells.md) plugin.
@@ -2891,7 +2879,6 @@ export default (function () {
2891
2879
  * ```
2892
2880
  */
2893
2881
  mergeCells: false,
2894
-
2895
2882
  /**
2896
2883
  * The `minCols` option sets a minimum number of columns.
2897
2884
  *
@@ -2919,7 +2906,6 @@ export default (function () {
2919
2906
  * ```
2920
2907
  */
2921
2908
  minCols: 0,
2922
-
2923
2909
  /**
2924
2910
  * The `minRows` option sets a minimum number of rows.
2925
2911
  *
@@ -2940,7 +2926,6 @@ export default (function () {
2940
2926
  * ```
2941
2927
  */
2942
2928
  minRows: 0,
2943
-
2944
2929
  /**
2945
2930
  * The `minSpareCols` option sets a minimum number of empty columns
2946
2931
  * at the grid's right-hand end.
@@ -2969,7 +2954,6 @@ export default (function () {
2969
2954
  * ```
2970
2955
  */
2971
2956
  minSpareCols: 0,
2972
-
2973
2957
  /**
2974
2958
  * The `minSpareRows` option sets a minimum number of empty rows
2975
2959
  * at the bottom of the grid.
@@ -2991,7 +2975,6 @@ export default (function () {
2991
2975
  * ```
2992
2976
  */
2993
2977
  minSpareRows: 0,
2994
-
2995
2978
  /**
2996
2979
  * @description
2997
2980
  * The `multiColumnSorting` option configures the [`MultiColumnSorting`](@/api/columnSorting.md) plugin.
@@ -3070,14 +3053,21 @@ export default (function () {
3070
3053
  * ```
3071
3054
  */
3072
3055
  multiColumnSorting: void 0,
3073
-
3074
3056
  /**
3075
3057
  * @description
3076
3058
  * The `nestedHeaders` option configures the [`NestedHeaders`](@/api/nestedHeaders.md) plugin.
3077
3059
  *
3078
- * You can set the `nestedHeaders` option to an array of arrays:
3079
- * - Each array configures one set of nested headers.
3080
- * - Each array element configures one header, and can be one of the following:
3060
+ * You can set the `nestedHeaders` option to one of the following:
3061
+ *
3062
+ * | Setting | Description |
3063
+ * | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
3064
+ * | `false` (default) | Disable the [`NestedHeaders`](@/api/nestedHeaders.md) plugin |
3065
+ * | `true` | - Enable the [`NestedHeaders`](@/api/nestedHeaders.md) plugin<br>- Don't configure any nested headers |
3066
+ * | Array of arrays | - Enable the [`NestedHeaders`](@/api/nestedHeaders.md) plugin<br>- Configure headers that are nested on Handsontable's initialization |
3067
+ *
3068
+ * If you set the `nestedHeaders` option to an array of arrays, each array configures one set of nested headers.
3069
+ *
3070
+ * Each array element configures one header, and can be one of the following:
3081
3071
  *
3082
3072
  * | Array element | Description |
3083
3073
  * | ------------- | -------------------------------------------------------------------------------------------- |
@@ -3089,7 +3079,7 @@ export default (function () {
3089
3079
  * - [Column groups: Nested headers](@/guides/columns/column-groups.md#nested-headers)
3090
3080
  *
3091
3081
  * @memberof Options#
3092
- * @type {Array[]}
3082
+ * @type {boolean|Array[]}
3093
3083
  * @default undefined
3094
3084
  * @category NestedHeaders
3095
3085
  *
@@ -3103,7 +3093,6 @@ export default (function () {
3103
3093
  * ```
3104
3094
  */
3105
3095
  nestedHeaders: void 0,
3106
-
3107
3096
  /**
3108
3097
  * @description
3109
3098
  * The `nestedRows` option configures the [`NestedRows`](@/api/nestedRows.md) plugin.
@@ -3130,10 +3119,9 @@ export default (function () {
3130
3119
  * @category NestedRows
3131
3120
  */
3132
3121
  nestedRows: void 0,
3133
-
3134
3122
  /**
3135
3123
  * The `noWordWrapClassName` option lets you add a CSS class name
3136
- * to every cell that has the [`wordWrap`](#wordWrap) option set to `false`.
3124
+ * to each cell that has the [`wordWrap`](#wordWrap) option set to `false`.
3137
3125
  *
3138
3126
  * Read more:
3139
3127
  * - [`wordWrap`](#wordWrap)
@@ -3155,15 +3143,15 @@ export default (function () {
3155
3143
  * @example
3156
3144
  * ```js
3157
3145
  * // add an `is-noWrapCell` CSS class name
3158
- * // to every cell that doesn't wrap content
3146
+ * // to each cell that doesn't wrap content
3159
3147
  * noWordWrapClassName: 'is-noWrapCell',
3160
3148
  * ```
3161
3149
  */
3162
3150
  noWordWrapClassName: 'htNoWrap',
3163
-
3164
3151
  /**
3165
3152
  * The `numericFormat` option configures the number format and the currency format
3166
- * of [`numeric`](@/guides/cell-types/numeric-cell-type.md) cells` displayed output.
3153
+ * of [`numeric`](@/guides/cell-types/numeric-cell-type.md) cells` displayed output
3154
+ * in the numeric cell renderer.
3167
3155
  *
3168
3156
  * You can set the `numericFormat` option to an object with the following properties:
3169
3157
  *
@@ -3172,10 +3160,7 @@ export default (function () {
3172
3160
  * | `pattern` | All [`numbro.js` number formats](https://numbrojs.com/format.html#numbers) | Number format |
3173
3161
  * | `culture` | All [`numbro.js` currency formats](https://numbrojs.com/format.html#currency) | Currency format |
3174
3162
  *
3175
- * The `numericFormat` option as no effect on cells' input data.
3176
- * To enter numeric data into Handsontable, use:
3177
- * - Either floats (separated by a dot, or a comma)
3178
- * - Or integers
3163
+ * The `numericFormat` option as no effect on the numeric cell editor.
3179
3164
  *
3180
3165
  * In the source data, numeric data is stored as JavaScript numbers.
3181
3166
  *
@@ -3193,7 +3178,7 @@ export default (function () {
3193
3178
  * ```js
3194
3179
  * columns: [
3195
3180
  * {
3196
- * // set the `type` of every cell in this column to `numeric`
3181
+ * // set the `type` of each cell in this column to `numeric`
3197
3182
  * type: 'numeric',
3198
3183
  * // set the `numericFormat` option for every `numeric` cell of this column
3199
3184
  * numericFormat: {
@@ -3207,7 +3192,6 @@ export default (function () {
3207
3192
  * ```
3208
3193
  */
3209
3194
  numericFormat: void 0,
3210
-
3211
3195
  /**
3212
3196
  * If the `observeDOMVisibility` option is set to `true`,
3213
3197
  * Handsontable rerenders every time it detects that the grid was made visible in the DOM.
@@ -3224,7 +3208,6 @@ export default (function () {
3224
3208
  * ```
3225
3209
  */
3226
3210
  observeDOMVisibility: true,
3227
-
3228
3211
  /**
3229
3212
  * The `outsideClickDeselects` option determines what happens to the current [selection](@/guides/cell-features/selection.md)
3230
3213
  * when you click outside of the grid.
@@ -3262,7 +3245,6 @@ export default (function () {
3262
3245
  * ```
3263
3246
  */
3264
3247
  outsideClickDeselects: true,
3265
-
3266
3248
  /**
3267
3249
  * @description
3268
3250
  * The `persistentState` option configures the [`PersistentState`](@/api/persistentState.md) plugin.
@@ -3290,7 +3272,6 @@ export default (function () {
3290
3272
  * ```
3291
3273
  */
3292
3274
  persistentState: void 0,
3293
-
3294
3275
  /**
3295
3276
  * The `placeholder` option lets you display placeholder text in every empty cell.
3296
3277
  *
@@ -3328,7 +3309,6 @@ export default (function () {
3328
3309
  * ```
3329
3310
  */
3330
3311
  placeholder: void 0,
3331
-
3332
3312
  /**
3333
3313
  * The `placeholderCellClassName` option lets you add a CSS class name to cells
3334
3314
  * that contain [`placeholder`](#placeholder) text.
@@ -3354,12 +3334,11 @@ export default (function () {
3354
3334
  * @example
3355
3335
  * ```js
3356
3336
  * // add a `has-placeholder` CSS class name
3357
- * // to every cell that contains `placeholder` text
3337
+ * // to each cell that contains `placeholder` text
3358
3338
  * placeholderCellClassName: 'has-placeholder',
3359
3339
  * ```
3360
3340
  */
3361
3341
  placeholderCellClassName: 'htPlaceholder',
3362
-
3363
3342
  /**
3364
3343
  * The `preventOverflow` option configures preventing Handsontable
3365
3344
  * from overflowing outside of its parent element.
@@ -3384,7 +3363,6 @@ export default (function () {
3384
3363
  * ```
3385
3364
  */
3386
3365
  preventOverflow: false,
3387
-
3388
3366
  /**
3389
3367
  * The `preventWheel` option configures preventing the `wheel` event's default action
3390
3368
  * on overlays.
@@ -3409,7 +3387,6 @@ export default (function () {
3409
3387
  * ```
3410
3388
  */
3411
3389
  preventWheel: false,
3412
-
3413
3390
  /**
3414
3391
  * @description
3415
3392
  * The `readOnly` option determines whether a cell, column or comment is editable or not.
@@ -3421,8 +3398,10 @@ export default (function () {
3421
3398
  * | `false` (default) | Set as editable |
3422
3399
  * | `true` | - Set as read-only<br>- Add the [`readOnlyCellClassName`](#readOnlyCellClassName) CSS class name (by default: `htDimmed`) |
3423
3400
  *
3401
+ * `readOnly` cells can't be changed by the [`populateFromArray()`](@/api/core.md#populatefromarray) method.
3402
+ *
3424
3403
  * Read more:
3425
- * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
3404
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/configuration-options.md#cascading-configuration)
3426
3405
  *
3427
3406
  * @memberof Options#
3428
3407
  * @type {boolean}
@@ -3436,7 +3415,6 @@ export default (function () {
3436
3415
  * ```
3437
3416
  */
3438
3417
  readOnly: false,
3439
-
3440
3418
  /**
3441
3419
  * The `readOnlyCellClassName` option lets you add a CSS class name to [read-only](#readOnly) cells.
3442
3420
  *
@@ -3465,7 +3443,6 @@ export default (function () {
3465
3443
  * ```
3466
3444
  */
3467
3445
  readOnlyCellClassName: 'htDimmed',
3468
-
3469
3446
  /**
3470
3447
  * The `renderAllRows` option configures Handsontable's [row virtualization](@/guides/rows/row-virtualization.md).
3471
3448
  *
@@ -3491,7 +3468,6 @@ export default (function () {
3491
3468
  * ```
3492
3469
  */
3493
3470
  renderAllRows: void 0,
3494
-
3495
3471
  /**
3496
3472
  * @description
3497
3473
  * The `renderer` option sets a [cell renderer](@/guides/cell-functions/cell-renderer.md) for a cell.
@@ -3520,7 +3496,7 @@ export default (function () {
3520
3496
  * Read more:
3521
3497
  * - [Cell renderer](@/guides/cell-functions/cell-renderer.md)
3522
3498
  * - [Cell type](@/guides/cell-types/cell-type.md)
3523
- * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
3499
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/configuration-options.md#cascading-configuration)
3524
3500
  * - [`type`](#type)
3525
3501
  *
3526
3502
  * @memberof Options#
@@ -3530,7 +3506,7 @@ export default (function () {
3530
3506
  *
3531
3507
  * @example
3532
3508
  * ```js
3533
- * // use the `numeric` renderer for every cell of the entire grid
3509
+ * // use the `numeric` renderer for each cell of the entire grid
3534
3510
  * renderer: `'numeric'`,
3535
3511
  *
3536
3512
  * // add a custom renderer function
@@ -3542,18 +3518,17 @@ export default (function () {
3542
3518
  * // apply the `renderer` option to individual columns
3543
3519
  * columns: [
3544
3520
  * {
3545
- * // use the `autocomplete` renderer for every cell of this column
3521
+ * // use the `autocomplete` renderer for each cell of this column
3546
3522
  * renderer: 'autocomplete'
3547
3523
  * },
3548
3524
  * {
3549
- * // use the `myCustomRenderer` renderer for every cell of this column
3525
+ * // use the `myCustomRenderer` renderer for each cell of this column
3550
3526
  * renderer: 'myCustomRenderer'
3551
3527
  * }
3552
3528
  * ]
3553
3529
  * ```
3554
3530
  */
3555
3531
  renderer: void 0,
3556
-
3557
3532
  /**
3558
3533
  * The `rowHeaders` option configures your grid's row headers.
3559
3534
  *
@@ -3589,7 +3564,6 @@ export default (function () {
3589
3564
  * ```
3590
3565
  */
3591
3566
  rowHeaders: void 0,
3592
-
3593
3567
  /**
3594
3568
  * @description
3595
3569
  * The `rowHeaderWidth` option configures the width of row headers.
@@ -3616,7 +3590,6 @@ export default (function () {
3616
3590
  * ```
3617
3591
  */
3618
3592
  rowHeaderWidth: void 0,
3619
-
3620
3593
  /**
3621
3594
  * The `rowHeights` option sets rows' heights, in pixels.
3622
3595
  *
@@ -3663,7 +3636,6 @@ export default (function () {
3663
3636
  * ```
3664
3637
  */
3665
3638
  rowHeights: void 0,
3666
-
3667
3639
  /**
3668
3640
  * @description
3669
3641
  * The `search` option configures the [`Search`](@/api/search.md) plugin.
@@ -3715,7 +3687,6 @@ export default (function () {
3715
3687
  * ```
3716
3688
  */
3717
3689
  search: false,
3718
-
3719
3690
  /**
3720
3691
  * @description
3721
3692
  * The `selectionMode` option configures how [selection](@/guides/cell-features/selection.md) works.
@@ -3749,7 +3720,6 @@ export default (function () {
3749
3720
  * ```
3750
3721
  */
3751
3722
  selectionMode: 'multiple',
3752
-
3753
3723
  /**
3754
3724
  * The `selectOptions` option configures options that the end user can choose from in [`select`](@/guides/cell-types/select-cell-type.md) cells.
3755
3725
  *
@@ -3773,7 +3743,7 @@ export default (function () {
3773
3743
  * ```js
3774
3744
  * columns: [
3775
3745
  * {
3776
- * // set the `type` of every cell in this column to `select`
3746
+ * // set the `type` of each cell in this column to `select`
3777
3747
  * type: 'select',
3778
3748
  * // set the first option's value and label to `A`
3779
3749
  * // set the second option's value and label to `B`
@@ -3781,7 +3751,7 @@ export default (function () {
3781
3751
  * selectOptions: ['A', 'B', 'C'],
3782
3752
  * },
3783
3753
  * {
3784
- * // set the `type` of every cell in this column to `select`
3754
+ * // set the `type` of each cell in this column to `select`
3785
3755
  * type: 'select',
3786
3756
  * selectOptions: {
3787
3757
  * // set the first option's value to `value1` and label to `Label 1`
@@ -3793,7 +3763,7 @@ export default (function () {
3793
3763
  * },
3794
3764
  * },
3795
3765
  * {
3796
- * // set the `type` of every cell in this column to `select`
3766
+ * // set the `type` of each cell in this column to `select`
3797
3767
  * type: 'select',
3798
3768
  * // set `selectOption` to a function that returns available options as an object
3799
3769
  * selectOptions(visualRow, visualColumn, prop) {
@@ -3807,7 +3777,6 @@ export default (function () {
3807
3777
  * ```
3808
3778
  */
3809
3779
  selectOptions: void 0,
3810
-
3811
3780
  /**
3812
3781
  * @description
3813
3782
  * The `skipColumnOnPaste` option determines whether you can paste data into a given column.
@@ -3822,7 +3791,7 @@ export default (function () {
3822
3791
  * | `true` | - Disable pasting data into this column<br>- On pasting, paste data into the next column to the right |
3823
3792
  *
3824
3793
  * Read more:
3825
- * - [Configuration options: Setting column options](@/guides/getting-started/setting-options.md#setting-column-options)
3794
+ * - [Configuration options: Setting column options](@/guides/getting-started/configuration-options.md#setting-column-options)
3826
3795
  *
3827
3796
  * @memberof Options#
3828
3797
  * @type {boolean}
@@ -3840,7 +3809,6 @@ export default (function () {
3840
3809
  * ```
3841
3810
  */
3842
3811
  skipColumnOnPaste: false,
3843
-
3844
3812
  /**
3845
3813
  * @description
3846
3814
  *
@@ -3856,7 +3824,7 @@ export default (function () {
3856
3824
  * | `true` | - Disable pasting data into this row<br>- On pasting, paste data into the row below |
3857
3825
  *
3858
3826
  * Read more:
3859
- * - [Configuration options: Setting row options](@/guides/getting-started/setting-options.md#setting-row-options)
3827
+ * - [Configuration options: Setting row options](@/guides/getting-started/configuration-options.md#setting-row-options)
3860
3828
  *
3861
3829
  * @memberof Options#
3862
3830
  * @type {boolean}
@@ -3878,7 +3846,6 @@ export default (function () {
3878
3846
  * ```
3879
3847
  */
3880
3848
  skipRowOnPaste: false,
3881
-
3882
3849
  /**
3883
3850
  * The `sortByRelevance` option configures whether [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md) cells'
3884
3851
  * lists are sorted in the same order as provided in the [`source`](#source) option.
@@ -3902,7 +3869,7 @@ export default (function () {
3902
3869
  * @example
3903
3870
  * ```js
3904
3871
  * columns: [{
3905
- * // set the `type` of every cell in this column to `autocomplete`
3872
+ * // set the `type` of each cell in this column to `autocomplete`
3906
3873
  * type: 'autocomplete',
3907
3874
  * // set options available in every `autocomplete` cell of this column
3908
3875
  * source: ['D', 'C', 'B', 'A'],
@@ -3912,7 +3879,6 @@ export default (function () {
3912
3879
  * ```
3913
3880
  */
3914
3881
  sortByRelevance: true,
3915
-
3916
3882
  /**
3917
3883
  * The `source` option sets options available in [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md)
3918
3884
  * and [`dropdown`](@/guides/cell-types/dropdown-cell-type.md) cells.
@@ -3939,7 +3905,7 @@ export default (function () {
3939
3905
  * ```js
3940
3906
  * // set `source` to an array
3941
3907
  * columns: [{
3942
- * // set the `type` of every cell in this column to `autocomplete`
3908
+ * // set the `type` of each cell in this column to `autocomplete`
3943
3909
  * type: 'autocomplete',
3944
3910
  * // set options available in every `autocomplete` cell of this column
3945
3911
  * source: ['A', 'B', 'C', 'D']
@@ -3947,7 +3913,7 @@ export default (function () {
3947
3913
  *
3948
3914
  * // set `source` to a function
3949
3915
  * columns: [{
3950
- * // set the `type` of every cell in this column to `autocomplete`
3916
+ * // set the `type` of each cell in this column to `autocomplete`
3951
3917
  * type: 'autocomplete',
3952
3918
  * // for every `autocomplete` cell in this column, fetch data from an external source
3953
3919
  * source(query, callback) {
@@ -3959,7 +3925,6 @@ export default (function () {
3959
3925
  * ```
3960
3926
  */
3961
3927
  source: void 0,
3962
-
3963
3928
  /**
3964
3929
  * @description
3965
3930
  * If the [`data`](#data) option is not set, the `startCols` option sets the initial number of empty columns.
@@ -3978,7 +3943,6 @@ export default (function () {
3978
3943
  * ```
3979
3944
  */
3980
3945
  startCols: 5,
3981
-
3982
3946
  /**
3983
3947
  * @description
3984
3948
  * If the [`data`](#data) option is not set, the `startRows` option sets the initial number of empty rows.
@@ -3997,7 +3961,6 @@ export default (function () {
3997
3961
  * ```
3998
3962
  */
3999
3963
  startRows: 5,
4000
-
4001
3964
  /**
4002
3965
  * @description
4003
3966
  * The `stretchH` option determines what happens when the declared grid width
@@ -4027,7 +3990,6 @@ export default (function () {
4027
3990
  * ```
4028
3991
  */
4029
3992
  stretchH: 'none',
4030
-
4031
3993
  /**
4032
3994
  * The `strict` option configures the behavior of [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md) cells.
4033
3995
  *
@@ -4051,7 +4013,7 @@ export default (function () {
4051
4013
  * ```js
4052
4014
  * columns: [
4053
4015
  * {
4054
- * // set the `type` of every cell in this column to `autocomplete`
4016
+ * // set the `type` of each cell in this column to `autocomplete`
4055
4017
  * type: 'autocomplete',
4056
4018
  * // set options available in every `autocomplete` cell of this column
4057
4019
  * source: ['A', 'B', 'C'],
@@ -4062,7 +4024,6 @@ export default (function () {
4062
4024
  * ```
4063
4025
  */
4064
4026
  strict: void 0,
4065
-
4066
4027
  /**
4067
4028
  * The `tableClassName` option lets you add CSS class names
4068
4029
  * to every Handsontable instance inside the `container` element.
@@ -4103,7 +4064,6 @@ export default (function () {
4103
4064
  * ```
4104
4065
  */
4105
4066
  tableClassName: void 0,
4106
-
4107
4067
  /**
4108
4068
  * The `tabMoves` option configures the action of the <kbd>**Tab**</kbd> key.
4109
4069
  *
@@ -4138,7 +4098,6 @@ export default (function () {
4138
4098
  row: 0,
4139
4099
  col: 1
4140
4100
  },
4141
-
4142
4101
  /**
4143
4102
  * @description
4144
4103
  * The `title` option configures [column header](@/guides/columns/column-header.md) names.
@@ -4171,7 +4130,6 @@ export default (function () {
4171
4130
  * ```
4172
4131
  */
4173
4132
  title: void 0,
4174
-
4175
4133
  /**
4176
4134
  * The `trimDropdown` option configures the width of the [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md)
4177
4135
  * and [`dropdown`](@/guides/cell-types/dropdown-cell-type.md) lists.
@@ -4197,13 +4155,13 @@ export default (function () {
4197
4155
  * columns: [
4198
4156
  * {
4199
4157
  * type: 'autocomplete',
4200
- * // for every cell of this column
4158
+ * // for each cell of this column
4201
4159
  * // make the `autocomplete` list's width the same as the edited cell's width
4202
4160
  * trimDropdown: true,
4203
4161
  * },
4204
4162
  * {
4205
4163
  * type: 'dropdown',
4206
- * // for every cell of this column
4164
+ * // for each cell of this column
4207
4165
  * // scale the `dropdown` list's width to the list's content
4208
4166
  * trimDropdown: false,
4209
4167
  * }
@@ -4211,18 +4169,17 @@ export default (function () {
4211
4169
  * ```
4212
4170
  */
4213
4171
  trimDropdown: true,
4214
-
4215
4172
  /**
4216
4173
  * @description
4217
4174
  * The `trimRows` option configures the [`TrimRows`](@/api/trimRows.md) plugin.
4218
4175
  *
4219
4176
  * You can set the `trimRows` option to one of the following:
4220
4177
  *
4221
- * | Setting | Description |
4222
- * | -------- | --------------------------------------------------------------------------------------------- |
4223
- * | `false` | Disable the [`TrimRows`](@/api/trimRows.md) plugin |
4224
- * | `true` | Enable the [`TrimRows`](@/api/trimRows.md) plugin |
4225
- * | An array | - Enable the [`TrimRows`](@/api/trimRows.md) plugin<br>- Trim selected rows at initialization |
4178
+ * | Setting | Description |
4179
+ * | -------------------------------- | --------------------------------------------------------------------------------------------- |
4180
+ * | `false` | Disable the [`TrimRows`](@/api/trimRows.md) plugin |
4181
+ * | `true` | Enable the [`TrimRows`](@/api/trimRows.md) plugin |
4182
+ * | An array of physical row indexes | - Enable the [`TrimRows`](@/api/trimRows.md) plugin<br>- Trim selected rows at initialization |
4226
4183
  *
4227
4184
  * Read more:
4228
4185
  * - [Plugins: `TrimRows`](@/api/trimRows.md)
@@ -4239,23 +4196,23 @@ export default (function () {
4239
4196
  * trimRows: true,
4240
4197
  *
4241
4198
  * // enable the `TrimRows` plugin
4242
- * // trim rows 5, 10, and 15 at Handsontable's initialization
4199
+ * // at Handsontable's initialization, trim rows 5, 10, and 15
4243
4200
  * trimRows: [5, 10, 15],
4244
4201
  * ```
4245
4202
  */
4246
4203
  trimRows: void 0,
4247
-
4248
4204
  /**
4249
- * The `trimWhitespace` option configures automatic whitespace removal.
4205
+ * The `trimWhitespace` option configures automatic whitespace removal. This option
4206
+ * affects the cell renderer and the cell editor.
4250
4207
  *
4251
4208
  * You can set the `trimWhitespace` option to one of the following:
4252
4209
  *
4253
4210
  * | Setting | Description |
4254
4211
  * | ---------------- | --------------------------------------------------------------- |
4255
- * | `true` (default) | Remove whitespace at the beginning and at the end of every cell |
4212
+ * | `true` (default) | Remove whitespace at the beginning and at the end of each cell |
4256
4213
  * | `false` | Don't remove whitespace |
4257
4214
  *
4258
- * @memberof Options#tr
4215
+ * @memberof Options#
4259
4216
  * @type {boolean}
4260
4217
  * @default true
4261
4218
  * @category Core
@@ -4272,7 +4229,6 @@ export default (function () {
4272
4229
  * ```
4273
4230
  */
4274
4231
  trimWhitespace: true,
4275
-
4276
4232
  /**
4277
4233
  * @description
4278
4234
  * The `type` option lets you set the [`renderer`](#renderer), [`editor`](#editor), and [`validator`](#validator)
@@ -4298,7 +4254,7 @@ export default (function () {
4298
4254
  * - [Cell renderer](@/guides/cell-functions/cell-renderer.md)
4299
4255
  * - [Cell editor](@/guides/cell-functions/cell-editor.md)
4300
4256
  * - [Cell validator](@/guides/cell-functions/cell-validator.md)
4301
- * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
4257
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/configuration-options.md#cascading-configuration)
4302
4258
  * - [`renderer`](#renderer)
4303
4259
  * - [`editor`](#editor)
4304
4260
  * - [`validator`](#validator)
@@ -4310,24 +4266,23 @@ export default (function () {
4310
4266
  *
4311
4267
  * @example
4312
4268
  * ```js
4313
- * // use the `numeric` cell type for every cell of the entire grid
4269
+ * // set the `numeric` cell type for each cell of the entire grid
4314
4270
  * type: `'numeric'`,
4315
4271
  *
4316
4272
  * // apply the `type` option to individual columns
4317
4273
  * columns: [
4318
4274
  * {
4319
- * // use the `autocomplete` cell type for every cell of this column
4275
+ * // set the `autocomplete` cell type for each cell of this column
4320
4276
  * type: 'autocomplete'
4321
4277
  * },
4322
4278
  * {
4323
- * // use the `myCustomCellType` cell type for every cell of this column
4279
+ * // set the `myCustomCellType` cell type for each cell of this column
4324
4280
  * type: 'myCustomCellType'
4325
4281
  * }
4326
4282
  * ]
4327
4283
  * ```
4328
4284
  */
4329
4285
  type: 'text',
4330
-
4331
4286
  /**
4332
4287
  * The `uncheckedTemplate` option lets you configure what value
4333
4288
  * an unchecked [`checkbox`](@/guides/cell-types/checkbox-cell-type.md) cell has.
@@ -4353,13 +4308,13 @@ export default (function () {
4353
4308
  * ```js
4354
4309
  * columns: [
4355
4310
  * {
4356
- * // set the `type` of every cell in this column to `checkbox`
4311
+ * // set the `type` of each cell in this column to `checkbox`
4357
4312
  * // when unchecked, the cell's value is `false`
4358
4313
  * // when checked, the cell's value is `true`
4359
4314
  * type: 'checkbox',
4360
4315
  * },
4361
4316
  * {
4362
- * // set the `type` of every cell in this column to `checkbox`
4317
+ * // set the `type` of each cell in this column to `checkbox`
4363
4318
  * // when unchecked, the cell's value is `'No'`
4364
4319
  * // when checked, the cell's value is `'Yes'`
4365
4320
  * type: 'checkbox',
@@ -4370,7 +4325,6 @@ export default (function () {
4370
4325
  * ```
4371
4326
  */
4372
4327
  uncheckedTemplate: void 0,
4373
-
4374
4328
  /**
4375
4329
  * The `undo` option configures the [`UndoRedo`](@/api/undoRedo.md) plugin.
4376
4330
  *
@@ -4401,7 +4355,6 @@ export default (function () {
4401
4355
  * ```
4402
4356
  */
4403
4357
  undo: void 0,
4404
-
4405
4358
  /**
4406
4359
  * @description
4407
4360
  * The `validator` option sets a [cell validator](@/guides/cell-functions/cell-validator.md) for a cell.
@@ -4432,7 +4385,7 @@ export default (function () {
4432
4385
  * Read more:
4433
4386
  * - [Cell validator](@/guides/cell-functions/cell-validator.md)
4434
4387
  * - [Cell type](@/guides/cell-types/cell-type.md)
4435
- * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
4388
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/configuration-options.md#cascading-configuration)
4436
4389
  * - [`type`](#type)
4437
4390
  *
4438
4391
  * @memberof Options#
@@ -4461,7 +4414,6 @@ export default (function () {
4461
4414
  * ```
4462
4415
  */
4463
4416
  validator: void 0,
4464
-
4465
4417
  /**
4466
4418
  * @description
4467
4419
  * The `viewportColumnRenderingOffset` option configures the number of columns
@@ -4489,7 +4441,6 @@ export default (function () {
4489
4441
  * ```
4490
4442
  */
4491
4443
  viewportColumnRenderingOffset: 'auto',
4492
-
4493
4444
  /**
4494
4445
  * @description
4495
4446
  * The `viewportRowRenderingOffset` option configures the number of rows
@@ -4518,7 +4469,6 @@ export default (function () {
4518
4469
  * ```
4519
4470
  */
4520
4471
  viewportRowRenderingOffset: 'auto',
4521
-
4522
4472
  /**
4523
4473
  * The `visibleRows` option sets the height of the [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md)
4524
4474
  * and [`dropdown`](@/guides/cell-types/dropdown-cell-type.md) lists.
@@ -4540,20 +4490,19 @@ export default (function () {
4540
4490
  * {
4541
4491
  * type: 'autocomplete',
4542
4492
  * // set the `autocomplete` list's height to 15 options
4543
- * // for every cell of this column
4493
+ * // for each cell of this column
4544
4494
  * visibleRows: 15,
4545
4495
  * },
4546
4496
  * {
4547
4497
  * type: 'dropdown',
4548
4498
  * // set the `dropdown` list's height to 5 options
4549
- * // for every cell of this column
4499
+ * // for each cell of this column
4550
4500
  * visibleRows: 5,
4551
4501
  * }
4552
4502
  * ],
4553
4503
  * ```
4554
4504
  */
4555
4505
  visibleRows: 10,
4556
-
4557
4506
  /**
4558
4507
  * The `width` option configures the width of your grid.
4559
4508
  *
@@ -4588,7 +4537,6 @@ export default (function () {
4588
4537
  * ```
4589
4538
  */
4590
4539
  width: void 0,
4591
-
4592
4540
  /**
4593
4541
  * The `wordWrap` option configures whether content that exceeds a column's width is wrapped or not.
4594
4542
  *
@@ -4627,7 +4575,7 @@ export default (function () {
4627
4575
  * ```
4628
4576
  */
4629
4577
  wordWrap: true
4630
- /* eslint-enable jsdoc/require-description-complete-sentence */
4631
4578
 
4579
+ /* eslint-enable jsdoc/require-description-complete-sentence */
4632
4580
  };
4633
4581
  });