@geotab/zenith 3.14.1 → 3.15.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 (523) hide show
  1. package/README.md +28 -2
  2. package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +17 -7
  3. package/dist/alert/banner.d.ts +2 -3
  4. package/dist/alert/hooks/useAlertState.d.ts +0 -1
  5. package/dist/banner/bannerMultipLine.d.ts +0 -1
  6. package/dist/banner/bannerSingleLine.d.ts +0 -1
  7. package/dist/banner/utils/isSummaryErrorElement.d.ts +1 -2
  8. package/dist/calendar/dateUtils.js +2 -2
  9. package/dist/card/card.js +17 -7
  10. package/dist/card/components/content.d.ts +0 -1
  11. package/dist/cardContainer/helpers/getSizeClass.js +1 -2
  12. package/dist/chart/accessibleChart/accessibleChart.js +1 -1
  13. package/dist/chart/accessibleChart/accessibleChartNarrative.d.ts +1 -1
  14. package/dist/chart/accessibleChart/accessibleChartNarrative.js +11 -5
  15. package/dist/chart/accessibleChart/generatePieNarrative.d.ts +7 -0
  16. package/dist/chart/accessibleChart/generatePieNarrative.js +179 -0
  17. package/dist/chart/accessibleChart/interfaces.d.ts +1 -0
  18. package/dist/chart/barChart/getDefaultOptions.js +5 -6
  19. package/dist/chart/barChart.js +152 -50
  20. package/dist/chart/interfaces.d.ts +0 -1
  21. package/dist/chart/lineChart/getDefaultOptions.js +5 -6
  22. package/dist/chart/lineChart/useChartTicks.d.ts +0 -1
  23. package/dist/chart/lineChart/useSummary.d.ts +7 -8
  24. package/dist/chart/lineChart.js +167 -59
  25. package/dist/chart/pieChart.js +174 -76
  26. package/dist/chart/plugins/linePlugin/getInterpolatedValue.js +1 -2
  27. package/dist/chart/plugins/linePlugin/linePlugin.js +29 -7
  28. package/dist/chart/utils/convertDates.d.ts +1 -1
  29. package/dist/chart/utils/getFormattedLabel.js +1 -2
  30. package/dist/chart/utils/getNiceAxisRange.d.ts +21 -0
  31. package/dist/chart/utils/getNiceAxisRange.js +76 -0
  32. package/dist/chart/utils/getRange.js +2 -2
  33. package/dist/chart/utils/getYAxisMeta.d.ts +2 -5
  34. package/dist/chart/utils/getYAxisMeta.js +17 -2
  35. package/dist/chart/utils/getYAxisTickCount.d.ts +15 -0
  36. package/dist/chart/utils/getYAxisTickCount.js +19 -0
  37. package/dist/chart/utils/resampleArrayEvenly.js +1 -2
  38. package/dist/checkbox/checkbox.js +17 -7
  39. package/dist/checkboxListWithAction/checkboxListWithAction.d.ts +0 -1
  40. package/dist/chip/chip.d.ts +0 -1
  41. package/dist/chip/utils/useChip.d.ts +0 -1
  42. package/dist/commonHelpers/HOC/reducerLogger/reducerLogger.d.ts +1 -1
  43. package/dist/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.d.ts +0 -1
  44. package/dist/commonHelpers/arrowNavigation/hooks/useHoldOnScroll.d.ts +0 -1
  45. package/dist/commonHelpers/generateId.js +1 -2
  46. package/dist/commonHelpers/hooks/breakpoints.d.ts +4 -0
  47. package/dist/commonHelpers/hooks/breakpoints.js +7 -0
  48. package/dist/commonHelpers/hooks/fetch.reducer.d.ts +1 -1
  49. package/dist/commonHelpers/hooks/fetch.reducer.js +1 -2
  50. package/dist/commonHelpers/hooks/useDebouncedMemo.d.ts +0 -1
  51. package/dist/commonHelpers/hooks/useDebouncedMemo.js +1 -2
  52. package/dist/commonHelpers/hooks/useDeviceType.js +2 -2
  53. package/dist/commonHelpers/hooks/useEscape.d.ts +1 -1
  54. package/dist/commonHelpers/hooks/useGridSize.d.ts +0 -1
  55. package/dist/commonHelpers/hooks/useMobileOrTablet.d.ts +1 -0
  56. package/dist/commonHelpers/hooks/useMobileOrTablet.js +21 -0
  57. package/dist/commonHelpers/hooks/usePillSize.d.ts +0 -1
  58. package/dist/{gridLayout → commonHelpers}/hooks/useTablet.js +8 -11
  59. package/dist/commonHelpers/utils.js +3 -3
  60. package/dist/commonStyles/colors/colors.less +1 -0
  61. package/dist/dataFeed/dataFeed.d.ts +1 -1
  62. package/dist/dataFeed/dataFeed.js +2 -2
  63. package/dist/dataFeed/dataFeedCell/dataFeedCell.d.ts +3 -1
  64. package/dist/dataFeed/dataFeedColumnsItems.d.ts +2 -2
  65. package/dist/dataGrid/cell/cell.d.ts +3 -1
  66. package/dist/dataGrid/columns/actionsColumn/actionsButton.js +1 -2
  67. package/dist/dataGrid/columns/actionsColumn/actionsColumn.d.ts +3 -3
  68. package/dist/dataGrid/dataGrid.d.ts +13 -1
  69. package/dist/dataGrid/dataGrid.js +48 -3
  70. package/dist/dataGrid/emptySearchList/emptySearchList.d.ts +0 -1
  71. package/dist/dataGrid/row/row.d.ts +3 -1
  72. package/dist/dataGrid/withActions/withActions.d.ts +1 -1
  73. package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.js +1 -2
  74. package/dist/dataGrid/withFlexibleColumns/withFlexibleColumns.d.ts +1 -1
  75. package/dist/dataGrid/withLoading/withLoading.d.ts +1 -1
  76. package/dist/dataGrid/withSelectableRows/withLimitedSelectableRows.d.ts +1 -1
  77. package/dist/dataGrid/withSelectableRows/withSelectableRows.d.ts +1 -1
  78. package/dist/dataGrid/withSortableColumns/withSortableColumns.d.ts +1 -1
  79. package/dist/dateInputInner/dateInputInnerReducer.js +2 -2
  80. package/dist/dateRangeRaw/utils/areMapsEqual.js +1 -2
  81. package/dist/dialog/dialog.d.ts +0 -1
  82. package/dist/dropdown/dropdown.js +1 -1
  83. package/dist/dropdown/useDropdownState.d.ts +0 -1
  84. package/dist/dropdownRaw/dropdownHelper.js +2 -2
  85. package/dist/dropdownRaw/dropdownList.d.ts +3 -2
  86. package/dist/dropdownRaw/dropdownList.js +31 -49
  87. package/dist/dropdownRaw/dropdownRaw.js +34 -13
  88. package/dist/dropdownRaw/stateReducer/stateReducer.d.ts +4 -1
  89. package/dist/dropdownRaw/stateReducer/stateReducer.js +33 -23
  90. package/dist/dropdownRaw/stateReducer/stateReducerHelper.d.ts +1 -2
  91. package/dist/dropdownRaw/stateReducer/stateReducerHelper.js +8 -13
  92. package/dist/dropdownRaw/types.d.ts +20 -0
  93. package/dist/feedbackContainer/feedbackContainer.js +17 -7
  94. package/dist/feedbackContainer/hooks/useFeedbackAlert.d.ts +0 -1
  95. package/dist/feedbackContainer/hooks/useFeedbackToast.d.ts +0 -1
  96. package/dist/filters/components/filtersDropdown.js +2 -2
  97. package/dist/filters/components/filtersItem.d.ts +2 -2
  98. package/dist/filters/components/filtersSearchList.d.ts +0 -1
  99. package/dist/filters/components/filtersSelect.d.ts +0 -1
  100. package/dist/filters/components/filtersSelectCompact.d.ts +0 -1
  101. package/dist/filters/components/filtersSelectListItem.d.ts +0 -1
  102. package/dist/filters/components/filtersSelectUnfoldingPill.d.ts +0 -1
  103. package/dist/filters/components/filtersSidePanelItem.js +17 -7
  104. package/dist/filters/filtersHelper.d.ts +1 -1
  105. package/dist/filters/filtersHelper.js +5 -5
  106. package/dist/filters/filtersHooks.d.ts +0 -1
  107. package/dist/filtersBar/components/filtersBarDropdownWithCheckbox/filtersBarDropdownWithCheckbox.js +1 -1
  108. package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +2 -2
  109. package/dist/filtersBar/filtersBar.js +2 -2
  110. package/dist/filtersBar/filtersBarActions/filtersBarActions.d.ts +0 -1
  111. package/dist/filtersBar/filtersBarInterfaces.d.ts +0 -1
  112. package/dist/filtersBar/filtersBarReducer.js +2 -2
  113. package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelDropdownWithCheckbox/filtersBarSidePanelDropdownWithCheckbox.d.ts +4 -10
  114. package/dist/filtersBar/filtersBarSidePanel/sidePanelReducer.js +2 -2
  115. package/dist/filtersBar/utils/getNumberOfChangedFilters.js +1 -2
  116. package/dist/footerButtons/footerButtons.js +17 -7
  117. package/dist/formField/components/formFieldAdditionalInfo.d.ts +0 -1
  118. package/dist/formField/components/formFieldCounter.d.ts +0 -1
  119. package/dist/formField/components/formFieldLoading.d.ts +0 -1
  120. package/dist/formField/components/formFieldSkeleton.d.ts +0 -1
  121. package/dist/formField/components/formFieldWithLabel.d.ts +0 -1
  122. package/dist/formField/components/formFieldWithoutLabel.d.ts +0 -1
  123. package/dist/formField/formField.d.ts +1 -1
  124. package/dist/formField/hooks/useBanner.d.ts +0 -1
  125. package/dist/formField/hooks/useDisabled.d.ts +1 -1
  126. package/dist/formGroup/components/customRow/customRow.d.ts +0 -1
  127. package/dist/formGroup/formGroup.js +17 -7
  128. package/dist/formGroup/hooks/listHooks/useStateToElements.d.ts +0 -1
  129. package/dist/formGroup/hooks/listHooks/useStateToElements.js +1 -1
  130. package/dist/formGroup/utils/formGroupProvider.d.ts +0 -1
  131. package/dist/formGroup/utils/isFormLabel.d.ts +1 -1
  132. package/dist/formGroupItem/formGroupItem.d.ts +0 -1
  133. package/dist/formLayout/components/layoutColumn/layoutColum.d.ts +0 -1
  134. package/dist/formLayout/hooks/useFormButtons.d.ts +1 -1
  135. package/dist/formLayout/types.d.ts +0 -1
  136. package/dist/formLayout/utils/attachHeadings.d.ts +1 -1
  137. package/dist/formLayout/utils/attachSeparators.d.ts +0 -1
  138. package/dist/formLayout/utils/getChildrenWithCustomColumns.d.ts +1 -2
  139. package/dist/formLayout/utils/getChildrenWithCustomColumns.js +2 -2
  140. package/dist/formLayout/utils/getFieldLabel.js +5 -5
  141. package/dist/formSection/components/actions.d.ts +0 -1
  142. package/dist/formSection/components/additional.d.ts +0 -1
  143. package/dist/formSection/utils/isFormSection.d.ts +2 -4
  144. package/dist/formStepper/components/formStepRaw.d.ts +0 -1
  145. package/dist/formStepper/formStepper.d.ts +0 -1
  146. package/dist/formStepper/formStepper.js +5 -5
  147. package/dist/formStepperButtons/formStepperButtons.js +3 -3
  148. package/dist/gridLayout/hooks/useStretch.js +1 -1
  149. package/dist/gridLayout/utils/convertStateToClasses.js +1 -2
  150. package/dist/gridLayout/utils/gridLayoutProvider.d.ts +0 -1
  151. package/dist/gridLayout/utils/gridLayoutProvider.js +1 -1
  152. package/dist/gridLayout/utils/isGridItem.d.ts +1 -1
  153. package/dist/groupsFilter/groupsHelper.d.ts +5 -5
  154. package/dist/groupsFilterRaw/groupsFilterHelper.js +16 -16
  155. package/dist/groupsFilterRaw/groupsHelper.d.ts +1 -1
  156. package/dist/groupsFilterRaw/groupsHelper.js +4 -4
  157. package/dist/groupsFilterRaw/stateReducer/stateReducer.d.ts +1 -1
  158. package/dist/groupsFilterRaw/stateReducer/stateReducer.js +2 -2
  159. package/dist/groupsFilterRaw/testData.js +3 -4
  160. package/dist/groupsFilterRaw/uiStateReducer/uiStateReducer.js +2 -2
  161. package/dist/header/components/collapsedItemsControl/utils/handleCustomMenuWrapper.js +5 -0
  162. package/dist/header/components/mobileFilterControl/mobileFilterControl.d.ts +0 -1
  163. package/dist/header/components/mobileSearchControl/mobileSearchControl.d.ts +0 -1
  164. package/dist/header/header.js +17 -7
  165. package/dist/header/headerButton.d.ts +0 -1
  166. package/dist/header/headerContext.d.ts +1 -2
  167. package/dist/header/headerHelpers.d.ts +5 -5
  168. package/dist/header/headerHelpers.js +17 -7
  169. package/dist/header/hooks/useNonFittingElements.d.ts +3 -4
  170. package/dist/headerTitle/headerTitle.d.ts +0 -1
  171. package/dist/icons/iconAce.d.ts +3 -0
  172. package/dist/icons/iconAce.js +12 -0
  173. package/dist/icons/iconBreak.d.ts +3 -0
  174. package/dist/icons/iconBreak.js +12 -0
  175. package/dist/icons/iconChevronStepper.d.ts +3 -0
  176. package/dist/icons/iconChevronStepper.js +12 -0
  177. package/dist/icons/iconPotato.d.ts +3 -0
  178. package/dist/icons/iconPotato.js +12 -0
  179. package/dist/icons/iconToggleLarge.d.ts +3 -0
  180. package/dist/icons/iconToggleLarge.js +12 -0
  181. package/dist/icons/iconToggleSmall.d.ts +3 -0
  182. package/dist/icons/iconToggleSmall.js +12 -0
  183. package/dist/icons/iconTrendNeutral.d.ts +3 -0
  184. package/dist/icons/iconTrendNeutral.js +12 -0
  185. package/dist/icons/iconTruck.d.ts +3 -0
  186. package/dist/icons/iconTruck.js +12 -0
  187. package/dist/index.css +219 -169
  188. package/dist/index.d.ts +8 -0
  189. package/dist/index.js +30 -13
  190. package/dist/layout/layout.d.ts +2 -1
  191. package/dist/layout/layout.js +17 -7
  192. package/dist/layout/layoutBanner.d.ts +0 -1
  193. package/dist/lineChart/lineChart.d.ts +1 -0
  194. package/dist/lineChart/lineChart.js +135 -70
  195. package/dist/lineChartMini/lineChartMini.d.ts +1 -0
  196. package/dist/lineChartMini/lineChartMini.js +141 -73
  197. package/dist/list/itemData/itemData.d.ts +2 -1
  198. package/dist/list/itemData/itemDataInternal.d.ts +2 -1
  199. package/dist/list/list.d.ts +0 -1
  200. package/dist/list/utils/changeOrder.js +1 -2
  201. package/dist/list/utils/isDataListitem.d.ts +1 -1
  202. package/dist/list/viewportProvider/viewportContext.d.ts +0 -1
  203. package/dist/menu/components/controlledMenuList/controlledMenuList.d.ts +2 -4
  204. package/dist/menu/components/controlledMenuList/controlledMenuList.js +3 -1
  205. package/dist/menu/components/createControlledMenuList.js +1 -2
  206. package/dist/menu/components/createMenuItem.js +1 -2
  207. package/dist/menu/contexts/usePathContext.js +1 -2
  208. package/dist/menu/utils/buildMenuContent.js +1 -2
  209. package/dist/menu/utils/findPrevFocusable.js +1 -2
  210. package/dist/menu/utils/useDisplayContent.d.ts +21 -0
  211. package/dist/menu/utils/useDisplayContent.js +35 -0
  212. package/dist/menu/utils/useMenuItemKeyboardNav.js +1 -2
  213. package/dist/miniTabs/miniTabsHelper.js +17 -7
  214. package/dist/mobileSheet/components/mobileSheetTitle.d.ts +0 -1
  215. package/dist/modal/modal.js +17 -7
  216. package/dist/nav/context/nav.context.d.ts +0 -1
  217. package/dist/nav/navFooter/navEditFooter/navEditFooter.d.ts +0 -1
  218. package/dist/nav/navFooter/navFooter.d.ts +1 -1
  219. package/dist/nav/navFooter/navFooterAction/navFooterAction.d.ts +2 -1
  220. package/dist/nav/navFooter/navFooterAction/navFooterAction.js +3 -1
  221. package/dist/nav/navItem/navItem.d.ts +2 -0
  222. package/dist/nav/navItem/navItem.js +56 -47
  223. package/dist/nav/navItem/navItemContent.d.ts +19 -0
  224. package/dist/nav/navItem/navItemContent.js +21 -0
  225. package/dist/nav/navItem/navItemType.d.ts +7 -0
  226. package/dist/nav/navItem/navItemType.js +9 -0
  227. package/dist/nav/utils/navUtils.d.ts +2 -4
  228. package/dist/nav/utils/navUtils.js +2 -2
  229. package/dist/overview/overview.d.ts +0 -1
  230. package/dist/pageHeader/pageHeader.d.ts +1 -1
  231. package/dist/pageHeader/pageHeaderButton.d.ts +0 -1
  232. package/dist/pageHeader/pageHeaderHelpers.d.ts +1 -1
  233. package/dist/pageHeader/pageHeaderMenu.d.ts +0 -1
  234. package/dist/pagination/paginationArrow.d.ts +0 -1
  235. package/dist/pill/interfaces/pill.interface.d.ts +0 -1
  236. package/dist/pillBox/components/pillBoxItem.d.ts +1 -2
  237. package/dist/popup/popup.js +17 -7
  238. package/dist/progressIndicator/progressIndicator.d.ts +39 -0
  239. package/dist/progressIndicator/progressIndicator.js +30 -0
  240. package/dist/progressIndicator/progressIndicatorUtils.d.ts +12 -0
  241. package/dist/progressIndicator/progressIndicatorUtils.js +30 -0
  242. package/dist/radioGroupRaw/radioGroupRaw.js +17 -7
  243. package/dist/radioGroupRaw/types.d.ts +0 -1
  244. package/dist/react-chartjs/dateFns/dateFns.js +10 -11
  245. package/dist/react-chartjs/utils.d.ts +3 -3
  246. package/dist/react-chartjs/utils.js +8 -9
  247. package/dist/searchInputRaw/searchInputRaw.js +17 -7
  248. package/dist/searchInputRaw/types.d.ts +0 -1
  249. package/dist/selectField/selectField.d.ts +2 -3
  250. package/dist/selectList/selectList.d.ts +0 -1
  251. package/dist/selectRaw/hooks/usePopupWidth.js +17 -7
  252. package/dist/selectRaw/selectRaw.js +20 -7
  253. package/dist/sidePanel/sidePanelCell/sidePanelCell.d.ts +0 -1
  254. package/dist/summaries/utils/splitIntoPairs.js +1 -2
  255. package/dist/summaryTile/summaryTile.js +17 -7
  256. package/dist/summaryTile/summaryTileTrigger.js +17 -7
  257. package/dist/table/actions/actionsMenu.d.ts +0 -1
  258. package/dist/table/children/useTableChildren.d.ts +7 -7
  259. package/dist/table/detailPanel/interfaces.d.ts +0 -1
  260. package/dist/table/flexible/columnsList.js +1 -2
  261. package/dist/table/loading/useLoading.d.ts +10 -10
  262. package/dist/table/nested/nestedData.d.ts +3 -1
  263. package/dist/table/nested/useNestedRows.d.ts +2 -2
  264. package/dist/table/selectable/selectableHeader.d.ts +2 -1
  265. package/dist/table/selectable/selectableHeader.js +4 -3
  266. package/dist/table/selectable/useSelectableRows.d.ts +1 -1
  267. package/dist/table/selectable/useSelectableRows.js +7 -4
  268. package/dist/table/table.d.ts +16 -1
  269. package/dist/table/table.js +101 -5
  270. package/dist/tag/tag.d.ts +19 -0
  271. package/dist/tag/tag.js +14 -0
  272. package/dist/textIconButton/textIconButton.js +17 -7
  273. package/dist/toastRaw/toastRaw.d.ts +1 -1
  274. package/dist/toastRaw/toastRaw.js +3 -1
  275. package/dist/toggleButtonRaw/toggleButtonRaw.js +17 -7
  276. package/dist/toggleButtonRaw/types.d.ts +0 -1
  277. package/dist/tooltip/tooltip.js +17 -7
  278. package/dist/tooltipInfo/tooltipInfo.d.ts +0 -1
  279. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  280. package/dist/utils/compareElementsUtils/isArraysEqualDeeply.js +1 -2
  281. package/dist/utils/compareElementsUtils/isElementsEqual.js +2 -2
  282. package/dist/utils/escapeHtml.js +1 -2
  283. package/dist/utils/localization/directionContext.d.ts +0 -1
  284. package/dist/utils/localization/languageContext.d.ts +0 -1
  285. package/dist/utils/localization/translations/en.json +12 -1
  286. package/dist/utils/theme/themeContext.d.ts +0 -1
  287. package/dist/utils/topWindow/topWindowContext.d.ts +0 -1
  288. package/dist/utils/useFadeComponent.d.ts +0 -1
  289. package/dist/utils/userFormat/userFormatContext.d.ts +0 -1
  290. package/dist/waiting/waiting.d.ts +2 -1
  291. package/dist/waiting/waiting.js +23 -6
  292. package/esm/alert/banner.d.ts +2 -3
  293. package/esm/alert/hooks/useAlertState.d.ts +0 -1
  294. package/esm/banner/bannerMultipLine.d.ts +0 -1
  295. package/esm/banner/bannerSingleLine.d.ts +0 -1
  296. package/esm/banner/utils/isSummaryErrorElement.d.ts +1 -2
  297. package/esm/card/components/content.d.ts +0 -1
  298. package/esm/chart/accessibleChart/accessibleChart.js +1 -1
  299. package/esm/chart/accessibleChart/accessibleChartNarrative.d.ts +1 -1
  300. package/esm/chart/accessibleChart/accessibleChartNarrative.js +8 -2
  301. package/esm/chart/accessibleChart/generatePieNarrative.d.ts +7 -0
  302. package/esm/chart/accessibleChart/generatePieNarrative.js +167 -0
  303. package/esm/chart/accessibleChart/interfaces.d.ts +1 -0
  304. package/esm/chart/barChart/getDefaultOptions.js +5 -6
  305. package/esm/chart/barChart.js +147 -50
  306. package/esm/chart/interfaces.d.ts +0 -1
  307. package/esm/chart/lineChart/getDefaultOptions.js +5 -6
  308. package/esm/chart/lineChart/useChartTicks.d.ts +0 -1
  309. package/esm/chart/lineChart/useSummary.d.ts +7 -8
  310. package/esm/chart/lineChart.js +162 -59
  311. package/esm/chart/pieChart.js +169 -76
  312. package/esm/chart/plugins/linePlugin/linePlugin.js +29 -7
  313. package/esm/chart/utils/convertDates.d.ts +1 -1
  314. package/esm/chart/utils/getNiceAxisRange.d.ts +21 -0
  315. package/esm/chart/utils/getNiceAxisRange.js +72 -0
  316. package/esm/chart/utils/getRange.js +2 -2
  317. package/esm/chart/utils/getYAxisMeta.d.ts +2 -5
  318. package/esm/chart/utils/getYAxisMeta.js +17 -2
  319. package/esm/chart/utils/getYAxisTickCount.d.ts +15 -0
  320. package/esm/chart/utils/getYAxisTickCount.js +15 -0
  321. package/esm/checkboxListWithAction/checkboxListWithAction.d.ts +0 -1
  322. package/esm/chip/chip.d.ts +0 -1
  323. package/esm/chip/utils/useChip.d.ts +0 -1
  324. package/esm/commonHelpers/HOC/reducerLogger/reducerLogger.d.ts +1 -1
  325. package/esm/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.d.ts +0 -1
  326. package/esm/commonHelpers/arrowNavigation/hooks/useHoldOnScroll.d.ts +0 -1
  327. package/esm/commonHelpers/hooks/breakpoints.d.ts +4 -0
  328. package/esm/commonHelpers/hooks/breakpoints.js +4 -0
  329. package/esm/commonHelpers/hooks/fetch.reducer.d.ts +1 -1
  330. package/esm/commonHelpers/hooks/useDebouncedMemo.d.ts +0 -1
  331. package/esm/commonHelpers/hooks/useDeviceType.js +2 -2
  332. package/esm/commonHelpers/hooks/useEscape.d.ts +1 -1
  333. package/esm/commonHelpers/hooks/useGridSize.d.ts +0 -1
  334. package/esm/commonHelpers/hooks/useMobileOrTablet.d.ts +1 -0
  335. package/esm/commonHelpers/hooks/useMobileOrTablet.js +17 -0
  336. package/esm/commonHelpers/hooks/usePillSize.d.ts +0 -1
  337. package/esm/commonHelpers/hooks/useTablet.js +17 -0
  338. package/esm/dataFeed/dataFeed.d.ts +1 -1
  339. package/esm/dataFeed/dataFeed.js +2 -2
  340. package/esm/dataFeed/dataFeedCell/dataFeedCell.d.ts +3 -1
  341. package/esm/dataFeed/dataFeedColumnsItems.d.ts +2 -2
  342. package/esm/dataGrid/cell/cell.d.ts +3 -1
  343. package/esm/dataGrid/columns/actionsColumn/actionsColumn.d.ts +3 -3
  344. package/esm/dataGrid/dataGrid.d.ts +13 -1
  345. package/esm/dataGrid/dataGrid.js +48 -3
  346. package/esm/dataGrid/emptySearchList/emptySearchList.d.ts +0 -1
  347. package/esm/dataGrid/row/row.d.ts +3 -1
  348. package/esm/dataGrid/withActions/withActions.d.ts +1 -1
  349. package/esm/dataGrid/withFlexibleColumns/withFlexibleColumns.d.ts +1 -1
  350. package/esm/dataGrid/withLoading/withLoading.d.ts +1 -1
  351. package/esm/dataGrid/withSelectableRows/withLimitedSelectableRows.d.ts +1 -1
  352. package/esm/dataGrid/withSelectableRows/withSelectableRows.d.ts +1 -1
  353. package/esm/dataGrid/withSortableColumns/withSortableColumns.d.ts +1 -1
  354. package/esm/dialog/dialog.d.ts +0 -1
  355. package/esm/dropdown/dropdown.js +1 -1
  356. package/esm/dropdown/useDropdownState.d.ts +0 -1
  357. package/esm/dropdownRaw/dropdownList.d.ts +3 -2
  358. package/esm/dropdownRaw/dropdownList.js +14 -42
  359. package/esm/dropdownRaw/dropdownRaw.js +35 -14
  360. package/esm/dropdownRaw/stateReducer/stateReducer.d.ts +4 -1
  361. package/esm/dropdownRaw/stateReducer/stateReducer.js +32 -22
  362. package/esm/dropdownRaw/stateReducer/stateReducerHelper.d.ts +1 -2
  363. package/esm/dropdownRaw/stateReducer/stateReducerHelper.js +5 -10
  364. package/esm/dropdownRaw/types.d.ts +20 -0
  365. package/esm/feedbackContainer/hooks/useFeedbackAlert.d.ts +0 -1
  366. package/esm/feedbackContainer/hooks/useFeedbackToast.d.ts +0 -1
  367. package/esm/filters/components/filtersItem.d.ts +2 -2
  368. package/esm/filters/components/filtersSearchList.d.ts +0 -1
  369. package/esm/filters/components/filtersSelect.d.ts +0 -1
  370. package/esm/filters/components/filtersSelectCompact.d.ts +0 -1
  371. package/esm/filters/components/filtersSelectListItem.d.ts +0 -1
  372. package/esm/filters/components/filtersSelectUnfoldingPill.d.ts +0 -1
  373. package/esm/filters/filtersHelper.d.ts +1 -1
  374. package/esm/filters/filtersHooks.d.ts +0 -1
  375. package/esm/filtersBar/components/filtersBarDropdownWithCheckbox/filtersBarDropdownWithCheckbox.js +1 -1
  376. package/esm/filtersBar/filtersBar.js +2 -2
  377. package/esm/filtersBar/filtersBarActions/filtersBarActions.d.ts +0 -1
  378. package/esm/filtersBar/filtersBarInterfaces.d.ts +0 -1
  379. package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelDropdownWithCheckbox/filtersBarSidePanelDropdownWithCheckbox.d.ts +4 -10
  380. package/esm/formField/components/formFieldAdditionalInfo.d.ts +0 -1
  381. package/esm/formField/components/formFieldCounter.d.ts +0 -1
  382. package/esm/formField/components/formFieldLoading.d.ts +0 -1
  383. package/esm/formField/components/formFieldSkeleton.d.ts +0 -1
  384. package/esm/formField/components/formFieldWithLabel.d.ts +0 -1
  385. package/esm/formField/components/formFieldWithoutLabel.d.ts +0 -1
  386. package/esm/formField/formField.d.ts +1 -1
  387. package/esm/formField/hooks/useBanner.d.ts +0 -1
  388. package/esm/formField/hooks/useDisabled.d.ts +1 -1
  389. package/esm/formGroup/components/customRow/customRow.d.ts +0 -1
  390. package/esm/formGroup/hooks/listHooks/useStateToElements.d.ts +0 -1
  391. package/esm/formGroup/hooks/listHooks/useStateToElements.js +1 -1
  392. package/esm/formGroup/utils/formGroupProvider.d.ts +0 -1
  393. package/esm/formGroup/utils/isFormLabel.d.ts +1 -1
  394. package/esm/formGroupItem/formGroupItem.d.ts +0 -1
  395. package/esm/formLayout/components/layoutColumn/layoutColum.d.ts +0 -1
  396. package/esm/formLayout/hooks/useFormButtons.d.ts +1 -1
  397. package/esm/formLayout/types.d.ts +0 -1
  398. package/esm/formLayout/utils/attachHeadings.d.ts +1 -1
  399. package/esm/formLayout/utils/attachSeparators.d.ts +0 -1
  400. package/esm/formLayout/utils/getChildrenWithCustomColumns.d.ts +1 -2
  401. package/esm/formLayout/utils/getChildrenWithCustomColumns.js +2 -2
  402. package/esm/formLayout/utils/getFieldLabel.js +5 -5
  403. package/esm/formSection/components/actions.d.ts +0 -1
  404. package/esm/formSection/components/additional.d.ts +0 -1
  405. package/esm/formSection/utils/isFormSection.d.ts +2 -4
  406. package/esm/formStepper/components/formStepRaw.d.ts +0 -1
  407. package/esm/formStepper/formStepper.d.ts +0 -1
  408. package/esm/formStepper/formStepper.js +5 -5
  409. package/esm/formStepperButtons/formStepperButtons.js +3 -3
  410. package/esm/gridLayout/hooks/useStretch.js +1 -1
  411. package/esm/gridLayout/utils/gridLayoutProvider.d.ts +0 -1
  412. package/esm/gridLayout/utils/gridLayoutProvider.js +1 -1
  413. package/esm/gridLayout/utils/isGridItem.d.ts +1 -1
  414. package/esm/groupsFilter/groupsHelper.d.ts +5 -5
  415. package/esm/groupsFilterRaw/groupsHelper.d.ts +1 -1
  416. package/esm/groupsFilterRaw/stateReducer/stateReducer.d.ts +1 -1
  417. package/esm/groupsFilterRaw/testData.js +1 -2
  418. package/esm/header/components/collapsedItemsControl/utils/handleCustomMenuWrapper.js +5 -0
  419. package/esm/header/components/mobileFilterControl/mobileFilterControl.d.ts +0 -1
  420. package/esm/header/components/mobileSearchControl/mobileSearchControl.d.ts +0 -1
  421. package/esm/header/headerButton.d.ts +0 -1
  422. package/esm/header/headerContext.d.ts +1 -2
  423. package/esm/header/headerHelpers.d.ts +5 -5
  424. package/esm/header/hooks/useNonFittingElements.d.ts +3 -4
  425. package/esm/headerTitle/headerTitle.d.ts +0 -1
  426. package/esm/icons/iconAce.d.ts +3 -0
  427. package/esm/icons/iconAce.js +8 -0
  428. package/esm/icons/iconBreak.d.ts +3 -0
  429. package/esm/icons/iconBreak.js +8 -0
  430. package/esm/icons/iconChevronStepper.d.ts +3 -0
  431. package/esm/icons/iconChevronStepper.js +8 -0
  432. package/esm/icons/iconPotato.d.ts +3 -0
  433. package/esm/icons/iconPotato.js +8 -0
  434. package/esm/icons/iconToggleLarge.d.ts +3 -0
  435. package/esm/icons/iconToggleLarge.js +8 -0
  436. package/esm/icons/iconToggleSmall.d.ts +3 -0
  437. package/esm/icons/iconToggleSmall.js +8 -0
  438. package/esm/icons/iconTrendNeutral.d.ts +3 -0
  439. package/esm/icons/iconTrendNeutral.js +8 -0
  440. package/esm/icons/iconTruck.d.ts +3 -0
  441. package/esm/icons/iconTruck.js +8 -0
  442. package/esm/index.d.ts +8 -0
  443. package/esm/index.js +8 -0
  444. package/esm/layout/layout.d.ts +2 -1
  445. package/esm/layout/layoutBanner.d.ts +0 -1
  446. package/esm/lineChart/lineChart.d.ts +1 -0
  447. package/esm/lineChart/lineChart.js +129 -69
  448. package/esm/lineChartMini/lineChartMini.d.ts +1 -0
  449. package/esm/lineChartMini/lineChartMini.js +136 -73
  450. package/esm/list/itemData/itemData.d.ts +2 -1
  451. package/esm/list/itemData/itemDataInternal.d.ts +2 -1
  452. package/esm/list/list.d.ts +0 -1
  453. package/esm/list/utils/isDataListitem.d.ts +1 -1
  454. package/esm/list/viewportProvider/viewportContext.d.ts +0 -1
  455. package/esm/menu/components/controlledMenuList/controlledMenuList.d.ts +2 -4
  456. package/esm/menu/components/controlledMenuList/controlledMenuList.js +3 -1
  457. package/esm/menu/utils/useDisplayContent.d.ts +21 -0
  458. package/esm/menu/utils/useDisplayContent.js +31 -0
  459. package/esm/mobileSheet/components/mobileSheetTitle.d.ts +0 -1
  460. package/esm/nav/context/nav.context.d.ts +0 -1
  461. package/esm/nav/navFooter/navEditFooter/navEditFooter.d.ts +0 -1
  462. package/esm/nav/navFooter/navFooter.d.ts +1 -1
  463. package/esm/nav/navFooter/navFooterAction/navFooterAction.d.ts +2 -1
  464. package/esm/nav/navFooter/navFooterAction/navFooterAction.js +3 -1
  465. package/esm/nav/navItem/navItem.d.ts +2 -0
  466. package/esm/nav/navItem/navItem.js +57 -48
  467. package/esm/nav/navItem/navItemContent.d.ts +19 -0
  468. package/esm/nav/navItem/navItemContent.js +17 -0
  469. package/esm/nav/navItem/navItemType.d.ts +7 -0
  470. package/esm/nav/navItem/navItemType.js +6 -0
  471. package/esm/nav/utils/navUtils.d.ts +2 -4
  472. package/esm/overview/overview.d.ts +0 -1
  473. package/esm/pageHeader/pageHeader.d.ts +1 -1
  474. package/esm/pageHeader/pageHeaderButton.d.ts +0 -1
  475. package/esm/pageHeader/pageHeaderHelpers.d.ts +1 -1
  476. package/esm/pageHeader/pageHeaderMenu.d.ts +0 -1
  477. package/esm/pagination/paginationArrow.d.ts +0 -1
  478. package/esm/pill/interfaces/pill.interface.d.ts +0 -1
  479. package/esm/pillBox/components/pillBoxItem.d.ts +1 -2
  480. package/esm/progressIndicator/progressIndicator.d.ts +39 -0
  481. package/esm/progressIndicator/progressIndicator.js +26 -0
  482. package/esm/progressIndicator/progressIndicatorUtils.d.ts +12 -0
  483. package/esm/progressIndicator/progressIndicatorUtils.js +25 -0
  484. package/esm/radioGroupRaw/types.d.ts +0 -1
  485. package/esm/react-chartjs/utils.d.ts +3 -3
  486. package/esm/searchInputRaw/types.d.ts +0 -1
  487. package/esm/selectField/selectField.d.ts +2 -3
  488. package/esm/selectList/selectList.d.ts +0 -1
  489. package/esm/selectRaw/selectRaw.js +3 -0
  490. package/esm/sidePanel/sidePanelCell/sidePanelCell.d.ts +0 -1
  491. package/esm/table/actions/actionsMenu.d.ts +0 -1
  492. package/esm/table/children/useTableChildren.d.ts +7 -7
  493. package/esm/table/detailPanel/interfaces.d.ts +0 -1
  494. package/esm/table/loading/useLoading.d.ts +10 -10
  495. package/esm/table/nested/nestedData.d.ts +3 -1
  496. package/esm/table/nested/useNestedRows.d.ts +2 -2
  497. package/esm/table/selectable/selectableHeader.d.ts +2 -1
  498. package/esm/table/selectable/selectableHeader.js +4 -3
  499. package/esm/table/selectable/useSelectableRows.d.ts +1 -1
  500. package/esm/table/selectable/useSelectableRows.js +7 -4
  501. package/esm/table/table.d.ts +16 -1
  502. package/esm/table/table.js +102 -6
  503. package/esm/tag/tag.d.ts +19 -0
  504. package/esm/tag/tag.js +10 -0
  505. package/esm/testHelpers/geotab-axe/index.d.ts +0 -1
  506. package/esm/toastRaw/toastRaw.d.ts +1 -1
  507. package/esm/toastRaw/toastRaw.js +3 -1
  508. package/esm/toggleButtonRaw/types.d.ts +0 -1
  509. package/esm/tooltipInfo/tooltipInfo.d.ts +0 -1
  510. package/esm/tsconfig.esm.tsbuildinfo +1 -0
  511. package/esm/utils/localization/directionContext.d.ts +0 -1
  512. package/esm/utils/localization/languageContext.d.ts +0 -1
  513. package/esm/utils/localization/translations/en.json +12 -1
  514. package/esm/utils/theme/themeContext.d.ts +0 -1
  515. package/esm/utils/topWindow/topWindowContext.d.ts +0 -1
  516. package/esm/utils/useFadeComponent.d.ts +0 -1
  517. package/esm/utils/userFormat/userFormatContext.d.ts +0 -1
  518. package/esm/waiting/waiting.d.ts +2 -1
  519. package/esm/waiting/waiting.js +24 -7
  520. package/package.json +13 -6
  521. package/esm/gridLayout/hooks/useTablet.js +0 -20
  522. /package/dist/{gridLayout → commonHelpers}/hooks/useTablet.d.ts +0 -0
  523. /package/esm/{gridLayout → commonHelpers}/hooks/useTablet.d.ts +0 -0
@@ -40,7 +40,8 @@ injectString("el-GR", "Configure", "\u0394\u03B9\u03B1\u03BC\u03CC\u03C1\u03C6\u
40
40
  injectString("et-EE", "Configure", "Seadista");
41
41
  injectString("bg-BG", "Configure", "\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043D\u0435");
42
42
  export const NavFooterAction = ({
43
- children
43
+ children,
44
+ active
44
45
  }) => {
45
46
  const {
46
47
  translate
@@ -58,6 +59,7 @@ export const NavFooterAction = ({
58
59
  title: translate("Configure"),
59
60
  menuAlignment: "end-bottom",
60
61
  isMenuItem: false,
62
+ active: active,
61
63
  children: filteredItems
62
64
  });
63
65
  };
@@ -3,6 +3,7 @@ import { IZenComponentProps } from "../../commonHelpers/zenComponent";
3
3
  import { FC, ReactNode } from "react";
4
4
  import { IIcon } from "../../icons/icon";
5
5
  import { TAlignment } from "../../absolute/absolute";
6
+ import { TNavItemType } from "./navItemType";
6
7
  interface INavItemCommon extends IZenComponentProps {
7
8
  title: string;
8
9
  primaryIcon?: FC<IIcon> | ReactNode;
@@ -17,6 +18,7 @@ interface INavItemCommon extends IZenComponentProps {
17
18
  isExternalLink?: boolean;
18
19
  iconClass?: string;
19
20
  isPrimary?: boolean;
21
+ type?: TNavItemType;
20
22
  tabIndex?: 0 | -1;
21
23
  isMenuItem?: boolean;
22
24
  tooltipAlignment?: TAlignment;
@@ -9,32 +9,48 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  import { classNames } from "../../commonHelpers/classNames/classNames";
14
- import { useRef, useState, useEffect, Children, cloneElement, createContext, useContext, useId } from "react";
15
- import { IconBeta } from "../../icons/iconBeta";
16
- import { IconChevronRight } from "../../icons/iconChevronRight";
17
- import { IconChevronLeft } from "../../icons/iconChevronLeft";
18
- import { IconOpen2 } from "../../icons/iconOpen2";
19
- import { useDirectionalIcon } from "../../utils/localization/useDirectionalIcon";
14
+ import { useRef, useState, useEffect, Children, cloneElement, createContext, useContext, useId, isValidElement } from "react";
20
15
  import { Tooltip } from "../../tooltip/tooltip";
21
16
  import { ControlledMenu } from "../../menu/controlledMenu";
22
17
  import { useNavContext } from "../context/nav.context";
23
18
  import { useMobile } from "../../commonHelpers/hooks/useMobile";
24
- const ICON_SIZE = "huge";
25
- const SUBMENU_ICON_SIZE = "large";
19
+ import { NavItemContent, ICON_SIZE, SUBMENU_ICON_SIZE } from "./navItemContent";
20
+ import { createMenuItem } from "../../menu/components/createMenuItem";
21
+ import { NavItemType } from "./navItemType";
26
22
  export const NavItemContext = createContext({ parentLevel: 0 });
27
23
  const defaultTooltipAlignment = "end";
28
24
  const isLinkNavItem = (item) => !!item.link;
29
- const NavItemContent = ({ primaryIcon, secondaryIcon, isBeta, counter, collapsed, hasSubmenu, iconClass, level = 1, children }) => {
30
- const primaryIconRef = useRef(null);
31
- const ChevronIcon = useDirectionalIcon(IconChevronRight, IconChevronLeft);
32
- const PrimaryIconComponent = typeof primaryIcon === "function" ? primaryIcon : null;
33
- const SecondaryIconComponent = secondaryIcon;
34
- const iconSize = level > 1 ? SUBMENU_ICON_SIZE : ICON_SIZE;
35
- const primaryIconComponent = primaryIcon ? (_jsx("span", { ref: primaryIconRef, className: classNames(["zen-nav-item__icon", counter ? "zen-nav-item__icon--with-counter" : "", iconClass || ""]), children: PrimaryIconComponent ? _jsx(PrimaryIconComponent, { size: iconSize }) : primaryIcon })) : null;
36
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "zen-nav-item__content-left", children: [isBeta && !collapsed ? (_jsx("span", { className: "zen-nav-item__beta", children: _jsx(IconBeta, { size: "big" }) })) : null, primaryIconComponent, SecondaryIconComponent && !collapsed ? (_jsx("span", { className: "zen-nav-item__icon", children: _jsx(SecondaryIconComponent, { size: iconSize }) })) : null, !collapsed ? _jsx("span", { className: "zen-nav-item__title", children: children }) : null] }), !collapsed && (counter || hasSubmenu) ? (_jsxs("div", { className: "zen-nav-item__content-right", children: [counter ? _jsx("div", { className: "zen-nav-item__counter", children: counter }) : null, hasSubmenu ? _jsx(ChevronIcon, { className: "zen-nav-item__title-icon", size: iconSize }) : null] })) : null] }));
37
- };
25
+ const isNavItemElement = (child) => isValidElement(child) && child.type.displayName === "NavItem";
26
+ const getWrapperClassName = ({ className, collapsed, active, isMobile, hasNested, isNested, isLink, type }) => classNames([
27
+ "zen-nav-item",
28
+ isLink ? "zen-nav-item--link" : "zen-nav-item--button",
29
+ isMobile ? "zen-nav-item--mobile" : "",
30
+ collapsed ? "zen-nav-item--collapsed" : "",
31
+ active ? "zen-nav-item--active" : "",
32
+ hasNested ? "zen-nav-item--has-nested" : "",
33
+ isNested ? "zen-nav-item--nested" : "",
34
+ type && type !== NavItemType.Default ? `zen-nav-item--${type}` : "",
35
+ className || ""
36
+ ]);
37
+ const MobileNavMenuItem = createMenuItem((props) => {
38
+ const wrapperClassNames = getWrapperClassName(props);
39
+ return (_jsx("div", { className: wrapperClassNames, children: _jsx(NavItemContent, Object.assign({}, props, { hasSubmenu: props.hasChildren })) }));
40
+ });
41
+ // Recursively converts a NavItem subtree into a static tree of menu items for the mobile ControlledMenu.
42
+ const buildMobileMenuItems = (children, parentId, onNavigate) => Children.toArray(children)
43
+ .filter(isNavItemElement)
44
+ .map(child => {
45
+ const link = isLinkNavItem(child.props) ? child.props.link : "";
46
+ const title = child.props.title;
47
+ const isExternal = child.props.isExternalLink;
48
+ const id = `${parentId}/${link}_${title}`;
49
+ const nested = buildMobileMenuItems(child.props.children, id, onNavigate);
50
+ const onClick = isLinkNavItem(child.props) ? onNavigate : nested.length === 0 ? child.props.onClick : undefined;
51
+ const wrappedOnClick = () => onClick && onClick();
52
+ return (_jsx(MobileNavMenuItem, Object.assign({ id: id }, child.props, { ariaLabel: child.props.title, isLink: isLinkNavItem(child.props), target: isExternal ? "_blank" : undefined, rel: isExternal ? "noopener noreferrer" : undefined, onClick: wrappedOnClick, onOpenChange: child.props.onDropdownStateChange, children: nested.length > 0 ? nested : undefined }), id));
53
+ });
38
54
  const NavItemAction = ({ actionIcon, actionIconTitle = "", onActionIconClick, collapsed, isMenuItem, level = 1 }) => {
39
55
  const ActionIconComponent = actionIcon;
40
56
  const iconSize = level > 1 ? SUBMENU_ICON_SIZE : ICON_SIZE;
@@ -47,18 +63,8 @@ const NavItemAction = ({ actionIcon, actionIconTitle = "", onActionIconClick, co
47
63
  };
48
64
  return (_jsx("button", { type: "button", className: "zen-nav-item__action", onClick: handleActionIconClick, "aria-label": actionIconTitle, title: actionIconTitle, role: isMenuItem ? "menuitem" : undefined, children: _jsx(ActionIconComponent, { size: iconSize }) }));
49
65
  };
50
- const getWrapperClassName = ({ className, collapsed, active, isMobile, hasNested, isNested, isLink }) => classNames([
51
- "zen-nav-item",
52
- isLink ? "zen-nav-item--link" : "zen-nav-item--button",
53
- isMobile ? "zen-nav-item--mobile" : "",
54
- collapsed ? "zen-nav-item--collapsed" : "",
55
- active ? "zen-nav-item--active" : "",
56
- hasNested ? "zen-nav-item--has-nested" : "",
57
- isNested ? "zen-nav-item--nested" : "",
58
- className || ""
59
- ]);
60
66
  const LinkNavItem = (_a) => {
61
- var { className, title, collapsed, active, link, isExternalLink, tabIndex, isMenuItem = true, tooltipAlignment = defaultTooltipAlignment, actionIcon, actionIconTitle, onActionIconClick } = _a, rest = __rest(_a, ["className", "title", "collapsed", "active", "link", "isExternalLink", "tabIndex", "isMenuItem", "tooltipAlignment", "actionIcon", "actionIconTitle", "onActionIconClick"]);
67
+ var { className, title, collapsed, active, link, isExternalLink, tabIndex, isMenuItem = true, tooltipAlignment = defaultTooltipAlignment, actionIcon, actionIconTitle, onActionIconClick, type } = _a, rest = __rest(_a, ["className", "title", "collapsed", "active", "link", "isExternalLink", "tabIndex", "isMenuItem", "tooltipAlignment", "actionIcon", "actionIconTitle", "onActionIconClick", "type"]);
62
68
  const isMobile = useMobile();
63
69
  const { parentLevel = 0, closeParentMenu } = useContext(NavItemContext);
64
70
  const { onNavigate } = useNavContext();
@@ -66,13 +72,13 @@ const LinkNavItem = (_a) => {
66
72
  const linkElement = (_jsx("a", { href: link, "aria-label": title, title: title, target: isExternalLink ? "_blank" : undefined, rel: isExternalLink ? "noopener noreferrer" : undefined, tabIndex: tabIndex, role: isMenuItem ? "menuitem" : undefined, onClick: () => {
67
73
  closeParentMenu && closeParentMenu();
68
74
  onNavigate && onNavigate();
69
- }, className: "zen-link--light zen-nav-item__main", children: _jsxs(NavItemContent, Object.assign({ title: title, collapsed: collapsed, level: currentLevel }, rest, { children: [_jsx("span", { className: "zen-nav-item__title-text", children: title }), isExternalLink && !collapsed ? _jsx(IconOpen2, { className: "zen-nav-item__title-icon", size: ICON_SIZE }) : null] })) }));
75
+ }, className: "zen-link--light zen-nav-item__main", children: _jsx(NavItemContent, Object.assign({ title: title, collapsed: collapsed, level: currentLevel, isExternalLink: isExternalLink }, rest)) }));
70
76
  const item = collapsed ? (_jsx(Tooltip, { trigger: linkElement, alignment: tooltipAlignment, children: title })) : (linkElement);
71
- return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active, isMobile, isLink: true }), children: [item, _jsx(NavItemAction, { actionIcon: actionIcon, actionIconTitle: actionIconTitle, onActionIconClick: onActionIconClick, collapsed: collapsed, level: currentLevel, isMenuItem: isMenuItem })] }));
77
+ return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active, isMobile, isLink: true, type }), children: [item, _jsx(NavItemAction, { actionIcon: actionIcon, actionIconTitle: actionIconTitle, onActionIconClick: onActionIconClick, collapsed: collapsed, level: currentLevel, isMenuItem: isMenuItem })] }));
72
78
  };
73
79
  LinkNavItem.displayName = "LinkNavItem";
74
80
  const ButtonNavItem = (_a) => {
75
- var { className, title, onClick, collapsed, active, children, tabIndex, menuAlignment = "end-top", isMenuItem = true, tooltipAlignment = defaultTooltipAlignment, actionIcon, actionIconTitle, onActionIconClick, onDropdownStateChange } = _a, rest = __rest(_a, ["className", "title", "onClick", "collapsed", "active", "children", "tabIndex", "menuAlignment", "isMenuItem", "tooltipAlignment", "actionIcon", "actionIconTitle", "onActionIconClick", "onDropdownStateChange"]);
81
+ var { className, title, onClick, collapsed, active, children, tabIndex, menuAlignment = "end-top", isMenuItem = true, tooltipAlignment = defaultTooltipAlignment, actionIcon, actionIconTitle, onActionIconClick, onDropdownStateChange, type } = _a, rest = __rest(_a, ["className", "title", "onClick", "collapsed", "active", "children", "tabIndex", "menuAlignment", "isMenuItem", "tooltipAlignment", "actionIcon", "actionIconTitle", "onActionIconClick", "onDropdownStateChange", "type"]);
76
82
  const [menuOpen, setMenuOpen] = useState(false);
77
83
  const { parentLevel = 0, closeParentMenu } = useContext(NavItemContext);
78
84
  useEffect(() => {
@@ -93,7 +99,7 @@ const ButtonNavItem = (_a) => {
93
99
  onClick === null || onClick === void 0 ? void 0 : onClick();
94
100
  }
95
101
  };
96
- const handleKeyPress = evt => {
102
+ const handleKeyPress = (evt) => {
97
103
  if (hasNestedItems && (evt.key === "Enter" || evt.key === " ")) {
98
104
  evt.preventDefault();
99
105
  setMenuOpen(true);
@@ -104,32 +110,35 @@ const ButtonNavItem = (_a) => {
104
110
  }
105
111
  };
106
112
  const isMobile = useMobile();
113
+ const { onNavigate } = useNavContext();
107
114
  const isActive = active || (hasNestedItems && menuOpen);
108
115
  const triggerId = useId();
109
- const buttonElement = (_jsx("button", { id: triggerId, ref: triggerRef, "aria-label": title, title: title, tabIndex: tabIndex, role: isMenuItem ? "menuitem" : undefined, "aria-haspopup": hasNestedItems ? "menu" : undefined, "aria-expanded": hasNestedItems ? menuOpen : undefined, className: "zen-nav-item__main", onClick: handleClick, onKeyDown: handleKeyPress, children: _jsx(NavItemContent, Object.assign({ title: title, collapsed: collapsed, hasSubmenu: hasNestedItems, level: currentLevel }, rest, { children: _jsx("span", { className: "zen-nav-item__title-text", children: title }) })) }));
116
+ const buttonElement = (_jsx("button", { id: triggerId, ref: triggerRef, "aria-label": title, title: title, tabIndex: tabIndex, role: isMenuItem ? "menuitem" : undefined, "aria-haspopup": hasNestedItems ? "menu" : undefined, "aria-expanded": hasNestedItems ? menuOpen : undefined, className: "zen-nav-item__main", onClick: handleClick, onKeyDown: handleKeyPress, children: _jsx(NavItemContent, Object.assign({ title: title, collapsed: collapsed, hasSubmenu: hasNestedItems, level: currentLevel }, rest)) }));
110
117
  const trigger = collapsed ? (_jsx(Tooltip, { trigger: buttonElement, alignment: tooltipAlignment, children: title })) : (buttonElement);
111
118
  if (hasNestedItems) {
112
- // Process children to add appropriate level classes while allowing unlimited nesting
113
119
  const childLevel = currentLevel + 1;
120
+ const popupClass = `zen-nav-popup zen-nav-l${childLevel}-popup`;
121
+ const popupClassMobile = `zen-nav-popup--mobile zen-nav-l${childLevel}-popup--mobile`;
122
+ const popupListClass = `zen-nav-popup__list zen-nav-l${childLevel}-popup__list`;
123
+ const popupListClassMobile = `zen-nav-popup__list--mobile zen-nav-l${childLevel}-popup__list--mobile`;
124
+ const closeLevelMenu = () => {
125
+ setMenuOpen(false);
126
+ closeParentMenu && closeParentMenu();
127
+ };
128
+ // For mobiles convert the entire subtree into a static NavMenuItem tree
129
+ if (isMobile) {
130
+ return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active: isActive, isMobile, hasNested: hasNestedItems, type }), children: [trigger, _jsx(ControlledMenu, { triggerRef: triggerRef, isOpen: menuOpen, setIsOpen: setMenuOpen, title: title, alignment: menuAlignment, className: classNames([popupClass, popupClassMobile]), listClassName: classNames([popupListClass, popupListClassMobile]), ariaLabelledby: triggerId, children: buildMobileMenuItems(children, triggerId, onNavigate) })] }));
131
+ }
132
+ // Desktop: clone children with level classes and render nested ControlledMenu popups per level.
114
133
  const processedChildren = validChildren.map(child => {
115
134
  const childElement = child;
116
135
  const levelClass = `zen-nav-item--level-${childLevel}`;
117
- const levelClassMobile = `zen-nav-item--level-${childLevel}--mobile`;
118
136
  const nestedClass = childLevel > 1 ? "zen-nav-item--nested" : "";
119
- return cloneElement(childElement, Object.assign(Object.assign({}, childElement.props), { className: classNames([levelClass, nestedClass, isMobile ? levelClassMobile : "", childElement.props.className || ""]), collapsed: false }));
137
+ return cloneElement(childElement, Object.assign(Object.assign({}, childElement.props), { className: classNames([levelClass, nestedClass, childElement.props.className || ""]), collapsed: false }));
120
138
  });
121
- const popupLevel = childLevel;
122
- const popupClass = `zen-nav-popup zen-nav-l${popupLevel}-popup`;
123
- const popupClassMobile = `zen-nav-popup--mobile zen-nav-l${popupLevel}-popup--mobile`;
124
- const popupListClass = `zen-nav-popup__list zen-nav-l${popupLevel}-popup__list`;
125
- const popupListClassMobile = `zen-nav-popup__list--mobile zen-nav-l${popupLevel}-popup__list--mobile`;
126
- const closeLevelMenu = () => {
127
- setMenuOpen(false);
128
- closeParentMenu && closeParentMenu();
129
- };
130
- return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active: isActive, isMobile, hasNested: hasNestedItems }), children: [trigger, _jsx(NavItemContext, { value: { parentLevel: currentLevel, closeParentMenu: closeLevelMenu }, children: _jsx(ControlledMenu, { triggerRef: triggerRef, isOpen: menuOpen, setIsOpen: setMenuOpen, title: title, alignment: menuAlignment, className: classNames([popupClass, isMobile ? popupClassMobile : ""]), listClassName: classNames([popupListClass, isMobile ? popupListClassMobile : ""]), ariaLabelledby: triggerId, children: processedChildren }) })] }));
139
+ return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active: isActive, isMobile, hasNested: hasNestedItems, type }), children: [trigger, _jsx(NavItemContext, { value: { parentLevel: currentLevel, closeParentMenu: closeLevelMenu }, children: _jsx(ControlledMenu, { triggerRef: triggerRef, isOpen: menuOpen, setIsOpen: setMenuOpen, title: title, alignment: menuAlignment, className: popupClass, listClassName: popupListClass, ariaLabelledby: triggerId, children: processedChildren }) })] }));
131
140
  }
132
- return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active: isActive, isMobile, hasNested: hasNestedItems }), children: [trigger, _jsx(NavItemAction, { actionIcon: actionIcon, actionIconTitle: actionIconTitle, onActionIconClick: onActionIconClick, collapsed: collapsed, level: currentLevel, isMenuItem: isMenuItem })] }));
141
+ return (_jsxs("div", { className: getWrapperClassName({ className, collapsed, active: isActive, isMobile, hasNested: hasNestedItems, type }), children: [trigger, _jsx(NavItemAction, { actionIcon: actionIcon, actionIconTitle: actionIconTitle, onActionIconClick: onActionIconClick, collapsed: collapsed, level: currentLevel, isMenuItem: isMenuItem })] }));
133
142
  };
134
143
  ButtonNavItem.displayName = "ButtonNavItem";
135
144
  /**
@@ -0,0 +1,19 @@
1
+ import "./navItem.less";
2
+ import { FC, ReactNode } from "react";
3
+ import { IIcon } from "../../icons/icon";
4
+ import { TIconSize } from "../../icons/iconSize";
5
+ export declare const ICON_SIZE: TIconSize;
6
+ export declare const SUBMENU_ICON_SIZE: TIconSize;
7
+ export interface INavItemContent {
8
+ title: string;
9
+ primaryIcon?: FC<IIcon> | ReactNode;
10
+ secondaryIcon?: FC<IIcon>;
11
+ isBeta?: boolean;
12
+ counter?: string;
13
+ collapsed?: boolean;
14
+ hasSubmenu?: boolean;
15
+ iconClass?: string;
16
+ level?: number;
17
+ isExternalLink?: boolean;
18
+ }
19
+ export declare const NavItemContent: ({ title, primaryIcon, secondaryIcon, isBeta, counter, collapsed, hasSubmenu, iconClass, level, isExternalLink }: INavItemContent) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { classNames } from "../../commonHelpers/classNames/classNames";
3
+ import { IconBeta } from "../../icons/iconBeta";
4
+ import { IconChevronRight } from "../../icons/iconChevronRight";
5
+ import { IconChevronLeft } from "../../icons/iconChevronLeft";
6
+ import { useDirectionalIcon } from "../../utils/localization/useDirectionalIcon";
7
+ import { IconOpen2 } from "../../icons/iconOpen2";
8
+ export const ICON_SIZE = "huge";
9
+ export const SUBMENU_ICON_SIZE = "large";
10
+ export const NavItemContent = ({ title, primaryIcon, secondaryIcon, isBeta, counter, collapsed, hasSubmenu, iconClass, level = 1, isExternalLink = false }) => {
11
+ const ChevronIcon = useDirectionalIcon(IconChevronRight, IconChevronLeft);
12
+ const PrimaryIconComponent = typeof primaryIcon === "function" ? primaryIcon : null;
13
+ const SecondaryIconComponent = secondaryIcon;
14
+ const iconSize = level > 1 ? SUBMENU_ICON_SIZE : ICON_SIZE;
15
+ const primaryIconComponent = primaryIcon ? (_jsx("span", { className: classNames(["zen-nav-item__icon", counter ? "zen-nav-item__icon--with-counter" : "", iconClass || ""]), children: PrimaryIconComponent ? _jsx(PrimaryIconComponent, { size: iconSize }) : primaryIcon })) : null;
16
+ return (_jsxs(_Fragment, { children: [_jsx("div", { className: "zen-nav-item__content-left", children: !collapsed ? (_jsxs(_Fragment, { children: [isBeta ? (_jsx("span", { className: "zen-nav-item__beta", children: _jsx(IconBeta, { size: "big" }) })) : null, primaryIconComponent, SecondaryIconComponent ? (_jsx("span", { className: "zen-nav-item__icon", children: _jsx(SecondaryIconComponent, { size: iconSize }) })) : null, _jsxs("span", { className: "zen-nav-item__title", children: [_jsx("span", { className: "zen-nav-item__title-text", children: title }), isExternalLink ? _jsx(IconOpen2, { className: "zen-nav-item__title-icon", size: ICON_SIZE }) : null] })] })) : (primaryIconComponent) }), !collapsed && (counter || hasSubmenu) ? (_jsxs("div", { className: "zen-nav-item__content-right", children: [counter ? _jsx("div", { className: "zen-nav-item__counter", children: counter }) : null, hasSubmenu ? _jsx(ChevronIcon, { className: "zen-nav-item__title-icon", size: iconSize }) : null] })) : null] }));
17
+ };
@@ -0,0 +1,7 @@
1
+ export declare const NavItemType: {
2
+ /** Standard navigation item: secondary text colour. */
3
+ readonly Default: "default";
4
+ /** Call to action: label and icons follow the hyperlink colour. */
5
+ readonly Tertiary: "tertiary";
6
+ };
7
+ export type TNavItemType = (typeof NavItemType)[keyof typeof NavItemType];
@@ -0,0 +1,6 @@
1
+ export const NavItemType = {
2
+ /** Standard navigation item: secondary text colour. */
3
+ Default: "default",
4
+ /** Call to action: label and icons follow the hyperlink colour. */
5
+ Tertiary: "tertiary"
6
+ };
@@ -1,10 +1,8 @@
1
- import { ReactElement, ReactNode } from "react";
1
+ import { PropsWithChildren, ReactElement, ReactNode } from "react";
2
2
  import { IButtonNavItem, ILinkNavItem } from "../navItem/navItem";
3
3
  export declare const navHeaderImage = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIzIiBoZWlnaHQ9IjE1IiB2aWV3Qm94PSIwIDAgMTIzIDE1IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNDcuNDE3OCA1LjY2MDFIMzkuNTkxNVY2Ljc0NTI2SDQ1LjM1MjdDNDUuNDE5MiA3LjA2NjkzIDQ1LjQ1MjggNy4yNzc1IDQ1LjQ1MjggNy4zNzA5QzQ1LjQ1MjggOC41OTE3NyA0NS4xOTczIDkuMzU1MjUgNDQuNjk0IDkuNjM5OTdDNDQuMTg1NCA5LjkyODEzIDQyLjgyODkgMTAuMDczOSA0MC42NjIzIDEwLjA3MzlDMzcuODI1NyAxMC4wNzM5IDM2LjA1NzggOS45MTk3IDM1LjQwNzkgOS42MTUxNEMzNC43NjUzIDkuMzE0NDkgMzQuNDM5NyA4LjQ4ODM4IDM0LjQzOTcgNy4xNTkwM0wzNC40MjY2IDUuNjMwOThMMzQuNDUzIDQuMjExNTVDMzQuNDUzIDIuOTAyNCAzNC43NDYyIDIuMDc0MzkgMzUuMzI0MiAxLjc1MDMzQzM1LjkwNzcgMS40MjMxOSAzNy4zOTE1IDEuMjU3MzEgMzkuNzM0MiAxLjI1NzMxQzQyLjI3MjQgMS4yNTczMSA0My44NjMxIDEuMzYwOTMgNDQuNDYyIDEuNTY0ODRDNDUuMDQ5IDEuNzY1MTkgNDUuMzQ2NyAyLjI5OTU3IDQ1LjM0NjcgMy4xNTMwMVYzLjQ1MjQ2SDQ3LjQyMTlWMy4wMTE4NEM0Ny40MjE5IDEuODE2NCA0Ni45NjM3IDEuMDM0NjIgNDYuMDYwMyAwLjY4ODIyN0M0NS4xNjY1IDAuMzQ1NzU4IDQzLjE1ODUgMC4xNzIwMjggNDAuMDkyIDAuMTcyMDI4QzM3LjAzMjQgMC4xNzIwMjggMzQuOTY3NSAwLjQzNzI1NyAzMy45NTQxIDAuOTYwMjMxQzMyLjkzNDUgMS40ODcwMSAzMi40MTc2IDIuNTU5NTcgMzIuNDE3NiA0LjE0ODFMMzIuNDA0MyA1LjA5NzMyTDMyLjQxNzYgNi42NzMxM0MzMi40MTc2IDguNTYyODkgMzIuODgyNiA5Ljc5NzMgMzMuNzk5NyAxMC4zNDI0QzM0LjcxMjEgMTAuODg0MSAzNi43ODg3IDExLjE1OSAzOS45NzI3IDExLjE1OUM0My4zNDA5IDExLjE1OSA0NS40NTU0IDEwLjkyNjggNDYuMjU3NyAxMC40NjgyQzQ3LjA2NTMgMTAuMDA2NiA0Ny40NzQ4IDguNzkyODMgNDcuNDc0OCA2Ljg2MTM2QzQ3LjQ3NDggNi4zNjIzOSA0Ny40NTY5IDUuOTY4MTEgNDcuNDIxNCA1LjY4OTMzTDQ3LjQxNzggNS42NjAxWiIgZmlsbD0iIzI1NDc3QiIvPgo8cGF0aCBkPSJNNDkuNDEyMSAxMS4wNDk4SDYxLjExNDVWOS45NjQ2M0g1MS41MjcxVjYuMDMyMjlINjAuNzE2NlY0Ljk0NzI1SDUxLjUyNzFWMS4zNjc2SDYxLjExNDVWMC4yODI0NEg0OS40MTIxVjExLjA0OThaIiBmaWxsPSIjMjU0NzdCIi8+CjxwYXRoIGQ9Ik03Ni44NTk5IDEuMDY0OEM3NS45OTk4IDAuNDcyNTUgNzMuODMzIDAuMTcyMDI4IDcwLjQxOTcgMC4xNzIwMjhDNjcuNDY2NSAwLjE3MjAyOCA2NS40MTkyIDAuNDM1NzEzIDY0LjMzNjQgMC45NTU5NTNDNjMuMjQ1NSAxLjQ4IDYyLjY5MjUgMi40Njk3MyA2Mi42OTI1IDMuODk2ODlMNjIuNjY2IDQuOTA5MDlWNS42NjE2NEM2Mi42NjYgOC4xMjI2MiA2My4wOTIzIDkuNjcxOTQgNjMuOTMyNyAxMC4yNjYxQzY0Ljc3MTEgMTAuODU4NSA2Ni45NTM3IDExLjE1OSA3MC40MTk3IDExLjE1OUM3My45MDQgMTEuMTU5IDc2LjA4ODggMTAuODU2MSA3Ni45MTM5IDEwLjI1OEM3Ny43NDExIDkuNjU4NTEgNzguMTYwNiA4LjA2NDUyIDc4LjE2MDYgNS41MjA1OUM3OC4xNjA2IDMuMTU4NDggNzcuNzIzMSAxLjY1OTQzIDc2Ljg1OTkgMS4wNjQ4Wk02NS40MDQ1IDEuODEzNzlDNjUuODgxOCAxLjQ0NDU4IDY3LjU2NDUgMS4yNTcxOSA3MC40MDY3IDEuMjU3MTlDNzIuODgxNiAxLjI1NzE5IDc0LjQ3MzEgMS40MTY5IDc1LjEzNjkgMS43MzE4Qzc1Ljc5MzEgMi4wNDMxMyA3Ni4xMjUyIDIuNzkwMjIgNzYuMTI1MiAzLjk1Mjk4TDc2LjEzODYgNC45NjM4N1Y1LjY2MTc2Qzc2LjEzODYgNy44NTIyOCA3NS44OTc1IDkuMTQ5NTYgNzUuNDIyMSA5LjUxNzQ2Qzc0Ljk0NDggOS44ODY5IDczLjI1NzQgMTAuMDczOSA3MC40MDY3IDEwLjA3MzlDNjcuNTY0NSAxMC4wNzM5IDY1Ljg4MTYgOS44ODcwMiA2NS40MDQ1IDkuNTE3NDZDNjQuOTI5MiA5LjE0OTQ0IDY0LjY4ODEgNy44NTIxNiA2NC42ODgxIDUuNjYxNzZDNjQuNjg4MSAzLjQ3NjM1IDY0LjkyOTIgMi4xODE2OSA2NS40MDQ1IDEuODEzNzlaIiBmaWxsPSIjMjU0NzdCIi8+CjxwYXRoIGQ9Ik05Mi44NDYzIDAuMjgyNDRINzguOTgyNFYxLjQ2OTQ0SDg0Ljg4MzVWMTEuMDQ5OEg4Ni45OTg2VjEuNDY5NDRIOTIuODQ2M1YwLjI4MjQ0WiIgZmlsbD0iIzI1NDc3QiIvPgo8cGF0aCBkPSJNMTAwLjMxOCAwLjI4MjQ0SDk3LjQxMTVMOTAuNzQwMiAxMS4wNDk4SDkyLjk4NTRMOTQuMzc3NCA4Ljc4NDE3SDEwMy40OThMMTA0LjkwMyAxMS4wNDk4SDEwNy4xMjJMMTAwLjMyOSAwLjI5OTA3NkwxMDAuMzE4IDAuMjgyNDRaTTEwMi44NjEgNy44MDg4MUg5NS4wMDFMOTguOTA0OCAxLjM3MTE3TDEwMi44NjEgNy44MDg4MVoiIGZpbGw9IiMyNTQ3N0IiLz4KPHBhdGggZD0iTTEyMC4yMDcgNS40MDM2OEMxMjEuNjkxIDUuMDczOTMgMTIyLjQ0MiA0LjMxNDYgMTIyLjQ0MiAzLjE0NTU0QzEyMi40NDIgMS45NzI5MiAxMjIuMDkxIDEuMTkyOTIgMTIxLjM5NyAwLjgyNzc1NEMxMjAuNzA5IDAuNDY1Nzk2IDExOS4yMzcgMC4yODI0NCAxMTcuMDIyIDAuMjgyNDRIMTA4Ljk3N1YxMS4wNDk4SDExNy44ODRDMTE5Ljc1NyAxMS4wNDk4IDEyMS4wOTEgMTAuODE1OCAxMjEuODUgMTAuMzU0MkMxMjIuNjEzIDkuODkwMDEgMTIzIDkuMDc2MzggMTIzIDcuOTM1ODRDMTIzIDYuNTQ2MzYgMTIyLjA2IDUuNjk0ODIgMTIwLjIwNyA1LjQwMzY4Wk0xMTkuNzA0IDQuNjI5NUMxMTkuMjIgNC44NjYzMyAxMTguMTE4IDQuOTg2MjMgMTE2LjQyNiA0Ljk4NjIzSDExMS4wOTJWMS4zNjc0OEgxMTYuOTgzQzExOC40MjggMS4zNjc0OCAxMTkuMzc1IDEuNDczIDExOS43OTYgMS42ODA5NkMxMjAuMjExIDEuODg1NTggMTIwLjQyIDIuMzQ2NTMgMTIwLjQyIDMuMDUxNTVDMTIwLjQyIDMuODY1NjYgMTIwLjE4IDQuMzk2NTkgMTE5LjcwNCA0LjYyOTVaTTExMS4wOTIgNi4wNzEyN0gxMTYuMzJDMTE4LjQ2MSA2LjA3MTI3IDExOS43ODkgNi4xNzk3NiAxMjAuMjY5IDYuMzkzM0MxMjAuNzM5IDYuNjAzMzkgMTIwLjk3OCA3LjE4NTU1IDEyMC45NzggOC4xMjM3MUMxMjAuOTc4IDguODc1NDMgMTIwLjc0MSA5LjM3MzgxIDEyMC4yNzQgOS42MDM5OUMxMTkuOCA5LjgzODIgMTE4Ljc3NyA5Ljk1NzAzIDExNy4yMzUgOS45NTcwM0wxMTUuMzkxIDkuOTY0NTJIMTExLjA5MlY2LjA3MTI3WiIgZmlsbD0iIzI1NDc3QiIvPgo8cGF0aCBkPSJNMCAwLjI3NzM1MUgyLjk4NzI1VjEuNTE1OEMzLjQ5ODA3IDEuMDA3MjEgNC4wNjYzOCAwLjYyNzU0NCA0LjY4OTk1IDAuMzc2NDU1QzUuMzE0NyAwLjEyNTYwNCA1Ljk5NDg0IDAgNi43MzI3MiAwQzcuNDc2OTEgMCA4LjE0ODc4IDAuMTY1MjkzIDguNzQ3MTQgMC40OTUyODZDOS4zNDYxNyAwLjgyNTUxNiA5LjgyNzg2IDEuMzA3ODUgMTAuMTkzMyAxLjk0MTgxQzEwLjY2NzcgMS4zMDc4NSAxMS4yNDk2IDAuODI1NTE2IDExLjkzOTggMC40OTUyODZDMTIuNjMgMC4xNjUyOTMgMTMuMzgzNSAwIDE0LjIwMTQgMEMxNS4wNDc1IDAgMTUuNzkyNiAwLjE3ODI0NiAxNi40MzQ2IDAuNTM0OTc1QzE3LjA3NzYgMC44OTE3MDQgMTcuNTM5IDEuMzU3MjggMTcuODIwNyAxLjkzMjA3QzE4LjEwMTggMi41MDY2MSAxOC4yNDIgMy40NDEyMSAxOC4yNDIgNC43MzU3NVYxMS4wNTY1SDE1LjIzMjZWNS41ODc4OUMxNS4yMzI2IDQuMzY1OTUgMTUuMDY0OSAzLjUzODU0IDE0LjcyOTIgMy4xMDYxMUMxNC4zOTM4IDIuNjczMzMgMTMuODkwMyAyLjQ1NzE4IDEzLjIxOTEgMi40NTcxOEMxMi43MDg1IDIuNDU3MTggMTIuMjUwOSAyLjU4OTIgMTEuODQ1NyAyLjg1MzI0QzExLjQ0MSAzLjExNzUyIDExLjE0IDMuNDgyMzMgMTAuOTQzIDMuOTQ4MDNDMTAuNzQ2MSA0LjQxMzcyIDEwLjY0NzYgNS4xNjE2NCAxMC42NDc2IDYuMTkxOVYxMS4wNTY0SDcuNjM4MjJWNS44MzU1M0M3LjYzODIyIDQuODcxMjIgNy41NTk5OSA0LjE3MjczIDcuNDAyMSAzLjc0MDE5QzcuMjQ1MTIgMy4zMDc0MSA3LjAwOSAyLjk4NTUgNi42OTUzMiAyLjc3NDFDNi4zODA3MSAyLjU2MjU4IDYuMDAwNzQgMi40NTcxOCA1LjU1NDM2IDIuNDU3MThDNS4wNTY2NiAyLjQ1NzE4IDQuNjA1MDMgMi41OTA4NiA0LjE5OTQ3IDIuODU4MzVDMy43OTMzOCAzLjEyNTk2IDMuNDg5OTMgMy41MDA1MSAzLjI4OTI1IDMuOTgyODRDMy4wODc2NSA0LjQ2NDk0IDIuOTg3MjUgNS4yMjQ1IDIuOTg3MjUgNi4yNjE2NlYxMS4wNTY1SDBWMC4yNzczNTFaIiBmaWxsPSIjMDA3OEQzIi8+CjxwYXRoIGQ9Ik0xOC44MTg0IDAuMjc3MzY3SDIxLjg3MTJMMjQuOTYzOSA3LjA0MDg1TDI4LjM3NjkgMC4yNzczNjdIMzEuNDM4M0wyMy45ODE2IDE1SDIwLjg5NjZMMjMuMzQ0IDEwLjI1MjdMMTguODE4NCAwLjI3NzM2N1oiIGZpbGw9IiMwMDc4RDMiLz4KPC9zdmc+Cg==";
4
4
  export declare const navHeaderImageCollapsed = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzOCIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDM4IDEzIiBmaWxsPSJub25lIj4KPHBhdGggZD0iTTE1LjE5OTcgMC4yMjU0NTdIMTcuNjAyOEwyMC4wMzczIDYuMDk0TDIyLjcyNCAwLjIyNTQ1N0gyNS4xMzM5TDE5LjI2NDEgMTNIMTYuODM1NkwxOC43NjIyIDguODgwODhMMTUuMTk5NyAwLjIyNTQ1N1oiIGZpbGw9IiMwMDc4RDMiLz4KPHBhdGggZD0iTTAuMzg2NzE5IDAuMjQwNjUySDIuNzM4MjVWMS4zMTUyM0MzLjE0MDM2IDAuODczOTM1IDMuNTg3NzMgMC41NDQ1MDggNC4wNzg2IDAuMzI2NjQzQzQuNTcwMzkgMC4xMDg5ODQgNS4xMDU3OSAwIDUuNjg2NjUgMEM2LjI3MjQ2IDAgNi44MDEzNSAwLjE0MzQyMiA3LjI3MjM4IDAuNDI5NzVDNy43NDM5MiAwLjcxNjI4NCA4LjEyMzEgMS4xMzQ4IDguNDEwNzQgMS42ODQ4N0M4Ljc4NDI0IDEuMTM0OCA5LjI0MjI1IDAuNzE2Mjg0IDkuNzg1NiAwLjQyOTc1QzEwLjMyODkgMC4xNDM0MjIgMTAuOTIyMSAwIDExLjU2NTkgMEMxMi4yMzIgMCAxMi44MTg1IDAuMTU0NjYgMTMuMzIzOCAwLjQ2NDE4OEMxMy44MyAwLjc3MzcxNSAxNC4xOTMzIDEuMTc3NjkgMTQuNDE1IDEuNjc2NDJDMTQuNjM2MyAyLjE3NDk0IDE0Ljc0NjYgMi45ODU4NyAxNC43NDY2IDQuMTA5MTJWOS41OTM0OEgxMi4zNzc3VjQuODQ4NUMxMi4zNzc3IDMuNzg4MjUgMTIuMjQ1NiAzLjA3MDMyIDExLjk4MTQgMi42OTUxMUMxMS43MTczIDIuMzE5NiAxMS4zMjEgMi4xMzIwNSAxMC43OTI2IDIuMTMyMDVDMTAuMzkwNyAyLjEzMjA1IDEwLjAzMDUgMi4yNDY2IDkuNzExNTIgMi40NzU3QzkuMzkyOTkgMi43MDUwMSA5LjE1NTk4IDMuMDIxNTUgOS4wMDA4OSAzLjQyNTYzQzguODQ1OTIgMy44Mjk3IDguNzY4NDMgNC40Nzg2NiA4Ljc2ODQzIDUuMzcyNTlWOS41OTMzOEg2LjM5OTQ0VjUuMDYzMzhDNi4zOTk0NCA0LjIyNjY2IDYuMzM3ODYgMy42MjA2IDYuMjEzNTcgMy4yNDUyOUM2LjA5IDIuODY5NzggNS45MDQxMyAyLjU5MDQ2IDUuNjU3MiAyLjQwNzAzQzUuNDA5NTQgMi4yMjM1IDUuMTEwNDQgMi4xMzIwNSA0Ljc1OTA1IDIuMTMyMDVDNC4zNjcyNyAyLjEzMjA1IDQuMDExNzUgMi4yNDgwNCAzLjY5MjUgMi40ODAxNEMzLjM3MjgzIDIuNzEyMzMgMy4xMzM5NiAzLjAzNzMzIDIuOTc1OTggMy40NTU4NEMyLjgxNzI5IDMuODc0MTQgMi43MzgyNSA0LjUzMzIgMi43MzgyNSA1LjQzMzEyVjkuNTkzNDhIMC4zODY3MTlWMC4yNDA2NTJaIiBmaWxsPSIjMDA3OEQzIi8+CjxwYXRoIGQ9Ik0zNy41Njg1IDQuODc0NjhIMzEuNDA3N1Y1LjgxNjI2SDM1Ljk0MjlDMzUuOTk1MiA2LjA5NTM3IDM2LjAyMTYgNi4yNzgwNyAzNi4wMjE2IDYuMzU5MTJDMzYuMDIxNiA3LjQxODQ0IDM1LjgyMDYgOC4wODA5IDM1LjQyNDMgOC4zMjc5NEMzNS4wMjQgOC41Nzc5OCAzMy45NTYyIDguNzA0NDkgMzIuMjUwNiA4LjcwNDQ5QzMwLjAxNzcgOC43MDQ0OSAyOC42MjYgOC41NzA2NiAyOC4xMTQ0IDguMzA2MzlDMjcuNjA4NiA4LjA0NTUzIDI3LjM1MjMgNy4zMjg3MyAyNy4zNTIzIDYuMTc1MjhMMjcuMzQxOSA0Ljg0OTQyTDI3LjM2MjcgMy42MTc4MUMyNy4zNjI3IDIuNDgxODggMjcuNTkzNSAxLjc2MzQzIDI4LjA0ODUgMS40ODIyNkMyOC41MDc5IDEuMTk4NDEgMjkuNjc1OSAxLjA1NDQ3IDMxLjUyIDEuMDU0NDdDMzMuNTE4MSAxLjA1NDQ3IDM0Ljc3MDIgMS4xNDQzOCAzNS4yNDE3IDEuMzIxMzFDMzUuNzAzOCAxLjQ5NTE1IDM1LjkzODEgMS45NTg4MiAzNS45MzgxIDIuNjk5MzNWMi45NTkxNkgzNy41NzE3VjIuNTc2ODRDMzcuNTcxNyAxLjUzOTU5IDM3LjIxMSAwLjg2MTI0NiAzNi40OTk5IDAuNTYwNjlDMzUuNzk2MyAwLjI2MzUzNSAzNC4yMTU2IDAuMTEyNzkzIDMxLjgwMTcgMC4xMTI3OTNDMjkuMzkzMiAwLjExMjc5MyAyNy43Njc3IDAuMzQyOTI4IDI2Ljk3IDAuNzk2NzAxQzI2LjE2NzQgMS4yNTM3NyAyNS43NjA0IDIuMTg0NDIgMjUuNzYwNCAzLjU2Mjc1TDI1Ljc1IDQuMzg2MzdMMjUuNzYwNCA1Ljc1MzY3QzI1Ljc2MDQgNy4zOTMzOCAyNi4xMjY1IDguNDY0NDYgMjYuODQ4NSA4LjkzNzQxQzI3LjU2NjYgOS40MDc0NyAyOS4yMDE0IDkuNjQ1OTYgMzEuNzA3OCA5LjY0NTk2QzM0LjM1OTIgOS42NDU5NiAzNi4wMjM3IDkuNDQ0NDkgMzYuNjU1MyA5LjA0NjZDMzcuMjkxIDguNjQ2MDMgMzcuNjEzMyA3LjU5Mjg5IDM3LjYxMzMgNS45MTY5OUMzNy42MTMzIDUuNDg0MDUgMzcuNTk5MyA1LjE0MTk0IDM3LjU3MTMgNC45MDAwNUwzNy41Njg1IDQuODc0NjhaIiBmaWxsPSIjMjU0NzdCIi8+Cjwvc3ZnPg==";
5
5
  export declare const detectOverlayScrollbar: () => boolean;
6
6
  export declare function isImageUrl(str?: string | ReactNode): boolean;
7
- export declare const filterPrimaryNavItems: <T extends {
8
- children?: ReactNode;
9
- }>(element: ReactElement<T>, isNegative: boolean) => ReactElement<T> | null;
7
+ export declare const filterPrimaryNavItems: <T extends PropsWithChildren>(element: ReactElement<T>, isNegative: boolean) => ReactElement<T> | null;
10
8
  export declare const collectNavItems: (element: ReactElement) => (ReactElement<ILinkNavItem> | ReactElement<IButtonNavItem>)[];
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./overview.less";
3
2
  export declare enum OverviewOptionsType {
4
3
  Positive = "positive",
@@ -12,5 +12,5 @@ interface IPageHeaderComponents {
12
12
  }
13
13
  export declare const PageHeaderDisplayName = "PageHeader";
14
14
  export declare const PageHeaderInner: React.FC<IPageHeader>;
15
- export declare const PageHeader: React.FC<IPageHeader> & IPageHeaderComponents;
15
+ export declare const PageHeader: typeof PageHeaderInner & IPageHeaderComponents;
16
16
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IButton } from "../button/button";
3
2
  import { TButtonIconPosition } from "../textIconButton/textIconButton";
4
3
  import { TSvgIconSize } from "../svgIcon/svgIconSize";
@@ -1,4 +1,4 @@
1
1
  import { ReactElement } from "react";
2
2
  import React from "react";
3
- export declare const getItemsFromFragments: <T extends ReactElement<unknown, string | React.JSXElementConstructor<any>>>(items: T[]) => T[];
3
+ export declare const getItemsFromFragments: <T extends ReactElement>(items: T[]) => T[];
4
4
  export declare const regulatePageHeaderChildren: (children: ReactElement | ReactElement[] | (ReactElement | null | undefined)[] | null | undefined) => ReactElement<unknown, string | React.JSXElementConstructor<any>>[][];
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IIcon } from "../icons/icon";
3
2
  import { IHeaderMenu } from "../header/headerMenu";
4
3
  export interface IPageHeaderMenu extends Omit<IHeaderMenu, "important" | "icon" | "inContextMenu"> {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { PaginationType } from "./paginationType";
3
2
  export type TArrowsValue = "previous" | "next";
4
3
  export interface IPaginationArrow {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IZenComponentProps } from "../../commonHelpers/zenComponent";
3
2
  import { IIcon } from "../../icons/icon";
4
3
  export type TPillSize = "default" | "fullWidth" | Omit<string, "default" | "fullWidth">;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IPillData } from "../pillBox";
3
2
  import "./pillBoxItem.less";
4
3
  interface IPillItem {
@@ -6,6 +5,6 @@ interface IPillItem {
6
5
  onRemove: (value: string) => void;
7
6
  className: string;
8
7
  }
9
- export declare const PillBoxItem: import("react").NamedExoticComponent<IPillItem>;
8
+ export declare const PillBoxItem: import("react").MemoExoticComponent<({ item, onRemove, className }: IPillItem) => import("react/jsx-runtime").JSX.Element>;
10
9
  export declare const TRANSLATIONS: string[];
11
10
  export {};
@@ -0,0 +1,39 @@
1
+ import "./progressIndicator.less";
2
+ import { IZenComponentProps } from "../commonHelpers/zenComponent";
3
+ export declare enum ProgressIndicatorType {
4
+ Positive = "positive",
5
+ Negative = "negative",
6
+ Default = "default",
7
+ Warning = "warning"
8
+ }
9
+ export interface IProgressIndicator extends Pick<IZenComponentProps, "className"> {
10
+ /**
11
+ * Accessible name describing what the value measures (e.g. `"Route progress"`).
12
+ * Applied as `aria-label` on the `progressbar` element, which requires a name.
13
+ * Not rendered visually — provide a localized string. Required.
14
+ */
15
+ label: string;
16
+ /** Lower bound of the value scale. Defaults to `0`. */
17
+ min?: number;
18
+ /** Upper bound of the value scale. Defaults to `100`. */
19
+ max?: number;
20
+ /** Current value on the `[min, max]` scale. Clamped into range. Defaults to `0`. */
21
+ now?: number;
22
+ /** Fill color category, mapped to design tokens. Defaults to {@link ProgressIndicatorType.Default}. */
23
+ type?: ProgressIndicatorType;
24
+ }
25
+ /**
26
+ * A compact, pill-shaped progress visual built for table cells.
27
+ *
28
+ * Presentational and grid-agnostic — use it inside a data grid column's inline
29
+ * `render`. It is distinct from `ProgressBar`: it exposes categorical fill
30
+ * colors (positive / negative / default / warning) rather than low/average/high
31
+ * semantics, and always renders as a full-width pill.
32
+ *
33
+ * A `label` is required: it names the `progressbar` for assistive technology
34
+ * (applied as `aria-label`) and is not rendered visually.
35
+ */
36
+ export declare const ProgressIndicator: {
37
+ ({ label, min, max, now, type, className }: IProgressIndicator): import("react/jsx-runtime").JSX.Element;
38
+ displayName: string;
39
+ };
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { classNames } from "../commonHelpers/classNames/classNames";
3
+ import { getProgressIndicatorPercent, getProgressIndicatorValue } from "./progressIndicatorUtils";
4
+ export var ProgressIndicatorType;
5
+ (function (ProgressIndicatorType) {
6
+ ProgressIndicatorType["Positive"] = "positive";
7
+ ProgressIndicatorType["Negative"] = "negative";
8
+ ProgressIndicatorType["Default"] = "default";
9
+ ProgressIndicatorType["Warning"] = "warning";
10
+ })(ProgressIndicatorType || (ProgressIndicatorType = {}));
11
+ /**
12
+ * A compact, pill-shaped progress visual built for table cells.
13
+ *
14
+ * Presentational and grid-agnostic — use it inside a data grid column's inline
15
+ * `render`. It is distinct from `ProgressBar`: it exposes categorical fill
16
+ * colors (positive / negative / default / warning) rather than low/average/high
17
+ * semantics, and always renders as a full-width pill.
18
+ *
19
+ * A `label` is required: it names the `progressbar` for assistive technology
20
+ * (applied as `aria-label`) and is not rendered visually.
21
+ */
22
+ export const ProgressIndicator = ({ label, min = 0, max = 100, now = 0, type = ProgressIndicatorType.Default, className }) => {
23
+ const percent = getProgressIndicatorPercent(min, max, now);
24
+ return (_jsx("div", { className: classNames(["zen-progress-indicator", className !== null && className !== void 0 ? className : ""]), children: _jsx("div", { className: classNames(["zen-progress-indicator__fill", `zen-progress-indicator__fill--${type}`]), role: "progressbar", "aria-label": label, "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": getProgressIndicatorValue(min, max, now), style: { width: `${percent}%` } }) }));
25
+ };
26
+ ProgressIndicator.displayName = "ProgressIndicator";
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Clamps `now` into the inclusive `[min, max]` range so callers can never
3
+ * over- or under-fill the track. Returns `min` when the range is invalid
4
+ * (`max <= min`).
5
+ */
6
+ export declare const getProgressIndicatorValue: (min: number, max: number, now: number) => number;
7
+ /**
8
+ * Converts a value on the `[min, max]` scale to a fill percentage in the
9
+ * inclusive `[0, 100]` range, rounded to {@link PROGRESS_INDICATOR_PRECISION}
10
+ * decimals. Returns `0` when the range is invalid (`max <= min`).
11
+ */
12
+ export declare const getProgressIndicatorPercent: (min: number, max: number, now: number) => number;
@@ -0,0 +1,25 @@
1
+ const PROGRESS_INDICATOR_PRECISION = 2;
2
+ /**
3
+ * Clamps `now` into the inclusive `[min, max]` range so callers can never
4
+ * over- or under-fill the track. Returns `min` when the range is invalid
5
+ * (`max <= min`).
6
+ */
7
+ export const getProgressIndicatorValue = (min, max, now) => {
8
+ if (max <= min) {
9
+ return min;
10
+ }
11
+ return Math.min(Math.max(now, min), max);
12
+ };
13
+ /**
14
+ * Converts a value on the `[min, max]` scale to a fill percentage in the
15
+ * inclusive `[0, 100]` range, rounded to {@link PROGRESS_INDICATOR_PRECISION}
16
+ * decimals. Returns `0` when the range is invalid (`max <= min`).
17
+ */
18
+ export const getProgressIndicatorPercent = (min, max, now) => {
19
+ if (max <= min) {
20
+ return 0;
21
+ }
22
+ const clamped = getProgressIndicatorValue(min, max, now);
23
+ const percent = ((clamped - min) / (max - min)) * 100;
24
+ return Number(percent.toFixed(PROGRESS_INDICATOR_PRECISION));
25
+ };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Exclusive } from "../commonHelpers/types/exclusive";
3
2
  import { IReactFormItemController, IZenComponentProps } from "../commonHelpers/zenComponent";
4
3
  import { IRadio } from "../radio/radio";
@@ -12,18 +12,18 @@ export declare function cloneData<TType extends ChartType = ChartType, TData = D
12
12
  * @param event - Mouse click event
13
13
  * @returns Dataset
14
14
  */
15
- export declare function getDatasetAtEvent(chart: Chart, event: MouseEvent<HTMLCanvasElement>): import("chart.js/auto").InteractionItem[];
15
+ export declare function getDatasetAtEvent(chart: Chart, event: MouseEvent<HTMLCanvasElement>): import("chart.js").InteractionItem[];
16
16
  /**
17
17
  * Get single dataset element from mouse click event
18
18
  * @param chart - Chart.js instance
19
19
  * @param event - Mouse click event
20
20
  * @returns Dataset
21
21
  */
22
- export declare function getElementAtEvent(chart: Chart, event: MouseEvent<HTMLCanvasElement>): import("chart.js/auto").InteractionItem[];
22
+ export declare function getElementAtEvent(chart: Chart, event: MouseEvent<HTMLCanvasElement>): import("chart.js").InteractionItem[];
23
23
  /**
24
24
  * Get all dataset elements from mouse click event
25
25
  * @param chart - Chart.js instance
26
26
  * @param event - Mouse click event
27
27
  * @returns Dataset
28
28
  */
29
- export declare function getElementsAtEvent(chart: Chart, event: MouseEvent<HTMLCanvasElement>): import("chart.js/auto").InteractionItem[];
29
+ export declare function getElementsAtEvent(chart: Chart, event: MouseEvent<HTMLCanvasElement>): import("chart.js").InteractionItem[];
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Exclusive } from "../commonHelpers/types/exclusive";
3
2
  import { IReactFormItemController } from "../commonHelpers/zenComponent";
4
3
  export interface ISearchInputRawBase {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
- export declare const SelectField: ({ ...props }: import("../select/select").TSelect & {
3
- children?: import("react").ReactNode;
1
+ export declare const SelectField: ({ ...props }: import("..").TSelect & {
2
+ children?: React.ReactNode;
4
3
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { CheckboxState } from "../checkbox/checkboxState";
3
2
  import "./selectList.less";
4
3
  import { ISelectListItem } from "./selectListItem";
@@ -15,6 +15,7 @@ import { usePopupWidth } from "./hooks/usePopupWidth";
15
15
  import { ReviewTextControl } from "../formGroup/components/reviewTextControl";
16
16
  import { useFormFieldValues } from "../commonHelpers/hooks/useFormFieldValues/useFormFieldValues";
17
17
  import { zen } from "../utils/zen";
18
+ import { useDriveClassName } from "../utils/theme/useDriveClassName";
18
19
  // get default active item (based on items array)
19
20
  const getItemById = (items, id) => items.find(item => item.id === id);
20
21
  const closedListActionGetters = {
@@ -44,6 +45,7 @@ const openListActionGetters = {
44
45
  const PassiveSelectListComp = React.memo(PassiveSelectList);
45
46
  export const SelectRaw = (props) => {
46
47
  var _a, _b;
48
+ const driveComponentClass = useDriveClassName("zen-text-input");
47
49
  const { id, title, pageSize = 10, placeholder, className, classNamePopup, items: outerItems, isError, isReadOnly, ref: selectRef, forceSelection = false } = props;
48
50
  const { value, onChange, onBlur, disabled } = useFormFieldValues(props.controller, props);
49
51
  const items = React.useMemo(() => outerItems, [outerItems]);
@@ -140,6 +142,7 @@ export const SelectRaw = (props) => {
140
142
  return (_jsxs("div", { className: classes, ref: ref, children: [_jsxs("div", { "aria-controls": listId, "aria-expanded": isOpen, "aria-haspopup": "listbox", "aria-label": title, "aria-disabled": disabled, id: id, className: classNames([
141
143
  "zen-select__trigger",
142
144
  "zen-text-input",
145
+ driveComponentClass || "",
143
146
  isError ? "zen-text-input--error" : "",
144
147
  "zen-caption zen-caption--full-width"
145
148
  ]), role: "combobox", tabIndex: disabled ? -1 : 0, "aria-activedescendant": isOpen && state.activeIndex > -1 ? items[state.activeIndex].id : undefined, onClick: onPopupVisibilityChange, onKeyDown: onTriggerKeyDown, onBlur: onBlurHandler, ref: innerTriggerRef, children: [_jsx("div", { className: classNames([
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./sidePanelCell.less";
3
2
  import { IZenComponentProps } from "../../commonHelpers/zenComponent";
4
3
  export interface ISidePanelCell extends IZenComponentProps {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IEntityWithId } from "../../commonHelpers/entity";
3
2
  interface IActionsMenuProps<T extends object> {
4
3
  entity: T;
@@ -1,11 +1,11 @@
1
1
  import { ReactElement, ReactNode, RefObject } from "react";
2
2
  export declare const useTableChildren: (children: ReactNode, isMobile: boolean, selected: number, allSelected: boolean, clearSelection: () => void, activeId?: string, gridRef?: RefObject<HTMLElement | null>, onCloseDetailPanel?: () => void) => {
3
- bulkActions: ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | undefined;
4
- pagination: ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | undefined;
5
- activePage: number | undefined;
6
- fullscreenButton: ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | undefined;
7
- emptyList: ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | undefined;
8
- footer: ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | undefined;
9
- detailPanel: ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | undefined;
3
+ bulkActions: ReactElement | undefined;
4
+ pagination: ReactElement | undefined;
5
+ activePage: undefined;
6
+ fullscreenButton: ReactElement | undefined;
7
+ emptyList: ReactElement | undefined;
8
+ footer: ReactElement | undefined;
9
+ detailPanel: ReactElement | undefined;
10
10
  other: ReactNode[];
11
11
  };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface IDetailPanelHeader {
3
2
  id?: string | undefined;
4
3
  title?: string | ((id: string) => string | React.JSX.Element | null);