@geotab/zenith 3.11.1 → 3.12.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 (636) hide show
  1. package/README.md +70 -0
  2. package/dist/absolute/absolute.d.ts +21 -1
  3. package/dist/absolute/absolute.js +46 -6
  4. package/dist/advancedGroupsFilter/advancedGroupsFilter.js +3 -3
  5. package/dist/advancedGroupsFilter/advancedGroupsFilterForm.js +2 -2
  6. package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +7 -7
  7. package/dist/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +1 -1
  8. package/dist/alert/banner.d.ts +3 -1
  9. package/dist/alertRaw/alertRaw.js +1 -1
  10. package/dist/banner/banner.d.ts +5 -2
  11. package/dist/banner/banner.js +13 -2
  12. package/dist/banner/bannerErrorSummary.d.ts +7 -0
  13. package/dist/banner/bannerErrorSummary.js +8 -0
  14. package/dist/banner/bannerMultipLine.js +1 -1
  15. package/dist/banner/bannerSingleLine.js +1 -1
  16. package/dist/banner/utils/buildSummaryErrorList.d.ts +1 -0
  17. package/dist/banner/utils/buildSummaryErrorList.js +16 -0
  18. package/dist/banner/utils/hasSummaryErrorChild.d.ts +1 -0
  19. package/dist/banner/utils/hasSummaryErrorChild.js +7 -0
  20. package/dist/banner/utils/isSummaryErrorBanner.d.ts +2 -0
  21. package/dist/banner/utils/isSummaryErrorBanner.js +6 -0
  22. package/dist/banner/utils/isSummaryErrorElement.d.ts +3 -0
  23. package/dist/banner/utils/isSummaryErrorElement.js +7 -0
  24. package/dist/banner/utils/useSummaryBannerProp.d.ts +6 -0
  25. package/dist/banner/utils/useSummaryBannerProp.js +34 -0
  26. package/dist/betaPill/betaPill.js +4 -4
  27. package/dist/bookmark/bookmark.js +2 -2
  28. package/dist/bulkEditControl/bulkEditControl.js +5 -5
  29. package/dist/calendar/calendar.js +37 -34
  30. package/dist/calendar/calendarUtils.js +6 -4
  31. package/dist/card/card.js +1 -1
  32. package/dist/card/components/title.js +4 -1
  33. package/dist/card/components/titleLink.js +5 -2
  34. package/dist/chart/accessibleChart/accessibleChartNarrative.js +13 -13
  35. package/dist/chart/accessibleChart/accessibleChartTable.js +5 -5
  36. package/dist/chart/barChart/getDefaultOptions.d.ts +2 -1
  37. package/dist/chart/barChart/getDefaultOptions.js +5 -2
  38. package/dist/chart/barChart.js +6 -4
  39. package/dist/chart/chart.js +1 -1
  40. package/dist/chart/chartAxis/chartAxis.js +2 -2
  41. package/dist/chart/lineChart/getDefaultOptions.d.ts +4 -1
  42. package/dist/chart/lineChart/getDefaultOptions.js +7 -2
  43. package/dist/chart/lineChart.js +7 -3
  44. package/dist/chart/plugins/linePlugin/linePlugin.js +5 -4
  45. package/dist/chart/utils/getXAxisMeta.js +8 -5
  46. package/dist/chart/utils/isDateRange.js +1 -1
  47. package/dist/chart/utils/useHidden.d.ts +1 -0
  48. package/dist/chart/utils/useHidden.js +1 -1
  49. package/dist/chart/utils/useLastVisibleXAxisMeta.d.ts +2 -0
  50. package/dist/chart/utils/useLastVisibleXAxisMeta.js +15 -0
  51. package/dist/checkboxListWithAction/checkboxListWithAction.js +8 -5
  52. package/dist/chip/chip.js +1 -1
  53. package/dist/columnsSelector/columnsSelector.js +2 -2
  54. package/dist/columnsSelector/columnsTab/columnsTab.js +1 -1
  55. package/dist/columnsSelector/columnsTabGroup/columnsTabGroup.js +1 -1
  56. package/dist/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.js +4 -1
  57. package/dist/commonStyles/columnsList.less +59 -0
  58. package/dist/commonStyles/link/link.less +1 -1
  59. package/dist/commonStyles/pillStyles/pillContent.less +14 -15
  60. package/dist/commonStyles/pillStyles/pillStyles.less +4 -5
  61. package/dist/commonStyles/pillStyles/pillTextContent.less +2 -2
  62. package/dist/commonStyles/pillStyles/pillTypes.less +1 -1
  63. package/dist/commonStyles/popupMixin.less +1 -1
  64. package/dist/commonStyles/selectButton.less +1 -1
  65. package/dist/commonStyles/typography/typography.less +545 -19
  66. package/dist/controlledPopup/controlledPopup.d.ts +1 -0
  67. package/dist/controlledPopup/controlledPopup.js +3 -1
  68. package/dist/dataFeed/feedExpandControl/feedExpandControl.js +5 -0
  69. package/dist/dataGrid/cell/cell.d.ts +2 -1
  70. package/dist/dataGrid/cell/cell.js +2 -2
  71. package/dist/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +1 -1
  72. package/dist/dataGrid/dataGrid.js +8 -5
  73. package/dist/dataGrid/emptySearchList/emptySearchList.js +1 -1
  74. package/dist/dataGrid/entitiesListActions/actions/columnsListButton.js +1 -1
  75. package/dist/dataGrid/entitiesListActions/actions/fullscreenButton.js +2 -2
  76. package/dist/dataGrid/listColumn.d.ts +2 -0
  77. package/dist/dataGrid/row/row.d.ts +2 -1
  78. package/dist/dataGrid/row/row.js +13 -9
  79. package/dist/dataGrid/withFlexibleColumns/components/columnSettings.js +2 -2
  80. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.d.ts +1 -1
  81. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.js +45 -116
  82. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +4 -0
  83. package/dist/dataGrid/withFlexibleColumns/withFlexibleColumns.js +1 -1
  84. package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.d.ts +4 -0
  85. package/dist/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +5 -5
  86. package/dist/dataGrid/withSelectableRows/withSelectableRows.js +4 -3
  87. package/dist/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +2 -2
  88. package/dist/dateInputInner/dateInputInner.js +7 -7
  89. package/dist/dateInputInner/dateInputInnerControlBlock.js +2 -2
  90. package/dist/dateInputRaw/dateInputRaw.js +4 -4
  91. package/dist/dateInputRaw/utils/getLabel.js +2 -2
  92. package/dist/dateRangeInner/dateRangeInner.js +6 -3
  93. package/dist/dateRangeRaw/dateRangeRaw.d.ts +1 -0
  94. package/dist/dateRangeRaw/dateRangeRaw.js +21 -15
  95. package/dist/dateRangeRaw/types.d.ts +1 -0
  96. package/dist/dateRangeRaw/utils/dateRangeUtils.js +17 -17
  97. package/dist/dateRangeRaw/utils/parseLabel.js +1 -1
  98. package/dist/dateSelectionWrapper/dateSelectionWrapper.js +4 -4
  99. package/dist/dialog/dialogContent.js +1 -1
  100. package/dist/dropdown/dropdownTrigger.d.ts +1 -1
  101. package/dist/dropdownRaw/dropdownList.js +9 -9
  102. package/dist/dropdownRaw/dropdownPopup.js +3 -3
  103. package/dist/dropdownRaw/dropdownRaw.js +34 -17
  104. package/dist/dropdownRaw/dropdownSearchableTrigger.d.ts +2 -1
  105. package/dist/dropdownRaw/dropdownSearchableTrigger.js +8 -6
  106. package/dist/dropdownRaw/dropdownTrigger.d.ts +2 -1
  107. package/dist/dropdownRaw/dropdownTrigger.js +2 -2
  108. package/dist/dropdownRaw/types.d.ts +2 -0
  109. package/dist/favoriteButton/favoriteButton.js +1 -1
  110. package/dist/fileUpload/components/dropZoneContent.js +104 -104
  111. package/dist/fileUpload/components/templateDownloadSection.js +1 -1
  112. package/dist/fileUpload/components/uploadedFilesSection.js +2 -2
  113. package/dist/fileUpload/fileUpload.js +106 -106
  114. package/dist/filterButton/filterButton.d.ts +1 -0
  115. package/dist/filters/components/filtersContainer.js +2 -2
  116. package/dist/filters/components/filtersDropdown.d.ts +1 -1
  117. package/dist/filters/components/filtersEmptyState.js +2 -2
  118. package/dist/filters/components/filtersSaveModal.js +5 -5
  119. package/dist/filters/components/filtersSavedChipComponent.js +11 -11
  120. package/dist/filters/components/filtersSearchItemData.js +1 -1
  121. package/dist/filters/components/filtersSearchList.js +14 -11
  122. package/dist/filters/components/filtersSelect.js +1 -1
  123. package/dist/filters/components/filtersSelectListItem.js +2 -2
  124. package/dist/filters/components/filtersSidePanel.js +8 -8
  125. package/dist/filters/filters.js +7 -7
  126. package/dist/filtersBar/components/filtersBarGroupsFilter/filtersBarGroupsFilter.d.ts +1 -1
  127. package/dist/filtersBar/components/filtersBarPeriodPicker/filtersBarPeriodPicker.d.ts +1 -0
  128. package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +18 -18
  129. package/dist/filtersBar/components/resetComponentButton.js +1 -1
  130. package/dist/filtersBar/filtersBarActions/filtersBarActions.js +3 -3
  131. package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +2 -2
  132. package/dist/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +5 -5
  133. package/dist/filtersBar/filtersContainer/filtersContainer.js +62 -61
  134. package/dist/formField/hooks/useError.js +3 -3
  135. package/dist/formField/hooks/useFormFieldProps.d.ts +1 -1
  136. package/dist/formField/hooks/useFormFieldProps.js +4 -2
  137. package/dist/formGroup/components/reviewListToggle/reviewListToggle.js +2 -2
  138. package/dist/formGroup/hooks/useCustomRow.js +46 -32
  139. package/dist/formGroup/hooks/useRowElements.js +9 -6
  140. package/dist/formGroup/hooks/useToggle.js +1 -1
  141. package/dist/formGroup/types.d.ts +4 -0
  142. package/dist/formGroup/utils/normalizeFieldId.d.ts +1 -0
  143. package/dist/formGroup/utils/normalizeFieldId.js +5 -0
  144. package/dist/formGroup/utils/resolveId.d.ts +7 -0
  145. package/dist/formGroup/utils/resolveId.js +6 -0
  146. package/dist/formLayout/components/getLayoutColumns.js +4 -2
  147. package/dist/formLayout/hooks/useError.js +3 -3
  148. package/dist/formLayout/hooks/useErrorSummary.d.ts +6 -0
  149. package/dist/formLayout/hooks/useErrorSummary.js +34 -0
  150. package/dist/formLayout/hooks/useFormButtons.js +3 -3
  151. package/dist/formLayout/utils/applyGridPropsStatic.js +1 -1
  152. package/dist/formLayout/utils/flattenErrors.d.ts +5 -0
  153. package/dist/formLayout/utils/flattenErrors.js +14 -0
  154. package/dist/formLayout/utils/getChildrenWithCustomColumns.js +3 -0
  155. package/dist/formLayout/utils/getFieldLabel.d.ts +1 -0
  156. package/dist/formLayout/utils/getFieldLabel.js +26 -0
  157. package/dist/formSection/hooks/useError.js +3 -3
  158. package/dist/formStepper/components/formStep.js +1 -1
  159. package/dist/formStepper/formStepper.js +2 -2
  160. package/dist/formStepperButtons/formStepperButtons.js +8 -5
  161. package/dist/gridLayout/hooks/useGridClasses.js +3 -9
  162. package/dist/groupButtonRaw/groupButtonRaw.js +2 -2
  163. package/dist/groupButtonRaw/types.d.ts +1 -0
  164. package/dist/groupsFilterRaw/groupsFilterAdjustmentState.js +8 -5
  165. package/dist/groupsFilterRaw/groupsFilterBox.js +3 -3
  166. package/dist/groupsFilterRaw/groupsFilterCommon.js +2 -2
  167. package/dist/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +5 -5
  168. package/dist/groupsFilterRaw/groupsFilterHelper.js +2 -2
  169. package/dist/groupsFilterRaw/groupsFilterInitialState.js +12 -9
  170. package/dist/groupsFilterRaw/groupsFilterMenu.js +3 -3
  171. package/dist/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  172. package/dist/groupsFilterRaw/groupsFilterRaw.js +15 -10
  173. package/dist/groupsFilterRaw/groupsFilterTrigger.d.ts +2 -1
  174. package/dist/groupsFilterRaw/groupsFilterTrigger.js +8 -5
  175. package/dist/groupsFilterRaw/groupsHelper.js +22 -22
  176. package/dist/groupsFilterRaw/types.d.ts +2 -0
  177. package/dist/header/components/collapsedItemsControl/collapsedItemsControl.js +1 -1
  178. package/dist/header/components/mobileFilterControl/mobileFilterControl.js +1 -1
  179. package/dist/header/components/mobileSearchControl/mobileSearchControl.js +3 -3
  180. package/dist/header/header.js +1 -1
  181. package/dist/header/headerBack.js +5 -2
  182. package/dist/header/headerHelpers.d.ts +1 -0
  183. package/dist/header/headerHelpers.js +10 -1
  184. package/dist/header/hooks/useNonFittingElements.js +1 -1
  185. package/dist/icons/iconAlignLeft.js +1 -3
  186. package/dist/icons/iconAlignmentLeft.js +1 -3
  187. package/dist/icons/iconAlignmentRight.js +1 -3
  188. package/dist/icons/iconArrowBottomLeft.js +1 -3
  189. package/dist/icons/iconArrowBottomRight.js +1 -3
  190. package/dist/icons/iconArrowLeftPath.js +1 -3
  191. package/dist/icons/iconArrowRight.js +1 -3
  192. package/dist/icons/iconArrowRightCircle.js +1 -3
  193. package/dist/icons/iconArrowRightPath.js +1 -3
  194. package/dist/icons/iconArrowTopLeft.js +1 -3
  195. package/dist/icons/iconArrowTopRight.js +1 -3
  196. package/dist/icons/iconChevronDoubleRight.js +1 -3
  197. package/dist/icons/iconChevronRight.js +1 -3
  198. package/dist/icons/iconChevronRightSmall.js +1 -3
  199. package/dist/icons/iconCornerDownLeft.js +1 -3
  200. package/dist/icons/iconCornerDownRight.js +1 -3
  201. package/dist/icons/iconCornerLeftDown.js +1 -3
  202. package/dist/icons/iconCornerLeftUp.js +1 -3
  203. package/dist/icons/iconCornerRightDown.js +1 -3
  204. package/dist/icons/iconCornerRightUp.js +1 -3
  205. package/dist/icons/iconCornerUpLeft.js +1 -3
  206. package/dist/icons/iconCornerUpRight.js +1 -3
  207. package/dist/index.css +3628 -3321
  208. package/dist/index.d.ts +1 -0
  209. package/dist/index.js +16 -14
  210. package/dist/lineChartMini/lineChartMini.js +15 -3
  211. package/dist/list/itemData/itemDataInternal.js +6 -3
  212. package/dist/list/listItem/listItem.js +6 -3
  213. package/dist/menu/components/controlledMenuList/controlledMenuList.js +4 -1
  214. package/dist/menu/components/menuButton.d.ts +2 -1
  215. package/dist/menu/components/menuButton.js +7 -4
  216. package/dist/menu/components/menuErrorItem.js +2 -2
  217. package/dist/menu/components/menuItem.js +4 -4
  218. package/dist/menu/utils/useMenuItemCore.js +4 -3
  219. package/dist/miniTabs/miniTabs.d.ts +1 -0
  220. package/dist/miniTabs/miniTabs.js +1 -1
  221. package/dist/miniTabs/miniTabsHeaderItem.d.ts +2 -1
  222. package/dist/miniTabs/miniTabsHeaderItem.js +1 -1
  223. package/dist/miniTabs/miniTabsItem.d.ts +1 -0
  224. package/dist/mobileSheet/mobileSheet.js +2 -2
  225. package/dist/modal/modal.js +1 -1
  226. package/dist/nav/navFooter/navEditFooter/navEditFooter.js +2 -2
  227. package/dist/nav/navFooter/navFooter.js +1 -1
  228. package/dist/nav/navFooter/navFooterAction/navFooterAction.js +1 -1
  229. package/dist/nav/navHeader/navHeader.js +2 -2
  230. package/dist/nav/navHeader/navHeaderSearch/navHeaderSearch.js +2 -2
  231. package/dist/nav/navItem/navItem.js +4 -1
  232. package/dist/nav/navMobileBar/navMobileBar.js +1 -1
  233. package/dist/notification/notification.js +1 -1
  234. package/dist/pagination/paginationArrow.js +12 -5
  235. package/dist/pagination/paginationText/paginationText.js +1 -1
  236. package/dist/pill/components/pillNonActionable/pillNonActionable.js +1 -1
  237. package/dist/pillBox/components/pillBoxItem.js +1 -1
  238. package/dist/pillBox/pillBox.js +3 -3
  239. package/dist/pillExpandable/pillContent.js +12 -3
  240. package/dist/pillExpandable/pillExpandable.d.ts +4 -1
  241. package/dist/pillExpandable/pillExpandable.js +5 -3
  242. package/dist/pillExpandable/pillExpandableSimple.d.ts +1 -1
  243. package/dist/pillExpandable/pillExpandableSimple.js +4 -4
  244. package/dist/radioGroupRaw/radioGroupRaw.js +2 -1
  245. package/dist/rangeRaw/rangeRaw.js +7 -8
  246. package/dist/rangeRaw/utils/rangeHelper.js +7 -7
  247. package/dist/searchInputRaw/searchInputRaw.js +6 -3
  248. package/dist/selectList/selectList.js +2 -2
  249. package/dist/selectList/selectListItem.js +4 -1
  250. package/dist/skeleton/skeleton.js +1 -1
  251. package/dist/sortControl/sortControl.js +6 -7
  252. package/dist/stepperRaw/stepperRaw.js +5 -0
  253. package/dist/summary/summary.js +2 -2
  254. package/dist/summaryTile/summaryTile.d.ts +4 -2
  255. package/dist/summaryTile/summaryTile.js +59 -26
  256. package/dist/summaryTileBar/summaryTileBar.d.ts +4 -2
  257. package/dist/summaryTileBar/summaryTileBar.js +2 -2
  258. package/dist/table/actions/actionsMenu.js +2 -2
  259. package/dist/table/children/useTableChildren.d.ts +1 -1
  260. package/dist/table/children/useTableChildren.js +3 -3
  261. package/dist/table/detailPanel/detailPanel.js +1 -1
  262. package/dist/table/detailPanel/detailPanelHeader.js +2 -2
  263. package/dist/table/flexible/columnSettings.js +2 -2
  264. package/dist/table/flexible/columnsList.js +47 -117
  265. package/dist/table/flexible/columnsPopup.d.ts +1 -1
  266. package/dist/table/flexible/columnsPopup.js +1 -1
  267. package/dist/table/nested/useNestedRows.js +2 -2
  268. package/dist/table/selectable/selectableHeader.js +5 -4
  269. package/dist/table/selectable/useSelectableRows.d.ts +8 -0
  270. package/dist/table/selectable/useSelectableRows.js +16 -8
  271. package/dist/table/sortable/mobileSortControl.js +1 -1
  272. package/dist/table/sortable/sortableHeader.js +2 -2
  273. package/dist/table/table.js +3 -9
  274. package/dist/tabs/tabItem/tabItem.d.ts +2 -1
  275. package/dist/tabs/tabItem/tabItem.js +7 -2
  276. package/dist/tabs/tabs.d.ts +2 -1
  277. package/dist/tabs/tabs.js +71 -61
  278. package/dist/tabs/tabsTestHelper.js +2 -2
  279. package/dist/timePickerRaw/timePickerRaw.js +11 -9
  280. package/dist/timePickerRaw/types.d.ts +1 -0
  281. package/dist/toastRaw/toastRaw.js +1 -1
  282. package/dist/toggleButtonRaw/toggleButtonRaw.js +7 -4
  283. package/dist/tooltip/tooltip.js +13 -5
  284. package/dist/utils/formatDate.js +37 -37
  285. package/dist/utils/localization/flipAlignment.js +12 -1
  286. package/dist/utils/localization/languageContext.d.ts +1 -1
  287. package/dist/utils/localization/translations/cs.json +7 -5
  288. package/dist/utils/localization/translations/da-DK.json +7 -5
  289. package/dist/utils/localization/translations/de.json +7 -5
  290. package/dist/utils/localization/translations/en.json +12 -1
  291. package/dist/utils/localization/translations/es.json +7 -5
  292. package/dist/utils/localization/translations/fi-FI.json +7 -5
  293. package/dist/utils/localization/translations/fr-FR.json +7 -5
  294. package/dist/utils/localization/translations/fr.json +7 -5
  295. package/dist/utils/localization/translations/hu-HU.json +7 -5
  296. package/dist/utils/localization/translations/id.json +7 -5
  297. package/dist/utils/localization/translations/it.json +7 -5
  298. package/dist/utils/localization/translations/ja.json +7 -5
  299. package/dist/utils/localization/translations/ko-KR.json +7 -5
  300. package/dist/utils/localization/translations/ms.json +7 -5
  301. package/dist/utils/localization/translations/nb-NO.json +7 -5
  302. package/dist/utils/localization/translations/nl.json +7 -5
  303. package/dist/utils/localization/translations/pl.json +7 -5
  304. package/dist/utils/localization/translations/pt-BR.json +7 -5
  305. package/dist/utils/localization/translations/pt-PT.json +7 -5
  306. package/dist/utils/localization/translations/ro-RO.json +7 -5
  307. package/dist/utils/localization/translations/sk-SK.json +7 -5
  308. package/dist/utils/localization/translations/sv.json +7 -5
  309. package/dist/utils/localization/translations/th.json +7 -5
  310. package/dist/utils/localization/translations/tr.json +7 -5
  311. package/dist/utils/localization/translations/zh-Hans.json +7 -5
  312. package/dist/utils/localization/translations/zh-TW.json +7 -5
  313. package/dist/utils/localization/useDirectionalIcon.d.ts +3 -0
  314. package/dist/utils/localization/useDirectionalIcon.js +9 -0
  315. package/dist/utils/positioningUtils/alignments.d.ts +2 -2
  316. package/dist/utils/positioningUtils/alignments.js +2 -2
  317. package/dist/utils/positioningUtils/calculatePosition.d.ts +2 -1
  318. package/dist/utils/positioningUtils/calculatePosition.js +11 -11
  319. package/dist/utils/positioningUtils/normalizeLogicalAlignment.d.ts +4 -0
  320. package/dist/utils/positioningUtils/normalizeLogicalAlignment.js +36 -0
  321. package/esm/absolute/absolute.d.ts +21 -1
  322. package/esm/absolute/absolute.js +46 -6
  323. package/esm/advancedGroupsFilter/advancedGroupsFilter.js +3 -3
  324. package/esm/advancedGroupsFilter/advancedGroupsFilterForm.js +2 -2
  325. package/esm/advancedGroupsFilter/advancedGroupsFilterFormSection.js +7 -7
  326. package/esm/advancedGroupsFilter/advancedGroupsFilterSectionTooltip.js +1 -1
  327. package/esm/alert/banner.d.ts +3 -1
  328. package/esm/alertRaw/alertRaw.js +1 -1
  329. package/esm/banner/banner.d.ts +5 -2
  330. package/esm/banner/banner.js +13 -2
  331. package/esm/banner/bannerErrorSummary.d.ts +7 -0
  332. package/esm/banner/bannerErrorSummary.js +4 -0
  333. package/esm/banner/bannerMultipLine.js +1 -1
  334. package/esm/banner/bannerSingleLine.js +1 -1
  335. package/esm/banner/utils/buildSummaryErrorList.d.ts +1 -0
  336. package/esm/banner/utils/buildSummaryErrorList.js +12 -0
  337. package/esm/banner/utils/hasSummaryErrorChild.d.ts +1 -0
  338. package/esm/banner/utils/hasSummaryErrorChild.js +3 -0
  339. package/esm/banner/utils/isSummaryErrorBanner.d.ts +2 -0
  340. package/esm/banner/utils/isSummaryErrorBanner.js +2 -0
  341. package/esm/banner/utils/isSummaryErrorElement.d.ts +3 -0
  342. package/esm/banner/utils/isSummaryErrorElement.js +3 -0
  343. package/esm/banner/utils/useSummaryBannerProp.d.ts +6 -0
  344. package/esm/banner/utils/useSummaryBannerProp.js +25 -0
  345. package/esm/betaPill/betaPill.js +4 -4
  346. package/esm/bookmark/bookmark.js +2 -2
  347. package/esm/bulkEditControl/bulkEditControl.js +5 -5
  348. package/esm/calendar/calendar.js +37 -34
  349. package/esm/calendar/calendarUtils.js +6 -4
  350. package/esm/card/card.js +1 -1
  351. package/esm/card/components/title.js +4 -1
  352. package/esm/card/components/titleLink.js +5 -2
  353. package/esm/chart/accessibleChart/accessibleChartNarrative.js +13 -13
  354. package/esm/chart/accessibleChart/accessibleChartTable.js +5 -5
  355. package/esm/chart/barChart/getDefaultOptions.d.ts +2 -1
  356. package/esm/chart/barChart/getDefaultOptions.js +5 -2
  357. package/esm/chart/barChart.js +6 -4
  358. package/esm/chart/chart.js +1 -1
  359. package/esm/chart/chartAxis/chartAxis.js +2 -2
  360. package/esm/chart/lineChart/getDefaultOptions.d.ts +4 -1
  361. package/esm/chart/lineChart/getDefaultOptions.js +7 -2
  362. package/esm/chart/lineChart.js +7 -3
  363. package/esm/chart/plugins/linePlugin/linePlugin.js +5 -4
  364. package/esm/chart/utils/getXAxisMeta.js +8 -5
  365. package/esm/chart/utils/isDateRange.js +1 -1
  366. package/esm/chart/utils/useHidden.d.ts +1 -0
  367. package/esm/chart/utils/useHidden.js +1 -1
  368. package/esm/chart/utils/useLastVisibleXAxisMeta.d.ts +2 -0
  369. package/esm/chart/utils/useLastVisibleXAxisMeta.js +11 -0
  370. package/esm/checkboxListWithAction/checkboxListWithAction.js +8 -5
  371. package/esm/chip/chip.js +1 -1
  372. package/esm/columnsSelector/columnsSelector.js +2 -2
  373. package/esm/columnsSelector/columnsTab/columnsTab.js +1 -1
  374. package/esm/columnsSelector/columnsTabGroup/columnsTabGroup.js +1 -1
  375. package/esm/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.js +4 -1
  376. package/esm/controlledPopup/controlledPopup.d.ts +1 -0
  377. package/esm/controlledPopup/controlledPopup.js +3 -1
  378. package/esm/dataFeed/feedExpandControl/feedExpandControl.js +3 -0
  379. package/esm/dataGrid/cell/cell.d.ts +2 -1
  380. package/esm/dataGrid/cell/cell.js +2 -2
  381. package/esm/dataGrid/columns/checkboxColumn/checkboxHeaderCell.js +1 -1
  382. package/esm/dataGrid/dataGrid.js +8 -5
  383. package/esm/dataGrid/emptySearchList/emptySearchList.js +1 -1
  384. package/esm/dataGrid/entitiesListActions/actions/columnsListButton.js +1 -1
  385. package/esm/dataGrid/entitiesListActions/actions/fullscreenButton.js +2 -2
  386. package/esm/dataGrid/listColumn.d.ts +2 -0
  387. package/esm/dataGrid/row/row.d.ts +2 -1
  388. package/esm/dataGrid/row/row.js +13 -9
  389. package/esm/dataGrid/withFlexibleColumns/components/columnSettings.js +2 -2
  390. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsList.d.ts +1 -1
  391. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsList.js +44 -110
  392. package/esm/dataGrid/withFlexibleColumns/components/columnSettingsSidePanel.js +2 -0
  393. package/esm/dataGrid/withFlexibleColumns/withFlexibleColumns.js +1 -1
  394. package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.d.ts +4 -0
  395. package/esm/dataGrid/withSelectableRows/components/bulkActions/bulkActions.js +5 -5
  396. package/esm/dataGrid/withSelectableRows/withSelectableRows.js +4 -3
  397. package/esm/dataGrid/withSortableColumns/columns/sortableColumnWrapper.js +2 -2
  398. package/esm/dateInputInner/dateInputInner.js +7 -7
  399. package/esm/dateInputInner/dateInputInnerControlBlock.js +2 -2
  400. package/esm/dateInputRaw/dateInputRaw.js +4 -4
  401. package/esm/dateInputRaw/utils/getLabel.js +2 -2
  402. package/esm/dateRangeInner/dateRangeInner.js +6 -3
  403. package/esm/dateRangeRaw/dateRangeRaw.d.ts +1 -0
  404. package/esm/dateRangeRaw/dateRangeRaw.js +21 -15
  405. package/esm/dateRangeRaw/types.d.ts +1 -0
  406. package/esm/dateRangeRaw/utils/dateRangeUtils.js +17 -17
  407. package/esm/dateRangeRaw/utils/parseLabel.js +1 -1
  408. package/esm/dateSelectionWrapper/dateSelectionWrapper.js +4 -4
  409. package/esm/dialog/dialogContent.js +1 -1
  410. package/esm/dropdown/dropdownTrigger.d.ts +1 -1
  411. package/esm/dropdownRaw/dropdownList.js +9 -9
  412. package/esm/dropdownRaw/dropdownPopup.js +3 -3
  413. package/esm/dropdownRaw/dropdownRaw.js +34 -17
  414. package/esm/dropdownRaw/dropdownSearchableTrigger.d.ts +2 -1
  415. package/esm/dropdownRaw/dropdownSearchableTrigger.js +8 -6
  416. package/esm/dropdownRaw/dropdownTrigger.d.ts +2 -1
  417. package/esm/dropdownRaw/dropdownTrigger.js +2 -2
  418. package/esm/dropdownRaw/types.d.ts +2 -0
  419. package/esm/favoriteButton/favoriteButton.js +1 -1
  420. package/esm/fileUpload/components/dropZoneContent.js +104 -104
  421. package/esm/fileUpload/components/templateDownloadSection.js +1 -1
  422. package/esm/fileUpload/components/uploadedFilesSection.js +2 -2
  423. package/esm/fileUpload/fileUpload.js +106 -106
  424. package/esm/filterButton/filterButton.d.ts +1 -0
  425. package/esm/filters/components/filtersContainer.js +2 -2
  426. package/esm/filters/components/filtersDropdown.d.ts +1 -1
  427. package/esm/filters/components/filtersEmptyState.js +2 -2
  428. package/esm/filters/components/filtersSaveModal.js +5 -5
  429. package/esm/filters/components/filtersSavedChipComponent.js +11 -11
  430. package/esm/filters/components/filtersSearchItemData.js +1 -1
  431. package/esm/filters/components/filtersSearchList.js +14 -11
  432. package/esm/filters/components/filtersSelect.js +1 -1
  433. package/esm/filters/components/filtersSelectListItem.js +2 -2
  434. package/esm/filters/components/filtersSidePanel.js +8 -8
  435. package/esm/filters/filters.js +7 -7
  436. package/esm/filtersBar/components/filtersBarGroupsFilter/filtersBarGroupsFilter.d.ts +1 -1
  437. package/esm/filtersBar/components/filtersBarPeriodPicker/filtersBarPeriodPicker.d.ts +1 -0
  438. package/esm/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +18 -18
  439. package/esm/filtersBar/components/resetComponentButton.js +1 -1
  440. package/esm/filtersBar/filtersBarActions/filtersBarActions.js +3 -3
  441. package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelRange/filtersBarSidePanelRange.js +2 -2
  442. package/esm/filtersBar/filtersBarSidePanel/filtersBarSidePanel.js +5 -5
  443. package/esm/filtersBar/filtersContainer/filtersContainer.js +62 -61
  444. package/esm/formField/hooks/useError.js +3 -3
  445. package/esm/formField/hooks/useFormFieldProps.d.ts +1 -1
  446. package/esm/formField/hooks/useFormFieldProps.js +4 -2
  447. package/esm/formGroup/components/reviewListToggle/reviewListToggle.js +2 -2
  448. package/esm/formGroup/hooks/useCustomRow.js +46 -32
  449. package/esm/formGroup/hooks/useRowElements.js +9 -6
  450. package/esm/formGroup/hooks/useToggle.js +1 -1
  451. package/esm/formGroup/types.d.ts +4 -0
  452. package/esm/formGroup/utils/normalizeFieldId.d.ts +1 -0
  453. package/esm/formGroup/utils/normalizeFieldId.js +1 -0
  454. package/esm/formGroup/utils/resolveId.d.ts +7 -0
  455. package/esm/formGroup/utils/resolveId.js +2 -0
  456. package/esm/formLayout/components/getLayoutColumns.js +4 -2
  457. package/esm/formLayout/hooks/useError.js +3 -3
  458. package/esm/formLayout/hooks/useErrorSummary.d.ts +6 -0
  459. package/esm/formLayout/hooks/useErrorSummary.js +30 -0
  460. package/esm/formLayout/hooks/useFormButtons.js +3 -3
  461. package/esm/formLayout/utils/applyGridPropsStatic.js +1 -1
  462. package/esm/formLayout/utils/flattenErrors.d.ts +5 -0
  463. package/esm/formLayout/utils/flattenErrors.js +10 -0
  464. package/esm/formLayout/utils/getChildrenWithCustomColumns.js +3 -0
  465. package/esm/formLayout/utils/getFieldLabel.d.ts +1 -0
  466. package/esm/formLayout/utils/getFieldLabel.js +22 -0
  467. package/esm/formSection/hooks/useError.js +3 -3
  468. package/esm/formStepper/components/formStep.js +1 -1
  469. package/esm/formStepper/formStepper.js +2 -2
  470. package/esm/formStepperButtons/formStepperButtons.js +8 -5
  471. package/esm/gridLayout/hooks/useGridClasses.js +3 -9
  472. package/esm/groupButtonRaw/groupButtonRaw.js +2 -2
  473. package/esm/groupButtonRaw/types.d.ts +1 -0
  474. package/esm/groupsFilterRaw/groupsFilterAdjustmentState.js +8 -5
  475. package/esm/groupsFilterRaw/groupsFilterBox.js +3 -3
  476. package/esm/groupsFilterRaw/groupsFilterCommon.js +2 -2
  477. package/esm/groupsFilterRaw/groupsFilterCurrentlySelectedState.js +5 -5
  478. package/esm/groupsFilterRaw/groupsFilterHelper.js +2 -2
  479. package/esm/groupsFilterRaw/groupsFilterInitialState.js +12 -9
  480. package/esm/groupsFilterRaw/groupsFilterMenu.js +3 -3
  481. package/esm/groupsFilterRaw/groupsFilterRaw.d.ts +1 -0
  482. package/esm/groupsFilterRaw/groupsFilterRaw.js +15 -10
  483. package/esm/groupsFilterRaw/groupsFilterTrigger.d.ts +2 -1
  484. package/esm/groupsFilterRaw/groupsFilterTrigger.js +8 -5
  485. package/esm/groupsFilterRaw/groupsHelper.js +22 -22
  486. package/esm/groupsFilterRaw/types.d.ts +2 -0
  487. package/esm/header/components/collapsedItemsControl/collapsedItemsControl.js +1 -1
  488. package/esm/header/components/mobileFilterControl/mobileFilterControl.js +1 -1
  489. package/esm/header/components/mobileSearchControl/mobileSearchControl.js +3 -3
  490. package/esm/header/header.js +2 -2
  491. package/esm/header/headerBack.js +5 -2
  492. package/esm/header/headerHelpers.d.ts +1 -0
  493. package/esm/header/headerHelpers.js +8 -0
  494. package/esm/header/hooks/useNonFittingElements.js +1 -1
  495. package/esm/icons/iconAlignLeft.js +1 -3
  496. package/esm/icons/iconAlignmentLeft.js +1 -3
  497. package/esm/icons/iconAlignmentRight.js +1 -3
  498. package/esm/icons/iconArrowBottomLeft.js +1 -3
  499. package/esm/icons/iconArrowBottomRight.js +1 -3
  500. package/esm/icons/iconArrowLeftPath.js +1 -3
  501. package/esm/icons/iconArrowRight.js +1 -3
  502. package/esm/icons/iconArrowRightCircle.js +1 -3
  503. package/esm/icons/iconArrowRightPath.js +1 -3
  504. package/esm/icons/iconArrowTopLeft.js +1 -3
  505. package/esm/icons/iconArrowTopRight.js +1 -3
  506. package/esm/icons/iconChevronDoubleRight.js +1 -3
  507. package/esm/icons/iconChevronRight.js +1 -3
  508. package/esm/icons/iconChevronRightSmall.js +1 -3
  509. package/esm/icons/iconCornerDownLeft.js +1 -3
  510. package/esm/icons/iconCornerDownRight.js +1 -3
  511. package/esm/icons/iconCornerLeftDown.js +1 -3
  512. package/esm/icons/iconCornerLeftUp.js +1 -3
  513. package/esm/icons/iconCornerRightDown.js +1 -3
  514. package/esm/icons/iconCornerRightUp.js +1 -3
  515. package/esm/icons/iconCornerUpLeft.js +1 -3
  516. package/esm/icons/iconCornerUpRight.js +1 -3
  517. package/esm/index.d.ts +1 -0
  518. package/esm/index.js +1 -0
  519. package/esm/lineChartMini/lineChartMini.js +15 -3
  520. package/esm/list/itemData/itemDataInternal.js +6 -3
  521. package/esm/list/listItem/listItem.js +6 -3
  522. package/esm/menu/components/controlledMenuList/controlledMenuList.js +4 -1
  523. package/esm/menu/components/menuButton.d.ts +2 -1
  524. package/esm/menu/components/menuButton.js +7 -4
  525. package/esm/menu/components/menuErrorItem.js +2 -2
  526. package/esm/menu/components/menuItem.js +4 -4
  527. package/esm/menu/utils/useMenuItemCore.js +4 -3
  528. package/esm/miniTabs/miniTabs.d.ts +1 -0
  529. package/esm/miniTabs/miniTabs.js +1 -1
  530. package/esm/miniTabs/miniTabsHeaderItem.d.ts +2 -1
  531. package/esm/miniTabs/miniTabsHeaderItem.js +1 -1
  532. package/esm/miniTabs/miniTabsItem.d.ts +1 -0
  533. package/esm/mobileSheet/mobileSheet.js +2 -2
  534. package/esm/modal/modal.js +1 -1
  535. package/esm/nav/navFooter/navEditFooter/navEditFooter.js +2 -2
  536. package/esm/nav/navFooter/navFooter.js +1 -1
  537. package/esm/nav/navFooter/navFooterAction/navFooterAction.js +1 -1
  538. package/esm/nav/navHeader/navHeader.js +2 -2
  539. package/esm/nav/navHeader/navHeaderSearch/navHeaderSearch.js +2 -2
  540. package/esm/nav/navItem/navItem.js +4 -1
  541. package/esm/nav/navMobileBar/navMobileBar.js +1 -1
  542. package/esm/notification/notification.js +1 -1
  543. package/esm/pagination/paginationArrow.js +12 -5
  544. package/esm/pagination/paginationText/paginationText.js +1 -1
  545. package/esm/pill/components/pillNonActionable/pillNonActionable.js +1 -1
  546. package/esm/pillBox/components/pillBoxItem.js +1 -1
  547. package/esm/pillBox/pillBox.js +3 -3
  548. package/esm/pillExpandable/pillContent.js +12 -3
  549. package/esm/pillExpandable/pillExpandable.d.ts +4 -1
  550. package/esm/pillExpandable/pillExpandable.js +5 -3
  551. package/esm/pillExpandable/pillExpandableSimple.d.ts +1 -1
  552. package/esm/pillExpandable/pillExpandableSimple.js +4 -4
  553. package/esm/radioGroupRaw/radioGroupRaw.js +2 -1
  554. package/esm/rangeRaw/rangeRaw.js +7 -8
  555. package/esm/rangeRaw/utils/rangeHelper.js +7 -7
  556. package/esm/searchInputRaw/searchInputRaw.js +6 -3
  557. package/esm/selectList/selectList.js +2 -2
  558. package/esm/selectList/selectListItem.js +4 -1
  559. package/esm/skeleton/skeleton.js +1 -1
  560. package/esm/sortControl/sortControl.js +6 -7
  561. package/esm/stepperRaw/stepperRaw.js +3 -0
  562. package/esm/summary/summary.js +2 -2
  563. package/esm/summaryTile/summaryTile.d.ts +4 -2
  564. package/esm/summaryTile/summaryTile.js +59 -26
  565. package/esm/summaryTileBar/summaryTileBar.d.ts +4 -2
  566. package/esm/summaryTileBar/summaryTileBar.js +2 -2
  567. package/esm/table/actions/actionsMenu.js +2 -2
  568. package/esm/table/children/useTableChildren.d.ts +1 -1
  569. package/esm/table/children/useTableChildren.js +3 -3
  570. package/esm/table/detailPanel/detailPanel.js +1 -1
  571. package/esm/table/detailPanel/detailPanelHeader.js +2 -2
  572. package/esm/table/flexible/columnSettings.js +2 -2
  573. package/esm/table/flexible/columnsList.js +46 -111
  574. package/esm/table/flexible/columnsPopup.d.ts +1 -1
  575. package/esm/table/flexible/columnsPopup.js +1 -1
  576. package/esm/table/nested/useNestedRows.js +2 -2
  577. package/esm/table/selectable/selectableHeader.js +5 -4
  578. package/esm/table/selectable/useSelectableRows.d.ts +8 -0
  579. package/esm/table/selectable/useSelectableRows.js +16 -8
  580. package/esm/table/sortable/mobileSortControl.js +1 -1
  581. package/esm/table/sortable/sortableHeader.js +2 -2
  582. package/esm/table/table.js +3 -9
  583. package/esm/tabs/tabItem/tabItem.d.ts +2 -1
  584. package/esm/tabs/tabItem/tabItem.js +7 -2
  585. package/esm/tabs/tabs.d.ts +2 -1
  586. package/esm/tabs/tabs.js +71 -61
  587. package/esm/tabs/tabsTestHelper.js +2 -2
  588. package/esm/testHelpers/mockAbsoluteAlignment.d.ts +1 -0
  589. package/esm/testHelpers/mockAbsoluteAlignment.js +10 -0
  590. package/esm/timePickerRaw/timePickerRaw.js +11 -9
  591. package/esm/timePickerRaw/types.d.ts +1 -0
  592. package/esm/toastRaw/toastRaw.js +1 -1
  593. package/esm/toggleButtonRaw/toggleButtonRaw.js +7 -4
  594. package/esm/tooltip/tooltip.js +13 -5
  595. package/esm/utils/formatDate.js +37 -37
  596. package/esm/utils/localization/flipAlignment.js +12 -1
  597. package/esm/utils/localization/languageContext.d.ts +1 -1
  598. package/esm/utils/localization/translations/cs.json +7 -5
  599. package/esm/utils/localization/translations/da-DK.json +7 -5
  600. package/esm/utils/localization/translations/de.json +7 -5
  601. package/esm/utils/localization/translations/en.json +12 -1
  602. package/esm/utils/localization/translations/es.json +7 -5
  603. package/esm/utils/localization/translations/fi-FI.json +7 -5
  604. package/esm/utils/localization/translations/fr-FR.json +7 -5
  605. package/esm/utils/localization/translations/fr.json +7 -5
  606. package/esm/utils/localization/translations/hu-HU.json +7 -5
  607. package/esm/utils/localization/translations/id.json +7 -5
  608. package/esm/utils/localization/translations/it.json +7 -5
  609. package/esm/utils/localization/translations/ja.json +7 -5
  610. package/esm/utils/localization/translations/ko-KR.json +7 -5
  611. package/esm/utils/localization/translations/ms.json +7 -5
  612. package/esm/utils/localization/translations/nb-NO.json +7 -5
  613. package/esm/utils/localization/translations/nl.json +7 -5
  614. package/esm/utils/localization/translations/pl.json +7 -5
  615. package/esm/utils/localization/translations/pt-BR.json +7 -5
  616. package/esm/utils/localization/translations/pt-PT.json +7 -5
  617. package/esm/utils/localization/translations/ro-RO.json +7 -5
  618. package/esm/utils/localization/translations/sk-SK.json +7 -5
  619. package/esm/utils/localization/translations/sv.json +7 -5
  620. package/esm/utils/localization/translations/th.json +7 -5
  621. package/esm/utils/localization/translations/tr.json +7 -5
  622. package/esm/utils/localization/translations/zh-Hans.json +7 -5
  623. package/esm/utils/localization/translations/zh-TW.json +7 -5
  624. package/esm/utils/localization/useDirectionalIcon.d.ts +3 -0
  625. package/esm/utils/localization/useDirectionalIcon.js +5 -0
  626. package/esm/utils/positioningUtils/alignments.d.ts +2 -2
  627. package/esm/utils/positioningUtils/alignments.js +2 -2
  628. package/esm/utils/positioningUtils/calculatePosition.d.ts +2 -1
  629. package/esm/utils/positioningUtils/calculatePosition.js +11 -11
  630. package/esm/utils/positioningUtils/normalizeLogicalAlignment.d.ts +4 -0
  631. package/esm/utils/positioningUtils/normalizeLogicalAlignment.js +32 -0
  632. package/package.json +11 -12
  633. package/dist/utils/localization/translations/en-json.d.ts +0 -317
  634. package/dist/utils/localization/translations/en-json.js +0 -320
  635. package/esm/utils/localization/translations/en-json.d.ts +0 -317
  636. package/esm/utils/localization/translations/en-json.js +0 -317
@@ -33,7 +33,7 @@ injectString("tr", "Sort by {COLUMN_NAME} descending", "{COLUMN_NAME} s\xFCtunun
33
33
  injectString("zh-Hans", "Sort by {COLUMN_NAME} descending", "\u6309 {COLUMN_NAME} \u964D\u5E8F\u6392\u5E8F");
34
34
  injectString("zh-TW", "Sort by {COLUMN_NAME} descending", "\u4F9D\u300C{COLUMN_NAME}\u300D\u905E\u6E1B\u6392\u5E8F");
35
35
  injectString("ro-RO", "Sort by {COLUMN_NAME} descending", "Sorta\u021Bi descendent dup\u0103 {COLUMN_NAME}");
36
- injectString("ar-SA", "Sort by {COLUMN_NAME} descending", "\u062A\u0631\u062A\u064A\u0628 \u062D\u0633\u0628 {COLUMN_NAME} \u062A\u0646\u0627\u0632\u0644\u064A\u0627\u064B");
36
+ injectString("ar", "Sort by {COLUMN_NAME} descending", "\u062A\u0631\u062A\u064A\u0628 \u062D\u0633\u0628 {COLUMN_NAME} \u062A\u0646\u0627\u0632\u0644\u064A\u0627\u064B");
37
37
  injectString("cs", "Sort by {COLUMN_NAME} ascending", "Se\u0159adit vzestupn\u011B podle {COLUMN_NAME}");
38
38
  injectString("da-DK", "Sort by {COLUMN_NAME} ascending", "Sorter efter {COLUMN_NAME} stigende");
39
39
  injectString("de", "Sort by {COLUMN_NAME} ascending", "Aufsteigend nach {COLUMN_NAME} sortieren");
@@ -60,7 +60,7 @@ injectString("tr", "Sort by {COLUMN_NAME} ascending", "{COLUMN_NAME} s\xFCtununa
60
60
  injectString("zh-Hans", "Sort by {COLUMN_NAME} ascending", "\u6309 {COLUMN_NAME} \u5347\u5E8F\u6392\u5E8F");
61
61
  injectString("zh-TW", "Sort by {COLUMN_NAME} ascending", "\u4F9D\u300C{COLUMN_NAME}\u300D\u905E\u589E\u6392\u5E8F");
62
62
  injectString("ro-RO", "Sort by {COLUMN_NAME} ascending", "Sorta\u021Bi ascendent dup\u0103 {COLUMN_NAME}");
63
- injectString("ar-SA", "Sort by {COLUMN_NAME} ascending", "\u062A\u0631\u062A\u064A\u0628 \u062D\u0633\u0628 {COLUMN_NAME} \u062A\u0635\u0627\u0639\u062F\u064A\u0627\u064B");
63
+ injectString("ar", "Sort by {COLUMN_NAME} ascending", "\u062A\u0631\u062A\u064A\u0628 \u062D\u0633\u0628 {COLUMN_NAME} \u062A\u0635\u0627\u0639\u062F\u064A\u0627\u064B");
64
64
  const getSortButtonTitle = (sortDirection, title, translate) => {
65
65
  const titleTemplate = sortDirection === ColumnSortDirection.Descending ? translate("Sort by {COLUMN_NAME} descending") : translate("Sort by {COLUMN_NAME} ascending");
66
66
  return titleTemplate.replace("{COLUMN_NAME}", title);
@@ -64,7 +64,7 @@ injectString("tr", "Selection panel", "Selection panel");
64
64
  injectString("zh-Hans", "Selection panel", "Selection panel");
65
65
  injectString("zh-TW", "Selection panel", "Selection panel");
66
66
  injectString("ro-RO", "Selection panel", "Panou selec\u021Bie");
67
- injectString("ar-SA", "Selection panel", "\u0644\u0648\u062D\u0629 \u0627\u0644\u062A\u062D\u062F\u064A\u062F");
67
+ injectString("ar", "Selection panel", "\u0644\u0648\u062D\u0629 \u0627\u0644\u062A\u062D\u062F\u064A\u062F");
68
68
  injectString("cs", "Bulk select", "Bulk select");
69
69
  injectString("da-DK", "Bulk select", "Bulk select");
70
70
  injectString("de", "Bulk select", "Bulk select");
@@ -91,7 +91,7 @@ injectString("tr", "Bulk select", "Bulk select");
91
91
  injectString("zh-Hans", "Bulk select", "Bulk select");
92
92
  injectString("zh-TW", "Bulk select", "Bulk select");
93
93
  injectString("ro-RO", "Bulk select", "Selecta\u021Bi \xEEn bloc");
94
- injectString("ar-SA", "Bulk select", "\u062A\u062D\u062F\u064A\u062F \u062C\u0645\u0627\u0639\u064A");
94
+ injectString("ar", "Bulk select", "\u062A\u062D\u062F\u064A\u062F \u062C\u0645\u0627\u0639\u064A");
95
95
  const TableInner = ({
96
96
  entities,
97
97
  columns,
@@ -177,12 +177,6 @@ const TableInner = ({
177
177
  selected: []
178
178
  });
179
179
  }, [selectable]);
180
- const selectAll = useCallback(() => {
181
- selectable === null || selectable === void 0 ? void 0 : selectable.onSelect({
182
- all: true,
183
- selected: []
184
- });
185
- }, [selectable]);
186
180
  const [activeIdInternal, setActiveInternal] = useState(undefined);
187
181
  const activeId = active !== undefined ? active : activeIdInternal;
188
182
  const onClickInternal = useCallback(id => setActiveInternal(id === activeIdInternal ? undefined : id), [activeIdInternal, setActiveInternal]);
@@ -199,7 +193,7 @@ const TableInner = ({
199
193
  detailPanel,
200
194
  footer,
201
195
  other
202
- } = useTableChildren(children, isMobile, selectionQty, ((_c = selectable === null || selectable === void 0 ? void 0 : selectable.selection) === null || _c === void 0 ? void 0 : _c.all) || false, clearSelection, selectAll, selectable === null || selectable === void 0 ? void 0 : selectable.turnOffSelectAll, activeId, gridRef, onCloseDetailPanel);
196
+ } = useTableChildren(children, isMobile, selectionQty, ((_c = selectable === null || selectable === void 0 ? void 0 : selectable.selection) === null || _c === void 0 ? void 0 : _c.all) || false, clearSelection, activeId, gridRef, onCloseDetailPanel);
203
197
  const hasDetailPanel = !!detailPanel;
204
198
  const shouldEnableRowClick = hasDetailPanel || !!onClick;
205
199
  const activeIdForRow = shouldEnableRowClick ? activeId : undefined;
@@ -10,5 +10,6 @@ export interface ITabItem extends IZenComponentProps {
10
10
  ariaControl?: string;
11
11
  handleButtonClick: (e: React.MouseEvent<HTMLElement>) => void;
12
12
  dataAnalyticsId?: string;
13
+ disabled?: boolean;
13
14
  }
14
- export declare const TabItem: ({ tabId, tabName, icon, active, handleButtonClick, ariaControl, quantity, dataAnalyticsId }: ITabItem) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const TabItem: ({ tabId, tabName, icon, active, handleButtonClick, ariaControl, quantity, dataAnalyticsId, disabled }: ITabItem) => import("react/jsx-runtime").JSX.Element;
@@ -3,9 +3,14 @@ import { classNames } from "../../commonHelpers/classNames/classNames";
3
3
  import { useDriveClassName } from "../../utils/theme/useDriveClassName";
4
4
  import { useMobileClassName } from "../../utils/theme/useMobileClassName";
5
5
  import { toKebabCase } from "../../utils/toKebabCase";
6
- export const TabItem = ({ tabId, tabName, icon, active, handleButtonClick, ariaControl, quantity, dataAnalyticsId }) => {
6
+ export const TabItem = ({ tabId, tabName, icon, active, handleButtonClick, ariaControl, quantity, dataAnalyticsId, disabled }) => {
7
7
  const driveClassname = useDriveClassName("zen-tab-item");
8
8
  const mobileClassname = useMobileClassName("zen-tab-item");
9
9
  const analyticsId = dataAnalyticsId || `tab-${toKebabCase(tabName)}`;
10
- return (_jsx("button", { id: tabId, type: "button", className: classNames(["zen-tab-item", driveClassname || mobileClassname || "", active ? "zen-tab-item--active" : ""]), role: "tab", "aria-controls": ariaControl, "aria-selected": active ? "true" : "false", "aria-label": tabName, title: tabName, onClick: handleButtonClick, "data-analytics-id": analyticsId, children: _jsxs("div", { className: "zen-tab-item__content", children: [icon && (_jsx("span", { className: classNames(["zen-tab-item__content-icon", active ? "zen-tab-item__content-icon--active" : ""]), children: icon })), _jsx("span", { className: "zen-tab-item__content-text", children: tabName }), quantity && _jsx("div", { className: "zen-tab-item__content-quantity", children: quantity })] }) }));
10
+ return (_jsx("button", { id: tabId, type: "button", className: classNames([
11
+ "zen-tab-item",
12
+ driveClassname || mobileClassname || "",
13
+ active ? "zen-tab-item--active" : "",
14
+ disabled ? "zen-tab-item--disabled" : ""
15
+ ]), role: "tab", "aria-controls": disabled ? undefined : ariaControl, "aria-selected": active ? "true" : "false", "aria-disabled": disabled ? "true" : undefined, "aria-label": tabName, title: tabName, tabIndex: disabled && !active ? -1 : undefined, onClick: disabled ? undefined : handleButtonClick, "data-analytics-id": analyticsId, children: _jsxs("div", { className: "zen-tab-item__content", children: [icon && (_jsx("span", { className: classNames(["zen-tab-item__content-icon", active ? "zen-tab-item__content-icon--active" : ""]), children: icon })), _jsx("span", { className: "zen-tab-item__content-text", children: tabName }), quantity && _jsx("div", { className: "zen-tab-item__content-quantity", children: quantity })] }) }));
11
16
  };
@@ -14,9 +14,10 @@ export interface ITabs extends IZenComponentProps {
14
14
  tabs: ITabElement[];
15
15
  activeTabId: string;
16
16
  onTabChange: (newTabId: string) => void;
17
+ disabled?: boolean;
17
18
  }
18
19
  export declare const TabsDisplayName = "Tabs";
19
20
  export declare const Tabs: {
20
- ({ className, tabs, activeTabId, onTabChange }: ITabs): import("react/jsx-runtime").JSX.Element;
21
+ ({ className, tabs, activeTabId, onTabChange, disabled }: ITabs): import("react/jsx-runtime").JSX.Element;
21
22
  displayName: string;
22
23
  };
package/esm/tabs/tabs.js CHANGED
@@ -6,65 +6,65 @@ import { useDriveClassName } from "../utils/theme/useDriveClassName";
6
6
  import { useLanguage } from "../utils/localization/useLanguage";
7
7
  import { TabItem } from "./tabItem/tabItem";
8
8
  import { IconChevronRight } from "../icons/iconChevronRight";
9
+ import { IconChevronLeft } from "../icons/iconChevronLeft";
10
+ import { useDirectionalIcon } from "../utils/localization/useDirectionalIcon";
9
11
  import { ButtonIconPosition, TextIconButton } from "../textIconButton/textIconButton";
10
12
  import { tabsKeyboardHandler, tabsKeyboardTabHandler } from "../commonHelpers/tabsKeyboard";
11
13
  import { useMobileClassName } from "../utils/theme/useMobileClassName";
12
14
  import "../utils/globalThisPolyfill";
13
15
  import { zen } from "../utils/zen";
14
- injectString("cs", "Scroll left", "P\u0159ej\xEDt doleva");
15
- injectString("da-DK", "Scroll left", "Rul til venstre");
16
- injectString("de", "Scroll left", "Nach links scrollen");
17
- injectString("en", "Scroll left", "Scroll left");
18
- injectString("es", "Scroll left", "Desplazarse a la izquierda");
19
- injectString("fi-FI", "Scroll left", "Selaa vasemmalle");
20
- injectString("fr", "Scroll left", "D\xE9filer vers la gauche");
21
- injectString("fr-FR", "Scroll left", "Faire d\xE9filer vers la gauche");
22
- injectString("hu-HU", "Scroll left", "Lapozz balra.");
23
- injectString("id", "Scroll left", "Gulir ke kiri");
24
- injectString("it", "Scroll left", "Scorrere verso sinistra");
25
- injectString("ja", "Scroll left", "\u5DE6\u306B\u30B9\u30AF\u30ED\u30FC\u30EB");
26
- injectString("ko-KR", "Scroll left", "\uC67C\uCABD\uC73C\uB85C \uC2A4\uD06C\uB864");
27
- injectString("ms", "Scroll left", "Skrol ke kiri");
28
- injectString("nb-NO", "Scroll left", "Rull til venstre");
29
- injectString("nl", "Scroll left", "Blader naar links");
30
- injectString("pl", "Scroll left", "Przewi\u0144 w lewo");
31
- injectString("pt-BR", "Scroll left", "Rolar para a esquerda");
32
- injectString("pt-PT", "Scroll left", "Deslizar para a esquerda");
33
- injectString("sk-SK", "Scroll left", "Posu\u0148 do\u013Eava");
34
- injectString("sv", "Scroll left", "Bl\xE4ddra \xE5t v\xE4nster");
35
- injectString("th", "Scroll left", "\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E1B\u0E17\u0E32\u0E07\u0E0B\u0E49\u0E32\u0E22");
36
- injectString("tr", "Scroll left", "Sola kayd\u0131r");
37
- injectString("zh-Hans", "Scroll left", "\u5411\u5DE6\u6EDA\u52A8");
38
- injectString("zh-TW", "Scroll left", "\u5411\u5DE6\u6372\u52D5");
39
- injectString("ro-RO", "Scroll left", "Derula\u021Bi la st\xE2nga");
40
- injectString("ar-SA", "Scroll left", "\u0627\u0644\u062A\u0645\u0631\u064A\u0631 \u0644\u0644\u064A\u0633\u0627\u0631");
41
- injectString("cs", "Scroll right", "P\u0159ej\xEDt doprava");
42
- injectString("da-DK", "Scroll right", "Rul til h\xF8jre");
43
- injectString("de", "Scroll right", "Nach rechts scrollen");
44
- injectString("en", "Scroll right", "Scroll right");
45
- injectString("es", "Scroll right", "Desplazarse a la derecha");
46
- injectString("fi-FI", "Scroll right", "Selaa oikealle");
47
- injectString("fr", "Scroll right", "D\xE9filer vers la droite");
48
- injectString("fr-FR", "Scroll right", "Faire d\xE9filer vers la droite");
49
- injectString("hu-HU", "Scroll right", "Lapozz jobbra.");
50
- injectString("id", "Scroll right", "Gulir ke kanan");
51
- injectString("it", "Scroll right", "Scorrere verso destra");
52
- injectString("ja", "Scroll right", "\u53F3\u306B\u30B9\u30AF\u30ED\u30FC\u30EB");
53
- injectString("ko-KR", "Scroll right", "\uC624\uB978\uCABD\uC73C\uB85C \uC2A4\uD06C\uB864");
54
- injectString("ms", "Scroll right", "Skrol ke kanan");
55
- injectString("nb-NO", "Scroll right", "Rull til h\xF8yre");
56
- injectString("nl", "Scroll right", "Blader naar rechts");
57
- injectString("pl", "Scroll right", "Przewi\u0144 w prawo");
58
- injectString("pt-BR", "Scroll right", "Rolar para a direita");
59
- injectString("pt-PT", "Scroll right", "Deslizar para a direita");
60
- injectString("sk-SK", "Scroll right", "Posu\u0148 doprava");
61
- injectString("sv", "Scroll right", "Bl\xE4ddra \xE5t h\xF6ger");
62
- injectString("th", "Scroll right", "\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E1B\u0E17\u0E32\u0E07\u0E02\u0E27\u0E32");
63
- injectString("tr", "Scroll right", "Sa\u011Fa Kayd\u0131r");
64
- injectString("zh-Hans", "Scroll right", "\u5411\u53F3\u6EDA\u52A8");
65
- injectString("zh-TW", "Scroll right", "\u5411\u53F3\u6372\u52D5");
66
- injectString("ro-RO", "Scroll right", "Derula\u021Bi la dreapta");
67
- injectString("ar-SA", "Scroll right", "\u0627\u0644\u062A\u0645\u0631\u064A\u0631 \u0644\u0644\u064A\u0645\u064A\u0646");
16
+ injectString("cs", "Scroll to start", "P\u0159ej\xEDt na za\u010D\xE1tek");
17
+ injectString("da-DK", "Scroll to start", "Rul til start");
18
+ injectString("de", "Scroll to start", "Zum Start scrollen");
19
+ injectString("en", "Scroll to start", "Scroll to start");
20
+ injectString("es", "Scroll to start", "Desplazarse al inicio");
21
+ injectString("fi-FI", "Scroll to start", "Vierit\xE4 alkuun");
22
+ injectString("fr", "Scroll to start", "D\xE9filement au d\xE9but");
23
+ injectString("fr-FR", "Scroll to start", "Faites d\xE9filer pour d\xE9marrer");
24
+ injectString("hu-HU", "Scroll to start", "G\xF6rget\xE9s az elej\xE9re");
25
+ injectString("id", "Scroll to start", "Gulirkan untuk memulai");
26
+ injectString("it", "Scroll to start", "Scorrere fino all'inizio");
27
+ injectString("ja", "Scroll to start", "\u4E00\u756A\u4E0A\u306B\u30B9\u30AF\u30ED\u30FC\u30EB");
28
+ injectString("ko-KR", "Scroll to start", "\uC2DC\uC791 \uC704\uCE58\uB85C \uC2A4\uD06C\uB864");
29
+ injectString("ms", "Scroll to start", "Tatal ke permulaan");
30
+ injectString("nb-NO", "Scroll to start", "Rull til start");
31
+ injectString("nl", "Scroll to start", "Scroll to start");
32
+ injectString("pl", "Scroll to start", "Przewi\u0144 do pocz\u0105tku");
33
+ injectString("pt-BR", "Scroll to start", "Scroll to start");
34
+ injectString("pt-PT", "Scroll to start", "Scroll to start");
35
+ injectString("sk-SK", "Scroll to start", "Posun\xFA\u0165 na za\u010Diatok");
36
+ injectString("sv", "Scroll to start", "Scroll to start");
37
+ injectString("th", "Scroll to start", "\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E08\u0E38\u0E14\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19");
38
+ injectString("tr", "Scroll to start", "Ba\u015Flang\u0131ca kayd\u0131r");
39
+ injectString("zh-Hans", "Scroll to start", "\u6EDA\u52A8\u81F3\u5F00\u5934");
40
+ injectString("zh-TW", "Scroll to start", "\u6372\u52D5\u81F3\u958B\u59CB\u8655");
41
+ injectString("ro-RO", "Scroll to start", "Derulare la \xEEnceput");
42
+ injectString("cs", "Scroll to end", "P\u0159ej\xEDt na konec");
43
+ injectString("da-DK", "Scroll to end", "Rul til slutning");
44
+ injectString("de", "Scroll to end", "Zum Ende scrollen");
45
+ injectString("en", "Scroll to end", "Scroll to end");
46
+ injectString("es", "Scroll to end", "Desplazarse al final");
47
+ injectString("fi-FI", "Scroll to end", "Vierit\xE4 loppuun");
48
+ injectString("fr", "Scroll to end", "D\xE9filement \xE0 la fin");
49
+ injectString("fr-FR", "Scroll to end", "Faites d\xE9filer jusqu\u2019\xE0 la fin");
50
+ injectString("hu-HU", "Scroll to end", "G\xF6rget\xE9s a v\xE9g\xE9re");
51
+ injectString("id", "Scroll to end", "Gulirkan ke akhir");
52
+ injectString("it", "Scroll to end", "Scorrere fino alla fine");
53
+ injectString("ja", "Scroll to end", "\u4E00\u756A\u4E0B\u307E\u3067\u30B9\u30AF\u30ED\u30FC\u30EB");
54
+ injectString("ko-KR", "Scroll to end", "\uB9C8\uC9C0\uB9C9 \uC704\uCE58\uB85C \uC2A4\uD06C\uB864");
55
+ injectString("ms", "Scroll to end", "Tatal ke penghujung");
56
+ injectString("nb-NO", "Scroll to end", "Rull til slutt");
57
+ injectString("nl", "Scroll to end", "Scroll to end");
58
+ injectString("pl", "Scroll to end", "Przewi\u0144 do ko\u0144ca");
59
+ injectString("pt-BR", "Scroll to end", "Scroll to end");
60
+ injectString("pt-PT", "Scroll to end", "Scroll to end");
61
+ injectString("sk-SK", "Scroll to end", "Posun\xFA\u0165 na koniec");
62
+ injectString("sv", "Scroll to end", "Scroll to end");
63
+ injectString("th", "Scroll to end", "\u0E40\u0E25\u0E37\u0E48\u0E2D\u0E19\u0E44\u0E1B\u0E17\u0E35\u0E48\u0E08\u0E38\u0E14\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14");
64
+ injectString("tr", "Scroll to end", "Sona kayd\u0131r");
65
+ injectString("zh-Hans", "Scroll to end", "\u6EDA\u52A8\u81F3\u672B\u5C3E");
66
+ injectString("zh-TW", "Scroll to end", "\u6372\u52D5\u81F3\u7D50\u5C3E\u8655");
67
+ injectString("ro-RO", "Scroll to end", "Derulare la sf\xE2r\u0219it");
68
68
  export const TabsDisplayName = "Tabs";
69
69
  const getScrollButtonType = element => {
70
70
  const scrollLeft = element.scrollLeft;
@@ -85,7 +85,8 @@ export const Tabs = ({
85
85
  className,
86
86
  tabs = [],
87
87
  activeTabId,
88
- onTabChange
88
+ onTabChange,
89
+ disabled
89
90
  }) => {
90
91
  const driveClassname = useDriveClassName("zen-tabs");
91
92
  const mobileClassname = useMobileClassName("zen-tabs");
@@ -93,6 +94,8 @@ export const Tabs = ({
93
94
  const {
94
95
  translate
95
96
  } = useLanguage();
97
+ const ScrollStartIcon = useDirectionalIcon(IconChevronLeft, IconChevronRight);
98
+ const ScrollEndIcon = useDirectionalIcon(IconChevronRight, IconChevronLeft);
96
99
  const driveClassNameScroller = useDriveClassName("zen-tabs__scroller");
97
100
  const mobileClassNameScroller = useMobileClassName("zen-tabs__scroller");
98
101
  const driveClassNameGradient = useDriveClassName("zen-tabs__gradient");
@@ -102,6 +105,9 @@ export const Tabs = ({
102
105
  const scrollRef = useRef(0);
103
106
  const focusableTabIdRef = useRef("");
104
107
  const handleButtonClick = e => {
108
+ if (disabled) {
109
+ return;
110
+ }
105
111
  const newState = e.currentTarget.id;
106
112
  focusableTabIdRef.current = newState;
107
113
  if (newState !== activeTabId) {
@@ -114,6 +120,9 @@ export const Tabs = ({
114
120
  return;
115
121
  }
116
122
  if (e.key === "Enter" || e.key === " ") {
123
+ if (disabled) {
124
+ return;
125
+ }
117
126
  const target = e.target;
118
127
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
119
128
  if (target && target.id && tabs.some(tab => tab.id === target.id)) {
@@ -134,7 +143,7 @@ export const Tabs = ({
134
143
  focusableTabIdRef.current = newActiveTabId;
135
144
  const focusableTab = (_b = scrollableRef.current) === null || _b === void 0 ? void 0 : _b.querySelector(`.zen-tab-item[id='${newActiveTabId}']`);
136
145
  focusableTab === null || focusableTab === void 0 ? void 0 : focusableTab.focus();
137
- }, [tabs, activeTabId, onTabChange]);
146
+ }, [tabs, activeTabId, onTabChange, disabled]);
138
147
  useEffect(() => {
139
148
  var _a;
140
149
  if (!scrollableRef.current) {
@@ -210,9 +219,9 @@ export const Tabs = ({
210
219
  children: [_jsx("div", {
211
220
  className: classNames(["zen-tabs__gradient", driveClassNameGradient || mobileClassNameGradient || "", "zen-tabs__gradient--left"])
212
221
  }), _jsx(TextIconButton, {
213
- title: translate("Scroll left"),
222
+ title: translate("Scroll to start"),
214
223
  className: classNames(["zen-tabs__scroller", driveClassNameScroller || mobileClassNameScroller || "", "zen-tabs__start"]),
215
- icon: IconChevronRight,
224
+ icon: ScrollStartIcon,
216
225
  type: "tertiary",
217
226
  iconPosition: ButtonIconPosition.Start,
218
227
  onClick: handleScrollButtonClick(scrollableRef.current, -scrollableStep),
@@ -236,16 +245,17 @@ export const Tabs = ({
236
245
  active: activeTabId === tab.id,
237
246
  ariaControl: `panel-${tab.id}`,
238
247
  handleButtonClick: handleButtonClick,
239
- dataAnalyticsId: tab.dataAnalyticsId
248
+ dataAnalyticsId: tab.dataAnalyticsId,
249
+ disabled: disabled
240
250
  }, tab.id))
241
251
  })
242
252
  }), scrollButtonType === "end" || scrollButtonType === "both" ? _jsxs(_Fragment, {
243
253
  children: [_jsx("div", {
244
254
  className: classNames(["zen-tabs__gradient", driveClassNameGradient || mobileClassNameGradient || "", "zen-tabs__gradient--right"])
245
255
  }), _jsx(TextIconButton, {
246
- title: translate("Scroll right"),
256
+ title: translate("Scroll to end"),
247
257
  className: classNames(["zen-tabs__scroller", driveClassNameScroller || mobileClassNameScroller || "", "zen-tabs__end"]),
248
- icon: IconChevronRight,
258
+ icon: ScrollEndIcon,
249
259
  type: "tertiary",
250
260
  onClick: handleScrollButtonClick(scrollableRef.current, scrollableStep),
251
261
  iconPosition: ButtonIconPosition.End
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- export const getLeftArrowElement = (el) => el.querySelector(".zen-tabs__scroller[aria-label='Scroll left']");
3
- export const getRightArrowElement = (el) => el.querySelector(".zen-tabs__scroller[aria-label='Scroll right']");
2
+ export const getLeftArrowElement = (el) => el.querySelector(".zen-tabs__scroller[aria-label='Scroll to start']");
3
+ export const getRightArrowElement = (el) => el.querySelector(".zen-tabs__scroller[aria-label='Scroll to end']");
4
4
  export const tabsData = [
5
5
  { id: "id1", name: "Tab Text 1", content: _jsx("div", { children: "Tab content1" }) },
6
6
  { id: "id2", name: "Tab Text 2", content: _jsx("div", { children: "Tab content2" }) },
@@ -0,0 +1 @@
1
+ export declare const mockAbsoluteAlignment: () => void;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as AbsoluteModule from "../absolute/absolute";
3
+ export const mockAbsoluteAlignment = () => {
4
+ beforeEach(() => {
5
+ jest.spyOn(AbsoluteModule, "Absolute").mockImplementation(({ alignment }) => (_jsx("div", { "data-testid": "absolute", "data-alignment": alignment })));
6
+ });
7
+ afterEach(() => {
8
+ jest.restoreAllMocks();
9
+ });
10
+ };
@@ -40,7 +40,7 @@ injectString("tr", "Time", "Zaman");
40
40
  injectString("zh-Hans", "Time", "\u65F6\u95F4");
41
41
  injectString("zh-TW", "Time", "\u6642\u9593");
42
42
  injectString("ro-RO", "Time", "Or\u0103");
43
- injectString("ar-SA", "Time", "\u0627\u0644\u0648\u0642\u062A");
43
+ injectString("ar", "Time", "\u0627\u0644\u0648\u0642\u062A");
44
44
  injectString("cs", "Select hour", "Vybrat hodiny");
45
45
  injectString("da-DK", "Select hour", "V\xE6lg time");
46
46
  injectString("de", "Select hour", "Stunde ausw\xE4hlen");
@@ -67,7 +67,7 @@ injectString("tr", "Select hour", "Saat se\xE7");
67
67
  injectString("zh-Hans", "Select hour", "\u9009\u62E9\u5C0F\u65F6");
68
68
  injectString("zh-TW", "Select hour", "\u9078\u53D6\u5C0F\u6642");
69
69
  injectString("ro-RO", "Select hour", "Selecta\u021Bi ora");
70
- injectString("ar-SA", "Select hour", "\u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u0633\u0627\u0639\u0629");
70
+ injectString("ar", "Select hour", "\u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u0633\u0627\u0639\u0629");
71
71
  injectString("cs", "Select minutes", "Select minutes");
72
72
  injectString("da-DK", "Select minutes", "V\xE6lg minutter");
73
73
  injectString("de", "Select minutes", "Select minutes");
@@ -94,7 +94,7 @@ injectString("tr", "Select minutes", "Select minutes");
94
94
  injectString("zh-Hans", "Select minutes", "Select minutes");
95
95
  injectString("zh-TW", "Select minutes", "\u9078\u53D6\u5206\u9418");
96
96
  injectString("ro-RO", "Select minutes", "Selecta\u021Bi minutele");
97
- injectString("ar-SA", "Select minutes", "\u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u062F\u0642\u0627\u0626\u0642");
97
+ injectString("ar", "Select minutes", "\u0627\u062E\u062A\u064A\u0627\u0631 \u0627\u0644\u062F\u0642\u0627\u0626\u0642");
98
98
  injectString("cs", "Apply changes", "Pou\u017E\xEDt zm\u011Bny");
99
99
  injectString("da-DK", "Apply changes", "Anvend \xE6ndringer");
100
100
  injectString("de", "Apply changes", "\xC4nderungen anwenden");
@@ -121,7 +121,7 @@ injectString("tr", "Apply changes", "De\u011Fi\u015Fiklikleri uygula");
121
121
  injectString("zh-Hans", "Apply changes", "\u5E94\u7528\u66F4\u6539");
122
122
  injectString("zh-TW", "Apply changes", "\u5957\u7528\u8B8A\u66F4");
123
123
  injectString("ro-RO", "Apply changes", "Aplica\u021Bi schimb\u0103rile");
124
- injectString("ar-SA", "Apply changes", "\u062A\u0637\u0628\u064A\u0642 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A");
124
+ injectString("ar", "Apply changes", "\u062A\u0637\u0628\u064A\u0642 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A");
125
125
  injectString("cs", "Apply", "Pou\u017E\xEDt");
126
126
  injectString("da-DK", "Apply", "Anvend");
127
127
  injectString("de", "Apply", "Anwenden");
@@ -148,7 +148,7 @@ injectString("tr", "Apply", "Uygula");
148
148
  injectString("zh-Hans", "Apply", "\u5E94\u7528");
149
149
  injectString("zh-TW", "Apply", "\u5957\u7528");
150
150
  injectString("ro-RO", "Apply", "Aplica\u021Bi");
151
- injectString("ar-SA", "Apply", "\u062A\u0637\u0628\u064A\u0642");
151
+ injectString("ar", "Apply", "\u062A\u0637\u0628\u064A\u0642");
152
152
  injectString("cs", "Cancel changes", "Zru\u0161it zm\u011Bny");
153
153
  injectString("da-DK", "Cancel changes", "Annuller \xE6ndringer");
154
154
  injectString("de", "Cancel changes", "\xC4nderungen abbrechen");
@@ -175,7 +175,7 @@ injectString("tr", "Cancel changes", "De\u011Fi\u015Fiklikleri iptal et");
175
175
  injectString("zh-Hans", "Cancel changes", "\u53D6\u6D88\u66F4\u6539");
176
176
  injectString("zh-TW", "Cancel changes", "\u53D6\u6D88\u8B8A\u66F4");
177
177
  injectString("ro-RO", "Cancel changes", "Anula\u021Bi schimb\u0103rile");
178
- injectString("ar-SA", "Cancel changes", "\u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A");
178
+ injectString("ar", "Cancel changes", "\u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A");
179
179
  injectString("cs", "Cancel", "Zru\u0161it");
180
180
  injectString("da-DK", "Cancel", "Annuller");
181
181
  injectString("de", "Cancel", "Abbrechen");
@@ -202,7 +202,7 @@ injectString("tr", "Cancel", "\u0130ptal");
202
202
  injectString("zh-Hans", "Cancel", "\u53D6\u6D88");
203
203
  injectString("zh-TW", "Cancel", "\u53D6\u6D88");
204
204
  injectString("ro-RO", "Cancel", "Anula\u021Bi");
205
- injectString("ar-SA", "Cancel", "\u0625\u0644\u063A\u0627\u0621");
205
+ injectString("ar", "Cancel", "\u0625\u0644\u063A\u0627\u0621");
206
206
  const hours = getSelectItemsForTimePicker(23);
207
207
  const minutes = getSelectItemsForTimePicker(59);
208
208
  export const TimePickerRaw = props => {
@@ -211,7 +211,8 @@ export const TimePickerRaw = props => {
211
211
  fullWidth,
212
212
  dataTimeId,
213
213
  isReadOnly,
214
- isError
214
+ isError,
215
+ id
215
216
  } = props;
216
217
  const ariaAttributes = getAriaAttributes(props);
217
218
  const {
@@ -267,7 +268,7 @@ export const TimePickerRaw = props => {
267
268
  }
268
269
  }, [hourValue, isOpen, minutesValue]);
269
270
  const triggerClassName = classNames(["zen-time-picker__trigger", fullWidth ? "zen-time-picker__trigger--full-width" : "", isError ? "zen-time-picker__trigger--error" : "", className || ""]);
270
- const shownValue = `${hourValue || "24"}:${minutesValue || "00"}`;
271
+ const shownValue = `${hourValue || "00"}:${minutesValue || "00"}`;
271
272
  if (isReadOnly) {
272
273
  return _jsx(ReviewTextControl, {
273
274
  value: shownValue
@@ -276,6 +277,7 @@ export const TimePickerRaw = props => {
276
277
  return _jsxs("div", {
277
278
  className: classes,
278
279
  children: [_jsx(FilterButton, Object.assign({
280
+ id: id,
279
281
  onBlur: onBlur,
280
282
  name: name,
281
283
  ref: innerTriggerRef,
@@ -1,6 +1,7 @@
1
1
  import { Exclusive } from "../commonHelpers/types/exclusive";
2
2
  import { IReactFormItemController, IZenComponentProps } from "../commonHelpers/zenComponent";
3
3
  export interface ITimePickerRawBase extends IZenComponentProps {
4
+ id?: string;
4
5
  fullWidth?: boolean;
5
6
  /**
6
7
  * @deprecated
@@ -39,7 +39,7 @@ injectString("tr", "Close", "Kapat");
39
39
  injectString("zh-Hans", "Close", "\u5173\u95ED");
40
40
  injectString("zh-TW", "Close", "\u95DC\u9589");
41
41
  injectString("ro-RO", "Close", "\xCEnchide");
42
- injectString("ar-SA", "Close", "\u0625\u063A\u0644\u0627\u0642");
42
+ injectString("ar", "Close", "\u0625\u063A\u0644\u0627\u0642");
43
43
  const typedIcons = {
44
44
  success: IconCheckRadio,
45
45
  info: IconInfoCircle
@@ -34,7 +34,7 @@ injectString("tr", "On", "A\xE7\u0131k");
34
34
  injectString("zh-Hans", "On", "\u5F00\u542F");
35
35
  injectString("zh-TW", "On", "\u958B\u555F");
36
36
  injectString("ro-RO", "On", "Pe");
37
- injectString("ar-SA", "On", "\u062A\u0634\u063A\u064A\u0644");
37
+ injectString("ar", "On", "\u062A\u0634\u063A\u064A\u0644");
38
38
  injectString("cs", "Off", "Vypnuto");
39
39
  injectString("da-DK", "Off", "Slukket");
40
40
  injectString("de", "Off", "Aus");
@@ -61,7 +61,7 @@ injectString("tr", "Off", "Kapal\u0131");
61
61
  injectString("zh-Hans", "Off", "\u5173\u95ED");
62
62
  injectString("zh-TW", "Off", "\u95DC\u9589");
63
63
  injectString("ro-RO", "Off", "Off");
64
- injectString("ar-SA", "Off", "\u0625\u064A\u0642\u0627\u0641");
64
+ injectString("ar", "Off", "\u0625\u064A\u0642\u0627\u0641");
65
65
  export const ToggleButtonRaw = props => {
66
66
  const {
67
67
  id,
@@ -102,6 +102,8 @@ export const ToggleButtonRaw = props => {
102
102
  }
103
103
  return _jsxs("div", {
104
104
  className: classNames(["zen-toggler", driveClassesToggler || "", className || ""]),
105
+ role: "group",
106
+ "aria-label": title,
105
107
  "data-analytics-id": dataAnalyticsId,
106
108
  children: [_jsx(TriStateCheckbox, {
107
109
  name: name,
@@ -110,14 +112,15 @@ export const ToggleButtonRaw = props => {
110
112
  onChange: onChangeHandler,
111
113
  checked: value,
112
114
  disabled: disabled,
113
- role: "switch"
115
+ role: "switch",
116
+ "aria-label": title
114
117
  }), _jsxs("label", {
115
118
  className: classNames(["zen-toggler__label", isReverted ? "zen-toggler__label--reverted" : ""]),
116
119
  htmlFor: checkBoxId,
117
120
  title: title,
118
- "aria-label": title,
119
121
  children: [_jsxs("div", {
120
122
  className: classNames(["zen-toggler-component", driveClassesComponent || ""]),
123
+ "aria-hidden": "true",
121
124
  children: [_jsx("div", {
122
125
  className: "zen-toggler-component__focus"
123
126
  }), _jsx("div", {
@@ -13,6 +13,7 @@ import { tooltipAlignments } from "../utils/positioningUtils/tooltipAlignments";
13
13
  import { IconClose } from "../icons/iconClose";
14
14
  import { Button } from "../button/button";
15
15
  import { useLanguage } from "../utils/localization/useLanguage";
16
+ import { useDirection } from "../utils/localization/useDirection";
16
17
  import { IconInfoCircle } from "../icons/iconInfoCircle";
17
18
  import { useDrive } from "../utils/theme/useDrive";
18
19
  import { Shield } from "../shield/shield";
@@ -43,7 +44,7 @@ injectString("tr", "Information", "Bilgi");
43
44
  injectString("zh-Hans", "Information", "\u4FE1\u606F");
44
45
  injectString("zh-TW", "Information", "\u8CC7\u8A0A");
45
46
  injectString("ro-RO", "Information", "Informa\u021Bii");
46
- injectString("ar-SA", "Information", "\u0645\u0639\u0644\u0648\u0645\u0627\u062A");
47
+ injectString("ar", "Information", "\u0645\u0639\u0644\u0648\u0645\u0627\u062A");
47
48
  injectString("cs", "Close", "Zav\u0159\xEDt");
48
49
  injectString("da-DK", "Close", "Luk");
49
50
  injectString("de", "Close", "Schlie\xDFen");
@@ -70,7 +71,7 @@ injectString("tr", "Close", "Kapat");
70
71
  injectString("zh-Hans", "Close", "\u5173\u95ED");
71
72
  injectString("zh-TW", "Close", "\u95DC\u9589");
72
73
  injectString("ro-RO", "Close", "\xCEnchide");
73
- injectString("ar-SA", "Close", "\u0625\u063A\u0644\u0627\u0642");
74
+ injectString("ar", "Close", "\u0625\u063A\u0644\u0627\u0642");
74
75
  const TOOLTIP_VISIBILITY_DELAY = 100;
75
76
  const arrowClasses = {
76
77
  top: "zen-tooltip__arrow--top",
@@ -175,6 +176,7 @@ export const Tooltip = ({
175
176
  const {
176
177
  translate
177
178
  } = useLanguage();
179
+ const direction = useDirection();
178
180
  const {
179
181
  dark
180
182
  } = useContext(themeContext);
@@ -242,7 +244,7 @@ export const Tooltip = ({
242
244
  }, triggerCloneProps))
243
245
  });
244
246
  // Initial arrow class - will be updated by calculatePosition
245
- const arrowClass = useMemo(() => arrowClasses[tooltipAlignment], [tooltipAlignment]);
247
+ const arrowClass = useMemo(() => arrowClasses[tooltipAlignment] || "", [tooltipAlignment]);
246
248
  const getOppositeAlignment = main => {
247
249
  // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
248
250
  switch (main) {
@@ -307,12 +309,18 @@ export const Tooltip = ({
307
309
  const [mainAlignment, subAlignment] = preferredAlignment.split("-");
308
310
  const oppositeMain = getOppositeAlignment(mainAlignment);
309
311
  const preferredFn = tooltipAlignments[preferredAlignment];
312
+ if (!preferredFn) {
313
+ return preferredAlignment;
314
+ }
310
315
  const rawPreferredPos = preferredFn(triggerRect, popupRect, parentRect, TOOLTIP_ARROW_HEIGHT + GAP, TOOLTIP_ARROW_HEIGHT + GAP);
311
316
  if (checkNaturalFit(rawPreferredPos, popupRect)) {
312
317
  return preferredAlignment;
313
318
  }
314
319
  const fallbackAlignment = subAlignment ? `${oppositeMain}-${subAlignment}` : oppositeMain;
315
320
  const fallbackFn = tooltipAlignments[fallbackAlignment];
321
+ if (!fallbackFn) {
322
+ return preferredAlignment;
323
+ }
316
324
  const rawFallbackPos = fallbackFn(triggerRect, popupRect, parentRect, TOOLTIP_ARROW_HEIGHT + GAP, TOOLTIP_ARROW_HEIGHT + GAP);
317
325
  if (checkNaturalFit(rawFallbackPos, popupRect)) {
318
326
  return fallbackAlignment;
@@ -369,7 +377,7 @@ export const Tooltip = ({
369
377
  }) : null, container, tooltipId);
370
378
  const calculatePosition = useCallback(() => {
371
379
  const eAlignment = getEffectiveAlignment(tooltipAlignmentRef.current);
372
- calculatePos(triggerRef, tooltipRef, TOOLTIP_ARROW_HEIGHT + GAP, TOOLTIP_ARROW_HEIGHT + GAP, false, eAlignment, tooltipAlignments, undefined, isMobile);
380
+ calculatePos(triggerRef, tooltipRef, TOOLTIP_ARROW_HEIGHT + GAP, TOOLTIP_ARROW_HEIGHT + GAP, false, eAlignment, tooltipAlignments, undefined, isMobile, direction);
373
381
  calculateArrowPosition(triggerRef, tooltipRef, arrowRef, eAlignment);
374
382
  // Update arrow class directly in DOM to avoid triggering re-renders
375
383
  if (arrowRef.current) {
@@ -379,7 +387,7 @@ export const Tooltip = ({
379
387
  arrowRef.current.classList.add(newArrowClass.replace("zen-tooltip__arrow ", ""));
380
388
  }
381
389
  }
382
- }, [TOOLTIP_ARROW_HEIGHT, triggerRef, tooltipRef, arrowRef, getEffectiveAlignment, isMobile]);
390
+ }, [TOOLTIP_ARROW_HEIGHT, triggerRef, tooltipRef, arrowRef, getEffectiveAlignment, isMobile, direction]);
383
391
  useResize(calculatePosition, isTooltipVisible);
384
392
  useLayoutEffect(calculatePosition, [isTooltipVisible, calculatePosition]);
385
393
  useEffect(() => {