handsontable 11.1.0 → 12.1.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -20,13 +20,13 @@ import { isObjectEqual } from "../../helpers/object.mjs";
20
20
  * [Configuration options](@/guides/getting-started/setting-options.md) let you heavily customize your Handsontable instance. For example, you can:
21
21
  *
22
22
  * - Enable and disable built-in features
23
- * - Enable and configure additional [plugins](@/guides/building-and-testing/plugins.md)
23
+ * - Enable and configure additional [plugins](@/guides/tools-and-building/custom-plugins.md)
24
24
  * - Personalize Handsontable's look
25
25
  * - Adjust Handsontable's behavior
26
26
  * - Implement your own custom features
27
27
  *
28
28
  * To apply [configuration options](@/guides/getting-started/setting-options.md), pass them as
29
- * a second argument of the [Handsontable constructor](@/guides/getting-started/installation.md#initialize-the-grid),
29
+ * a second argument of the [Handsontable constructor](@/guides/getting-started/installation.md#initialize-handsontable),
30
30
  * using the [object literal notation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer):
31
31
  *
32
32
  * ```js
@@ -56,7 +56,7 @@ import { isObjectEqual } from "../../helpers/object.mjs";
56
56
  * - [Individual grid elements, based on any logic you implement](@/guides/getting-started/setting-options.md#implementing-custom-logic)
57
57
  *
58
58
  * Read more:
59
- * - [Configuration options →](@/guides/getting-started/setting-options.md)
59
+ * - [Configuration options](@/guides/getting-started/setting-options.md)
60
60
  */
61
61
 
62
62
  export default (function () {
@@ -144,8 +144,8 @@ export default (function () {
144
144
  * __Warning:__ Setting the `allowHtml` option to `true` can cause serious XSS vulnerabilities.
145
145
  *
146
146
  * Read more:
147
- * - [Autocomplete cell type →](@/guides/cell-types/autocomplete-cell-type.md)
148
- * - [Dropdown cell type →](@/guides/cell-types/dropdown-cell-type.md)
147
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
148
+ * - [Dropdown cell type](@/guides/cell-types/dropdown-cell-type.md)
149
149
  * - [`source`](#source)
150
150
  *
151
151
  * @memberof Options#
@@ -219,9 +219,9 @@ export default (function () {
219
219
  * 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).
220
220
  *
221
221
  * Read more:
222
- * - [Cell validator →](@/guides/cell-functions/cell-validator.md)
223
- * - [Cell editor →](@/guides/cell-functions/cell-editor.md)
224
- * - [Autocomplete strict mode →](@/guides/cell-types/autocomplete-cell-type.md#autocomplete-strict-mode)
222
+ * - [Cell validator](@/guides/cell-functions/cell-validator.md)
223
+ * - [Cell editor](@/guides/cell-functions/cell-editor.md)
224
+ * - [Autocomplete strict mode](@/guides/cell-types/autocomplete-cell-type.md#autocomplete-strict-mode)
225
225
  *
226
226
  * @memberof Options#
227
227
  * @type {boolean}
@@ -243,7 +243,7 @@ export default (function () {
243
243
  * - **Remove column**
244
244
  *
245
245
  * Read more:
246
- * - [Context menu →](@/guides/accessories-and-menus/context-menu.md)
246
+ * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
247
247
  *
248
248
  * @memberof Options#
249
249
  * @type {boolean}
@@ -263,7 +263,7 @@ export default (function () {
263
263
  * - **Remove row**
264
264
  *
265
265
  * Read more:
266
- * - [Context menu →](@/guides/accessories-and-menus/context-menu.md)
266
+ * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
267
267
  *
268
268
  * @memberof Options#
269
269
  * @type {boolean}
@@ -306,7 +306,7 @@ export default (function () {
306
306
  * Using the [`colWidths`](#colWidths) option forcibly disables the [`AutoColumnSize`](@/api/autoColumnSize.md) plugin.
307
307
  *
308
308
  * Read more:
309
- * - [Plugins: `AutoColumnSize` →](@/api/autoColumnSize.md)
309
+ * - [Plugins: `AutoColumnSize`](@/api/autoColumnSize.md)
310
310
  *
311
311
  * @memberof Options#
312
312
  * @type {object|boolean}
@@ -352,7 +352,7 @@ export default (function () {
352
352
  * Using the [`rowHeights`](#rowHeights) option forcibly disables the [`AutoRowSize`](@/api/autoRowSize.md) plugin.
353
353
  *
354
354
  * Read more:
355
- * - [Plugins: `AutoRowSize` →](@/api/autoRowSize.md)
355
+ * - [Plugins: `AutoRowSize`](@/api/autoRowSize.md)
356
356
  *
357
357
  * @memberof Options#
358
358
  * @type {object|boolean}
@@ -427,7 +427,7 @@ export default (function () {
427
427
  * | `true` | Enable the the [`BindRowsWithHeaders`](@/api/bindRowsWithHeaders.md) plugin |
428
428
  *
429
429
  * Read more:
430
- * - [Plugins: `BindRowsWithHeaders` →](@/api/bindRowsWithHeaders.md)
430
+ * - [Plugins: `BindRowsWithHeaders`](@/api/bindRowsWithHeaders.md)
431
431
  *
432
432
  * @memberof Options#
433
433
  * @type {boolean|string}
@@ -449,7 +449,7 @@ export default (function () {
449
449
  * and the [`columns`](#columns) options.
450
450
  *
451
451
  * Read more:
452
- * - [Configuration options: Setting cell options →](@/guides/getting-started/setting-options.md#setting-cell-options)
452
+ * - [Configuration options: Setting cell options](@/guides/getting-started/setting-options.md#setting-cell-options)
453
453
  * - [`columns`](#columns)
454
454
  *
455
455
  * @memberof Options#
@@ -487,8 +487,8 @@ export default (function () {
487
487
  * | `prop` | No | String \| Number | If [`data`](#data) is set to an [array of arrays](@/guides/getting-started/binding-to-data.md#array-of-arrays), `prop` is the same number as `column`.<br><br>If [`data`](#data) is set to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects), `prop` is a property name for the column's data object. |
488
488
  *
489
489
  * Read more:
490
- * - [Configuration options: Implementing custom logic &#8594;](@/guides/getting-started/setting-options.md#implementing-custom-logic)
491
- * - [Configuration options: Setting row options &#8594;](@/guides/getting-started/setting-options.md#setting-row-options)
490
+ * - [Configuration options: Implementing custom logic](@/guides/getting-started/setting-options.md#implementing-custom-logic)
491
+ * - [Configuration options: Setting row options](@/guides/getting-started/setting-options.md#setting-row-options)
492
492
  * - [`columns`](#columns)
493
493
  * - [`cell`](#cell)
494
494
  *
@@ -527,8 +527,8 @@ export default (function () {
527
527
  * | 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 |
528
528
  *
529
529
  * Read more:
530
- * - [Checkbox cell type: Checkbox template &#8594;](@/guides/cell-types/checkbox-cell-type.md#checkbox-template)
531
- * - [`getDataAtCell()` &#8594;](@/api/core.md#getDataAtCell)
530
+ * - [Checkbox cell type: Checkbox template](@/guides/cell-types/checkbox-cell-type.md#checkbox-template)
531
+ * - [`getDataAtCell()`](@/api/core.md#getDataAtCell)
532
532
  * - [`uncheckedTemplate`](#uncheckedTemplate)
533
533
  *
534
534
  * @memberof Options#
@@ -571,7 +571,7 @@ export default (function () {
571
571
  * To apply different CSS class names on different levels, use Handsontable's [cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration).
572
572
  *
573
573
  * Read more:
574
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
574
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
575
575
  * - [`currentRowClassName`](#currentRowClassName)
576
576
  * - [`currentColClassName`](#currentColClassName)
577
577
  * - [`currentHeaderClassName`](#currentHeaderClassName)
@@ -614,7 +614,7 @@ export default (function () {
614
614
  * | A function | Define your own column headers, using a function |
615
615
  *
616
616
  * Read more:
617
- * - [Column header &#8594;](@/guides/columns/column-header.md)
617
+ * - [Column header](@/guides/columns/column-header.md)
618
618
  *
619
619
  * @memberof Options#
620
620
  * @type {boolean|string[]|Function}
@@ -650,7 +650,7 @@ export default (function () {
650
650
  * | An array of objects | Enable the [`CollapsibleColumns`](@/api/collapsibleColumns.md) plugin for selected column headers |
651
651
  *
652
652
  * Read more:
653
- * - [Plugins: `CollapsibleColumns` &#8594;](@/api/collapsibleColumns.md)
653
+ * - [Plugins: `CollapsibleColumns`](@/api/collapsibleColumns.md)
654
654
  *
655
655
  * @memberof Options#
656
656
  * @type {boolean|object[]}
@@ -711,7 +711,7 @@ export default (function () {
711
711
  * When you use the `columns` option, the [`startCols`](#startCols), [`minCols`](#minCols), and [`maxCols`](#maxCols) are ignored.
712
712
  *
713
713
  * Read more:
714
- * - [Configuration options: Setting column options &#8594;](@/guides/getting-started/setting-options.md#setting-column-options)
714
+ * - [Configuration options: Setting column options](@/guides/getting-started/setting-options.md#setting-column-options)
715
715
  * - [`startCols`](#startCols)
716
716
  * - [`minCols`](#minCols)
717
717
  * - [`maxCols`](#maxCols)
@@ -784,8 +784,8 @@ export default (function () {
784
784
  * | `sortOrder` | `'asc'` \| `'desc'` | The sorting order:<br>`'asc'`: ascending<br>`'desc'`: descending |
785
785
  *
786
786
  * Read more:
787
- * - [Row sorting &#8594;](@/guides/rows/row-sorting.md)
788
- * - [Row sorting: Custom compare functions &#8594;](@/guides/rows/row-sorting.md#custom-compare-functions)
787
+ * - [Row sorting](@/guides/rows/row-sorting.md)
788
+ * - [Row sorting: Custom compare functions](@/guides/rows/row-sorting.md#custom-compare-functions)
789
789
  * - [`multiColumnSorting`](#multiColumnSorting)
790
790
  *
791
791
  * @memberof Options#
@@ -853,8 +853,8 @@ export default (function () {
853
853
  * | `customFunction` | A function | [Custom summary function](@/guides/columns/column-summary.md#implementing-a-custom-summary-function) |
854
854
  *
855
855
  * Read more:
856
- * - [Column summary &#8594;](@/guides/columns/column-summary.md)
857
- * - [Plugins: `ColumnSummary` &#8594;](@/api/columnSummary.md)
856
+ * - [Column summary](@/guides/columns/column-summary.md)
857
+ * - [Plugins: `ColumnSummary`](@/api/columnSummary.md)
858
858
  *
859
859
  * @memberof Options#
860
860
  * @type {object[]|Function}
@@ -903,8 +903,8 @@ export default (function () {
903
903
  * Setting the `colWidths` option disables the {@link AutoColumnSize} plugin.
904
904
  *
905
905
  * Read more:
906
- * - [Column width &#8594;](@/guides/columns/column-width.md)
907
- * - [Hooks: `modifyColWidth` &#8594;](@/api/hooks.md#modifyColWidth)
906
+ * - [Column width](@/guides/columns/column-width.md)
907
+ * - [Hooks: `modifyColWidth`](@/api/hooks.md#modifyColWidth)
908
908
  * - [`autoColumnSize`](#autoColumnSize)
909
909
  *
910
910
  * @memberof Options#
@@ -939,7 +939,7 @@ export default (function () {
939
939
  * that have comments.
940
940
  *
941
941
  * Read more:
942
- * - [Comments &#8594;](@/guides/cell-features/comments.md)
942
+ * - [Comments](@/guides/cell-features/comments.md)
943
943
  * - [`comments`](#comments)
944
944
  * - [`readOnlyCellClassName`](#readOnlyCellClassName)
945
945
  * - [`currentRowClassName`](#currentRowClassName)
@@ -987,8 +987,8 @@ export default (function () {
987
987
  * | `style` | An object | Set comment boxes' `width` and `height` (in pixels) |
988
988
  *
989
989
  * Read more:
990
- * - [Comments &#8594;](@/guides/cell-features/comments.md)
991
- * - [Context menu &#8594;](@/guides/accessories-and-menus/context-menu.md)
990
+ * - [Comments](@/guides/cell-features/comments.md)
991
+ * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
992
992
  * - [`width`](#width)
993
993
  * - [`height`](#height)
994
994
  * - [`readOnly`](#readOnly)
@@ -1035,11 +1035,11 @@ export default (function () {
1035
1035
  * | 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) |
1036
1036
  *
1037
1037
  * Read more:
1038
- * - [Context menu &#8594;](@/guides/accessories-and-menus/context-menu.md)
1039
- * - [Context menu: Context menu with default options &#8594;](@/guides/accessories-and-menus/context-menu.md#context-menu-with-default-options)
1040
- * - [Context menu: Context menu with specific options &#8594;](@/guides/accessories-and-menus/context-menu.md#context-menu-with-specific-options)
1041
- * - [Context menu: Context menu with fully custom configuration options &#8594;](@/guides/accessories-and-menus/context-menu.md#context-menu-with-fully-custom-configuration)
1042
- * - [Plugins: `ContextMenu` &#8594;](@/api/contextMenu.md)
1038
+ * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
1039
+ * - [Context menu: Context menu with default options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-default-options)
1040
+ * - [Context menu: Context menu with specific options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-specific-options)
1041
+ * - [Context menu: Context menu with fully custom configuration options](@/guides/accessories-and-menus/context-menu.md#context-menu-with-fully-custom-configuration)
1042
+ * - [Plugins: `ContextMenu`](@/api/contextMenu.md)
1043
1043
  *
1044
1044
  * @memberof Options#
1045
1045
  * @type {boolean|string[]|object}
@@ -1092,13 +1092,13 @@ export default (function () {
1092
1092
  *
1093
1093
  * | Setting | Description |
1094
1094
  * | -------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
1095
- * | `true` (default) | - Enable copying for this cell<br>- On pressing <kbd>Ctrl</kbd>/<kbd>Cmd</kbd>+<kbd>C</kbd>, add the cell's value to the clipboard |
1095
+ * | `true` (default) | - Enable copying for this cell<br>- On pressing <kbd>**Ctrl**</kbd>/<kbd>**Cmd**</kbd> + <kbd>**C**</kbd>, add the cell's value to the clipboard |
1096
1096
  * | `false`<br>(default for the [`password`](@/guides/cell-types/password-cell-type.md) [cell type](#type)) | - Disable copying for this cell |
1097
1097
  *
1098
1098
  * Read more:
1099
- * - [Clipboard &#8594;](@/guides/cell-features/clipboard.md)
1100
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
1101
- * - [Password cell type &#8594;](@/guides/cell-types/password-cell-type.md)
1099
+ * - [Clipboard](@/guides/cell-features/clipboard.md)
1100
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
1101
+ * - [Password cell type](@/guides/cell-types/password-cell-type.md)
1102
1102
  *
1103
1103
  * @memberof Options#
1104
1104
  * @type {boolean}
@@ -1156,7 +1156,7 @@ export default (function () {
1156
1156
  * | `uiContainer` | An HTML element | A UI container for the secondary focusable element |
1157
1157
  *
1158
1158
  * Read more:
1159
- * - [Plugins: `CopyPaste` &#8594;](@/api/copyPaste.md)
1159
+ * - [Plugins: `CopyPaste`](@/api/copyPaste.md)
1160
1160
  *
1161
1161
  * @memberof Options#
1162
1162
  * @type {object|boolean}
@@ -1185,17 +1185,15 @@ export default (function () {
1185
1185
  copyPaste: true,
1186
1186
 
1187
1187
  /**
1188
- * The `correctFormat` option configures [`date`](@/guides/cell-types/date-cell-type.md) cells' date format correction.
1188
+ * The `correctFormat` option configures what happens when the format of a date entered into a [`date`](@/guides/cell-types/date-cell-type.md) cell doesn't match the format specified by the [`dateFormat`](#dateFormat) option:
1189
1189
  *
1190
- * You can set the `correctFormat` option to one of the following
1191
- *
1192
- * | Setting | Description |
1193
- * | ----------------- | --------------------------------------------------------------------- |
1194
- * | `false` (default) | Don't correct dates |
1195
- * | `true` | Enforce the date format set by the [`dateFormat`](#dateFormat) option |
1190
+ * | Setting | Description |
1191
+ * | ----------------- | ---------------------------------------------------------------------------------- |
1192
+ * | `false` (default) | Don't correct the entered date's format (treat the entered date as invalid) |
1193
+ * | `true` | Correct the entered date's format to match the [`dateFormat`](#dateFormat) setting |
1196
1194
  *
1197
1195
  * Read more:
1198
- * - [Date cell type &#8594;](@/guides/cell-types/date-cell-type.md)
1196
+ * - [Date cell type](@/guides/cell-types/date-cell-type.md)
1199
1197
  * - [`dateFormat`](#dateFormat)
1200
1198
  *
1201
1199
  * @memberof Options#
@@ -1325,10 +1323,10 @@ export default (function () {
1325
1323
  * | -------- | ------------------ | ---------------------------------- | ----------------------------------------------------------------- |
1326
1324
  * | `row` | - | `row`: Number | The cell's row coordinate. |
1327
1325
  * | `col` | - | `col`: Number | The cell's column coordinate. |
1328
- * | `left` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the left border's width (`width`)<br> and color (`color`). |
1329
- * | `right` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the right border's width (`width`)<br> and color (`color`). |
1330
- * | `top` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the top border's width (`width`)<br> and color (`color`). |
1331
- * | `bottom` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the bottom border's width (`width`)<br> and color (`color`). |
1326
+ * | `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. |
1327
+ * | `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. |
1328
+ * | `top` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the top border. |
1329
+ * | `bottom` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the bottom border. |
1332
1330
  *
1333
1331
  * To enable the [`CustomBorders`](@/api/customBorders.md) plugin
1334
1332
  * and add a predefined border around a range of cells,
@@ -1337,16 +1335,18 @@ export default (function () {
1337
1335
  *
1338
1336
  * | Property | Sub-properties | Types | Description |
1339
1337
  * | -------- | -------------------------------------------- | ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
1340
- * | `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. |
1341
- * | `left` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the left border's `width` and `color`. |
1342
- * | `right` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the right border's `width` and `color`. |
1343
- * | `top` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the top border's `width` and `color`. |
1344
- * | `bottom` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the bottom border's `width` and `color`. |
1338
+ * | `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. |
1339
+ * | `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. |
1340
+ * | `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. |
1341
+ * | `top` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the top border. |
1342
+ * | `bottom` | `width`<br>`color` | `width`: Number<br>`color`: String | Sets the width (`width`) and color (`color`) of the bottom border. |
1345
1343
  *
1346
1344
  * Read more:
1347
- * - [Formatting cells: Custom cell borders &#8594;](@/guides/cell-features/formatting-cells.md#custom-cell-borders)
1348
- * - [Context menu &#8594;](@/guides/accessories-and-menus/context-menu.md)
1349
- * - [Plugins: `CustomBorders` &#8594;](@/api/customBorders.md)
1345
+ * - [Formatting cells: Custom cell borders](@/guides/cell-features/formatting-cells.md#custom-cell-borders)
1346
+ * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
1347
+ * - [Plugins: `CustomBorders`](@/api/customBorders.md)
1348
+ * - [Layout direction](@/guides/internationalization/layout-direction.md)
1349
+ * - [`layoutDirection`](#layoutDirection)
1350
1350
  *
1351
1351
  * @memberof Options#
1352
1352
  * @type {boolean|object[]}
@@ -1367,13 +1367,13 @@ export default (function () {
1367
1367
  * row: 2,
1368
1368
  * // set the cell's column coordinate
1369
1369
  * col: 2,
1370
- * // set the left border's width and color
1371
- * left: {
1370
+ * // set the left/right border's width and color
1371
+ * start: {
1372
1372
  * width: 2,
1373
1373
  * color: 'red'
1374
1374
  * },
1375
- * // set the right border's width and color
1376
- * right: {
1375
+ * // set the right/left border's width and color
1376
+ * end: {
1377
1377
  * width: 1,
1378
1378
  * color: 'green'
1379
1379
  * },
@@ -1402,13 +1402,13 @@ export default (function () {
1402
1402
  * col: 4
1403
1403
  * }
1404
1404
  * },
1405
- * // set the left border's width and color
1406
- * left: {
1405
+ * // set the left/right border's width and color
1406
+ * start: {
1407
1407
  * width: 2,
1408
1408
  * color: 'red'
1409
1409
  * },
1410
- * // set the right border's width and color
1411
- * right: {},
1410
+ * // set the right/left border's width and color
1411
+ * end: {},
1412
1412
  * // set the top border's width and color
1413
1413
  * top: {},
1414
1414
  * // set the bottom border's width and color
@@ -1423,14 +1423,14 @@ export default (function () {
1423
1423
  * @description
1424
1424
  * The `data` option sets the initial [data](@/guides/getting-started/binding-to-data.md) of your Handsontable instance.
1425
1425
  *
1426
- * 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).
1426
+ * 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).
1427
1427
  *
1428
1428
  * You can set the `data` option:
1429
1429
  * - Either to an [array of arrays](@/guides/getting-started/binding-to-data.md#array-of-arrays).
1430
1430
  * - Or to an [array of objects](@/guides/getting-started/binding-to-data.md#array-of-objects).
1431
1431
  *
1432
1432
  * Read more:
1433
- * - [Binding to data &#8594;](@/guides/getting-started/binding-to-data.md)
1433
+ * - [Binding to data](@/guides/getting-started/binding-to-data.md)
1434
1434
  * - [`dataSchema`](#dataSchema)
1435
1435
  *
1436
1436
  * @memberof Options#
@@ -1465,7 +1465,7 @@ export default (function () {
1465
1465
  * (or is empty), the `dataSchema` option defines the structure of new rows.
1466
1466
  *
1467
1467
  * Read more:
1468
- * - [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)
1468
+ * - [Binding to data: Array of objects with custom data schema](@/guides/getting-started/binding-to-data.md#array-of-objects-with-custom-data-schema)
1469
1469
  * - [`data`](#data)
1470
1470
  *
1471
1471
  * @memberof Options#
@@ -1492,15 +1492,14 @@ export default (function () {
1492
1492
  dataSchema: void 0,
1493
1493
 
1494
1494
  /**
1495
- * The `dateFormat` option configures [`date`](@/guides/cell-types/date-cell-type.md) cells' date format.
1495
+ * The `dateFormat` option configures the date format accepted by [`date`](@/guides/cell-types/date-cell-type.md) cells.
1496
1496
  *
1497
- * You can set the `dateFormat` option to a date format string. The default value is: `'DD/MM/YYYY'`.
1497
+ * You can set the `dateFormat` option to a string with a proper date format. The default value is: `'DD/MM/YYYY'`.
1498
1498
  *
1499
- * To enforce the date format set by the `dateFormat` option,
1500
- * use the [`correctFormat`](#correctFormat) option.
1499
+ * To automatically correct dates whose format doesn't match the `dateFormat` setting, use the [`correctFormat`](#correctFormat) option.
1501
1500
  *
1502
1501
  * Read more:
1503
- * - [Date cell type &#8594;](@/guides/cell-types/date-cell-type.md)
1502
+ * - [Date cell type](@/guides/cell-types/date-cell-type.md)
1504
1503
  * - [`correctFormat`](#correctFormat)
1505
1504
  * - [`defaultDate`](#defaultDate)
1506
1505
  *
@@ -1543,7 +1542,7 @@ export default (function () {
1543
1542
  * Read more:
1544
1543
  * - [`editor`](#editor)
1545
1544
  * - [`dateFormat`](#dateFormat)
1546
- * - [Cell editor &#8594;](@/guides/cell-functions/cell-editor.md)
1545
+ * - [Cell editor](@/guides/cell-functions/cell-editor.md)
1547
1546
  * - [All Pikaday options &#8594;](https://github.com/Pikaday/Pikaday/tree/1.8.0#configuration)
1548
1547
  *
1549
1548
  * @memberof Options#
@@ -1560,7 +1559,7 @@ export default (function () {
1560
1559
  * You can set the `defaultDate` option to a string.
1561
1560
  *
1562
1561
  * Read more:
1563
- * - [Date cell type &#8594;](@/guides/cell-types/date-cell-type.md)
1562
+ * - [Date cell type](@/guides/cell-types/date-cell-type.md)
1564
1563
  * - [`dateFormat`](#dateFormat)
1565
1564
  *
1566
1565
  * @memberof Options#
@@ -1599,7 +1598,7 @@ export default (function () {
1599
1598
  * | An array | A combination of `'current'`, `'area'`, and/or `'header'` |
1600
1599
  *
1601
1600
  * Read more:
1602
- * - [Selection &#8594;](@/guides/cell-features/selection.md)
1601
+ * - [Selection](@/guides/cell-features/selection.md)
1603
1602
  *
1604
1603
  * @memberof Options#
1605
1604
  * @type {boolean|string|string[]}
@@ -1638,7 +1637,7 @@ export default (function () {
1638
1637
  * | `false` | Don't scroll the viewport |
1639
1638
  *
1640
1639
  * Read more:
1641
- * - [Plugins: `DragToScroll` &#8594;](@/api/dragToScroll.md)
1640
+ * - [Plugins: `DragToScroll`](@/api/dragToScroll.md)
1642
1641
  *
1643
1642
  * @memberof Options#
1644
1643
  * @type {boolean}
@@ -1666,8 +1665,8 @@ export default (function () {
1666
1665
  * | An object | - Enable the [`DropdownMenu`](@/api/dropdownMenu.md) plugin<br>- Apply a custom dropdown menu configuration |
1667
1666
  *
1668
1667
  * Read more:
1669
- * - [Context menu &#8594;](@/guides/accessories-and-menus/context-menu.md)
1670
- * - [Plugins: `DropdownMenu` &#8594;](@/api/dropdownMenu.md)
1668
+ * - [Context menu](@/guides/accessories-and-menus/context-menu.md)
1669
+ * - [Plugins: `DropdownMenu`](@/api/dropdownMenu.md)
1671
1670
  *
1672
1671
  * @memberof Options#
1673
1672
  * @type {boolean|object|string[]}
@@ -1741,9 +1740,9 @@ export default (function () {
1741
1740
  * options all at once, use the [`type`](#type) option.
1742
1741
  *
1743
1742
  * Read more:
1744
- * - [Cell editor &#8594;](@/guides/cell-functions/cell-editor.md)
1745
- * - [Cell type &#8594;](@/guides/cell-types/cell-type.md)
1746
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
1743
+ * - [Cell editor](@/guides/cell-functions/cell-editor.md)
1744
+ * - [Cell type](@/guides/cell-types/cell-type.md)
1745
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
1747
1746
  * - [`type`](#type)
1748
1747
  *
1749
1748
  * @memberof Options#
@@ -1772,14 +1771,14 @@ export default (function () {
1772
1771
  editor: void 0,
1773
1772
 
1774
1773
  /**
1775
- * The `enterBeginsEditing` option configures the action of the <kbd>Enter</kbd> key.
1774
+ * The `enterBeginsEditing` option configures the action of the <kbd>**Enter**</kbd> key.
1776
1775
  *
1777
1776
  * You can set the `enterBeginsEditing` option to one of the following:
1778
1777
  *
1779
1778
  * | Setting | Description |
1780
1779
  * | ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
1781
- * | `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 |
1782
- * | `false` | - On pressing <kbd>Enter</kbd> once, move to another cell,<br>as configured by the [`enterMoves`](#enterMoves) setting |
1780
+ * | `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 |
1781
+ * | `false` | - On pressing <kbd>**Enter**</kbd> once, move to another cell,<br>as configured by the [`enterMoves`](#enterMoves) setting |
1783
1782
  *
1784
1783
  * Read more:
1785
1784
  * - [`enterMoves`](#enterMoves)
@@ -1802,21 +1801,21 @@ export default (function () {
1802
1801
  enterBeginsEditing: true,
1803
1802
 
1804
1803
  /**
1805
- * The `enterMoves` option configures the action of the <kbd>Enter</kbd> key.
1804
+ * The `enterMoves` option configures the action of the <kbd>**Enter**</kbd> key.
1806
1805
  *
1807
1806
  * If the [`enterBeginsEditing`](#enterBeginsEditing) option is set to `true`,
1808
- * the `enterMoves` setting applies to the **second** pressing of the <kbd>Enter</kbd> key.
1807
+ * the `enterMoves` setting applies to the **second** pressing of the <kbd>**Enter**</kbd> key.
1809
1808
  *
1810
1809
  * If the [`enterBeginsEditing`](#enterBeginsEditing) option is set to `false`,
1811
- * the `enterMoves` setting applies to the **first** pressing of the <kbd>Enter</kbd> key.
1810
+ * the `enterMoves` setting applies to the **first** pressing of the <kbd>**Enter**</kbd> key.
1812
1811
  *
1813
1812
  * You can set the `enterMoves` option to an object with the following properties
1814
1813
  * (or to a function that returns such an object):
1815
1814
  *
1816
1815
  * | Property | Type | Description |
1817
1816
  * | -------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
1818
- * | `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 |
1819
- * | `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 |
1817
+ * | `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 |
1818
+ * | `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 |
1820
1819
  *
1821
1820
  * Read more:
1822
1821
  * - [`enterBeginsEditing`](#enterBeginsEditing)
@@ -1866,7 +1865,7 @@ export default (function () {
1866
1865
  * | `direction` | `'vertical'` \| `'horizontal'` | `'vertical'`: Enable vertical autofill<br>`'horizontal'`: Enable horizontal autofill |
1867
1866
  *
1868
1867
  * Read more:
1869
- * - [AutoFill values &#8594;](@/guides/cell-features/autofill-values.md)
1868
+ * - [AutoFill values](@/guides/cell-features/autofill-values.md)
1870
1869
  *
1871
1870
  * @memberof Options#
1872
1871
  * @type {boolean|string|object}
@@ -1917,7 +1916,7 @@ export default (function () {
1917
1916
  * | `false` | When the end user types into the input area, all options are displayed<br>(options matching the input are put in bold |
1918
1917
  *
1919
1918
  * Read more:
1920
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
1919
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
1921
1920
  * - [`source`](#source)
1922
1921
  * - [`filteringCaseSensitive`](#filteringCaseSensitive)
1923
1922
  *
@@ -1954,7 +1953,7 @@ export default (function () {
1954
1953
  * | `true` | [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md) cells' input is case-sensitive |
1955
1954
  *
1956
1955
  * Read more:
1957
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
1956
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
1958
1957
  * - [`source`](#source)
1959
1958
  * - [`filter`](#filter)
1960
1959
  *
@@ -1988,8 +1987,8 @@ export default (function () {
1988
1987
  * | `true` | Enable the [`Filters`](@/api/filters.md) plugin |
1989
1988
  *
1990
1989
  * Read more:
1991
- * - [Column filter &#8594;](@/guides/columns/column-filter.md)
1992
- * - [Plugins: `Filters` &#8594;](@/api/filters.md)
1990
+ * - [Column filter](@/guides/columns/column-filter.md)
1991
+ * - [Plugins: `Filters`](@/api/filters.md)
1993
1992
  * - [`dropdownMenu`](#dropdownMenu)
1994
1993
  *
1995
1994
  * @memberof Options#
@@ -2006,11 +2005,16 @@ export default (function () {
2006
2005
  filters: void 0,
2007
2006
 
2008
2007
  /**
2009
- * The `fixedColumnsLeft` option sets the number of [frozen columns](@/guides/columns/column-freezing.md)
2010
- * at the left-hand side of the grid.
2008
+ * `fixedColumnsLeft` is a legacy option.
2009
+ *
2010
+ * If your grid's [layout direction](@/guides/internationalization/layout-direction.md) is LTR (default), `fixedColumnsLeft` acts like the [`fixedColumnsStart`](#fixedColumnsStart) option.
2011
+ *
2012
+ * If your grid's [layout direction](@/guides/internationalization/layout-direction.md) is RTL, using `fixedColumnsLeft` throws an error.
2013
+ *
2014
+ * Use [`fixedColumnsStart`](#fixedColumnsStart), which works in any layout direction.
2011
2015
  *
2012
2016
  * Read more:
2013
- * - [Column freezing &#8594;](@/guides/columns/column-freezing.md)
2017
+ * - [`fixedColumnsStart`](#fixedcolumnsstart)
2014
2018
  *
2015
2019
  * @memberof Options#
2016
2020
  * @type {number}
@@ -2025,12 +2029,51 @@ export default (function () {
2025
2029
  */
2026
2030
  fixedColumnsLeft: 0,
2027
2031
 
2032
+ /**
2033
+ * If your grid's [layout direction](@/guides/internationalization/layout-direction.md) is LTR (default), the `fixedColumnsStart` option sets the number of [frozen columns](@/guides/columns/column-freezing.md) at the left-hand edge of the grid.
2034
+ *
2035
+ * 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.
2036
+ *
2037
+ * Read more:
2038
+ * - [Column freezing](@/guides/columns/column-freezing.md)
2039
+ * - [Layout direction](@/guides/internationalization/layout-direction.md)
2040
+ * - [`fixedColumnsLeft`](#fixedcolumnsleft)
2041
+ * - [`layoutDirection`](#layoutDirection)
2042
+ *
2043
+ * @memberof Options#
2044
+ * @type {number}
2045
+ * @default 0
2046
+ * @category Core
2047
+ *
2048
+ * @example
2049
+ * ```js
2050
+ * // when `layoutDirection` is set to `inherit` (default)
2051
+ * // freeze the first 3 columns from the left or from the right
2052
+ * // depending on your HTML document's `dir` attribute
2053
+ * layoutDirection: 'inherit',
2054
+ * fixedColumnsStart: 3,
2055
+ *
2056
+ * // when `layoutDirection` is set to `rtl`
2057
+ * // freeze the first 3 columns from the right
2058
+ * // regardless of your HTML document's `dir` attribute
2059
+ * layoutDirection: 'rtl',
2060
+ * fixedColumnsStart: 3,
2061
+ *
2062
+ * // when `layoutDirection` is set to `ltr`
2063
+ * // freeze the first 3 columns from the left
2064
+ * // regardless of your HTML document's `dir` attribute
2065
+ * layoutDirection: 'ltr',
2066
+ * fixedColumnsStart: 3,
2067
+ * ```
2068
+ */
2069
+ fixedColumnsStart: 0,
2070
+
2028
2071
  /**
2029
2072
  * The `fixedRowsBottom` option sets the number of [frozen rows](@/guides/rows/row-freezing.md)
2030
2073
  * at the bottom of the grid.
2031
2074
  *
2032
2075
  * Read more:
2033
- * - [Row freezing &#8594;](@/guides/rows/row-freezing.md)
2076
+ * - [Row freezing](@/guides/rows/row-freezing.md)
2034
2077
  *
2035
2078
  * @memberof Options#
2036
2079
  * @type {number}
@@ -2049,7 +2092,7 @@ export default (function () {
2049
2092
  * The `fixedRowsTop` option sets the number of [frozen rows](@/guides/rows/row-freezing.md) at the top of the grid.
2050
2093
  *
2051
2094
  * Read more:
2052
- * - [Row freezing &#8594;](@/guides/rows/row-freezing.md)
2095
+ * - [Row freezing](@/guides/rows/row-freezing.md)
2053
2096
  *
2054
2097
  * @memberof Options#
2055
2098
  * @type {number}
@@ -2069,7 +2112,7 @@ export default (function () {
2069
2112
  *
2070
2113
  * The [`Formulas`](@/api/formulas.md) plugin uses the [HyperFormula](https://handsontable.github.io/hyperformula/) calculation engine.
2071
2114
  * To install [HyperFormula](https://handsontable.github.io/hyperformula/), read the following:
2072
- * - [Formula calculation: Initialization methods &#8594;](@/guides/formulas/formula-calculation.md#initialization-methods)
2115
+ * - [Formula calculation: Initialization methods](@/guides/formulas/formula-calculation.md#initialization-methods)
2073
2116
  *
2074
2117
  * You can set the `formulas` option to an object with the following properties:
2075
2118
  *
@@ -2080,8 +2123,8 @@ export default (function () {
2080
2123
  * | `sheetName` | A string |
2081
2124
  *
2082
2125
  * Read more:
2083
- * - [Plugins: `Formulas` &#8594;](@/api/formulas.md)
2084
- * - [Formula calculation &#8594;](@/guides/formulas/formula-calculation.md)
2126
+ * - [Plugins: `Formulas`](@/api/formulas.md)
2127
+ * - [Formula calculation](@/guides/formulas/formula-calculation.md)
2085
2128
  * - [HyperFormula documentation: Client-side installation](https://handsontable.github.io/hyperformula/guide/client-side-installation)
2086
2129
  * - [HyperFormula documentation: Configuration options](https://handsontable.github.io/hyperformula/api/interfaces/configparams.html)
2087
2130
  *
@@ -2183,7 +2226,7 @@ export default (function () {
2183
2226
  * | A function that returns a valid number or string | `height() { return 500; }` |
2184
2227
  *
2185
2228
  * Read more:
2186
- * - [Grid size &#8594;](@/guides/getting-started/grid-size.md)
2229
+ * - [Grid size](@/guides/getting-started/grid-size.md)
2187
2230
  *
2188
2231
  * @memberof Options#
2189
2232
  * @type {number|string|Function}
@@ -2226,8 +2269,8 @@ export default (function () {
2226
2269
  * | `indicators` | `true` \| `false` | `true`: display UI markers to indicate the presence of hidden columns<br>`false`: display UI markers |
2227
2270
  *
2228
2271
  * Read more:
2229
- * - [Plugins: `HiddenColumns` &#8594;](@/api/hiddenColumns.md)
2230
- * - [Column hiding &#8594;](@/guides/columns/column-hiding.md)
2272
+ * - [Plugins: `HiddenColumns`](@/api/hiddenColumns.md)
2273
+ * - [Column hiding](@/guides/columns/column-hiding.md)
2231
2274
  *
2232
2275
  * @memberof Options#
2233
2276
  * @type {boolean|object}
@@ -2272,8 +2315,8 @@ export default (function () {
2272
2315
  * | `indicators` | `true` \| `false` | `true`: display UI markers to indicate the presence of hidden rows<br>`false`: display UI markers |
2273
2316
  *
2274
2317
  * Read more:
2275
- * - [Plugins: `HiddenRows` &#8594;](@/api/hiddenRows.md)
2276
- * - [Row hiding &#8594;](@/guides/rows/row-hiding.md)
2318
+ * - [Plugins: `HiddenRows`](@/api/hiddenRows.md)
2319
+ * - [Row hiding](@/guides/rows/row-hiding.md)
2277
2320
  *
2278
2321
  * @memberof Options#
2279
2322
  * @type {boolean|object}
@@ -2303,7 +2346,7 @@ export default (function () {
2303
2346
  * that were marked as `invalid` by the [cell validator](@/guides/cell-functions/cell-validator.md).
2304
2347
  *
2305
2348
  * Read more:
2306
- * - [Cell validator &#8594;](@/guides/cell-functions/cell-validator.md)
2349
+ * - [Cell validator](@/guides/cell-functions/cell-validator.md)
2307
2350
  * - [`currentRowClassName`](#currentRowClassName)
2308
2351
  * - [`currentHeaderClassName`](#currentHeaderClassName)
2309
2352
  * - [`activeHeaderClassName`](#activeHeaderClassName)
@@ -2422,7 +2465,7 @@ export default (function () {
2422
2465
  * | `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) |
2423
2466
  *
2424
2467
  * Read more:
2425
- * - [Checkbox cell type: Checkbox labels &#8594;](@/guides/cell-types/checkbox-cell-type.md#checkbox-labels)
2468
+ * - [Checkbox cell type: Checkbox labels](@/guides/cell-types/checkbox-cell-type.md#checkbox-labels)
2426
2469
  *
2427
2470
  * @memberof Options#
2428
2471
  * @type {object}
@@ -2441,13 +2484,16 @@ export default (function () {
2441
2484
  label: void 0,
2442
2485
 
2443
2486
  /**
2444
- * The `language` option configures Handsontable's language.
2487
+ * The `language` option configures Handsontable's [language](@/guides/internationalization/language.md) settings.
2445
2488
  *
2446
2489
  * You can set the `language` option to one of the following:
2447
2490
  *
2448
2491
  * | Setting | Description |
2449
2492
  * | ------------------- | --------------------------- |
2450
2493
  * | `'en-US'` (default) | English - United States |
2494
+ * | `'ar-AR'` | Arabic - Global.<br><br>To properly render this language, set the [layout direction](@/guides/internationalization/layout-direction.md) to RTL. |
2495
+ * | `'cs-CZ'` | Czech - Czech Republic |
2496
+ * | `'de-CH'` | German - Switzerland |
2451
2497
  * | `'de-DE'` | German - Germany |
2452
2498
  * | `'es-MX'` | Spanish - Mexico |
2453
2499
  * | `'fr-FR'` | French - France |
@@ -2460,12 +2506,14 @@ export default (function () {
2460
2506
  * | `'pl-PL'` | Polish - Poland |
2461
2507
  * | `'pt-BR'` | Portuguese - Brazil |
2462
2508
  * | `'ru-RU'` | Russian - Russia |
2509
+ * | `'sr-SP'` | Serbian (Latin) - Serbia |
2463
2510
  * | `'zh-CN'` | Chinese - China |
2464
2511
  * | `'zh-TW'` | Chinese - Taiwan |
2465
2512
  *
2466
2513
  * Read more:
2467
- * - [Internationalization (i18n) &#8594;](@/guides/internationalization/internationalization-i18n.md)
2514
+ * - [Language](@/guides/internationalization/language.md)
2468
2515
  * - [`locale`](#locale)
2516
+ * - [`layoutDirection`](#layoutdirection)
2469
2517
  *
2470
2518
  * @memberof Options#
2471
2519
  * @type {string}
@@ -2480,6 +2528,52 @@ export default (function () {
2480
2528
  */
2481
2529
  language: 'en-US',
2482
2530
 
2531
+ /**
2532
+ * The `layoutDirection` option configures whether Handsontable renders from the left to the right, or from the right to the left.
2533
+ *
2534
+ * You can set the layout direction only at Handsontable's [initialization](@/guides/getting-started/installation.md#initialize-handsontable). Any change of the `layoutDirection` option after the initialization (e.g. using the [`updateSettings()`](@/api/core.md#updatesettings) method) is ignored.
2535
+ *
2536
+ * You can set the `layoutDirection` option only [for the entire grid](@/guides/getting-started/setting-options.md#setting-grid-options).
2537
+ * You can't set it for individual columns, rows, or cells.
2538
+ *
2539
+ * You can set the `layoutDirection` option to one of the following strings:
2540
+ *
2541
+ * | Setting | Description |
2542
+ * | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
2543
+ * | `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 |
2544
+ * | `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` |
2545
+ * | `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` |
2546
+ *
2547
+ * Read more:
2548
+ * - [Layout direction](@/guides/internationalization/layout-direction.md)
2549
+ * - [Language](@/guides/internationalization/language.md)
2550
+ * - [`language`](#language)
2551
+ * - [`locale`](#locale)
2552
+ * - [`fixedColumnsStart`](#fixedcolumnsstart)
2553
+ * - [`customBorders`](#customBorders)
2554
+ *
2555
+ * @memberof Options#
2556
+ * @type {string}
2557
+ * @default 'inherit'
2558
+ * @category Core
2559
+ *
2560
+ * @example
2561
+ * ```js
2562
+ * // inherit Handsontable's layout direction
2563
+ * // from the value of your HTML document's `dir` attribute
2564
+ * layoutDirection: 'inherit',
2565
+ *
2566
+ * // render Handsontable from the right to the left
2567
+ * // regardless of your HTML document's `dir`
2568
+ * layoutDirection: 'rtl',
2569
+ *
2570
+ * // render Handsontable from the left to the right
2571
+ * // regardless of your HTML document's `dir`
2572
+ * layoutDirection: 'ltr',
2573
+ * ```
2574
+ */
2575
+ layoutDirection: 'inherit',
2576
+
2483
2577
  /**
2484
2578
  * The `licenseKey` option sets your Handsontable license key.
2485
2579
  *
@@ -2491,7 +2585,7 @@ export default (function () {
2491
2585
  * | `'non-commercial-and-evaluation'` | For [non-commercial use](@/guides/technical-specification/software-license.md#non-commercial-use) |
2492
2586
  *
2493
2587
  * Read more:
2494
- * - [License key &#8594;](@/guides/getting-started/license-key.md)
2588
+ * - [License key](@/guides/getting-started/license-key.md)
2495
2589
  *
2496
2590
  * @memberof Options#
2497
2591
  * @type {string}
@@ -2510,14 +2604,16 @@ export default (function () {
2510
2604
  licenseKey: void 0,
2511
2605
 
2512
2606
  /**
2513
- * The `locale` option configures Handsontable's locale.
2607
+ * The `locale` option configures Handsontable's [locale](@/guides/internationalization/locale.md) settings.
2514
2608
  *
2515
2609
  * You can set the `locale` option to any valid and canonicalized Unicode BCP 47 locale tag,
2516
- * both for the entire grid, and for individual columns.
2610
+ * both for the [entire grid](@/guides/internationalization/locale.md#setting-the-grid-s-locale),
2611
+ * and for [individual columns](@/guides/internationalization/locale.md#setting-a-column-s-locale).
2517
2612
  *
2518
2613
  * Read more:
2519
- * - [Internationalization (i18n) &#8594;](@/guides/internationalization/internationalization-i18n.md)
2614
+ * - [Locale](@/guides/internationalization/locale.md)
2520
2615
  * - [`language`](#language)
2616
+ * - [`layoutDirection`](#layoutdirection)
2521
2617
  *
2522
2618
  * @memberof Options#
2523
2619
  * @type {string}
@@ -2555,7 +2651,7 @@ export default (function () {
2555
2651
  * | `false` | Disable the [`ManualColumnFreeze`](@/api/manualColumnFreeze.md) plugin |
2556
2652
  *
2557
2653
  * Read more:
2558
- * - [Column freezing &#8594;](@/guides/columns/column-freezing.md#user-triggered-freeze)
2654
+ * - [Column freezing](@/guides/columns/column-freezing.md#user-triggered-freeze)
2559
2655
  *
2560
2656
  * @memberof Options#
2561
2657
  * @type {boolean}
@@ -2582,7 +2678,7 @@ export default (function () {
2582
2678
  * | An array | - Enable the [`ManualColumnMove`](@/api/manualColumnMove.md) plugin<br>- Move individual columns at initialization |
2583
2679
  *
2584
2680
  * Read more:
2585
- * - [Column moving &#8594;](@/guides/columns/column-moving.md)
2681
+ * - [Column moving](@/guides/columns/column-moving.md)
2586
2682
  *
2587
2683
  * @memberof Options#
2588
2684
  * @type {boolean|number[]}
@@ -2616,7 +2712,7 @@ export default (function () {
2616
2712
  * | An array | - Enable the [`ManualColumnResize`](@/api/manualColumnResize.md) plugin<br>- Set initial widths of individual columns |
2617
2713
  *
2618
2714
  * Read more:
2619
- * - [Column width: Column stretching &#8594;](@/guides/columns/column-width.md#column-stretching)
2715
+ * - [Column width: Column stretching](@/guides/columns/column-width.md#column-stretching)
2620
2716
  *
2621
2717
  * @memberof Options#
2622
2718
  * @type {boolean|number[]}
@@ -2650,7 +2746,7 @@ export default (function () {
2650
2746
  * | An array | - Enable the [`ManualRowMove`](@/api/manualRowMove.md) plugin<br>- Move individual rows at initialization |
2651
2747
  *
2652
2748
  * Read more:
2653
- * - [Row moving &#8594;](@/guides/rows/row-moving.md)
2749
+ * - [Row moving](@/guides/rows/row-moving.md)
2654
2750
  *
2655
2751
  * @memberof Options#
2656
2752
  * @type {boolean|number[]}
@@ -2684,7 +2780,7 @@ export default (function () {
2684
2780
  * | An array | - Enable the [`ManualRowResize`](@/api/manualRowResize.md) plugin<br>- Set initial heights of individual rows |
2685
2781
  *
2686
2782
  * Read more:
2687
- * - [Row height: Adjust the row height manually &#8594;](@/guides/rows/row-height.md#adjust-the-row-height-manually)
2783
+ * - [Row height: Adjust the row height manually](@/guides/rows/row-height.md#adjust-the-row-height-manually)
2688
2784
  *
2689
2785
  * @memberof Options#
2690
2786
  * @type {boolean|number[]}
@@ -2770,7 +2866,7 @@ export default (function () {
2770
2866
  * | `colspan` | The height (as a number of columns ) of the merged section |
2771
2867
  *
2772
2868
  * Read more:
2773
- * - [Merge cells &#8594;](@/guides/cell-features/merge-cells.md)
2869
+ * - [Merge cells](@/guides/cell-features/merge-cells.md)
2774
2870
  *
2775
2871
  * @memberof Options#
2776
2872
  * @type {boolean|object[]}
@@ -2780,7 +2876,7 @@ export default (function () {
2780
2876
  * @example
2781
2877
  * ```js
2782
2878
  * // enable the `MergeCells` plugin
2783
- * margeCells: true,
2879
+ * mergeCells: true,
2784
2880
  *
2785
2881
  * // enable the `MergeCells` plugin
2786
2882
  * // and merge specific cells at initialization
@@ -2929,7 +3025,7 @@ export default (function () {
2929
3025
  * | `sortOrder` | `'asc'` \| `'desc'` | The sorting order:<br>`'asc'`: ascending<br>`'desc'`: descending |
2930
3026
  *
2931
3027
  * Read more:
2932
- * - [Row sorting &#8594;](@/guides/rows/row-sorting.md)
3028
+ * - [Row sorting](@/guides/rows/row-sorting.md)
2933
3029
  * - [`columnSorting`](#columnSorting)
2934
3030
  *
2935
3031
  * @memberof Options#
@@ -2989,8 +3085,8 @@ export default (function () {
2989
3085
  * | An object | Properties:<br>`label` (string): the header's label<br>`colspan` (integer): the column width |
2990
3086
  *
2991
3087
  * Read more:
2992
- * - [Plugins: `NestedHeaders` &#8594;](@/api/nestedHeaders.md)
2993
- * - [Column groups: Nested headers &#8594;](@/guides/columns/column-groups.md#nested-headers)
3088
+ * - [Plugins: `NestedHeaders`](@/api/nestedHeaders.md)
3089
+ * - [Column groups: Nested headers](@/guides/columns/column-groups.md#nested-headers)
2994
3090
  *
2995
3091
  * @memberof Options#
2996
3092
  * @type {Array[]}
@@ -3020,7 +3116,7 @@ export default (function () {
3020
3116
  * | `true` | Enable the [`NestedRows`](@/api/nestedRows.md) plugin |
3021
3117
  *
3022
3118
  * Read more:
3023
- * - [Plugins: `NestedRows` &#8594;](@/api/nestedRows.md)
3119
+ * - [Plugins: `NestedRows`](@/api/nestedRows.md)
3024
3120
  *
3025
3121
  * @example
3026
3122
  * ```js
@@ -3084,8 +3180,8 @@ export default (function () {
3084
3180
  * In the source data, numeric data is stored as JavaScript numbers.
3085
3181
  *
3086
3182
  * Read more:
3087
- * - [Numeric cell type &#8594;](@/guides/cell-types/numeric-cell-type.md)
3088
- * - [Third-party licenses &#8594;](@/guides/technical-specification/third-party-licenses.md)
3183
+ * - [Numeric cell type](@/guides/cell-types/numeric-cell-type.md)
3184
+ * - [Third-party licenses](@/guides/technical-specification/third-party-licenses.md)
3089
3185
  *
3090
3186
  * @memberof Options#
3091
3187
  * @since 0.35.0
@@ -3179,8 +3275,8 @@ export default (function () {
3179
3275
  * | `true` | Enable the [`PersistentState`](@/api/persistentState.md) plugin |
3180
3276
  *
3181
3277
  * Read more:
3182
- * - [Saving data: Saving data locally &#8594;](@/guides/getting-started/saving-data.md#saving-data-locally)
3183
- * - [Plugins: `PersistentState` &#8594;](@/api/persistentState.md)
3278
+ * - [Saving data: Saving data locally](@/guides/getting-started/saving-data.md#saving-data-locally)
3279
+ * - [Plugins: `PersistentState`](@/api/persistentState.md)
3184
3280
  *
3185
3281
  * @memberof Options#
3186
3282
  * @type {boolean}
@@ -3238,7 +3334,7 @@ export default (function () {
3238
3334
  * that contain [`placeholder`](#placeholder) text.
3239
3335
  *
3240
3336
  * Read more:
3241
- * - [Cell validator &#8594;](@/guides/cell-functions/cell-validator.md)
3337
+ * - [Cell validator](@/guides/cell-functions/cell-validator.md)
3242
3338
  * - [`placeholder`](#placeholder)
3243
3339
  * - [`currentRowClassName`](#currentRowClassName)
3244
3340
  * - [`currentHeaderClassName`](#currentHeaderClassName)
@@ -3293,7 +3389,7 @@ export default (function () {
3293
3389
  * The `preventWheel` option configures preventing the `wheel` event's default action
3294
3390
  * on overlays.
3295
3391
  *
3296
- * You can set the `preventOverflow` option to one of the following:
3392
+ * You can set the `preventWheel` option to one of the following:
3297
3393
  *
3298
3394
  * | Setting | Description |
3299
3395
  * | ----------------- | ------------------------------------------------ |
@@ -3326,7 +3422,7 @@ export default (function () {
3326
3422
  * | `true` | - Set as read-only<br>- Add the [`readOnlyCellClassName`](#readOnlyCellClassName) CSS class name (by default: `htDimmed`) |
3327
3423
  *
3328
3424
  * Read more:
3329
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
3425
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
3330
3426
  *
3331
3427
  * @memberof Options#
3332
3428
  * @type {boolean}
@@ -3381,7 +3477,7 @@ export default (function () {
3381
3477
  * | `true` | Disable [row virtualization](@/guides/rows/row-virtualization.md)<br>(render all rows of the grid) |
3382
3478
  *
3383
3479
  * Read more:
3384
- * - [Row virtualization &#8594;](@/guides/rows/row-virtualization.md)
3480
+ * - [Row virtualization](@/guides/rows/row-virtualization.md)
3385
3481
  *
3386
3482
  * @memberof Options#
3387
3483
  * @type {boolean}
@@ -3422,9 +3518,9 @@ export default (function () {
3422
3518
  * options all at once, use the [`type`](#type) option.
3423
3519
  *
3424
3520
  * Read more:
3425
- * - [Cell renderer &#8594;](@/guides/cell-functions/cell-renderer.md)
3426
- * - [Cell type &#8594;](@/guides/cell-types/cell-type.md)
3427
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
3521
+ * - [Cell renderer](@/guides/cell-functions/cell-renderer.md)
3522
+ * - [Cell type](@/guides/cell-types/cell-type.md)
3523
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
3428
3524
  * - [`type`](#type)
3429
3525
  *
3430
3526
  * @memberof Options#
@@ -3471,7 +3567,7 @@ export default (function () {
3471
3567
  * | A function | Define your own row headers, using a function |
3472
3568
  *
3473
3569
  * Read more:
3474
- * - [Row header &#8594;](@/guides/rows/row-header.md)
3570
+ * - [Row header](@/guides/rows/row-header.md)
3475
3571
  *
3476
3572
  * @memberof Options#
3477
3573
  * @type {boolean|string[]|Function}
@@ -3539,7 +3635,7 @@ export default (function () {
3539
3635
  * via the {@link ManualRowResize} and {@link AutoRowSize} plugins (if they are enabled).
3540
3636
  *
3541
3637
  * Read more:
3542
- * - [Row height &#8594;](@/guides/rows/row-height.md)
3638
+ * - [Row height](@/guides/rows/row-height.md)
3543
3639
  *
3544
3640
  * @memberof Options#
3545
3641
  * @type {number|number[]|string|string[]|Array<undefined>|Function}
@@ -3589,9 +3685,9 @@ export default (function () {
3589
3685
  * | `callback` | A function | Add a [custom callback function](@/guides/accessories-and-menus/searching-values.md#custom-callback) |
3590
3686
  *
3591
3687
  * Read more:
3592
- * - [Searching values &#8594;](@/guides/accessories-and-menus/searching-values.md)
3593
- * - [Searching values: Custom query method &#8594;](@/guides/accessories-and-menus/searching-values.md#custom-query-method)
3594
- * - [Searching values: Custom callback &#8594;](@/guides/accessories-and-menus/searching-values.md#custom-callback)
3688
+ * - [Searching values](@/guides/accessories-and-menus/searching-values.md)
3689
+ * - [Searching values: Custom query method](@/guides/accessories-and-menus/searching-values.md#custom-query-method)
3690
+ * - [Searching values: Custom callback](@/guides/accessories-and-menus/searching-values.md#custom-callback)
3595
3691
  *
3596
3692
  * @memberof Options#
3597
3693
  * @type {boolean|object}
@@ -3633,7 +3729,7 @@ export default (function () {
3633
3729
  * | `'multiple'` | Allow the user to select multiple ranges of cells at a time. |
3634
3730
  *
3635
3731
  * Read more:
3636
- * - [Selection: Selecting ranges &#8594;](@/guides/cell-features/selection.md#selecting-ranges)
3732
+ * - [Selection: Selecting ranges](@/guides/cell-features/selection.md#selecting-ranges)
3637
3733
  *
3638
3734
  * @memberof Options#
3639
3735
  * @type {string}
@@ -3666,7 +3762,7 @@ export default (function () {
3666
3762
  * | A function | A function that returns an object with key-string pairs |
3667
3763
  *
3668
3764
  * Read more:
3669
- * - [Select cell type &#8594;](@/guides/cell-types/select-cell-type.md)
3765
+ * - [Select cell type](@/guides/cell-types/select-cell-type.md)
3670
3766
  *
3671
3767
  * @memberof Options#
3672
3768
  * @type {string[]|object|Function}
@@ -3726,7 +3822,7 @@ export default (function () {
3726
3822
  * | `true` | - Disable pasting data into this column<br>- On pasting, paste data into the next column to the right |
3727
3823
  *
3728
3824
  * Read more:
3729
- * - [Configuration options: Setting column options &#8594;](@/guides/getting-started/setting-options.md#setting-column-options)
3825
+ * - [Configuration options: Setting column options](@/guides/getting-started/setting-options.md#setting-column-options)
3730
3826
  *
3731
3827
  * @memberof Options#
3732
3828
  * @type {boolean}
@@ -3760,7 +3856,7 @@ export default (function () {
3760
3856
  * | `true` | - Disable pasting data into this row<br>- On pasting, paste data into the row below |
3761
3857
  *
3762
3858
  * Read more:
3763
- * - [Configuration options: Setting row options &#8594;](@/guides/getting-started/setting-options.md#setting-row-options)
3859
+ * - [Configuration options: Setting row options](@/guides/getting-started/setting-options.md#setting-row-options)
3764
3860
  *
3765
3861
  * @memberof Options#
3766
3862
  * @type {boolean}
@@ -3796,7 +3892,7 @@ export default (function () {
3796
3892
  *
3797
3893
  * Read more:
3798
3894
  * - [`source`](#source)
3799
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
3895
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
3800
3896
  *
3801
3897
  * @memberof Options#
3802
3898
  * @type {boolean}
@@ -3827,8 +3923,8 @@ export default (function () {
3827
3923
  * - A function
3828
3924
  *
3829
3925
  * Read more:
3830
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
3831
- * - [Dropdown cell type &#8594;](@/guides/cell-types/dropdown-cell-type.md)
3926
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
3927
+ * - [Dropdown cell type](@/guides/cell-types/dropdown-cell-type.md)
3832
3928
  * - [`strict`](#strict)
3833
3929
  * - [`allowHtml`](#allowHtml)
3834
3930
  * - [`filter`](#filter)
@@ -3916,7 +4012,7 @@ export default (function () {
3916
4012
  * | `'all'` | Fit the grid to the container, by stretching all columns evenly |
3917
4013
  *
3918
4014
  * Read more:
3919
- * - [Column width: Column stretching &#8594;](@/guides/columns/column-width.md#column-stretching)
4015
+ * - [Column width: Column stretching](@/guides/columns/column-width.md#column-stretching)
3920
4016
  *
3921
4017
  * @memberof Options#
3922
4018
  * @type {string}
@@ -3933,18 +4029,17 @@ export default (function () {
3933
4029
  stretchH: 'none',
3934
4030
 
3935
4031
  /**
3936
- * The `strict` option configures [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md)
3937
- * cells' strict/lazy mode.
4032
+ * The `strict` option configures the behavior of [`autocomplete`](@/guides/cell-types/autocomplete-cell-type.md) cells.
3938
4033
  *
3939
4034
  * You can set the `strict` option to one of the following:
3940
4035
  *
3941
- * | Setting | Mode | Description |
3942
- * | ------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
3943
- * | `true` | [Strict mode](@/guides/cell-types/autocomplete-cell-type.md#autocomplete-strict-mode) | The value entered must match an autocomplete option (case-sensitive) |
3944
- * | `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 |
4036
+ * | Setting | Mode | Description |
4037
+ * | ------- | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
4038
+ * | `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 |
4039
+ * | `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 |
3945
4040
  *
3946
4041
  * Read more:
3947
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
4042
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
3948
4043
  * - [`source`](#source)
3949
4044
  *
3950
4045
  * @memberof Options#
@@ -4010,15 +4105,15 @@ export default (function () {
4010
4105
  tableClassName: void 0,
4011
4106
 
4012
4107
  /**
4013
- * The `tabMoves` option configures the action of the <kbd>Tab</kbd> key.
4108
+ * The `tabMoves` option configures the action of the <kbd>**Tab**</kbd> key.
4014
4109
  *
4015
4110
  * You can set the `tabMoves` option to an object with the following properties
4016
4111
  * (or to a function that returns such an object):
4017
4112
  *
4018
4113
  * | Property | Type | Description |
4019
4114
  * | -------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
4020
- * | `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 |
4021
- * | `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 |
4115
+ * | `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 |
4116
+ * | `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 |
4022
4117
  *
4023
4118
  * @memberof Options#
4024
4119
  * @type {object|Function}
@@ -4051,7 +4146,7 @@ export default (function () {
4051
4146
  * You can set the `title` option to a string.
4052
4147
  *
4053
4148
  * Read more:
4054
- * - [Column header &#8594;](@/guides/columns/column-header.md)
4149
+ * - [Column header](@/guides/columns/column-header.md)
4055
4150
  * - [`columns`](#columns)
4056
4151
  *
4057
4152
  * @memberof Options#
@@ -4089,8 +4184,8 @@ export default (function () {
4089
4184
  * | `false` | Scale the dropdown/autocomplete list's width to the list's content |
4090
4185
  *
4091
4186
  * Read more:
4092
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
4093
- * - [Dropdown cell type &#8594;](@/guides/cell-types/dropdown-cell-type.md)
4187
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
4188
+ * - [Dropdown cell type](@/guides/cell-types/dropdown-cell-type.md)
4094
4189
  *
4095
4190
  * @memberof Options#
4096
4191
  * @type {boolean}
@@ -4130,8 +4225,8 @@ export default (function () {
4130
4225
  * | An array | - Enable the [`TrimRows`](@/api/trimRows.md) plugin<br>- Trim selected rows at initialization |
4131
4226
  *
4132
4227
  * Read more:
4133
- * - [Plugins: `TrimRows` &#8594;](@/api/trimRows.md)
4134
- * - [Row trimming &#8594;](@/guides/rows/row-trimming.md)
4228
+ * - [Plugins: `TrimRows`](@/api/trimRows.md)
4229
+ * - [Row trimming](@/guides/rows/row-trimming.md)
4135
4230
  *
4136
4231
  * @memberof Options#
4137
4232
  * @type {boolean|number[]}
@@ -4199,11 +4294,11 @@ export default (function () {
4199
4294
  * | [`'time`'](@/guides/cell-types/time-cell-type.md) | Renderer: `TimeRenderer`<br>Editor: `TimeEditor`<br>Validator: `TimeValidator` |
4200
4295
  *
4201
4296
  * Read more:
4202
- * - [Cell type &#8594;](@/guides/cell-types/cell-type.md)
4203
- * - [Cell renderer &#8594;](@/guides/cell-functions/cell-renderer.md)
4204
- * - [Cell editor &#8594;](@/guides/cell-functions/cell-editor.md)
4205
- * - [Cell validator &#8594;](@/guides/cell-functions/cell-validator.md)
4206
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
4297
+ * - [Cell type](@/guides/cell-types/cell-type.md)
4298
+ * - [Cell renderer](@/guides/cell-functions/cell-renderer.md)
4299
+ * - [Cell editor](@/guides/cell-functions/cell-editor.md)
4300
+ * - [Cell validator](@/guides/cell-functions/cell-validator.md)
4301
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
4207
4302
  * - [`renderer`](#renderer)
4208
4303
  * - [`editor`](#editor)
4209
4304
  * - [`validator`](#validator)
@@ -4245,8 +4340,8 @@ export default (function () {
4245
4340
  * | 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 |
4246
4341
  *
4247
4342
  * Read more:
4248
- * - [Checkbox cell type: Checkbox template &#8594;](@/guides/cell-types/checkbox-cell-type.md#checkbox-template)
4249
- * - [`getDataAtCell()` &#8594;](@/api/core.md#getDataAtCell)
4343
+ * - [Checkbox cell type: Checkbox template](@/guides/cell-types/checkbox-cell-type.md#checkbox-template)
4344
+ * - [`getDataAtCell()`](@/api/core.md#getDataAtCell)
4250
4345
  * - [`checkedTemplate`](#checkedTemplate)
4251
4346
  *
4252
4347
  * @memberof Options#
@@ -4292,7 +4387,7 @@ export default (function () {
4292
4387
  * set the `undo` option to `false`.
4293
4388
  *
4294
4389
  * Read more:
4295
- * - [Undo and redo &#8594;](@/guides/accessories-and-menus/undo-redo.md)
4390
+ * - [Undo and redo](@/guides/accessories-and-menus/undo-redo.md)
4296
4391
  *
4297
4392
  * @memberof Options#
4298
4393
  * @type {boolean}
@@ -4335,9 +4430,9 @@ export default (function () {
4335
4430
  * options all at once, use the [`type`](#type) option.
4336
4431
  *
4337
4432
  * Read more:
4338
- * - [Cell validator &#8594;](@/guides/cell-functions/cell-validator.md)
4339
- * - [Cell type &#8594;](@/guides/cell-types/cell-type.md)
4340
- * - [Configuration options: Cascading configuration &#8594;](@/guides/getting-started/setting-options.md#cascading-configuration)
4433
+ * - [Cell validator](@/guides/cell-functions/cell-validator.md)
4434
+ * - [Cell type](@/guides/cell-types/cell-type.md)
4435
+ * - [Configuration options: Cascading configuration](@/guides/getting-started/setting-options.md#cascading-configuration)
4341
4436
  * - [`type`](#type)
4342
4437
  *
4343
4438
  * @memberof Options#
@@ -4380,7 +4475,7 @@ export default (function () {
4380
4475
  * | A number | Set the offset manually |
4381
4476
  *
4382
4477
  * Read more:
4383
- * - [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)
4478
+ * - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
4384
4479
  *
4385
4480
  * @memberof Options#
4386
4481
  * @type {number|string}
@@ -4408,8 +4503,8 @@ export default (function () {
4408
4503
  * | A number | Set the offset manually |
4409
4504
  *
4410
4505
  * Read more:
4411
- * - [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)
4412
- * - [Column virtualization &#8594;](@/guides/columns/column-virtualization.md)
4506
+ * - [Performance: Define the number of pre-rendered rows and columns](@/guides/optimization/performance.md#define-the-number-of-pre-rendered-rows-and-columns)
4507
+ * - [Column virtualization](@/guides/columns/column-virtualization.md)
4413
4508
  *
4414
4509
  * @memberof Options#
4415
4510
  * @type {number|string}
@@ -4431,8 +4526,8 @@ export default (function () {
4431
4526
  * When the number of list options exceeds the `visibleRows` number, a scrollbar appears.
4432
4527
  *
4433
4528
  * Read more:
4434
- * - [Autocomplete cell type &#8594;](@/guides/cell-types/autocomplete-cell-type.md)
4435
- * - [Dropdown cell type &#8594;](@/guides/cell-types/dropdown-cell-type.md)
4529
+ * - [Autocomplete cell type](@/guides/cell-types/autocomplete-cell-type.md)
4530
+ * - [Dropdown cell type](@/guides/cell-types/dropdown-cell-type.md)
4436
4531
  *
4437
4532
  * @memberof Options#
4438
4533
  * @type {number}
@@ -4471,7 +4566,7 @@ export default (function () {
4471
4566
  * | A function that returns a valid number or string | `width() { return 500; }` |
4472
4567
  *
4473
4568
  * Read more:
4474
- * - [Grid size &#8594;](@/guides/getting-started/grid-size.md)
4569
+ * - [Grid size](@/guides/getting-started/grid-size.md)
4475
4570
  *
4476
4571
  * @memberof Options#
4477
4572
  * @type {number|string|Function}