handsontable 11.0.0 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (633) hide show
  1. package/3rdparty/walkontable/src/border.js +121 -99
  2. package/3rdparty/walkontable/src/border.mjs +122 -96
  3. package/3rdparty/walkontable/src/calculator/viewportColumns.js +1 -1
  4. package/3rdparty/walkontable/src/calculator/viewportColumns.mjs +1 -1
  5. package/3rdparty/walkontable/src/calculator/viewportRows.js +1 -1
  6. package/3rdparty/walkontable/src/calculator/viewportRows.mjs +1 -1
  7. package/3rdparty/walkontable/src/cell/coords.js +60 -18
  8. package/3rdparty/walkontable/src/cell/coords.mjs +56 -18
  9. package/3rdparty/walkontable/src/cell/range.d.ts +10 -2
  10. package/3rdparty/walkontable/src/cell/range.js +279 -100
  11. package/3rdparty/walkontable/src/cell/range.mjs +274 -100
  12. package/3rdparty/walkontable/src/core/_base.js +452 -0
  13. package/3rdparty/walkontable/src/core/_base.mjs +440 -0
  14. package/3rdparty/walkontable/src/core/clone.js +97 -0
  15. package/3rdparty/walkontable/src/core/clone.mjs +80 -0
  16. package/3rdparty/walkontable/src/core/core.js +183 -0
  17. package/3rdparty/walkontable/src/core/core.mjs +160 -0
  18. package/3rdparty/walkontable/src/event.js +100 -67
  19. package/3rdparty/walkontable/src/event.mjs +100 -64
  20. package/3rdparty/walkontable/src/facade/core.js +251 -0
  21. package/3rdparty/walkontable/src/facade/core.mjs +243 -0
  22. package/3rdparty/walkontable/src/filter/column.js +1 -1
  23. package/3rdparty/walkontable/src/filter/column.mjs +1 -1
  24. package/3rdparty/walkontable/src/filter/row.js +1 -1
  25. package/3rdparty/walkontable/src/filter/row.mjs +1 -1
  26. package/3rdparty/walkontable/src/index.js +3 -47
  27. package/3rdparty/walkontable/src/index.mjs +3 -13
  28. package/3rdparty/walkontable/src/overlay/_base.js +125 -58
  29. package/3rdparty/walkontable/src/overlay/_base.mjs +126 -59
  30. package/3rdparty/walkontable/src/overlay/bottom.js +86 -76
  31. package/3rdparty/walkontable/src/overlay/bottom.mjs +86 -76
  32. package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.js → bottomInlineStartCorner.js} +35 -58
  33. package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +34 -57
  34. package/3rdparty/walkontable/src/overlay/constants.js +25 -9
  35. package/3rdparty/walkontable/src/overlay/constants.mjs +14 -4
  36. package/3rdparty/walkontable/src/overlay/index.js +10 -19
  37. package/3rdparty/walkontable/src/overlay/index.mjs +4 -5
  38. package/3rdparty/walkontable/src/overlay/{left.js → inlineStart.js} +102 -80
  39. package/3rdparty/walkontable/src/overlay/{left.mjs → inlineStart.mjs} +101 -79
  40. package/3rdparty/walkontable/src/overlay/top.js +84 -79
  41. package/3rdparty/walkontable/src/overlay/top.mjs +84 -79
  42. package/3rdparty/walkontable/src/overlay/{topLeftCorner.js → topInlineStartCorner.js} +56 -57
  43. package/3rdparty/walkontable/src/overlay/{topLeftCorner.mjs → topInlineStartCorner.mjs} +51 -52
  44. package/3rdparty/walkontable/src/overlays.js +226 -157
  45. package/3rdparty/walkontable/src/overlays.mjs +226 -156
  46. package/3rdparty/walkontable/src/renderer/_base.js +1 -1
  47. package/3rdparty/walkontable/src/renderer/_base.mjs +1 -1
  48. package/3rdparty/walkontable/src/renderer/cells.js +5 -4
  49. package/3rdparty/walkontable/src/renderer/cells.mjs +5 -4
  50. package/3rdparty/walkontable/src/renderer/colGroup.js +3 -3
  51. package/3rdparty/walkontable/src/renderer/colGroup.mjs +3 -3
  52. package/3rdparty/walkontable/src/renderer/columnHeaders.js +3 -3
  53. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +3 -3
  54. package/3rdparty/walkontable/src/renderer/index.js +1 -1
  55. package/3rdparty/walkontable/src/renderer/index.mjs +1 -1
  56. package/3rdparty/walkontable/src/renderer/rowHeaders.js +3 -3
  57. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +3 -3
  58. package/3rdparty/walkontable/src/renderer/rows.js +3 -3
  59. package/3rdparty/walkontable/src/renderer/rows.mjs +3 -3
  60. package/3rdparty/walkontable/src/renderer/table.js +1 -1
  61. package/3rdparty/walkontable/src/renderer/table.mjs +1 -1
  62. package/3rdparty/walkontable/src/scroll.js +61 -88
  63. package/3rdparty/walkontable/src/scroll.mjs +61 -88
  64. package/3rdparty/walkontable/src/selection.js +12 -16
  65. package/3rdparty/walkontable/src/selection.mjs +12 -14
  66. package/3rdparty/walkontable/src/settings.js +236 -127
  67. package/3rdparty/walkontable/src/settings.mjs +236 -126
  68. package/3rdparty/walkontable/src/table/bottom.js +21 -6
  69. package/3rdparty/walkontable/src/table/bottom.mjs +20 -6
  70. package/3rdparty/walkontable/src/table/{bottomLeftCorner.js → bottomInlineStartCorner.js} +31 -15
  71. package/3rdparty/walkontable/src/table/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +30 -15
  72. package/3rdparty/walkontable/src/table/{left.js → inlineStart.js} +27 -15
  73. package/3rdparty/walkontable/src/table/{left.mjs → inlineStart.mjs} +26 -15
  74. package/3rdparty/walkontable/src/table/master.js +23 -13
  75. package/3rdparty/walkontable/src/table/master.mjs +23 -13
  76. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +12 -6
  77. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +12 -6
  78. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +12 -6
  79. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +12 -6
  80. package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.js → stickyColumnsStart.js} +13 -7
  81. package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.mjs → stickyColumnsStart.mjs} +13 -7
  82. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +11 -5
  83. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +11 -5
  84. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -3
  85. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -3
  86. package/3rdparty/walkontable/src/table/top.js +21 -6
  87. package/3rdparty/walkontable/src/table/top.mjs +20 -6
  88. package/3rdparty/walkontable/src/table/{topLeftCorner.js → topInlineStartCorner.js} +31 -15
  89. package/3rdparty/walkontable/src/table/{topLeftCorner.mjs → topInlineStartCorner.mjs} +30 -15
  90. package/3rdparty/walkontable/src/table.js +236 -141
  91. package/3rdparty/walkontable/src/table.mjs +232 -135
  92. package/3rdparty/walkontable/src/types.js +103 -0
  93. package/3rdparty/walkontable/src/types.mjs +102 -0
  94. package/3rdparty/walkontable/src/utils/column.js +23 -34
  95. package/3rdparty/walkontable/src/utils/column.mjs +23 -31
  96. package/3rdparty/walkontable/src/utils/nodesPool.js +1 -1
  97. package/3rdparty/walkontable/src/utils/nodesPool.mjs +1 -1
  98. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +3 -3
  99. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +3 -3
  100. package/3rdparty/walkontable/src/utils/orderView/view.js +1 -1
  101. package/3rdparty/walkontable/src/utils/orderView/view.mjs +1 -1
  102. package/3rdparty/walkontable/src/utils/orderView/viewSize.js +1 -1
  103. package/3rdparty/walkontable/src/utils/orderView/viewSize.mjs +1 -1
  104. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.js +1 -1
  105. package/3rdparty/walkontable/src/utils/orderView/viewSizeSet.mjs +1 -1
  106. package/3rdparty/walkontable/src/utils/row.js +10 -5
  107. package/3rdparty/walkontable/src/utils/row.mjs +10 -5
  108. package/3rdparty/walkontable/src/viewport.js +78 -81
  109. package/3rdparty/walkontable/src/viewport.mjs +78 -78
  110. package/CHANGELOG.md +94 -17
  111. package/README.md +10 -7
  112. package/base.js +2 -2
  113. package/base.mjs +2 -2
  114. package/cellTypes/timeType/timeType.d.ts +6 -6
  115. package/cellTypes/timeType/timeType.js +4 -5
  116. package/cellTypes/timeType/timeType.mjs +4 -5
  117. package/core.d.ts +9 -3
  118. package/core.js +590 -157
  119. package/core.mjs +599 -169
  120. package/dataMap/dataMap.js +2 -2
  121. package/dataMap/dataMap.mjs +2 -2
  122. package/dataMap/index.js +8 -0
  123. package/dataMap/index.mjs +3 -1
  124. package/dataMap/metaManager/index.js +3 -3
  125. package/dataMap/metaManager/index.mjs +3 -3
  126. package/dataMap/metaManager/lazyFactoryMap.js +1 -1
  127. package/dataMap/metaManager/lazyFactoryMap.mjs +1 -1
  128. package/dataMap/metaManager/metaLayers/cellMeta.js +1 -1
  129. package/dataMap/metaManager/metaLayers/cellMeta.mjs +1 -1
  130. package/dataMap/metaManager/metaLayers/columnMeta.js +1 -1
  131. package/dataMap/metaManager/metaLayers/columnMeta.mjs +1 -1
  132. package/dataMap/metaManager/metaLayers/globalMeta.js +7 -3
  133. package/dataMap/metaManager/metaLayers/globalMeta.mjs +7 -3
  134. package/dataMap/metaManager/metaLayers/tableMeta.js +3 -3
  135. package/dataMap/metaManager/metaLayers/tableMeta.mjs +3 -3
  136. package/dataMap/metaManager/metaSchema.js +2931 -2676
  137. package/dataMap/metaManager/metaSchema.mjs +2931 -2676
  138. package/dataMap/metaManager/mods/dynamicCellMeta.js +1 -1
  139. package/dataMap/metaManager/mods/dynamicCellMeta.mjs +1 -1
  140. package/dataMap/metaManager/mods/extendMetaProperties.js +126 -0
  141. package/dataMap/metaManager/mods/extendMetaProperties.mjs +113 -0
  142. package/dataMap/replaceData.js +140 -0
  143. package/dataMap/replaceData.mjs +124 -0
  144. package/dataSource.js +1 -1
  145. package/dataSource.mjs +1 -1
  146. package/dist/README.md +2 -2
  147. package/dist/handsontable.css +424 -166
  148. package/dist/handsontable.full.css +559 -298
  149. package/dist/handsontable.full.js +47163 -41289
  150. package/dist/handsontable.full.min.css +8 -13
  151. package/dist/handsontable.full.min.js +143 -142
  152. package/dist/handsontable.js +28270 -24105
  153. package/dist/handsontable.min.css +8 -11
  154. package/dist/handsontable.min.js +3 -3
  155. package/dist/languages/all.js +69 -38
  156. package/dist/languages/all.min.js +1 -1
  157. package/dist/languages/ar-AR.js +167 -0
  158. package/dist/languages/ar-AR.min.js +1 -0
  159. package/dist/languages/de-CH.js +32 -33
  160. package/dist/languages/de-CH.min.js +1 -1
  161. package/dist/languages/de-DE.js +5 -6
  162. package/dist/languages/de-DE.min.js +1 -1
  163. package/dist/languages/en-US.js +5 -6
  164. package/dist/languages/en-US.min.js +1 -1
  165. package/dist/languages/es-MX.js +5 -6
  166. package/dist/languages/es-MX.min.js +1 -1
  167. package/dist/languages/fr-FR.js +5 -6
  168. package/dist/languages/fr-FR.min.js +1 -1
  169. package/dist/languages/it-IT.js +5 -6
  170. package/dist/languages/it-IT.min.js +1 -1
  171. package/dist/languages/ja-JP.js +5 -6
  172. package/dist/languages/ja-JP.min.js +1 -1
  173. package/dist/languages/ko-KR.js +37 -42
  174. package/dist/languages/ko-KR.min.js +1 -1
  175. package/dist/languages/lv-LV.js +4 -6
  176. package/dist/languages/lv-LV.min.js +1 -1
  177. package/dist/languages/nb-NO.js +4 -6
  178. package/dist/languages/nb-NO.min.js +1 -1
  179. package/dist/languages/nl-NL.js +4 -6
  180. package/dist/languages/nl-NL.min.js +1 -1
  181. package/dist/languages/pl-PL.js +4 -6
  182. package/dist/languages/pl-PL.min.js +1 -1
  183. package/dist/languages/pt-BR.js +4 -6
  184. package/dist/languages/pt-BR.min.js +1 -1
  185. package/dist/languages/ru-RU.js +4 -6
  186. package/dist/languages/ru-RU.min.js +1 -1
  187. package/dist/languages/zh-CN.js +4 -6
  188. package/dist/languages/zh-CN.min.js +1 -1
  189. package/dist/languages/zh-TW.js +25 -27
  190. package/dist/languages/zh-TW.min.js +1 -1
  191. package/editorManager.js +121 -268
  192. package/editorManager.mjs +129 -279
  193. package/editors/autocompleteEditor/autocompleteEditor.js +19 -17
  194. package/editors/autocompleteEditor/autocompleteEditor.mjs +19 -17
  195. package/editors/baseEditor/baseEditor.js +207 -36
  196. package/editors/baseEditor/baseEditor.mjs +202 -34
  197. package/editors/checkboxEditor/checkboxEditor.js +3 -3
  198. package/editors/checkboxEditor/checkboxEditor.mjs +3 -3
  199. package/editors/dateEditor/dateEditor.js +22 -9
  200. package/editors/dateEditor/dateEditor.mjs +23 -10
  201. package/editors/dropdownEditor/dropdownEditor.js +4 -4
  202. package/editors/dropdownEditor/dropdownEditor.mjs +4 -4
  203. package/editors/handsontableEditor/handsontableEditor.js +107 -56
  204. package/editors/handsontableEditor/handsontableEditor.mjs +107 -56
  205. package/editors/index.d.ts +3 -0
  206. package/editors/index.js +6 -0
  207. package/editors/index.mjs +3 -1
  208. package/editors/numericEditor/numericEditor.js +3 -3
  209. package/editors/numericEditor/numericEditor.mjs +3 -3
  210. package/editors/passwordEditor/passwordEditor.js +4 -4
  211. package/editors/passwordEditor/passwordEditor.mjs +4 -4
  212. package/editors/selectEditor/selectEditor.js +66 -111
  213. package/editors/selectEditor/selectEditor.mjs +67 -110
  214. package/editors/textEditor/caretPositioner.js +49 -0
  215. package/editors/textEditor/caretPositioner.mjs +42 -0
  216. package/editors/textEditor/textEditor.js +206 -182
  217. package/editors/textEditor/textEditor.mjs +200 -180
  218. package/editors/timeEditor/index.d.ts +1 -0
  219. package/editors/timeEditor/index.js +9 -0
  220. package/editors/timeEditor/index.mjs +1 -0
  221. package/editors/timeEditor/timeEditor.d.ts +7 -0
  222. package/editors/timeEditor/timeEditor.js +105 -0
  223. package/editors/timeEditor/timeEditor.mjs +84 -0
  224. package/eventManager.js +11 -5
  225. package/eventManager.mjs +11 -5
  226. package/helpers/data.js +1 -1
  227. package/helpers/data.mjs +1 -1
  228. package/helpers/dom/element.js +1 -1
  229. package/helpers/dom/element.mjs +1 -1
  230. package/helpers/feature.js +1 -1
  231. package/helpers/feature.mjs +1 -1
  232. package/helpers/mixed.js +3 -3
  233. package/helpers/mixed.mjs +3 -3
  234. package/helpers/number.js +4 -4
  235. package/helpers/number.mjs +4 -4
  236. package/helpers/object.js +1 -1
  237. package/helpers/object.mjs +1 -1
  238. package/i18n/languages/ar-AR.js +41 -0
  239. package/i18n/languages/ar-AR.mjs +17 -0
  240. package/i18n/languages/de-CH.js +1 -1
  241. package/i18n/languages/de-DE.js +1 -1
  242. package/i18n/languages/en-US.js +1 -1
  243. package/i18n/languages/es-MX.js +1 -1
  244. package/i18n/languages/fr-FR.js +1 -1
  245. package/i18n/languages/index.js +4 -0
  246. package/i18n/languages/index.mjs +2 -1
  247. package/i18n/languages/it-IT.js +1 -1
  248. package/i18n/languages/ja-JP.js +1 -1
  249. package/i18n/languages/ko-KR.js +1 -1
  250. package/i18n/languages/lv-LV.js +1 -1
  251. package/i18n/languages/nb-NO.js +1 -1
  252. package/i18n/languages/nl-NL.js +1 -1
  253. package/i18n/languages/pl-PL.js +1 -1
  254. package/i18n/languages/pt-BR.js +1 -1
  255. package/i18n/languages/ru-RU.js +1 -1
  256. package/i18n/languages/zh-CN.js +1 -1
  257. package/i18n/languages/zh-TW.js +1 -1
  258. package/i18n/registry.js +1 -1
  259. package/index.d.ts +4 -0
  260. package/index.js +1 -1
  261. package/languages/all.js +69 -38
  262. package/languages/ar-AR.js +167 -0
  263. package/languages/ar-AR.mjs +19 -0
  264. package/languages/de-CH.js +32 -33
  265. package/languages/de-DE.js +5 -6
  266. package/languages/en-US.js +5 -6
  267. package/languages/es-MX.js +5 -6
  268. package/languages/fr-FR.js +5 -6
  269. package/languages/index.js +69 -38
  270. package/languages/index.mjs +2 -1
  271. package/languages/it-IT.js +5 -6
  272. package/languages/ja-JP.js +5 -6
  273. package/languages/ko-KR.js +37 -42
  274. package/languages/lv-LV.js +4 -6
  275. package/languages/nb-NO.js +4 -6
  276. package/languages/nl-NL.js +4 -6
  277. package/languages/pl-PL.js +4 -6
  278. package/languages/pt-BR.js +4 -6
  279. package/languages/ru-RU.js +4 -6
  280. package/languages/zh-CN.js +4 -6
  281. package/languages/zh-TW.js +25 -27
  282. package/package.json +26 -8
  283. package/pluginHooks.d.ts +2 -0
  284. package/pluginHooks.js +58 -27
  285. package/pluginHooks.mjs +58 -27
  286. package/plugins/autoColumnSize/autoColumnSize.js +14 -9
  287. package/plugins/autoColumnSize/autoColumnSize.mjs +14 -9
  288. package/plugins/autoRowSize/autoRowSize.js +15 -10
  289. package/plugins/autoRowSize/autoRowSize.mjs +15 -10
  290. package/plugins/autofill/autofill.js +50 -34
  291. package/plugins/autofill/autofill.mjs +50 -33
  292. package/plugins/autofill/utils.js +10 -11
  293. package/plugins/autofill/utils.mjs +10 -10
  294. package/plugins/base/base.d.ts +8 -2
  295. package/plugins/base/base.js +68 -5
  296. package/plugins/base/base.mjs +67 -5
  297. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +4 -4
  298. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +4 -4
  299. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +4 -4
  300. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +4 -4
  301. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +4 -4
  302. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +4 -4
  303. package/plugins/collapsibleColumns/collapsibleColumns.js +49 -30
  304. package/plugins/collapsibleColumns/collapsibleColumns.mjs +49 -30
  305. package/plugins/columnSorting/columnSorting.d.ts +1 -1
  306. package/plugins/columnSorting/columnSorting.js +10 -12
  307. package/plugins/columnSorting/columnSorting.mjs +10 -11
  308. package/plugins/columnSorting/columnStatesManager.js +3 -3
  309. package/plugins/columnSorting/columnStatesManager.mjs +3 -3
  310. package/plugins/columnSummary/columnSummary.js +4 -4
  311. package/plugins/columnSummary/columnSummary.mjs +4 -4
  312. package/plugins/columnSummary/endpoints.js +1 -1
  313. package/plugins/columnSummary/endpoints.mjs +1 -1
  314. package/plugins/comments/commentEditor.js +24 -4
  315. package/plugins/comments/commentEditor.mjs +25 -5
  316. package/plugins/comments/comments.js +63 -104
  317. package/plugins/comments/comments.mjs +63 -102
  318. package/plugins/comments/displaySwitch.js +1 -1
  319. package/plugins/comments/displaySwitch.mjs +1 -1
  320. package/plugins/contextMenu/commandExecutor.js +1 -1
  321. package/plugins/contextMenu/commandExecutor.mjs +1 -1
  322. package/plugins/contextMenu/contextMenu.js +11 -7
  323. package/plugins/contextMenu/contextMenu.mjs +11 -7
  324. package/plugins/contextMenu/cursor.js +1 -1
  325. package/plugins/contextMenu/cursor.mjs +1 -1
  326. package/plugins/contextMenu/itemsFactory.js +1 -1
  327. package/plugins/contextMenu/itemsFactory.mjs +1 -1
  328. package/plugins/contextMenu/menu.js +223 -111
  329. package/plugins/contextMenu/menu.mjs +220 -112
  330. package/plugins/contextMenu/predefinedItems/alignment.js +1 -1
  331. package/plugins/contextMenu/predefinedItems/clearColumn.js +1 -1
  332. package/plugins/contextMenu/predefinedItems/columnLeft.js +13 -5
  333. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +11 -4
  334. package/plugins/contextMenu/predefinedItems/columnRight.js +10 -10
  335. package/plugins/contextMenu/predefinedItems/columnRight.mjs +9 -9
  336. package/plugins/contextMenu/predefinedItems/readOnly.js +1 -1
  337. package/plugins/contextMenu/predefinedItems/redo.js +1 -1
  338. package/plugins/contextMenu/predefinedItems/removeColumn.js +1 -1
  339. package/plugins/contextMenu/predefinedItems/removeRow.js +1 -1
  340. package/plugins/contextMenu/predefinedItems/rowAbove.js +1 -1
  341. package/plugins/contextMenu/predefinedItems/rowBelow.js +1 -1
  342. package/plugins/contextMenu/predefinedItems/undo.js +1 -1
  343. package/plugins/contextMenu/predefinedItems.js +1 -1
  344. package/plugins/contextMenu/utils.js +2 -2
  345. package/plugins/contextMenu/utils.mjs +2 -2
  346. package/plugins/copyPaste/clipboardData.js +1 -1
  347. package/plugins/copyPaste/clipboardData.mjs +1 -1
  348. package/plugins/copyPaste/contextMenuItem/copy.js +1 -1
  349. package/plugins/copyPaste/contextMenuItem/cut.js +1 -1
  350. package/plugins/copyPaste/copyPaste.js +29 -19
  351. package/plugins/copyPaste/copyPaste.mjs +28 -19
  352. package/plugins/copyPaste/focusableElement.js +1 -1
  353. package/plugins/copyPaste/focusableElement.mjs +1 -1
  354. package/plugins/copyPaste/pasteEvent.js +6 -2
  355. package/plugins/copyPaste/pasteEvent.mjs +6 -2
  356. package/plugins/customBorders/contextMenuItem/bottom.js +1 -1
  357. package/plugins/customBorders/contextMenuItem/left.js +5 -4
  358. package/plugins/customBorders/contextMenuItem/left.mjs +4 -3
  359. package/plugins/customBorders/contextMenuItem/noBorders.js +1 -1
  360. package/plugins/customBorders/contextMenuItem/right.js +5 -4
  361. package/plugins/customBorders/contextMenuItem/right.mjs +4 -3
  362. package/plugins/customBorders/contextMenuItem/top.js +1 -1
  363. package/plugins/customBorders/customBorders.js +141 -85
  364. package/plugins/customBorders/customBorders.mjs +139 -82
  365. package/plugins/customBorders/utils.js +131 -27
  366. package/plugins/customBorders/utils.mjs +115 -27
  367. package/plugins/dragToScroll/dragToScroll.js +11 -6
  368. package/plugins/dragToScroll/dragToScroll.mjs +11 -6
  369. package/plugins/dropdownMenu/dropdownMenu.js +8 -7
  370. package/plugins/dropdownMenu/dropdownMenu.mjs +8 -7
  371. package/plugins/exportFile/dataProvider.js +1 -1
  372. package/plugins/exportFile/dataProvider.mjs +1 -1
  373. package/plugins/exportFile/exportFile.js +3 -3
  374. package/plugins/exportFile/exportFile.mjs +3 -3
  375. package/plugins/exportFile/types/_base.js +1 -1
  376. package/plugins/exportFile/types/_base.mjs +1 -1
  377. package/plugins/exportFile/types/csv.js +3 -3
  378. package/plugins/exportFile/types/csv.mjs +3 -3
  379. package/plugins/filters/component/_base.js +1 -1
  380. package/plugins/filters/component/_base.mjs +1 -1
  381. package/plugins/filters/component/actionBar.js +3 -3
  382. package/plugins/filters/component/actionBar.mjs +3 -3
  383. package/plugins/filters/component/condition.js +4 -4
  384. package/plugins/filters/component/condition.mjs +4 -4
  385. package/plugins/filters/component/operators.js +3 -3
  386. package/plugins/filters/component/operators.mjs +3 -3
  387. package/plugins/filters/component/value.js +4 -4
  388. package/plugins/filters/component/value.mjs +4 -4
  389. package/plugins/filters/condition/beginsWith.js +1 -1
  390. package/plugins/filters/condition/between.js +1 -1
  391. package/plugins/filters/condition/contains.js +1 -1
  392. package/plugins/filters/condition/date/after.js +1 -1
  393. package/plugins/filters/condition/date/before.js +1 -1
  394. package/plugins/filters/condition/date/today.js +1 -1
  395. package/plugins/filters/condition/date/tomorrow.js +1 -1
  396. package/plugins/filters/condition/date/yesterday.js +1 -1
  397. package/plugins/filters/condition/empty.js +1 -1
  398. package/plugins/filters/condition/endsWith.js +1 -1
  399. package/plugins/filters/condition/equal.js +1 -1
  400. package/plugins/filters/condition/greaterThan.js +1 -1
  401. package/plugins/filters/condition/greaterThanOrEqual.js +1 -1
  402. package/plugins/filters/condition/lessThan.js +1 -1
  403. package/plugins/filters/condition/lessThanOrEqual.js +1 -1
  404. package/plugins/filters/condition/none.js +1 -1
  405. package/plugins/filters/condition/notBetween.js +1 -1
  406. package/plugins/filters/condition/notContains.js +1 -1
  407. package/plugins/filters/condition/notEmpty.js +1 -1
  408. package/plugins/filters/condition/notEqual.js +1 -1
  409. package/plugins/filters/conditionCollection.js +1 -1
  410. package/plugins/filters/conditionCollection.mjs +1 -1
  411. package/plugins/filters/conditionUpdateObserver.js +1 -1
  412. package/plugins/filters/conditionUpdateObserver.mjs +1 -1
  413. package/plugins/filters/dataFilter.js +1 -1
  414. package/plugins/filters/dataFilter.mjs +1 -1
  415. package/plugins/filters/filters.js +12 -9
  416. package/plugins/filters/filters.mjs +12 -9
  417. package/plugins/filters/logicalOperations/conjunction.js +1 -1
  418. package/plugins/filters/logicalOperations/disjunction.js +1 -1
  419. package/plugins/filters/logicalOperations/disjunctionWithExtraCondition.js +1 -1
  420. package/plugins/filters/ui/_base.js +2 -2
  421. package/plugins/filters/ui/_base.mjs +1 -1
  422. package/plugins/filters/ui/input.js +4 -4
  423. package/plugins/filters/ui/input.mjs +4 -4
  424. package/plugins/filters/ui/link.js +4 -4
  425. package/plugins/filters/ui/link.mjs +4 -4
  426. package/plugins/filters/ui/multipleSelect.js +19 -32
  427. package/plugins/filters/ui/multipleSelect.mjs +19 -32
  428. package/plugins/filters/ui/radioInput.js +4 -4
  429. package/plugins/filters/ui/radioInput.mjs +4 -4
  430. package/plugins/filters/ui/select.js +5 -5
  431. package/plugins/filters/ui/select.mjs +5 -5
  432. package/plugins/formulas/engine/register.js +1 -1
  433. package/plugins/formulas/engine/register.mjs +1 -1
  434. package/plugins/formulas/engine/settings.js +2 -2
  435. package/plugins/formulas/engine/settings.mjs +2 -2
  436. package/plugins/formulas/formulas.js +10 -10
  437. package/plugins/formulas/formulas.mjs +10 -10
  438. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +1 -1
  439. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +3 -3
  440. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +2 -2
  441. package/plugins/hiddenColumns/hiddenColumns.js +10 -5
  442. package/plugins/hiddenColumns/hiddenColumns.mjs +10 -5
  443. package/plugins/hiddenRows/contextMenuItem/hideRow.js +1 -1
  444. package/plugins/hiddenRows/contextMenuItem/showRow.js +3 -3
  445. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +2 -2
  446. package/plugins/hiddenRows/hiddenRows.js +10 -5
  447. package/plugins/hiddenRows/hiddenRows.mjs +10 -5
  448. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +2 -2
  449. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  450. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +2 -2
  451. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  452. package/plugins/manualColumnFreeze/manualColumnFreeze.js +26 -13
  453. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +26 -13
  454. package/plugins/manualColumnMove/manualColumnMove.js +73 -62
  455. package/plugins/manualColumnMove/manualColumnMove.mjs +74 -63
  456. package/plugins/manualColumnMove/ui/_base.js +26 -13
  457. package/plugins/manualColumnMove/ui/_base.mjs +25 -13
  458. package/plugins/manualColumnMove/ui/backlight.js +4 -4
  459. package/plugins/manualColumnMove/ui/backlight.mjs +4 -4
  460. package/plugins/manualColumnMove/ui/guideline.js +4 -4
  461. package/plugins/manualColumnMove/ui/guideline.mjs +4 -4
  462. package/plugins/manualColumnResize/manualColumnResize.js +38 -22
  463. package/plugins/manualColumnResize/manualColumnResize.mjs +38 -22
  464. package/plugins/manualRowMove/manualRowMove.js +27 -17
  465. package/plugins/manualRowMove/manualRowMove.mjs +27 -17
  466. package/plugins/manualRowMove/ui/_base.js +1 -1
  467. package/plugins/manualRowMove/ui/_base.mjs +1 -1
  468. package/plugins/manualRowMove/ui/backlight.js +4 -4
  469. package/plugins/manualRowMove/ui/backlight.mjs +4 -4
  470. package/plugins/manualRowMove/ui/guideline.js +4 -4
  471. package/plugins/manualRowMove/ui/guideline.mjs +4 -4
  472. package/plugins/manualRowResize/manualRowResize.js +35 -20
  473. package/plugins/manualRowResize/manualRowResize.mjs +35 -20
  474. package/plugins/mergeCells/calculations/autofill.js +7 -6
  475. package/plugins/mergeCells/calculations/autofill.mjs +7 -5
  476. package/plugins/mergeCells/calculations/selection.js +10 -5
  477. package/plugins/mergeCells/calculations/selection.mjs +10 -5
  478. package/plugins/mergeCells/cellCoords.js +17 -5
  479. package/plugins/mergeCells/cellCoords.mjs +17 -4
  480. package/plugins/mergeCells/cellsCollection.js +28 -21
  481. package/plugins/mergeCells/cellsCollection.mjs +28 -20
  482. package/plugins/mergeCells/contextMenuItem/toggleMerge.js +1 -1
  483. package/plugins/mergeCells/mergeCells.js +83 -50
  484. package/plugins/mergeCells/mergeCells.mjs +83 -48
  485. package/plugins/multiColumnSorting/multiColumnSorting.js +5 -7
  486. package/plugins/multiColumnSorting/multiColumnSorting.mjs +5 -6
  487. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +52 -58
  488. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +53 -58
  489. package/plugins/nestedHeaders/nestedHeaders.js +26 -19
  490. package/plugins/nestedHeaders/nestedHeaders.mjs +26 -19
  491. package/plugins/nestedHeaders/stateManager/headersTree.js +3 -3
  492. package/plugins/nestedHeaders/stateManager/headersTree.mjs +3 -3
  493. package/plugins/nestedHeaders/stateManager/index.js +3 -3
  494. package/plugins/nestedHeaders/stateManager/index.mjs +3 -3
  495. package/plugins/nestedHeaders/stateManager/sourceSettings.js +3 -3
  496. package/plugins/nestedHeaders/stateManager/sourceSettings.mjs +3 -3
  497. package/plugins/nestedHeaders/utils/ghostTable.js +1 -1
  498. package/plugins/nestedHeaders/utils/ghostTable.mjs +1 -1
  499. package/plugins/nestedRows/data/dataManager.js +2 -2
  500. package/plugins/nestedRows/data/dataManager.mjs +2 -2
  501. package/plugins/nestedRows/nestedRows.js +11 -5
  502. package/plugins/nestedRows/nestedRows.mjs +11 -5
  503. package/plugins/nestedRows/ui/_base.js +6 -2
  504. package/plugins/nestedRows/ui/_base.mjs +6 -2
  505. package/plugins/nestedRows/ui/collapsing.js +3 -3
  506. package/plugins/nestedRows/ui/collapsing.mjs +3 -3
  507. package/plugins/nestedRows/ui/contextMenu.js +3 -3
  508. package/plugins/nestedRows/ui/contextMenu.mjs +3 -3
  509. package/plugins/nestedRows/ui/headers.js +3 -3
  510. package/plugins/nestedRows/ui/headers.mjs +3 -3
  511. package/plugins/nestedRows/utils/rowMoveController.js +3 -5
  512. package/plugins/nestedRows/utils/rowMoveController.mjs +3 -4
  513. package/plugins/persistentState/persistentState.js +10 -5
  514. package/plugins/persistentState/persistentState.mjs +10 -5
  515. package/plugins/persistentState/storage.js +1 -1
  516. package/plugins/persistentState/storage.mjs +1 -1
  517. package/plugins/search/search.js +10 -5
  518. package/plugins/search/search.mjs +10 -5
  519. package/plugins/touchScroll/touchScroll.js +32 -26
  520. package/plugins/touchScroll/touchScroll.mjs +32 -25
  521. package/plugins/trimRows/trimRows.js +10 -5
  522. package/plugins/trimRows/trimRows.mjs +10 -5
  523. package/plugins/undoRedo/index.js +1 -1
  524. package/plugins/undoRedo/undoRedo.js +54 -48
  525. package/plugins/undoRedo/undoRedo.mjs +54 -47
  526. package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -3
  527. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -2
  528. package/renderers/checkboxRenderer/checkboxRenderer.js +48 -43
  529. package/renderers/checkboxRenderer/checkboxRenderer.mjs +48 -41
  530. package/renderers/index.d.ts +4 -1
  531. package/renderers/index.js +6 -0
  532. package/renderers/index.mjs +3 -1
  533. package/renderers/numericRenderer/numericRenderer.js +1 -0
  534. package/renderers/numericRenderer/numericRenderer.mjs +1 -0
  535. package/renderers/timeRenderer/index.d.ts +1 -0
  536. package/renderers/timeRenderer/index.js +9 -0
  537. package/renderers/timeRenderer/index.mjs +1 -0
  538. package/renderers/timeRenderer/timeRenderer.d.ts +5 -0
  539. package/renderers/timeRenderer/timeRenderer.js +31 -0
  540. package/renderers/timeRenderer/timeRenderer.mjs +20 -0
  541. package/selection/highlight/highlight.js +3 -3
  542. package/selection/highlight/highlight.mjs +3 -3
  543. package/selection/highlight/types/activeHeader.js +2 -2
  544. package/selection/highlight/types/activeHeader.mjs +2 -2
  545. package/selection/highlight/types/area.js +2 -2
  546. package/selection/highlight/types/area.mjs +2 -2
  547. package/selection/highlight/types/cell.js +2 -2
  548. package/selection/highlight/types/cell.mjs +2 -2
  549. package/selection/highlight/types/customSelection.js +2 -2
  550. package/selection/highlight/types/customSelection.mjs +2 -2
  551. package/selection/highlight/types/fill.js +2 -2
  552. package/selection/highlight/types/fill.mjs +2 -2
  553. package/selection/highlight/types/header.js +2 -2
  554. package/selection/highlight/types/header.mjs +2 -2
  555. package/selection/highlight/types/index.js +2 -2
  556. package/selection/highlight/types/index.mjs +2 -2
  557. package/selection/highlight/visualSelection.js +17 -16
  558. package/selection/highlight/visualSelection.mjs +18 -17
  559. package/selection/mouseEventHandler.js +15 -10
  560. package/selection/mouseEventHandler.mjs +15 -9
  561. package/selection/range.js +5 -6
  562. package/selection/range.mjs +5 -6
  563. package/selection/selection.js +27 -20
  564. package/selection/selection.mjs +27 -18
  565. package/selection/transformation.js +5 -7
  566. package/selection/transformation.mjs +5 -6
  567. package/selection/utils.js +1 -1
  568. package/selection/utils.mjs +1 -1
  569. package/settings.d.ts +3 -1
  570. package/shortcuts/context.d.ts +20 -0
  571. package/shortcuts/context.js +296 -0
  572. package/shortcuts/context.mjs +268 -0
  573. package/shortcuts/index.d.ts +1 -0
  574. package/shortcuts/index.js +8 -0
  575. package/shortcuts/index.mjs +1 -0
  576. package/shortcuts/keyObserver.js +67 -0
  577. package/shortcuts/keyObserver.mjs +58 -0
  578. package/shortcuts/manager.d.ts +10 -0
  579. package/shortcuts/manager.js +183 -0
  580. package/shortcuts/manager.mjs +174 -0
  581. package/shortcuts/recorder.js +183 -0
  582. package/shortcuts/recorder.mjs +171 -0
  583. package/shortcuts/utils.js +77 -0
  584. package/shortcuts/utils.mjs +54 -0
  585. package/tableView.js +138 -80
  586. package/tableView.mjs +138 -70
  587. package/translations/changesObservable/observable.js +1 -1
  588. package/translations/changesObservable/observable.mjs +1 -1
  589. package/translations/changesObservable/observer.js +1 -2
  590. package/translations/changesObservable/observer.mjs +1 -2
  591. package/translations/indexMapper.d.ts +1 -0
  592. package/translations/indexMapper.js +25 -2
  593. package/translations/indexMapper.mjs +24 -2
  594. package/translations/mapCollections/aggregatedCollection.js +3 -3
  595. package/translations/mapCollections/aggregatedCollection.mjs +3 -3
  596. package/translations/mapCollections/mapCollection.js +1 -1
  597. package/translations/mapCollections/mapCollection.mjs +1 -1
  598. package/translations/maps/hidingMap.js +5 -3
  599. package/translations/maps/hidingMap.mjs +5 -3
  600. package/translations/maps/indexMap.js +3 -1
  601. package/translations/maps/indexMap.mjs +3 -1
  602. package/translations/maps/indexesSequence.js +6 -4
  603. package/translations/maps/indexesSequence.mjs +6 -4
  604. package/translations/maps/linkedPhysicalIndexToValueMap.js +6 -4
  605. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +6 -4
  606. package/translations/maps/physicalIndexToValueMap.js +6 -4
  607. package/translations/maps/physicalIndexToValueMap.mjs +6 -4
  608. package/translations/maps/trimmingMap.js +5 -3
  609. package/translations/maps/trimmingMap.mjs +5 -3
  610. package/utils/dataStructures/linkedList.js +3 -3
  611. package/utils/dataStructures/linkedList.mjs +3 -3
  612. package/utils/dataStructures/queue.js +1 -1
  613. package/utils/dataStructures/queue.mjs +1 -1
  614. package/utils/dataStructures/stack.js +1 -1
  615. package/utils/dataStructures/stack.mjs +1 -1
  616. package/utils/dataStructures/tree.js +3 -3
  617. package/utils/dataStructures/tree.mjs +3 -3
  618. package/utils/dataStructures/uniqueMap.js +14 -1
  619. package/utils/dataStructures/uniqueMap.mjs +14 -1
  620. package/utils/dataStructures/uniqueSet.js +9 -0
  621. package/utils/dataStructures/uniqueSet.mjs +9 -0
  622. package/utils/ghostTable.js +14 -3
  623. package/utils/ghostTable.mjs +15 -4
  624. package/utils/interval.js +1 -1
  625. package/utils/interval.mjs +1 -1
  626. package/utils/samplesGenerator.js +1 -1
  627. package/utils/samplesGenerator.mjs +1 -1
  628. package/3rdparty/walkontable/src/core.js +0 -309
  629. package/3rdparty/walkontable/src/core.mjs +0 -293
  630. package/3rdparty/walkontable/src/overlay/registerer.js +0 -70
  631. package/3rdparty/walkontable/src/overlay/registerer.mjs +0 -57
  632. package/utils/keyStateObserver.js +0 -121
  633. package/utils/keyStateObserver.mjs +0 -103
@@ -1,51 +1,92 @@
1
1
  import "core-js/modules/es.array.includes.js";
2
2
  import "core-js/modules/es.string.includes.js";
3
3
  import "core-js/modules/es.array.index-of.js";
4
+ import "core-js/modules/es.array.iterator.js";
5
+ import "core-js/modules/es.object.to-string.js";
6
+ import "core-js/modules/es.string.iterator.js";
7
+ import "core-js/modules/es.weak-map.js";
8
+ import "core-js/modules/web.dom-collections.iterator.js";
4
9
 
5
10
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
11
 
7
12
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
8
13
 
9
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
14
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
15
+
16
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
17
+
18
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
19
+
20
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+
22
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
23
+
24
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
25
+
26
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
27
+
28
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
29
+
30
+ function _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError("attempted to set read only private field"); } descriptor.value = value; } }
10
31
 
11
32
  import CellCoords from "./../cell/coords.mjs";
12
33
  /**
13
34
  * CellRange holds cell coordinates as {@link CellCoords} instances. This object represent unit of the selection layer which
14
- * can contains multiple contiquous cells or single cell.
35
+ * can contains multiple contiguous cells or single cell.
15
36
  *
16
37
  * @util
17
38
  */
18
39
 
40
+ var _isRtl = /*#__PURE__*/new WeakMap();
41
+
19
42
  var CellRange = /*#__PURE__*/function () {
43
+ /**
44
+ * Used to draw bold border around a cell where selection was started and to edit the cell
45
+ * when you press Enter. The highlight cannot point to headers (negative values) so its
46
+ * coordinates object is normalized while assigning.
47
+ *
48
+ * @type {CellCoords}
49
+ */
50
+
51
+ /**
52
+ * Usually the same as highlight, but in Excel there is distinction - one can change
53
+ * highlight within a selection.
54
+ *
55
+ * @type {CellCoords}
56
+ */
57
+
58
+ /**
59
+ * End selection.
60
+ *
61
+ * @type {CellCoords}
62
+ */
63
+
64
+ /**
65
+ * @type {boolean}
66
+ */
20
67
  function CellRange(highlight) {
21
68
  var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : highlight;
22
69
  var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : highlight;
70
+ var isRtl = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
23
71
 
24
72
  _classCallCheck(this, CellRange);
25
73
 
26
- /**
27
- * Used to draw bold border around a cell where selection was started and to edit the cell
28
- * when you press Enter. The highlight cannot point to headers (negative values) so its
29
- * coordinates object is normalized while assigning.
30
- *
31
- * @type {CellCoords}
32
- */
33
- this.highlight = highlight.clone().normalize();
34
- /**
35
- * Usually the same as highlight, but in Excel there is distinction - one can change
36
- * highlight within a selection.
37
- *
38
- * @type {CellCoords}
39
- */
74
+ _defineProperty(this, "highlight", null);
40
75
 
41
- this.from = from.clone();
42
- /**
43
- * End selection.
44
- *
45
- * @type {CellCoords}
46
- */
76
+ _defineProperty(this, "from", null);
77
+
78
+ _defineProperty(this, "to", null);
79
+
80
+ _classPrivateFieldInitSpec(this, _isRtl, {
81
+ writable: true,
82
+ value: false
83
+ });
47
84
 
85
+ this.highlight = highlight.clone().normalize();
86
+ this.from = from.clone();
48
87
  this.to = to.clone();
88
+
89
+ _classPrivateFieldSet(this, _isRtl, isRtl);
49
90
  }
50
91
  /**
51
92
  * Set the new coordinates for highlighting selection.
@@ -158,6 +199,17 @@ var CellRange = /*#__PURE__*/function () {
158
199
  var toCol = Math.max(this.to.col, 0);
159
200
  return Math.max(fromCol, toCol) - Math.min(fromCol, toCol) + 1;
160
201
  }
202
+ /**
203
+ * Returns the number of cells within the range (excluding the column and row headers, if selected).
204
+ *
205
+ * @returns {number}
206
+ */
207
+
208
+ }, {
209
+ key: "getCellsCount",
210
+ value: function getCellsCount() {
211
+ return this.getWidth() * this.getHeight();
212
+ }
161
213
  /**
162
214
  * Checks if given cell coordinates are within `from` and `to` cell coordinates of this range.
163
215
  *
@@ -170,9 +222,9 @@ var CellRange = /*#__PURE__*/function () {
170
222
  value: function includes(cellCoords) {
171
223
  var row = cellCoords.row,
172
224
  col = cellCoords.col;
173
- var topLeft = this.getOuterTopLeftCorner();
174
- var bottomRight = this.getOuterBottomRightCorner();
175
- return topLeft.row <= row && bottomRight.row >= row && topLeft.col <= col && bottomRight.col >= col;
225
+ var topStart = this.getOuterTopStartCorner();
226
+ var bottomEnd = this.getOuterBottomEndCorner();
227
+ return topStart.row <= row && bottomEnd.row >= row && topStart.col <= col && bottomEnd.col >= col;
176
228
  }
177
229
  /**
178
230
  * Checks if given range is within of this range.
@@ -184,7 +236,7 @@ var CellRange = /*#__PURE__*/function () {
184
236
  }, {
185
237
  key: "includesRange",
186
238
  value: function includesRange(cellRange) {
187
- return this.includes(cellRange.getOuterTopLeftCorner()) && this.includes(cellRange.getOuterBottomRightCorner());
239
+ return this.includes(cellRange.getOuterTopStartCorner()) && this.includes(cellRange.getOuterBottomEndCorner());
188
240
  }
189
241
  /**
190
242
  * Checks if given range is equal to this range.
@@ -271,12 +323,12 @@ var CellRange = /*#__PURE__*/function () {
271
323
  }, {
272
324
  key: "expand",
273
325
  value: function expand(cellCoords) {
274
- var topLeft = this.getOuterTopLeftCorner();
275
- var bottomRight = this.getOuterBottomRightCorner();
326
+ var topStart = this.getOuterTopStartCorner();
327
+ var bottomEnd = this.getOuterBottomEndCorner();
276
328
 
277
- if (cellCoords.row < topLeft.row || cellCoords.col < topLeft.col || cellCoords.row > bottomRight.row || cellCoords.col > bottomRight.col) {
278
- this.from = new CellCoords(Math.min(topLeft.row, cellCoords.row), Math.min(topLeft.col, cellCoords.col));
279
- this.to = new CellCoords(Math.max(bottomRight.row, cellCoords.row), Math.max(bottomRight.col, cellCoords.col));
329
+ if (cellCoords.row < topStart.row || cellCoords.col < topStart.col || cellCoords.row > bottomEnd.row || cellCoords.col > bottomEnd.col) {
330
+ this.from = this._createCellCoords(Math.min(topStart.row, cellCoords.row), Math.min(topStart.col, cellCoords.col));
331
+ this.to = this._createCellCoords(Math.max(bottomEnd.row, cellCoords.row), Math.max(bottomEnd.col, cellCoords.col));
280
332
  return true;
281
333
  }
282
334
 
@@ -296,17 +348,20 @@ var CellRange = /*#__PURE__*/function () {
296
348
  return false;
297
349
  }
298
350
 
299
- var topLeft = this.getOuterTopLeftCorner();
300
- var bottomRight = this.getOuterBottomRightCorner();
351
+ var topStart = this.getOuterTopStartCorner();
352
+ var bottomEnd = this.getOuterBottomEndCorner();
301
353
  var initialDirection = this.getDirection();
302
- var expandingTopLeft = expandingRange.getOuterTopLeftCorner();
303
- var expandingBottomRight = expandingRange.getOuterBottomRightCorner();
304
- var resultTopRow = Math.min(topLeft.row, expandingTopLeft.row);
305
- var resultTopCol = Math.min(topLeft.col, expandingTopLeft.col);
306
- var resultBottomRow = Math.max(bottomRight.row, expandingBottomRight.row);
307
- var resultBottomCol = Math.max(bottomRight.col, expandingBottomRight.col);
308
- var finalFrom = new CellCoords(resultTopRow, resultTopCol);
309
- var finalTo = new CellCoords(resultBottomRow, resultBottomCol);
354
+ var expandingTopStart = expandingRange.getOuterTopStartCorner();
355
+ var expandingBottomEnd = expandingRange.getOuterBottomEndCorner();
356
+ var resultTopRow = Math.min(topStart.row, expandingTopStart.row);
357
+ var resultTopCol = Math.min(topStart.col, expandingTopStart.col);
358
+ var resultBottomRow = Math.max(bottomEnd.row, expandingBottomEnd.row);
359
+ var resultBottomCol = Math.max(bottomEnd.col, expandingBottomEnd.col);
360
+
361
+ var finalFrom = this._createCellCoords(resultTopRow, resultTopCol);
362
+
363
+ var finalTo = this._createCellCoords(resultBottomRow, resultBottomCol);
364
+
310
365
  this.from = finalFrom;
311
366
  this.to = finalTo;
312
367
  this.setDirection(initialDirection);
@@ -465,8 +520,20 @@ var CellRange = /*#__PURE__*/function () {
465
520
  }
466
521
  }
467
522
  /**
468
- * Gets the top left corner of this range. If the corner contains header coordinates
469
- * (negative values), the corner coordinates will be normalized to 0.
523
+ * Gets the top left (in LTR) or top right (in RTL) corner coordinates of this range. If the corner contains
524
+ * header coordinates (negative values), the corner coordinates will be normalized to 0.
525
+ *
526
+ * @returns {CellCoords}
527
+ */
528
+
529
+ }, {
530
+ key: "getTopStartCorner",
531
+ value: function getTopStartCorner() {
532
+ return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
533
+ }
534
+ /**
535
+ * Gets the top left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
536
+ * If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
470
537
  *
471
538
  * @returns {CellCoords}
472
539
  */
@@ -474,11 +541,23 @@ var CellRange = /*#__PURE__*/function () {
474
541
  }, {
475
542
  key: "getTopLeftCorner",
476
543
  value: function getTopLeftCorner() {
477
- return new CellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
544
+ return _classPrivateFieldGet(this, _isRtl) ? this.getTopEndCorner() : this.getTopStartCorner();
478
545
  }
479
546
  /**
480
- * Gets the bottom right corner of this range. If the corner contains header coordinates
481
- * (negative values), the corner coordinates will be normalized to 0.
547
+ * Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of this range. If the corner contains
548
+ * header coordinates (negative values), the corner coordinates will be normalized to 0.
549
+ *
550
+ * @returns {CellCoords}
551
+ */
552
+
553
+ }, {
554
+ key: "getBottomEndCorner",
555
+ value: function getBottomEndCorner() {
556
+ return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
557
+ }
558
+ /**
559
+ * Gets the bottom right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
560
+ * If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
482
561
  *
483
562
  * @returns {CellCoords}
484
563
  */
@@ -486,11 +565,23 @@ var CellRange = /*#__PURE__*/function () {
486
565
  }, {
487
566
  key: "getBottomRightCorner",
488
567
  value: function getBottomRightCorner() {
489
- return new CellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
568
+ return _classPrivateFieldGet(this, _isRtl) ? this.getBottomStartCorner() : this.getBottomEndCorner();
569
+ }
570
+ /**
571
+ * Gets the top right (in LTR) or top left (in RTL) corner coordinates of this range. If the corner contains
572
+ * header coordinates (negative values), the corner coordinates will be normalized to 0.
573
+ *
574
+ * @returns {CellCoords}
575
+ */
576
+
577
+ }, {
578
+ key: "getTopEndCorner",
579
+ value: function getTopEndCorner() {
580
+ return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
490
581
  }
491
582
  /**
492
- * Gets the top right corner of this range. If the corner contains header coordinates
493
- * (negative values), the corner coordinates will be normalized to 0.
583
+ * Gets the top right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
584
+ * If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
494
585
  *
495
586
  * @returns {CellCoords}
496
587
  */
@@ -498,11 +589,23 @@ var CellRange = /*#__PURE__*/function () {
498
589
  }, {
499
590
  key: "getTopRightCorner",
500
591
  value: function getTopRightCorner() {
501
- return new CellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
592
+ return _classPrivateFieldGet(this, _isRtl) ? this.getTopStartCorner() : this.getTopEndCorner();
593
+ }
594
+ /**
595
+ * Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of this range. If the corner
596
+ * contains header coordinates (negative values), the corner coordinates will be normalized to 0.
597
+ *
598
+ * @returns {CellCoords}
599
+ */
600
+
601
+ }, {
602
+ key: "getBottomStartCorner",
603
+ value: function getBottomStartCorner() {
604
+ return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
502
605
  }
503
606
  /**
504
- * Gets the bottom left corner of this range. If the corner contains header coordinates
505
- * (negative values), the corner coordinates will be normalized to 0.
607
+ * Gets the bottom left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
608
+ * If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
506
609
  *
507
610
  * @returns {CellCoords}
508
611
  */
@@ -510,11 +613,24 @@ var CellRange = /*#__PURE__*/function () {
510
613
  }, {
511
614
  key: "getBottomLeftCorner",
512
615
  value: function getBottomLeftCorner() {
513
- return new CellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
616
+ return _classPrivateFieldGet(this, _isRtl) ? this.getBottomEndCorner() : this.getBottomStartCorner();
617
+ }
618
+ /**
619
+ * Gets the top left (in LTR) or top right (in RTL) corner coordinates of this range. If the corner
620
+ * contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
621
+ *
622
+ * @returns {CellCoords}
623
+ */
624
+
625
+ }, {
626
+ key: "getOuterTopStartCorner",
627
+ value: function getOuterTopStartCorner() {
628
+ return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
514
629
  }
515
630
  /**
516
- * Gets the top left corner of this range. If the corner contains header coordinates
517
- * (negative values), then the top and left coordinates will be pointed to that header.
631
+ * Gets the top left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
632
+ * If the corner contains header coordinates (negative values), then the top and left coordinates will be
633
+ * pointed to that header.
518
634
  *
519
635
  * @returns {CellCoords}
520
636
  */
@@ -522,10 +638,24 @@ var CellRange = /*#__PURE__*/function () {
522
638
  }, {
523
639
  key: "getOuterTopLeftCorner",
524
640
  value: function getOuterTopLeftCorner() {
525
- return new CellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
641
+ return _classPrivateFieldGet(this, _isRtl) ? this.getOuterTopEndCorner() : this.getOuterTopStartCorner();
642
+ }
643
+ /**
644
+ * Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of this range. If the corner
645
+ * contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
646
+ *
647
+ * @returns {CellCoords}
648
+ */
649
+
650
+ }, {
651
+ key: "getOuterBottomEndCorner",
652
+ value: function getOuterBottomEndCorner() {
653
+ return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
526
654
  }
527
655
  /**
528
- * Gets the bottom right corner of this range.
656
+ * Gets the bottom right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
657
+ * If the corner contains header coordinates (negative values), then the top and left coordinates will be
658
+ * pointed to that header.
529
659
  *
530
660
  * @returns {CellCoords}
531
661
  */
@@ -533,11 +663,24 @@ var CellRange = /*#__PURE__*/function () {
533
663
  }, {
534
664
  key: "getOuterBottomRightCorner",
535
665
  value: function getOuterBottomRightCorner() {
536
- return new CellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
666
+ return _classPrivateFieldGet(this, _isRtl) ? this.getOuterBottomStartCorner() : this.getOuterBottomEndCorner();
667
+ }
668
+ /**
669
+ * Gets the top right (in LTR) or top left (in RTL) corner coordinates of this range. If the corner
670
+ * contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
671
+ *
672
+ * @returns {CellCoords}
673
+ */
674
+
675
+ }, {
676
+ key: "getOuterTopEndCorner",
677
+ value: function getOuterTopEndCorner() {
678
+ return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
537
679
  }
538
680
  /**
539
- * Gets the top right corner of this range. If the corner contains header coordinates
540
- * (negative values), then the top coordinate will be pointed to that header.
681
+ * Gets the top right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
682
+ * If the corner contains header coordinates (negative values), then the top and left coordinates will be
683
+ * pointed to that header.
541
684
  *
542
685
  * @returns {CellCoords}
543
686
  */
@@ -545,11 +688,24 @@ var CellRange = /*#__PURE__*/function () {
545
688
  }, {
546
689
  key: "getOuterTopRightCorner",
547
690
  value: function getOuterTopRightCorner() {
548
- return new CellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
691
+ return _classPrivateFieldGet(this, _isRtl) ? this.getOuterTopStartCorner() : this.getOuterTopEndCorner();
692
+ }
693
+ /**
694
+ * Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of this range. If the corner
695
+ * contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
696
+ *
697
+ * @returns {CellCoords}
698
+ */
699
+
700
+ }, {
701
+ key: "getOuterBottomStartCorner",
702
+ value: function getOuterBottomStartCorner() {
703
+ return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
549
704
  }
550
705
  /**
551
- * Gets the bottom left corner of this range. If the corner contains header coordinates
552
- * (negative values), then the left coordinate will be pointed to that header.
706
+ * Gets the bottom left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
707
+ * If the corner contains header coordinates (negative values), then the top and left coordinates will be
708
+ * pointed to that header.
553
709
  *
554
710
  * @returns {CellCoords}
555
711
  */
@@ -557,7 +713,7 @@ var CellRange = /*#__PURE__*/function () {
557
713
  }, {
558
714
  key: "getOuterBottomLeftCorner",
559
715
  value: function getOuterBottomLeftCorner() {
560
- return new CellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
716
+ return _classPrivateFieldGet(this, _isRtl) ? this.getOuterBottomEndCorner() : this.getOuterBottomStartCorner();
561
717
  }
562
718
  /**
563
719
  * Checks if coordinates match to one of the 4th corners of this range.
@@ -570,7 +726,7 @@ var CellRange = /*#__PURE__*/function () {
570
726
  }, {
571
727
  key: "isCorner",
572
728
  value: function isCorner(coords, expandedRange) {
573
- if (expandedRange && expandedRange.includes(coords) && (this.getOuterTopLeftCorner().isEqual(new CellCoords(expandedRange.from.row, expandedRange.from.col)) || this.getOuterTopRightCorner().isEqual(new CellCoords(expandedRange.from.row, expandedRange.to.col)) || this.getOuterBottomLeftCorner().isEqual(new CellCoords(expandedRange.to.row, expandedRange.from.col)) || this.getOuterBottomRightCorner().isEqual(new CellCoords(expandedRange.to.row, expandedRange.to.col)))) {
729
+ if (expandedRange && expandedRange.includes(coords) && (this.getOuterTopLeftCorner().isEqual(this._createCellCoords(expandedRange.from.row, expandedRange.from.col)) || this.getOuterTopRightCorner().isEqual(this._createCellCoords(expandedRange.from.row, expandedRange.to.col)) || this.getOuterBottomLeftCorner().isEqual(this._createCellCoords(expandedRange.to.row, expandedRange.from.col)) || this.getOuterBottomRightCorner().isEqual(this._createCellCoords(expandedRange.to.row, expandedRange.to.col)))) {
574
730
  return true;
575
731
  }
576
732
 
@@ -593,33 +749,36 @@ var CellRange = /*#__PURE__*/function () {
593
749
  }
594
750
 
595
751
  if (expandedRange) {
752
+ var from = expandedRange.from,
753
+ to = expandedRange.to;
754
+
596
755
  if (expandedRange.includes(coords)) {
597
- if (this.getOuterTopLeftCorner().isEqual(new CellCoords(expandedRange.from.row, expandedRange.from.col))) {
598
- return this.getOuterBottomRightCorner();
756
+ if (this.getOuterTopStartCorner().isEqual(this._createCellCoords(from.row, from.col))) {
757
+ return this.getOuterBottomEndCorner();
599
758
  }
600
759
 
601
- if (this.getOuterTopRightCorner().isEqual(new CellCoords(expandedRange.from.row, expandedRange.to.col))) {
602
- return this.getOuterBottomLeftCorner();
760
+ if (this.getOuterTopEndCorner().isEqual(this._createCellCoords(from.row, to.col))) {
761
+ return this.getOuterBottomStartCorner();
603
762
  }
604
763
 
605
- if (this.getOuterBottomLeftCorner().isEqual(new CellCoords(expandedRange.to.row, expandedRange.from.col))) {
606
- return this.getOuterTopRightCorner();
764
+ if (this.getOuterBottomStartCorner().isEqual(this._createCellCoords(to.row, from.col))) {
765
+ return this.getOuterTopEndCorner();
607
766
  }
608
767
 
609
- if (this.getOuterBottomRightCorner().isEqual(new CellCoords(expandedRange.to.row, expandedRange.to.col))) {
610
- return this.getOuterTopLeftCorner();
768
+ if (this.getOuterBottomEndCorner().isEqual(this._createCellCoords(to.row, to.col))) {
769
+ return this.getOuterTopStartCorner();
611
770
  }
612
771
  }
613
772
  }
614
773
 
615
- if (coords.isEqual(this.getOuterBottomRightCorner())) {
616
- return this.getOuterTopLeftCorner();
617
- } else if (coords.isEqual(this.getOuterTopLeftCorner())) {
618
- return this.getOuterBottomRightCorner();
619
- } else if (coords.isEqual(this.getOuterTopRightCorner())) {
620
- return this.getOuterBottomLeftCorner();
621
- } else if (coords.isEqual(this.getOuterBottomLeftCorner())) {
622
- return this.getOuterTopRightCorner();
774
+ if (coords.isEqual(this.getOuterBottomEndCorner())) {
775
+ return this.getOuterTopStartCorner();
776
+ } else if (coords.isEqual(this.getOuterTopStartCorner())) {
777
+ return this.getOuterBottomEndCorner();
778
+ } else if (coords.isEqual(this.getOuterTopEndCorner())) {
779
+ return this.getOuterBottomStartCorner();
780
+ } else if (coords.isEqual(this.getOuterBottomStartCorner())) {
781
+ return this.getOuterTopEndCorner();
623
782
  }
624
783
  }
625
784
  /**
@@ -675,14 +834,14 @@ var CellRange = /*#__PURE__*/function () {
675
834
  }, {
676
835
  key: "getInner",
677
836
  value: function getInner() {
678
- var topLeft = this.getOuterTopLeftCorner();
679
- var bottomRight = this.getOuterBottomRightCorner();
837
+ var topStart = this.getOuterTopStartCorner();
838
+ var bottomEnd = this.getOuterBottomEndCorner();
680
839
  var out = [];
681
840
 
682
- for (var r = topLeft.row; r <= bottomRight.row; r++) {
683
- for (var c = topLeft.col; c <= bottomRight.col; c++) {
841
+ for (var r = topStart.row; r <= bottomEnd.row; r++) {
842
+ for (var c = topStart.col; c <= bottomEnd.col; c++) {
684
843
  if (!(this.from.row === r && this.from.col === c) && !(this.to.row === r && this.to.col === c)) {
685
- out.push(new CellCoords(r, c));
844
+ out.push(this._createCellCoords(r, c));
686
845
  }
687
846
  }
688
847
  }
@@ -698,18 +857,18 @@ var CellRange = /*#__PURE__*/function () {
698
857
  }, {
699
858
  key: "getAll",
700
859
  value: function getAll() {
701
- var topLeft = this.getOuterTopLeftCorner();
702
- var bottomRight = this.getOuterBottomRightCorner();
860
+ var topStart = this.getOuterTopStartCorner();
861
+ var bottomEnd = this.getOuterBottomEndCorner();
703
862
  var out = [];
704
863
 
705
- for (var r = topLeft.row; r <= bottomRight.row; r++) {
706
- for (var c = topLeft.col; c <= bottomRight.col; c++) {
707
- if (topLeft.row === r && topLeft.col === c) {
708
- out.push(topLeft);
709
- } else if (bottomRight.row === r && bottomRight.col === c) {
710
- out.push(bottomRight);
864
+ for (var r = topStart.row; r <= bottomEnd.row; r++) {
865
+ for (var c = topStart.col; c <= bottomEnd.col; c++) {
866
+ if (topStart.row === r && topStart.col === c) {
867
+ out.push(topStart);
868
+ } else if (bottomEnd.row === r && bottomEnd.col === c) {
869
+ out.push(bottomEnd);
711
870
  } else {
712
- out.push(new CellCoords(r, c));
871
+ out.push(this._createCellCoords(r, c));
713
872
  }
714
873
  }
715
874
  }
@@ -726,11 +885,11 @@ var CellRange = /*#__PURE__*/function () {
726
885
  }, {
727
886
  key: "forAll",
728
887
  value: function forAll(callback) {
729
- var topLeft = this.getOuterTopLeftCorner();
730
- var bottomRight = this.getOuterBottomRightCorner();
888
+ var topStart = this.getOuterTopStartCorner();
889
+ var bottomEnd = this.getOuterBottomEndCorner();
731
890
 
732
- for (var r = topLeft.row; r <= bottomRight.row; r++) {
733
- for (var c = topLeft.col; c <= bottomRight.col; c++) {
891
+ for (var r = topStart.row; r <= bottomEnd.row; r++) {
892
+ for (var c = topStart.col; c <= bottomEnd.col; c++) {
734
893
  var breakIteration = callback(r, c);
735
894
 
736
895
  if (breakIteration === false) {
@@ -748,7 +907,7 @@ var CellRange = /*#__PURE__*/function () {
748
907
  }, {
749
908
  key: "clone",
750
909
  value: function clone() {
751
- return new CellRange(this.highlight, this.from, this.to);
910
+ return new CellRange(this.highlight, this.from, this.to, _classPrivateFieldGet(this, _isRtl));
752
911
  }
753
912
  /**
754
913
  * Convert CellRange to literal object.
@@ -765,6 +924,21 @@ var CellRange = /*#__PURE__*/function () {
765
924
  to: this.to.toObject()
766
925
  };
767
926
  }
927
+ /**
928
+ * Creates and returns a new instance of the CellCoords object. The object automatically inherits
929
+ * the LTR/RTL flag from this CellRange instance.
930
+ *
931
+ * @private
932
+ * @param {number} row The row index.
933
+ * @param {number} column The column index.
934
+ * @returns {CellCoords}
935
+ */
936
+
937
+ }, {
938
+ key: "_createCellCoords",
939
+ value: function _createCellCoords(row, column) {
940
+ return new CellCoords(row, column, _classPrivateFieldGet(this, _isRtl));
941
+ }
768
942
  }]);
769
943
 
770
944
  return CellRange;