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
@@ -25,8 +25,8 @@
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.0.0
29
- * Release date: 17/11/2021 (built at 17/11/2021 10:59:45)
28
+ * Version: 12.0.0
29
+ * Release date: 28/04/2022 (built at 28/04/2022 12:45:25)
30
30
  */
31
31
  /**
32
32
  * Fix for bootstrap styles
@@ -81,10 +81,10 @@
81
81
  .col-lg-1.handsontable, .col-lg-10.handsontable, .col-lg-11.handsontable, .col-lg-12.handsontable,
82
82
  .col-lg-2.handsontable, .col-lg-3.handsontable, .col-lg-4.handsontable, .col-lg-5.handsontable, .col-lg-6.handsontable, .col-lg-7.handsontable, .col-lg-8.handsontable, .col-lg-9.handsontable,
83
83
  .col-md-1.handsontable, .col-md-10.handsontable, .col-md-11.handsontable, .col-md-12.handsontable,
84
- .col-md-2.handsontable, .col-md-3.handsontable, .col-md-4.handsontable, .col-md-5.handsontable, .col-md-6.handsontable, .col-md-7.handsontable, .col-md-8.handsontable, .col-md-9.handsontable
85
- .col-sm-1.handsontable, .col-sm-10.handsontable, .col-sm-11.handsontable, .col-sm-12.handsontable,
86
- .col-sm-2.handsontable, .col-sm-3.handsontable, .col-sm-4.handsontable, .col-sm-5.handsontable, .col-sm-6.handsontable, .col-sm-7.handsontable, .col-sm-8.handsontable, .col-sm-9.handsontable
87
- .col-xs-1.handsontable, .col-xs-10.handsontable, .col-xs-11.handsontable, .col-xs-12.handsontable,
84
+ .col-md-2.handsontable, .col-md-3.handsontable, .col-md-4.handsontable, .col-md-5.handsontable, .col-md-6.handsontable, .col-md-7.handsontable, .col-md-8.handsontable, .col-md-9.handsontable .col-sm-1.handsontable,
85
+ .col-sm-10.handsontable, .col-sm-11.handsontable, .col-sm-12.handsontable,
86
+ .col-sm-2.handsontable, .col-sm-3.handsontable, .col-sm-4.handsontable, .col-sm-5.handsontable, .col-sm-6.handsontable, .col-sm-7.handsontable, .col-sm-8.handsontable, .col-sm-9.handsontable .col-xs-1.handsontable,
87
+ .col-xs-10.handsontable, .col-xs-11.handsontable, .col-xs-12.handsontable,
88
88
  .col-xs-2.handsontable, .col-xs-3.handsontable, .col-xs-4.handsontable, .col-xs-5.handsontable, .col-xs-6.handsontable, .col-xs-7.handsontable, .col-xs-8.handsontable, .col-xs-9.handsontable {
89
89
  padding-left: 0;
90
90
  padding-right: 0;
@@ -93,7 +93,6 @@
93
93
  .handsontable .table-striped > tbody > tr:nth-of-type(even) {
94
94
  background-color: #FFF;
95
95
  }
96
-
97
96
  .handsontable {
98
97
  position: relative;
99
98
  }
@@ -112,7 +111,8 @@
112
111
 
113
112
  .handsontable .wtSpreader {
114
113
  position: relative;
115
- width: 0; /*must be 0, otherwise blank space appears in scroll demo after scrolling max to the right */
114
+ /*must be 0, otherwise blank space appears in scroll demo after scrolling max to the right */
115
+ width: 0;
116
116
  height: auto;
117
117
  }
118
118
 
@@ -143,7 +143,8 @@
143
143
  -moz-user-select: none;
144
144
  -o-user-select: none;
145
145
  -ms-user-select: none;
146
- user-select: none; */ /* no browser supports unprefixed version */
146
+ user-select: none; // no browser supports unprefixed version
147
+ */
147
148
  border-spacing: 0;
148
149
  margin: 0;
149
150
  border-width: 0;
@@ -182,30 +183,67 @@
182
183
  white-space: pre-wrap;
183
184
  }
184
185
 
186
+ [dir=rtl].handsontable th, [dir=rtl].handsontable td {
187
+ border-right-width: 0;
188
+ border-left: 1px solid #ccc;
189
+ }
190
+
185
191
  .handsontable th:last-child {
186
192
  /*Foundation framework fix*/
193
+ border-left: none;
187
194
  border-right: 1px solid #ccc;
188
195
  border-bottom: 1px solid #ccc;
189
196
  }
190
197
 
198
+ [dir=rtl].handsontable th:last-child {
199
+ /*Foundation framework fix*/
200
+ border-right: none;
201
+ border-left: 1px solid #ccc;
202
+ }
203
+
191
204
  .handsontable th:first-child,
192
205
  .handsontable th:nth-child(2),
193
206
  .handsontable td:first-of-type {
194
207
  border-left: 1px solid #ccc;
195
208
  }
196
209
 
210
+ [dir=rtl].handsontable th:first-child, [dir=rtl].handsontable th:nth-child(2), [dir=rtl].handsontable td:first-of-type {
211
+ border-right: 1px solid #ccc;
212
+ }
213
+
214
+ /* It removes double right border from first column header when row headers are disabled */
215
+ .handsontable .ht_clone_top th:nth-child(2) {
216
+ border-left-width: 0;
217
+ border-right: 1px solid #ccc;
218
+ }
219
+
220
+ [dir=rtl].handsontable .ht_clone_top th:nth-child(2) {
221
+ border-right-width: 0;
222
+ border-left: 1px solid #ccc;
223
+ }
224
+
197
225
  .handsontable.htRowHeaders thead tr th:nth-child(2) {
198
226
  border-left: 1px solid #ccc;
199
227
  }
200
228
 
229
+ [dir=rtl].handsontable.htRowHeaders thead tr th:nth-child(2) {
230
+ border-right: 1px solid #ccc;
231
+ }
232
+
201
233
  .handsontable tr:first-child th,
202
234
  .handsontable tr:first-child td {
203
235
  border-top: 1px solid #ccc;
204
236
  }
205
237
 
206
- .ht_master:not(.innerBorderLeft):not(.emptyColumns) ~ .handsontable tbody tr th,
207
- .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 {
208
240
  border-right-width: 0;
241
+ border-left: 1px solid #ccc;
242
+ }
243
+
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 {
245
+ border-left-width: 0;
246
+ border-right: 1px solid #ccc;
209
247
  }
210
248
 
211
249
  /*
@@ -234,6 +272,7 @@ innerBorderBottom - Property controlled by bottom overlay
234
272
  .handsontable th.active {
235
273
  background-color: #ccc;
236
274
  }
275
+
237
276
  .handsontable thead th .relative {
238
277
  padding: 2px 4px;
239
278
  }
@@ -248,6 +287,7 @@ innerBorderBottom - Property controlled by bottom overlay
248
287
  position: absolute;
249
288
  font-size: 0;
250
289
  }
290
+
251
291
  .handsontable .wtBorder.hidden {
252
292
  display: none !important;
253
293
  }
@@ -256,15 +296,16 @@ innerBorderBottom - Property controlled by bottom overlay
256
296
  .handsontable .wtBorder.current {
257
297
  z-index: 10;
258
298
  }
299
+
259
300
  .handsontable .wtBorder.area {
260
301
  z-index: 8;
261
302
  }
303
+
262
304
  .handsontable .wtBorder.fill {
263
305
  z-index: 6;
264
306
  }
265
307
 
266
308
  /* fill handle */
267
-
268
309
  .handsontable .wtBorder.corner {
269
310
  font-size: 0;
270
311
  cursor: crosshair;
@@ -274,11 +315,7 @@ innerBorderBottom - Property controlled by bottom overlay
274
315
  z-index: 100;
275
316
  }
276
317
 
277
- .ht_clone_right {
278
- z-index: 110;
279
- }
280
-
281
- .ht_clone_left {
318
+ .ht_clone_inline_start {
282
319
  z-index: 120;
283
320
  }
284
321
 
@@ -286,11 +323,7 @@ innerBorderBottom - Property controlled by bottom overlay
286
323
  z-index: 130;
287
324
  }
288
325
 
289
- .ht_clone_bottom_right_corner {
290
- z-index: 140;
291
- }
292
-
293
- .ht_clone_bottom_left_corner {
326
+ .ht_clone_bottom_inline_start_corner {
294
327
  z-index: 150;
295
328
  }
296
329
 
@@ -298,25 +331,10 @@ innerBorderBottom - Property controlled by bottom overlay
298
331
  z-index: 160;
299
332
  }
300
333
 
301
- .ht_clone_top_right_corner {
302
- z-index: 170;
303
- }
304
-
305
- .ht_clone_top_left_corner {
334
+ .ht_clone_top_inline_start_corner {
306
335
  z-index: 180;
307
336
  }
308
337
 
309
- /*
310
- Cell borders
311
- */
312
- .handsontable tbody tr th:nth-last-child(2) {
313
- border-right: 1px solid #ccc;
314
- }
315
-
316
- .ht_clone_top_left_corner thead tr th:nth-last-child(2) {
317
- border-right: 1px solid #ccc;
318
- }
319
-
320
338
  .handsontable col.hidden {
321
339
  width: 0 !important;
322
340
  }
@@ -328,7 +346,7 @@ innerBorderBottom - Property controlled by bottom overlay
328
346
  }
329
347
 
330
348
  .ht_master,
331
- .ht_clone_left,
349
+ .ht_clone_inline_start,
332
350
  .ht_clone_top,
333
351
  .ht_clone_bottom {
334
352
  overflow: hidden;
@@ -340,16 +358,16 @@ innerBorderBottom - Property controlled by bottom overlay
340
358
 
341
359
  .handsontable .ht_master thead,
342
360
  .handsontable .ht_master tr th,
343
- .handsontable .ht_clone_left thead {
361
+ .handsontable .ht_clone_inline_start thead {
344
362
  visibility: hidden;
345
363
  }
346
364
 
347
365
  .ht_clone_top .wtHolder,
348
- .ht_clone_left .wtHolder,
366
+ .ht_clone_inline_start .wtHolder,
349
367
  .ht_clone_bottom .wtHolder {
350
368
  overflow: hidden;
351
369
  }
352
-
370
+ @charset "UTF-8";
353
371
  .handsontable {
354
372
  touch-action: manipulation;
355
373
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Helvetica Neue", Arial, sans-serif;
@@ -370,7 +388,8 @@ innerBorderBottom - Property controlled by bottom overlay
370
388
  }
371
389
 
372
390
  .handsontable td.htInvalid {
373
- background-color: #ff4c42 !important; /*gives priority over td.area selection background*/
391
+ /*gives priority over td.area selection background*/
392
+ background-color: #ff4c42 !important;
374
393
  }
375
394
 
376
395
  .handsontable td.htNoWrap {
@@ -392,7 +411,6 @@ innerBorderBottom - Property controlled by bottom overlay
392
411
  }
393
412
 
394
413
  /* plugins */
395
-
396
414
  /* row + column resizer*/
397
415
  .handsontable .manualColumnResizer {
398
416
  position: absolute;
@@ -421,13 +439,23 @@ innerBorderBottom - Property controlled by bottom overlay
421
439
 
422
440
  .handsontable .manualColumnResizerGuide {
423
441
  position: absolute;
424
- right: 0;
442
+ right: unset;
425
443
  top: 0;
426
444
  background-color: #34a9db;
427
445
  display: none;
428
446
  width: 0;
429
447
  border-right: 1px dashed #777;
448
+ border-left: none;
430
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;
431
459
  }
432
460
 
433
461
  .handsontable .manualRowResizerGuide {
@@ -454,18 +482,22 @@ innerBorderBottom - Property controlled by bottom overlay
454
482
  .handsontable .columnSorting.sortAction:hover {
455
483
  text-decoration: underline;
456
484
  cursor: pointer;
457
- }/* Arrow position */
485
+ }
486
+
487
+ /* Arrow position */
458
488
  .handsontable span.colHeader.columnSorting::before {
459
489
  /* Centering start */
460
490
  top: 50%;
461
- margin-top: -6px; /* One extra pixel for purpose of proper positioning of sorting arrow, when `font-size` set to default */
491
+ /* One extra pixel for purpose of proper positioning of sorting arrow, when `font-size` set to default */
492
+ margin-top: -6px;
462
493
  /* Centering end */
463
-
464
- padding-left: 8px; /* For purpose of continuous mouse over experience, when moving between the `span` and the `::before` elements */
494
+ /* For purpose of continuous mouse over experience, when moving between the `span` and the `::before` elements */
495
+ padding-left: 8px;
496
+ padding-right: 0;
465
497
  position: absolute;
466
498
  right: -9px;
467
-
468
- content: '';
499
+ left: unset;
500
+ content: "";
469
501
  height: 10px;
470
502
  width: 5px;
471
503
  background-size: contain;
@@ -473,6 +505,16 @@ innerBorderBottom - Property controlled by bottom overlay
473
505
  background-position-x: right;
474
506
  }
475
507
 
508
+ [dir=rtl].handsontable span.colHeader.columnSorting::before {
509
+ /* Centering end */
510
+ /* For purpose of continuous mouse over experience, when moving between the `span` and the `::before` elements */
511
+ padding-right: 8px;
512
+ padding-left: 0;
513
+ left: -9px;
514
+ right: unset;
515
+ background-position-x: left;
516
+ }
517
+
476
518
  .handsontable span.colHeader.columnSorting.ascending::before {
477
519
  /* arrow up; 20 x 40 px, scaled to 5 x 10 px; base64 size: 0.3kB */
478
520
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAoCAMAAADJ7yrpAAAAKlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKE86IAAAADXRSTlMABBEmRGprlJW72e77tTkTKwAAAFNJREFUeAHtzjkSgCAUBNHPgsoy97+ulGXRqJE5L+xkxoYt2UdsLb5bqFINz+aLuuLn5rIu2RkO3fZpWENimNgiw6iBYRTPMLJjGFxQZ1hxxb/xBI1qC8k39CdKAAAAAElFTkSuQmCC");
@@ -484,7 +526,7 @@ innerBorderBottom - Property controlled by bottom overlay
484
526
  }
485
527
 
486
528
  .htGhostTable .htCore span.colHeader.columnSorting:not(.indicatorDisabled)::after {
487
- content: '*';
529
+ content: "*";
488
530
  display: inline-block;
489
531
  position: relative;
490
532
  /* The multi-line header and header with longer text need more padding to not hide arrow,
@@ -511,51 +553,58 @@ innerBorderBottom - Property controlled by bottom overlay
511
553
  .handsontable td.area-5:before,
512
554
  .handsontable td.area-6:before,
513
555
  .handsontable td.area-7:before {
514
- content: '';
556
+ content: "";
515
557
  position: absolute;
516
558
  top: 0;
517
559
  left: 0;
518
560
  right: 0;
519
561
  bottom: 0;
520
- bottom: -100%\9; /* Fix for IE9 to spread the ":before" pseudo element to 100% height of the parent element */
562
+ /* Fix for IE9 to spread the ":before" pseudo element to 100% height of the parent element */
563
+ bottom: -100% \9 ;
521
564
  background: #005eff;
522
565
  }
523
566
 
524
567
  /* Fix for IE10 and IE11 to spread the ":before" pseudo element to 100% height of the parent element */
525
568
  @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
526
569
  .handsontable td.area:before,
527
- .handsontable td.area-1:before,
528
- .handsontable td.area-2:before,
529
- .handsontable td.area-3:before,
530
- .handsontable td.area-4:before,
531
- .handsontable td.area-5:before,
532
- .handsontable td.area-6:before,
533
- .handsontable td.area-7:before {
570
+ .handsontable td.area-1:before,
571
+ .handsontable td.area-2:before,
572
+ .handsontable td.area-3:before,
573
+ .handsontable td.area-4:before,
574
+ .handsontable td.area-5:before,
575
+ .handsontable td.area-6:before,
576
+ .handsontable td.area-7:before {
534
577
  bottom: -100%;
535
578
  }
536
579
  }
537
-
538
580
  .handsontable td.area:before {
539
581
  opacity: 0.1;
540
582
  }
583
+
541
584
  .handsontable td.area-1:before {
542
585
  opacity: 0.2;
543
586
  }
587
+
544
588
  .handsontable td.area-2:before {
545
589
  opacity: 0.27;
546
590
  }
591
+
547
592
  .handsontable td.area-3:before {
548
593
  opacity: 0.35;
549
594
  }
595
+
550
596
  .handsontable td.area-4:before {
551
597
  opacity: 0.41;
552
598
  }
599
+
553
600
  .handsontable td.area-5:before {
554
601
  opacity: 0.47;
555
602
  }
603
+
556
604
  .handsontable td.area-6:before {
557
605
  opacity: 0.54;
558
606
  }
607
+
559
608
  .handsontable td.area-7:before {
560
609
  opacity: 0.58;
561
610
  }
@@ -612,7 +661,6 @@ innerBorderBottom - Property controlled by bottom overlay
612
661
  /*
613
662
  TextRenderer readOnly cell
614
663
  */
615
-
616
664
  .handsontable .htDimmed {
617
665
  color: #777;
618
666
  }
@@ -621,47 +669,63 @@ TextRenderer readOnly cell
621
669
  position: relative;
622
670
  }
623
671
 
624
- .handsontable .htSubmenu :after{
625
- content: '\25B6';
672
+ .handsontable .htSubmenu :after {
673
+ content: "▶";
626
674
  color: #777;
627
675
  position: absolute;
628
676
  right: 5px;
629
677
  font-size: 9px;
630
678
  }
631
679
 
680
+ [dir=rtl].handsontable .htSubmenu :after {
681
+ content: "";
682
+ }
683
+
684
+ [dir=rtl].handsontable .htSubmenu :before {
685
+ content: "◀";
686
+ color: #777;
687
+ position: absolute;
688
+ left: 5px;
689
+ font-size: 9px;
690
+ }
632
691
 
633
692
  /*
634
693
  TextRenderer horizontal alignment
635
694
  */
636
- .handsontable .htLeft{
695
+ .handsontable .htLeft {
637
696
  text-align: left;
638
697
  }
639
- .handsontable .htCenter{
698
+
699
+ .handsontable .htCenter {
640
700
  text-align: center;
641
701
  }
642
- .handsontable .htRight{
702
+
703
+ .handsontable .htRight {
643
704
  text-align: right;
644
705
  }
645
- .handsontable .htJustify{
706
+
707
+ .handsontable .htJustify {
646
708
  text-align: justify;
647
709
  }
710
+
648
711
  /*
649
712
  TextRenderer vertical alignment
650
713
  */
651
- .handsontable .htTop{
714
+ .handsontable .htTop {
652
715
  vertical-align: top;
653
716
  }
654
- .handsontable .htMiddle{
717
+
718
+ .handsontable .htMiddle {
655
719
  vertical-align: middle;
656
720
  }
657
- .handsontable .htBottom{
721
+
722
+ .handsontable .htBottom {
658
723
  vertical-align: bottom;
659
724
  }
660
725
 
661
726
  /*
662
727
  TextRenderer placeholder value
663
728
  */
664
-
665
729
  .handsontable .htPlaceholder {
666
730
  color: #999;
667
731
  }
@@ -669,7 +733,6 @@ TextRenderer placeholder value
669
733
  /**
670
734
  * Handsontable listbox theme
671
735
  */
672
-
673
736
  .handsontable.listbox {
674
737
  margin: 0;
675
738
  }
@@ -685,7 +748,7 @@ TextRenderer placeholder value
685
748
  .handsontable.listbox tr:last-child th,
686
749
  .handsontable.listbox tr:first-child td,
687
750
  .handsontable.listbox td {
688
- border-color: transparent;
751
+ border-color: transparent !important;
689
752
  }
690
753
 
691
754
  .handsontable.listbox th,
@@ -722,10 +785,11 @@ TextRenderer placeholder value
722
785
  color: #583707;
723
786
  }
724
787
 
725
- .collapsibleIndicator {
788
+ .handsontable .collapsibleIndicator {
726
789
  position: absolute;
727
790
  top: 50%;
728
- transform: translate(0% ,-50%);
791
+ transform: translate(0%, -50%);
792
+ left: unset;
729
793
  right: 5px;
730
794
  border: 1px solid #A6A6A6;
731
795
  line-height: 8px;
@@ -735,19 +799,22 @@ TextRenderer placeholder value
735
799
  width: 10px;
736
800
  height: 10px;
737
801
  cursor: pointer;
738
- -webkit-box-shadow: 0 0 0 6px rgba(238,238,238,1);
739
- -moz-box-shadow: 0 0 0 6px rgba(238,238,238,1);
740
- box-shadow: 0 0 0 6px rgba(238,238,238,1);
802
+ -webkit-box-shadow: 0 0 0 6px rgb(238, 238, 238);
803
+ -moz-box-shadow: 0 0 0 6px rgb(238, 238, 238);
804
+ box-shadow: 0 0 0 6px rgb(238, 238, 238);
741
805
  background: #eee;
742
806
  text-align: center;
743
807
  }
744
808
 
809
+ [dir=rtl].handsontable .collapsibleIndicator {
810
+ right: unset;
811
+ left: 5px;
812
+ }
745
813
  /*
746
814
 
747
815
  Handsontable Mobile Text Editor stylesheet
748
816
 
749
817
  */
750
-
751
818
  .handsontable.mobile,
752
819
  .handsontable.mobile .wtHolder {
753
820
  -webkit-touch-callout: none;
@@ -756,7 +823,7 @@ TextRenderer placeholder value
756
823
  -moz-user-select: none;
757
824
  -ms-user-select: none;
758
825
  user-select: none;
759
- -webkit-tap-highlight-color: rgba(0,0,0,0);
826
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
760
827
  -webkit-overflow-scrolling: touch;
761
828
  }
762
829
 
@@ -767,16 +834,16 @@ TextRenderer placeholder value
767
834
  -webkit-appearance: none;
768
835
  }
769
836
 
770
- .topLeftSelectionHandle:not(.ht_master .topLeftSelectionHandle),
771
- .topLeftSelectionHandle-HitArea:not(.ht_master .topLeftSelectionHandle-HitArea) {
837
+ .topSelectionHandle:not(.ht_master .topSelectionHandle),
838
+ .topSelectionHandle-HitArea:not(.ht_master .topSelectionHandle-HitArea) {
772
839
  z-index: 9999;
773
840
  }
774
841
 
775
842
  /* Initial left/top coordinates - overwritten when actual position is set */
776
- .topLeftSelectionHandle,
777
- .topLeftSelectionHandle-HitArea,
778
- .bottomRightSelectionHandle,
779
- .bottomRightSelectionHandle-HitArea {
843
+ .topSelectionHandle,
844
+ .topSelectionHandle-HitArea,
845
+ .bottomSelectionHandle,
846
+ .bottomSelectionHandle-HitArea {
780
847
  left: -10000px;
781
848
  top: -10000px;
782
849
  }
@@ -794,11 +861,9 @@ TextRenderer placeholder value
794
861
  animation-fill-mode: forwards;
795
862
  -webkit-animation-fill-mode: forwards;
796
863
  }
797
-
798
864
  /*
799
865
  AutocompleteRenderer down arrow
800
866
  */
801
-
802
867
  .handsontable .htAutocompleteArrow {
803
868
  float: right;
804
869
  font-size: 10px;
@@ -808,6 +873,10 @@ AutocompleteRenderer down arrow
808
873
  text-align: center;
809
874
  }
810
875
 
876
+ [dir=rtl].handsontable .htAutocompleteArrow {
877
+ float: left;
878
+ }
879
+
811
880
  .handsontable td .htAutocompleteArrow:hover {
812
881
  color: #777;
813
882
  }
@@ -815,16 +884,17 @@ AutocompleteRenderer down arrow
815
884
  .handsontable td.area .htAutocompleteArrow {
816
885
  color: #d3d3d3;
817
886
  }
818
-
819
887
  /*
820
888
  CheckboxRenderer
821
889
  */
822
890
  .handsontable .htCheckboxRendererInput {
823
891
  display: inline-block;
824
892
  }
893
+
825
894
  .handsontable .htCheckboxRendererInput.noValue {
826
895
  opacity: 0.5;
827
896
  }
897
+
828
898
  .handsontable .htCheckboxRendererLabel {
829
899
  font-size: inherit;
830
900
  vertical-align: middle;
@@ -835,33 +905,42 @@ CheckboxRenderer
835
905
  .handsontable .htCheckboxRendererLabel.fullWidth {
836
906
  width: 100%;
837
907
  }
838
-
839
- .htCommentCell {
908
+ .handsontable .htCommentCell {
840
909
  position: relative;
841
910
  }
842
911
 
843
- .htCommentCell:after {
844
- content: '';
912
+ .handsontable .htCommentCell:after {
913
+ content: "";
845
914
  position: absolute;
846
915
  top: 0;
847
916
  right: 0;
917
+ left: unset;
848
918
  border-left: 6px solid transparent;
919
+ border-right: none;
849
920
  border-top: 6px solid black;
850
921
  }
851
922
 
852
- .htComments {
923
+ [dir=rtl].handsontable .htCommentCell:after {
924
+ left: 0;
925
+ right: unset;
926
+ border-right: 6px solid transparent;
927
+ border-left: none;
928
+ }
929
+
930
+ .htCommentsContainer .htComments {
853
931
  display: none;
854
932
  z-index: 1059;
855
933
  position: absolute;
856
934
  }
857
935
 
858
- .htCommentTextArea {
936
+ .htCommentsContainer .htCommentTextArea {
859
937
  box-shadow: rgba(0, 0, 0, 0.117647) 0 1px 3px, rgba(0, 0, 0, 0.239216) 0 1px 2px;
860
938
  -webkit-box-sizing: border-box;
861
939
  -moz-box-sizing: border-box;
862
940
  box-sizing: border-box;
863
941
  border: none;
864
942
  border-left: 3px solid #ccc;
943
+ border-right: none;
865
944
  background-color: #fff;
866
945
  width: 215px;
867
946
  height: 90px;
@@ -871,33 +950,53 @@ CheckboxRenderer
871
950
  -webkit-appearance: none;
872
951
  }
873
952
 
874
- .htCommentTextArea:focus {
953
+ [dir=rtl].htCommentsContainer .htCommentTextArea {
954
+ border-right: 3px solid #ccc;
955
+ border-left: none;
956
+ }
957
+
958
+ .htCommentsContainer .htCommentTextArea:focus {
875
959
  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;
876
960
  border-left: 3px solid #5292f7;
961
+ border-right: none;
877
962
  }
878
963
 
964
+ [dir=rtl].htCommentsContainer .htCommentTextArea:focus {
965
+ border-right: 3px solid #5292f7;
966
+ border-left: none;
967
+ }
879
968
  /*!
880
969
  * Handsontable ContextMenu
881
970
  */
882
-
883
971
  .htContextMenu:not(.htGhostTable) {
884
972
  display: none;
885
973
  position: absolute;
886
- z-index: 1060; /* needs to be higher than 1050 - z-index for Twitter Bootstrap modal (#1569) */
974
+ /* needs to be higher than 1050 - z-index for Twitter Bootstrap modal (#1569) */
975
+ z-index: 1060;
887
976
  }
888
977
 
889
978
  .htContextMenu .ht_clone_top,
890
- .htContextMenu .ht_clone_left,
891
- .htContextMenu .ht_clone_corner {
979
+ .htContextMenu .ht_clone_bottom,
980
+ .htContextMenu .ht_clone_inline_start,
981
+ .htContextMenu .ht_clone_top_inline_start_corner,
982
+ .htContextMenu .ht_clone_bottom_inline_start_corner {
892
983
  display: none;
893
984
  }
894
985
 
895
986
  .htContextMenu .ht_master table.htCore {
896
- border: 1px solid #ccc;
987
+ border-color: #ccc;
988
+ border-style: solid;
989
+ border-top-width: 1px;
897
990
  border-bottom-width: 2px;
991
+ border-left-width: 1px;
898
992
  border-right-width: 2px;
899
993
  }
900
994
 
995
+ [dir=rtl].htContextMenu .ht_master table.htCore {
996
+ border-right-width: 1px;
997
+ border-left-width: 2px;
998
+ }
999
+
901
1000
  .htContextMenu .wtBorder {
902
1001
  visibility: hidden;
903
1002
  }
@@ -913,7 +1012,15 @@ CheckboxRenderer
913
1012
  }
914
1013
 
915
1014
  .htContextMenu table tbody tr td:first-child {
916
- border: 0;
1015
+ border-top-width: 0;
1016
+ border-bottom-width: 0;
1017
+ border-left-width: 0;
1018
+ border-right-width: 0;
1019
+ }
1020
+
1021
+ [dir=rtl].htContextMenu table tbody tr td:first-child {
1022
+ border-right-width: 0;
1023
+ border-left-width: 0;
917
1024
  }
918
1025
 
919
1026
  .htContextMenu table tbody tr td.htDimmed {
@@ -962,7 +1069,6 @@ CheckboxRenderer
962
1069
  .htContextMenu .ht_master .wtHolder {
963
1070
  overflow: hidden;
964
1071
  }
965
-
966
1072
  textarea.HandsontableCopyPaste {
967
1073
  position: fixed !important;
968
1074
  top: 0 !important;
@@ -971,7 +1077,7 @@ textarea.HandsontableCopyPaste {
971
1077
  opacity: 0;
972
1078
  outline: 0 none !important;
973
1079
  }
974
-
1080
+ @charset "UTF-8";
975
1081
  /*!
976
1082
  * Handsontable DropdownMenu
977
1083
  */
@@ -986,8 +1092,13 @@ textarea.HandsontableCopyPaste {
986
1092
  margin: 3px 1px 0 5px;
987
1093
  float: right;
988
1094
  }
1095
+
1096
+ [dir=rtl].handsontable .changeType {
1097
+ float: left;
1098
+ }
1099
+
989
1100
  .handsontable .changeType:before {
990
- content: '\25BC\ ';
1101
+ content: "▼ ";
991
1102
  }
992
1103
 
993
1104
  .handsontable .changeType:hover {
@@ -999,21 +1110,32 @@ textarea.HandsontableCopyPaste {
999
1110
  .htDropdownMenu:not(.htGhostTable) {
1000
1111
  display: none;
1001
1112
  position: absolute;
1002
- z-index: 1060; /* needs to be higher than 1050 - z-index for Twitter Bootstrap modal (#1569) */
1113
+ /* needs to be higher than 1050 - z-index for Twitter Bootstrap modal (#1569) */
1114
+ z-index: 1060;
1003
1115
  }
1004
1116
 
1005
1117
  .htDropdownMenu .ht_clone_top,
1006
- .htDropdownMenu .ht_clone_left,
1007
- .htDropdownMenu .ht_clone_corner {
1118
+ .htDropdownMenu .ht_clone_bottom,
1119
+ .htDropdownMenu .ht_clone_inline_start,
1120
+ .htDropdownMenu .ht_clone_top_inline_start_corner,
1121
+ .htDropdownMenu .ht_clone_bottom_inline_start_corner {
1008
1122
  display: none;
1009
1123
  }
1010
1124
 
1011
1125
  .htDropdownMenu table.htCore {
1012
- border: 1px solid #bbb;
1126
+ border-color: #ccc;
1127
+ border-style: solid;
1128
+ border-top-width: 1px;
1013
1129
  border-bottom-width: 2px;
1130
+ border-left-width: 1px;
1014
1131
  border-right-width: 2px;
1015
1132
  }
1016
1133
 
1134
+ [dir=rtl].htDropdownMenu table.htCore {
1135
+ border-right-width: 1px;
1136
+ border-left-width: 2px;
1137
+ }
1138
+
1017
1139
  .htDropdownMenu .wtBorder {
1018
1140
  visibility: hidden;
1019
1141
  }
@@ -1029,7 +1151,15 @@ textarea.HandsontableCopyPaste {
1029
1151
  }
1030
1152
 
1031
1153
  .htDropdownMenu table tbody tr td:first-child {
1032
- border: 0;
1154
+ border-top-width: 0;
1155
+ border-right-width: 0;
1156
+ border-bottom-width: 0;
1157
+ border-left-width: 0;
1158
+ }
1159
+
1160
+ [dir=rtl].htDropdownMenu table tbody tr td:first-child {
1161
+ border-left-width: 0;
1162
+ border-right-width: 0;
1033
1163
  }
1034
1164
 
1035
1165
  .htDropdownMenu table tbody tr td.htDimmed {
@@ -1077,11 +1207,10 @@ textarea.HandsontableCopyPaste {
1077
1207
  .htDropdownMenu .ht_master .wtHolder {
1078
1208
  overflow: hidden;
1079
1209
  }
1080
-
1210
+ @charset "UTF-8";
1081
1211
  /*!
1082
1212
  * Handsontable Filters
1083
1213
  */
1084
-
1085
1214
  /* Conditions menu */
1086
1215
  .htFiltersConditionsMenu:not(.htGhostTable) {
1087
1216
  display: none;
@@ -1090,7 +1219,7 @@ textarea.HandsontableCopyPaste {
1090
1219
  }
1091
1220
 
1092
1221
  .htFiltersConditionsMenu .ht_clone_top,
1093
- .htFiltersConditionsMenu .ht_clone_left,
1222
+ .htFiltersConditionsMenu .ht_clone_inline_start,
1094
1223
  .htFiltersConditionsMenu .ht_clone_corner {
1095
1224
  display: none;
1096
1225
  }
@@ -1116,7 +1245,15 @@ textarea.HandsontableCopyPaste {
1116
1245
  }
1117
1246
 
1118
1247
  .htFiltersConditionsMenu table tbody tr td:first-child {
1119
- border: 0;
1248
+ border-top-width: 0;
1249
+ border-right-width: 0;
1250
+ border-bottom-width: 0;
1251
+ border-left-width: 0;
1252
+ }
1253
+
1254
+ [dir=rtl].htFiltersConditionsMenu table tbody tr td:first-child {
1255
+ border-left-width: 0;
1256
+ border-right-width: 0;
1120
1257
  }
1121
1258
 
1122
1259
  .htFiltersConditionsMenu table tbody tr td.htDimmed {
@@ -1187,6 +1324,7 @@ textarea.HandsontableCopyPaste {
1187
1324
  .handsontable .htFiltersMenuCondition.border {
1188
1325
  border-bottom: 1px dotted #ccc !important;
1189
1326
  }
1327
+
1190
1328
  .handsontable .htFiltersMenuCondition .htUIInput {
1191
1329
  padding: 0 0 5px 0;
1192
1330
  }
@@ -1195,9 +1333,11 @@ textarea.HandsontableCopyPaste {
1195
1333
  .handsontable .htFiltersMenuValue {
1196
1334
  border-bottom: 1px dotted #ccc !important;
1197
1335
  }
1336
+
1198
1337
  .handsontable .htFiltersMenuValue .htUIMultipleSelectSearch {
1199
1338
  padding: 0;
1200
1339
  }
1340
+
1201
1341
  .handsontable .htFiltersMenuCondition .htUIInput input,
1202
1342
  .handsontable .htFiltersMenuValue .htUIMultipleSelectSearch input {
1203
1343
  font-family: inherit;
@@ -1218,9 +1358,15 @@ textarea.HandsontableCopyPaste {
1218
1358
  }
1219
1359
 
1220
1360
  .handsontable .htUISelectAll {
1361
+ margin-left: 0;
1221
1362
  margin-right: 10px;
1222
1363
  }
1223
1364
 
1365
+ [dir=rtl].handsontable .htUISelectAll {
1366
+ margin-right: 0;
1367
+ margin-left: 10px;
1368
+ }
1369
+
1224
1370
  .handsontable .htUIClearAll, .handsontable .htUISelectAll {
1225
1371
  display: inline-block;
1226
1372
  }
@@ -1233,12 +1379,24 @@ textarea.HandsontableCopyPaste {
1233
1379
  text-align: right;
1234
1380
  }
1235
1381
 
1382
+ [dir=rtl].handsontable .htUISelectionControls {
1383
+ text-align: left;
1384
+ }
1385
+
1236
1386
  .handsontable .htCheckboxRendererInput {
1237
- margin: 0 5px 0 0;
1387
+ margin-top: 0;
1388
+ margin-right: 5px;
1389
+ margin-bottom: 0;
1390
+ margin-left: 0;
1238
1391
  vertical-align: middle;
1239
1392
  height: 1em;
1240
1393
  }
1241
1394
 
1395
+ [dir=rtl].handsontable .htCheckboxRendererInput {
1396
+ margin-left: 5px;
1397
+ margin-right: 0;
1398
+ }
1399
+
1242
1400
  /* UI elements */
1243
1401
  /* Input */
1244
1402
  .handsontable .htUIInput {
@@ -1246,13 +1404,16 @@ textarea.HandsontableCopyPaste {
1246
1404
  position: relative;
1247
1405
  text-align: center;
1248
1406
  }
1407
+
1249
1408
  .handsontable .htUIInput input {
1250
1409
  border-radius: 2px;
1251
1410
  border: 1px solid #d2d1d1;
1252
1411
  }
1412
+
1253
1413
  .handsontable .htUIInput input:focus {
1254
1414
  outline: 0;
1255
1415
  }
1416
+
1256
1417
  .handsontable .htUIInputIcon {
1257
1418
  position: absolute;
1258
1419
  }
@@ -1262,6 +1423,7 @@ textarea.HandsontableCopyPaste {
1262
1423
  cursor: pointer;
1263
1424
  display: inline-block;
1264
1425
  }
1426
+
1265
1427
  .handsontable .htUIInput.htUIButton input {
1266
1428
  background-color: #eee;
1267
1429
  color: #000;
@@ -1272,19 +1434,27 @@ textarea.HandsontableCopyPaste {
1272
1434
  height: 19px;
1273
1435
  min-width: 64px;
1274
1436
  }
1437
+
1275
1438
  .handsontable .htUIInput.htUIButton input:hover {
1276
1439
  border-color: #b9b9b9;
1277
1440
  }
1278
1441
 
1279
1442
  .handsontable .htUIInput.htUIButtonOK {
1443
+ margin-left: 0;
1280
1444
  margin-right: 10px;
1281
1445
  }
1282
1446
 
1447
+ [dir=rtl].handsontable .htUIInput.htUIButtonOK {
1448
+ margin-right: 0;
1449
+ margin-left: 10px;
1450
+ }
1451
+
1283
1452
  .handsontable .htUIInput.htUIButtonOK input {
1284
1453
  background-color: #0f9d58;
1285
1454
  border-color: #18804e;
1286
1455
  color: #fff;
1287
1456
  }
1457
+
1288
1458
  .handsontable .htUIInput.htUIButtonOK input:hover {
1289
1459
  border-color: #1a6f46;
1290
1460
  }
@@ -1295,6 +1465,7 @@ textarea.HandsontableCopyPaste {
1295
1465
  margin-bottom: 7px;
1296
1466
  position: relative;
1297
1467
  }
1468
+
1298
1469
  .handsontable .htUISelectCaption {
1299
1470
  background-color: #e8e8e8;
1300
1471
  border-radius: 2px;
@@ -1307,19 +1478,22 @@ textarea.HandsontableCopyPaste {
1307
1478
  white-space: nowrap;
1308
1479
  overflow: hidden;
1309
1480
  }
1481
+
1310
1482
  .handsontable .htUISelectCaption:hover {
1311
1483
  background-color: #e8e8e8;
1312
1484
  border: 1px solid #b9b9b9;
1313
1485
  }
1486
+
1314
1487
  .handsontable .htUISelectDropdown:after {
1315
- content: '\25B2';
1488
+ content: "▲";
1316
1489
  font-size: 7px;
1317
1490
  position: absolute;
1318
1491
  right: 10px;
1319
1492
  top: 0;
1320
1493
  }
1494
+
1321
1495
  .handsontable .htUISelectDropdown:before {
1322
- content: '\25BC';
1496
+ content: "▼";
1323
1497
  font-size: 7px;
1324
1498
  position: absolute;
1325
1499
  right: 10px;
@@ -1330,6 +1504,7 @@ textarea.HandsontableCopyPaste {
1330
1504
  .handsontable .htUIMultipleSelect .handsontable .htCore {
1331
1505
  border: none;
1332
1506
  }
1507
+
1333
1508
  .handsontable .htUIMultipleSelect .handsontable .htCore td:hover {
1334
1509
  background-color: #F5F5F5;
1335
1510
  }
@@ -1342,18 +1517,30 @@ textarea.HandsontableCopyPaste {
1342
1517
 
1343
1518
  .handsontable .htUIRadio {
1344
1519
  display: inline-block;
1520
+ margin-left: 0;
1345
1521
  margin-right: 5px;
1346
1522
  height: 100%;
1347
1523
  }
1348
1524
 
1525
+ [dir=rtl].handsontable .htUIRadio {
1526
+ margin-right: 0;
1527
+ margin-left: 5px;
1528
+ }
1529
+
1349
1530
  .handsontable .htUIRadio:last-child {
1350
1531
  margin-right: 0;
1351
1532
  }
1352
1533
 
1353
1534
  .handsontable .htUIRadio > input[type=radio] {
1535
+ margin-left: 0;
1354
1536
  margin-right: 0.5ex;
1355
1537
  }
1356
1538
 
1539
+ [dir=rtl].handsontable .htUIRadio > input[type=radio] {
1540
+ margin-right: 0;
1541
+ margin-left: 0.5ex;
1542
+ }
1543
+
1357
1544
  .handsontable .htUIRadio label {
1358
1545
  vertical-align: middle;
1359
1546
  }
@@ -1361,7 +1548,7 @@ textarea.HandsontableCopyPaste {
1361
1548
  .handsontable .htFiltersMenuOperators {
1362
1549
  padding-bottom: 5px;
1363
1550
  }
1364
-
1551
+ @charset "UTF-8";
1365
1552
  /*
1366
1553
  * Handsontable HiddenColumns
1367
1554
  */
@@ -1381,15 +1568,33 @@ textarea.HandsontableCopyPaste {
1381
1568
  .handsontable th.afterHiddenColumn {
1382
1569
  position: relative;
1383
1570
  }
1571
+
1384
1572
  .handsontable th.beforeHiddenColumn::after {
1385
1573
  right: 1px;
1386
- content: '\25C0';
1574
+ content: "◀";
1575
+ /* left arrow */
1576
+ }
1577
+
1578
+ [dir=rtl].handsontable th.beforeHiddenColumn::after {
1579
+ right: initial;
1580
+ left: 1px;
1581
+ content: "▶";
1582
+ /* right arrow */
1387
1583
  }
1584
+
1388
1585
  .handsontable th.afterHiddenColumn::before {
1389
1586
  left: 1px;
1390
- content: '\25B6';
1587
+ content: "▶";
1588
+ /* right arrow */
1391
1589
  }
1392
1590
 
1591
+ [dir=rtl].handsontable th.afterHiddenColumn::before {
1592
+ right: 1px;
1593
+ left: initial;
1594
+ content: "◀";
1595
+ /* left arrow */
1596
+ }
1597
+ @charset "UTF-8";
1393
1598
  /*!
1394
1599
  * Handsontable HiddenRows
1395
1600
  */
@@ -1408,37 +1613,39 @@ textarea.HandsontableCopyPaste {
1408
1613
  }
1409
1614
 
1410
1615
  .handsontable th.beforeHiddenRow::before {
1411
- content: '\25B2';
1616
+ content: "▲";
1412
1617
  bottom: 2px;
1413
1618
  }
1414
1619
 
1415
1620
  .handsontable th.afterHiddenRow::after {
1416
- content: '\25BC';
1621
+ content: "▼";
1417
1622
  top: 2px;
1418
1623
  }
1624
+
1419
1625
  .handsontable.ht__selection--rows tbody th.beforeHiddenRow.ht__highlight:before,
1420
1626
  .handsontable.ht__selection--rows tbody th.afterHiddenRow.ht__highlight:after {
1421
1627
  color: #eee;
1422
1628
  }
1629
+
1423
1630
  .handsontable td.afterHiddenRow.firstVisibleRow,
1424
1631
  .handsontable th.afterHiddenRow.firstVisibleRow {
1425
1632
  border-top: 1px solid #CCC;
1426
1633
  }
1427
-
1428
- .htRowHeaders .ht_master.innerBorderLeft ~ .ht_clone_top_left_corner th:nth-child(2),
1429
- .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 {
1430
1636
  border-left: 0 none;
1431
1637
  }
1432
-
1433
1638
  .handsontable .wtHider {
1434
1639
  position: relative;
1435
1640
  }
1641
+
1436
1642
  .handsontable.ht__manualColumnMove.after-selection--columns thead th.ht__highlight {
1437
1643
  cursor: move;
1438
1644
  cursor: -moz-grab;
1439
1645
  cursor: -webkit-grab;
1440
1646
  cursor: grab;
1441
1647
  }
1648
+
1442
1649
  .handsontable.ht__manualColumnMove.on-moving--columns,
1443
1650
  .handsontable.ht__manualColumnMove.on-moving--columns thead th.ht__highlight {
1444
1651
  cursor: move;
@@ -1446,22 +1653,27 @@ textarea.HandsontableCopyPaste {
1446
1653
  cursor: -webkit-grabbing;
1447
1654
  cursor: grabbing;
1448
1655
  }
1656
+
1449
1657
  .handsontable.ht__manualColumnMove.on-moving--columns .manualColumnResizer {
1450
1658
  display: none;
1451
1659
  }
1660
+
1452
1661
  .handsontable .ht__manualColumnMove--guideline,
1453
1662
  .handsontable .ht__manualColumnMove--backlight {
1454
1663
  position: absolute;
1455
1664
  height: 100%;
1456
1665
  display: none;
1457
1666
  }
1667
+
1458
1668
  .handsontable .ht__manualColumnMove--guideline {
1459
1669
  background: #757575;
1460
1670
  width: 2px;
1461
1671
  top: 0;
1462
- margin-left: -1px;
1672
+ margin-inline-start: -1px;
1673
+ margin-inline-end: 0;
1463
1674
  z-index: 205;
1464
1675
  }
1676
+
1465
1677
  .handsontable .ht__manualColumnMove--backlight {
1466
1678
  background: #343434;
1467
1679
  background: rgba(52, 52, 52, 0.25);
@@ -1469,20 +1681,22 @@ textarea.HandsontableCopyPaste {
1469
1681
  z-index: 205;
1470
1682
  pointer-events: none;
1471
1683
  }
1684
+
1472
1685
  .handsontable.on-moving--columns.show-ui .ht__manualColumnMove--guideline,
1473
1686
  .handsontable.on-moving--columns .ht__manualColumnMove--backlight {
1474
1687
  display: block;
1475
1688
  }
1476
-
1477
1689
  .handsontable .wtHider {
1478
1690
  position: relative;
1479
1691
  }
1692
+
1480
1693
  .handsontable.ht__manualRowMove.after-selection--rows tbody th.ht__highlight {
1481
1694
  cursor: move;
1482
1695
  cursor: -moz-grab;
1483
1696
  cursor: -webkit-grab;
1484
1697
  cursor: grab;
1485
1698
  }
1699
+
1486
1700
  .handsontable.ht__manualRowMove.on-moving--rows,
1487
1701
  .handsontable.ht__manualRowMove.on-moving--rows tbody th.ht__highlight {
1488
1702
  cursor: move;
@@ -1490,15 +1704,18 @@ textarea.HandsontableCopyPaste {
1490
1704
  cursor: -webkit-grabbing;
1491
1705
  cursor: grabbing;
1492
1706
  }
1707
+
1493
1708
  .handsontable.ht__manualRowMove.on-moving--rows .manualRowResizer {
1494
1709
  display: none;
1495
1710
  }
1711
+
1496
1712
  .handsontable .ht__manualRowMove--guideline,
1497
1713
  .handsontable .ht__manualRowMove--backlight {
1498
1714
  position: absolute;
1499
1715
  width: 100%;
1500
1716
  display: none;
1501
1717
  }
1718
+
1502
1719
  .handsontable .ht__manualRowMove--guideline {
1503
1720
  background: #757575;
1504
1721
  height: 2px;
@@ -1506,6 +1723,7 @@ textarea.HandsontableCopyPaste {
1506
1723
  margin-top: -1px;
1507
1724
  z-index: 205;
1508
1725
  }
1726
+
1509
1727
  .handsontable .ht__manualRowMove--backlight {
1510
1728
  background: #343434;
1511
1729
  background: rgba(52, 52, 52, 0.25);
@@ -1513,66 +1731,76 @@ textarea.HandsontableCopyPaste {
1513
1731
  z-index: 205;
1514
1732
  pointer-events: none;
1515
1733
  }
1734
+
1516
1735
  .handsontable.on-moving--rows.show-ui .ht__manualRowMove--guideline,
1517
1736
  .handsontable.on-moving--rows .ht__manualRowMove--backlight {
1518
1737
  display: block;
1519
1738
  }
1520
-
1521
- .handsontable tbody td[rowspan][class*="area"][class*="highlight"]:not([class*="fullySelectedMergedCell"]):before {
1739
+ .handsontable tbody td[rowspan][class*=area][class*=highlight]:not([class*=fullySelectedMergedCell]):before {
1522
1740
  opacity: 0;
1523
1741
  }
1524
1742
 
1525
- .handsontable tbody td[rowspan][class*="area"][class*="highlight"][class*="fullySelectedMergedCell-multiple"]:before {
1743
+ .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-multiple]:before {
1526
1744
  opacity: 0.1;
1527
1745
  }
1528
1746
 
1529
- .handsontable tbody td[rowspan][class*="area"][class*="highlight"][class*="fullySelectedMergedCell-0"]:before {
1747
+ .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-0]:before {
1530
1748
  opacity: 0.1;
1531
1749
  }
1532
1750
 
1533
- .handsontable tbody td[rowspan][class*="area"][class*="highlight"][class*="fullySelectedMergedCell-1"]:before {
1751
+ .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-1]:before {
1534
1752
  opacity: 0.2;
1535
1753
  }
1536
1754
 
1537
- .handsontable tbody td[rowspan][class*="area"][class*="highlight"][class*="fullySelectedMergedCell-2"]:before {
1755
+ .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-2]:before {
1538
1756
  opacity: 0.27;
1539
1757
  }
1540
1758
 
1541
- .handsontable tbody td[rowspan][class*="area"][class*="highlight"][class*="fullySelectedMergedCell-3"]:before {
1759
+ .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-3]:before {
1542
1760
  opacity: 0.35;
1543
1761
  }
1544
1762
 
1545
- .handsontable tbody td[rowspan][class*="area"][class*="highlight"][class*="fullySelectedMergedCell-4"]:before {
1763
+ .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-4]:before {
1546
1764
  opacity: 0.41;
1547
1765
  }
1548
1766
 
1549
- .handsontable tbody td[rowspan][class*="area"][class*="highlight"][class*="fullySelectedMergedCell-5"]:before {
1767
+ .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-5]:before {
1550
1768
  opacity: 0.47;
1551
1769
  }
1552
1770
 
1553
- .handsontable tbody td[rowspan][class*="area"][class*="highlight"][class*="fullySelectedMergedCell-6"]:before {
1771
+ .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-6]:before {
1554
1772
  opacity: 0.54;
1555
1773
  }
1556
1774
 
1557
- .handsontable tbody td[rowspan][class*="area"][class*="highlight"][class*="fullySelectedMergedCell-7"]:before {
1775
+ .handsontable tbody td[rowspan][class*=area][class*=highlight][class*=fullySelectedMergedCell-7]:before {
1558
1776
  opacity: 0.58;
1559
1777
  }
1560
-
1561
1778
  /* Column's number position */
1562
1779
  .handsontable span.colHeader.columnSorting::after {
1563
1780
  /* Centering start */
1564
1781
  top: 50%;
1565
- margin-top: -2px; /* Two extra pixels (-2 instead of -4) for purpose of proper positioning of numeric indicators, when `font-size` set to default */
1782
+ /* Two extra pixels (-2 instead of -4) for purpose of proper positioning of numeric indicators, when `font-size` set to default */
1783
+ margin-top: -2px;
1566
1784
  /* Centering end */
1567
-
1568
1785
  position: absolute;
1569
1786
  right: -15px;
1570
- padding-left: 5px; ; /* For purpose of continuous mouse over experience, when moving between the `::before` and the `::after` elements */
1571
-
1787
+ left: unset;
1788
+ /* For purpose of continuous mouse over experience, when moving between the `::before` and the `::after` elements */
1789
+ padding-left: 5px;
1790
+ padding-right: unset;
1572
1791
  font-size: 8px;
1573
1792
  height: 8px;
1574
1793
  line-height: 1.1;
1575
- text-decoration: underline; /* Workaround for IE9 - IE11 */
1794
+ /* Workaround for IE9 - IE11 */
1795
+ text-decoration: underline;
1796
+ }
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;
1576
1804
  }
1577
1805
 
1578
1806
  /* Workaround for IE9 - IE11, https://stackoverflow.com/a/21902566, https://stackoverflow.com/a/32120247 */
@@ -1581,62 +1809,78 @@ textarea.HandsontableCopyPaste {
1581
1809
  }
1582
1810
 
1583
1811
  /* We support up to 7 numeric indicators, describing order of column in sorted columns queue */
1584
- .handsontable span.colHeader.columnSorting[class^="sort-"]::after,
1812
+ .handsontable span.colHeader.columnSorting[class^=sort-]::after,
1585
1813
  .handsontable span.colHeader.columnSorting[class*=" sort-"]::after {
1586
- content: "+"
1814
+ content: "+";
1587
1815
  }
1588
1816
 
1589
1817
  .handsontable span.colHeader.columnSorting.sort-1::after {
1590
- content: '1';
1818
+ content: "1";
1591
1819
  }
1592
1820
 
1593
1821
  .handsontable span.colHeader.columnSorting.sort-2::after {
1594
- content: '2';
1822
+ content: "2";
1595
1823
  }
1596
1824
 
1597
1825
  .handsontable span.colHeader.columnSorting.sort-3::after {
1598
- content: '3';
1826
+ content: "3";
1599
1827
  }
1600
1828
 
1601
1829
  .handsontable span.colHeader.columnSorting.sort-4::after {
1602
- content: '4';
1830
+ content: "4";
1603
1831
  }
1604
1832
 
1605
1833
  .handsontable span.colHeader.columnSorting.sort-5::after {
1606
- content: '5';
1834
+ content: "5";
1607
1835
  }
1608
1836
 
1609
1837
  .handsontable span.colHeader.columnSorting.sort-6::after {
1610
- content: '6';
1838
+ content: "6";
1611
1839
  }
1612
1840
 
1613
1841
  .handsontable span.colHeader.columnSorting.sort-7::after {
1614
- content: '7';
1842
+ content: "7";
1615
1843
  }
1616
1844
 
1617
1845
  /* Drop-down menu widens header by 5 pixels, sort sequence numbers won't overlap the icon; mainly for the IE9+ */
1618
1846
  .htGhostTable th div button.changeType + span.colHeader.columnSorting:not(.indicatorDisabled) {
1619
1847
  padding-right: 5px;
1620
1848
  }
1621
-
1622
1849
  .handsontable thead th.hiddenHeader:not(:first-of-type) {
1623
1850
  display: none;
1624
1851
  }
1625
-
1852
+ @charset "UTF-8";
1626
1853
  .handsontable th.ht_nestingLevels {
1627
1854
  text-align: left;
1628
1855
  padding-left: 7px;
1629
1856
  }
1630
1857
 
1858
+ [dir=rtl].handsontable th.ht_nestingLevels {
1859
+ text-align: right;
1860
+ padding-right: 7px;
1861
+ }
1862
+
1631
1863
  .handsontable th div.ht_nestingLevels {
1632
1864
  display: inline-block;
1633
1865
  position: absolute;
1634
1866
  left: 11px;
1867
+ right: unset;
1868
+ }
1869
+
1870
+ [dir=rtl].handsontable th div.ht_nestingLevels {
1871
+ right: 11px;
1872
+ left: unset;
1635
1873
  }
1636
1874
 
1637
- .handsontable.innerBorderLeft th div.ht_nestingLevels,
1638
- .handsontable.innerBorderLeft ~ .handsontable th div.ht_nestingLevels {
1875
+ .handsontable.innerBorderInlineStart th div.ht_nestingLevels,
1876
+ .handsontable.innerBorderInlineStart ~ .handsontable th div.ht_nestingLevels {
1639
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;
1640
1884
  }
1641
1885
 
1642
1886
  .handsontable th span.ht_nestingLevel {
@@ -1650,34 +1894,48 @@ textarea.HandsontableCopyPaste {
1650
1894
  float: left;
1651
1895
  }
1652
1896
 
1897
+ [dir=rtl].handsontable th span.ht_nestingLevel_empty {
1898
+ float: right;
1899
+ }
1900
+
1653
1901
  .handsontable th span.ht_nestingLevel::after {
1654
- content: "\2510";
1902
+ content: "";
1655
1903
  font-size: 9px;
1656
1904
  display: inline-block;
1657
1905
  position: relative;
1658
1906
  bottom: 3px;
1659
1907
  }
1660
1908
 
1661
-
1662
1909
  .handsontable th div.ht_nestingButton {
1663
1910
  display: inline-block;
1664
1911
  position: absolute;
1665
1912
  right: -2px;
1913
+ left: unset;
1666
1914
  cursor: pointer;
1667
1915
  }
1668
1916
 
1917
+ [dir=rtl].handsontable th div.ht_nestingButton {
1918
+ left: -2px;
1919
+ right: unset;
1920
+ }
1921
+
1669
1922
  .handsontable th div.ht_nestingButton.ht_nestingExpand::after {
1670
- content: "\002B";
1923
+ content: "+";
1671
1924
  }
1672
1925
 
1673
1926
  .handsontable th div.ht_nestingButton.ht_nestingCollapse::after {
1674
- content: "\002D";
1927
+ content: "-";
1675
1928
  }
1676
1929
 
1677
- .handsontable.innerBorderLeft th div.ht_nestingButton,
1678
- .handsontable.innerBorderLeft ~ .handsontable th div.ht_nestingButton {
1930
+ .handsontable.innerBorderInlineStart th div.ht_nestingButton,
1931
+ .handsontable.innerBorderInlineStart ~ .handsontable th div.ht_nestingButton {
1679
1932
  right: 0;
1933
+ left: unset;
1680
1934
  }
1681
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;
1939
+ }
1682
1940
 
1683
1941
  /*# sourceMappingURL=handsontable.css.map*/