handsontable 12.1.2 → 12.2.0

Sign up to get free protection for your applications and to get access to all the features.
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
  });