handsontable 11.0.0 → 12.0.0

Sign up to get free protection for your applications and to get access to all the features.
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*/