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
@@ -9,6 +9,16 @@ require("core-js/modules/es.string.includes.js");
9
9
 
10
10
  require("core-js/modules/es.array.index-of.js");
11
11
 
12
+ require("core-js/modules/es.array.iterator.js");
13
+
14
+ require("core-js/modules/es.object.to-string.js");
15
+
16
+ require("core-js/modules/es.string.iterator.js");
17
+
18
+ require("core-js/modules/es.weak-map.js");
19
+
20
+ require("core-js/modules/web.dom-collections.iterator.js");
21
+
12
22
  var _coords = _interopRequireDefault(require("./../cell/coords"));
13
23
 
14
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -17,44 +27,80 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
17
27
 
18
28
  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); } }
19
29
 
20
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
30
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
31
+
32
+ function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
33
+
34
+ function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
35
+
36
+ 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; }
37
+
38
+ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "get"); return _classApplyDescriptorGet(receiver, descriptor); }
39
+
40
+ function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
41
+
42
+ function _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, "set"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }
43
+
44
+ function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
45
+
46
+ 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; } }
47
+
48
+ var _isRtl = /*#__PURE__*/new WeakMap();
21
49
 
22
50
  /**
23
51
  * CellRange holds cell coordinates as {@link CellCoords} instances. This object represent unit of the selection layer which
24
- * can contains multiple contiquous cells or single cell.
52
+ * can contains multiple contiguous cells or single cell.
25
53
  *
26
54
  * @util
27
55
  */
28
56
  var CellRange = /*#__PURE__*/function () {
57
+ /**
58
+ * Used to draw bold border around a cell where selection was started and to edit the cell
59
+ * when you press Enter. The highlight cannot point to headers (negative values) so its
60
+ * coordinates object is normalized while assigning.
61
+ *
62
+ * @type {CellCoords}
63
+ */
64
+
65
+ /**
66
+ * Usually the same as highlight, but in Excel there is distinction - one can change
67
+ * highlight within a selection.
68
+ *
69
+ * @type {CellCoords}
70
+ */
71
+
72
+ /**
73
+ * End selection.
74
+ *
75
+ * @type {CellCoords}
76
+ */
77
+
78
+ /**
79
+ * @type {boolean}
80
+ */
29
81
  function CellRange(highlight) {
30
82
  var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : highlight;
31
83
  var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : highlight;
84
+ var isRtl = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
32
85
 
33
86
  _classCallCheck(this, CellRange);
34
87
 
35
- /**
36
- * Used to draw bold border around a cell where selection was started and to edit the cell
37
- * when you press Enter. The highlight cannot point to headers (negative values) so its
38
- * coordinates object is normalized while assigning.
39
- *
40
- * @type {CellCoords}
41
- */
42
- this.highlight = highlight.clone().normalize();
43
- /**
44
- * Usually the same as highlight, but in Excel there is distinction - one can change
45
- * highlight within a selection.
46
- *
47
- * @type {CellCoords}
48
- */
88
+ _defineProperty(this, "highlight", null);
49
89
 
50
- this.from = from.clone();
51
- /**
52
- * End selection.
53
- *
54
- * @type {CellCoords}
55
- */
90
+ _defineProperty(this, "from", null);
91
+
92
+ _defineProperty(this, "to", null);
56
93
 
94
+ _classPrivateFieldInitSpec(this, _isRtl, {
95
+ writable: true,
96
+ value: false
97
+ });
98
+
99
+ this.highlight = highlight.clone().normalize();
100
+ this.from = from.clone();
57
101
  this.to = to.clone();
102
+
103
+ _classPrivateFieldSet(this, _isRtl, isRtl);
58
104
  }
59
105
  /**
60
106
  * Set the new coordinates for highlighting selection.
@@ -167,6 +213,17 @@ var CellRange = /*#__PURE__*/function () {
167
213
  var toCol = Math.max(this.to.col, 0);
168
214
  return Math.max(fromCol, toCol) - Math.min(fromCol, toCol) + 1;
169
215
  }
216
+ /**
217
+ * Returns the number of cells within the range (excluding the column and row headers, if selected).
218
+ *
219
+ * @returns {number}
220
+ */
221
+
222
+ }, {
223
+ key: "getCellsCount",
224
+ value: function getCellsCount() {
225
+ return this.getWidth() * this.getHeight();
226
+ }
170
227
  /**
171
228
  * Checks if given cell coordinates are within `from` and `to` cell coordinates of this range.
172
229
  *
@@ -179,9 +236,9 @@ var CellRange = /*#__PURE__*/function () {
179
236
  value: function includes(cellCoords) {
180
237
  var row = cellCoords.row,
181
238
  col = cellCoords.col;
182
- var topLeft = this.getOuterTopLeftCorner();
183
- var bottomRight = this.getOuterBottomRightCorner();
184
- return topLeft.row <= row && bottomRight.row >= row && topLeft.col <= col && bottomRight.col >= col;
239
+ var topStart = this.getOuterTopStartCorner();
240
+ var bottomEnd = this.getOuterBottomEndCorner();
241
+ return topStart.row <= row && bottomEnd.row >= row && topStart.col <= col && bottomEnd.col >= col;
185
242
  }
186
243
  /**
187
244
  * Checks if given range is within of this range.
@@ -193,7 +250,7 @@ var CellRange = /*#__PURE__*/function () {
193
250
  }, {
194
251
  key: "includesRange",
195
252
  value: function includesRange(cellRange) {
196
- return this.includes(cellRange.getOuterTopLeftCorner()) && this.includes(cellRange.getOuterBottomRightCorner());
253
+ return this.includes(cellRange.getOuterTopStartCorner()) && this.includes(cellRange.getOuterBottomEndCorner());
197
254
  }
198
255
  /**
199
256
  * Checks if given range is equal to this range.
@@ -280,12 +337,12 @@ var CellRange = /*#__PURE__*/function () {
280
337
  }, {
281
338
  key: "expand",
282
339
  value: function expand(cellCoords) {
283
- var topLeft = this.getOuterTopLeftCorner();
284
- var bottomRight = this.getOuterBottomRightCorner();
340
+ var topStart = this.getOuterTopStartCorner();
341
+ var bottomEnd = this.getOuterBottomEndCorner();
285
342
 
286
- if (cellCoords.row < topLeft.row || cellCoords.col < topLeft.col || cellCoords.row > bottomRight.row || cellCoords.col > bottomRight.col) {
287
- this.from = new _coords.default(Math.min(topLeft.row, cellCoords.row), Math.min(topLeft.col, cellCoords.col));
288
- this.to = new _coords.default(Math.max(bottomRight.row, cellCoords.row), Math.max(bottomRight.col, cellCoords.col));
343
+ if (cellCoords.row < topStart.row || cellCoords.col < topStart.col || cellCoords.row > bottomEnd.row || cellCoords.col > bottomEnd.col) {
344
+ this.from = this._createCellCoords(Math.min(topStart.row, cellCoords.row), Math.min(topStart.col, cellCoords.col));
345
+ this.to = this._createCellCoords(Math.max(bottomEnd.row, cellCoords.row), Math.max(bottomEnd.col, cellCoords.col));
289
346
  return true;
290
347
  }
291
348
 
@@ -305,17 +362,20 @@ var CellRange = /*#__PURE__*/function () {
305
362
  return false;
306
363
  }
307
364
 
308
- var topLeft = this.getOuterTopLeftCorner();
309
- var bottomRight = this.getOuterBottomRightCorner();
365
+ var topStart = this.getOuterTopStartCorner();
366
+ var bottomEnd = this.getOuterBottomEndCorner();
310
367
  var initialDirection = this.getDirection();
311
- var expandingTopLeft = expandingRange.getOuterTopLeftCorner();
312
- var expandingBottomRight = expandingRange.getOuterBottomRightCorner();
313
- var resultTopRow = Math.min(topLeft.row, expandingTopLeft.row);
314
- var resultTopCol = Math.min(topLeft.col, expandingTopLeft.col);
315
- var resultBottomRow = Math.max(bottomRight.row, expandingBottomRight.row);
316
- var resultBottomCol = Math.max(bottomRight.col, expandingBottomRight.col);
317
- var finalFrom = new _coords.default(resultTopRow, resultTopCol);
318
- var finalTo = new _coords.default(resultBottomRow, resultBottomCol);
368
+ var expandingTopStart = expandingRange.getOuterTopStartCorner();
369
+ var expandingBottomEnd = expandingRange.getOuterBottomEndCorner();
370
+ var resultTopRow = Math.min(topStart.row, expandingTopStart.row);
371
+ var resultTopCol = Math.min(topStart.col, expandingTopStart.col);
372
+ var resultBottomRow = Math.max(bottomEnd.row, expandingBottomEnd.row);
373
+ var resultBottomCol = Math.max(bottomEnd.col, expandingBottomEnd.col);
374
+
375
+ var finalFrom = this._createCellCoords(resultTopRow, resultTopCol);
376
+
377
+ var finalTo = this._createCellCoords(resultBottomRow, resultBottomCol);
378
+
319
379
  this.from = finalFrom;
320
380
  this.to = finalTo;
321
381
  this.setDirection(initialDirection);
@@ -474,8 +534,20 @@ var CellRange = /*#__PURE__*/function () {
474
534
  }
475
535
  }
476
536
  /**
477
- * Gets the top left corner of this range. If the corner contains header coordinates
478
- * (negative values), the corner coordinates will be normalized to 0.
537
+ * Gets the top left (in LTR) or top right (in RTL) corner coordinates of this range. If the corner contains
538
+ * header coordinates (negative values), the corner coordinates will be normalized to 0.
539
+ *
540
+ * @returns {CellCoords}
541
+ */
542
+
543
+ }, {
544
+ key: "getTopStartCorner",
545
+ value: function getTopStartCorner() {
546
+ return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
547
+ }
548
+ /**
549
+ * Gets the top left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
550
+ * If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
479
551
  *
480
552
  * @returns {CellCoords}
481
553
  */
@@ -483,11 +555,23 @@ var CellRange = /*#__PURE__*/function () {
483
555
  }, {
484
556
  key: "getTopLeftCorner",
485
557
  value: function getTopLeftCorner() {
486
- return new _coords.default(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
558
+ return _classPrivateFieldGet(this, _isRtl) ? this.getTopEndCorner() : this.getTopStartCorner();
487
559
  }
488
560
  /**
489
- * Gets the bottom right corner of this range. If the corner contains header coordinates
490
- * (negative values), the corner coordinates will be normalized to 0.
561
+ * Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of this range. If the corner contains
562
+ * header coordinates (negative values), the corner coordinates will be normalized to 0.
563
+ *
564
+ * @returns {CellCoords}
565
+ */
566
+
567
+ }, {
568
+ key: "getBottomEndCorner",
569
+ value: function getBottomEndCorner() {
570
+ return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
571
+ }
572
+ /**
573
+ * Gets the bottom right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
574
+ * If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
491
575
  *
492
576
  * @returns {CellCoords}
493
577
  */
@@ -495,11 +579,23 @@ var CellRange = /*#__PURE__*/function () {
495
579
  }, {
496
580
  key: "getBottomRightCorner",
497
581
  value: function getBottomRightCorner() {
498
- return new _coords.default(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
582
+ return _classPrivateFieldGet(this, _isRtl) ? this.getBottomStartCorner() : this.getBottomEndCorner();
583
+ }
584
+ /**
585
+ * Gets the top right (in LTR) or top left (in RTL) corner coordinates of this range. If the corner contains
586
+ * header coordinates (negative values), the corner coordinates will be normalized to 0.
587
+ *
588
+ * @returns {CellCoords}
589
+ */
590
+
591
+ }, {
592
+ key: "getTopEndCorner",
593
+ value: function getTopEndCorner() {
594
+ return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
499
595
  }
500
596
  /**
501
- * Gets the top right corner of this range. If the corner contains header coordinates
502
- * (negative values), the corner coordinates will be normalized to 0.
597
+ * Gets the top right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
598
+ * If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
503
599
  *
504
600
  * @returns {CellCoords}
505
601
  */
@@ -507,11 +603,23 @@ var CellRange = /*#__PURE__*/function () {
507
603
  }, {
508
604
  key: "getTopRightCorner",
509
605
  value: function getTopRightCorner() {
510
- return new _coords.default(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col)).normalize();
606
+ return _classPrivateFieldGet(this, _isRtl) ? this.getTopStartCorner() : this.getTopEndCorner();
607
+ }
608
+ /**
609
+ * Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of this range. If the corner
610
+ * contains header coordinates (negative values), the corner coordinates will be normalized to 0.
611
+ *
612
+ * @returns {CellCoords}
613
+ */
614
+
615
+ }, {
616
+ key: "getBottomStartCorner",
617
+ value: function getBottomStartCorner() {
618
+ return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
511
619
  }
512
620
  /**
513
- * Gets the bottom left corner of this range. If the corner contains header coordinates
514
- * (negative values), the corner coordinates will be normalized to 0.
621
+ * Gets the bottom left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
622
+ * If the corner contains header coordinates (negative values), the corner coordinates will be normalized to 0.
515
623
  *
516
624
  * @returns {CellCoords}
517
625
  */
@@ -519,11 +627,24 @@ var CellRange = /*#__PURE__*/function () {
519
627
  }, {
520
628
  key: "getBottomLeftCorner",
521
629
  value: function getBottomLeftCorner() {
522
- return new _coords.default(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col)).normalize();
630
+ return _classPrivateFieldGet(this, _isRtl) ? this.getBottomEndCorner() : this.getBottomStartCorner();
631
+ }
632
+ /**
633
+ * Gets the top left (in LTR) or top right (in RTL) corner coordinates of this range. If the corner
634
+ * contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
635
+ *
636
+ * @returns {CellCoords}
637
+ */
638
+
639
+ }, {
640
+ key: "getOuterTopStartCorner",
641
+ value: function getOuterTopStartCorner() {
642
+ return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
523
643
  }
524
644
  /**
525
- * Gets the top left corner of this range. If the corner contains header coordinates
526
- * (negative values), then the top and left coordinates will be pointed to that header.
645
+ * Gets the top left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
646
+ * If the corner contains header coordinates (negative values), then the top and left coordinates will be
647
+ * pointed to that header.
527
648
  *
528
649
  * @returns {CellCoords}
529
650
  */
@@ -531,10 +652,24 @@ var CellRange = /*#__PURE__*/function () {
531
652
  }, {
532
653
  key: "getOuterTopLeftCorner",
533
654
  value: function getOuterTopLeftCorner() {
534
- return new _coords.default(Math.min(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
655
+ return _classPrivateFieldGet(this, _isRtl) ? this.getOuterTopEndCorner() : this.getOuterTopStartCorner();
535
656
  }
536
657
  /**
537
- * Gets the bottom right corner of this range.
658
+ * Gets the bottom right (in LTR) or bottom left (in RTL) corner coordinates of this range. If the corner
659
+ * contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
660
+ *
661
+ * @returns {CellCoords}
662
+ */
663
+
664
+ }, {
665
+ key: "getOuterBottomEndCorner",
666
+ value: function getOuterBottomEndCorner() {
667
+ return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
668
+ }
669
+ /**
670
+ * Gets the bottom right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
671
+ * If the corner contains header coordinates (negative values), then the top and left coordinates will be
672
+ * pointed to that header.
538
673
  *
539
674
  * @returns {CellCoords}
540
675
  */
@@ -542,11 +677,24 @@ var CellRange = /*#__PURE__*/function () {
542
677
  }, {
543
678
  key: "getOuterBottomRightCorner",
544
679
  value: function getOuterBottomRightCorner() {
545
- return new _coords.default(Math.max(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
680
+ return _classPrivateFieldGet(this, _isRtl) ? this.getOuterBottomStartCorner() : this.getOuterBottomEndCorner();
546
681
  }
547
682
  /**
548
- * Gets the top right corner of this range. If the corner contains header coordinates
549
- * (negative values), then the top coordinate will be pointed to that header.
683
+ * Gets the top right (in LTR) or top left (in RTL) corner coordinates of this range. If the corner
684
+ * contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
685
+ *
686
+ * @returns {CellCoords}
687
+ */
688
+
689
+ }, {
690
+ key: "getOuterTopEndCorner",
691
+ value: function getOuterTopEndCorner() {
692
+ return this._createCellCoords(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
693
+ }
694
+ /**
695
+ * Gets the top right corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
696
+ * If the corner contains header coordinates (negative values), then the top and left coordinates will be
697
+ * pointed to that header.
550
698
  *
551
699
  * @returns {CellCoords}
552
700
  */
@@ -554,11 +702,24 @@ var CellRange = /*#__PURE__*/function () {
554
702
  }, {
555
703
  key: "getOuterTopRightCorner",
556
704
  value: function getOuterTopRightCorner() {
557
- return new _coords.default(Math.min(this.from.row, this.to.row), Math.max(this.from.col, this.to.col));
705
+ return _classPrivateFieldGet(this, _isRtl) ? this.getOuterTopStartCorner() : this.getOuterTopEndCorner();
558
706
  }
559
707
  /**
560
- * Gets the bottom left corner of this range. If the corner contains header coordinates
561
- * (negative values), then the left coordinate will be pointed to that header.
708
+ * Gets the bottom left (in LTR) or bottom right (in RTL) corner coordinates of this range. If the corner
709
+ * contains header coordinates (negative values), then the top and start coordinates will be pointed to that header.
710
+ *
711
+ * @returns {CellCoords}
712
+ */
713
+
714
+ }, {
715
+ key: "getOuterBottomStartCorner",
716
+ value: function getOuterBottomStartCorner() {
717
+ return this._createCellCoords(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
718
+ }
719
+ /**
720
+ * Gets the bottom left corner coordinates of this range, no matter if the code runs in LTR or RTL document mode.
721
+ * If the corner contains header coordinates (negative values), then the top and left coordinates will be
722
+ * pointed to that header.
562
723
  *
563
724
  * @returns {CellCoords}
564
725
  */
@@ -566,7 +727,7 @@ var CellRange = /*#__PURE__*/function () {
566
727
  }, {
567
728
  key: "getOuterBottomLeftCorner",
568
729
  value: function getOuterBottomLeftCorner() {
569
- return new _coords.default(Math.max(this.from.row, this.to.row), Math.min(this.from.col, this.to.col));
730
+ return _classPrivateFieldGet(this, _isRtl) ? this.getOuterBottomEndCorner() : this.getOuterBottomStartCorner();
570
731
  }
571
732
  /**
572
733
  * Checks if coordinates match to one of the 4th corners of this range.
@@ -579,7 +740,7 @@ var CellRange = /*#__PURE__*/function () {
579
740
  }, {
580
741
  key: "isCorner",
581
742
  value: function isCorner(coords, expandedRange) {
582
- if (expandedRange && expandedRange.includes(coords) && (this.getOuterTopLeftCorner().isEqual(new _coords.default(expandedRange.from.row, expandedRange.from.col)) || this.getOuterTopRightCorner().isEqual(new _coords.default(expandedRange.from.row, expandedRange.to.col)) || this.getOuterBottomLeftCorner().isEqual(new _coords.default(expandedRange.to.row, expandedRange.from.col)) || this.getOuterBottomRightCorner().isEqual(new _coords.default(expandedRange.to.row, expandedRange.to.col)))) {
743
+ 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)))) {
583
744
  return true;
584
745
  }
585
746
 
@@ -602,33 +763,36 @@ var CellRange = /*#__PURE__*/function () {
602
763
  }
603
764
 
604
765
  if (expandedRange) {
766
+ var from = expandedRange.from,
767
+ to = expandedRange.to;
768
+
605
769
  if (expandedRange.includes(coords)) {
606
- if (this.getOuterTopLeftCorner().isEqual(new _coords.default(expandedRange.from.row, expandedRange.from.col))) {
607
- return this.getOuterBottomRightCorner();
770
+ if (this.getOuterTopStartCorner().isEqual(this._createCellCoords(from.row, from.col))) {
771
+ return this.getOuterBottomEndCorner();
608
772
  }
609
773
 
610
- if (this.getOuterTopRightCorner().isEqual(new _coords.default(expandedRange.from.row, expandedRange.to.col))) {
611
- return this.getOuterBottomLeftCorner();
774
+ if (this.getOuterTopEndCorner().isEqual(this._createCellCoords(from.row, to.col))) {
775
+ return this.getOuterBottomStartCorner();
612
776
  }
613
777
 
614
- if (this.getOuterBottomLeftCorner().isEqual(new _coords.default(expandedRange.to.row, expandedRange.from.col))) {
615
- return this.getOuterTopRightCorner();
778
+ if (this.getOuterBottomStartCorner().isEqual(this._createCellCoords(to.row, from.col))) {
779
+ return this.getOuterTopEndCorner();
616
780
  }
617
781
 
618
- if (this.getOuterBottomRightCorner().isEqual(new _coords.default(expandedRange.to.row, expandedRange.to.col))) {
619
- return this.getOuterTopLeftCorner();
782
+ if (this.getOuterBottomEndCorner().isEqual(this._createCellCoords(to.row, to.col))) {
783
+ return this.getOuterTopStartCorner();
620
784
  }
621
785
  }
622
786
  }
623
787
 
624
- if (coords.isEqual(this.getOuterBottomRightCorner())) {
625
- return this.getOuterTopLeftCorner();
626
- } else if (coords.isEqual(this.getOuterTopLeftCorner())) {
627
- return this.getOuterBottomRightCorner();
628
- } else if (coords.isEqual(this.getOuterTopRightCorner())) {
629
- return this.getOuterBottomLeftCorner();
630
- } else if (coords.isEqual(this.getOuterBottomLeftCorner())) {
631
- return this.getOuterTopRightCorner();
788
+ if (coords.isEqual(this.getOuterBottomEndCorner())) {
789
+ return this.getOuterTopStartCorner();
790
+ } else if (coords.isEqual(this.getOuterTopStartCorner())) {
791
+ return this.getOuterBottomEndCorner();
792
+ } else if (coords.isEqual(this.getOuterTopEndCorner())) {
793
+ return this.getOuterBottomStartCorner();
794
+ } else if (coords.isEqual(this.getOuterBottomStartCorner())) {
795
+ return this.getOuterTopEndCorner();
632
796
  }
633
797
  }
634
798
  /**
@@ -684,14 +848,14 @@ var CellRange = /*#__PURE__*/function () {
684
848
  }, {
685
849
  key: "getInner",
686
850
  value: function getInner() {
687
- var topLeft = this.getOuterTopLeftCorner();
688
- var bottomRight = this.getOuterBottomRightCorner();
851
+ var topStart = this.getOuterTopStartCorner();
852
+ var bottomEnd = this.getOuterBottomEndCorner();
689
853
  var out = [];
690
854
 
691
- for (var r = topLeft.row; r <= bottomRight.row; r++) {
692
- for (var c = topLeft.col; c <= bottomRight.col; c++) {
855
+ for (var r = topStart.row; r <= bottomEnd.row; r++) {
856
+ for (var c = topStart.col; c <= bottomEnd.col; c++) {
693
857
  if (!(this.from.row === r && this.from.col === c) && !(this.to.row === r && this.to.col === c)) {
694
- out.push(new _coords.default(r, c));
858
+ out.push(this._createCellCoords(r, c));
695
859
  }
696
860
  }
697
861
  }
@@ -707,18 +871,18 @@ var CellRange = /*#__PURE__*/function () {
707
871
  }, {
708
872
  key: "getAll",
709
873
  value: function getAll() {
710
- var topLeft = this.getOuterTopLeftCorner();
711
- var bottomRight = this.getOuterBottomRightCorner();
874
+ var topStart = this.getOuterTopStartCorner();
875
+ var bottomEnd = this.getOuterBottomEndCorner();
712
876
  var out = [];
713
877
 
714
- for (var r = topLeft.row; r <= bottomRight.row; r++) {
715
- for (var c = topLeft.col; c <= bottomRight.col; c++) {
716
- if (topLeft.row === r && topLeft.col === c) {
717
- out.push(topLeft);
718
- } else if (bottomRight.row === r && bottomRight.col === c) {
719
- out.push(bottomRight);
878
+ for (var r = topStart.row; r <= bottomEnd.row; r++) {
879
+ for (var c = topStart.col; c <= bottomEnd.col; c++) {
880
+ if (topStart.row === r && topStart.col === c) {
881
+ out.push(topStart);
882
+ } else if (bottomEnd.row === r && bottomEnd.col === c) {
883
+ out.push(bottomEnd);
720
884
  } else {
721
- out.push(new _coords.default(r, c));
885
+ out.push(this._createCellCoords(r, c));
722
886
  }
723
887
  }
724
888
  }
@@ -735,11 +899,11 @@ var CellRange = /*#__PURE__*/function () {
735
899
  }, {
736
900
  key: "forAll",
737
901
  value: function forAll(callback) {
738
- var topLeft = this.getOuterTopLeftCorner();
739
- var bottomRight = this.getOuterBottomRightCorner();
902
+ var topStart = this.getOuterTopStartCorner();
903
+ var bottomEnd = this.getOuterBottomEndCorner();
740
904
 
741
- for (var r = topLeft.row; r <= bottomRight.row; r++) {
742
- for (var c = topLeft.col; c <= bottomRight.col; c++) {
905
+ for (var r = topStart.row; r <= bottomEnd.row; r++) {
906
+ for (var c = topStart.col; c <= bottomEnd.col; c++) {
743
907
  var breakIteration = callback(r, c);
744
908
 
745
909
  if (breakIteration === false) {
@@ -757,7 +921,7 @@ var CellRange = /*#__PURE__*/function () {
757
921
  }, {
758
922
  key: "clone",
759
923
  value: function clone() {
760
- return new CellRange(this.highlight, this.from, this.to);
924
+ return new CellRange(this.highlight, this.from, this.to, _classPrivateFieldGet(this, _isRtl));
761
925
  }
762
926
  /**
763
927
  * Convert CellRange to literal object.
@@ -774,6 +938,21 @@ var CellRange = /*#__PURE__*/function () {
774
938
  to: this.to.toObject()
775
939
  };
776
940
  }
941
+ /**
942
+ * Creates and returns a new instance of the CellCoords object. The object automatically inherits
943
+ * the LTR/RTL flag from this CellRange instance.
944
+ *
945
+ * @private
946
+ * @param {number} row The row index.
947
+ * @param {number} column The column index.
948
+ * @returns {CellCoords}
949
+ */
950
+
951
+ }, {
952
+ key: "_createCellCoords",
953
+ value: function _createCellCoords(row, column) {
954
+ return new _coords.default(row, column, _classPrivateFieldGet(this, _isRtl));
955
+ }
777
956
  }]);
778
957
 
779
958
  return CellRange;