handsontable 11.1.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/3rdparty/walkontable/src/border.js +120 -98
  2. package/3rdparty/walkontable/src/border.mjs +120 -94
  3. package/3rdparty/walkontable/src/cell/coords.js +59 -17
  4. package/3rdparty/walkontable/src/cell/coords.mjs +55 -17
  5. package/3rdparty/walkontable/src/cell/range.d.ts +10 -2
  6. package/3rdparty/walkontable/src/cell/range.js +278 -99
  7. package/3rdparty/walkontable/src/cell/range.mjs +273 -99
  8. package/3rdparty/walkontable/src/core/_base.js +452 -0
  9. package/3rdparty/walkontable/src/core/_base.mjs +440 -0
  10. package/3rdparty/walkontable/src/core/clone.js +97 -0
  11. package/3rdparty/walkontable/src/core/clone.mjs +80 -0
  12. package/3rdparty/walkontable/src/core/core.js +183 -0
  13. package/3rdparty/walkontable/src/core/core.mjs +160 -0
  14. package/3rdparty/walkontable/src/event.js +99 -66
  15. package/3rdparty/walkontable/src/event.mjs +99 -63
  16. package/3rdparty/walkontable/src/facade/core.js +251 -0
  17. package/3rdparty/walkontable/src/facade/core.mjs +243 -0
  18. package/3rdparty/walkontable/src/index.js +2 -46
  19. package/3rdparty/walkontable/src/index.mjs +3 -13
  20. package/3rdparty/walkontable/src/overlay/_base.js +124 -57
  21. package/3rdparty/walkontable/src/overlay/_base.mjs +124 -57
  22. package/3rdparty/walkontable/src/overlay/bottom.js +96 -80
  23. package/3rdparty/walkontable/src/overlay/bottom.mjs +96 -80
  24. package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.js → bottomInlineStartCorner.js} +45 -62
  25. package/3rdparty/walkontable/src/overlay/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +44 -61
  26. package/3rdparty/walkontable/src/overlay/constants.js +25 -9
  27. package/3rdparty/walkontable/src/overlay/constants.mjs +14 -4
  28. package/3rdparty/walkontable/src/overlay/index.js +10 -19
  29. package/3rdparty/walkontable/src/overlay/index.mjs +4 -5
  30. package/3rdparty/walkontable/src/overlay/{left.js → inlineStart.js} +113 -82
  31. package/3rdparty/walkontable/src/overlay/{left.mjs → inlineStart.mjs} +112 -81
  32. package/3rdparty/walkontable/src/overlay/top.js +93 -68
  33. package/3rdparty/walkontable/src/overlay/top.mjs +93 -68
  34. package/3rdparty/walkontable/src/overlay/{topLeftCorner.js → topInlineStartCorner.js} +56 -57
  35. package/3rdparty/walkontable/src/overlay/{topLeftCorner.mjs → topInlineStartCorner.mjs} +51 -52
  36. package/3rdparty/walkontable/src/overlays.js +225 -156
  37. package/3rdparty/walkontable/src/overlays.mjs +224 -154
  38. package/3rdparty/walkontable/src/renderer/cells.js +4 -3
  39. package/3rdparty/walkontable/src/renderer/cells.mjs +4 -3
  40. package/3rdparty/walkontable/src/renderer/colGroup.js +2 -2
  41. package/3rdparty/walkontable/src/renderer/colGroup.mjs +2 -2
  42. package/3rdparty/walkontable/src/renderer/columnHeaders.js +2 -2
  43. package/3rdparty/walkontable/src/renderer/columnHeaders.mjs +2 -2
  44. package/3rdparty/walkontable/src/renderer/rowHeaders.js +2 -2
  45. package/3rdparty/walkontable/src/renderer/rowHeaders.mjs +2 -2
  46. package/3rdparty/walkontable/src/renderer/rows.js +2 -2
  47. package/3rdparty/walkontable/src/renderer/rows.mjs +2 -2
  48. package/3rdparty/walkontable/src/scroll.js +125 -104
  49. package/3rdparty/walkontable/src/scroll.mjs +124 -104
  50. package/3rdparty/walkontable/src/selection.js +10 -14
  51. package/3rdparty/walkontable/src/selection.mjs +10 -12
  52. package/3rdparty/walkontable/src/settings.js +235 -126
  53. package/3rdparty/walkontable/src/settings.mjs +235 -125
  54. package/3rdparty/walkontable/src/table/bottom.js +16 -5
  55. package/3rdparty/walkontable/src/table/bottom.mjs +15 -5
  56. package/3rdparty/walkontable/src/table/{bottomLeftCorner.js → bottomInlineStartCorner.js} +27 -15
  57. package/3rdparty/walkontable/src/table/{bottomLeftCorner.mjs → bottomInlineStartCorner.mjs} +26 -15
  58. package/3rdparty/walkontable/src/table/{left.js → inlineStart.js} +23 -15
  59. package/3rdparty/walkontable/src/table/{left.mjs → inlineStart.mjs} +22 -15
  60. package/3rdparty/walkontable/src/table/master.js +22 -12
  61. package/3rdparty/walkontable/src/table/master.mjs +22 -12
  62. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.js +12 -6
  63. package/3rdparty/walkontable/src/table/mixin/calculatedColumns.mjs +12 -6
  64. package/3rdparty/walkontable/src/table/mixin/calculatedRows.js +12 -6
  65. package/3rdparty/walkontable/src/table/mixin/calculatedRows.mjs +12 -6
  66. package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.js → stickyColumnsStart.js} +13 -7
  67. package/3rdparty/walkontable/src/table/mixin/{stickyColumnsLeft.mjs → stickyColumnsStart.mjs} +13 -7
  68. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.js +11 -5
  69. package/3rdparty/walkontable/src/table/mixin/stickyRowsBottom.mjs +11 -5
  70. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.js +9 -3
  71. package/3rdparty/walkontable/src/table/mixin/stickyRowsTop.mjs +9 -3
  72. package/3rdparty/walkontable/src/table/top.js +16 -5
  73. package/3rdparty/walkontable/src/table/top.mjs +15 -5
  74. package/3rdparty/walkontable/src/table/{topLeftCorner.js → topInlineStartCorner.js} +27 -15
  75. package/3rdparty/walkontable/src/table/{topLeftCorner.mjs → topInlineStartCorner.mjs} +26 -15
  76. package/3rdparty/walkontable/src/table.js +235 -140
  77. package/3rdparty/walkontable/src/table.mjs +231 -134
  78. package/3rdparty/walkontable/src/types.js +103 -0
  79. package/3rdparty/walkontable/src/types.mjs +102 -0
  80. package/3rdparty/walkontable/src/utils/column.js +22 -33
  81. package/3rdparty/walkontable/src/utils/column.mjs +22 -30
  82. package/3rdparty/walkontable/src/utils/orderView/sharedView.js +2 -2
  83. package/3rdparty/walkontable/src/utils/orderView/sharedView.mjs +2 -2
  84. package/3rdparty/walkontable/src/utils/row.js +9 -4
  85. package/3rdparty/walkontable/src/utils/row.mjs +9 -4
  86. package/3rdparty/walkontable/src/viewport.js +89 -100
  87. package/3rdparty/walkontable/src/viewport.mjs +89 -97
  88. package/CHANGELOG.md +92 -0
  89. package/LICENSE.txt +1 -1
  90. package/README.md +0 -1
  91. package/base.js +2 -2
  92. package/base.mjs +2 -2
  93. package/cellTypes/timeType/timeType.d.ts +6 -6
  94. package/cellTypes/timeType/timeType.js +4 -5
  95. package/cellTypes/timeType/timeType.mjs +4 -5
  96. package/core.d.ts +6 -1
  97. package/core.js +508 -80
  98. package/core.mjs +517 -92
  99. package/dataMap/index.js +4 -0
  100. package/dataMap/index.mjs +2 -1
  101. package/dataMap/metaManager/index.js +2 -2
  102. package/dataMap/metaManager/index.mjs +2 -2
  103. package/dataMap/metaManager/metaLayers/globalMeta.js +4 -0
  104. package/dataMap/metaManager/metaLayers/globalMeta.mjs +4 -0
  105. package/dataMap/metaManager/metaLayers/tableMeta.js +2 -2
  106. package/dataMap/metaManager/metaLayers/tableMeta.mjs +2 -2
  107. package/dataMap/metaManager/metaSchema.js +282 -187
  108. package/dataMap/metaManager/metaSchema.mjs +282 -187
  109. package/dataMap/metaManager/mods/extendMetaProperties.js +126 -0
  110. package/dataMap/metaManager/mods/extendMetaProperties.mjs +113 -0
  111. package/dataMap/replaceData.js +3 -17
  112. package/dataMap/replaceData.mjs +3 -17
  113. package/dist/handsontable.css +268 -92
  114. package/dist/handsontable.full.css +269 -103
  115. package/dist/handsontable.full.js +41990 -35658
  116. package/dist/handsontable.full.min.css +9 -9
  117. package/dist/handsontable.full.min.js +144 -144
  118. package/dist/handsontable.js +29561 -25597
  119. package/dist/handsontable.min.css +8 -8
  120. package/dist/handsontable.min.js +4 -4
  121. package/dist/languages/all.js +131 -34
  122. package/dist/languages/all.min.js +1 -1
  123. package/dist/languages/ar-AR.js +167 -0
  124. package/dist/languages/ar-AR.min.js +1 -0
  125. package/dist/languages/cs-CZ.js +167 -0
  126. package/dist/languages/cs-CZ.min.js +1 -0
  127. package/dist/languages/de-CH.js +31 -29
  128. package/dist/languages/de-CH.min.js +1 -1
  129. package/dist/languages/de-DE.js +4 -2
  130. package/dist/languages/de-DE.min.js +1 -1
  131. package/dist/languages/en-US.js +4 -2
  132. package/dist/languages/en-US.min.js +1 -1
  133. package/dist/languages/es-MX.js +4 -2
  134. package/dist/languages/es-MX.min.js +1 -1
  135. package/dist/languages/fr-FR.js +4 -2
  136. package/dist/languages/fr-FR.min.js +1 -1
  137. package/dist/languages/it-IT.js +4 -2
  138. package/dist/languages/it-IT.min.js +1 -1
  139. package/dist/languages/ja-JP.js +36 -38
  140. package/dist/languages/ja-JP.min.js +1 -1
  141. package/dist/languages/ko-KR.js +36 -39
  142. package/dist/languages/ko-KR.min.js +1 -1
  143. package/dist/languages/lv-LV.js +2 -2
  144. package/dist/languages/lv-LV.min.js +1 -1
  145. package/dist/languages/nb-NO.js +2 -2
  146. package/dist/languages/nb-NO.min.js +1 -1
  147. package/dist/languages/nl-NL.js +2 -2
  148. package/dist/languages/nl-NL.min.js +1 -1
  149. package/dist/languages/pl-PL.js +2 -2
  150. package/dist/languages/pl-PL.min.js +1 -1
  151. package/dist/languages/pt-BR.js +2 -2
  152. package/dist/languages/pt-BR.min.js +1 -1
  153. package/dist/languages/ru-RU.js +2 -2
  154. package/dist/languages/ru-RU.min.js +1 -1
  155. package/dist/languages/sr-SP.js +171 -0
  156. package/dist/languages/sr-SP.min.js +1 -0
  157. package/dist/languages/zh-CN.js +24 -24
  158. package/dist/languages/zh-CN.min.js +1 -1
  159. package/dist/languages/zh-TW.js +24 -24
  160. package/dist/languages/zh-TW.min.js +1 -1
  161. package/editorManager.js +120 -267
  162. package/editorManager.mjs +128 -278
  163. package/editors/autocompleteEditor/autocompleteEditor.js +22 -25
  164. package/editors/autocompleteEditor/autocompleteEditor.mjs +22 -25
  165. package/editors/baseEditor/baseEditor.js +205 -34
  166. package/editors/baseEditor/baseEditor.mjs +200 -32
  167. package/editors/checkboxEditor/checkboxEditor.js +2 -2
  168. package/editors/checkboxEditor/checkboxEditor.mjs +2 -2
  169. package/editors/dateEditor/dateEditor.js +21 -8
  170. package/editors/dateEditor/dateEditor.mjs +22 -9
  171. package/editors/dropdownEditor/dropdownEditor.js +3 -3
  172. package/editors/dropdownEditor/dropdownEditor.mjs +3 -3
  173. package/editors/handsontableEditor/handsontableEditor.js +106 -55
  174. package/editors/handsontableEditor/handsontableEditor.mjs +106 -55
  175. package/editors/index.d.ts +3 -0
  176. package/editors/index.js +6 -0
  177. package/editors/index.mjs +3 -1
  178. package/editors/numericEditor/numericEditor.js +2 -2
  179. package/editors/numericEditor/numericEditor.mjs +2 -2
  180. package/editors/passwordEditor/passwordEditor.js +3 -3
  181. package/editors/passwordEditor/passwordEditor.mjs +3 -3
  182. package/editors/selectEditor/selectEditor.js +65 -110
  183. package/editors/selectEditor/selectEditor.mjs +66 -109
  184. package/editors/textEditor/caretPositioner.js +49 -0
  185. package/editors/textEditor/caretPositioner.mjs +42 -0
  186. package/editors/textEditor/textEditor.js +205 -181
  187. package/editors/textEditor/textEditor.mjs +199 -179
  188. package/editors/timeEditor/index.d.ts +1 -0
  189. package/editors/timeEditor/index.js +9 -0
  190. package/editors/timeEditor/index.mjs +1 -0
  191. package/editors/timeEditor/timeEditor.d.ts +7 -0
  192. package/editors/timeEditor/timeEditor.js +105 -0
  193. package/editors/timeEditor/timeEditor.mjs +84 -0
  194. package/eventManager.js +4 -2
  195. package/eventManager.mjs +4 -2
  196. package/helpers/mixed.js +2 -2
  197. package/helpers/mixed.mjs +2 -2
  198. package/i18n/languages/ar-AR.js +41 -0
  199. package/i18n/languages/ar-AR.mjs +17 -0
  200. package/i18n/languages/cs-CZ.js +40 -0
  201. package/i18n/languages/cs-CZ.mjs +16 -0
  202. package/i18n/languages/index.js +12 -0
  203. package/i18n/languages/index.mjs +4 -1
  204. package/i18n/languages/sr-SP.js +40 -0
  205. package/i18n/languages/sr-SP.mjs +16 -0
  206. package/index.d.ts +4 -0
  207. package/languages/all.js +131 -34
  208. package/languages/ar-AR.js +167 -0
  209. package/languages/ar-AR.mjs +19 -0
  210. package/languages/cs-CZ.js +167 -0
  211. package/languages/cs-CZ.mjs +18 -0
  212. package/languages/de-CH.js +31 -29
  213. package/languages/de-DE.js +4 -2
  214. package/languages/en-US.js +4 -2
  215. package/languages/es-MX.js +4 -2
  216. package/languages/fr-FR.js +4 -2
  217. package/languages/index.js +131 -34
  218. package/languages/index.mjs +4 -1
  219. package/languages/it-IT.js +4 -2
  220. package/languages/ja-JP.js +36 -38
  221. package/languages/ko-KR.js +36 -39
  222. package/languages/lv-LV.js +2 -2
  223. package/languages/nb-NO.js +2 -2
  224. package/languages/nl-NL.js +2 -2
  225. package/languages/pl-PL.js +2 -2
  226. package/languages/pt-BR.js +2 -2
  227. package/languages/ru-RU.js +2 -2
  228. package/languages/sr-SP.js +171 -0
  229. package/languages/sr-SP.mjs +18 -0
  230. package/languages/zh-CN.js +24 -24
  231. package/languages/zh-TW.js +24 -24
  232. package/package.json +44 -4
  233. package/pluginHooks.js +49 -13
  234. package/pluginHooks.mjs +49 -13
  235. package/plugins/autoColumnSize/autoColumnSize.js +15 -10
  236. package/plugins/autoColumnSize/autoColumnSize.mjs +15 -10
  237. package/plugins/autoRowSize/autoRowSize.js +14 -9
  238. package/plugins/autoRowSize/autoRowSize.mjs +14 -9
  239. package/plugins/autofill/autofill.js +49 -33
  240. package/plugins/autofill/autofill.mjs +49 -32
  241. package/plugins/autofill/utils.js +10 -11
  242. package/plugins/autofill/utils.mjs +10 -10
  243. package/plugins/base/base.d.ts +8 -2
  244. package/plugins/base/base.js +67 -4
  245. package/plugins/base/base.mjs +66 -4
  246. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +3 -3
  247. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +3 -3
  248. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.js +3 -3
  249. package/plugins/bindRowsWithHeaders/maps/looseBindsMap.mjs +3 -3
  250. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.js +3 -3
  251. package/plugins/bindRowsWithHeaders/maps/strictBindsMap.mjs +3 -3
  252. package/plugins/collapsibleColumns/collapsibleColumns.js +27 -9
  253. package/plugins/collapsibleColumns/collapsibleColumns.mjs +27 -9
  254. package/plugins/columnSorting/columnSorting.js +5 -7
  255. package/plugins/columnSorting/columnSorting.mjs +5 -6
  256. package/plugins/columnSummary/columnSummary.js +3 -3
  257. package/plugins/columnSummary/columnSummary.mjs +3 -3
  258. package/plugins/comments/commentEditor.js +18 -2
  259. package/plugins/comments/commentEditor.mjs +19 -3
  260. package/plugins/comments/comments.js +57 -46
  261. package/plugins/comments/comments.mjs +58 -46
  262. package/plugins/contextMenu/contextMenu.js +10 -6
  263. package/plugins/contextMenu/contextMenu.mjs +10 -6
  264. package/plugins/contextMenu/menu.js +222 -110
  265. package/plugins/contextMenu/menu.mjs +219 -111
  266. package/plugins/contextMenu/predefinedItems/columnLeft.js +12 -4
  267. package/plugins/contextMenu/predefinedItems/columnLeft.mjs +11 -4
  268. package/plugins/contextMenu/predefinedItems/columnRight.js +9 -9
  269. package/plugins/contextMenu/predefinedItems/columnRight.mjs +9 -9
  270. package/plugins/contextMenu/utils.js +2 -2
  271. package/plugins/contextMenu/utils.mjs +2 -2
  272. package/plugins/copyPaste/copyPaste.js +31 -21
  273. package/plugins/copyPaste/copyPaste.mjs +30 -21
  274. package/plugins/customBorders/contextMenuItem/left.js +4 -3
  275. package/plugins/customBorders/contextMenuItem/left.mjs +4 -3
  276. package/plugins/customBorders/contextMenuItem/right.js +4 -3
  277. package/plugins/customBorders/contextMenuItem/right.mjs +4 -3
  278. package/plugins/customBorders/customBorders.js +144 -87
  279. package/plugins/customBorders/customBorders.mjs +143 -85
  280. package/plugins/customBorders/utils.js +131 -27
  281. package/plugins/customBorders/utils.mjs +115 -27
  282. package/plugins/dragToScroll/dragToScroll.js +10 -5
  283. package/plugins/dragToScroll/dragToScroll.mjs +10 -5
  284. package/plugins/dropdownMenu/dropdownMenu.js +9 -7
  285. package/plugins/dropdownMenu/dropdownMenu.mjs +9 -7
  286. package/plugins/exportFile/exportFile.js +2 -2
  287. package/plugins/exportFile/exportFile.mjs +2 -2
  288. package/plugins/exportFile/types/csv.js +2 -2
  289. package/plugins/exportFile/types/csv.mjs +2 -2
  290. package/plugins/filters/component/actionBar.js +2 -2
  291. package/plugins/filters/component/actionBar.mjs +2 -2
  292. package/plugins/filters/component/condition.js +3 -3
  293. package/plugins/filters/component/condition.mjs +3 -3
  294. package/plugins/filters/component/operators.js +2 -2
  295. package/plugins/filters/component/operators.mjs +2 -2
  296. package/plugins/filters/component/value.js +3 -3
  297. package/plugins/filters/component/value.mjs +3 -3
  298. package/plugins/filters/filters.js +11 -8
  299. package/plugins/filters/filters.mjs +11 -8
  300. package/plugins/filters/ui/input.js +3 -3
  301. package/plugins/filters/ui/input.mjs +3 -3
  302. package/plugins/filters/ui/link.js +3 -3
  303. package/plugins/filters/ui/link.mjs +3 -3
  304. package/plugins/filters/ui/multipleSelect.js +18 -31
  305. package/plugins/filters/ui/multipleSelect.mjs +18 -31
  306. package/plugins/filters/ui/radioInput.js +3 -3
  307. package/plugins/filters/ui/radioInput.mjs +3 -3
  308. package/plugins/filters/ui/select.js +4 -4
  309. package/plugins/filters/ui/select.mjs +4 -4
  310. package/plugins/formulas/formulas.js +14 -9
  311. package/plugins/formulas/formulas.mjs +14 -9
  312. package/plugins/hiddenColumns/contextMenuItem/hideColumn.js +2 -4
  313. package/plugins/hiddenColumns/contextMenuItem/hideColumn.mjs +2 -4
  314. package/plugins/hiddenColumns/contextMenuItem/showColumn.js +5 -5
  315. package/plugins/hiddenColumns/contextMenuItem/showColumn.mjs +5 -5
  316. package/plugins/hiddenColumns/hiddenColumns.js +9 -4
  317. package/plugins/hiddenColumns/hiddenColumns.mjs +9 -4
  318. package/plugins/hiddenRows/contextMenuItem/hideRow.js +2 -4
  319. package/plugins/hiddenRows/contextMenuItem/hideRow.mjs +2 -4
  320. package/plugins/hiddenRows/contextMenuItem/showRow.js +5 -5
  321. package/plugins/hiddenRows/contextMenuItem/showRow.mjs +5 -5
  322. package/plugins/hiddenRows/hiddenRows.js +9 -4
  323. package/plugins/hiddenRows/hiddenRows.mjs +9 -4
  324. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.js +1 -1
  325. package/plugins/manualColumnFreeze/contextMenuItem/freezeColumn.mjs +1 -1
  326. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.js +1 -1
  327. package/plugins/manualColumnFreeze/contextMenuItem/unfreezeColumn.mjs +1 -1
  328. package/plugins/manualColumnFreeze/manualColumnFreeze.js +54 -15
  329. package/plugins/manualColumnFreeze/manualColumnFreeze.mjs +49 -15
  330. package/plugins/manualColumnMove/manualColumnMove.js +70 -70
  331. package/plugins/manualColumnMove/manualColumnMove.mjs +71 -71
  332. package/plugins/manualColumnMove/ui/_base.js +25 -12
  333. package/plugins/manualColumnMove/ui/_base.mjs +24 -12
  334. package/plugins/manualColumnMove/ui/backlight.js +3 -3
  335. package/plugins/manualColumnMove/ui/backlight.mjs +3 -3
  336. package/plugins/manualColumnMove/ui/guideline.js +3 -3
  337. package/plugins/manualColumnMove/ui/guideline.mjs +3 -3
  338. package/plugins/manualColumnResize/manualColumnResize.js +37 -21
  339. package/plugins/manualColumnResize/manualColumnResize.mjs +37 -21
  340. package/plugins/manualRowMove/manualRowMove.js +26 -34
  341. package/plugins/manualRowMove/manualRowMove.mjs +26 -34
  342. package/plugins/manualRowMove/ui/backlight.js +3 -3
  343. package/plugins/manualRowMove/ui/backlight.mjs +3 -3
  344. package/plugins/manualRowMove/ui/guideline.js +3 -3
  345. package/plugins/manualRowMove/ui/guideline.mjs +3 -3
  346. package/plugins/manualRowResize/manualRowResize.js +34 -19
  347. package/plugins/manualRowResize/manualRowResize.mjs +34 -19
  348. package/plugins/mergeCells/calculations/autofill.js +6 -5
  349. package/plugins/mergeCells/calculations/autofill.mjs +6 -4
  350. package/plugins/mergeCells/calculations/selection.js +9 -4
  351. package/plugins/mergeCells/calculations/selection.mjs +9 -4
  352. package/plugins/mergeCells/cellCoords.js +16 -4
  353. package/plugins/mergeCells/cellCoords.mjs +16 -3
  354. package/plugins/mergeCells/cellsCollection.js +30 -23
  355. package/plugins/mergeCells/cellsCollection.mjs +30 -22
  356. package/plugins/mergeCells/mergeCells.js +94 -61
  357. package/plugins/mergeCells/mergeCells.mjs +94 -59
  358. package/plugins/multiColumnSorting/multiColumnSorting.js +4 -6
  359. package/plugins/multiColumnSorting/multiColumnSorting.mjs +4 -5
  360. package/plugins/multipleSelectionHandles/multipleSelectionHandles.js +51 -57
  361. package/plugins/multipleSelectionHandles/multipleSelectionHandles.mjs +52 -57
  362. package/plugins/nestedHeaders/nestedHeaders.js +31 -20
  363. package/plugins/nestedHeaders/nestedHeaders.mjs +31 -20
  364. package/plugins/nestedHeaders/stateManager/utils.js +3 -4
  365. package/plugins/nestedHeaders/stateManager/utils.mjs +3 -4
  366. package/plugins/nestedHeaders/utils/ghostTable.js +114 -75
  367. package/plugins/nestedHeaders/utils/ghostTable.mjs +114 -74
  368. package/plugins/nestedRows/nestedRows.js +9 -4
  369. package/plugins/nestedRows/nestedRows.mjs +9 -4
  370. package/plugins/nestedRows/ui/collapsing.js +2 -2
  371. package/plugins/nestedRows/ui/collapsing.mjs +2 -2
  372. package/plugins/nestedRows/ui/contextMenu.js +2 -2
  373. package/plugins/nestedRows/ui/contextMenu.mjs +2 -2
  374. package/plugins/nestedRows/ui/headers.js +2 -2
  375. package/plugins/nestedRows/ui/headers.mjs +2 -2
  376. package/plugins/nestedRows/utils/rowMoveController.js +2 -4
  377. package/plugins/nestedRows/utils/rowMoveController.mjs +2 -3
  378. package/plugins/persistentState/persistentState.js +9 -4
  379. package/plugins/persistentState/persistentState.mjs +9 -4
  380. package/plugins/search/search.js +9 -4
  381. package/plugins/search/search.mjs +9 -4
  382. package/plugins/touchScroll/touchScroll.js +27 -21
  383. package/plugins/touchScroll/touchScroll.mjs +27 -21
  384. package/plugins/trimRows/trimRows.js +9 -4
  385. package/plugins/trimRows/trimRows.mjs +9 -4
  386. package/plugins/undoRedo/undoRedo.js +53 -47
  387. package/plugins/undoRedo/undoRedo.mjs +53 -46
  388. package/renderers/autocompleteRenderer/autocompleteRenderer.js +1 -3
  389. package/renderers/autocompleteRenderer/autocompleteRenderer.mjs +1 -2
  390. package/renderers/checkboxRenderer/checkboxRenderer.js +48 -43
  391. package/renderers/checkboxRenderer/checkboxRenderer.mjs +48 -41
  392. package/renderers/index.d.ts +4 -1
  393. package/renderers/index.js +6 -0
  394. package/renderers/index.mjs +3 -1
  395. package/renderers/numericRenderer/numericRenderer.js +1 -0
  396. package/renderers/numericRenderer/numericRenderer.mjs +1 -0
  397. package/renderers/timeRenderer/index.d.ts +1 -0
  398. package/renderers/timeRenderer/index.js +9 -0
  399. package/renderers/timeRenderer/index.mjs +1 -0
  400. package/renderers/timeRenderer/timeRenderer.d.ts +5 -0
  401. package/renderers/timeRenderer/timeRenderer.js +31 -0
  402. package/renderers/timeRenderer/timeRenderer.mjs +20 -0
  403. package/selection/highlight/visualSelection.js +94 -220
  404. package/selection/highlight/visualSelection.mjs +91 -213
  405. package/selection/mouseEventHandler.js +15 -10
  406. package/selection/mouseEventHandler.mjs +15 -9
  407. package/selection/range.js +4 -5
  408. package/selection/range.mjs +4 -5
  409. package/selection/selection.js +35 -22
  410. package/selection/selection.mjs +35 -20
  411. package/selection/transformation.js +4 -6
  412. package/selection/transformation.mjs +4 -5
  413. package/settings.d.ts +3 -1
  414. package/shortcuts/context.d.ts +20 -0
  415. package/shortcuts/context.js +296 -0
  416. package/shortcuts/context.mjs +268 -0
  417. package/shortcuts/index.d.ts +1 -0
  418. package/shortcuts/index.js +8 -0
  419. package/shortcuts/index.mjs +1 -0
  420. package/shortcuts/keyObserver.js +67 -0
  421. package/shortcuts/keyObserver.mjs +58 -0
  422. package/shortcuts/manager.d.ts +10 -0
  423. package/shortcuts/manager.js +185 -0
  424. package/shortcuts/manager.mjs +176 -0
  425. package/shortcuts/recorder.js +192 -0
  426. package/shortcuts/recorder.mjs +180 -0
  427. package/shortcuts/utils.js +77 -0
  428. package/shortcuts/utils.mjs +54 -0
  429. package/tableView.js +164 -84
  430. package/tableView.mjs +164 -74
  431. package/translations/changesObservable/observer.js +0 -1
  432. package/translations/changesObservable/observer.mjs +0 -1
  433. package/translations/indexMapper.d.ts +3 -1
  434. package/translations/indexMapper.js +89 -11
  435. package/translations/indexMapper.mjs +91 -20
  436. package/translations/mapCollections/aggregatedCollection.js +2 -2
  437. package/translations/mapCollections/aggregatedCollection.mjs +2 -2
  438. package/translations/maps/hidingMap.js +4 -2
  439. package/translations/maps/hidingMap.mjs +4 -2
  440. package/translations/maps/indexMap.js +2 -0
  441. package/translations/maps/indexMap.mjs +2 -0
  442. package/translations/maps/indexesSequence.js +5 -3
  443. package/translations/maps/indexesSequence.mjs +5 -3
  444. package/translations/maps/linkedPhysicalIndexToValueMap.js +5 -3
  445. package/translations/maps/linkedPhysicalIndexToValueMap.mjs +5 -3
  446. package/translations/maps/physicalIndexToValueMap.js +5 -3
  447. package/translations/maps/physicalIndexToValueMap.mjs +5 -3
  448. package/translations/maps/trimmingMap.js +4 -2
  449. package/translations/maps/trimmingMap.mjs +4 -2
  450. package/utils/dataStructures/uniqueMap.js +14 -1
  451. package/utils/dataStructures/uniqueMap.mjs +14 -1
  452. package/utils/dataStructures/uniqueSet.js +9 -0
  453. package/utils/dataStructures/uniqueSet.mjs +9 -0
  454. package/utils/ghostTable.js +1 -1
  455. package/utils/ghostTable.mjs +1 -1
  456. package/3rdparty/walkontable/src/core.js +0 -309
  457. package/3rdparty/walkontable/src/core.mjs +0 -293
  458. package/3rdparty/walkontable/src/overlay/registerer.js +0 -70
  459. package/3rdparty/walkontable/src/overlay/registerer.mjs +0 -57
  460. package/utils/keyStateObserver.js +0 -121
  461. package/utils/keyStateObserver.mjs +0 -103
@@ -19,14 +19,14 @@
19
19
  * In any case, you must not make any such use of this software as to develop software which may be
20
20
  * considered competitive with this software.
21
21
  *
22
- * UNLESS EXPRESSLY AGREED OTHERWISE, HANDSONCODE PROVIDES THIS SOFTWARE ON AN "AS IS"
22
+ * UNLESS EXPRESSLY AGREED OTHERWISE, HANDSONCODE PROVIDES THIS SOFTWARE ON AN "AS IS"
23
23
  * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, AND IN NO EVENT AND UNDER NO
24
24
  * LEGAL THEORY, SHALL HANDSONCODE BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT,
25
25
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
26
26
  * USE OR INABILITY TO USE THIS SOFTWARE.
27
27
  *
28
- * Version: 11.1.0
29
- * Release date: 13/01/2022 (built at 13/01/2022 12:30:12)
28
+ * Version: 12.1.0
29
+ * Release date: 28/06/2022 (built at 28/06/2022 12:07:35)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -183,20 +183,21 @@
183
183
  white-space: pre-wrap;
184
184
  }
185
185
 
186
- [dir=rtl] .handsontable th,
187
- [dir=rtl] .handsontable td {
186
+ [dir=rtl].handsontable th, [dir=rtl].handsontable td {
188
187
  border-right-width: 0;
189
188
  border-left: 1px solid #ccc;
190
189
  }
191
190
 
192
191
  .handsontable th:last-child {
193
192
  /*Foundation framework fix*/
193
+ border-left: none;
194
194
  border-right: 1px solid #ccc;
195
195
  border-bottom: 1px solid #ccc;
196
196
  }
197
197
 
198
- [dir=rtl] .handsontable th:last-child {
198
+ [dir=rtl].handsontable th:last-child {
199
199
  /*Foundation framework fix*/
200
+ border-right: none;
200
201
  border-left: 1px solid #ccc;
201
202
  }
202
203
 
@@ -206,9 +207,7 @@
206
207
  border-left: 1px solid #ccc;
207
208
  }
208
209
 
209
- [dir=rtl] .handsontable th:first-child,
210
- [dir=rtl] .handsontable th:nth-child(2),
211
- [dir=rtl] .handsontable td:first-of-type {
210
+ [dir=rtl].handsontable th:first-child, [dir=rtl].handsontable th:nth-child(2), [dir=rtl].handsontable td:first-of-type {
212
211
  border-right: 1px solid #ccc;
213
212
  }
214
213
 
@@ -218,7 +217,7 @@
218
217
  border-right: 1px solid #ccc;
219
218
  }
220
219
 
221
- [dir=rtl] .handsontable .ht_clone_top th:nth-child(2) {
220
+ [dir=rtl].handsontable .ht_clone_top th:nth-child(2) {
222
221
  border-right-width: 0;
223
222
  border-left: 1px solid #ccc;
224
223
  }
@@ -227,7 +226,7 @@
227
226
  border-left: 1px solid #ccc;
228
227
  }
229
228
 
230
- [dir=rtl] .handsontable.htRowHeaders thead tr th:nth-child(2) {
229
+ [dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2) {
231
230
  border-right: 1px solid #ccc;
232
231
  }
233
232
 
@@ -236,14 +235,13 @@
236
235
  border-top: 1px solid #ccc;
237
236
  }
238
237
 
239
- .ht_master:not(.innerBorderLeft):not(.emptyColumns) ~ .handsontable tbody tr th,
240
- .ht_master:not(.innerBorderLeft):not(.emptyColumns) ~ .handsontable:not(.ht_clone_top) thead tr th:first-child {
238
+ .ht_master:not(.innerBorderInlineStart):not(.emptyColumns) ~ .handsontable tbody tr th,
239
+ .ht_master:not(.innerBorderInlineStart):not(.emptyColumns) ~ .handsontable:not(.ht_clone_top) thead tr th:first-child {
241
240
  border-right-width: 0;
242
241
  border-left: 1px solid #ccc;
243
242
  }
244
243
 
245
- [dir=rtl] .ht_master:not(.innerBorderLeft):not(.emptyColumns) ~ .handsontable tbody tr th,
246
- [dir=rtl] .ht_master:not(.innerBorderLeft):not(.emptyColumns) ~ .handsontable:not(.ht_clone_top) thead tr th:first-child {
244
+ [dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) ~ .handsontable tbody tr th, [dir=rtl].ht_master:not(.innerBorderInlineStart):not(.emptyColumns) ~ .handsontable:not(.ht_clone_top) thead tr th:first-child {
247
245
  border-left-width: 0;
248
246
  border-right: 1px solid #ccc;
249
247
  }
@@ -317,11 +315,7 @@ innerBorderBottom - Property controlled by bottom overlay
317
315
  z-index: 100;
318
316
  }
319
317
 
320
- .ht_clone_right {
321
- z-index: 110;
322
- }
323
-
324
- .ht_clone_left {
318
+ .ht_clone_inline_start {
325
319
  z-index: 120;
326
320
  }
327
321
 
@@ -329,11 +323,7 @@ innerBorderBottom - Property controlled by bottom overlay
329
323
  z-index: 130;
330
324
  }
331
325
 
332
- .ht_clone_bottom_right_corner {
333
- z-index: 140;
334
- }
335
-
336
- .ht_clone_bottom_left_corner {
326
+ .ht_clone_bottom_inline_start_corner {
337
327
  z-index: 150;
338
328
  }
339
329
 
@@ -341,33 +331,10 @@ innerBorderBottom - Property controlled by bottom overlay
341
331
  z-index: 160;
342
332
  }
343
333
 
344
- .ht_clone_top_right_corner {
345
- z-index: 170;
346
- }
347
-
348
- .ht_clone_top_left_corner {
334
+ .ht_clone_top_inline_start_corner {
349
335
  z-index: 180;
350
336
  }
351
337
 
352
- /*
353
- Cell borders
354
- */
355
- .handsontable tbody tr th:nth-last-child(2) {
356
- border-right: 1px solid #ccc;
357
- }
358
-
359
- [dir=rtl] .handsontable tbody tr th:nth-last-child(2) {
360
- border-left: 1px solid #ccc;
361
- }
362
-
363
- .ht_clone_top_left_corner thead tr th:nth-last-child(2) {
364
- border-right: 1px solid #ccc;
365
- }
366
-
367
- [dir=rtl] .ht_clone_top_left_corner thead tr th:nth-last-child(2) {
368
- border-left: 1px solid #ccc;
369
- }
370
-
371
338
  .handsontable col.hidden {
372
339
  width: 0 !important;
373
340
  }
@@ -379,7 +346,7 @@ innerBorderBottom - Property controlled by bottom overlay
379
346
  }
380
347
 
381
348
  .ht_master,
382
- .ht_clone_left,
349
+ .ht_clone_inline_start,
383
350
  .ht_clone_top,
384
351
  .ht_clone_bottom {
385
352
  overflow: hidden;
@@ -391,12 +358,12 @@ innerBorderBottom - Property controlled by bottom overlay
391
358
 
392
359
  .handsontable .ht_master thead,
393
360
  .handsontable .ht_master tr th,
394
- .handsontable .ht_clone_left thead {
361
+ .handsontable .ht_clone_inline_start thead {
395
362
  visibility: hidden;
396
363
  }
397
364
 
398
365
  .ht_clone_top .wtHolder,
399
- .ht_clone_left .wtHolder,
366
+ .ht_clone_inline_start .wtHolder,
400
367
  .ht_clone_bottom .wtHolder {
401
368
  overflow: hidden;
402
369
  }
@@ -472,13 +439,23 @@ innerBorderBottom - Property controlled by bottom overlay
472
439
 
473
440
  .handsontable .manualColumnResizerGuide {
474
441
  position: absolute;
475
- right: 0;
442
+ right: unset;
476
443
  top: 0;
477
444
  background-color: #34a9db;
478
445
  display: none;
479
446
  width: 0;
480
447
  border-right: 1px dashed #777;
448
+ border-left: none;
481
449
  margin-left: 5px;
450
+ margin-right: unset;
451
+ }
452
+
453
+ [dir=rtl].handsontable .manualColumnResizerGuide {
454
+ left: unset;
455
+ border-left: 1px dashed #777;
456
+ border-right: none;
457
+ margin-right: 5px;
458
+ margin-left: unset;
482
459
  }
483
460
 
484
461
  .handsontable .manualRowResizerGuide {
@@ -505,9 +482,7 @@ innerBorderBottom - Property controlled by bottom overlay
505
482
  .handsontable .columnSorting.sortAction:hover {
506
483
  text-decoration: underline;
507
484
  cursor: pointer;
508
- }
509
-
510
- /* Arrow position */
485
+ } /* Arrow position */
511
486
  .handsontable span.colHeader.columnSorting::before {
512
487
  /* Centering start */
513
488
  top: 50%;
@@ -516,8 +491,10 @@ innerBorderBottom - Property controlled by bottom overlay
516
491
  /* Centering end */
517
492
  /* For purpose of continuous mouse over experience, when moving between the `span` and the `::before` elements */
518
493
  padding-left: 8px;
494
+ padding-right: 0;
519
495
  position: absolute;
520
496
  right: -9px;
497
+ left: unset;
521
498
  content: "";
522
499
  height: 10px;
523
500
  width: 5px;
@@ -526,6 +503,16 @@ innerBorderBottom - Property controlled by bottom overlay
526
503
  background-position-x: right;
527
504
  }
528
505
 
506
+ [dir=rtl].handsontable span.colHeader.columnSorting::before {
507
+ /* Centering end */
508
+ /* For purpose of continuous mouse over experience, when moving between the `span` and the `::before` elements */
509
+ padding-right: 8px;
510
+ padding-left: 0;
511
+ left: -9px;
512
+ right: unset;
513
+ background-position-x: left;
514
+ }
515
+
529
516
  .handsontable span.colHeader.columnSorting.ascending::before {
530
517
  /* arrow up; 20 x 40 px, scaled to 5 x 10 px; base64 size: 0.3kB */
531
518
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC");
@@ -688,6 +675,18 @@ TextRenderer readOnly cell
688
675
  font-size: 9px;
689
676
  }
690
677
 
678
+ [dir=rtl].handsontable .htSubmenu :after {
679
+ content: "";
680
+ }
681
+
682
+ [dir=rtl].handsontable .htSubmenu :before {
683
+ content: "◀";
684
+ color: #777;
685
+ position: absolute;
686
+ left: 5px;
687
+ font-size: 9px;
688
+ }
689
+
691
690
  /*
692
691
  TextRenderer horizontal alignment
693
692
  */
@@ -747,7 +746,7 @@ TextRenderer placeholder value
747
746
  .handsontable.listbox tr:last-child th,
748
747
  .handsontable.listbox tr:first-child td,
749
748
  .handsontable.listbox td {
750
- border-color: transparent;
749
+ border-color: transparent !important;
751
750
  }
752
751
 
753
752
  .handsontable.listbox th,
@@ -784,10 +783,11 @@ TextRenderer placeholder value
784
783
  color: #583707;
785
784
  }
786
785
 
787
- .collapsibleIndicator {
786
+ .handsontable .collapsibleIndicator {
788
787
  position: absolute;
789
788
  top: 50%;
790
789
  transform: translate(0%, -50%);
790
+ left: unset;
791
791
  right: 5px;
792
792
  border: 1px solid #A6A6A6;
793
793
  line-height: 8px;
@@ -797,12 +797,17 @@ TextRenderer placeholder value
797
797
  width: 10px;
798
798
  height: 10px;
799
799
  cursor: pointer;
800
- -webkit-box-shadow: 0 0 0 6px #eeeeee;
801
- -moz-box-shadow: 0 0 0 6px #eeeeee;
802
- box-shadow: 0 0 0 6px #eeeeee;
800
+ -webkit-box-shadow: 0 0 0 6px rgb(238, 238, 238);
801
+ -moz-box-shadow: 0 0 0 6px rgb(238, 238, 238);
802
+ box-shadow: 0 0 0 6px rgb(238, 238, 238);
803
803
  background: #eee;
804
804
  text-align: center;
805
805
  }
806
+
807
+ [dir=rtl].handsontable .collapsibleIndicator {
808
+ right: unset;
809
+ left: 5px;
810
+ }
806
811
  /*
807
812
 
808
813
  Handsontable Mobile Text Editor stylesheet
@@ -827,20 +832,26 @@ TextRenderer placeholder value
827
832
  -webkit-appearance: none;
828
833
  }
829
834
 
830
- .topLeftSelectionHandle:not(.ht_master .topLeftSelectionHandle),
831
- .topLeftSelectionHandle-HitArea:not(.ht_master .topLeftSelectionHandle-HitArea) {
835
+ .topSelectionHandle:not(.ht_master .topSelectionHandle),
836
+ .topSelectionHandle-HitArea:not(.ht_master .topSelectionHandle-HitArea) {
832
837
  z-index: 9999;
833
838
  }
834
839
 
835
840
  /* Initial left/top coordinates - overwritten when actual position is set */
836
- .topLeftSelectionHandle,
837
- .topLeftSelectionHandle-HitArea,
838
- .bottomRightSelectionHandle,
839
- .bottomRightSelectionHandle-HitArea {
841
+ .handsontable .topSelectionHandle,
842
+ .handsontable .topSelectionHandle-HitArea,
843
+ .handsontable .bottomSelectionHandle,
844
+ .handsontable .bottomSelectionHandle-HitArea {
840
845
  left: -10000px;
846
+ right: unset;
841
847
  top: -10000px;
842
848
  }
843
849
 
850
+ [dir=rtl].handsontable .topSelectionHandle, [dir=rtl].handsontable .topSelectionHandle-HitArea, [dir=rtl].handsontable .bottomSelectionHandle, [dir=rtl].handsontable .bottomSelectionHandle-HitArea {
851
+ right: -10000px;
852
+ left: unset;
853
+ }
854
+
844
855
  .handsontable.hide-tween {
845
856
  -webkit-animation: opacity-hide 0.3s;
846
857
  animation: opacity-hide 0.3s;
@@ -866,6 +877,10 @@ AutocompleteRenderer down arrow
866
877
  text-align: center;
867
878
  }
868
879
 
880
+ [dir=rtl].handsontable .htAutocompleteArrow {
881
+ float: left;
882
+ }
883
+
869
884
  .handsontable td .htAutocompleteArrow:hover {
870
885
  color: #777;
871
886
  }
@@ -894,32 +909,42 @@ CheckboxRenderer
894
909
  .handsontable .htCheckboxRendererLabel.fullWidth {
895
910
  width: 100%;
896
911
  }
897
- .htCommentCell {
912
+ .handsontable .htCommentCell {
898
913
  position: relative;
899
914
  }
900
915
 
901
- .htCommentCell:after {
916
+ .handsontable .htCommentCell:after {
902
917
  content: "";
903
918
  position: absolute;
904
919
  top: 0;
905
920
  right: 0;
921
+ left: unset;
906
922
  border-left: 6px solid transparent;
923
+ border-right: none;
907
924
  border-top: 6px solid black;
908
925
  }
909
926
 
910
- .htComments {
927
+ [dir=rtl].handsontable .htCommentCell:after {
928
+ left: 0;
929
+ right: unset;
930
+ border-right: 6px solid transparent;
931
+ border-left: none;
932
+ }
933
+
934
+ .htCommentsContainer .htComments {
911
935
  display: none;
912
936
  z-index: 1059;
913
937
  position: absolute;
914
938
  }
915
939
 
916
- .htCommentTextArea {
940
+ .htCommentsContainer .htCommentTextArea {
917
941
  box-shadow: rgba(0, 0, 0, 0.117647) 0 1px 3px, rgba(0, 0, 0, 0.239216) 0 1px 2px;
918
942
  -webkit-box-sizing: border-box;
919
943
  -moz-box-sizing: border-box;
920
944
  box-sizing: border-box;
921
945
  border: none;
922
946
  border-left: 3px solid #ccc;
947
+ border-right: none;
923
948
  background-color: #fff;
924
949
  width: 215px;
925
950
  height: 90px;
@@ -929,9 +954,20 @@ CheckboxRenderer
929
954
  -webkit-appearance: none;
930
955
  }
931
956
 
932
- .htCommentTextArea:focus {
957
+ [dir=rtl].htCommentsContainer .htCommentTextArea {
958
+ border-right: 3px solid #ccc;
959
+ border-left: none;
960
+ }
961
+
962
+ .htCommentsContainer .htCommentTextArea:focus {
933
963
  box-shadow: rgba(0, 0, 0, 0.117647) 0 1px 3px, rgba(0, 0, 0, 0.239216) 0 1px 2px, inset 0 0 0 1px #5292f7;
934
964
  border-left: 3px solid #5292f7;
965
+ border-right: none;
966
+ }
967
+
968
+ [dir=rtl].htCommentsContainer .htCommentTextArea:focus {
969
+ border-right: 3px solid #5292f7;
970
+ border-left: none;
935
971
  }
936
972
  /*!
937
973
  * Handsontable ContextMenu
@@ -944,17 +980,27 @@ CheckboxRenderer
944
980
  }
945
981
 
946
982
  .htContextMenu .ht_clone_top,
947
- .htContextMenu .ht_clone_left,
948
- .htContextMenu .ht_clone_corner {
983
+ .htContextMenu .ht_clone_bottom,
984
+ .htContextMenu .ht_clone_inline_start,
985
+ .htContextMenu .ht_clone_top_inline_start_corner,
986
+ .htContextMenu .ht_clone_bottom_inline_start_corner {
949
987
  display: none;
950
988
  }
951
989
 
952
990
  .htContextMenu .ht_master table.htCore {
953
- border: 1px solid #ccc;
991
+ border-color: #ccc;
992
+ border-style: solid;
993
+ border-top-width: 1px;
954
994
  border-bottom-width: 2px;
995
+ border-left-width: 1px;
955
996
  border-right-width: 2px;
956
997
  }
957
998
 
999
+ [dir=rtl].htContextMenu .ht_master table.htCore {
1000
+ border-right-width: 1px;
1001
+ border-left-width: 2px;
1002
+ }
1003
+
958
1004
  .htContextMenu .wtBorder {
959
1005
  visibility: hidden;
960
1006
  }
@@ -970,7 +1016,15 @@ CheckboxRenderer
970
1016
  }
971
1017
 
972
1018
  .htContextMenu table tbody tr td:first-child {
973
- border: 0;
1019
+ border-top-width: 0;
1020
+ border-bottom-width: 0;
1021
+ border-left-width: 0;
1022
+ border-right-width: 0;
1023
+ }
1024
+
1025
+ [dir=rtl].htContextMenu table tbody tr td:first-child {
1026
+ border-right-width: 0;
1027
+ border-left-width: 0;
974
1028
  }
975
1029
 
976
1030
  .htContextMenu table tbody tr td.htDimmed {
@@ -1043,6 +1097,10 @@ textarea.HandsontableCopyPaste {
1043
1097
  float: right;
1044
1098
  }
1045
1099
 
1100
+ [dir=rtl].handsontable .changeType {
1101
+ float: left;
1102
+ }
1103
+
1046
1104
  .handsontable .changeType:before {
1047
1105
  content: "▼ ";
1048
1106
  }
@@ -1061,17 +1119,27 @@ textarea.HandsontableCopyPaste {
1061
1119
  }
1062
1120
 
1063
1121
  .htDropdownMenu .ht_clone_top,
1064
- .htDropdownMenu .ht_clone_left,
1065
- .htDropdownMenu .ht_clone_corner {
1122
+ .htDropdownMenu .ht_clone_bottom,
1123
+ .htDropdownMenu .ht_clone_inline_start,
1124
+ .htDropdownMenu .ht_clone_top_inline_start_corner,
1125
+ .htDropdownMenu .ht_clone_bottom_inline_start_corner {
1066
1126
  display: none;
1067
1127
  }
1068
1128
 
1069
1129
  .htDropdownMenu table.htCore {
1070
- border: 1px solid #bbb;
1130
+ border-color: #ccc;
1131
+ border-style: solid;
1132
+ border-top-width: 1px;
1071
1133
  border-bottom-width: 2px;
1134
+ border-left-width: 1px;
1072
1135
  border-right-width: 2px;
1073
1136
  }
1074
1137
 
1138
+ [dir=rtl].htDropdownMenu table.htCore {
1139
+ border-right-width: 1px;
1140
+ border-left-width: 2px;
1141
+ }
1142
+
1075
1143
  .htDropdownMenu .wtBorder {
1076
1144
  visibility: hidden;
1077
1145
  }
@@ -1087,7 +1155,15 @@ textarea.HandsontableCopyPaste {
1087
1155
  }
1088
1156
 
1089
1157
  .htDropdownMenu table tbody tr td:first-child {
1090
- border: 0;
1158
+ border-top-width: 0;
1159
+ border-right-width: 0;
1160
+ border-bottom-width: 0;
1161
+ border-left-width: 0;
1162
+ }
1163
+
1164
+ [dir=rtl].htDropdownMenu table tbody tr td:first-child {
1165
+ border-left-width: 0;
1166
+ border-right-width: 0;
1091
1167
  }
1092
1168
 
1093
1169
  .htDropdownMenu table tbody tr td.htDimmed {
@@ -1147,7 +1223,7 @@ textarea.HandsontableCopyPaste {
1147
1223
  }
1148
1224
 
1149
1225
  .htFiltersConditionsMenu .ht_clone_top,
1150
- .htFiltersConditionsMenu .ht_clone_left,
1226
+ .htFiltersConditionsMenu .ht_clone_inline_start,
1151
1227
  .htFiltersConditionsMenu .ht_clone_corner {
1152
1228
  display: none;
1153
1229
  }
@@ -1173,7 +1249,15 @@ textarea.HandsontableCopyPaste {
1173
1249
  }
1174
1250
 
1175
1251
  .htFiltersConditionsMenu table tbody tr td:first-child {
1176
- border: 0;
1252
+ border-top-width: 0;
1253
+ border-right-width: 0;
1254
+ border-bottom-width: 0;
1255
+ border-left-width: 0;
1256
+ }
1257
+
1258
+ [dir=rtl].htFiltersConditionsMenu table tbody tr td:first-child {
1259
+ border-left-width: 0;
1260
+ border-right-width: 0;
1177
1261
  }
1178
1262
 
1179
1263
  .htFiltersConditionsMenu table tbody tr td.htDimmed {
@@ -1278,9 +1362,15 @@ textarea.HandsontableCopyPaste {
1278
1362
  }
1279
1363
 
1280
1364
  .handsontable .htUISelectAll {
1365
+ margin-left: 0;
1281
1366
  margin-right: 10px;
1282
1367
  }
1283
1368
 
1369
+ [dir=rtl].handsontable .htUISelectAll {
1370
+ margin-right: 0;
1371
+ margin-left: 10px;
1372
+ }
1373
+
1284
1374
  .handsontable .htUIClearAll, .handsontable .htUISelectAll {
1285
1375
  display: inline-block;
1286
1376
  }
@@ -1293,12 +1383,24 @@ textarea.HandsontableCopyPaste {
1293
1383
  text-align: right;
1294
1384
  }
1295
1385
 
1386
+ [dir=rtl].handsontable .htUISelectionControls {
1387
+ text-align: left;
1388
+ }
1389
+
1296
1390
  .handsontable .htCheckboxRendererInput {
1297
- margin: 0 5px 0 0;
1391
+ margin-top: 0;
1392
+ margin-right: 5px;
1393
+ margin-bottom: 0;
1394
+ margin-left: 0;
1298
1395
  vertical-align: middle;
1299
1396
  height: 1em;
1300
1397
  }
1301
1398
 
1399
+ [dir=rtl].handsontable .htCheckboxRendererInput {
1400
+ margin-left: 5px;
1401
+ margin-right: 0;
1402
+ }
1403
+
1302
1404
  /* UI elements */
1303
1405
  /* Input */
1304
1406
  .handsontable .htUIInput {
@@ -1342,9 +1444,15 @@ textarea.HandsontableCopyPaste {
1342
1444
  }
1343
1445
 
1344
1446
  .handsontable .htUIInput.htUIButtonOK {
1447
+ margin-left: 0;
1345
1448
  margin-right: 10px;
1346
1449
  }
1347
1450
 
1451
+ [dir=rtl].handsontable .htUIInput.htUIButtonOK {
1452
+ margin-right: 0;
1453
+ margin-left: 10px;
1454
+ }
1455
+
1348
1456
  .handsontable .htUIInput.htUIButtonOK input {
1349
1457
  background-color: #0f9d58;
1350
1458
  border-color: #18804e;
@@ -1413,18 +1521,30 @@ textarea.HandsontableCopyPaste {
1413
1521
 
1414
1522
  .handsontable .htUIRadio {
1415
1523
  display: inline-block;
1524
+ margin-left: 0;
1416
1525
  margin-right: 5px;
1417
1526
  height: 100%;
1418
1527
  }
1419
1528
 
1529
+ [dir=rtl].handsontable .htUIRadio {
1530
+ margin-right: 0;
1531
+ margin-left: 5px;
1532
+ }
1533
+
1420
1534
  .handsontable .htUIRadio:last-child {
1421
1535
  margin-right: 0;
1422
1536
  }
1423
1537
 
1424
1538
  .handsontable .htUIRadio > input[type=radio] {
1539
+ margin-left: 0;
1425
1540
  margin-right: 0.5ex;
1426
1541
  }
1427
1542
 
1543
+ [dir=rtl].handsontable .htUIRadio > input[type=radio] {
1544
+ margin-right: 0;
1545
+ margin-left: 0.5ex;
1546
+ }
1547
+
1428
1548
  .handsontable .htUIRadio label {
1429
1549
  vertical-align: middle;
1430
1550
  }
@@ -1455,12 +1575,24 @@ textarea.HandsontableCopyPaste {
1455
1575
 
1456
1576
  .handsontable th.beforeHiddenColumn::after {
1457
1577
  right: 1px;
1458
- content: "◀";
1578
+ content: "◀"; /* left arrow */
1579
+ }
1580
+
1581
+ [dir=rtl].handsontable th.beforeHiddenColumn::after {
1582
+ right: initial;
1583
+ left: 1px;
1584
+ content: "▶"; /* right arrow */
1459
1585
  }
1460
1586
 
1461
1587
  .handsontable th.afterHiddenColumn::before {
1462
1588
  left: 1px;
1463
- content: "▶";
1589
+ content: "▶"; /* right arrow */
1590
+ }
1591
+
1592
+ [dir=rtl].handsontable th.afterHiddenColumn::before {
1593
+ right: 1px;
1594
+ left: initial;
1595
+ content: "◀"; /* left arrow */
1464
1596
  }
1465
1597
  @charset "UTF-8";
1466
1598
  /*!
@@ -1499,8 +1631,8 @@ textarea.HandsontableCopyPaste {
1499
1631
  .handsontable th.afterHiddenRow.firstVisibleRow {
1500
1632
  border-top: 1px solid #CCC;
1501
1633
  }
1502
- .htRowHeaders .ht_master.innerBorderLeft ~ .ht_clone_top_left_corner th:nth-child(2),
1503
- .htRowHeaders .ht_master.innerBorderLeft ~ .ht_clone_left td:first-of-type {
1634
+ .htRowHeaders .ht_master.innerBorderInlineStart ~ .ht_clone_top_inline_start_corner th:nth-child(2),
1635
+ .htRowHeaders .ht_master.innerBorderInlineStart ~ .ht_clone_inline_start td:first-of-type {
1504
1636
  border-left: 0 none;
1505
1637
  }
1506
1638
  .handsontable .wtHider {
@@ -1537,7 +1669,8 @@ textarea.HandsontableCopyPaste {
1537
1669
  background: #757575;
1538
1670
  width: 2px;
1539
1671
  top: 0;
1540
- margin-left: -1px;
1672
+ margin-inline-start: -1px;
1673
+ margin-inline-end: 0;
1541
1674
  z-index: 205;
1542
1675
  }
1543
1676
 
@@ -1651,8 +1784,10 @@ textarea.HandsontableCopyPaste {
1651
1784
  /* Centering end */
1652
1785
  position: absolute;
1653
1786
  right: -15px;
1787
+ left: unset;
1654
1788
  /* For purpose of continuous mouse over experience, when moving between the `::before` and the `::after` elements */
1655
1789
  padding-left: 5px;
1790
+ padding-right: unset;
1656
1791
  font-size: 8px;
1657
1792
  height: 8px;
1658
1793
  line-height: 1.1;
@@ -1660,6 +1795,14 @@ textarea.HandsontableCopyPaste {
1660
1795
  text-decoration: underline;
1661
1796
  }
1662
1797
 
1798
+ [dir=rtl].handsontable span.colHeader.columnSorting::after {
1799
+ left: -15px;
1800
+ right: unset;
1801
+ /* For purpose of continuous mouse over experience, when moving between the `::before` and the `::after` elements */
1802
+ padding-right: 5px;
1803
+ padding-left: unset;
1804
+ }
1805
+
1663
1806
  /* Workaround for IE9 - IE11, https://stackoverflow.com/a/21902566, https://stackoverflow.com/a/32120247 */
1664
1807
  .handsontable span.colHeader.columnSorting::after {
1665
1808
  text-decoration: none;
@@ -1712,15 +1855,32 @@ textarea.HandsontableCopyPaste {
1712
1855
  padding-left: 7px;
1713
1856
  }
1714
1857
 
1858
+ [dir=rtl].handsontable th.ht_nestingLevels {
1859
+ text-align: right;
1860
+ padding-right: 7px;
1861
+ }
1862
+
1715
1863
  .handsontable th div.ht_nestingLevels {
1716
1864
  display: inline-block;
1717
1865
  position: absolute;
1718
1866
  left: 11px;
1867
+ right: unset;
1868
+ }
1869
+
1870
+ [dir=rtl].handsontable th div.ht_nestingLevels {
1871
+ right: 11px;
1872
+ left: unset;
1719
1873
  }
1720
1874
 
1721
- .handsontable.innerBorderLeft th div.ht_nestingLevels,
1722
- .handsontable.innerBorderLeft ~ .handsontable th div.ht_nestingLevels {
1875
+ .handsontable.innerBorderInlineStart th div.ht_nestingLevels,
1876
+ .handsontable.innerBorderInlineStart ~ .handsontable th div.ht_nestingLevels {
1723
1877
  right: 10px;
1878
+ left: unset;
1879
+ }
1880
+
1881
+ [dir=rtl].handsontable.innerBorderInlineStart th div.ht_nestingLevels, [dir=rtl].handsontable.innerBorderInlineStart ~ .handsontable th div.ht_nestingLevels {
1882
+ left: 10px;
1883
+ right: unset;
1724
1884
  }
1725
1885
 
1726
1886
  .handsontable th span.ht_nestingLevel {
@@ -1734,6 +1894,10 @@ textarea.HandsontableCopyPaste {
1734
1894
  float: left;
1735
1895
  }
1736
1896
 
1897
+ [dir=rtl].handsontable th span.ht_nestingLevel_empty {
1898
+ float: right;
1899
+ }
1900
+
1737
1901
  .handsontable th span.ht_nestingLevel::after {
1738
1902
  content: "┐";
1739
1903
  font-size: 9px;
@@ -1746,9 +1910,15 @@ textarea.HandsontableCopyPaste {
1746
1910
  display: inline-block;
1747
1911
  position: absolute;
1748
1912
  right: -2px;
1913
+ left: unset;
1749
1914
  cursor: pointer;
1750
1915
  }
1751
1916
 
1917
+ [dir=rtl].handsontable th div.ht_nestingButton {
1918
+ left: -2px;
1919
+ right: unset;
1920
+ }
1921
+
1752
1922
  .handsontable th div.ht_nestingButton.ht_nestingExpand::after {
1753
1923
  content: "+";
1754
1924
  }
@@ -1757,9 +1927,15 @@ textarea.HandsontableCopyPaste {
1757
1927
  content: "-";
1758
1928
  }
1759
1929
 
1760
- .handsontable.innerBorderLeft th div.ht_nestingButton,
1761
- .handsontable.innerBorderLeft ~ .handsontable th div.ht_nestingButton {
1930
+ .handsontable.innerBorderInlineStart th div.ht_nestingButton,
1931
+ .handsontable.innerBorderInlineStart ~ .handsontable th div.ht_nestingButton {
1762
1932
  right: 0;
1933
+ left: unset;
1934
+ }
1935
+
1936
+ [dir=rtl].handsontable.innerBorderInlineStart th div.ht_nestingButton, [dir=rtl].handsontable.innerBorderInlineStart ~ .handsontable th div.ht_nestingButton {
1937
+ left: 0;
1938
+ right: unset;
1763
1939
  }
1764
1940
 
1765
1941
  /*# sourceMappingURL=handsontable.css.map*/