@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
@@ -1,15 +1,13 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
1
+ import { injectString } from "../utils/localization/translationsDictionary";
2
+ var __rest = this && this.__rest || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
6
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
7
+ }
8
+ return t;
11
9
  };
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
11
  import { useCallback, useContext, useEffect, useId, useMemo, useRef } from "react";
14
12
  import { Pie } from "../react-chartjs/typedCharts";
15
13
  import { Chart as ChartJS, PieController, ArcElement } from "chart.js/auto";
@@ -31,69 +29,164 @@ import { AccessibleChart } from "./accessibleChart/accessibleChart";
31
29
  import { centerTextPlugin } from "./pieChart/centerTextPlugin";
32
30
  import { pieLegendPlugin } from "./pieChart/pieLegendPlugin";
33
31
  import { legendPlugin } from "./plugins/legend/legendPlugin";
32
+ import { useLanguage } from "../utils/localization/useLanguage";
33
+ injectString("cs", "Pie chart", "V\xFDse\u010Dov\xFD graf");
34
+ injectString("da-DK", "Pie chart", "Cirkeldiagram");
35
+ injectString("de", "Pie chart", "Kreisdiagramm");
36
+ injectString("en", "Pie chart", "Pie chart");
37
+ injectString("es", "Pie chart", "Gr\xE1fico de torta");
38
+ injectString("fi-FI", "Pie chart", "Ympyr\xE4kaavio");
39
+ injectString("fr", "Pie chart", "Graphique \xE0 secteurs");
40
+ injectString("fr-FR", "Pie chart", "Diagramme circulaire");
41
+ injectString("hu-HU", "Pie chart", "Keresztdiagram");
42
+ injectString("id", "Pie chart", "Bagan pai");
43
+ injectString("it", "Pie chart", "Grafico a torta");
44
+ injectString("ja", "Pie chart", "\u5186\u30B0\u30E9\u30D5");
45
+ injectString("ko-KR", "Pie chart", "\uD30C\uC774 \uCC28\uD2B8");
46
+ injectString("ms", "Pie chart", "Carta pai");
47
+ injectString("nb-NO", "Pie chart", "Sirkeldiagram");
48
+ injectString("nl", "Pie chart", "Cirkeldiagram");
49
+ injectString("pl", "Pie chart", "Wykres ko\u0142owy");
50
+ injectString("pt-BR", "Pie chart", "Gr\xE1fico de pizza");
51
+ injectString("pt-PT", "Pie chart", "Gr\xE1fico de setores");
52
+ injectString("sk-SK", "Pie chart", "Kol\xE1\u010Dov\xFD graf");
53
+ injectString("sv", "Pie chart", "Cirkeldiagram");
54
+ injectString("th", "Pie chart", "\u0E41\u0E1C\u0E19\u0E20\u0E39\u0E21\u0E34\u0E27\u0E07\u0E01\u0E25\u0E21");
55
+ injectString("tr", "Pie chart", "Pasta grafik");
56
+ injectString("zh-Hans", "Pie chart", "\u997C\u56FE");
57
+ injectString("zh-TW", "Pie chart", "\u5713\u5F62\u5716");
58
+ injectString("ro-RO", "Pie chart", "Diagram\u0103 circular\u0103");
59
+ injectString("ar", "Pie chart", "\u0645\u062E\u0637\u0637 \u062F\u0627\u0626\u0631\u064A");
60
+ injectString("lt-LT", "Pie chart", "Skritulin\u0117 diagrama");
61
+ injectString("lv-LV", "Pie chart", "Sektoru diagramma");
62
+ injectString("ka-GE", "Pie chart", "\u10EC\u10E0\u10D8\u10E3\u10DA\u10D8 \u10E1\u10E5\u10D4\u10DB\u10D0");
63
+ injectString("el-GR", "Pie chart", "\u0393\u03C1\u03AC\u03C6\u03B7\u03BC\u03B1 \u03C0\u03AF\u03C4\u03B1\u03C2");
64
+ injectString("et-EE", "Pie chart", "Sektordiagramm");
65
+ injectString("bg-BG", "Pie chart", "\u041A\u0440\u044A\u0433\u043E\u0432\u0430 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u0430");
34
66
  ChartJS.register(PieController, ArcElement);
35
- export const PieChart = (_a) => {
36
- var { data, options = {}, insight, summary, legend, tooltip, plugins, className } = _a, rest = __rest(_a, ["data", "options", "insight", "summary", "legend", "tooltip", "plugins", "className"]);
37
- const { isHorizontal } = options;
38
- const isDrive = useDrive();
39
- const isMobile = useMobile();
40
- const fontSize = useMemo(() => (isDrive ? (isMobile ? 14 : 16) : 12), [isDrive, isMobile]);
41
- const { dark } = useContext(themeContext);
42
- const legendId = useId();
43
- const tooltipId = useId();
44
- const containerRef = useRef(null);
45
- useEffect(() => {
46
- var _a;
47
- const el = containerRef.current;
48
- const styles = el ? (_a = zen.getComputedStyle) === null || _a === void 0 ? void 0 : _a.call(zen, el) : undefined;
49
- const fontFamily = (styles === null || styles === void 0 ? void 0 : styles.getPropertyValue("--main-font").trim()) || "Roboto";
50
- const color = (styles === null || styles === void 0 ? void 0 : styles.getPropertyValue("--text-primary").trim()) || "";
51
- ChartJS.defaults.font = {
52
- family: fontFamily,
53
- size: fontSize
54
- };
55
- ChartJS.defaults.color = color;
56
- }, [fontSize, dark]);
57
- const defOptions = useMemo(() => getDefaultOptions(), []);
58
- const chartOptions = deepMerge(defOptions, options);
59
- const { isHidden, toggleHidden: rawToggle } = useHidden();
60
- const pieData = data.datasets[0].data;
61
- const toggleHidden = useCallback((index) => {
62
- if (!isHidden(index)) {
63
- const visibleCount = pieData.filter((_, i) => !isHidden(i)).length;
64
- if (visibleCount <= 1)
65
- return;
66
- }
67
- rawToggle(index);
68
- }, [isHidden, rawToggle, pieData]);
69
- const chartData = useMemo(() => {
70
- const chData = Object.assign({}, data);
71
- chData.datasets = chData.datasets.map(ds => getDefaultDatasetStyle(ds));
72
- chData.datasets[0].data = chData.datasets[0].data.map((value, index) => (isHidden(index) ? 0 : value));
73
- return chData;
74
- }, [data, isHidden]);
75
- const chartTooltip = useMemo(() => TooltipPlugin(tooltipId, tooltip, "left", isHidden, dark), [tooltipId, tooltip, isHidden, dark]);
76
- const effectiveLegend = useMemo(() => (isHorizontal && legend !== false ? Object.assign(Object.assign({}, legend), { position: "right", showBar: true, showPercentage: true }) : legend), [isHorizontal, legend]);
77
- const legendData = useMemo(() => {
78
- var _a;
79
- return (Object.assign(Object.assign({}, data), { datasets: [Object.assign(Object.assign({}, data.datasets[0]), { backgroundColor: (_a = chartData.datasets[0]) === null || _a === void 0 ? void 0 : _a.backgroundColor }), ...data.datasets.slice(1)] }));
80
- }, [data, chartData]);
81
- const chartLegend = useMemo(() => isHorizontal
82
- ? pieLegendPlugin(legendId, effectiveLegend, isDrive, legendData, isHidden, toggleHidden)
83
- : legendPlugin(legendId, legend, isDrive, isHidden, toggleHidden), [isDrive, isHorizontal, effectiveLegend, legend, legendId, legendData, isHidden, toggleHidden]);
84
- const resolvedCenterText = useMemo(() => {
85
- if (!options.centerText)
86
- return undefined;
87
- const { getValue, value, label } = options.centerText;
88
- if (getValue) {
89
- const visibleValues = chartData.datasets[0].data.filter((_, i) => !isHidden(i));
90
- return { value: getValue(visibleValues), label };
91
- }
92
- return { value, label };
93
- }, [options.centerText, chartData, isHidden]);
94
- const chartCenterText = useMemo(() => centerTextPlugin(resolvedCenterText), [resolvedCenterText]);
95
- const chartPlugins = useMemo(() => [...(plugins || []), chartLegend, chartTooltip, chartCenterText], [chartLegend, chartTooltip, chartCenterText, plugins]);
96
- const intSummary = useSummary(summary, chartData);
97
- const legendRight = isHorizontal;
98
- return (_jsxs("div", { ref: containerRef, className: classNames(["zen-chart", legendRight ? "zen-chart--legend-right" : "", className || ""]), children: [insight ? _jsx(ChartInsight, Object.assign({}, insight)) : null, summary ? _jsx(Summary, Object.assign({}, intSummary)) : null, _jsx("div", { className: "zen-chart__chart", children: _jsx(Pie, Object.assign({ options: chartOptions, data: chartData, plugins: chartPlugins }, rest, { "aria-hidden": true })) }), _jsx("div", { className: "zen-chart__legend", id: legendId }), _jsx(AccessibleChart, { type: "pie", data: chartData })] }));
99
- };
67
+ export const PieChart = _a => {
68
+ var {
69
+ data,
70
+ options = {},
71
+ insight,
72
+ summary,
73
+ legend,
74
+ tooltip,
75
+ plugins,
76
+ className
77
+ } = _a,
78
+ rest = __rest(_a, ["data", "options", "insight", "summary", "legend", "tooltip", "plugins", "className"]);
79
+ const {
80
+ isHorizontal
81
+ } = options;
82
+ const {
83
+ translate
84
+ } = useLanguage();
85
+ const isDrive = useDrive();
86
+ const isMobile = useMobile();
87
+ const fontSize = useMemo(() => isDrive ? isMobile ? 14 : 16 : 12, [isDrive, isMobile]);
88
+ const {
89
+ dark
90
+ } = useContext(themeContext);
91
+ const legendId = useId();
92
+ const tooltipId = useId();
93
+ const narrativeId = useId();
94
+ const containerRef = useRef(null);
95
+ useEffect(() => {
96
+ var _a;
97
+ const el = containerRef.current;
98
+ const styles = el ? (_a = zen.getComputedStyle) === null || _a === void 0 ? void 0 : _a.call(zen, el) : undefined;
99
+ const fontFamily = (styles === null || styles === void 0 ? void 0 : styles.getPropertyValue("--main-font").trim()) || "Roboto";
100
+ const color = (styles === null || styles === void 0 ? void 0 : styles.getPropertyValue("--text-primary").trim()) || "";
101
+ ChartJS.defaults.font = {
102
+ family: fontFamily,
103
+ size: fontSize
104
+ };
105
+ ChartJS.defaults.color = color;
106
+ }, [fontSize, dark]);
107
+ const defOptions = useMemo(() => getDefaultOptions(), []);
108
+ const chartOptions = deepMerge(defOptions, options);
109
+ const {
110
+ isHidden,
111
+ toggleHidden: rawToggle
112
+ } = useHidden();
113
+ const pieData = data.datasets[0].data;
114
+ const toggleHidden = useCallback(index => {
115
+ if (!isHidden(index)) {
116
+ const visibleCount = pieData.filter((_, i) => !isHidden(i)).length;
117
+ if (visibleCount <= 1) return;
118
+ }
119
+ rawToggle(index);
120
+ }, [isHidden, rawToggle, pieData]);
121
+ const chartData = useMemo(() => {
122
+ const chData = Object.assign({}, data);
123
+ chData.datasets = chData.datasets.map(ds => getDefaultDatasetStyle(ds));
124
+ chData.datasets[0].data = chData.datasets[0].data.map((value, index) => isHidden(index) ? 0 : value);
125
+ return chData;
126
+ }, [data, isHidden]);
127
+ const chartTooltip = useMemo(() => TooltipPlugin(tooltipId, tooltip, "left", isHidden, dark), [tooltipId, tooltip, isHidden, dark]);
128
+ const effectiveLegend = useMemo(() => isHorizontal && legend !== false ? Object.assign(Object.assign({}, legend), {
129
+ position: "right",
130
+ showBar: true,
131
+ showPercentage: true
132
+ }) : legend, [isHorizontal, legend]);
133
+ const legendData = useMemo(() => {
134
+ var _a;
135
+ return Object.assign(Object.assign({}, data), {
136
+ datasets: [Object.assign(Object.assign({}, data.datasets[0]), {
137
+ backgroundColor: (_a = chartData.datasets[0]) === null || _a === void 0 ? void 0 : _a.backgroundColor
138
+ }), ...data.datasets.slice(1)]
139
+ });
140
+ }, [data, chartData]);
141
+ const chartLegend = useMemo(() => isHorizontal ? pieLegendPlugin(legendId, effectiveLegend, isDrive, legendData, isHidden, toggleHidden) : legendPlugin(legendId, legend, isDrive, isHidden, toggleHidden), [isDrive, isHorizontal, effectiveLegend, legend, legendId, legendData, isHidden, toggleHidden]);
142
+ const resolvedCenterText = useMemo(() => {
143
+ if (!options.centerText) return undefined;
144
+ const {
145
+ getValue,
146
+ value,
147
+ label
148
+ } = options.centerText;
149
+ if (getValue) {
150
+ const visibleValues = chartData.datasets[0].data.filter((_, i) => !isHidden(i));
151
+ return {
152
+ value: getValue(visibleValues),
153
+ label
154
+ };
155
+ }
156
+ return {
157
+ value,
158
+ label
159
+ };
160
+ }, [options.centerText, chartData, isHidden]);
161
+ const chartCenterText = useMemo(() => centerTextPlugin(resolvedCenterText), [resolvedCenterText]);
162
+ const chartPlugins = useMemo(() => [...(plugins || []), chartLegend, chartTooltip, chartCenterText], [chartLegend, chartTooltip, chartCenterText, plugins]);
163
+ const intSummary = useSummary(summary, chartData);
164
+ const legendRight = isHorizontal;
165
+ return _jsxs(_Fragment, {
166
+ children: [_jsxs("div", {
167
+ ref: containerRef,
168
+ className: classNames(["zen-chart", legendRight ? "zen-chart--legend-right" : "", className || ""]),
169
+ tabIndex: 0,
170
+ role: "figure",
171
+ "aria-label": translate("Pie chart"),
172
+ "aria-describedby": narrativeId,
173
+ children: [insight ? _jsx(ChartInsight, Object.assign({}, insight)) : null, summary ? _jsx(Summary, Object.assign({}, intSummary)) : null, _jsx("div", {
174
+ className: "zen-chart__chart",
175
+ children: _jsx(Pie, Object.assign({
176
+ options: chartOptions,
177
+ data: chartData,
178
+ plugins: chartPlugins
179
+ }, rest, {
180
+ "aria-hidden": true
181
+ }))
182
+ }), _jsx("div", {
183
+ className: "zen-chart__legend",
184
+ id: legendId
185
+ })]
186
+ }), _jsx(AccessibleChart, {
187
+ type: "pie",
188
+ data: data,
189
+ narrativeId: narrativeId
190
+ })]
191
+ });
192
+ };
@@ -52,9 +52,32 @@ export const LinePlugin = (containerId, options, isDark) => ({
52
52
  const y = chart.verticalLine.y;
53
53
  const topY = chart.chartArea.top;
54
54
  const bottomY = chart.chartArea.bottom;
55
- drawLine(ctx, x, topY, bottomY);
56
55
  const datasets = chart.data.datasets;
57
56
  let lowestValueY = Infinity;
57
+ const xScale = chart.scales.x;
58
+ let snappedX = x;
59
+ let closestDist = Infinity;
60
+ datasets.forEach((dataset, dsIndex) => {
61
+ if (!chart.isDatasetVisible(dsIndex)) {
62
+ return;
63
+ }
64
+ if (chart.getDatasetMeta(dsIndex).type !== "line") {
65
+ return;
66
+ }
67
+ const dataPoints = dataset.data;
68
+ for (const point of dataPoints) {
69
+ if (point.y === null) {
70
+ continue;
71
+ }
72
+ const px = xScale.getPixelForValue(point.x);
73
+ const dist = Math.abs(px - x);
74
+ if (dist < closestDist) {
75
+ closestDist = dist;
76
+ snappedX = px;
77
+ }
78
+ }
79
+ });
80
+ drawLine(ctx, snappedX, topY, bottomY);
58
81
  const items = datasets
59
82
  .map((dataset, dsIndex) => {
60
83
  if (!chart.isDatasetVisible(dsIndex)) {
@@ -63,8 +86,7 @@ export const LinePlugin = (containerId, options, isDark) => ({
63
86
  if (chart.getDatasetMeta(dsIndex).type !== "line") {
64
87
  return undefined;
65
88
  }
66
- const xScale = chart.scales.x;
67
- const value = getInterpolatedValue(xScale, chart.data, dsIndex, x);
89
+ const value = getInterpolatedValue(xScale, chart.data, dsIndex, snappedX);
68
90
  const yAxisID = dataset.yAxisID || "y";
69
91
  const yScale = chart.scales[yAxisID];
70
92
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
@@ -92,8 +114,8 @@ export const LinePlugin = (containerId, options, isDark) => ({
92
114
  return;
93
115
  }
94
116
  const chartRect = chart.canvas.getBoundingClientRect();
95
- const top = chartRect.top + (lowestValueY || y);
96
- const left = chartRect.left + x;
117
+ const top = chartRect.top + (lowestValueY !== Infinity ? lowestValueY : y);
118
+ const left = chartRect.left + snappedX;
97
119
  if (zen.document === undefined) {
98
120
  return;
99
121
  }
@@ -110,8 +132,8 @@ export const LinePlugin = (containerId, options, isDark) => ({
110
132
  xLabel = scaleLabels[elementIdx];
111
133
  }
112
134
  else {
113
- const xValue = chart.scales.x.getValueForPixel(x);
114
- xLabel = xValue ? chart.scales.x.getLabelForValue(xValue) : undefined;
135
+ const xValue = chart.scales.x.getValueForPixel(snappedX);
136
+ xLabel = xValue !== undefined ? chart.scales.x.getLabelForValue(xValue) : undefined;
115
137
  }
116
138
  renderTooltip(containerId, left + scrollLeft, top + scrollTop, "top", items, options === null || options === void 0 ? void 0 : options.title, options && options.subtitle !== undefined ? options.subtitle : xLabel, (options === null || options === void 0 ? void 0 : options.note) || undefined, isDark);
117
139
  }
@@ -1,3 +1,3 @@
1
1
  import { IBarChartData } from "../barChart/interfaces";
2
2
  import { ILineChartData } from "../lineChart/interfaces";
3
- export declare const convertDates: (data: ILineChartData | IBarChartData, toLocalDateTime: (date: Date | string) => Date) => IBarChartData | ILineChartData;
3
+ export declare const convertDates: (data: ILineChartData | IBarChartData, toLocalDateTime: (date: Date | string) => Date) => typeof data;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Computes a Y-axis min/max pair that:
3
+ * - Fully contains the original [min, max] range.
4
+ * - Splits into exactly `tickCount - 1` equal, "nice" (round-number) steps, so an axis
5
+ * configured with this min/max and `ticks.count = tickCount` renders exactly `tickCount`
6
+ * human-friendly tick values (e.g. 0, 25, 50, 75, 100) instead of arbitrary decimals.
7
+ *
8
+ * This is what allows forcing the same `ticks.count` across multiple Y-axes (see
9
+ * getYAxisTickCount) without sacrificing round-number tick labels: Chart.js's own tick
10
+ * generator produces evenly-spaced (but not necessarily round) values whenever `ticks.count`
11
+ * is combined with an explicit `min`/`max`, so the min/max passed in must already be "niced".
12
+ *
13
+ * **Precondition:** `min <= max`. An inverted range (`min > max`) produces a negative
14
+ * `rawStep`, which causes an early return of the original pair unchanged — Chart.js does not
15
+ * handle inverted axes gracefully. The current call chain enforces this via `normalizeRange`,
16
+ * so the inverted case is unreachable in practice; direct callers must guarantee it themselves.
17
+ */
18
+ export declare const getNiceAxisRange: (min: number, max: number, tickCount: number) => {
19
+ min: number;
20
+ max: number;
21
+ };
@@ -0,0 +1,72 @@
1
+ // Classic "nice numbers" step candidates, used to pick human-friendly tick spacing
2
+ // (e.g. 1, 2, 2.5, 5, 10, 20, 25, 50, 100...) instead of arbitrary decimals. 2.5 is included
3
+ // alongside the more common 1-2-5 sequence because omitting it causes the axis range to
4
+ // overshoot the data significantly more often (e.g. a range of 94 rounds up to a step of 50,
5
+ // i.e. a span of 200, instead of a step of 25, i.e. a span of 100).
6
+ const NICE_STEP_MULTIPLIERS = [1, 2, 2.5, 5];
7
+ /**
8
+ * Returns a sorted list of "nice" step candidates at or above `minStep`, spanning a few orders
9
+ * of magnitude so callers can pick the smallest one that satisfies their range requirement.
10
+ */
11
+ const getNiceStepCandidatesAtLeast = (minStep) => {
12
+ if (!Number.isFinite(minStep) || minStep <= 0) {
13
+ return [];
14
+ }
15
+ const exponent = Math.floor(Math.log10(minStep));
16
+ const candidates = [];
17
+ // Search a window around the raw step's magnitude; one order of magnitude below covers
18
+ // rounding edge cases (e.g. minStep just above a power of ten), and several above ensure
19
+ // we can always find a candidate whose range covers the data even for very large steps.
20
+ for (let e = exponent - 1; e <= exponent + 6; e++) {
21
+ for (const multiplier of NICE_STEP_MULTIPLIERS) {
22
+ candidates.push(multiplier * Math.pow(10, e));
23
+ }
24
+ }
25
+ return candidates.filter(candidate => candidate >= minStep * 0.999).sort((a, b) => a - b);
26
+ };
27
+ /**
28
+ * Rounds `value` to a sensible number of decimal places derived from `step`'s magnitude, to
29
+ * avoid floating point artifacts like 0.30000000000000004 ending up in tick labels.
30
+ */
31
+ const roundToStepPrecision = (value, step) => {
32
+ const decimals = Math.max(0, -Math.floor(Math.log10(step)) + 2);
33
+ const factor = Math.pow(10, decimals);
34
+ return Math.round(value * factor) / factor;
35
+ };
36
+ /**
37
+ * Computes a Y-axis min/max pair that:
38
+ * - Fully contains the original [min, max] range.
39
+ * - Splits into exactly `tickCount - 1` equal, "nice" (round-number) steps, so an axis
40
+ * configured with this min/max and `ticks.count = tickCount` renders exactly `tickCount`
41
+ * human-friendly tick values (e.g. 0, 25, 50, 75, 100) instead of arbitrary decimals.
42
+ *
43
+ * This is what allows forcing the same `ticks.count` across multiple Y-axes (see
44
+ * getYAxisTickCount) without sacrificing round-number tick labels: Chart.js's own tick
45
+ * generator produces evenly-spaced (but not necessarily round) values whenever `ticks.count`
46
+ * is combined with an explicit `min`/`max`, so the min/max passed in must already be "niced".
47
+ *
48
+ * **Precondition:** `min <= max`. An inverted range (`min > max`) produces a negative
49
+ * `rawStep`, which causes an early return of the original pair unchanged — Chart.js does not
50
+ * handle inverted axes gracefully. The current call chain enforces this via `normalizeRange`,
51
+ * so the inverted case is unreachable in practice; direct callers must guarantee it themselves.
52
+ */
53
+ export const getNiceAxisRange = (min, max, tickCount) => {
54
+ if (!Number.isFinite(min) || !Number.isFinite(max) || tickCount < 2) {
55
+ return { min, max };
56
+ }
57
+ const safeMax = min === max ? min + 1 : max;
58
+ const rawStep = (safeMax - min) / (tickCount - 1);
59
+ if (!(rawStep > 0)) {
60
+ return { min, max: safeMax };
61
+ }
62
+ const candidates = getNiceStepCandidatesAtLeast(rawStep);
63
+ for (const step of candidates) {
64
+ const niceMin = Math.floor(min / step) * step;
65
+ const niceMax = niceMin + step * (tickCount - 1);
66
+ if (niceMax >= safeMax) {
67
+ return { min: roundToStepPrecision(niceMin, step), max: roundToStepPrecision(niceMax, step) };
68
+ }
69
+ }
70
+ // Should be unreachable given the generated candidate range, but fall back safely.
71
+ return { min, max: safeMax };
72
+ };
@@ -3,12 +3,12 @@ export const getRange = (data) => {
3
3
  const { min, max } = getMinMax(data);
4
4
  let range = max - min;
5
5
  if (range === 0) {
6
- range = min * 0.1;
6
+ range = Math.abs(min) * 0.1;
7
7
  }
8
8
  const suggestedMin = min - range * 0.1;
9
9
  const suggestedMax = max + range * 0.1;
10
10
  return {
11
- min: suggestedMin,
11
+ min: min >= 0 && suggestedMin < 0 ? 0 : suggestedMin,
12
12
  max: suggestedMax
13
13
  };
14
14
  };
@@ -1,7 +1,4 @@
1
+ import { IYAxisMeta } from "../interfaces";
1
2
  import { ILineChartData } from "../lineChart/interfaces";
2
3
  import { IBarChartData } from "../barChart/interfaces";
3
- export declare const getYAxisMeta: (data: ILineChartData | IBarChartData, stacked?: boolean) => {
4
- min: number;
5
- max: number;
6
- name: string;
7
- }[];
4
+ export declare const getYAxisMeta: (data: ILineChartData | IBarChartData, stacked?: boolean) => IYAxisMeta[];
@@ -1,6 +1,19 @@
1
1
  import { getRange } from "./getRange";
2
2
  import { mergeRanges } from "./mergeRanges";
3
3
  import { normalizeRange } from "./normalizeRange";
4
+ import { getNiceAxisRange } from "./getNiceAxisRange";
5
+ import { getYAxisTickCount } from "./getYAxisTickCount";
6
+ // When there is more than one Y-axis, snap every axis's min/max to a shared "nice" tick count
7
+ // (see getYAxisTickCount/getNiceAxisRange) so the chart can render the same number of
8
+ // round-number tick increments on each axis, keeping their horizontal grid lines aligned.
9
+ // Single-axis charts are returned unchanged.
10
+ const alignYAxisRanges = (axes) => {
11
+ const tickCount = getYAxisTickCount(axes.length);
12
+ if (!tickCount) {
13
+ return axes;
14
+ }
15
+ return axes.map(axis => (Object.assign(Object.assign({}, axis), getNiceAxisRange(axis.min, axis.max, tickCount))));
16
+ };
4
17
  export const getYAxisMeta = (data, stacked = false) => {
5
18
  if (data.datasets.length === 0) {
6
19
  return [
@@ -31,7 +44,7 @@ export const getYAxisMeta = (data, stacked = false) => {
31
44
  valuesByX.set(xKey, existing);
32
45
  });
33
46
  });
34
- return Object.values(axisMap).map(axis => {
47
+ const stackedResult = Object.values(axisMap).map(axis => {
35
48
  const stackedValues = [];
36
49
  axis.valuesByX.forEach(value => {
37
50
  // Always include 0 as the baseline for stacked charts
@@ -49,6 +62,7 @@ export const getYAxisMeta = (data, stacked = false) => {
49
62
  const normalized = normalizeRange(range);
50
63
  return Object.assign({ name: axis.name }, normalized);
51
64
  });
65
+ return alignYAxisRanges(stackedResult);
52
66
  }
53
67
  const axisMap = data.datasets.reduce((acc, ds) => {
54
68
  const name = ds.yAxisID ? ds.yAxisID : "y";
@@ -59,5 +73,6 @@ export const getYAxisMeta = (data, stacked = false) => {
59
73
  acc[name] = Object.assign({ name: name }, totalRange);
60
74
  return acc;
61
75
  }, {});
62
- return Object.values(axisMap).map(el => (Object.assign(Object.assign({}, el), normalizeRange(el))));
76
+ const result = Object.values(axisMap).map(el => (Object.assign(Object.assign({}, el), normalizeRange(el))));
77
+ return alignYAxisRanges(result);
63
78
  };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * When a chart renders more than one Y-axis (e.g. a primary/left axis and a secondary/right
3
+ * axis), Chart.js computes "nice" tick values independently per axis by default. Because each
4
+ * axis has its own data range, this frequently produces a different number of tick increments
5
+ * on each axis, which causes the horizontal grid lines to misalign between axes.
6
+ *
7
+ * Forcing every Y-axis to the same explicit `ticks.count` makes Chart.js generate that exact
8
+ * number of evenly-spaced ticks between each axis's own min/max, so the number of increments
9
+ * (and therefore the grid line positions) stay consistent across all Y-axes.
10
+ *
11
+ * Single-axis charts are left untouched (returns `undefined`, so Chart.js falls back to its
12
+ * default "nice ticks" behavior) since there is no second axis to align against.
13
+ */
14
+ export declare const DUAL_YAXIS_TICK_COUNT = 5;
15
+ export declare const getYAxisTickCount: (yAxisCount: number) => number | undefined;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * When a chart renders more than one Y-axis (e.g. a primary/left axis and a secondary/right
3
+ * axis), Chart.js computes "nice" tick values independently per axis by default. Because each
4
+ * axis has its own data range, this frequently produces a different number of tick increments
5
+ * on each axis, which causes the horizontal grid lines to misalign between axes.
6
+ *
7
+ * Forcing every Y-axis to the same explicit `ticks.count` makes Chart.js generate that exact
8
+ * number of evenly-spaced ticks between each axis's own min/max, so the number of increments
9
+ * (and therefore the grid line positions) stay consistent across all Y-axes.
10
+ *
11
+ * Single-axis charts are left untouched (returns `undefined`, so Chart.js falls back to its
12
+ * default "nice ticks" behavior) since there is no second axis to align against.
13
+ */
14
+ export const DUAL_YAXIS_TICK_COUNT = 5;
15
+ export const getYAxisTickCount = (yAxisCount) => (yAxisCount > 1 ? DUAL_YAXIS_TICK_COUNT : undefined);
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./checkboxListWithAction.less";
3
2
  import { IZenComponentProps } from "../commonHelpers/zenComponent";
4
3
  import { IColor } from "../groupsFilterRaw/groupsFilterInterfaces";
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./chip.less";
3
2
  import { IZenComponentProps } from "./../commonHelpers/zenComponent";
4
3
  import { IIcon } from "../icons/icon";
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface ITriggerModeProps {
3
2
  triggerRef: React.Ref<HTMLElement>;
4
3
  children: React.ReactNode;
@@ -1 +1 @@
1
- export declare const reducerLogger: <S, A extends IAction<string, unknown>>(reducer: React.Reducer<S, A>, onBeforeAction?: (state: S, action: A) => void, onAfterAction?: (state: S, action: A) => void) => (state: S, action: A) => S;
1
+ export declare const reducerLogger: <S, A extends IAction<string>>(reducer: React.Reducer<S, A>, onBeforeAction?: (state: S, action: A) => void, onAfterAction?: (state: S, action: A) => void) => (state: S, action: A) => S;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TArrowsNavValue } from "../../arrowNavigationHelper";
3
2
  import "./arrowButton.less";
4
3
  export interface IArrowNavButton {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const useHoldOnScroll: <E extends HTMLElement>() => {
3
2
  isScrollable: boolean;
4
3
  scrollableElementRef: import("react").RefObject<E | null>;
@@ -0,0 +1,4 @@
1
+ export declare const Breakpoints: {
2
+ readonly MobileMaxWidth: 640;
3
+ readonly TabletMaxWidth: 1024;
4
+ };
@@ -0,0 +1,4 @@
1
+ export const Breakpoints = {
2
+ MobileMaxWidth: 640,
3
+ TabletMaxWidth: 1024
4
+ };
@@ -6,5 +6,5 @@ export interface IFetchReducer<T> extends Reducer<IFetchState<T>, TFetchAction<T
6
6
  export declare function fetchReducer<T>(state: IFetchState<T>, action: TFetchAction<T>): {
7
7
  isLoading: boolean;
8
8
  data?: T | undefined;
9
- error?: Error | undefined;
9
+ error?: Error;
10
10
  };
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare function useDebouncedMemo<T>(factory: () => T, deps: React.DependencyList, delay: number): T;
@@ -2,13 +2,13 @@ import { useContext, useMemo, useState } from "react";
2
2
  import { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect";
3
3
  import { useResize } from "./useResize";
4
4
  import { DeviceType } from "./deviceType";
5
+ import { Breakpoints } from "./breakpoints";
5
6
  import { topWindowContext } from "../../utils/topWindow/topWindowContext";
6
7
  import { getParentWindow } from "../../utils/getParentWindow";
7
8
  import { zen } from "../../utils/zen";
8
9
  import { SSRContext } from "./ssrProvider";
9
- const MobileMaxWidth = 640;
10
10
  export const getDeviceType = (width) => {
11
- if (width > MobileMaxWidth) {
11
+ if (width > Breakpoints.MobileMaxWidth) {
12
12
  return DeviceType.Desktop;
13
13
  }
14
14
  return DeviceType.Mobile;
@@ -1,2 +1,2 @@
1
1
  import { RefObject } from "react";
2
- export declare const useEscape: (containerRef: RefObject<HTMLElement | null>, callback: (e) => void, subscriptionTrigger: unknown, condition?: (t: unknown) => boolean) => void;
2
+ export declare const useEscape: (containerRef: RefObject<HTMLElement | null>, callback: (e: any) => void, subscriptionTrigger: unknown, condition?: (t: unknown) => boolean) => void;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { DeviceType } from "./deviceType";
3
2
  export declare const useGridSize: () => readonly [import("react").RefObject<HTMLDivElement | null>, boolean, DeviceType | null];
@@ -0,0 +1 @@
1
+ export declare const useMobileOrTablet: () => boolean;