handsontable 11.1.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/3rdparty/walkontable/src/border.js +120 -98
  2. package/3rdparty/walkontable/src/border.mjs +120 -94
  3. package/3rdparty/walkontable/src/cell/coords.js +59 -17
  4. package/3rdparty/walkontable/src/cell/coords.mjs +55 -17
  5. package/3rdparty/walkontable/src/cell/range.d.ts +10 -2
  6. package/3rdparty/walkontable/src/cell/range.js +278 -99
  7. package/3rdparty/walkontable/src/cell/range.mjs +273 -99
  8. package/3rdparty/walkontable/src/core/_base.js +452 -0
  9. package/3rdparty/walkontable/src/core/_base.mjs +440 -0
  10. package/3rdparty/walkontable/src/core/clone.js +97 -0
  11. package/3rdparty/walkontable/src/core/clone.mjs +80 -0
  12. package/3rdparty/walkontable/src/core/core.js +183 -0
  13. package/3rdparty/walkontable/src/core/core.mjs +160 -0
  14. package/3rdparty/walkontable/src/event.js +99 -66
  15. package/3rdparty/walkontable/src/event.mjs +99 -63
  16. package/3rdparty/walkontable/src/facade/core.js +251 -0
  17. package/3rdparty/walkontable/src/facade/core.mjs +243 -0
  18. package/3rdparty/walkontable/src/index.js +2 -46
  19. package/3rdparty/walkontable/src/index.mjs +3 -13
  20. package/3rdparty/walkontable/src/overlay/_base.js +124 -57
  21. package/3rdparty/walkontable/src/overlay/_base.mjs +124 -57
  22. package/3rdparty/walkontable/src/overlay/bottom.js +96 -80
  23. package/3rdparty/walkontable/src/overlay/bottom.mjs +96 -80
  24. package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.js → bottomInlineStartCorner.js} +45 -62
  25. package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +44 -61
  26. package/3rdparty/walkontable/src/overlay/constants.js +25 -9
  27. package/3rdparty/walkontable/src/overlay/constants.mjs +14 -4
  28. package/3rdparty/walkontable/src/overlay/index.js +10 -19
  29. package/3rdparty/walkontable/src/overlay/index.mjs +4 -5
  30. package/3rdparty/walkontable/src/overlay/{left.js → inlineStart.js} +113 -82
  31. package/3rdparty/walkontable/src/overlay/{left.mjs → inlineStart.mjs} +112 -81
  32. package/3rdparty/walkontable/src/overlay/top.js +93 -68
  33. package/3rdparty/walkontable/src/overlay/top.mjs +93 -68
  34. package/3rdparty/walkontable/src/overlay/{topLeftCorner.js → topInlineStartCorner.js} +56 -57
  35. package/3rdparty/walkontable/src/overlay/{topLeftCorner.mjs → topInlineStartCorner.mjs} +51 -52
  36. package/3rdparty/walkontable/src/overlays.js +225 -156
  37. package/3rdparty/walkontable/src/overlays.mjs +224 -154
  38. package/3rdparty/walkontable/src/renderer/cells.js +4 -3
  39. package/3rdparty/walkontable/src/renderer/cells.mjs +4 -3
  40. package/3rdparty/walkontable/src/renderer/colGroup.js +2 -2
  41. package/3rdparty/walkontable/src/renderer/colGroup.mjs +2 -2
  42. package/3rdparty/walkontable/src/renderer/columnHeaders.js +2 -2
  43. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
  44. package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
  45. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +2 -2
  46. package/3rdparty/walkontable/src/renderer/rows.js +2 -2
  47. package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
  48. package/3rdparty/walkontable/src/scroll.js +125 -104
  49. package/3rdparty/walkontable/src/scroll.mjs +124 -104
  50. package/3rdparty/walkontable/src/selection.js +10 -14
  51. package/3rdparty/walkontable/src/selection.mjs +10 -12
  52. package/3rdparty/walkontable/src/settings.js +235 -126
  53. package/3rdparty/walkontable/src/settings.mjs +235 -125
  54. package/3rdparty/walkontable/src/table/bottom.js +16 -5
  55. package/3rdparty/walkontable/src/table/bottom.mjs +15 -5
  56. package/3rdparty/walkontable/src/table/{bottomLeftCorner.js → bottomInlineStartCorner.js} +27 -15
  57. package/3rdparty/walkontable/src/table/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +26 -15
  58. package/3rdparty/walkontable/src/table/{left.js → inlineStart.js} +23 -15
  59. package/3rdparty/walkontable/src/table/{left.mjs → inlineStart.mjs} +22 -15
  60. package/3rdparty/walkontable/src/table/master.js +22 -12
  61. package/3rdparty/walkontable/src/table/master.mjs +22 -12
  62. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +12 -6
  63. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +12 -6
  64. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +12 -6
  65. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +12 -6
  66. package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.js → stickyColumnsStart.js} +13 -7
  67. package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.mjs → stickyColumnsStart.mjs} +13 -7
  68. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +11 -5
  69. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +11 -5
  70. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -3
  71. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -3
  72. package/3rdparty/walkontable/src/table/top.js +16 -5
  73. package/3rdparty/walkontable/src/table/top.mjs +15 -5
  74. package/3rdparty/walkontable/src/table/{topLeftCorner.js → topInlineStartCorner.js} +27 -15
  75. package/3rdparty/walkontable/src/table/{topLeftCorner.mjs → topInlineStartCorner.mjs} +26 -15
  76. package/3rdparty/walkontable/src/table.js +235 -140
  77. package/3rdparty/walkontable/src/table.mjs +231 -134
  78. package/3rdparty/walkontable/src/types.js +103 -0
  79. package/3rdparty/walkontable/src/types.mjs +102 -0
  80. package/3rdparty/walkontable/src/utils/column.js +22 -33
  81. package/3rdparty/walkontable/src/utils/column.mjs +22 -30
  82. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -2
  83. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
  84. package/3rdparty/walkontable/src/utils/row.js +9 -4
  85. package/3rdparty/walkontable/src/utils/row.mjs +9 -4
  86. package/3rdparty/walkontable/src/viewport.js +89 -100
  87. package/3rdparty/walkontable/src/viewport.mjs +89 -97
  88. package/CHANGELOG.md +92 -0
  89. package/LICENSE.txt +1 -1
  90. package/README.md +0 -1
  91. package/base.js +2 -2
  92. package/base.mjs +2 -2
  93. package/cellTypes/timeType/timeType.d.ts +6 -6
  94. package/cellTypes/timeType/timeType.js +4 -5
  95. package/cellTypes/timeType/timeType.mjs +4 -5
  96. package/core.d.ts +6 -1
  97. package/core.js +508 -80
  98. package/core.mjs +517 -92
  99. package/dataMap/index.js +4 -0
  100. package/dataMap/index.mjs +2 -1
  101. package/dataMap/metaManager/index.js +2 -2
  102. package/dataMap/metaManager/index.mjs +2 -2
  103. package/dataMap/metaManager/metaLayers/globalMeta.js +4 -0
  104. package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -0
  105. package/dataMap/metaManager/metaLayers/tableMeta.js +2 -2
  106. package/dataMap/metaManager/metaLayers/tableMeta.mjs +2 -2
  107. package/dataMap/metaManager/metaSchema.js +282 -187
  108. package/dataMap/metaManager/metaSchema.mjs +282 -187
  109. package/dataMap/metaManager/mods/extendMetaProperties.js +126 -0
  110. package/dataMap/metaManager/mods/extendMetaProperties.mjs +113 -0
  111. package/dataMap/replaceData.js +3 -17
  112. package/dataMap/replaceData.mjs +3 -17
  113. package/dist/handsontable.css +268 -92
  114. package/dist/handsontable.full.css +269 -103
  115. package/dist/handsontable.full.js +41990 -35658
  116. package/dist/handsontable.full.min.css +9 -9
  117. package/dist/handsontable.full.min.js +144 -144
  118. package/dist/handsontable.js +29561 -25597
  119. package/dist/handsontable.min.css +8 -8
  120. package/dist/handsontable.min.js +4 -4
  121. package/dist/languages/all.js +131 -34
  122. package/dist/languages/all.min.js +1 -1
  123. package/dist/languages/ar-AR.js +167 -0
  124. package/dist/languages/ar-AR.min.js +1 -0
  125. package/dist/languages/cs-CZ.js +167 -0
  126. package/dist/languages/cs-CZ.min.js +1 -0
  127. package/dist/languages/de-CH.js +31 -29
  128. package/dist/languages/de-CH.min.js +1 -1
  129. package/dist/languages/de-DE.js +4 -2
  130. package/dist/languages/de-DE.min.js +1 -1
  131. package/dist/languages/en-US.js +4 -2
  132. package/dist/languages/en-US.min.js +1 -1
  133. package/dist/languages/es-MX.js +4 -2
  134. package/dist/languages/es-MX.min.js +1 -1
  135. package/dist/languages/fr-FR.js +4 -2
  136. package/dist/languages/fr-FR.min.js +1 -1
  137. package/dist/languages/it-IT.js +4 -2
  138. package/dist/languages/it-IT.min.js +1 -1
  139. package/dist/languages/ja-JP.js +36 -38
  140. package/dist/languages/ja-JP.min.js +1 -1
  141. package/dist/languages/ko-KR.js +36 -39
  142. package/dist/languages/ko-KR.min.js +1 -1
  143. package/dist/languages/lv-LV.js +2 -2
  144. package/dist/languages/lv-LV.min.js +1 -1
  145. package/dist/languages/nb-NO.js +2 -2
  146. package/dist/languages/nb-NO.min.js +1 -1
  147. package/dist/languages/nl-NL.js +2 -2
  148. package/dist/languages/nl-NL.min.js +1 -1
  149. package/dist/languages/pl-PL.js +2 -2
  150. package/dist/languages/pl-PL.min.js +1 -1
  151. package/dist/languages/pt-BR.js +2 -2
  152. package/dist/languages/pt-BR.min.js +1 -1
  153. package/dist/languages/ru-RU.js +2 -2
  154. package/dist/languages/ru-RU.min.js +1 -1
  155. package/dist/languages/sr-SP.js +171 -0
  156. package/dist/languages/sr-SP.min.js +1 -0
  157. package/dist/languages/zh-CN.js +24 -24
  158. package/dist/languages/zh-CN.min.js +1 -1
  159. package/dist/languages/zh-TW.js +24 -24
  160. package/dist/languages/zh-TW.min.js +1 -1
  161. package/editorManager.js +120 -267
  162. package/editorManager.mjs +128 -278
  163. package/editors/autocompleteEditor/autocompleteEditor.js +22 -25
  164. package/editors/autocompleteEditor/autocompleteEditor.mjs +22 -25
  165. package/editors/baseEditor/baseEditor.js +205 -34
  166. package/editors/baseEditor/baseEditor.mjs +200 -32
  167. package/editors/checkboxEditor/checkboxEditor.js +2 -2
  168. package/editors/checkboxEditor/checkboxEditor.mjs +2 -2
  169. package/editors/dateEditor/dateEditor.js +21 -8
  170. package/editors/dateEditor/dateEditor.mjs +22 -9
  171. package/editors/dropdownEditor/dropdownEditor.js +3 -3
  172. package/editors/dropdownEditor/dropdownEditor.mjs +3 -3
  173. package/editors/handsontableEditor/handsontableEditor.js +106 -55
  174. package/editors/handsontableEditor/handsontableEditor.mjs +106 -55
  175. package/editors/index.d.ts +3 -0
  176. package/editors/index.js +6 -0
  177. package/editors/index.mjs +3 -1
  178. package/editors/numericEditor/numericEditor.js +2 -2
  179. package/editors/numericEditor/numericEditor.mjs +2 -2
  180. package/editors/passwordEditor/passwordEditor.js +3 -3
  181. package/editors/passwordEditor/passwordEditor.mjs +3 -3
  182. package/editors/selectEditor/selectEditor.js +65 -110
  183. package/editors/selectEditor/selectEditor.mjs +66 -109
  184. package/editors/textEditor/caretPositioner.js +49 -0
  185. package/editors/textEditor/caretPositioner.mjs +42 -0
  186. package/editors/textEditor/textEditor.js +205 -181
  187. package/editors/textEditor/textEditor.mjs +199 -179
  188. package/editors/timeEditor/index.d.ts +1 -0
  189. package/editors/timeEditor/index.js +9 -0
  190. package/editors/timeEditor/index.mjs +1 -0
  191. package/editors/timeEditor/timeEditor.d.ts +7 -0
  192. package/editors/timeEditor/timeEditor.js +105 -0
  193. package/editors/timeEditor/timeEditor.mjs +84 -0
  194. package/eventManager.js +4 -2
  195. package/eventManager.mjs +4 -2
  196. package/helpers/mixed.js +2 -2
  197. package/helpers/mixed.mjs +2 -2
  198. package/i18n/languages/ar-AR.js +41 -0
  199. package/i18n/languages/ar-AR.mjs +17 -0
  200. package/i18n/languages/cs-CZ.js +40 -0
  201. package/i18n/languages/cs-CZ.mjs +16 -0
  202. package/i18n/languages/index.js +12 -0
  203. package/i18n/languages/index.mjs +4 -1
  204. package/i18n/languages/sr-SP.js +40 -0
  205. package/i18n/languages/sr-SP.mjs +16 -0
  206. package/index.d.ts +4 -0
  207. package/languages/all.js +131 -34
  208. package/languages/ar-AR.js +167 -0
  209. package/languages/ar-AR.mjs +19 -0
  210. package/languages/cs-CZ.js +167 -0
  211. package/languages/cs-CZ.mjs +18 -0
  212. package/languages/de-CH.js +31 -29
  213. package/languages/de-DE.js +4 -2
  214. package/languages/en-US.js +4 -2
  215. package/languages/es-MX.js +4 -2
  216. package/languages/fr-FR.js +4 -2
  217. package/languages/index.js +131 -34
  218. package/languages/index.mjs +4 -1
  219. package/languages/it-IT.js +4 -2
  220. package/languages/ja-JP.js +36 -38
  221. package/languages/ko-KR.js +36 -39
  222. package/languages/lv-LV.js +2 -2
  223. package/languages/nb-NO.js +2 -2
  224. package/languages/nl-NL.js +2 -2
  225. package/languages/pl-PL.js +2 -2
  226. package/languages/pt-BR.js +2 -2
  227. package/languages/ru-RU.js +2 -2
  228. package/languages/sr-SP.js +171 -0
  229. package/languages/sr-SP.mjs +18 -0
  230. package/languages/zh-CN.js +24 -24
  231. package/languages/zh-TW.js +24 -24
  232. package/package.json +44 -4
  233. package/pluginHooks.js +49 -13
  234. package/pluginHooks.mjs +49 -13
  235. package/plugins/autoColumnSize/autoColumnSize.js +15 -10
  236. package/plugins/autoColumnSize/autoColumnSize.mjs +15 -10
  237. package/plugins/autoRowSize/autoRowSize.js +14 -9
  238. package/plugins/autoRowSize/autoRowSize.mjs +14 -9
  239. package/plugins/autofill/autofill.js +49 -33
  240. package/plugins/autofill/autofill.mjs +49 -32
  241. package/plugins/autofill/utils.js +10 -11
  242. package/plugins/autofill/utils.mjs +10 -10
  243. package/plugins/base/base.d.ts +8 -2
  244. package/plugins/base/base.js +67 -4
  245. package/plugins/base/base.mjs +66 -4
  246. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +3 -3
  247. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -3
  248. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +3 -3
  249. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +3 -3
  250. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +3 -3
  251. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +3 -3
  252. package/plugins/collapsibleColumns/collapsibleColumns.js +27 -9
  253. package/plugins/collapsibleColumns/collapsibleColumns.mjs +27 -9
  254. package/plugins/columnSorting/columnSorting.js +5 -7
  255. package/plugins/columnSorting/columnSorting.mjs +5 -6
  256. package/plugins/columnSummary/columnSummary.js +3 -3
  257. package/plugins/columnSummary/columnSummary.mjs +3 -3
  258. package/plugins/comments/commentEditor.js +18 -2
  259. package/plugins/comments/commentEditor.mjs +19 -3
  260. package/plugins/comments/comments.js +57 -46
  261. package/plugins/comments/comments.mjs +58 -46
  262. package/plugins/contextMenu/contextMenu.js +10 -6
  263. package/plugins/contextMenu/contextMenu.mjs +10 -6
  264. package/plugins/contextMenu/menu.js +222 -110
  265. package/plugins/contextMenu/menu.mjs +219 -111
  266. package/plugins/contextMenu/predefinedItems/columnLeft.js +12 -4
  267. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +11 -4
  268. package/plugins/contextMenu/predefinedItems/columnRight.js +9 -9
  269. package/plugins/contextMenu/predefinedItems/columnRight.mjs +9 -9
  270. package/plugins/contextMenu/utils.js +2 -2
  271. package/plugins/contextMenu/utils.mjs +2 -2
  272. package/plugins/copyPaste/copyPaste.js +31 -21
  273. package/plugins/copyPaste/copyPaste.mjs +30 -21
  274. package/plugins/customBorders/contextMenuItem/left.js +4 -3
  275. package/plugins/customBorders/contextMenuItem/left.mjs +4 -3
  276. package/plugins/customBorders/contextMenuItem/right.js +4 -3
  277. package/plugins/customBorders/contextMenuItem/right.mjs +4 -3
  278. package/plugins/customBorders/customBorders.js +144 -87
  279. package/plugins/customBorders/customBorders.mjs +143 -85
  280. package/plugins/customBorders/utils.js +131 -27
  281. package/plugins/customBorders/utils.mjs +115 -27
  282. package/plugins/dragToScroll/dragToScroll.js +10 -5
  283. package/plugins/dragToScroll/dragToScroll.mjs +10 -5
  284. package/plugins/dropdownMenu/dropdownMenu.js +9 -7
  285. package/plugins/dropdownMenu/dropdownMenu.mjs +9 -7
  286. package/plugins/exportFile/exportFile.js +2 -2
  287. package/plugins/exportFile/exportFile.mjs +2 -2
  288. package/plugins/exportFile/types/csv.js +2 -2
  289. package/plugins/exportFile/types/csv.mjs +2 -2
  290. package/plugins/filters/component/actionBar.js +2 -2
  291. package/plugins/filters/component/actionBar.mjs +2 -2
  292. package/plugins/filters/component/condition.js +3 -3
  293. package/plugins/filters/component/condition.mjs +3 -3
  294. package/plugins/filters/component/operators.js +2 -2
  295. package/plugins/filters/component/operators.mjs +2 -2
  296. package/plugins/filters/component/value.js +3 -3
  297. package/plugins/filters/component/value.mjs +3 -3
  298. package/plugins/filters/filters.js +11 -8
  299. package/plugins/filters/filters.mjs +11 -8
  300. package/plugins/filters/ui/input.js +3 -3
  301. package/plugins/filters/ui/input.mjs +3 -3
  302. package/plugins/filters/ui/link.js +3 -3
  303. package/plugins/filters/ui/link.mjs +3 -3
  304. package/plugins/filters/ui/multipleSelect.js +18 -31
  305. package/plugins/filters/ui/multipleSelect.mjs +18 -31
  306. package/plugins/filters/ui/radioInput.js +3 -3
  307. package/plugins/filters/ui/radioInput.mjs +3 -3
  308. package/plugins/filters/ui/select.js +4 -4
  309. package/plugins/filters/ui/select.mjs +4 -4
  310. package/plugins/formulas/formulas.js +14 -9
  311. package/plugins/formulas/formulas.mjs +14 -9
  312. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -4
  313. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -4
  314. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +5 -5
  315. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +5 -5
  316. package/plugins/hiddenColumns/hiddenColumns.js +9 -4
  317. package/plugins/hiddenColumns/hiddenColumns.mjs +9 -4
  318. package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -4
  319. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -4
  320. package/plugins/hiddenRows/contextMenuItem/showRow.js +5 -5
  321. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +5 -5
  322. package/plugins/hiddenRows/hiddenRows.js +9 -4
  323. package/plugins/hiddenRows/hiddenRows.mjs +9 -4
  324. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
  325. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  326. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
  327. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  328. package/plugins/manualColumnFreeze/manualColumnFreeze.js +54 -15
  329. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +49 -15
  330. package/plugins/manualColumnMove/manualColumnMove.js +70 -70
  331. package/plugins/manualColumnMove/manualColumnMove.mjs +71 -71
  332. package/plugins/manualColumnMove/ui/_base.js +25 -12
  333. package/plugins/manualColumnMove/ui/_base.mjs +24 -12
  334. package/plugins/manualColumnMove/ui/backlight.js +3 -3
  335. package/plugins/manualColumnMove/ui/backlight.mjs +3 -3
  336. package/plugins/manualColumnMove/ui/guideline.js +3 -3
  337. package/plugins/manualColumnMove/ui/guideline.mjs +3 -3
  338. package/plugins/manualColumnResize/manualColumnResize.js +37 -21
  339. package/plugins/manualColumnResize/manualColumnResize.mjs +37 -21
  340. package/plugins/manualRowMove/manualRowMove.js +26 -34
  341. package/plugins/manualRowMove/manualRowMove.mjs +26 -34
  342. package/plugins/manualRowMove/ui/backlight.js +3 -3
  343. package/plugins/manualRowMove/ui/backlight.mjs +3 -3
  344. package/plugins/manualRowMove/ui/guideline.js +3 -3
  345. package/plugins/manualRowMove/ui/guideline.mjs +3 -3
  346. package/plugins/manualRowResize/manualRowResize.js +34 -19
  347. package/plugins/manualRowResize/manualRowResize.mjs +34 -19
  348. package/plugins/mergeCells/calculations/autofill.js +6 -5
  349. package/plugins/mergeCells/calculations/autofill.mjs +6 -4
  350. package/plugins/mergeCells/calculations/selection.js +9 -4
  351. package/plugins/mergeCells/calculations/selection.mjs +9 -4
  352. package/plugins/mergeCells/cellCoords.js +16 -4
  353. package/plugins/mergeCells/cellCoords.mjs +16 -3
  354. package/plugins/mergeCells/cellsCollection.js +30 -23
  355. package/plugins/mergeCells/cellsCollection.mjs +30 -22
  356. package/plugins/mergeCells/mergeCells.js +94 -61
  357. package/plugins/mergeCells/mergeCells.mjs +94 -59
  358. package/plugins/multiColumnSorting/multiColumnSorting.js +4 -6
  359. package/plugins/multiColumnSorting/multiColumnSorting.mjs +4 -5
  360. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +51 -57
  361. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +52 -57
  362. package/plugins/nestedHeaders/nestedHeaders.js +31 -20
  363. package/plugins/nestedHeaders/nestedHeaders.mjs +31 -20
  364. package/plugins/nestedHeaders/stateManager/utils.js +3 -4
  365. package/plugins/nestedHeaders/stateManager/utils.mjs +3 -4
  366. package/plugins/nestedHeaders/utils/ghostTable.js +114 -75
  367. package/plugins/nestedHeaders/utils/ghostTable.mjs +114 -74
  368. package/plugins/nestedRows/nestedRows.js +9 -4
  369. package/plugins/nestedRows/nestedRows.mjs +9 -4
  370. package/plugins/nestedRows/ui/collapsing.js +2 -2
  371. package/plugins/nestedRows/ui/collapsing.mjs +2 -2
  372. package/plugins/nestedRows/ui/contextMenu.js +2 -2
  373. package/plugins/nestedRows/ui/contextMenu.mjs +2 -2
  374. package/plugins/nestedRows/ui/headers.js +2 -2
  375. package/plugins/nestedRows/ui/headers.mjs +2 -2
  376. package/plugins/nestedRows/utils/rowMoveController.js +2 -4
  377. package/plugins/nestedRows/utils/rowMoveController.mjs +2 -3
  378. package/plugins/persistentState/persistentState.js +9 -4
  379. package/plugins/persistentState/persistentState.mjs +9 -4
  380. package/plugins/search/search.js +9 -4
  381. package/plugins/search/search.mjs +9 -4
  382. package/plugins/touchScroll/touchScroll.js +27 -21
  383. package/plugins/touchScroll/touchScroll.mjs +27 -21
  384. package/plugins/trimRows/trimRows.js +9 -4
  385. package/plugins/trimRows/trimRows.mjs +9 -4
  386. package/plugins/undoRedo/undoRedo.js +53 -47
  387. package/plugins/undoRedo/undoRedo.mjs +53 -46
  388. package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -3
  389. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -2
  390. package/renderers/checkboxRenderer/checkboxRenderer.js +48 -43
  391. package/renderers/checkboxRenderer/checkboxRenderer.mjs +48 -41
  392. package/renderers/index.d.ts +4 -1
  393. package/renderers/index.js +6 -0
  394. package/renderers/index.mjs +3 -1
  395. package/renderers/numericRenderer/numericRenderer.js +1 -0
  396. package/renderers/numericRenderer/numericRenderer.mjs +1 -0
  397. package/renderers/timeRenderer/index.d.ts +1 -0
  398. package/renderers/timeRenderer/index.js +9 -0
  399. package/renderers/timeRenderer/index.mjs +1 -0
  400. package/renderers/timeRenderer/timeRenderer.d.ts +5 -0
  401. package/renderers/timeRenderer/timeRenderer.js +31 -0
  402. package/renderers/timeRenderer/timeRenderer.mjs +20 -0
  403. package/selection/highlight/visualSelection.js +94 -220
  404. package/selection/highlight/visualSelection.mjs +91 -213
  405. package/selection/mouseEventHandler.js +15 -10
  406. package/selection/mouseEventHandler.mjs +15 -9
  407. package/selection/range.js +4 -5
  408. package/selection/range.mjs +4 -5
  409. package/selection/selection.js +35 -22
  410. package/selection/selection.mjs +35 -20
  411. package/selection/transformation.js +4 -6
  412. package/selection/transformation.mjs +4 -5
  413. package/settings.d.ts +3 -1
  414. package/shortcuts/context.d.ts +20 -0
  415. package/shortcuts/context.js +296 -0
  416. package/shortcuts/context.mjs +268 -0
  417. package/shortcuts/index.d.ts +1 -0
  418. package/shortcuts/index.js +8 -0
  419. package/shortcuts/index.mjs +1 -0
  420. package/shortcuts/keyObserver.js +67 -0
  421. package/shortcuts/keyObserver.mjs +58 -0
  422. package/shortcuts/manager.d.ts +10 -0
  423. package/shortcuts/manager.js +185 -0
  424. package/shortcuts/manager.mjs +176 -0
  425. package/shortcuts/recorder.js +192 -0
  426. package/shortcuts/recorder.mjs +180 -0
  427. package/shortcuts/utils.js +77 -0
  428. package/shortcuts/utils.mjs +54 -0
  429. package/tableView.js +164 -84
  430. package/tableView.mjs +164 -74
  431. package/translations/changesObservable/observer.js +0 -1
  432. package/translations/changesObservable/observer.mjs +0 -1
  433. package/translations/indexMapper.d.ts +3 -1
  434. package/translations/indexMapper.js +89 -11
  435. package/translations/indexMapper.mjs +91 -20
  436. package/translations/mapCollections/aggregatedCollection.js +2 -2
  437. package/translations/mapCollections/aggregatedCollection.mjs +2 -2
  438. package/translations/maps/hidingMap.js +4 -2
  439. package/translations/maps/hidingMap.mjs +4 -2
  440. package/translations/maps/indexMap.js +2 -0
  441. package/translations/maps/indexMap.mjs +2 -0
  442. package/translations/maps/indexesSequence.js +5 -3
  443. package/translations/maps/indexesSequence.mjs +5 -3
  444. package/translations/maps/linkedPhysicalIndexToValueMap.js +5 -3
  445. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +5 -3
  446. package/translations/maps/physicalIndexToValueMap.js +5 -3
  447. package/translations/maps/physicalIndexToValueMap.mjs +5 -3
  448. package/translations/maps/trimmingMap.js +4 -2
  449. package/translations/maps/trimmingMap.mjs +4 -2
  450. package/utils/dataStructures/uniqueMap.js +14 -1
  451. package/utils/dataStructures/uniqueMap.mjs +14 -1
  452. package/utils/dataStructures/uniqueSet.js +9 -0
  453. package/utils/dataStructures/uniqueSet.mjs +9 -0
  454. package/utils/ghostTable.js +1 -1
  455. package/utils/ghostTable.mjs +1 -1
  456. package/3rdparty/walkontable/src/core.js +0 -309
  457. package/3rdparty/walkontable/src/core.mjs +0 -293
  458. package/3rdparty/walkontable/src/overlay/registerer.js +0 -70
  459. package/3rdparty/walkontable/src/overlay/registerer.mjs +0 -57
  460. package/utils/keyStateObserver.js +0 -121
  461. package/utils/keyStateObserver.mjs +0 -103
@@ -33,13 +33,13 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
33
33
  * [Configuration options](@/guides/getting-started/setting-options.md) let you heavily customize your Handsontable instance. For example, you can:
34
34
  *
35
35
  * - Enable and disable built-in features
36
- * - Enable and configure additional [plugins](@/guides/building-and-testing/plugins.md)
36
+ * - Enable and configure additional [plugins](@/guides/tools-and-building/custom-plugins.md)
37
37
  * - Personalize Handsontable's look
38
38
  * - Adjust Handsontable's behavior
39
39
  * - Implement your own custom features
40
40
  *
41
41
  * To apply [configuration options](@/guides/getting-started/setting-options.md), pass them as
42
- * a second argument of the [Handsontable constructor](@/guides/getting-started/installation.md#initialize-the-grid),
42
+ * a second argument of the [Handsontable constructor](@/guides/getting-started/installation.md#initialize-handsontable),
43
43
  * using the [object literal notation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer):
44
44
  *
45
45
  * ```js
@@ -69,7 +69,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
69
69
  * - [Individual grid elements, based on any logic you implement](@/guides/getting-started/setting-options.md#implementing-custom-logic)
70
70
  *
71
71
  * Read more:
72
- * - [Configuration options →](@/guides/getting-started/setting-options.md)
72
+ * - [Configuration options](@/guides/getting-started/setting-options.md)
73
73
  */
74
74
  var _default = function _default() {
75
75
  return {
@@ -156,8 +156,8 @@ var _default = function _default() {
156
156
  * __Warning:__ Setting the `allowHtml` option to `true` can cause serious XSS vulnerabilities.
157
157
  *
158
158
  * Read more:
159
- * - [Autocomplete cell type →](@/guides/cell-types/autocomplete-cell-type.md)
160
- * - [Dropdown cell type →](@/guides/cell-types/dropdown-cell-type.md)
159
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
160
+ * - [Dropdown cell type](@/guides/cell-types/dropdown-cell-type.md)
161
161
  * - [`source`](#source)
162
162
  *
163
163
  * @memberof Options#
@@ -231,9 +231,9 @@ var _default = function _default() {
231
231
  * Setting the `allowInvalid` option to `false` can be useful when used with the [Autocomplete strict mode](@/guides/cell-types/autocomplete-cell-type.md#autocomplete-strict-mode).
232
232
  *
233
233
  * Read more:
234
- * - [Cell validator →](@/guides/cell-functions/cell-validator.md)
235
- * - [Cell editor →](@/guides/cell-functions/cell-editor.md)
236
- * - [Autocomplete strict mode →](@/guides/cell-types/autocomplete-cell-type.md#autocomplete-strict-mode)
234
+ * - [Cell validator](@/guides/cell-functions/cell-validator.md)
235
+ * - [Cell editor](@/guides/cell-functions/cell-editor.md)
236
+ * - [Autocomplete strict mode](@/guides/cell-types/autocomplete-cell-type.md#autocomplete-strict-mode)
237
237
  *
238
238
  * @memberof Options#
239
239
  * @type {boolean}
@@ -255,7 +255,7 @@ var _default = function _default() {
255
255
  * - **Remove column**
256
256
  *
257
257
  * Read more:
258
- * - [Context menu →](@/guides/accessories-and-menus/context-menu.md)
258
+ * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
259
259
  *
260
260
  * @memberof Options#
261
261
  * @type {boolean}
@@ -275,7 +275,7 @@ var _default = function _default() {
275
275
  * - **Remove row**
276
276
  *
277
277
  * Read more:
278
- * - [Context menu →](@/guides/accessories-and-menus/context-menu.md)
278
+ * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
279
279
  *
280
280
  * @memberof Options#
281
281
  * @type {boolean}
@@ -318,7 +318,7 @@ var _default = function _default() {
318
318
  * Using the [`colWidths`](#colWidths) option forcibly disables the [`AutoColumnSize`](@/api/autoColumnSize.md) plugin.
319
319
  *
320
320
  * Read more:
321
- * - [Plugins: `AutoColumnSize` →](@/api/autoColumnSize.md)
321
+ * - [Plugins: `AutoColumnSize`](@/api/autoColumnSize.md)
322
322
  *
323
323
  * @memberof Options#
324
324
  * @type {object|boolean}
@@ -364,7 +364,7 @@ var _default = function _default() {
364
364
  * Using the [`rowHeights`](#rowHeights) option forcibly disables the [`AutoRowSize`](@/api/autoRowSize.md) plugin.
365
365
  *
366
366
  * Read more:
367
- * - [Plugins: `AutoRowSize` →](@/api/autoRowSize.md)
367
+ * - [Plugins: `AutoRowSize`](@/api/autoRowSize.md)
368
368
  *
369
369
  * @memberof Options#
370
370
  * @type {object|boolean}
@@ -439,7 +439,7 @@ var _default = function _default() {
439
439
  * | `true` | Enable the the [`BindRowsWithHeaders`](@/api/bindRowsWithHeaders.md) plugin |
440
440
  *
441
441
  * Read more:
442
- * - [Plugins: `BindRowsWithHeaders` →](@/api/bindRowsWithHeaders.md)
442
+ * - [Plugins: `BindRowsWithHeaders`](@/api/bindRowsWithHeaders.md)
443
443
  *
444
444
  * @memberof Options#
445
445
  * @type {boolean|string}
@@ -461,7 +461,7 @@ var _default = function _default() {
461
461
  * and the [`columns`](#columns) options.
462
462
  *
463
463
  * Read more:
464
- * - [Configuration options: Setting cell options →](@/guides/getting-started/setting-options.md#setting-cell-options)
464
+ * - [Configuration options: Setting cell options](@/guides/getting-started/setting-options.md#setting-cell-options)
465
465
  * - [`columns`](#columns)
466
466
  *
467
467
  * @memberof Options#
@@ -499,8 +499,8 @@ var _default = function _default() {
499
499
  * | `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. |
500
500
  *
501
501
  * Read more:
502
- * - [Configuration options: Implementing custom logic &#8594;](@/guides/getting-started/setting-options.md#implementing-custom-logic)
503
- * - [Configuration options: Setting row options &#8594;](@/guides/getting-started/setting-options.md#setting-row-options)
502
+ * - [Configuration options: Implementing custom logic](@/guides/getting-started/setting-options.md#implementing-custom-logic)
503
+ * - [Configuration options: Setting row options](@/guides/getting-started/setting-options.md#setting-row-options)
504
504
  * - [`columns`](#columns)
505
505
  * - [`cell`](#cell)
506
506
  *
@@ -539,8 +539,8 @@ var _default = function _default() {
539
539
  * | A string | If a [`checkbox`](@/guides/cell-types/checkbox-cell-type.md) cell is checked,<br>the [`getDataAtCell`](@/api/core.md#getDataAtCell) method for this cell returns a string of your choice |
540
540
  *
541
541
  * Read more:
542
- * - [Checkbox cell type: Checkbox template &#8594;](@/guides/cell-types/checkbox-cell-type.md#checkbox-template)
543
- * - [`getDataAtCell()` &#8594;](@/api/core.md#getDataAtCell)
542
+ * - [Checkbox cell type: Checkbox template](@/guides/cell-types/checkbox-cell-type.md#checkbox-template)
543
+ * - [`getDataAtCell()`](@/api/core.md#getDataAtCell)
544
544
  * - [`uncheckedTemplate`](#uncheckedTemplate)
545
545
  *
546
546
  * @memberof Options#
@@ -583,7 +583,7 @@ var _default = function _default() {
583
583
  * To apply different CSS class names on different levels, use Handsontable's [cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration).
584
584
  *
585
585
  * Read more:
586
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
586
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
587
587
  * - [`currentRowClassName`](#currentRowClassName)
588
588
  * - [`currentColClassName`](#currentColClassName)
589
589
  * - [`currentHeaderClassName`](#currentHeaderClassName)
@@ -626,7 +626,7 @@ var _default = function _default() {
626
626
  * | A function | Define your own column headers, using a function |
627
627
  *
628
628
  * Read more:
629
- * - [Column header &#8594;](@/guides/columns/column-header.md)
629
+ * - [Column header](@/guides/columns/column-header.md)
630
630
  *
631
631
  * @memberof Options#
632
632
  * @type {boolean|string[]|Function}
@@ -662,7 +662,7 @@ var _default = function _default() {
662
662
  * | An array of objects | Enable the [`CollapsibleColumns`](@/api/collapsibleColumns.md) plugin for selected column headers |
663
663
  *
664
664
  * Read more:
665
- * - [Plugins: `CollapsibleColumns` &#8594;](@/api/collapsibleColumns.md)
665
+ * - [Plugins: `CollapsibleColumns`](@/api/collapsibleColumns.md)
666
666
  *
667
667
  * @memberof Options#
668
668
  * @type {boolean|object[]}
@@ -723,7 +723,7 @@ var _default = function _default() {
723
723
  * When you use the `columns` option, the [`startCols`](#startCols), [`minCols`](#minCols), and [`maxCols`](#maxCols) are ignored.
724
724
  *
725
725
  * Read more:
726
- * - [Configuration options: Setting column options &#8594;](@/guides/getting-started/setting-options.md#setting-column-options)
726
+ * - [Configuration options: Setting column options](@/guides/getting-started/setting-options.md#setting-column-options)
727
727
  * - [`startCols`](#startCols)
728
728
  * - [`minCols`](#minCols)
729
729
  * - [`maxCols`](#maxCols)
@@ -796,8 +796,8 @@ var _default = function _default() {
796
796
  * | `sortOrder` | `'asc'` \| `'desc'` | The sorting order:<br>`'asc'`: ascending<br>`'desc'`: descending |
797
797
  *
798
798
  * Read more:
799
- * - [Row sorting &#8594;](@/guides/rows/row-sorting.md)
800
- * - [Row sorting: Custom compare functions &#8594;](@/guides/rows/row-sorting.md#custom-compare-functions)
799
+ * - [Row sorting](@/guides/rows/row-sorting.md)
800
+ * - [Row sorting: Custom compare functions](@/guides/rows/row-sorting.md#custom-compare-functions)
801
801
  * - [`multiColumnSorting`](#multiColumnSorting)
802
802
  *
803
803
  * @memberof Options#
@@ -865,8 +865,8 @@ var _default = function _default() {
865
865
  * | `customFunction` | A function | [Custom summary function](@/guides/columns/column-summary.md#implementing-a-custom-summary-function) |
866
866
  *
867
867
  * Read more:
868
- * - [Column summary &#8594;](@/guides/columns/column-summary.md)
869
- * - [Plugins: `ColumnSummary` &#8594;](@/api/columnSummary.md)
868
+ * - [Column summary](@/guides/columns/column-summary.md)
869
+ * - [Plugins: `ColumnSummary`](@/api/columnSummary.md)
870
870
  *
871
871
  * @memberof Options#
872
872
  * @type {object[]|Function}
@@ -915,8 +915,8 @@ var _default = function _default() {
915
915
  * Setting the `colWidths` option disables the {@link AutoColumnSize} plugin.
916
916
  *
917
917
  * Read more:
918
- * - [Column width &#8594;](@/guides/columns/column-width.md)
919
- * - [Hooks: `modifyColWidth` &#8594;](@/api/hooks.md#modifyColWidth)
918
+ * - [Column width](@/guides/columns/column-width.md)
919
+ * - [Hooks: `modifyColWidth`](@/api/hooks.md#modifyColWidth)
920
920
  * - [`autoColumnSize`](#autoColumnSize)
921
921
  *
922
922
  * @memberof Options#
@@ -951,7 +951,7 @@ var _default = function _default() {
951
951
  * that have comments.
952
952
  *
953
953
  * Read more:
954
- * - [Comments &#8594;](@/guides/cell-features/comments.md)
954
+ * - [Comments](@/guides/cell-features/comments.md)
955
955
  * - [`comments`](#comments)
956
956
  * - [`readOnlyCellClassName`](#readOnlyCellClassName)
957
957
  * - [`currentRowClassName`](#currentRowClassName)
@@ -999,8 +999,8 @@ var _default = function _default() {
999
999
  * | `style` | An object | Set comment boxes' `width` and `height` (in pixels) |
1000
1000
  *
1001
1001
  * Read more:
1002
- * - [Comments &#8594;](@/guides/cell-features/comments.md)
1003
- * - [Context menu &#8594;](@/guides/accessories-and-menus/context-menu.md)
1002
+ * - [Comments](@/guides/cell-features/comments.md)
1003
+ * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
1004
1004
  * - [`width`](#width)
1005
1005
  * - [`height`](#height)
1006
1006
  * - [`readOnly`](#readOnly)
@@ -1047,11 +1047,11 @@ var _default = function _default() {
1047
1047
  * | An object | - Enable the [`ContextMenu`](@/api/contextMenu.md) plugin<br>- Apply a [custom context menu configuration](@/guides/accessories-and-menus/context-menu.md#context-menu-with-fully-custom-configuration) |
1048
1048
  *
1049
1049
  * Read more:
1050
- * - [Context menu &#8594;](@/guides/accessories-and-menus/context-menu.md)
1051
- * - [Context menu: Context menu with default options &#8594;](@/guides/accessories-and-menus/context-menu.md#context-menu-with-default-options)
1052
- * - [Context menu: Context menu with specific options &#8594;](@/guides/accessories-and-menus/context-menu.md#context-menu-with-specific-options)
1053
- * - [Context menu: Context menu with fully custom configuration options &#8594;](@/guides/accessories-and-menus/context-menu.md#context-menu-with-fully-custom-configuration)
1054
- * - [Plugins: `ContextMenu` &#8594;](@/api/contextMenu.md)
1050
+ * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
1051
+ * - [Context menu: Context menu with default options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-default-options)
1052
+ * - [Context menu: Context menu with specific options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-specific-options)
1053
+ * - [Context menu: Context menu with fully custom configuration options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-fully-custom-configuration)
1054
+ * - [Plugins: `ContextMenu`](@/api/contextMenu.md)
1055
1055
  *
1056
1056
  * @memberof Options#
1057
1057
  * @type {boolean|string[]|object}
@@ -1104,13 +1104,13 @@ var _default = function _default() {
1104
1104
  *
1105
1105
  * | Setting | Description |
1106
1106
  * | -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
1107
- * | `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 |
1107
+ * | `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 |
1108
1108
  * | `false`<br>(default for the [`password`](@/guides/cell-types/password-cell-type.md) [cell type](#type)) | - Disable copying for this cell |
1109
1109
  *
1110
1110
  * Read more:
1111
- * - [Clipboard &#8594;](@/guides/cell-features/clipboard.md)
1112
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
1113
- * - [Password cell type &#8594;](@/guides/cell-types/password-cell-type.md)
1111
+ * - [Clipboard](@/guides/cell-features/clipboard.md)
1112
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
1113
+ * - [Password cell type](@/guides/cell-types/password-cell-type.md)
1114
1114
  *
1115
1115
  * @memberof Options#
1116
1116
  * @type {boolean}
@@ -1168,7 +1168,7 @@ var _default = function _default() {
1168
1168
  * | `uiContainer` | An HTML element | A UI container for the secondary focusable element |
1169
1169
  *
1170
1170
  * Read more:
1171
- * - [Plugins: `CopyPaste` &#8594;](@/api/copyPaste.md)
1171
+ * - [Plugins: `CopyPaste`](@/api/copyPaste.md)
1172
1172
  *
1173
1173
  * @memberof Options#
1174
1174
  * @type {object|boolean}
@@ -1197,17 +1197,15 @@ var _default = function _default() {
1197
1197
  copyPaste: true,
1198
1198
 
1199
1199
  /**
1200
- * The `correctFormat` option configures [`date`](@/guides/cell-types/date-cell-type.md) cells' date format correction.
1200
+ * 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:
1201
1201
  *
1202
- * You can set the `correctFormat` option to one of the following
1203
- *
1204
- * | Setting | Description |
1205
- * | ----------------- | --------------------------------------------------------------------- |
1206
- * | `false` (default) | Don't correct dates |
1207
- * | `true` | Enforce the date format set by the [`dateFormat`](#dateFormat) option |
1202
+ * | Setting | Description |
1203
+ * | ----------------- | ---------------------------------------------------------------------------------- |
1204
+ * | `false` (default) | Don't correct the entered date's format (treat the entered date as invalid) |
1205
+ * | `true` | Correct the entered date's format to match the [`dateFormat`](#dateFormat) setting |
1208
1206
  *
1209
1207
  * Read more:
1210
- * - [Date cell type &#8594;](@/guides/cell-types/date-cell-type.md)
1208
+ * - [Date cell type](@/guides/cell-types/date-cell-type.md)
1211
1209
  * - [`dateFormat`](#dateFormat)
1212
1210
  *
1213
1211
  * @memberof Options#
@@ -1337,10 +1335,10 @@ var _default = function _default() {
1337
1335
  * | -------- | ------------------ | ---------------------------------- | ----------------------------------------------------------------- |
1338
1336
  * | `row` | - | `row`: Number | The cell's row coordinate. |
1339
1337
  * | `col` | - | `col`: Number | The cell's column coordinate. |
1340
- * | `left` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the left border's width (`width`)<br> and color (`color`). |
1341
- * | `right` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the right border's width (`width`)<br> and color (`color`). |
1342
- * | `top` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the top border's width (`width`)<br> and color (`color`). |
1343
- * | `bottom` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the bottom border's width (`width`)<br> and color (`color`). |
1338
+ * | `start` | `width`<br>`color` | `width`: Number<br>`color`: String | If the [layout direction](@/guides/internationalization/layout-direction.md) is LTR (default): `start` sets the width (`width`) and color (`color`) of the left-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction.md) is RTL: `start` sets the width (`width`) and color (`color`) of the right-hand border. |
1339
+ * | `end` | `width`<br>`color` | `width`: Number<br>`color`: String | If the [layout direction](@/guides/internationalization/layout-direction.md) is LTR (default): `end` sets the width (`width`) and color (`color`) of the right-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction.md) is RTL: `end` sets the width (`width`) and color (`color`) of the left-hand border. |
1340
+ * | `top` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the top border. |
1341
+ * | `bottom` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the bottom border. |
1344
1342
  *
1345
1343
  * To enable the [`CustomBorders`](@/api/customBorders.md) plugin
1346
1344
  * and add a predefined border around a range of cells,
@@ -1349,16 +1347,18 @@ var _default = function _default() {
1349
1347
  *
1350
1348
  * | Property | Sub-properties | Types | Description |
1351
1349
  * | -------- | -------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
1352
- * | `range` | `from` {`row`, `col`}<br>`to` {`row`, `col`} | `from`: Object<br>`to`: Object<br>`row`: Number<br>`col`: Number | `from` selects the range's top-left corner.<br>`to` selects the range's bottom-right corner. |
1353
- * | `left` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the left border's `width` and `color`. |
1354
- * | `right` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the right border's `width` and `color`. |
1355
- * | `top` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the top border's `width` and `color`. |
1356
- * | `bottom` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the bottom border's `width` and `color`. |
1350
+ * | `range` | `from` {`row`, `col`}<br>`to` {`row`, `col`} | `from`: Object<br>`to`: Object<br>`row`: Number<br>`col`: Number | If the [layout direction](@/guides/internationalization/layout-direction.md) is LTR (default):<br>- `from` selects the range's top-left corner.<br>- `to` selects the range's bottom-right corner.<br><br>If the [layout direction](@/guides/internationalization/layout-direction.md) is RTL: <br>- `from` selects the range's top-right corner.<br>- `to` selects the range's bottom-left corner. |
1351
+ * | `start` | `width`<br>`color` | `width`: Number<br>`color`: String | If the [layout direction](@/guides/internationalization/layout-direction.md) is LTR (default): `start` sets the width (`width`) and color (`color`) of the left-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction.md) is RTL: `start` sets the width (`width`) and color (`color`) of the right-hand border. |
1352
+ * | `end` | `width`<br>`color` | `width`: Number<br>`color`: String | If the [layout direction](@/guides/internationalization/layout-direction.md) is LTR (default): `end` sets the width (`width`) and color (`color`) of the right-hand border.<br><br>If the [layout direction](@/guides/internationalization/layout-direction.md) is RTL: `end` sets the width (`width`) and color (`color`) of the left-hand border. |
1353
+ * | `top` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the top border. |
1354
+ * | `bottom` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the bottom border. |
1357
1355
  *
1358
1356
  * Read more:
1359
- * - [Formatting cells: Custom cell borders &#8594;](@/guides/cell-features/formatting-cells.md#custom-cell-borders)
1360
- * - [Context menu &#8594;](@/guides/accessories-and-menus/context-menu.md)
1361
- * - [Plugins: `CustomBorders` &#8594;](@/api/customBorders.md)
1357
+ * - [Formatting cells: Custom cell borders](@/guides/cell-features/formatting-cells.md#custom-cell-borders)
1358
+ * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
1359
+ * - [Plugins: `CustomBorders`](@/api/customBorders.md)
1360
+ * - [Layout direction](@/guides/internationalization/layout-direction.md)
1361
+ * - [`layoutDirection`](#layoutDirection)
1362
1362
  *
1363
1363
  * @memberof Options#
1364
1364
  * @type {boolean|object[]}
@@ -1379,13 +1379,13 @@ var _default = function _default() {
1379
1379
  * row: 2,
1380
1380
  * // set the cell's column coordinate
1381
1381
  * col: 2,
1382
- * // set the left border's width and color
1383
- * left: {
1382
+ * // set the left/right border's width and color
1383
+ * start: {
1384
1384
  * width: 2,
1385
1385
  * color: 'red'
1386
1386
  * },
1387
- * // set the right border's width and color
1388
- * right: {
1387
+ * // set the right/left border's width and color
1388
+ * end: {
1389
1389
  * width: 1,
1390
1390
  * color: 'green'
1391
1391
  * },
@@ -1414,13 +1414,13 @@ var _default = function _default() {
1414
1414
  * col: 4
1415
1415
  * }
1416
1416
  * },
1417
- * // set the left border's width and color
1418
- * left: {
1417
+ * // set the left/right border's width and color
1418
+ * start: {
1419
1419
  * width: 2,
1420
1420
  * color: 'red'
1421
1421
  * },
1422
- * // set the right border's width and color
1423
- * right: {},
1422
+ * // set the right/left border's width and color
1423
+ * end: {},
1424
1424
  * // set the top border's width and color
1425
1425
  * top: {},
1426
1426
  * // set the bottom border's width and color
@@ -1435,14 +1435,14 @@ var _default = function _default() {
1435
1435
  * @description
1436
1436
  * The `data` option sets the initial [data](@/guides/getting-started/binding-to-data.md) of your Handsontable instance.
1437
1437
  *
1438
- * Handsontable's data is bound to your source data __by reference__ (i.e. when you edit Handsontable's data, your source data alters as well).
1438
+ * Handsontable's data is bound to your source data by reference (i.e. when you edit Handsontable's data, your source data alters as well).
1439
1439
  *
1440
1440
  * You can set the `data` option:
1441
1441
  * - Either to an [array of arrays](@/guides/getting-started/binding-to-data.md#array-of-arrays).
1442
1442
  * - Or to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects).
1443
1443
  *
1444
1444
  * Read more:
1445
- * - [Binding to data &#8594;](@/guides/getting-started/binding-to-data.md)
1445
+ * - [Binding to data](@/guides/getting-started/binding-to-data.md)
1446
1446
  * - [`dataSchema`](#dataSchema)
1447
1447
  *
1448
1448
  * @memberof Options#
@@ -1477,7 +1477,7 @@ var _default = function _default() {
1477
1477
  * (or is empty), the `dataSchema` option defines the structure of new rows.
1478
1478
  *
1479
1479
  * Read more:
1480
- * - [Binding to data: Array of objects with custom data schema &#8594;](@/guides/getting-started/binding-to-data.md#array-of-objects-with-custom-data-schema)
1480
+ * - [Binding to data: Array of objects with custom data schema](@/guides/getting-started/binding-to-data.md#array-of-objects-with-custom-data-schema)
1481
1481
  * - [`data`](#data)
1482
1482
  *
1483
1483
  * @memberof Options#
@@ -1504,15 +1504,14 @@ var _default = function _default() {
1504
1504
  dataSchema: void 0,
1505
1505
 
1506
1506
  /**
1507
- * The `dateFormat` option configures [`date`](@/guides/cell-types/date-cell-type.md) cells' date format.
1507
+ * The `dateFormat` option configures the date format accepted by [`date`](@/guides/cell-types/date-cell-type.md) cells.
1508
1508
  *
1509
- * You can set the `dateFormat` option to a date format string. The default value is: `'DD/MM/YYYY'`.
1509
+ * You can set the `dateFormat` option to a string with a proper date format. The default value is: `'DD/MM/YYYY'`.
1510
1510
  *
1511
- * To enforce the date format set by the `dateFormat` option,
1512
- * use the [`correctFormat`](#correctFormat) option.
1511
+ * To automatically correct dates whose format doesn't match the `dateFormat` setting, use the [`correctFormat`](#correctFormat) option.
1513
1512
  *
1514
1513
  * Read more:
1515
- * - [Date cell type &#8594;](@/guides/cell-types/date-cell-type.md)
1514
+ * - [Date cell type](@/guides/cell-types/date-cell-type.md)
1516
1515
  * - [`correctFormat`](#correctFormat)
1517
1516
  * - [`defaultDate`](#defaultDate)
1518
1517
  *
@@ -1555,7 +1554,7 @@ var _default = function _default() {
1555
1554
  * Read more:
1556
1555
  * - [`editor`](#editor)
1557
1556
  * - [`dateFormat`](#dateFormat)
1558
- * - [Cell editor &#8594;](@/guides/cell-functions/cell-editor.md)
1557
+ * - [Cell editor](@/guides/cell-functions/cell-editor.md)
1559
1558
  * - [All Pikaday options &#8594;](https://github.com/Pikaday/Pikaday/tree/1.8.0#configuration)
1560
1559
  *
1561
1560
  * @memberof Options#
@@ -1572,7 +1571,7 @@ var _default = function _default() {
1572
1571
  * You can set the `defaultDate` option to a string.
1573
1572
  *
1574
1573
  * Read more:
1575
- * - [Date cell type &#8594;](@/guides/cell-types/date-cell-type.md)
1574
+ * - [Date cell type](@/guides/cell-types/date-cell-type.md)
1576
1575
  * - [`dateFormat`](#dateFormat)
1577
1576
  *
1578
1577
  * @memberof Options#
@@ -1611,7 +1610,7 @@ var _default = function _default() {
1611
1610
  * | An array | A combination of `'current'`, `'area'`, and/or `'header'` |
1612
1611
  *
1613
1612
  * Read more:
1614
- * - [Selection &#8594;](@/guides/cell-features/selection.md)
1613
+ * - [Selection](@/guides/cell-features/selection.md)
1615
1614
  *
1616
1615
  * @memberof Options#
1617
1616
  * @type {boolean|string|string[]}
@@ -1650,7 +1649,7 @@ var _default = function _default() {
1650
1649
  * | `false` | Don't scroll the viewport |
1651
1650
  *
1652
1651
  * Read more:
1653
- * - [Plugins: `DragToScroll` &#8594;](@/api/dragToScroll.md)
1652
+ * - [Plugins: `DragToScroll`](@/api/dragToScroll.md)
1654
1653
  *
1655
1654
  * @memberof Options#
1656
1655
  * @type {boolean}
@@ -1678,8 +1677,8 @@ var _default = function _default() {
1678
1677
  * | An object | - Enable the [`DropdownMenu`](@/api/dropdownMenu.md) plugin<br>- Apply a custom dropdown menu configuration |
1679
1678
  *
1680
1679
  * Read more:
1681
- * - [Context menu &#8594;](@/guides/accessories-and-menus/context-menu.md)
1682
- * - [Plugins: `DropdownMenu` &#8594;](@/api/dropdownMenu.md)
1680
+ * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
1681
+ * - [Plugins: `DropdownMenu`](@/api/dropdownMenu.md)
1683
1682
  *
1684
1683
  * @memberof Options#
1685
1684
  * @type {boolean|object|string[]}
@@ -1753,9 +1752,9 @@ var _default = function _default() {
1753
1752
  * options all at once, use the [`type`](#type) option.
1754
1753
  *
1755
1754
  * Read more:
1756
- * - [Cell editor &#8594;](@/guides/cell-functions/cell-editor.md)
1757
- * - [Cell type &#8594;](@/guides/cell-types/cell-type.md)
1758
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
1755
+ * - [Cell editor](@/guides/cell-functions/cell-editor.md)
1756
+ * - [Cell type](@/guides/cell-types/cell-type.md)
1757
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
1759
1758
  * - [`type`](#type)
1760
1759
  *
1761
1760
  * @memberof Options#
@@ -1784,14 +1783,14 @@ var _default = function _default() {
1784
1783
  editor: void 0,
1785
1784
 
1786
1785
  /**
1787
- * The `enterBeginsEditing` option configures the action of the <kbd>Enter</kbd> key.
1786
+ * The `enterBeginsEditing` option configures the action of the <kbd>**Enter**</kbd> key.
1788
1787
  *
1789
1788
  * You can set the `enterBeginsEditing` option to one of the following:
1790
1789
  *
1791
1790
  * | Setting | Description |
1792
1791
  * | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1793
- * | `true` (default) | - On pressing <kbd>Enter</kbd> once, start editing the currently-selected cell<br>- On pressing <kbd>Enter</kbd> twice, move to another cell,<br>as configured by the [`enterMoves`](#enterMoves) setting |
1794
- * | `false` | - On pressing <kbd>Enter</kbd> once, move to another cell,<br>as configured by the [`enterMoves`](#enterMoves) setting |
1792
+ * | `true` (default) | - On pressing <kbd>**Enter**</kbd> once, enter the editing mode of the active cell<br>- On pressing <kbd>**Enter**</kbd> twice, move to another cell,<br>as configured by the [`enterMoves`](#enterMoves) setting |
1793
+ * | `false` | - On pressing <kbd>**Enter**</kbd> once, move to another cell,<br>as configured by the [`enterMoves`](#enterMoves) setting |
1795
1794
  *
1796
1795
  * Read more:
1797
1796
  * - [`enterMoves`](#enterMoves)
@@ -1814,21 +1813,21 @@ var _default = function _default() {
1814
1813
  enterBeginsEditing: true,
1815
1814
 
1816
1815
  /**
1817
- * The `enterMoves` option configures the action of the <kbd>Enter</kbd> key.
1816
+ * The `enterMoves` option configures the action of the <kbd>**Enter**</kbd> key.
1818
1817
  *
1819
1818
  * If the [`enterBeginsEditing`](#enterBeginsEditing) option is set to `true`,
1820
- * the `enterMoves` setting applies to the **second** pressing of the <kbd>Enter</kbd> key.
1819
+ * the `enterMoves` setting applies to the **second** pressing of the <kbd>**Enter**</kbd> key.
1821
1820
  *
1822
1821
  * If the [`enterBeginsEditing`](#enterBeginsEditing) option is set to `false`,
1823
- * the `enterMoves` setting applies to the **first** pressing of the <kbd>Enter</kbd> key.
1822
+ * the `enterMoves` setting applies to the **first** pressing of the <kbd>**Enter**</kbd> key.
1824
1823
  *
1825
1824
  * You can set the `enterMoves` option to an object with the following properties
1826
1825
  * (or to a function that returns such an object):
1827
1826
  *
1828
1827
  * | Property | Type | Description |
1829
1828
  * | -------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
1830
- * | `col` | Number | - On pressing <kbd>Enter</kbd>, move selection `col` columns right<br>- On pressing <kbd>Shift</kbd>+<kbd>Enter</kbd>, move selection `col` columns left |
1831
- * | `row` | Number | - On pressing <kbd>Enter</kbd>, move selection `row` rows down<br>- On pressing <kbd>Shift</kbd>+<kbd>Enter</kbd>, move selection `row` rows up |
1829
+ * | `col` | Number | - On pressing <kbd>**Enter**</kbd>, move selection `col` columns right<br>- On pressing <kbd>**Shift**</kbd> + <kbd>**Enter**</kbd>, move selection `col` columns left |
1830
+ * | `row` | Number | - On pressing <kbd>**Enter**</kbd>, move selection `row` rows down<br>- On pressing <kbd>**Shift**</kbd> + <kbd>**Enter**</kbd>, move selection `row` rows up |
1832
1831
  *
1833
1832
  * Read more:
1834
1833
  * - [`enterBeginsEditing`](#enterBeginsEditing)
@@ -1878,7 +1877,7 @@ var _default = function _default() {
1878
1877
  * | `direction` | `'vertical'` \| `'horizontal'` | `'vertical'`: Enable vertical autofill<br>`'horizontal'`: Enable horizontal autofill |
1879
1878
  *
1880
1879
  * Read more:
1881
- * - [AutoFill values &#8594;](@/guides/cell-features/autofill-values.md)
1880
+ * - [AutoFill values](@/guides/cell-features/autofill-values.md)
1882
1881
  *
1883
1882
  * @memberof Options#
1884
1883
  * @type {boolean|string|object}
@@ -1929,7 +1928,7 @@ var _default = function _default() {
1929
1928
  * | `false` | When the end user types into the input area, all options are displayed<br>(options matching the input are put in bold |
1930
1929
  *
1931
1930
  * Read more:
1932
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
1931
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
1933
1932
  * - [`source`](#source)
1934
1933
  * - [`filteringCaseSensitive`](#filteringCaseSensitive)
1935
1934
  *
@@ -1966,7 +1965,7 @@ var _default = function _default() {
1966
1965
  * | `true` | [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md) cells' input is case-sensitive |
1967
1966
  *
1968
1967
  * Read more:
1969
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
1968
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
1970
1969
  * - [`source`](#source)
1971
1970
  * - [`filter`](#filter)
1972
1971
  *
@@ -2000,8 +1999,8 @@ var _default = function _default() {
2000
1999
  * | `true` | Enable the [`Filters`](@/api/filters.md) plugin |
2001
2000
  *
2002
2001
  * Read more:
2003
- * - [Column filter &#8594;](@/guides/columns/column-filter.md)
2004
- * - [Plugins: `Filters` &#8594;](@/api/filters.md)
2002
+ * - [Column filter](@/guides/columns/column-filter.md)
2003
+ * - [Plugins: `Filters`](@/api/filters.md)
2005
2004
  * - [`dropdownMenu`](#dropdownMenu)
2006
2005
  *
2007
2006
  * @memberof Options#
@@ -2018,11 +2017,16 @@ var _default = function _default() {
2018
2017
  filters: void 0,
2019
2018
 
2020
2019
  /**
2021
- * The `fixedColumnsLeft` option sets the number of [frozen columns](@/guides/columns/column-freezing.md)
2022
- * at the left-hand side of the grid.
2020
+ * `fixedColumnsLeft` is a legacy option.
2021
+ *
2022
+ * If your grid's [layout direction](@/guides/internationalization/layout-direction.md) is LTR (default), `fixedColumnsLeft` acts like the [`fixedColumnsStart`](#fixedColumnsStart) option.
2023
+ *
2024
+ * If your grid's [layout direction](@/guides/internationalization/layout-direction.md) is RTL, using `fixedColumnsLeft` throws an error.
2025
+ *
2026
+ * Use [`fixedColumnsStart`](#fixedColumnsStart), which works in any layout direction.
2023
2027
  *
2024
2028
  * Read more:
2025
- * - [Column freezing &#8594;](@/guides/columns/column-freezing.md)
2029
+ * - [`fixedColumnsStart`](#fixedcolumnsstart)
2026
2030
  *
2027
2031
  * @memberof Options#
2028
2032
  * @type {number}
@@ -2037,12 +2041,51 @@ var _default = function _default() {
2037
2041
  */
2038
2042
  fixedColumnsLeft: 0,
2039
2043
 
2044
+ /**
2045
+ * 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.
2046
+ *
2047
+ * If your grid's [layout direction](@/guides/internationalization/layout-direction.md) is RTL, the `fixedColumnsStart` option sets the number of [frozen columns](@/guides/columns/column-freezing.md) at the right-hand edge of the grid.
2048
+ *
2049
+ * Read more:
2050
+ * - [Column freezing](@/guides/columns/column-freezing.md)
2051
+ * - [Layout direction](@/guides/internationalization/layout-direction.md)
2052
+ * - [`fixedColumnsLeft`](#fixedcolumnsleft)
2053
+ * - [`layoutDirection`](#layoutDirection)
2054
+ *
2055
+ * @memberof Options#
2056
+ * @type {number}
2057
+ * @default 0
2058
+ * @category Core
2059
+ *
2060
+ * @example
2061
+ * ```js
2062
+ * // when `layoutDirection` is set to `inherit` (default)
2063
+ * // freeze the first 3 columns from the left or from the right
2064
+ * // depending on your HTML document's `dir` attribute
2065
+ * layoutDirection: 'inherit',
2066
+ * fixedColumnsStart: 3,
2067
+ *
2068
+ * // when `layoutDirection` is set to `rtl`
2069
+ * // freeze the first 3 columns from the right
2070
+ * // regardless of your HTML document's `dir` attribute
2071
+ * layoutDirection: 'rtl',
2072
+ * fixedColumnsStart: 3,
2073
+ *
2074
+ * // when `layoutDirection` is set to `ltr`
2075
+ * // freeze the first 3 columns from the left
2076
+ * // regardless of your HTML document's `dir` attribute
2077
+ * layoutDirection: 'ltr',
2078
+ * fixedColumnsStart: 3,
2079
+ * ```
2080
+ */
2081
+ fixedColumnsStart: 0,
2082
+
2040
2083
  /**
2041
2084
  * The `fixedRowsBottom` option sets the number of [frozen rows](@/guides/rows/row-freezing.md)
2042
2085
  * at the bottom of the grid.
2043
2086
  *
2044
2087
  * Read more:
2045
- * - [Row freezing &#8594;](@/guides/rows/row-freezing.md)
2088
+ * - [Row freezing](@/guides/rows/row-freezing.md)
2046
2089
  *
2047
2090
  * @memberof Options#
2048
2091
  * @type {number}
@@ -2061,7 +2104,7 @@ var _default = function _default() {
2061
2104
  * The `fixedRowsTop` option sets the number of [frozen rows](@/guides/rows/row-freezing.md) at the top of the grid.
2062
2105
  *
2063
2106
  * Read more:
2064
- * - [Row freezing &#8594;](@/guides/rows/row-freezing.md)
2107
+ * - [Row freezing](@/guides/rows/row-freezing.md)
2065
2108
  *
2066
2109
  * @memberof Options#
2067
2110
  * @type {number}
@@ -2081,7 +2124,7 @@ var _default = function _default() {
2081
2124
  *
2082
2125
  * The [`Formulas`](@/api/formulas.md) plugin uses the [HyperFormula](https://handsontable.github.io/hyperformula/) calculation engine.
2083
2126
  * To install [HyperFormula](https://handsontable.github.io/hyperformula/), read the following:
2084
- * - [Formula calculation: Initialization methods &#8594;](@/guides/formulas/formula-calculation.md#initialization-methods)
2127
+ * - [Formula calculation: Initialization methods](@/guides/formulas/formula-calculation.md#initialization-methods)
2085
2128
  *
2086
2129
  * You can set the `formulas` option to an object with the following properties:
2087
2130
  *
@@ -2092,8 +2135,8 @@ var _default = function _default() {
2092
2135
  * | `sheetName` | A string |
2093
2136
  *
2094
2137
  * Read more:
2095
- * - [Plugins: `Formulas` &#8594;](@/api/formulas.md)
2096
- * - [Formula calculation &#8594;](@/guides/formulas/formula-calculation.md)
2138
+ * - [Plugins: `Formulas`](@/api/formulas.md)
2139
+ * - [Formula calculation](@/guides/formulas/formula-calculation.md)
2097
2140
  * - [HyperFormula documentation: Client-side installation](https://handsontable.github.io/hyperformula/guide/client-side-installation)
2098
2141
  * - [HyperFormula documentation: Configuration options](https://handsontable.github.io/hyperformula/api/interfaces/configparams.html)
2099
2142
  *
@@ -2195,7 +2238,7 @@ var _default = function _default() {
2195
2238
  * | A function that returns a valid number or string | `height() { return 500; }` |
2196
2239
  *
2197
2240
  * Read more:
2198
- * - [Grid size &#8594;](@/guides/getting-started/grid-size.md)
2241
+ * - [Grid size](@/guides/getting-started/grid-size.md)
2199
2242
  *
2200
2243
  * @memberof Options#
2201
2244
  * @type {number|string|Function}
@@ -2238,8 +2281,8 @@ var _default = function _default() {
2238
2281
  * | `indicators` | `true` \| `false` | `true`: display UI markers to indicate the presence of hidden columns<br>`false`: display UI markers |
2239
2282
  *
2240
2283
  * Read more:
2241
- * - [Plugins: `HiddenColumns` &#8594;](@/api/hiddenColumns.md)
2242
- * - [Column hiding &#8594;](@/guides/columns/column-hiding.md)
2284
+ * - [Plugins: `HiddenColumns`](@/api/hiddenColumns.md)
2285
+ * - [Column hiding](@/guides/columns/column-hiding.md)
2243
2286
  *
2244
2287
  * @memberof Options#
2245
2288
  * @type {boolean|object}
@@ -2284,8 +2327,8 @@ var _default = function _default() {
2284
2327
  * | `indicators` | `true` \| `false` | `true`: display UI markers to indicate the presence of hidden rows<br>`false`: display UI markers |
2285
2328
  *
2286
2329
  * Read more:
2287
- * - [Plugins: `HiddenRows` &#8594;](@/api/hiddenRows.md)
2288
- * - [Row hiding &#8594;](@/guides/rows/row-hiding.md)
2330
+ * - [Plugins: `HiddenRows`](@/api/hiddenRows.md)
2331
+ * - [Row hiding](@/guides/rows/row-hiding.md)
2289
2332
  *
2290
2333
  * @memberof Options#
2291
2334
  * @type {boolean|object}
@@ -2315,7 +2358,7 @@ var _default = function _default() {
2315
2358
  * that were marked as `invalid` by the [cell validator](@/guides/cell-functions/cell-validator.md).
2316
2359
  *
2317
2360
  * Read more:
2318
- * - [Cell validator &#8594;](@/guides/cell-functions/cell-validator.md)
2361
+ * - [Cell validator](@/guides/cell-functions/cell-validator.md)
2319
2362
  * - [`currentRowClassName`](#currentRowClassName)
2320
2363
  * - [`currentHeaderClassName`](#currentHeaderClassName)
2321
2364
  * - [`activeHeaderClassName`](#activeHeaderClassName)
@@ -2434,7 +2477,7 @@ var _default = function _default() {
2434
2477
  * | `property` | A string | - A [`data`](#data) object property name that's used as the label's text <br>- Works only when the [`data`](#data) option is set to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects) |
2435
2478
  *
2436
2479
  * Read more:
2437
- * - [Checkbox cell type: Checkbox labels &#8594;](@/guides/cell-types/checkbox-cell-type.md#checkbox-labels)
2480
+ * - [Checkbox cell type: Checkbox labels](@/guides/cell-types/checkbox-cell-type.md#checkbox-labels)
2438
2481
  *
2439
2482
  * @memberof Options#
2440
2483
  * @type {object}
@@ -2453,13 +2496,16 @@ var _default = function _default() {
2453
2496
  label: void 0,
2454
2497
 
2455
2498
  /**
2456
- * The `language` option configures Handsontable's language.
2499
+ * The `language` option configures Handsontable's [language](@/guides/internationalization/language.md) settings.
2457
2500
  *
2458
2501
  * You can set the `language` option to one of the following:
2459
2502
  *
2460
2503
  * | Setting | Description |
2461
2504
  * | ------------------- | --------------------------- |
2462
2505
  * | `'en-US'` (default) | English - United States |
2506
+ * | `'ar-AR'` | Arabic - Global.<br><br>To properly render this language, set the [layout direction](@/guides/internationalization/layout-direction.md) to RTL. |
2507
+ * | `'cs-CZ'` | Czech - Czech Republic |
2508
+ * | `'de-CH'` | German - Switzerland |
2463
2509
  * | `'de-DE'` | German - Germany |
2464
2510
  * | `'es-MX'` | Spanish - Mexico |
2465
2511
  * | `'fr-FR'` | French - France |
@@ -2472,12 +2518,14 @@ var _default = function _default() {
2472
2518
  * | `'pl-PL'` | Polish - Poland |
2473
2519
  * | `'pt-BR'` | Portuguese - Brazil |
2474
2520
  * | `'ru-RU'` | Russian - Russia |
2521
+ * | `'sr-SP'` | Serbian (Latin) - Serbia |
2475
2522
  * | `'zh-CN'` | Chinese - China |
2476
2523
  * | `'zh-TW'` | Chinese - Taiwan |
2477
2524
  *
2478
2525
  * Read more:
2479
- * - [Internationalization (i18n) &#8594;](@/guides/internationalization/internationalization-i18n.md)
2526
+ * - [Language](@/guides/internationalization/language.md)
2480
2527
  * - [`locale`](#locale)
2528
+ * - [`layoutDirection`](#layoutdirection)
2481
2529
  *
2482
2530
  * @memberof Options#
2483
2531
  * @type {string}
@@ -2492,6 +2540,52 @@ var _default = function _default() {
2492
2540
  */
2493
2541
  language: 'en-US',
2494
2542
 
2543
+ /**
2544
+ * The `layoutDirection` option configures whether Handsontable renders from the left to the right, or from the right to the left.
2545
+ *
2546
+ * 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.
2547
+ *
2548
+ * You can set the `layoutDirection` option only [for the entire grid](@/guides/getting-started/setting-options.md#setting-grid-options).
2549
+ * You can't set it for individual columns, rows, or cells.
2550
+ *
2551
+ * You can set the `layoutDirection` option to one of the following strings:
2552
+ *
2553
+ * | Setting | Description |
2554
+ * | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2555
+ * | `inherit` (default) | Set Handsontable's layout direction automatically,<br>based on the value of your HTML document's [`dir`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir) attribute |
2556
+ * | `rtl` | Render Handsontable from the right to the left,<br>even when your HTML document's [`dir`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir) attribute is set to `ltr` |
2557
+ * | `ltr` | Render Handsontable from the left to the right,<br>even when your HTML document's [`dir`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir) attribute is set to `rtl` |
2558
+ *
2559
+ * Read more:
2560
+ * - [Layout direction](@/guides/internationalization/layout-direction.md)
2561
+ * - [Language](@/guides/internationalization/language.md)
2562
+ * - [`language`](#language)
2563
+ * - [`locale`](#locale)
2564
+ * - [`fixedColumnsStart`](#fixedcolumnsstart)
2565
+ * - [`customBorders`](#customBorders)
2566
+ *
2567
+ * @memberof Options#
2568
+ * @type {string}
2569
+ * @default 'inherit'
2570
+ * @category Core
2571
+ *
2572
+ * @example
2573
+ * ```js
2574
+ * // inherit Handsontable's layout direction
2575
+ * // from the value of your HTML document's `dir` attribute
2576
+ * layoutDirection: 'inherit',
2577
+ *
2578
+ * // render Handsontable from the right to the left
2579
+ * // regardless of your HTML document's `dir`
2580
+ * layoutDirection: 'rtl',
2581
+ *
2582
+ * // render Handsontable from the left to the right
2583
+ * // regardless of your HTML document's `dir`
2584
+ * layoutDirection: 'ltr',
2585
+ * ```
2586
+ */
2587
+ layoutDirection: 'inherit',
2588
+
2495
2589
  /**
2496
2590
  * The `licenseKey` option sets your Handsontable license key.
2497
2591
  *
@@ -2503,7 +2597,7 @@ var _default = function _default() {
2503
2597
  * | `'non-commercial-and-evaluation'` | For [non-commercial use](@/guides/technical-specification/software-license.md#non-commercial-use) |
2504
2598
  *
2505
2599
  * Read more:
2506
- * - [License key &#8594;](@/guides/getting-started/license-key.md)
2600
+ * - [License key](@/guides/getting-started/license-key.md)
2507
2601
  *
2508
2602
  * @memberof Options#
2509
2603
  * @type {string}
@@ -2522,14 +2616,16 @@ var _default = function _default() {
2522
2616
  licenseKey: void 0,
2523
2617
 
2524
2618
  /**
2525
- * The `locale` option configures Handsontable's locale.
2619
+ * The `locale` option configures Handsontable's [locale](@/guides/internationalization/locale.md) settings.
2526
2620
  *
2527
2621
  * You can set the `locale` option to any valid and canonicalized Unicode BCP 47 locale tag,
2528
- * both for the entire grid, and for individual columns.
2622
+ * both for the [entire grid](@/guides/internationalization/locale.md#setting-the-grid-s-locale),
2623
+ * and for [individual columns](@/guides/internationalization/locale.md#setting-a-column-s-locale).
2529
2624
  *
2530
2625
  * Read more:
2531
- * - [Internationalization (i18n) &#8594;](@/guides/internationalization/internationalization-i18n.md)
2626
+ * - [Locale](@/guides/internationalization/locale.md)
2532
2627
  * - [`language`](#language)
2628
+ * - [`layoutDirection`](#layoutdirection)
2533
2629
  *
2534
2630
  * @memberof Options#
2535
2631
  * @type {string}
@@ -2567,7 +2663,7 @@ var _default = function _default() {
2567
2663
  * | `false` | Disable the [`ManualColumnFreeze`](@/api/manualColumnFreeze.md) plugin |
2568
2664
  *
2569
2665
  * Read more:
2570
- * - [Column freezing &#8594;](@/guides/columns/column-freezing.md#user-triggered-freeze)
2666
+ * - [Column freezing](@/guides/columns/column-freezing.md#user-triggered-freeze)
2571
2667
  *
2572
2668
  * @memberof Options#
2573
2669
  * @type {boolean}
@@ -2594,7 +2690,7 @@ var _default = function _default() {
2594
2690
  * | An array | - Enable the [`ManualColumnMove`](@/api/manualColumnMove.md) plugin<br>- Move individual columns at initialization |
2595
2691
  *
2596
2692
  * Read more:
2597
- * - [Column moving &#8594;](@/guides/columns/column-moving.md)
2693
+ * - [Column moving](@/guides/columns/column-moving.md)
2598
2694
  *
2599
2695
  * @memberof Options#
2600
2696
  * @type {boolean|number[]}
@@ -2628,7 +2724,7 @@ var _default = function _default() {
2628
2724
  * | An array | - Enable the [`ManualColumnResize`](@/api/manualColumnResize.md) plugin<br>- Set initial widths of individual columns |
2629
2725
  *
2630
2726
  * Read more:
2631
- * - [Column width: Column stretching &#8594;](@/guides/columns/column-width.md#column-stretching)
2727
+ * - [Column width: Column stretching](@/guides/columns/column-width.md#column-stretching)
2632
2728
  *
2633
2729
  * @memberof Options#
2634
2730
  * @type {boolean|number[]}
@@ -2662,7 +2758,7 @@ var _default = function _default() {
2662
2758
  * | An array | - Enable the [`ManualRowMove`](@/api/manualRowMove.md) plugin<br>- Move individual rows at initialization |
2663
2759
  *
2664
2760
  * Read more:
2665
- * - [Row moving &#8594;](@/guides/rows/row-moving.md)
2761
+ * - [Row moving](@/guides/rows/row-moving.md)
2666
2762
  *
2667
2763
  * @memberof Options#
2668
2764
  * @type {boolean|number[]}
@@ -2696,7 +2792,7 @@ var _default = function _default() {
2696
2792
  * | An array | - Enable the [`ManualRowResize`](@/api/manualRowResize.md) plugin<br>- Set initial heights of individual rows |
2697
2793
  *
2698
2794
  * Read more:
2699
- * - [Row height: Adjust the row height manually &#8594;](@/guides/rows/row-height.md#adjust-the-row-height-manually)
2795
+ * - [Row height: Adjust the row height manually](@/guides/rows/row-height.md#adjust-the-row-height-manually)
2700
2796
  *
2701
2797
  * @memberof Options#
2702
2798
  * @type {boolean|number[]}
@@ -2782,7 +2878,7 @@ var _default = function _default() {
2782
2878
  * | `colspan` | The height (as a number of columns ) of the merged section |
2783
2879
  *
2784
2880
  * Read more:
2785
- * - [Merge cells &#8594;](@/guides/cell-features/merge-cells.md)
2881
+ * - [Merge cells](@/guides/cell-features/merge-cells.md)
2786
2882
  *
2787
2883
  * @memberof Options#
2788
2884
  * @type {boolean|object[]}
@@ -2792,7 +2888,7 @@ var _default = function _default() {
2792
2888
  * @example
2793
2889
  * ```js
2794
2890
  * // enable the `MergeCells` plugin
2795
- * margeCells: true,
2891
+ * mergeCells: true,
2796
2892
  *
2797
2893
  * // enable the `MergeCells` plugin
2798
2894
  * // and merge specific cells at initialization
@@ -2941,7 +3037,7 @@ var _default = function _default() {
2941
3037
  * | `sortOrder` | `'asc'` \| `'desc'` | The sorting order:<br>`'asc'`: ascending<br>`'desc'`: descending |
2942
3038
  *
2943
3039
  * Read more:
2944
- * - [Row sorting &#8594;](@/guides/rows/row-sorting.md)
3040
+ * - [Row sorting](@/guides/rows/row-sorting.md)
2945
3041
  * - [`columnSorting`](#columnSorting)
2946
3042
  *
2947
3043
  * @memberof Options#
@@ -3001,8 +3097,8 @@ var _default = function _default() {
3001
3097
  * | An object | Properties:<br>`label` (string): the header's label<br>`colspan` (integer): the column width |
3002
3098
  *
3003
3099
  * Read more:
3004
- * - [Plugins: `NestedHeaders` &#8594;](@/api/nestedHeaders.md)
3005
- * - [Column groups: Nested headers &#8594;](@/guides/columns/column-groups.md#nested-headers)
3100
+ * - [Plugins: `NestedHeaders`](@/api/nestedHeaders.md)
3101
+ * - [Column groups: Nested headers](@/guides/columns/column-groups.md#nested-headers)
3006
3102
  *
3007
3103
  * @memberof Options#
3008
3104
  * @type {Array[]}
@@ -3032,7 +3128,7 @@ var _default = function _default() {
3032
3128
  * | `true` | Enable the [`NestedRows`](@/api/nestedRows.md) plugin |
3033
3129
  *
3034
3130
  * Read more:
3035
- * - [Plugins: `NestedRows` &#8594;](@/api/nestedRows.md)
3131
+ * - [Plugins: `NestedRows`](@/api/nestedRows.md)
3036
3132
  *
3037
3133
  * @example
3038
3134
  * ```js
@@ -3096,8 +3192,8 @@ var _default = function _default() {
3096
3192
  * In the source data, numeric data is stored as JavaScript numbers.
3097
3193
  *
3098
3194
  * Read more:
3099
- * - [Numeric cell type &#8594;](@/guides/cell-types/numeric-cell-type.md)
3100
- * - [Third-party licenses &#8594;](@/guides/technical-specification/third-party-licenses.md)
3195
+ * - [Numeric cell type](@/guides/cell-types/numeric-cell-type.md)
3196
+ * - [Third-party licenses](@/guides/technical-specification/third-party-licenses.md)
3101
3197
  *
3102
3198
  * @memberof Options#
3103
3199
  * @since 0.35.0
@@ -3191,8 +3287,8 @@ var _default = function _default() {
3191
3287
  * | `true` | Enable the [`PersistentState`](@/api/persistentState.md) plugin |
3192
3288
  *
3193
3289
  * Read more:
3194
- * - [Saving data: Saving data locally &#8594;](@/guides/getting-started/saving-data.md#saving-data-locally)
3195
- * - [Plugins: `PersistentState` &#8594;](@/api/persistentState.md)
3290
+ * - [Saving data: Saving data locally](@/guides/getting-started/saving-data.md#saving-data-locally)
3291
+ * - [Plugins: `PersistentState`](@/api/persistentState.md)
3196
3292
  *
3197
3293
  * @memberof Options#
3198
3294
  * @type {boolean}
@@ -3250,7 +3346,7 @@ var _default = function _default() {
3250
3346
  * that contain [`placeholder`](#placeholder) text.
3251
3347
  *
3252
3348
  * Read more:
3253
- * - [Cell validator &#8594;](@/guides/cell-functions/cell-validator.md)
3349
+ * - [Cell validator](@/guides/cell-functions/cell-validator.md)
3254
3350
  * - [`placeholder`](#placeholder)
3255
3351
  * - [`currentRowClassName`](#currentRowClassName)
3256
3352
  * - [`currentHeaderClassName`](#currentHeaderClassName)
@@ -3305,7 +3401,7 @@ var _default = function _default() {
3305
3401
  * The `preventWheel` option configures preventing the `wheel` event's default action
3306
3402
  * on overlays.
3307
3403
  *
3308
- * You can set the `preventOverflow` option to one of the following:
3404
+ * You can set the `preventWheel` option to one of the following:
3309
3405
  *
3310
3406
  * | Setting | Description |
3311
3407
  * | ----------------- | ------------------------------------------------ |
@@ -3338,7 +3434,7 @@ var _default = function _default() {
3338
3434
  * | `true` | - Set as read-only<br>- Add the [`readOnlyCellClassName`](#readOnlyCellClassName) CSS class name (by default: `htDimmed`) |
3339
3435
  *
3340
3436
  * Read more:
3341
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
3437
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
3342
3438
  *
3343
3439
  * @memberof Options#
3344
3440
  * @type {boolean}
@@ -3393,7 +3489,7 @@ var _default = function _default() {
3393
3489
  * | `true` | Disable [row virtualization](@/guides/rows/row-virtualization.md)<br>(render all rows of the grid) |
3394
3490
  *
3395
3491
  * Read more:
3396
- * - [Row virtualization &#8594;](@/guides/rows/row-virtualization.md)
3492
+ * - [Row virtualization](@/guides/rows/row-virtualization.md)
3397
3493
  *
3398
3494
  * @memberof Options#
3399
3495
  * @type {boolean}
@@ -3434,9 +3530,9 @@ var _default = function _default() {
3434
3530
  * options all at once, use the [`type`](#type) option.
3435
3531
  *
3436
3532
  * Read more:
3437
- * - [Cell renderer &#8594;](@/guides/cell-functions/cell-renderer.md)
3438
- * - [Cell type &#8594;](@/guides/cell-types/cell-type.md)
3439
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
3533
+ * - [Cell renderer](@/guides/cell-functions/cell-renderer.md)
3534
+ * - [Cell type](@/guides/cell-types/cell-type.md)
3535
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
3440
3536
  * - [`type`](#type)
3441
3537
  *
3442
3538
  * @memberof Options#
@@ -3483,7 +3579,7 @@ var _default = function _default() {
3483
3579
  * | A function | Define your own row headers, using a function |
3484
3580
  *
3485
3581
  * Read more:
3486
- * - [Row header &#8594;](@/guides/rows/row-header.md)
3582
+ * - [Row header](@/guides/rows/row-header.md)
3487
3583
  *
3488
3584
  * @memberof Options#
3489
3585
  * @type {boolean|string[]|Function}
@@ -3551,7 +3647,7 @@ var _default = function _default() {
3551
3647
  * via the {@link ManualRowResize} and {@link AutoRowSize} plugins (if they are enabled).
3552
3648
  *
3553
3649
  * Read more:
3554
- * - [Row height &#8594;](@/guides/rows/row-height.md)
3650
+ * - [Row height](@/guides/rows/row-height.md)
3555
3651
  *
3556
3652
  * @memberof Options#
3557
3653
  * @type {number|number[]|string|string[]|Array<undefined>|Function}
@@ -3601,9 +3697,9 @@ var _default = function _default() {
3601
3697
  * | `callback` | A function | Add a [custom callback function](@/guides/accessories-and-menus/searching-values.md#custom-callback) |
3602
3698
  *
3603
3699
  * Read more:
3604
- * - [Searching values &#8594;](@/guides/accessories-and-menus/searching-values.md)
3605
- * - [Searching values: Custom query method &#8594;](@/guides/accessories-and-menus/searching-values.md#custom-query-method)
3606
- * - [Searching values: Custom callback &#8594;](@/guides/accessories-and-menus/searching-values.md#custom-callback)
3700
+ * - [Searching values](@/guides/accessories-and-menus/searching-values.md)
3701
+ * - [Searching values: Custom query method](@/guides/accessories-and-menus/searching-values.md#custom-query-method)
3702
+ * - [Searching values: Custom callback](@/guides/accessories-and-menus/searching-values.md#custom-callback)
3607
3703
  *
3608
3704
  * @memberof Options#
3609
3705
  * @type {boolean|object}
@@ -3645,7 +3741,7 @@ var _default = function _default() {
3645
3741
  * | `'multiple'` | Allow the user to select multiple ranges of cells at a time. |
3646
3742
  *
3647
3743
  * Read more:
3648
- * - [Selection: Selecting ranges &#8594;](@/guides/cell-features/selection.md#selecting-ranges)
3744
+ * - [Selection: Selecting ranges](@/guides/cell-features/selection.md#selecting-ranges)
3649
3745
  *
3650
3746
  * @memberof Options#
3651
3747
  * @type {string}
@@ -3678,7 +3774,7 @@ var _default = function _default() {
3678
3774
  * | A function | A function that returns an object with key-string pairs |
3679
3775
  *
3680
3776
  * Read more:
3681
- * - [Select cell type &#8594;](@/guides/cell-types/select-cell-type.md)
3777
+ * - [Select cell type](@/guides/cell-types/select-cell-type.md)
3682
3778
  *
3683
3779
  * @memberof Options#
3684
3780
  * @type {string[]|object|Function}
@@ -3738,7 +3834,7 @@ var _default = function _default() {
3738
3834
  * | `true` | - Disable pasting data into this column<br>- On pasting, paste data into the next column to the right |
3739
3835
  *
3740
3836
  * Read more:
3741
- * - [Configuration options: Setting column options &#8594;](@/guides/getting-started/setting-options.md#setting-column-options)
3837
+ * - [Configuration options: Setting column options](@/guides/getting-started/setting-options.md#setting-column-options)
3742
3838
  *
3743
3839
  * @memberof Options#
3744
3840
  * @type {boolean}
@@ -3772,7 +3868,7 @@ var _default = function _default() {
3772
3868
  * | `true` | - Disable pasting data into this row<br>- On pasting, paste data into the row below |
3773
3869
  *
3774
3870
  * Read more:
3775
- * - [Configuration options: Setting row options &#8594;](@/guides/getting-started/setting-options.md#setting-row-options)
3871
+ * - [Configuration options: Setting row options](@/guides/getting-started/setting-options.md#setting-row-options)
3776
3872
  *
3777
3873
  * @memberof Options#
3778
3874
  * @type {boolean}
@@ -3808,7 +3904,7 @@ var _default = function _default() {
3808
3904
  *
3809
3905
  * Read more:
3810
3906
  * - [`source`](#source)
3811
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
3907
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
3812
3908
  *
3813
3909
  * @memberof Options#
3814
3910
  * @type {boolean}
@@ -3839,8 +3935,8 @@ var _default = function _default() {
3839
3935
  * - A function
3840
3936
  *
3841
3937
  * Read more:
3842
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
3843
- * - [Dropdown cell type &#8594;](@/guides/cell-types/dropdown-cell-type.md)
3938
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
3939
+ * - [Dropdown cell type](@/guides/cell-types/dropdown-cell-type.md)
3844
3940
  * - [`strict`](#strict)
3845
3941
  * - [`allowHtml`](#allowHtml)
3846
3942
  * - [`filter`](#filter)
@@ -3928,7 +4024,7 @@ var _default = function _default() {
3928
4024
  * | `'all'` | Fit the grid to the container, by stretching all columns evenly |
3929
4025
  *
3930
4026
  * Read more:
3931
- * - [Column width: Column stretching &#8594;](@/guides/columns/column-width.md#column-stretching)
4027
+ * - [Column width: Column stretching](@/guides/columns/column-width.md#column-stretching)
3932
4028
  *
3933
4029
  * @memberof Options#
3934
4030
  * @type {string}
@@ -3945,18 +4041,17 @@ var _default = function _default() {
3945
4041
  stretchH: 'none',
3946
4042
 
3947
4043
  /**
3948
- * The `strict` option configures [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md)
3949
- * cells' strict/lazy mode.
4044
+ * The `strict` option configures the behavior of [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md) cells.
3950
4045
  *
3951
4046
  * You can set the `strict` option to one of the following:
3952
4047
  *
3953
- * | Setting | Mode | Description |
3954
- * | ------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
3955
- * | `true` | [Strict mode](@/guides/cell-types/autocomplete-cell-type.md#autocomplete-strict-mode) | The value entered must match an autocomplete option (case-sensitive) |
3956
- * | `false` | [Lazy mode](@/guides/cell-types/autocomplete-cell-type.md#autocomplete-lazy-mode) | The value entered doesn't have to match an autocomplete option.<br>The end user can:<br>- Choose from suggested options<br>- Enter a custom value |
4048
+ * | Setting | Mode | Description |
4049
+ * | ------- | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
4050
+ * | `true` | [Strict mode](@/guides/cell-types/autocomplete-cell-type.md#autocomplete-strict-mode) | The end user:<br>- Can only choose one of suggested values<br>- Can't enter a custom value |
4051
+ * | `false` | [Flexible mode](@/guides/cell-types/autocomplete-cell-type.md#autocomplete-flexible-mode) | The end user:<br>- Can choose one of suggested values<br>- Can enter a custom value |
3957
4052
  *
3958
4053
  * Read more:
3959
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
4054
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
3960
4055
  * - [`source`](#source)
3961
4056
  *
3962
4057
  * @memberof Options#
@@ -4022,15 +4117,15 @@ var _default = function _default() {
4022
4117
  tableClassName: void 0,
4023
4118
 
4024
4119
  /**
4025
- * The `tabMoves` option configures the action of the <kbd>Tab</kbd> key.
4120
+ * The `tabMoves` option configures the action of the <kbd>**Tab**</kbd> key.
4026
4121
  *
4027
4122
  * You can set the `tabMoves` option to an object with the following properties
4028
4123
  * (or to a function that returns such an object):
4029
4124
  *
4030
4125
  * | Property | Type | Description |
4031
4126
  * | -------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
4032
- * | `row` | Number | - On pressing <kbd>Tab</kbd>, move selection `row` rows down<br>- On pressing <kbd>Shift</kbd>+<kbd>Tab</kbd>, move selection `row` rows up |
4033
- * | `col` | Number | - On pressing <kbd>Tab</kbd>, move selection `col` columns right<br>- On pressing <kbd>Shift</kbd>+<kbd>Tab</kbd>, move selection `col` columns left |
4127
+ * | `row` | Number | - On pressing <kbd>**Tab**</kbd>, move selection `row` rows down<br>- On pressing <kbd>**Shift**</kbd> + <kbd>**Tab**</kbd>, move selection `row` rows up |
4128
+ * | `col` | Number | - On pressing <kbd>**Tab**</kbd>, move selection `col` columns right<br>- On pressing <kbd>**Shift**</kbd> + <kbd>**Tab**</kbd>, move selection `col` columns left |
4034
4129
  *
4035
4130
  * @memberof Options#
4036
4131
  * @type {object|Function}
@@ -4063,7 +4158,7 @@ var _default = function _default() {
4063
4158
  * You can set the `title` option to a string.
4064
4159
  *
4065
4160
  * Read more:
4066
- * - [Column header &#8594;](@/guides/columns/column-header.md)
4161
+ * - [Column header](@/guides/columns/column-header.md)
4067
4162
  * - [`columns`](#columns)
4068
4163
  *
4069
4164
  * @memberof Options#
@@ -4101,8 +4196,8 @@ var _default = function _default() {
4101
4196
  * | `false` | Scale the dropdown/autocomplete list's width to the list's content |
4102
4197
  *
4103
4198
  * Read more:
4104
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
4105
- * - [Dropdown cell type &#8594;](@/guides/cell-types/dropdown-cell-type.md)
4199
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
4200
+ * - [Dropdown cell type](@/guides/cell-types/dropdown-cell-type.md)
4106
4201
  *
4107
4202
  * @memberof Options#
4108
4203
  * @type {boolean}
@@ -4142,8 +4237,8 @@ var _default = function _default() {
4142
4237
  * | An array | - Enable the [`TrimRows`](@/api/trimRows.md) plugin<br>- Trim selected rows at initialization |
4143
4238
  *
4144
4239
  * Read more:
4145
- * - [Plugins: `TrimRows` &#8594;](@/api/trimRows.md)
4146
- * - [Row trimming &#8594;](@/guides/rows/row-trimming.md)
4240
+ * - [Plugins: `TrimRows`](@/api/trimRows.md)
4241
+ * - [Row trimming](@/guides/rows/row-trimming.md)
4147
4242
  *
4148
4243
  * @memberof Options#
4149
4244
  * @type {boolean|number[]}
@@ -4211,11 +4306,11 @@ var _default = function _default() {
4211
4306
  * | [`'time`'](@/guides/cell-types/time-cell-type.md) | Renderer: `TimeRenderer`<br>Editor: `TimeEditor`<br>Validator: `TimeValidator` |
4212
4307
  *
4213
4308
  * Read more:
4214
- * - [Cell type &#8594;](@/guides/cell-types/cell-type.md)
4215
- * - [Cell renderer &#8594;](@/guides/cell-functions/cell-renderer.md)
4216
- * - [Cell editor &#8594;](@/guides/cell-functions/cell-editor.md)
4217
- * - [Cell validator &#8594;](@/guides/cell-functions/cell-validator.md)
4218
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
4309
+ * - [Cell type](@/guides/cell-types/cell-type.md)
4310
+ * - [Cell renderer](@/guides/cell-functions/cell-renderer.md)
4311
+ * - [Cell editor](@/guides/cell-functions/cell-editor.md)
4312
+ * - [Cell validator](@/guides/cell-functions/cell-validator.md)
4313
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
4219
4314
  * - [`renderer`](#renderer)
4220
4315
  * - [`editor`](#editor)
4221
4316
  * - [`validator`](#validator)
@@ -4257,8 +4352,8 @@ var _default = function _default() {
4257
4352
  * | A string | If a [`checkbox`](@/guides/cell-types/checkbox-cell-type.md) cell is unchecked,<br>the [`getDataAtCell`](@/api/core.md#getDataAtCell) method for this cell returns a string of your choice |
4258
4353
  *
4259
4354
  * Read more:
4260
- * - [Checkbox cell type: Checkbox template &#8594;](@/guides/cell-types/checkbox-cell-type.md#checkbox-template)
4261
- * - [`getDataAtCell()` &#8594;](@/api/core.md#getDataAtCell)
4355
+ * - [Checkbox cell type: Checkbox template](@/guides/cell-types/checkbox-cell-type.md#checkbox-template)
4356
+ * - [`getDataAtCell()`](@/api/core.md#getDataAtCell)
4262
4357
  * - [`checkedTemplate`](#checkedTemplate)
4263
4358
  *
4264
4359
  * @memberof Options#
@@ -4304,7 +4399,7 @@ var _default = function _default() {
4304
4399
  * set the `undo` option to `false`.
4305
4400
  *
4306
4401
  * Read more:
4307
- * - [Undo and redo &#8594;](@/guides/accessories-and-menus/undo-redo.md)
4402
+ * - [Undo and redo](@/guides/accessories-and-menus/undo-redo.md)
4308
4403
  *
4309
4404
  * @memberof Options#
4310
4405
  * @type {boolean}
@@ -4347,9 +4442,9 @@ var _default = function _default() {
4347
4442
  * options all at once, use the [`type`](#type) option.
4348
4443
  *
4349
4444
  * Read more:
4350
- * - [Cell validator &#8594;](@/guides/cell-functions/cell-validator.md)
4351
- * - [Cell type &#8594;](@/guides/cell-types/cell-type.md)
4352
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
4445
+ * - [Cell validator](@/guides/cell-functions/cell-validator.md)
4446
+ * - [Cell type](@/guides/cell-types/cell-type.md)
4447
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
4353
4448
  * - [`type`](#type)
4354
4449
  *
4355
4450
  * @memberof Options#
@@ -4392,7 +4487,7 @@ var _default = function _default() {
4392
4487
  * | A number | Set the offset manually |
4393
4488
  *
4394
4489
  * Read more:
4395
- * - [Performance: Define the number of pre-rendered rows and columns &#8594;](@/guides/advanced-topics/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
4490
+ * - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
4396
4491
  *
4397
4492
  * @memberof Options#
4398
4493
  * @type {number|string}
@@ -4420,8 +4515,8 @@ var _default = function _default() {
4420
4515
  * | A number | Set the offset manually |
4421
4516
  *
4422
4517
  * Read more:
4423
- * - [Performance: Define the number of pre-rendered rows and columns &#8594;](@/guides/advanced-topics/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
4424
- * - [Column virtualization &#8594;](@/guides/columns/column-virtualization.md)
4518
+ * - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
4519
+ * - [Column virtualization](@/guides/columns/column-virtualization.md)
4425
4520
  *
4426
4521
  * @memberof Options#
4427
4522
  * @type {number|string}
@@ -4443,8 +4538,8 @@ var _default = function _default() {
4443
4538
  * When the number of list options exceeds the `visibleRows` number, a scrollbar appears.
4444
4539
  *
4445
4540
  * Read more:
4446
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
4447
- * - [Dropdown cell type &#8594;](@/guides/cell-types/dropdown-cell-type.md)
4541
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
4542
+ * - [Dropdown cell type](@/guides/cell-types/dropdown-cell-type.md)
4448
4543
  *
4449
4544
  * @memberof Options#
4450
4545
  * @type {number}
@@ -4483,7 +4578,7 @@ var _default = function _default() {
4483
4578
  * | A function that returns a valid number or string | `width() { return 500; }` |
4484
4579
  *
4485
4580
  * Read more:
4486
- * - [Grid size &#8594;](@/guides/getting-started/grid-size.md)
4581
+ * - [Grid size](@/guides/getting-started/grid-size.md)
4487
4582
  *
4488
4583
  * @memberof Options#
4489
4584
  * @type {number|string|Function}