@geotab/zenith 3.10.0 → 3.11.0-beta.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 (311) hide show
  1. package/README.md +29 -0
  2. package/dist/calendar/calendar.js +7 -4
  3. package/dist/card/components/title.js +4 -1
  4. package/dist/card/components/titleLink.js +5 -2
  5. package/dist/chart/barChart/getDefaultOptions.d.ts +2 -1
  6. package/dist/chart/barChart/getDefaultOptions.js +5 -2
  7. package/dist/chart/barChart.js +6 -4
  8. package/dist/chart/lineChart/getDefaultOptions.d.ts +2 -1
  9. package/dist/chart/lineChart/getDefaultOptions.js +5 -2
  10. package/dist/chart/lineChart.js +4 -2
  11. package/dist/checkboxListWithAction/checkboxListWithAction.js +4 -1
  12. package/dist/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.js +4 -1
  13. package/dist/commonStyles/pillStyles/pillContent.less +13 -14
  14. package/dist/commonStyles/pillStyles/pillStyles.less +4 -5
  15. package/dist/commonStyles/pillStyles/pillTextContent.less +2 -2
  16. package/dist/commonStyles/typography/typography.less +579 -19
  17. package/dist/controlledPopup/controlledPopup.d.ts +1 -0
  18. package/dist/controlledPopup/controlledPopup.js +3 -1
  19. package/dist/dataGrid/cell/cell.d.ts +2 -1
  20. package/dist/dataGrid/cell/cell.js +2 -2
  21. package/dist/dataGrid/dataGrid.js +7 -4
  22. package/dist/dataGrid/listColumn.d.ts +2 -0
  23. package/dist/dataGrid/row/row.d.ts +2 -1
  24. package/dist/dataGrid/row/row.js +13 -9
  25. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.js +2 -1
  26. package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.d.ts +4 -0
  27. package/dist/dateRangeInner/dateRangeInner.js +5 -2
  28. package/dist/dateRangeRaw/dateRangeRaw.js +5 -2
  29. package/dist/dateRangeRaw/utils/parseLabel.js +1 -1
  30. package/dist/dropdownRaw/dropdownRaw.js +12 -6
  31. package/dist/fileUpload/components/dropZoneContent.js +100 -100
  32. package/dist/fileUpload/fileUpload.js +100 -100
  33. package/dist/filters/components/filtersSearchList.js +4 -1
  34. package/dist/filtersBar/filtersContainer/filtersContainer.js +62 -61
  35. package/dist/formStepperButtons/formStepperButtons.js +4 -1
  36. package/dist/groupsFilterRaw/groupsFilterAdjustmentState.js +4 -1
  37. package/dist/groupsFilterRaw/groupsFilterInitialState.js +4 -1
  38. package/dist/header/headerBack.js +4 -1
  39. package/dist/icons/iconAlignLeft.js +1 -3
  40. package/dist/icons/iconAlignmentLeft.js +1 -3
  41. package/dist/icons/iconAlignmentRight.js +1 -3
  42. package/dist/icons/iconArrowBottomLeft.js +1 -3
  43. package/dist/icons/iconArrowBottomRight.js +1 -3
  44. package/dist/icons/iconArrowLeftPath.js +1 -3
  45. package/dist/icons/iconArrowRight.js +1 -3
  46. package/dist/icons/iconArrowRightCircle.js +1 -3
  47. package/dist/icons/iconArrowRightPath.js +1 -3
  48. package/dist/icons/iconArrowTopLeft.js +1 -3
  49. package/dist/icons/iconArrowTopRight.js +1 -3
  50. package/dist/icons/iconChevronDoubleRight.js +1 -3
  51. package/dist/icons/iconChevronRight.js +1 -3
  52. package/dist/icons/iconChevronRightSmall.js +1 -3
  53. package/dist/icons/iconCornerDownLeft.js +1 -3
  54. package/dist/icons/iconCornerDownRight.js +1 -3
  55. package/dist/icons/iconCornerLeftDown.js +1 -3
  56. package/dist/icons/iconCornerLeftUp.js +1 -3
  57. package/dist/icons/iconCornerRightDown.js +1 -3
  58. package/dist/icons/iconCornerRightUp.js +1 -3
  59. package/dist/icons/iconCornerUpLeft.js +1 -3
  60. package/dist/icons/iconCornerUpRight.js +1 -3
  61. package/dist/index.css +3254 -2922
  62. package/dist/index.d.ts +1 -0
  63. package/dist/index.js +3 -1
  64. package/dist/lineChartMini/lineChartMini.js +15 -3
  65. package/dist/list/itemData/itemDataInternal.js +4 -1
  66. package/dist/list/listItem/listItem.js +4 -1
  67. package/dist/menu/components/controlledMenuList/controlledMenuList.d.ts +27 -0
  68. package/dist/menu/components/controlledMenuList/controlledMenuList.js +126 -0
  69. package/dist/menu/components/createControlledMenuList.d.ts +37 -0
  70. package/dist/menu/components/createControlledMenuList.js +55 -0
  71. package/dist/menu/components/createMenuItem.d.ts +67 -0
  72. package/dist/menu/components/createMenuItem.js +97 -0
  73. package/dist/menu/components/menuButton.js +12 -3
  74. package/dist/menu/components/menuItem.d.ts +1 -2
  75. package/dist/menu/components/menuItem.js +20 -74
  76. package/dist/menu/contexts/usePathContext.d.ts +2 -0
  77. package/dist/menu/contexts/usePathContext.js +9 -0
  78. package/dist/menu/controlledMenu.js +8 -175
  79. package/dist/menu/utils/buildMenuContent.d.ts +2 -0
  80. package/dist/menu/utils/buildMenuContent.js +38 -0
  81. package/dist/menu/utils/findContent.d.ts +2 -2
  82. package/dist/menu/utils/findContent.js +4 -3
  83. package/dist/menu/utils/getItemLabel.d.ts +2 -0
  84. package/dist/menu/utils/getItemLabel.js +8 -0
  85. package/dist/menu/utils/getSafeRel.d.ts +1 -0
  86. package/dist/menu/utils/getSafeRel.js +14 -0
  87. package/dist/menu/utils/isMenuItem.d.ts +2 -0
  88. package/dist/menu/utils/isMenuItem.js +13 -0
  89. package/dist/menu/utils/isSafeHref.d.ts +1 -0
  90. package/dist/menu/utils/isSafeHref.js +10 -0
  91. package/dist/menu/utils/normalizeSeparators.d.ts +2 -0
  92. package/dist/menu/utils/normalizeSeparators.js +23 -0
  93. package/dist/menu/utils/resolveKeys.d.ts +12 -0
  94. package/dist/menu/utils/resolveKeys.js +22 -0
  95. package/dist/menu/utils/useLastValidSheet.d.ts +7 -0
  96. package/dist/menu/utils/useLastValidSheet.js +30 -0
  97. package/dist/menu/utils/useMenuItemCore.d.ts +31 -0
  98. package/dist/menu/utils/useMenuItemCore.js +54 -0
  99. package/dist/menu/utils/useMenuItemKeyboardNav.d.ts +2 -0
  100. package/dist/menu/utils/useMenuItemKeyboardNav.js +15 -0
  101. package/dist/menu/utils/useMenuListKeyboardNav.d.ts +12 -0
  102. package/dist/menu/utils/useMenuListKeyboardNav.js +77 -0
  103. package/dist/menu/utils/useMenuPath.d.ts +6 -0
  104. package/dist/menu/utils/useMenuPath.js +35 -0
  105. package/dist/nav/navItem/navItem.js +10 -5
  106. package/dist/nav/navSection/navSection.js +7 -5
  107. package/dist/pagination/paginationArrow.js +10 -3
  108. package/dist/radioGroupRaw/radioGroupRaw.js +2 -1
  109. package/dist/rangeRaw/rangeRaw.js +0 -1
  110. package/dist/selectList/selectList.helpers.d.ts +1 -1
  111. package/dist/selectList/selectList.helpers.js +29 -4
  112. package/dist/selectList/selectList.js +3 -1
  113. package/dist/selectList/selectList.reducer.js +1 -2
  114. package/dist/selectList/selectListItem.js +4 -1
  115. package/dist/sortControl/sortControl.js +59 -4
  116. package/dist/table/children/useTableChildren.d.ts +1 -1
  117. package/dist/table/children/useTableChildren.js +3 -3
  118. package/dist/table/flexible/columnsList.js +4 -2
  119. package/dist/table/selectable/useSelectableRows.d.ts +8 -0
  120. package/dist/table/selectable/useSelectableRows.js +14 -6
  121. package/dist/table/table.js +1 -7
  122. package/dist/tabs/tabs.js +60 -58
  123. package/dist/tabs/tabsTestHelper.js +2 -2
  124. package/dist/timePickerRaw/timePickerRaw.js +1 -1
  125. package/dist/toggleButtonRaw/toggleButtonRaw.js +5 -2
  126. package/dist/utils/localization/translations/ar.json +3 -1
  127. package/dist/utils/localization/translations/cs.json +9 -5
  128. package/dist/utils/localization/translations/da-DK.json +9 -5
  129. package/dist/utils/localization/translations/de.json +9 -5
  130. package/dist/utils/localization/translations/en.json +5 -1
  131. package/dist/utils/localization/translations/es.json +9 -5
  132. package/dist/utils/localization/translations/fi-FI.json +9 -5
  133. package/dist/utils/localization/translations/fr-FR.json +9 -5
  134. package/dist/utils/localization/translations/fr.json +9 -5
  135. package/dist/utils/localization/translations/hu-HU.json +9 -5
  136. package/dist/utils/localization/translations/id.json +9 -5
  137. package/dist/utils/localization/translations/it.json +9 -5
  138. package/dist/utils/localization/translations/ja.json +9 -5
  139. package/dist/utils/localization/translations/ko-KR.json +9 -5
  140. package/dist/utils/localization/translations/ms.json +9 -5
  141. package/dist/utils/localization/translations/nb-NO.json +9 -5
  142. package/dist/utils/localization/translations/nl.json +9 -5
  143. package/dist/utils/localization/translations/pl.json +9 -5
  144. package/dist/utils/localization/translations/pt-BR.json +9 -5
  145. package/dist/utils/localization/translations/pt-PT.json +9 -5
  146. package/dist/utils/localization/translations/ro-RO.json +9 -5
  147. package/dist/utils/localization/translations/sk-SK.json +9 -5
  148. package/dist/utils/localization/translations/sv.json +9 -5
  149. package/dist/utils/localization/translations/th.json +9 -5
  150. package/dist/utils/localization/translations/tr.json +9 -5
  151. package/dist/utils/localization/translations/zh-Hans.json +9 -5
  152. package/dist/utils/localization/translations/zh-TW.json +9 -5
  153. package/dist/utils/localization/useDirectionalIcon.d.ts +3 -0
  154. package/dist/utils/localization/useDirectionalIcon.js +9 -0
  155. package/dist/utils/positioningUtils/alignments.d.ts +2 -2
  156. package/dist/utils/positioningUtils/alignments.js +2 -2
  157. package/dist/utils/positioningUtils/calculatePosition.js +4 -6
  158. package/esm/calendar/calendar.js +7 -4
  159. package/esm/card/components/title.js +4 -1
  160. package/esm/card/components/titleLink.js +5 -2
  161. package/esm/chart/barChart/getDefaultOptions.d.ts +2 -1
  162. package/esm/chart/barChart/getDefaultOptions.js +5 -2
  163. package/esm/chart/barChart.js +6 -4
  164. package/esm/chart/lineChart/getDefaultOptions.d.ts +2 -1
  165. package/esm/chart/lineChart/getDefaultOptions.js +5 -2
  166. package/esm/chart/lineChart.js +4 -2
  167. package/esm/checkboxListWithAction/checkboxListWithAction.js +4 -1
  168. package/esm/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.js +4 -1
  169. package/esm/controlledPopup/controlledPopup.d.ts +1 -0
  170. package/esm/controlledPopup/controlledPopup.js +3 -1
  171. package/esm/dataGrid/cell/cell.d.ts +2 -1
  172. package/esm/dataGrid/cell/cell.js +2 -2
  173. package/esm/dataGrid/dataGrid.js +7 -4
  174. package/esm/dataGrid/listColumn.d.ts +2 -0
  175. package/esm/dataGrid/row/row.d.ts +2 -1
  176. package/esm/dataGrid/row/row.js +13 -9
  177. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsList.js +2 -1
  178. package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.d.ts +4 -0
  179. package/esm/dateRangeInner/dateRangeInner.js +5 -2
  180. package/esm/dateRangeRaw/dateRangeRaw.js +5 -2
  181. package/esm/dateRangeRaw/utils/parseLabel.js +1 -1
  182. package/esm/dropdownRaw/dropdownRaw.js +12 -6
  183. package/esm/fileUpload/components/dropZoneContent.js +100 -100
  184. package/esm/fileUpload/fileUpload.js +100 -100
  185. package/esm/filters/components/filtersSearchList.js +4 -1
  186. package/esm/filtersBar/filtersContainer/filtersContainer.js +62 -61
  187. package/esm/formStepperButtons/formStepperButtons.js +4 -1
  188. package/esm/groupsFilterRaw/groupsFilterAdjustmentState.js +4 -1
  189. package/esm/groupsFilterRaw/groupsFilterInitialState.js +4 -1
  190. package/esm/header/headerBack.js +4 -1
  191. package/esm/icons/iconAlignLeft.js +1 -3
  192. package/esm/icons/iconAlignmentLeft.js +1 -3
  193. package/esm/icons/iconAlignmentRight.js +1 -3
  194. package/esm/icons/iconArrowBottomLeft.js +1 -3
  195. package/esm/icons/iconArrowBottomRight.js +1 -3
  196. package/esm/icons/iconArrowLeftPath.js +1 -3
  197. package/esm/icons/iconArrowRight.js +1 -3
  198. package/esm/icons/iconArrowRightCircle.js +1 -3
  199. package/esm/icons/iconArrowRightPath.js +1 -3
  200. package/esm/icons/iconArrowTopLeft.js +1 -3
  201. package/esm/icons/iconArrowTopRight.js +1 -3
  202. package/esm/icons/iconChevronDoubleRight.js +1 -3
  203. package/esm/icons/iconChevronRight.js +1 -3
  204. package/esm/icons/iconChevronRightSmall.js +1 -3
  205. package/esm/icons/iconCornerDownLeft.js +1 -3
  206. package/esm/icons/iconCornerDownRight.js +1 -3
  207. package/esm/icons/iconCornerLeftDown.js +1 -3
  208. package/esm/icons/iconCornerLeftUp.js +1 -3
  209. package/esm/icons/iconCornerRightDown.js +1 -3
  210. package/esm/icons/iconCornerRightUp.js +1 -3
  211. package/esm/icons/iconCornerUpLeft.js +1 -3
  212. package/esm/icons/iconCornerUpRight.js +1 -3
  213. package/esm/index.d.ts +1 -0
  214. package/esm/index.js +1 -0
  215. package/esm/lineChartMini/lineChartMini.js +15 -3
  216. package/esm/list/itemData/itemDataInternal.js +4 -1
  217. package/esm/list/listItem/listItem.js +4 -1
  218. package/esm/menu/components/controlledMenuList/controlledMenuList.d.ts +27 -0
  219. package/esm/menu/components/controlledMenuList/controlledMenuList.js +123 -0
  220. package/esm/menu/components/createControlledMenuList.d.ts +37 -0
  221. package/esm/menu/components/createControlledMenuList.js +51 -0
  222. package/esm/menu/components/createMenuItem.d.ts +67 -0
  223. package/esm/menu/components/createMenuItem.js +93 -0
  224. package/esm/menu/components/menuButton.js +12 -3
  225. package/esm/menu/components/menuItem.d.ts +1 -2
  226. package/esm/menu/components/menuItem.js +20 -74
  227. package/esm/menu/contexts/usePathContext.d.ts +2 -0
  228. package/esm/menu/contexts/usePathContext.js +5 -0
  229. package/esm/menu/controlledMenu.js +10 -177
  230. package/esm/menu/utils/buildMenuContent.d.ts +2 -0
  231. package/esm/menu/utils/buildMenuContent.js +34 -0
  232. package/esm/menu/utils/findContent.d.ts +2 -2
  233. package/esm/menu/utils/findContent.js +4 -3
  234. package/esm/menu/utils/getItemLabel.d.ts +2 -0
  235. package/esm/menu/utils/getItemLabel.js +4 -0
  236. package/esm/menu/utils/getSafeRel.d.ts +1 -0
  237. package/esm/menu/utils/getSafeRel.js +10 -0
  238. package/esm/menu/utils/isMenuItem.d.ts +2 -0
  239. package/esm/menu/utils/isMenuItem.js +9 -0
  240. package/esm/menu/utils/isSafeHref.d.ts +1 -0
  241. package/esm/menu/utils/isSafeHref.js +6 -0
  242. package/esm/menu/utils/normalizeSeparators.d.ts +2 -0
  243. package/esm/menu/utils/normalizeSeparators.js +19 -0
  244. package/esm/menu/utils/resolveKeys.d.ts +12 -0
  245. package/esm/menu/utils/resolveKeys.js +18 -0
  246. package/esm/menu/utils/useLastValidSheet.d.ts +7 -0
  247. package/esm/menu/utils/useLastValidSheet.js +26 -0
  248. package/esm/menu/utils/useMenuItemCore.d.ts +31 -0
  249. package/esm/menu/utils/useMenuItemCore.js +50 -0
  250. package/esm/menu/utils/useMenuItemKeyboardNav.d.ts +2 -0
  251. package/esm/menu/utils/useMenuItemKeyboardNav.js +11 -0
  252. package/esm/menu/utils/useMenuListKeyboardNav.d.ts +12 -0
  253. package/esm/menu/utils/useMenuListKeyboardNav.js +73 -0
  254. package/esm/menu/utils/useMenuPath.d.ts +6 -0
  255. package/esm/menu/utils/useMenuPath.js +31 -0
  256. package/esm/nav/navItem/navItem.js +10 -5
  257. package/esm/nav/navSection/navSection.js +7 -5
  258. package/esm/pagination/paginationArrow.js +10 -3
  259. package/esm/radioGroupRaw/radioGroupRaw.js +2 -1
  260. package/esm/rangeRaw/rangeRaw.js +0 -1
  261. package/esm/selectList/selectList.helpers.d.ts +1 -1
  262. package/esm/selectList/selectList.helpers.js +29 -4
  263. package/esm/selectList/selectList.js +3 -1
  264. package/esm/selectList/selectList.reducer.js +1 -2
  265. package/esm/selectList/selectListItem.js +4 -1
  266. package/esm/sortControl/sortControl.js +59 -4
  267. package/esm/table/children/useTableChildren.d.ts +1 -1
  268. package/esm/table/children/useTableChildren.js +3 -3
  269. package/esm/table/flexible/columnsList.js +4 -2
  270. package/esm/table/selectable/useSelectableRows.d.ts +8 -0
  271. package/esm/table/selectable/useSelectableRows.js +14 -6
  272. package/esm/table/table.js +1 -7
  273. package/esm/tabs/tabs.js +60 -58
  274. package/esm/tabs/tabsTestHelper.js +2 -2
  275. package/esm/testHelpers/mockAbsoluteAlignment.d.ts +1 -0
  276. package/esm/testHelpers/mockAbsoluteAlignment.js +10 -0
  277. package/esm/timePickerRaw/timePickerRaw.js +1 -1
  278. package/esm/toggleButtonRaw/toggleButtonRaw.js +5 -2
  279. package/esm/utils/localization/translations/ar.json +3 -1
  280. package/esm/utils/localization/translations/cs.json +9 -5
  281. package/esm/utils/localization/translations/da-DK.json +9 -5
  282. package/esm/utils/localization/translations/de.json +9 -5
  283. package/esm/utils/localization/translations/en.json +5 -1
  284. package/esm/utils/localization/translations/es.json +9 -5
  285. package/esm/utils/localization/translations/fi-FI.json +9 -5
  286. package/esm/utils/localization/translations/fr-FR.json +9 -5
  287. package/esm/utils/localization/translations/fr.json +9 -5
  288. package/esm/utils/localization/translations/hu-HU.json +9 -5
  289. package/esm/utils/localization/translations/id.json +9 -5
  290. package/esm/utils/localization/translations/it.json +9 -5
  291. package/esm/utils/localization/translations/ja.json +9 -5
  292. package/esm/utils/localization/translations/ko-KR.json +9 -5
  293. package/esm/utils/localization/translations/ms.json +9 -5
  294. package/esm/utils/localization/translations/nb-NO.json +9 -5
  295. package/esm/utils/localization/translations/nl.json +9 -5
  296. package/esm/utils/localization/translations/pl.json +9 -5
  297. package/esm/utils/localization/translations/pt-BR.json +9 -5
  298. package/esm/utils/localization/translations/pt-PT.json +9 -5
  299. package/esm/utils/localization/translations/ro-RO.json +9 -5
  300. package/esm/utils/localization/translations/sk-SK.json +9 -5
  301. package/esm/utils/localization/translations/sv.json +9 -5
  302. package/esm/utils/localization/translations/th.json +9 -5
  303. package/esm/utils/localization/translations/tr.json +9 -5
  304. package/esm/utils/localization/translations/zh-Hans.json +9 -5
  305. package/esm/utils/localization/translations/zh-TW.json +9 -5
  306. package/esm/utils/localization/useDirectionalIcon.d.ts +3 -0
  307. package/esm/utils/localization/useDirectionalIcon.js +5 -0
  308. package/esm/utils/positioningUtils/alignments.d.ts +2 -2
  309. package/esm/utils/positioningUtils/alignments.js +2 -2
  310. package/esm/utils/positioningUtils/calculatePosition.js +4 -6
  311. package/package.json +123 -122
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "파일을 드래그 드롭하거나",
321
+ "Browse": "찾아보기",
322
+ "Tap to add files": "탭하여 파일 추가",
323
+ "Supported Formats:": "지원되는 형식:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "오름차순",
328
+ "Descending": "내림차순",
329
+ "Scroll to start": "시작 위치로 스크롤",
330
+ "Scroll to end": "마지막 위치로 스크롤"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "Seret & lepas fail atau",
321
+ "Browse": "Semak Imbas",
322
+ "Tap to add files": "Ketik untuk menambah fail",
323
+ "Supported Formats:": "Format yang Disokong:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "Menaik",
328
+ "Descending": "Menurun",
329
+ "Scroll to start": "Tatal ke permulaan",
330
+ "Scroll to end": "Tatal ke penghujung"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "Dra og slipp filer eller",
321
+ "Browse": "Bla gjennom",
322
+ "Tap to add files": "Trykk for å legge til filer",
323
+ "Supported Formats:": "Støttede formater:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "Stigende",
328
+ "Descending": "Synkende",
329
+ "Scroll to start": "Rull til start",
330
+ "Scroll to end": "Rull til slutt"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "Bestanden slepen en neerzetten of",
321
+ "Browse": "Bladeren",
322
+ "Tap to add files": "Tik om bestanden toe te voegen",
323
+ "Supported Formats:": "Ondersteunde indelingen:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "Oplopend",
328
+ "Descending": "Aflopend",
329
+ "Scroll to start": "Scroll to start",
330
+ "Scroll to end": "Scroll to end"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "Przeciągnij i upuść pliki lub",
321
+ "Browse": "Przeglądaj",
322
+ "Tap to add files": "Dotknij, aby dodać pliki",
323
+ "Supported Formats:": "Obsługiwane formaty:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "Rosnąco",
328
+ "Descending": "Malejąco",
329
+ "Scroll to start": "Przewiń do początku",
330
+ "Scroll to end": "Przewiń do końca"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "Arraste e solte arquivos ou",
321
+ "Browse": "Procurar",
322
+ "Tap to add files": "Toque para adicionar arquivos",
323
+ "Supported Formats:": "Formatos suportados:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "Crescente",
328
+ "Descending": "Decrescente",
329
+ "Scroll to start": "Scroll to start",
330
+ "Scroll to end": "Scroll to end"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "Arraste e largue ficheiros ou",
321
+ "Browse": "Procurar",
322
+ "Tap to add files": "Toque para adicionar ficheiros",
323
+ "Supported Formats:": "Formatos suportados:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "Ascendente",
328
+ "Descending": "Descendente",
329
+ "Scroll to start": "Scroll to start",
330
+ "Scroll to end": "Scroll to end"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "Glisați și fixați fișiere sau",
321
+ "Browse": "Răsfoire",
322
+ "Tap to add files": "Atingeți pentru a adăuga fișiere",
323
+ "Supported Formats:": "Formate acceptate:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "Ascensiune",
328
+ "Descending": "Coborâre",
329
+ "Scroll to start": "Derulare la început",
330
+ "Scroll to end": "Derulare la sfârșit"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "Presuňte súbory alebo",
321
+ "Browse": "Prehľadávať",
322
+ "Tap to add files": "Klepnutím pridajte súbory",
323
+ "Supported Formats:": "Podporované formáty:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "Vzostupne",
328
+ "Descending": "Zostupne",
329
+ "Scroll to start": "Posunúť na začiatok",
330
+ "Scroll to end": "Posunúť na koniec"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "Dra och släpp filer eller",
321
+ "Browse": "Bläddra",
322
+ "Tap to add files": "Tryck för att lägga till filer",
323
+ "Supported Formats:": "Format som stöds:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "Stigande",
328
+ "Descending": "Fallande",
329
+ "Scroll to start": "Scroll to start",
330
+ "Scroll to end": "Scroll to end"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "ลากและวางไฟล์หรือ",
321
+ "Browse": "เรียกดู",
322
+ "Tap to add files": "แตะเพื่อเพิ่มไฟล์",
323
+ "Supported Formats:": "รูปแบบที่รองรับ:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "จากน้อยไปมาก",
328
+ "Descending": "จากมากไปน้อย",
329
+ "Scroll to start": "เลื่อนไปที่จุดเริ่มต้น",
330
+ "Scroll to end": "เลื่อนไปที่จุดสิ้นสุด"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "Dosyaları sürükleyip bırakın veya",
321
+ "Browse": "Gözat",
322
+ "Tap to add files": "Dosya eklemek için dokunun",
323
+ "Supported Formats:": "Desteklenen Biçimler:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "Artan",
328
+ "Descending": "Azalan",
329
+ "Scroll to start": "Başlangıca kaydır",
330
+ "Scroll to end": "Sona kaydır"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "拖放文件或",
321
+ "Browse": "浏览",
322
+ "Tap to add files": "点击添加文件",
323
+ "Supported Formats:": "支持的格式:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "升序",
328
+ "Descending": "降序",
329
+ "Scroll to start": "滚动至开头",
330
+ "Scroll to end": "滚动至末尾"
327
331
  }
@@ -317,11 +317,15 @@
317
317
  "Exit full screen table view": "Exit full screen table view",
318
318
  "Close search": "Close search",
319
319
  "Has additional actions. Use right arrow to access button, left arrow to return.": "Has additional actions. Use right arrow to access button, left arrow to return.",
320
- "Drag & drop files or": "Drag & drop files or",
321
- "Browse": "Browse",
322
- "Tap to add files": "Tap to add files",
323
- "Supported Formats:": "Supported Formats:",
320
+ "Drag & drop files or": "拖放檔案或",
321
+ "Browse": "瀏覽",
322
+ "Tap to add files": "點選以新增檔案",
323
+ "Supported Formats:": "支援的格式:",
324
324
  "Upload files.": "Upload files.",
325
325
  "File upload area": "File upload area",
326
- "Uploaded": "Uploaded"
326
+ "Uploaded": "Uploaded",
327
+ "Ascending": "遞增",
328
+ "Descending": "遞減",
329
+ "Scroll to start": "捲動至開始處",
330
+ "Scroll to end": "捲動至結尾處"
327
331
  }
@@ -0,0 +1,3 @@
1
+ import { FC } from "react";
2
+ import { IIcon } from "../../icons/icon";
3
+ export declare const useDirectionalIcon: (ltrIcon: FC<IIcon>, rtlIcon: FC<IIcon>) => FC<IIcon>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useDirectionalIcon = void 0;
4
+ const useDirection_1 = require("./useDirection");
5
+ const useDirectionalIcon = (ltrIcon, rtlIcon) => {
6
+ const direction = (0, useDirection_1.useDirection)();
7
+ return direction === "rtl" ? rtlIcon : ltrIcon;
8
+ };
9
+ exports.useDirectionalIcon = useDirectionalIcon;
@@ -47,9 +47,9 @@ export declare const alignments: {
47
47
  right: number;
48
48
  top: number;
49
49
  };
50
- "left-bottom": (triggerRect: IRect, _1: ISizes, parentRect: IPosition, paddingX: number, _2: number) => {
50
+ "left-bottom": (triggerRect: IRect, popupRect: ISizes, parentRect: IPosition, paddingX: number, _2: number) => {
51
51
  right: number;
52
- bottom: number;
52
+ top: number;
53
53
  };
54
54
  right: (triggerRect: IRect, popupRect: ISizes, parentRect: IPosition, paddingX: number, _: number) => {
55
55
  left: number;
@@ -34,9 +34,9 @@ exports.alignments = {
34
34
  right: parentRect.right - triggerRect.right + triggerRect.width + paddingX,
35
35
  top: triggerRect.top - parentRect.top
36
36
  }),
37
- "left-bottom": (triggerRect, _1, parentRect, paddingX, _2) => ({
37
+ "left-bottom": (triggerRect, popupRect, parentRect, paddingX, _2) => ({
38
38
  right: parentRect.right - triggerRect.right + triggerRect.width + paddingX,
39
- bottom: parentRect.bottom - triggerRect.bottom
39
+ top: triggerRect.bottom - parentRect.top - popupRect.height
40
40
  }),
41
41
  right: (triggerRect, popupRect, parentRect, paddingX, _) => ({
42
42
  left: triggerRect.left - parentRect.left + triggerRect.width + paddingX,
@@ -11,27 +11,25 @@ const zen_1 = require("../zen");
11
11
  const calculatePosition = (triggerRef, popupRef, paddingX, paddingY, inline, alignment, alignmentsFn = alignments_1.alignments, scrollParent, forceHorizontalCenter
12
12
  // eslint-disable-next-line complexity
13
13
  ) => {
14
- var _a, _b, _c, _d, _e, _f, _g;
14
+ var _a, _b, _c, _d, _e;
15
15
  if (!triggerRef.current || !popupRef.current) {
16
16
  return;
17
17
  }
18
18
  const triggerElement = triggerRef.current;
19
19
  const popup = popupRef.current;
20
20
  const scrollTop = zen_1.zen.pageYOffset || ((_a = zen_1.zen.document) === null || _a === void 0 ? void 0 : _a.documentElement.scrollTop) || ((_b = zen_1.zen.document) === null || _b === void 0 ? void 0 : _b.body.scrollTop) || 0;
21
- const scrollLeft = zen_1.zen.pageXOffset || ((_c = zen_1.zen.document) === null || _c === void 0 ? void 0 : _c.documentElement.scrollLeft) || ((_d = zen_1.zen.document) === null || _d === void 0 ? void 0 : _d.body.scrollLeft) || 0;
22
21
  const triggerRect = triggerElement.getBoundingClientRect();
23
22
  let popupRect = popup.getBoundingClientRect();
24
- const relativeParent = inline ? (0, getRelativeParent_1.getRelativeParent)(triggerElement) || ((_e = zen_1.zen.document) === null || _e === void 0 ? void 0 : _e.body) : (_f = zen_1.zen.document) === null || _f === void 0 ? void 0 : _f.body;
23
+ const relativeParent = inline ? (0, getRelativeParent_1.getRelativeParent)(triggerElement) || ((_c = zen_1.zen.document) === null || _c === void 0 ? void 0 : _c.body) : (_d = zen_1.zen.document) === null || _d === void 0 ? void 0 : _d.body;
25
24
  popup.classList.add("zen-calculate-position");
26
25
  const parentDomRect = (relativeParent === null || relativeParent === void 0 ? void 0 : relativeParent.getBoundingClientRect()) || { top: 0, left: 0, bottom: 0, right: 0, width: 0, height: 0, x: 0, y: 0 };
27
26
  popup.classList.remove("zen-calculate-position");
28
27
  const parentBorders = (0, getBorders_1.getBorders)(relativeParent || {});
29
28
  const parentMargins = (0, getMargins_1.getMargins)(relativeParent || {});
30
29
  let parentTop = parentDomRect.top + parentBorders.top - parentMargins.top;
31
- let parentLeft = parentDomRect.left + parentBorders.left - parentMargins.left;
32
- if (!inline && relativeParent === ((_g = zen_1.zen.document) === null || _g === void 0 ? void 0 : _g.body)) {
30
+ const parentLeft = parentDomRect.left + parentBorders.left - parentMargins.left;
31
+ if (!inline && relativeParent === ((_e = zen_1.zen.document) === null || _e === void 0 ? void 0 : _e.body)) {
33
32
  parentTop = -scrollTop + parentBorders.top - parentMargins.top;
34
- parentLeft = -scrollLeft + parentBorders.left - parentMargins.left;
35
33
  }
36
34
  const parentRect = {
37
35
  top: parentTop,
@@ -5,6 +5,7 @@ import { addDays, addMonth, getCalendarMonthDates, getEndOfMonth, getEndOfWeek,
5
5
  import { classNames } from "../commonHelpers/classNames/classNames";
6
6
  import { IconChevronRightSmall } from "../icons/iconChevronRightSmall";
7
7
  import { IconChevronLeftSmall } from "../icons/iconChevronLeftSmall";
8
+ import { useDirectionalIcon } from "../utils/localization/useDirectionalIcon";
8
9
  import { ParallelSelection, ParallelSelectionTrigger } from "../parallelSelection/parallelSelection";
9
10
  import { getButtonLabel, getCalendarRange, isDateInRange, isLeftBorderVisible, isRightBorderVisible, setFocusTo } from "./calendarUtils";
10
11
  import { useLanguage } from "../utils/localization/useLanguage";
@@ -845,6 +846,8 @@ export const Calendar = ({
845
846
  const {
846
847
  translate
847
848
  } = useLanguage();
849
+ const PrevMonthIcon = useDirectionalIcon(IconChevronLeftSmall, IconChevronRightSmall);
850
+ const NextMonthIcon = useDirectionalIcon(IconChevronRightSmall, IconChevronLeftSmall);
848
851
  const fromDate = useMemo(() => value.from ? toDayStart(value.from) : undefined, [value.from]);
849
852
  const toDate = useMemo(() => value.to ? toDayStart(value.to) : undefined, [value.to]);
850
853
  const driveClassName = useDriveClassName("zen-calendar");
@@ -1098,7 +1101,7 @@ export const Calendar = ({
1098
1101
  children: [isMobileView ? null : _jsx(TextIconButton, {
1099
1102
  className: "zen-calendar__btn",
1100
1103
  type: "tertiary-black",
1101
- icon: IconChevronLeftSmall,
1104
+ icon: PrevMonthIcon,
1102
1105
  title: translate("Previous month"),
1103
1106
  onClick: () => changeView(addMonth(viewDate, -1)),
1104
1107
  iconPosition: ButtonIconPosition.Start
@@ -1132,14 +1135,14 @@ export const Calendar = ({
1132
1135
  children: [_jsx(TextIconButton, {
1133
1136
  className: "zen-calendar__btn",
1134
1137
  type: "tertiary-black",
1135
- icon: IconChevronLeftSmall,
1138
+ icon: PrevMonthIcon,
1136
1139
  title: translate("Previous month"),
1137
1140
  onClick: () => changeView(addMonth(viewDate, -1)),
1138
1141
  iconPosition: ButtonIconPosition.Start
1139
1142
  }), _jsx(TextIconButton, {
1140
1143
  className: "zen-calendar__btn",
1141
1144
  type: "tertiary-black",
1142
- icon: IconChevronRightSmall,
1145
+ icon: NextMonthIcon,
1143
1146
  title: translate("Next month"),
1144
1147
  onClick: () => changeView(addMonth(viewDate, 1)),
1145
1148
  iconPosition: ButtonIconPosition.Start
@@ -1147,7 +1150,7 @@ export const Calendar = ({
1147
1150
  }) : null, isMobileView ? null : _jsx(TextIconButton, {
1148
1151
  className: "zen-calendar__btn",
1149
1152
  type: "tertiary-black",
1150
- icon: IconChevronRightSmall,
1153
+ icon: NextMonthIcon,
1151
1154
  title: translate("Next month"),
1152
1155
  onClick: () => changeView(addMonth(viewDate, 1)),
1153
1156
  iconPosition: ButtonIconPosition.Start
@@ -4,6 +4,8 @@ import { classNames } from "../../commonHelpers/classNames/classNames";
4
4
  import { useDriveClassName } from "../../utils/theme/useDriveClassName";
5
5
  import { useDrive } from "../../utils/theme/useDrive";
6
6
  import { IconChevronRightSmall } from "../../icons/iconChevronRightSmall";
7
+ import { IconChevronLeftSmall } from "../../icons/iconChevronLeftSmall";
8
+ import { useDirectionalIcon } from "../../utils/localization/useDirectionalIcon";
7
9
  const VALID_HEADING_TAGS = new Set(["h1", "h2", "h3", "h4", "h5", "h6"]);
8
10
  export const Title = ({ isMobile, link, target, title, id, icon, iconType, className = "", onClick, titleAs }) => {
9
11
  const driveClassNames = useDriveClassName("zen-card-title");
@@ -11,7 +13,8 @@ export const Title = ({ isMobile, link, target, title, id, icon, iconType, class
11
13
  const iconClassName = iconType ? `zen-card-title__icon--${iconType}` : "";
12
14
  const iconSize = useMemo(() => (isDrive ? "huge" : "large"), [isDrive]);
13
15
  const iconElement = useMemo(() => (icon ? _jsx("span", { className: classNames(["zen-card-title__icon", iconClassName]), children: createElement(icon, { size: iconSize }) }) : null), [icon, iconSize, iconClassName]);
14
- const chevron = useMemo(() => (_jsx("span", { className: "zen-card-title__link-chevron", children: _jsx(IconChevronRightSmall, { size: iconSize, className: "zen-card-title__chevron-icon" }) })), [iconSize]);
16
+ const ChevronIcon = useDirectionalIcon(IconChevronRightSmall, IconChevronLeftSmall);
17
+ const chevron = useMemo(() => (_jsx("span", { className: "zen-card-title__link-chevron", children: _jsx(ChevronIcon, { size: iconSize, className: "zen-card-title__chevron-icon" }) })), [ChevronIcon, iconSize]);
15
18
  const titleClasses = classNames(["zen-card-title", driveClassNames || "", onClick ? "zen-card-title__clickable" : ""]);
16
19
  if (onClick) {
17
20
  return (_jsxs("button", { type: "button", className: titleClasses, onClick: onClick, children: [iconElement, _jsxs("span", { title: title, id: id, className: classNames(["zen-card-title__text", isMobile && !isDrive ? "zen-card-title__text--mobile" : "", className]), children: [title, chevron] })] }));
@@ -2,6 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { classNames } from "../../commonHelpers/classNames/classNames";
3
3
  import { ButtonIconPosition, TextIconButton } from "../../textIconButton/textIconButton";
4
4
  import { IconArrowRight } from "../../icons/iconArrowRight";
5
+ import { IconArrowLeft } from "../../icons/iconArrowLeft";
6
+ import { useDirectionalIcon } from "../../utils/localization/useDirectionalIcon";
5
7
  import { useDriveClassName } from "../../utils/theme/useDriveClassName";
6
8
  import { useMobile } from "../../commonHelpers/hooks/useMobile";
7
9
  import { useDrive } from "../../utils/theme/useDrive";
@@ -11,8 +13,9 @@ export const TitleLink = ({ titleIconClasses, ariaLabel, children, link, id, cla
11
13
  const isMobile = useMobile();
12
14
  const isDrive = useDrive();
13
15
  const titleAriaLabel = ariaLabel || "";
16
+ const ArrowIcon = useDirectionalIcon(IconArrowRight, IconArrowLeft);
14
17
  if (!isMobile) {
15
- return (_jsxs("a", { id: id, className: classNames(["zen-link", "zen-title-link", className]), href: link, "aria-label": titleAriaLabel, children: [_jsx("span", { className: classNames(["zen-title-link__text", titleLinkTextDriveClasses || ""]), children: children }), _jsx(IconArrowRight, { size: isDrive ? "huge" : "large", className: classNames(["zen-title-link__icon", titleIconClasses || ""]) })] }));
18
+ return (_jsxs("a", { id: id, className: classNames(["zen-link", "zen-title-link", className]), href: link, "aria-label": titleAriaLabel, children: [_jsx("span", { className: classNames(["zen-title-link__text", titleLinkTextDriveClasses || ""]), children: children }), _jsx(ArrowIcon, { size: isDrive ? "huge" : "large", className: classNames(["zen-title-link__icon", titleIconClasses || ""]) })] }));
16
19
  }
17
- return (_jsx(TextIconButton, { type: "tertiary", iconClasses: titleIconClasses, id: id, "aria-label": titleAriaLabel, link: link, iconPosition: ButtonIconPosition.End, icon: IconArrowRight, iconSize: isDrive ? "huge" : "large", className: classNames(["zen-title-link", "zen-title-link__icon", titleLinkClasses || "", className || ""]), children: children && _jsx("span", { className: classNames(["zen-title-link__text", titleLinkTextDriveClasses || ""]), children: children }) }));
20
+ return (_jsx(TextIconButton, { type: "tertiary", iconClasses: titleIconClasses, id: id, "aria-label": titleAriaLabel, link: link, iconPosition: ButtonIconPosition.End, icon: ArrowIcon, iconSize: isDrive ? "huge" : "large", className: classNames(["zen-title-link", "zen-title-link__icon", titleLinkClasses || "", className || ""]), children: children && _jsx("span", { className: classNames(["zen-title-link__text", titleLinkTextDriveClasses || ""]), children: children }) }));
18
21
  };
@@ -1,5 +1,5 @@
1
1
  import { IYAxisMeta } from "../interfaces";
2
- export declare const getDefaultOptions: (yAxis: IYAxisMeta[], isTimedData: boolean, isDark: boolean, translate: (s: string) => string) => {
2
+ export declare const getDefaultOptions: (yAxis: IYAxisMeta[], isTimedData: boolean, isDark: boolean, translate: (s: string) => string, isRtl?: boolean) => {
3
3
  responsive: boolean;
4
4
  maintainAspectRatio: boolean;
5
5
  scales: {
@@ -10,6 +10,7 @@ export declare const getDefaultOptions: (yAxis: IYAxisMeta[], isTimedData: boole
10
10
  grid: {
11
11
  display: boolean;
12
12
  };
13
+ reverse: boolean;
13
14
  type: string;
14
15
  ticks: {
15
16
  source: string;
@@ -7,8 +7,10 @@ const defaultGridBorderStyle = {
7
7
  display: false,
8
8
  dash: [2, 2]
9
9
  };
10
- export const getDefaultOptions = (yAxis, isTimedData, isDark, translate) => {
10
+ export const getDefaultOptions = (yAxis, isTimedData, isDark, translate, isRtl = false) => {
11
11
  const textColor = isDark ? "#C0CCD8" : "#4E677E";
12
+ const primaryYPosition = isRtl ? "right" : "left";
13
+ const secondaryYPosition = isRtl ? "left" : "right";
12
14
  const scales = {
13
15
  x: {
14
16
  title: {
@@ -17,6 +19,7 @@ export const getDefaultOptions = (yAxis, isTimedData, isDark, translate) => {
17
19
  grid: {
18
20
  display: false
19
21
  },
22
+ reverse: isRtl,
20
23
  type: isTimedData ? "time" : "category",
21
24
  ticks: isTimedData
22
25
  ? {
@@ -54,7 +57,7 @@ export const getDefaultOptions = (yAxis, isTimedData, isDark, translate) => {
54
57
  border: defaultGridBorderStyle,
55
58
  min: yAxis[i].min,
56
59
  max: yAxis[i].max,
57
- position: i === 0 ? "left" : "right"
60
+ position: i === 0 ? primaryYPosition : secondaryYPosition
58
61
  };
59
62
  }
60
63
  return {
@@ -22,6 +22,7 @@ import { classNames } from "../commonHelpers/classNames/classNames";
22
22
  import { legendPlugin } from "./plugins/legend/legendPlugin";
23
23
  import { ChartAxis } from "./chartAxis/chartAxis";
24
24
  import { useLanguage } from "../utils/localization/useLanguage";
25
+ import { useIsRTL } from "../utils/localization/useIsRTL";
25
26
  import { isDateRange } from "./utils/isDateRange";
26
27
  import { getYAxisMeta } from "./utils/getYAxisMeta";
27
28
  import { getDefaultOptions } from "./barChart/getDefaultOptions";
@@ -41,6 +42,7 @@ export const BarChart = (_a) => {
41
42
  const { translate } = useLanguage();
42
43
  const isDrive = useDrive();
43
44
  const isMobile = useMobile();
45
+ const isRtl = useIsRTL();
44
46
  const fontSize = useMemo(() => (isDrive ? (isMobile ? 14 : 16) : 12), [isDrive, isMobile]);
45
47
  const { dark } = useContext(themeContext);
46
48
  useEffect(() => {
@@ -56,15 +58,15 @@ export const BarChart = (_a) => {
56
58
  const isTimedData = useMemo(() => isDateRange(data, false), [data]);
57
59
  const isStacked = useMemo(() => { var _a, _b; return ((_b = (_a = options.scales) === null || _a === void 0 ? void 0 : _a.y) === null || _b === void 0 ? void 0 : _b.stacked) === true; }, [options]);
58
60
  const yAxisMeta = useMemo(() => getYAxisMeta(data, isStacked), [data, isStacked]);
59
- const defOptions = useMemo(() => getDefaultOptions(yAxisMeta, isTimedData, dark, translate), [yAxisMeta, isTimedData, dark, translate]);
61
+ const defOptions = useMemo(() => getDefaultOptions(yAxisMeta, isTimedData, dark, translate, isRtl), [yAxisMeta, isTimedData, dark, translate, isRtl]);
60
62
  const chartOptions = deepMerge(defOptions, options);
61
63
  const { isHidden, toggleHidden } = useHidden();
62
64
  const chartData = useMemo(() => {
63
65
  const chData = convertDates(data, toLocalDateTime);
64
66
  chData.datasets = chData.datasets.map((ds, i) => getDefaultDatasetStyle(ds, i));
65
- chData.datasets = chData.datasets.map((ds, i) => (Object.assign(Object.assign({}, ds), { hidden: isHidden(i) })));
67
+ chData.datasets = chData.datasets.map((ds, i) => (Object.assign(Object.assign({}, ds), { hidden: isHidden(i), order: isRtl ? chData.datasets.length - 1 - i : i })));
66
68
  return chData;
67
- }, [data, isHidden, toLocalDateTime]);
69
+ }, [data, isHidden, toLocalDateTime, isRtl]);
68
70
  const chartTooltip = useMemo(() => TooltipPlugin(tooltipId, tooltip, "top", isHidden, dark), [tooltipId, tooltip, isHidden, dark]);
69
71
  const chartLegend = useMemo(() => legendPlugin(legendId, legend, isDrive, isHidden, toggleHidden), [isDrive, isHidden, legend, legendId, toggleHidden]);
70
72
  const chartPlugins = useMemo(() => [...(plugins || []), chartTooltip, chartLegend], [chartLegend, chartTooltip, plugins]);
@@ -72,5 +74,5 @@ export const BarChart = (_a) => {
72
74
  const intSummary = useSummary(summary, chartData);
73
75
  const isMainHidden = useMemo(() => isHidden(0), [isHidden]);
74
76
  const toggleMainData = useCallback(() => toggleHidden(0), [toggleHidden]);
75
- return (_jsxs("div", { className: classNames(["zen-chart", className || ""]), children: [insight ? _jsx(ChartInsight, Object.assign({}, insight)) : null, summary ? _jsx(Summary, Object.assign({ onToggle: toggleMainData, isEnabled: isMainHidden }, intSummary)) : null, (isDrive ? undefined : xLabels) || yLabels.length > 0 ? (_jsx(ChartAxis, { xLabel: isDrive ? undefined : xLabels, yLabels: yLabels, yAxisPosition: "right" })) : null, _jsx("div", { className: "zen-chart__chart", children: _jsx(Bar, Object.assign({ options: chartOptions, data: chartData, plugins: chartPlugins }, rest, { "aria-hidden": true })) }), _jsx("div", { className: "zen-chart__legend", id: legendId }), isDrive && xLabels ? _jsx("div", { className: "zen-chart__x-axis", children: xLabels }) : null, _jsx(AccessibleChart, { type: "bar", data: chartData, options: chartOptions })] }));
77
+ return (_jsxs("div", { className: classNames(["zen-chart", className || ""]), children: [insight ? _jsx(ChartInsight, Object.assign({}, insight)) : null, summary ? _jsx(Summary, Object.assign({ onToggle: toggleMainData, isEnabled: isMainHidden }, intSummary)) : null, (isDrive ? undefined : xLabels) || yLabels.length > 0 ? (_jsx(ChartAxis, { xLabel: isDrive ? undefined : xLabels, yLabels: yLabels, yAxisPosition: isRtl ? "left" : "right" })) : null, _jsx("div", { className: "zen-chart__chart", children: _jsx(Bar, Object.assign({ options: chartOptions, data: chartData, plugins: chartPlugins }, rest, { "aria-hidden": true })) }), _jsx("div", { className: "zen-chart__legend", id: legendId }), isDrive && xLabels ? _jsx("div", { className: "zen-chart__x-axis", children: xLabels }) : null, _jsx(AccessibleChart, { type: "bar", data: chartData, options: chartOptions })] }));
76
78
  };
@@ -1,5 +1,5 @@
1
1
  import { IXAxisMeta, IYAxisMeta } from "../interfaces";
2
- export declare const getDefaultOptions: (yAxis: IYAxisMeta[], xAxis: IXAxisMeta, isTimedData: boolean, ticks: number, isDark: boolean, translate: (s: string) => string) => {
2
+ export declare const getDefaultOptions: (yAxis: IYAxisMeta[], xAxis: IXAxisMeta, isTimedData: boolean, ticks: number, isDark: boolean, translate: (s: string) => string, isRtl?: boolean) => {
3
3
  responsive: boolean;
4
4
  maintainAspectRatio: boolean;
5
5
  scales: {
@@ -10,6 +10,7 @@ export declare const getDefaultOptions: (yAxis: IYAxisMeta[], xAxis: IXAxisMeta,
10
10
  grid: {
11
11
  display: boolean;
12
12
  };
13
+ reverse: boolean;
13
14
  type: string;
14
15
  time: {
15
16
  unit: string;