@geotab/zenith 3.14.1 → 3.15.0-beta.1
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.
- package/README.md +28 -2
- package/dist/advancedGroupsFilter/advancedGroupsFilterFormSection.js +17 -7
- package/dist/alert/banner.d.ts +2 -3
- package/dist/alert/hooks/useAlertState.d.ts +0 -1
- package/dist/banner/bannerMultipLine.d.ts +0 -1
- package/dist/banner/bannerSingleLine.d.ts +0 -1
- package/dist/banner/utils/isSummaryErrorElement.d.ts +1 -2
- package/dist/calendar/dateUtils.js +2 -2
- package/dist/card/card.js +17 -7
- package/dist/card/components/content.d.ts +0 -1
- package/dist/cardContainer/helpers/getSizeClass.js +1 -2
- package/dist/chart/accessibleChart/accessibleChart.js +1 -1
- package/dist/chart/accessibleChart/accessibleChartNarrative.d.ts +1 -1
- package/dist/chart/accessibleChart/accessibleChartNarrative.js +11 -5
- package/dist/chart/accessibleChart/generatePieNarrative.d.ts +7 -0
- package/dist/chart/accessibleChart/generatePieNarrative.js +179 -0
- package/dist/chart/accessibleChart/interfaces.d.ts +1 -0
- package/dist/chart/barChart/getDefaultOptions.js +5 -6
- package/dist/chart/barChart.js +152 -50
- package/dist/chart/interfaces.d.ts +0 -1
- package/dist/chart/lineChart/getDefaultOptions.js +5 -6
- package/dist/chart/lineChart/useChartTicks.d.ts +0 -1
- package/dist/chart/lineChart/useSummary.d.ts +7 -8
- package/dist/chart/lineChart.js +167 -59
- package/dist/chart/pieChart.js +174 -76
- package/dist/chart/plugins/linePlugin/getInterpolatedValue.js +10 -2
- package/dist/chart/utils/convertDates.d.ts +1 -1
- package/dist/chart/utils/getFormattedLabel.js +1 -2
- package/dist/chart/utils/getNiceAxisRange.d.ts +21 -0
- package/dist/chart/utils/getNiceAxisRange.js +76 -0
- package/dist/chart/utils/getRange.js +2 -2
- package/dist/chart/utils/getYAxisMeta.d.ts +2 -5
- package/dist/chart/utils/getYAxisMeta.js +17 -2
- package/dist/chart/utils/getYAxisTickCount.d.ts +15 -0
- package/dist/chart/utils/getYAxisTickCount.js +19 -0
- package/dist/chart/utils/resampleArrayEvenly.js +1 -2
- package/dist/checkbox/checkbox.js +17 -7
- package/dist/checkboxListWithAction/checkboxListWithAction.d.ts +0 -1
- package/dist/chip/chip.d.ts +0 -1
- package/dist/chip/utils/useChip.d.ts +0 -1
- package/dist/commonHelpers/HOC/reducerLogger/reducerLogger.d.ts +1 -1
- package/dist/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.d.ts +0 -1
- package/dist/commonHelpers/arrowNavigation/hooks/useHoldOnScroll.d.ts +0 -1
- package/dist/commonHelpers/generateId.js +1 -2
- package/dist/commonHelpers/hooks/breakpoints.d.ts +4 -0
- package/dist/commonHelpers/hooks/breakpoints.js +7 -0
- package/dist/commonHelpers/hooks/fetch.reducer.d.ts +1 -1
- package/dist/commonHelpers/hooks/fetch.reducer.js +1 -2
- package/dist/commonHelpers/hooks/useDebouncedMemo.d.ts +0 -1
- package/dist/commonHelpers/hooks/useDebouncedMemo.js +1 -2
- package/dist/commonHelpers/hooks/useDeviceType.js +2 -2
- package/dist/commonHelpers/hooks/useEscape.d.ts +1 -1
- package/dist/commonHelpers/hooks/useGridSize.d.ts +0 -1
- package/dist/commonHelpers/hooks/useMobileOrTablet.d.ts +1 -0
- package/dist/commonHelpers/hooks/useMobileOrTablet.js +21 -0
- package/dist/commonHelpers/hooks/usePillSize.d.ts +0 -1
- package/dist/{gridLayout → commonHelpers}/hooks/useTablet.js +8 -11
- package/dist/commonHelpers/utils.js +3 -3
- package/dist/commonStyles/colors/colors.less +1 -0
- package/dist/dataFeed/dataFeed.d.ts +1 -1
- package/dist/dataFeed/dataFeed.js +2 -2
- package/dist/dataFeed/dataFeedCell/dataFeedCell.d.ts +3 -1
- package/dist/dataFeed/dataFeedColumnsItems.d.ts +2 -2
- package/dist/dataGrid/cell/cell.d.ts +3 -1
- package/dist/dataGrid/columns/actionsColumn/actionsButton.js +1 -2
- package/dist/dataGrid/columns/actionsColumn/actionsColumn.d.ts +3 -3
- package/dist/dataGrid/dataGrid.d.ts +13 -1
- package/dist/dataGrid/dataGrid.js +48 -3
- package/dist/dataGrid/emptySearchList/emptySearchList.d.ts +0 -1
- package/dist/dataGrid/row/row.d.ts +3 -1
- package/dist/dataGrid/withActions/withActions.d.ts +1 -1
- package/dist/dataGrid/withFlexibleColumns/components/columnSettingsList.js +1 -2
- package/dist/dataGrid/withFlexibleColumns/withFlexibleColumns.d.ts +1 -1
- package/dist/dataGrid/withLoading/withLoading.d.ts +1 -1
- package/dist/dataGrid/withSelectableRows/withLimitedSelectableRows.d.ts +1 -1
- package/dist/dataGrid/withSelectableRows/withSelectableRows.d.ts +1 -1
- package/dist/dataGrid/withSortableColumns/withSortableColumns.d.ts +1 -1
- package/dist/dateInputInner/dateInputInnerReducer.js +2 -2
- package/dist/dateRangeRaw/utils/areMapsEqual.js +1 -2
- package/dist/dialog/dialog.d.ts +0 -1
- package/dist/dropdown/dropdown.js +1 -1
- package/dist/dropdown/useDropdownState.d.ts +0 -1
- package/dist/dropdownRaw/dropdownHelper.js +2 -2
- package/dist/dropdownRaw/dropdownList.d.ts +3 -2
- package/dist/dropdownRaw/dropdownList.js +31 -49
- package/dist/dropdownRaw/dropdownRaw.js +34 -13
- package/dist/dropdownRaw/stateReducer/stateReducer.d.ts +4 -1
- package/dist/dropdownRaw/stateReducer/stateReducer.js +33 -23
- package/dist/dropdownRaw/stateReducer/stateReducerHelper.d.ts +1 -2
- package/dist/dropdownRaw/stateReducer/stateReducerHelper.js +8 -13
- package/dist/dropdownRaw/types.d.ts +20 -0
- package/dist/feedbackContainer/feedbackContainer.js +17 -7
- package/dist/feedbackContainer/hooks/useFeedbackAlert.d.ts +0 -1
- package/dist/feedbackContainer/hooks/useFeedbackToast.d.ts +0 -1
- package/dist/filters/components/filtersDropdown.js +2 -2
- package/dist/filters/components/filtersItem.d.ts +2 -2
- package/dist/filters/components/filtersSearchList.d.ts +0 -1
- package/dist/filters/components/filtersSelect.d.ts +0 -1
- package/dist/filters/components/filtersSelectCompact.d.ts +0 -1
- package/dist/filters/components/filtersSelectListItem.d.ts +0 -1
- package/dist/filters/components/filtersSelectUnfoldingPill.d.ts +0 -1
- package/dist/filters/components/filtersSidePanelItem.js +17 -7
- package/dist/filters/filtersHelper.d.ts +1 -1
- package/dist/filters/filtersHelper.js +5 -5
- package/dist/filters/filtersHooks.d.ts +0 -1
- package/dist/filtersBar/components/filtersBarDropdownWithCheckbox/filtersBarDropdownWithCheckbox.js +1 -1
- package/dist/filtersBar/components/filtersBarPeriodPicker/getRangeOption.js +2 -2
- package/dist/filtersBar/filtersBar.js +2 -2
- package/dist/filtersBar/filtersBarActions/filtersBarActions.d.ts +0 -1
- package/dist/filtersBar/filtersBarInterfaces.d.ts +0 -1
- package/dist/filtersBar/filtersBarReducer.js +2 -2
- package/dist/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelDropdownWithCheckbox/filtersBarSidePanelDropdownWithCheckbox.d.ts +4 -10
- package/dist/filtersBar/filtersBarSidePanel/sidePanelReducer.js +2 -2
- package/dist/filtersBar/utils/getNumberOfChangedFilters.js +1 -2
- package/dist/footerButtons/footerButtons.js +17 -7
- package/dist/formField/components/formFieldAdditionalInfo.d.ts +0 -1
- package/dist/formField/components/formFieldCounter.d.ts +0 -1
- package/dist/formField/components/formFieldLoading.d.ts +0 -1
- package/dist/formField/components/formFieldSkeleton.d.ts +0 -1
- package/dist/formField/components/formFieldWithLabel.d.ts +0 -1
- package/dist/formField/components/formFieldWithoutLabel.d.ts +0 -1
- package/dist/formField/formField.d.ts +1 -1
- package/dist/formField/hooks/useBanner.d.ts +0 -1
- package/dist/formField/hooks/useDisabled.d.ts +1 -1
- package/dist/formGroup/components/customRow/customRow.d.ts +0 -1
- package/dist/formGroup/formGroup.js +17 -7
- package/dist/formGroup/hooks/listHooks/useStateToElements.d.ts +0 -1
- package/dist/formGroup/hooks/listHooks/useStateToElements.js +1 -1
- package/dist/formGroup/utils/formGroupProvider.d.ts +0 -1
- package/dist/formGroup/utils/isFormLabel.d.ts +1 -1
- package/dist/formGroupItem/formGroupItem.d.ts +0 -1
- package/dist/formLayout/components/layoutColumn/layoutColum.d.ts +0 -1
- package/dist/formLayout/hooks/useFormButtons.d.ts +1 -1
- package/dist/formLayout/types.d.ts +0 -1
- package/dist/formLayout/utils/attachHeadings.d.ts +1 -1
- package/dist/formLayout/utils/attachSeparators.d.ts +0 -1
- package/dist/formLayout/utils/getChildrenWithCustomColumns.d.ts +1 -2
- package/dist/formLayout/utils/getChildrenWithCustomColumns.js +2 -2
- package/dist/formLayout/utils/getFieldLabel.js +5 -5
- package/dist/formSection/components/actions.d.ts +0 -1
- package/dist/formSection/components/additional.d.ts +0 -1
- package/dist/formSection/utils/isFormSection.d.ts +2 -4
- package/dist/formStepper/components/formStepRaw.d.ts +0 -1
- package/dist/formStepper/formStepper.d.ts +0 -1
- package/dist/formStepper/formStepper.js +5 -5
- package/dist/formStepperButtons/formStepperButtons.js +3 -3
- package/dist/gridLayout/hooks/useStretch.js +1 -1
- package/dist/gridLayout/utils/convertStateToClasses.js +1 -2
- package/dist/gridLayout/utils/gridLayoutProvider.d.ts +0 -1
- package/dist/gridLayout/utils/gridLayoutProvider.js +1 -1
- package/dist/gridLayout/utils/isGridItem.d.ts +1 -1
- package/dist/groupsFilter/groupsHelper.d.ts +5 -5
- package/dist/groupsFilterRaw/groupsFilterHelper.js +16 -16
- package/dist/groupsFilterRaw/groupsHelper.d.ts +1 -1
- package/dist/groupsFilterRaw/groupsHelper.js +4 -4
- package/dist/groupsFilterRaw/stateReducer/stateReducer.d.ts +1 -1
- package/dist/groupsFilterRaw/stateReducer/stateReducer.js +2 -2
- package/dist/groupsFilterRaw/testData.js +3 -4
- package/dist/groupsFilterRaw/uiStateReducer/uiStateReducer.js +2 -2
- package/dist/header/components/collapsedItemsControl/utils/handleCustomMenuWrapper.js +5 -0
- package/dist/header/components/mobileFilterControl/mobileFilterControl.d.ts +0 -1
- package/dist/header/components/mobileSearchControl/mobileSearchControl.d.ts +0 -1
- package/dist/header/header.js +17 -7
- package/dist/header/headerButton.d.ts +0 -1
- package/dist/header/headerContext.d.ts +1 -2
- package/dist/header/headerHelpers.d.ts +5 -5
- package/dist/header/headerHelpers.js +17 -7
- package/dist/header/hooks/useNonFittingElements.d.ts +3 -4
- package/dist/headerTitle/headerTitle.d.ts +0 -1
- package/dist/icons/iconAce.d.ts +3 -0
- package/dist/icons/iconAce.js +12 -0
- package/dist/icons/iconBreak.d.ts +3 -0
- package/dist/icons/iconBreak.js +12 -0
- package/dist/icons/iconChevronStepper.d.ts +3 -0
- package/dist/icons/iconChevronStepper.js +12 -0
- package/dist/icons/iconPotato.d.ts +3 -0
- package/dist/icons/iconPotato.js +12 -0
- package/dist/icons/iconToggleLarge.d.ts +3 -0
- package/dist/icons/iconToggleLarge.js +12 -0
- package/dist/icons/iconToggleSmall.d.ts +3 -0
- package/dist/icons/iconToggleSmall.js +12 -0
- package/dist/icons/iconTrendNeutral.d.ts +3 -0
- package/dist/icons/iconTrendNeutral.js +12 -0
- package/dist/icons/iconTruck.d.ts +3 -0
- package/dist/icons/iconTruck.js +12 -0
- package/dist/index.css +234 -33
- package/dist/index.d.ts +8 -0
- package/dist/index.js +30 -13
- package/dist/layout/layout.d.ts +2 -1
- package/dist/layout/layout.js +17 -7
- package/dist/layout/layoutBanner.d.ts +0 -1
- package/dist/lineChart/lineChart.d.ts +1 -0
- package/dist/lineChart/lineChart.js +135 -70
- package/dist/lineChartMini/lineChartMini.d.ts +1 -0
- package/dist/lineChartMini/lineChartMini.js +141 -73
- package/dist/list/itemData/itemData.d.ts +2 -1
- package/dist/list/itemData/itemDataInternal.d.ts +2 -1
- package/dist/list/list.d.ts +0 -1
- package/dist/list/utils/changeOrder.js +1 -2
- package/dist/list/utils/isDataListitem.d.ts +1 -1
- package/dist/list/viewportProvider/viewportContext.d.ts +0 -1
- package/dist/menu/components/controlledMenuList/controlledMenuList.d.ts +2 -4
- package/dist/menu/components/controlledMenuList/controlledMenuList.js +3 -1
- package/dist/menu/components/createControlledMenuList.js +1 -2
- package/dist/menu/components/createMenuItem.js +1 -2
- package/dist/menu/contexts/usePathContext.js +1 -2
- package/dist/menu/utils/buildMenuContent.js +1 -2
- package/dist/menu/utils/findPrevFocusable.js +1 -2
- package/dist/menu/utils/useDisplayContent.d.ts +21 -0
- package/dist/menu/utils/useDisplayContent.js +35 -0
- package/dist/menu/utils/useMenuItemKeyboardNav.js +1 -2
- package/dist/miniTabs/miniTabsHelper.js +17 -7
- package/dist/mobileSheet/components/mobileSheetTitle.d.ts +0 -1
- package/dist/modal/modal.js +17 -7
- package/dist/nav/context/nav.context.d.ts +0 -1
- package/dist/nav/navFooter/navEditFooter/navEditFooter.d.ts +0 -1
- package/dist/nav/navFooter/navFooter.d.ts +1 -1
- package/dist/nav/navFooter/navFooterAction/navFooterAction.d.ts +2 -1
- package/dist/nav/navFooter/navFooterAction/navFooterAction.js +3 -1
- package/dist/nav/navItem/navItem.d.ts +2 -0
- package/dist/nav/navItem/navItem.js +56 -47
- package/dist/nav/navItem/navItemContent.d.ts +19 -0
- package/dist/nav/navItem/navItemContent.js +21 -0
- package/dist/nav/navItem/navItemType.d.ts +7 -0
- package/dist/nav/navItem/navItemType.js +9 -0
- package/dist/nav/utils/navUtils.d.ts +2 -4
- package/dist/nav/utils/navUtils.js +2 -2
- package/dist/overview/overview.d.ts +0 -1
- package/dist/pageHeader/pageHeader.d.ts +1 -1
- package/dist/pageHeader/pageHeaderButton.d.ts +0 -1
- package/dist/pageHeader/pageHeaderHelpers.d.ts +1 -1
- package/dist/pageHeader/pageHeaderMenu.d.ts +0 -1
- package/dist/pagination/paginationArrow.d.ts +0 -1
- package/dist/pill/interfaces/pill.interface.d.ts +0 -1
- package/dist/pillBox/components/pillBoxItem.d.ts +1 -2
- package/dist/popup/popup.js +17 -7
- package/dist/progressIndicator/progressIndicator.d.ts +39 -0
- package/dist/progressIndicator/progressIndicator.js +30 -0
- package/dist/progressIndicator/progressIndicatorUtils.d.ts +12 -0
- package/dist/progressIndicator/progressIndicatorUtils.js +30 -0
- package/dist/radioGroupRaw/radioGroupRaw.js +17 -7
- package/dist/radioGroupRaw/types.d.ts +0 -1
- package/dist/react-chartjs/dateFns/dateFns.js +10 -11
- package/dist/react-chartjs/utils.d.ts +3 -3
- package/dist/react-chartjs/utils.js +8 -9
- package/dist/searchInputRaw/searchInputRaw.js +17 -7
- package/dist/searchInputRaw/types.d.ts +0 -1
- package/dist/selectField/selectField.d.ts +2 -3
- package/dist/selectList/selectList.d.ts +0 -1
- package/dist/selectRaw/hooks/usePopupWidth.js +17 -7
- package/dist/selectRaw/selectRaw.js +20 -7
- package/dist/sidePanel/sidePanelCell/sidePanelCell.d.ts +0 -1
- package/dist/summaries/utils/splitIntoPairs.js +1 -2
- package/dist/summaryTile/summaryTile.js +17 -7
- package/dist/summaryTile/summaryTileTrigger.js +17 -7
- package/dist/table/actions/actionsMenu.d.ts +0 -1
- package/dist/table/children/useTableChildren.d.ts +7 -7
- package/dist/table/detailPanel/interfaces.d.ts +0 -1
- package/dist/table/flexible/columnsList.js +1 -2
- package/dist/table/loading/useLoading.d.ts +10 -10
- package/dist/table/nested/nestedData.d.ts +3 -1
- package/dist/table/nested/useNestedRows.d.ts +2 -2
- package/dist/table/selectable/selectableHeader.d.ts +2 -1
- package/dist/table/selectable/selectableHeader.js +4 -3
- package/dist/table/selectable/useSelectableRows.d.ts +1 -1
- package/dist/table/selectable/useSelectableRows.js +7 -4
- package/dist/table/table.d.ts +16 -1
- package/dist/table/table.js +101 -5
- package/dist/tag/tag.d.ts +19 -0
- package/dist/tag/tag.js +14 -0
- package/dist/textIconButton/textIconButton.js +17 -7
- package/dist/toastRaw/toastRaw.d.ts +1 -1
- package/dist/toastRaw/toastRaw.js +3 -1
- package/dist/toggleButtonRaw/toggleButtonRaw.js +17 -7
- package/dist/toggleButtonRaw/types.d.ts +0 -1
- package/dist/tooltip/tooltip.js +17 -7
- package/dist/tooltipInfo/tooltipInfo.d.ts +0 -1
- package/dist/utils/compareElementsUtils/isArraysEqualDeeply.js +1 -2
- package/dist/utils/compareElementsUtils/isElementsEqual.js +2 -2
- package/dist/utils/escapeHtml.js +1 -2
- package/dist/utils/localization/directionContext.d.ts +0 -1
- package/dist/utils/localization/languageContext.d.ts +0 -1
- package/dist/utils/localization/translations/en.json +12 -1
- package/dist/utils/theme/themeContext.d.ts +0 -1
- package/dist/utils/topWindow/topWindowContext.d.ts +0 -1
- package/dist/utils/useFadeComponent.d.ts +0 -1
- package/dist/utils/userFormat/userFormatContext.d.ts +0 -1
- package/dist/waiting/waiting.d.ts +2 -1
- package/dist/waiting/waiting.js +23 -6
- package/esm/alert/banner.d.ts +2 -3
- package/esm/alert/hooks/useAlertState.d.ts +0 -1
- package/esm/banner/bannerMultipLine.d.ts +0 -1
- package/esm/banner/bannerSingleLine.d.ts +0 -1
- package/esm/banner/utils/isSummaryErrorElement.d.ts +1 -2
- package/esm/card/components/content.d.ts +0 -1
- package/esm/chart/accessibleChart/accessibleChart.js +1 -1
- package/esm/chart/accessibleChart/accessibleChartNarrative.d.ts +1 -1
- package/esm/chart/accessibleChart/accessibleChartNarrative.js +8 -2
- package/esm/chart/accessibleChart/generatePieNarrative.d.ts +7 -0
- package/esm/chart/accessibleChart/generatePieNarrative.js +167 -0
- package/esm/chart/accessibleChart/interfaces.d.ts +1 -0
- package/esm/chart/barChart/getDefaultOptions.js +5 -6
- package/esm/chart/barChart.js +147 -50
- package/esm/chart/interfaces.d.ts +0 -1
- package/esm/chart/lineChart/getDefaultOptions.js +5 -6
- package/esm/chart/lineChart/useChartTicks.d.ts +0 -1
- package/esm/chart/lineChart/useSummary.d.ts +7 -8
- package/esm/chart/lineChart.js +162 -59
- package/esm/chart/pieChart.js +169 -76
- package/esm/chart/plugins/linePlugin/getInterpolatedValue.js +9 -0
- package/esm/chart/utils/convertDates.d.ts +1 -1
- package/esm/chart/utils/getNiceAxisRange.d.ts +21 -0
- package/esm/chart/utils/getNiceAxisRange.js +72 -0
- package/esm/chart/utils/getRange.js +2 -2
- package/esm/chart/utils/getYAxisMeta.d.ts +2 -5
- package/esm/chart/utils/getYAxisMeta.js +17 -2
- package/esm/chart/utils/getYAxisTickCount.d.ts +15 -0
- package/esm/chart/utils/getYAxisTickCount.js +15 -0
- package/esm/checkboxListWithAction/checkboxListWithAction.d.ts +0 -1
- package/esm/chip/chip.d.ts +0 -1
- package/esm/chip/utils/useChip.d.ts +0 -1
- package/esm/commonHelpers/HOC/reducerLogger/reducerLogger.d.ts +1 -1
- package/esm/commonHelpers/arrowNavigation/components/arrowButton/arrowButton.d.ts +0 -1
- package/esm/commonHelpers/arrowNavigation/hooks/useHoldOnScroll.d.ts +0 -1
- package/esm/commonHelpers/hooks/breakpoints.d.ts +4 -0
- package/esm/commonHelpers/hooks/breakpoints.js +4 -0
- package/esm/commonHelpers/hooks/fetch.reducer.d.ts +1 -1
- package/esm/commonHelpers/hooks/useDebouncedMemo.d.ts +0 -1
- package/esm/commonHelpers/hooks/useDeviceType.js +2 -2
- package/esm/commonHelpers/hooks/useEscape.d.ts +1 -1
- package/esm/commonHelpers/hooks/useGridSize.d.ts +0 -1
- package/esm/commonHelpers/hooks/useMobileOrTablet.d.ts +1 -0
- package/esm/commonHelpers/hooks/useMobileOrTablet.js +17 -0
- package/esm/commonHelpers/hooks/usePillSize.d.ts +0 -1
- package/esm/commonHelpers/hooks/useTablet.js +17 -0
- package/esm/dataFeed/dataFeed.d.ts +1 -1
- package/esm/dataFeed/dataFeed.js +2 -2
- package/esm/dataFeed/dataFeedCell/dataFeedCell.d.ts +3 -1
- package/esm/dataFeed/dataFeedColumnsItems.d.ts +2 -2
- package/esm/dataGrid/cell/cell.d.ts +3 -1
- package/esm/dataGrid/columns/actionsColumn/actionsColumn.d.ts +3 -3
- package/esm/dataGrid/dataGrid.d.ts +13 -1
- package/esm/dataGrid/dataGrid.js +48 -3
- package/esm/dataGrid/emptySearchList/emptySearchList.d.ts +0 -1
- package/esm/dataGrid/row/row.d.ts +3 -1
- package/esm/dataGrid/withActions/withActions.d.ts +1 -1
- package/esm/dataGrid/withFlexibleColumns/withFlexibleColumns.d.ts +1 -1
- package/esm/dataGrid/withLoading/withLoading.d.ts +1 -1
- package/esm/dataGrid/withSelectableRows/withLimitedSelectableRows.d.ts +1 -1
- package/esm/dataGrid/withSelectableRows/withSelectableRows.d.ts +1 -1
- package/esm/dataGrid/withSortableColumns/withSortableColumns.d.ts +1 -1
- package/esm/dialog/dialog.d.ts +0 -1
- package/esm/dropdown/dropdown.js +1 -1
- package/esm/dropdown/useDropdownState.d.ts +0 -1
- package/esm/dropdownRaw/dropdownList.d.ts +3 -2
- package/esm/dropdownRaw/dropdownList.js +14 -42
- package/esm/dropdownRaw/dropdownRaw.js +35 -14
- package/esm/dropdownRaw/stateReducer/stateReducer.d.ts +4 -1
- package/esm/dropdownRaw/stateReducer/stateReducer.js +32 -22
- package/esm/dropdownRaw/stateReducer/stateReducerHelper.d.ts +1 -2
- package/esm/dropdownRaw/stateReducer/stateReducerHelper.js +5 -10
- package/esm/dropdownRaw/types.d.ts +20 -0
- package/esm/feedbackContainer/hooks/useFeedbackAlert.d.ts +0 -1
- package/esm/feedbackContainer/hooks/useFeedbackToast.d.ts +0 -1
- package/esm/filters/components/filtersItem.d.ts +2 -2
- package/esm/filters/components/filtersSearchList.d.ts +0 -1
- package/esm/filters/components/filtersSelect.d.ts +0 -1
- package/esm/filters/components/filtersSelectCompact.d.ts +0 -1
- package/esm/filters/components/filtersSelectListItem.d.ts +0 -1
- package/esm/filters/components/filtersSelectUnfoldingPill.d.ts +0 -1
- package/esm/filters/filtersHelper.d.ts +1 -1
- package/esm/filters/filtersHooks.d.ts +0 -1
- package/esm/filtersBar/components/filtersBarDropdownWithCheckbox/filtersBarDropdownWithCheckbox.js +1 -1
- package/esm/filtersBar/filtersBar.js +2 -2
- package/esm/filtersBar/filtersBarActions/filtersBarActions.d.ts +0 -1
- package/esm/filtersBar/filtersBarInterfaces.d.ts +0 -1
- package/esm/filtersBar/filtersBarSidePanel/components/filtersBarSidePanelDropdownWithCheckbox/filtersBarSidePanelDropdownWithCheckbox.d.ts +4 -10
- package/esm/formField/components/formFieldAdditionalInfo.d.ts +0 -1
- package/esm/formField/components/formFieldCounter.d.ts +0 -1
- package/esm/formField/components/formFieldLoading.d.ts +0 -1
- package/esm/formField/components/formFieldSkeleton.d.ts +0 -1
- package/esm/formField/components/formFieldWithLabel.d.ts +0 -1
- package/esm/formField/components/formFieldWithoutLabel.d.ts +0 -1
- package/esm/formField/formField.d.ts +1 -1
- package/esm/formField/hooks/useBanner.d.ts +0 -1
- package/esm/formField/hooks/useDisabled.d.ts +1 -1
- package/esm/formGroup/components/customRow/customRow.d.ts +0 -1
- package/esm/formGroup/hooks/listHooks/useStateToElements.d.ts +0 -1
- package/esm/formGroup/hooks/listHooks/useStateToElements.js +1 -1
- package/esm/formGroup/utils/formGroupProvider.d.ts +0 -1
- package/esm/formGroup/utils/isFormLabel.d.ts +1 -1
- package/esm/formGroupItem/formGroupItem.d.ts +0 -1
- package/esm/formLayout/components/layoutColumn/layoutColum.d.ts +0 -1
- package/esm/formLayout/hooks/useFormButtons.d.ts +1 -1
- package/esm/formLayout/types.d.ts +0 -1
- package/esm/formLayout/utils/attachHeadings.d.ts +1 -1
- package/esm/formLayout/utils/attachSeparators.d.ts +0 -1
- package/esm/formLayout/utils/getChildrenWithCustomColumns.d.ts +1 -2
- package/esm/formLayout/utils/getChildrenWithCustomColumns.js +2 -2
- package/esm/formLayout/utils/getFieldLabel.js +5 -5
- package/esm/formSection/components/actions.d.ts +0 -1
- package/esm/formSection/components/additional.d.ts +0 -1
- package/esm/formSection/utils/isFormSection.d.ts +2 -4
- package/esm/formStepper/components/formStepRaw.d.ts +0 -1
- package/esm/formStepper/formStepper.d.ts +0 -1
- package/esm/formStepper/formStepper.js +5 -5
- package/esm/formStepperButtons/formStepperButtons.js +3 -3
- package/esm/gridLayout/hooks/useStretch.js +1 -1
- package/esm/gridLayout/utils/gridLayoutProvider.d.ts +0 -1
- package/esm/gridLayout/utils/gridLayoutProvider.js +1 -1
- package/esm/gridLayout/utils/isGridItem.d.ts +1 -1
- package/esm/groupsFilter/groupsHelper.d.ts +5 -5
- package/esm/groupsFilterRaw/groupsHelper.d.ts +1 -1
- package/esm/groupsFilterRaw/stateReducer/stateReducer.d.ts +1 -1
- package/esm/groupsFilterRaw/testData.js +1 -2
- package/esm/header/components/collapsedItemsControl/utils/handleCustomMenuWrapper.js +5 -0
- package/esm/header/components/mobileFilterControl/mobileFilterControl.d.ts +0 -1
- package/esm/header/components/mobileSearchControl/mobileSearchControl.d.ts +0 -1
- package/esm/header/headerButton.d.ts +0 -1
- package/esm/header/headerContext.d.ts +1 -2
- package/esm/header/headerHelpers.d.ts +5 -5
- package/esm/header/hooks/useNonFittingElements.d.ts +3 -4
- package/esm/headerTitle/headerTitle.d.ts +0 -1
- package/esm/icons/iconAce.d.ts +3 -0
- package/esm/icons/iconAce.js +8 -0
- package/esm/icons/iconBreak.d.ts +3 -0
- package/esm/icons/iconBreak.js +8 -0
- package/esm/icons/iconChevronStepper.d.ts +3 -0
- package/esm/icons/iconChevronStepper.js +8 -0
- package/esm/icons/iconPotato.d.ts +3 -0
- package/esm/icons/iconPotato.js +8 -0
- package/esm/icons/iconToggleLarge.d.ts +3 -0
- package/esm/icons/iconToggleLarge.js +8 -0
- package/esm/icons/iconToggleSmall.d.ts +3 -0
- package/esm/icons/iconToggleSmall.js +8 -0
- package/esm/icons/iconTrendNeutral.d.ts +3 -0
- package/esm/icons/iconTrendNeutral.js +8 -0
- package/esm/icons/iconTruck.d.ts +3 -0
- package/esm/icons/iconTruck.js +8 -0
- package/esm/index.d.ts +8 -0
- package/esm/index.js +8 -0
- package/esm/layout/layout.d.ts +2 -1
- package/esm/layout/layoutBanner.d.ts +0 -1
- package/esm/lineChart/lineChart.d.ts +1 -0
- package/esm/lineChart/lineChart.js +129 -69
- package/esm/lineChartMini/lineChartMini.d.ts +1 -0
- package/esm/lineChartMini/lineChartMini.js +136 -73
- package/esm/list/itemData/itemData.d.ts +2 -1
- package/esm/list/itemData/itemDataInternal.d.ts +2 -1
- package/esm/list/list.d.ts +0 -1
- package/esm/list/utils/isDataListitem.d.ts +1 -1
- package/esm/list/viewportProvider/viewportContext.d.ts +0 -1
- package/esm/menu/components/controlledMenuList/controlledMenuList.d.ts +2 -4
- package/esm/menu/components/controlledMenuList/controlledMenuList.js +3 -1
- package/esm/menu/utils/useDisplayContent.d.ts +21 -0
- package/esm/menu/utils/useDisplayContent.js +31 -0
- package/esm/mobileSheet/components/mobileSheetTitle.d.ts +0 -1
- package/esm/nav/context/nav.context.d.ts +0 -1
- package/esm/nav/navFooter/navEditFooter/navEditFooter.d.ts +0 -1
- package/esm/nav/navFooter/navFooter.d.ts +1 -1
- package/esm/nav/navFooter/navFooterAction/navFooterAction.d.ts +2 -1
- package/esm/nav/navFooter/navFooterAction/navFooterAction.js +3 -1
- package/esm/nav/navItem/navItem.d.ts +2 -0
- package/esm/nav/navItem/navItem.js +57 -48
- package/esm/nav/navItem/navItemContent.d.ts +19 -0
- package/esm/nav/navItem/navItemContent.js +17 -0
- package/esm/nav/navItem/navItemType.d.ts +7 -0
- package/esm/nav/navItem/navItemType.js +6 -0
- package/esm/nav/utils/navUtils.d.ts +2 -4
- package/esm/overview/overview.d.ts +0 -1
- package/esm/pageHeader/pageHeader.d.ts +1 -1
- package/esm/pageHeader/pageHeaderButton.d.ts +0 -1
- package/esm/pageHeader/pageHeaderHelpers.d.ts +1 -1
- package/esm/pageHeader/pageHeaderMenu.d.ts +0 -1
- package/esm/pagination/paginationArrow.d.ts +0 -1
- package/esm/pill/interfaces/pill.interface.d.ts +0 -1
- package/esm/pillBox/components/pillBoxItem.d.ts +1 -2
- package/esm/progressIndicator/progressIndicator.d.ts +39 -0
- package/esm/progressIndicator/progressIndicator.js +26 -0
- package/esm/progressIndicator/progressIndicatorUtils.d.ts +12 -0
- package/esm/progressIndicator/progressIndicatorUtils.js +25 -0
- package/esm/radioGroupRaw/types.d.ts +0 -1
- package/esm/react-chartjs/utils.d.ts +3 -3
- package/esm/searchInputRaw/types.d.ts +0 -1
- package/esm/selectField/selectField.d.ts +2 -3
- package/esm/selectList/selectList.d.ts +0 -1
- package/esm/selectRaw/selectRaw.js +3 -0
- package/esm/sidePanel/sidePanelCell/sidePanelCell.d.ts +0 -1
- package/esm/table/actions/actionsMenu.d.ts +0 -1
- package/esm/table/children/useTableChildren.d.ts +7 -7
- package/esm/table/detailPanel/interfaces.d.ts +0 -1
- package/esm/table/loading/useLoading.d.ts +10 -10
- package/esm/table/nested/nestedData.d.ts +3 -1
- package/esm/table/nested/useNestedRows.d.ts +2 -2
- package/esm/table/selectable/selectableHeader.d.ts +2 -1
- package/esm/table/selectable/selectableHeader.js +4 -3
- package/esm/table/selectable/useSelectableRows.d.ts +1 -1
- package/esm/table/selectable/useSelectableRows.js +7 -4
- package/esm/table/table.d.ts +16 -1
- package/esm/table/table.js +102 -6
- package/esm/tag/tag.d.ts +19 -0
- package/esm/tag/tag.js +10 -0
- package/esm/testHelpers/geotab-axe/index.d.ts +0 -1
- package/esm/toastRaw/toastRaw.d.ts +1 -1
- package/esm/toastRaw/toastRaw.js +3 -1
- package/esm/toggleButtonRaw/types.d.ts +0 -1
- package/esm/tooltipInfo/tooltipInfo.d.ts +0 -1
- package/esm/utils/localization/directionContext.d.ts +0 -1
- package/esm/utils/localization/languageContext.d.ts +0 -1
- package/esm/utils/localization/translations/en.json +12 -1
- package/esm/utils/theme/themeContext.d.ts +0 -1
- package/esm/utils/topWindow/topWindowContext.d.ts +0 -1
- package/esm/utils/useFadeComponent.d.ts +0 -1
- package/esm/utils/userFormat/userFormatContext.d.ts +0 -1
- package/esm/waiting/waiting.d.ts +2 -1
- package/esm/waiting/waiting.js +24 -7
- package/package.json +13 -6
- package/esm/gridLayout/hooks/useTablet.js +0 -20
- /package/dist/{gridLayout → commonHelpers}/hooks/useTablet.d.ts +0 -0
- /package/esm/{gridLayout → commonHelpers}/hooks/useTablet.d.ts +0 -0
|
@@ -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
|
-
|
|
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
|
-
|
|
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);
|
package/esm/chip/chip.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const reducerLogger: <S, A extends IAction<string
|
|
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;
|
|
@@ -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
|
|
9
|
+
error?: Error;
|
|
10
10
|
};
|
|
@@ -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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useMobileOrTablet: () => boolean;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useCallback, useContext, useMemo, useState } from "react";
|
|
2
|
+
import { topWindowContext } from "../../utils/topWindow/topWindowContext";
|
|
3
|
+
import { getParentWindow } from "../../utils/getParentWindow";
|
|
4
|
+
import { useResize } from "./useResize";
|
|
5
|
+
import { zen } from "../../utils/zen";
|
|
6
|
+
import { Breakpoints } from "./breakpoints";
|
|
7
|
+
const isMobileOrTabletUtil = (width) => width <= Breakpoints.TabletMaxWidth;
|
|
8
|
+
export const useMobileOrTablet = () => {
|
|
9
|
+
const { topWindow } = useContext(topWindowContext);
|
|
10
|
+
const win = useMemo(() => topWindow || getParentWindow(zen), [topWindow]);
|
|
11
|
+
const [value, setValue] = useState(isMobileOrTabletUtil(win.innerWidth));
|
|
12
|
+
const onResize = useCallback(() => {
|
|
13
|
+
setValue(isMobileOrTabletUtil(win.innerWidth));
|
|
14
|
+
}, [win]);
|
|
15
|
+
useResize(onResize, true);
|
|
16
|
+
return value;
|
|
17
|
+
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { IPill } from "../../pill/interfaces/pill.interface";
|
|
3
2
|
import { IPillNonActionable } from "../../pill/interfaces/pillNonActionable.interface";
|
|
4
3
|
interface IPillSize extends Pick<IPill, "size">, Pick<IPillNonActionable, "onClose"> {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useCallback, useContext, useMemo, useState } from "react";
|
|
2
|
+
import { topWindowContext } from "../../utils/topWindow/topWindowContext";
|
|
3
|
+
import { getParentWindow } from "../../utils/getParentWindow";
|
|
4
|
+
import { useResize } from "./useResize";
|
|
5
|
+
import { zen } from "../../utils/zen";
|
|
6
|
+
import { Breakpoints } from "./breakpoints";
|
|
7
|
+
const isTabletUtil = (width) => width > Breakpoints.MobileMaxWidth && width <= Breakpoints.TabletMaxWidth;
|
|
8
|
+
export const useTablet = () => {
|
|
9
|
+
const { topWindow } = useContext(topWindowContext);
|
|
10
|
+
const win = useMemo(() => topWindow || getParentWindow(zen), [topWindow]);
|
|
11
|
+
const [isTablet, setIsTablet] = useState(isTabletUtil(win.innerWidth));
|
|
12
|
+
const onResize = useCallback(() => {
|
|
13
|
+
setIsTablet(isTabletUtil(win.innerWidth));
|
|
14
|
+
}, [win]);
|
|
15
|
+
useResize(onResize, true);
|
|
16
|
+
return isTablet;
|
|
17
|
+
};
|
|
@@ -30,7 +30,7 @@ export interface IDataFeed<T, N = T> extends IDataGrid<T, N> {
|
|
|
30
30
|
}
|
|
31
31
|
export declare const EmptyList: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
|
|
32
32
|
export declare const Footer: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
-
declare const DataFeedInner: <T extends IRowEntity<N>, N extends IEntityWithId>({ entities, columns, feedWrappers, className, expanded, options, description, children, actions, actionsAsync, primaryActions, itemsPerPage, rowClassName, expandedRows, onExpandedChange, activePage, onClick }: IDataFeed<T, N>, ref: ForwardedRef<HTMLElement>) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
declare const DataFeedInner: <T extends IRowEntity<N>, N extends IEntityWithId>({ entities, columns, feedWrappers, className, expanded, options, description, children, actions, actionsAsync, primaryActions, itemsPerPage, rowClassName, expandedRows, onExpandedChange, activePage, onClick, isLoading }: IDataFeed<T, N>, ref: ForwardedRef<HTMLElement>) => import("react/jsx-runtime").JSX.Element;
|
|
34
34
|
export interface IDataFeedStaticProps {
|
|
35
35
|
EmptyList: typeof EmptyList;
|
|
36
36
|
Footer: typeof Footer;
|
package/esm/dataFeed/dataFeed.js
CHANGED
|
@@ -20,7 +20,7 @@ const checkCloseToTheEnd = (feedContainerElt) => {
|
|
|
20
20
|
return distanceToTheBottom < endOfFeedThreshold;
|
|
21
21
|
};
|
|
22
22
|
const FIRST_RENDERED_ROWS = 50;
|
|
23
|
-
const DataFeedInner = ({ entities, columns, feedWrappers, className, expanded, options, description, children, actions, actionsAsync, primaryActions, itemsPerPage = 1000, rowClassName, expandedRows, onExpandedChange, activePage, onClick }, ref) => {
|
|
23
|
+
const DataFeedInner = ({ entities, columns, feedWrappers, className, expanded, options, description, children, actions, actionsAsync, primaryActions, itemsPerPage = 1000, rowClassName, expandedRows, onExpandedChange, activePage, onClick, isLoading }, ref) => {
|
|
24
24
|
const [pages, setPages] = useState(1);
|
|
25
25
|
const data = useMemo(() => entities.slice(0, itemsPerPage * pages), [entities, itemsPerPage, pages]);
|
|
26
26
|
const initialVisibleRows = useMemo(() => data.slice(0, FIRST_RENDERED_ROWS).map(r => r.id), [data]);
|
|
@@ -141,7 +141,7 @@ const DataFeedInner = ({ entities, columns, feedWrappers, className, expanded, o
|
|
|
141
141
|
onExpandedChange,
|
|
142
142
|
onClick
|
|
143
143
|
]);
|
|
144
|
-
return (_jsx("div", { className: "zen-data-grid-wrapper", children: _jsxs("div", { className: classNames(["zen-data-grid", className || ""]), ref: feedRef, onScroll: handleScroll, children: [_jsx("div", { role: "feed", className: "zen-data-grid__feed zen-data-feed", "aria-label": description, "aria-busy":
|
|
144
|
+
return (_jsx("div", { className: "zen-data-grid-wrapper", children: _jsxs("div", { className: classNames(["zen-data-grid", className || ""]), ref: feedRef, onScroll: handleScroll, children: [_jsx("div", { role: "feed", className: "zen-data-grid__feed zen-data-feed", "aria-label": description, "aria-busy": !!isLoading, children: feedItems }), emptyList && data.length === 0 ? emptyList : null, footer] }) }));
|
|
145
145
|
};
|
|
146
146
|
const DataFeed = forwardRef(DataFeedInner);
|
|
147
147
|
DataFeed.EmptyList = EmptyList;
|
|
@@ -15,4 +15,6 @@ export interface IDataFeedCell<T extends object> extends IZenComponentProps {
|
|
|
15
15
|
isNested: boolean;
|
|
16
16
|
onClick?: () => void;
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
declare const FeedCell: <T extends object>({ limited, visibleOnHover, isVisible, title, render, renderWrappers, renderPlaceholder, defaultValue, entity, isNested }: IDataFeedCell<T>) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare const DataFeedCell: typeof FeedCell;
|
|
20
|
+
export {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { IActionWithId } from "../dataGrid/columns/actionsColumn/actionsColumn";
|
|
3
2
|
import { IListColumnStrict } from "../dataGrid/extensions/toBasicColumn";
|
|
4
3
|
import { IRowEntity } from "../dataGrid/row/row";
|
|
@@ -25,5 +24,6 @@ interface IFeedItem<T extends IRowEntity<N>, N extends IEntityWithId> {
|
|
|
25
24
|
primaryActions?: IActionWithId<T>[] | ((e: T, isNested: boolean) => IActionWithId<T>[]);
|
|
26
25
|
onClick?: (id: string) => void;
|
|
27
26
|
}
|
|
28
|
-
|
|
27
|
+
declare const FeedItemInner: <T extends IRowEntity<N>, N extends IEntityWithId>({ columnsList, feedWrappers, expanded, collapsedColumnsQty, visibleColumns, visibleRows, entity, index, className, isRowExpanded, onExpandedChange, actions, actionsAsync, primaryActions, onClick }: IFeedItem<T, N>) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export declare const FeedItem: typeof FeedItemInner;
|
|
29
29
|
export {};
|
|
@@ -18,4 +18,6 @@ export interface IDataGridCell<T extends IEntityWithId> extends IZenComponentPro
|
|
|
18
18
|
onClick?: () => void;
|
|
19
19
|
isActive?: boolean;
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
declare const Cell: <T extends IEntityWithId>({ index, limited, visibleOnHover, isVisible, width, maxWidth, render, renderWrappers, renderPlaceholder, defaultValue, entity, colspan, className, onClick, isActive }: IDataGridCell<T>) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare const DataGridCell: typeof Cell;
|
|
23
|
+
export {};
|
|
@@ -46,8 +46,8 @@ export declare class ActionsColumn<T extends IRowEntity<N>, N extends IEntityWit
|
|
|
46
46
|
constructor(actionsOptions: IActionsColumnOptions<T | N>);
|
|
47
47
|
get options(): IActionsColumnOptions<T | N>;
|
|
48
48
|
set options(actionsOptions: IActionsColumnOptions<T | N>);
|
|
49
|
-
get columnActions(): IActionWithId<N | T> | ((entity: T, isNested: boolean) =>
|
|
50
|
-
get columnActionsAsync(): ((entity: T, isNested: boolean) => PromiseLike<
|
|
51
|
-
get columnPrimaryActions(): IActionWithId<N | T>[] | ((entity:
|
|
49
|
+
get columnActions(): IActionWithId<N | T> | ((entity: T, isNested: boolean) => React.JSX.Element) | undefined;
|
|
50
|
+
get columnActionsAsync(): ((entity: T, isNested: boolean) => PromiseLike<React.JSX.Element>) | undefined;
|
|
51
|
+
get columnPrimaryActions(): IActionWithId<N | T>[] | ((entity: T | N, isNested: boolean) => IAction<T>[]) | undefined;
|
|
52
52
|
}
|
|
53
53
|
export {};
|
|
@@ -17,6 +17,18 @@ export interface IDataGrid<T, N = T> extends Omit<IZenComponentProps, "children"
|
|
|
17
17
|
onExpandedChange?: (id: string, isExpanded: boolean) => void;
|
|
18
18
|
active?: string | undefined;
|
|
19
19
|
onClick?: (id: string) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Called when the user scrolls within ~100 px of the grid bottom (once per approach to the bottom).
|
|
22
|
+
* Also fires after each `entities` change while the grid is already near the bottom — this drives
|
|
23
|
+
* viewport-fill on initial load and greedy load-ahead on appends, so it can fire without new scroll
|
|
24
|
+
* input. The caller is responsible for preventing concurrent fetches (e.g. ignore it while `isLoading`).
|
|
25
|
+
*/
|
|
26
|
+
onScrollEnd?: () => void;
|
|
27
|
+
/**
|
|
28
|
+
* When true, sets `aria-busy` on the grid `<table>` for assistive technology while a fetch is in
|
|
29
|
+
* flight. Callers should also treat it as the guard signal for `onScrollEnd` (skip re-entrant fetches).
|
|
30
|
+
*/
|
|
31
|
+
isLoading?: boolean;
|
|
20
32
|
}
|
|
21
33
|
export declare const NOT_INTERACTIVE_MODIFIER = "zen-data-grid--not-interactive";
|
|
22
34
|
export declare const DRAGGING_MODIFIER = "zen-data-grid--dragging";
|
|
@@ -25,7 +37,7 @@ export declare const VERTICAL_SCROLL_MODIFIER = "zen-data-grid--vertical-scroll"
|
|
|
25
37
|
export declare const MIN_CELL_WIDTH = 100;
|
|
26
38
|
export declare const EmptyList: FC<PropsWithChildren>;
|
|
27
39
|
export declare const Footer: FC<PropsWithChildren>;
|
|
28
|
-
declare const DataGridInner: <T extends IRowEntity<N>, N extends IEntityWithId = T>({ entities, columns, className, description, emptyCellTitle, children, rowClassName, expandedRows, onExpandedChange, active, onClick }: IDataGrid<T, N>, ref: ForwardedRef<HTMLElement>) => import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
declare const DataGridInner: <T extends IRowEntity<N>, N extends IEntityWithId = T>({ entities, columns, className, description, emptyCellTitle, children, rowClassName, expandedRows, onExpandedChange, active, onClick, onScrollEnd, isLoading }: IDataGrid<T, N>, ref: ForwardedRef<HTMLElement>) => import("react/jsx-runtime").JSX.Element;
|
|
29
41
|
export interface IDataGridStaticProps {
|
|
30
42
|
EmptyList: typeof EmptyList;
|
|
31
43
|
Footer: typeof Footer;
|
package/esm/dataGrid/dataGrid.js
CHANGED
|
@@ -69,6 +69,7 @@ export const Footer = ({
|
|
|
69
69
|
children: children
|
|
70
70
|
});
|
|
71
71
|
const FIRST_RENDERED_ROWS = 100;
|
|
72
|
+
const SCROLL_END_THRESHOLD = 100;
|
|
72
73
|
const DataGridInner = ({
|
|
73
74
|
entities,
|
|
74
75
|
columns,
|
|
@@ -80,7 +81,9 @@ const DataGridInner = ({
|
|
|
80
81
|
expandedRows,
|
|
81
82
|
onExpandedChange,
|
|
82
83
|
active,
|
|
83
|
-
onClick
|
|
84
|
+
onClick,
|
|
85
|
+
onScrollEnd,
|
|
86
|
+
isLoading
|
|
84
87
|
}, ref) => {
|
|
85
88
|
const {
|
|
86
89
|
translate
|
|
@@ -96,6 +99,8 @@ const DataGridInner = ({
|
|
|
96
99
|
const gridRef = useRef(null);
|
|
97
100
|
const bodyRef = useRef(null);
|
|
98
101
|
const lazyRenderTimerRef = useRef(0);
|
|
102
|
+
const scrollEndFiredRef = useRef(false);
|
|
103
|
+
const prevEntitiesRef = useRef(entities);
|
|
99
104
|
const rowsMap = useMemo(() => new Map(entities.map(entity => [entity.id, entity])), [entities]);
|
|
100
105
|
const emptyList = useMemo(() => Children.toArray(children).find(child => child.type === EmptyList), [children]);
|
|
101
106
|
const footer = useMemo(() => Children.toArray(children).find(child => child.type === Footer), [children]);
|
|
@@ -173,10 +178,48 @@ const DataGridInner = ({
|
|
|
173
178
|
setVerticalScrollApplied(scrollTop > 0);
|
|
174
179
|
}
|
|
175
180
|
}, [horizontalScrollApplied, setHorizontalScrollApplied, verticalScrollApplied, setVerticalScrollApplied]);
|
|
181
|
+
const checkScrollEnd = useCallback(() => {
|
|
182
|
+
const grid = gridRef.current;
|
|
183
|
+
if (!grid || !onScrollEnd) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
// scrollHeight is 0 before layout (or for an empty grid) — nothing to measure yet.
|
|
187
|
+
if (grid.scrollHeight === 0) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
const distanceToTheBottom = grid.scrollHeight - grid.scrollTop - grid.clientHeight;
|
|
191
|
+
if (distanceToTheBottom < SCROLL_END_THRESHOLD) {
|
|
192
|
+
if (!scrollEndFiredRef.current) {
|
|
193
|
+
scrollEndFiredRef.current = true;
|
|
194
|
+
onScrollEnd();
|
|
195
|
+
}
|
|
196
|
+
} else {
|
|
197
|
+
scrollEndFiredRef.current = false;
|
|
198
|
+
}
|
|
199
|
+
}, [onScrollEnd]);
|
|
176
200
|
const handleScroll = useCallback(() => {
|
|
177
201
|
updateScroll();
|
|
178
202
|
scheduleLazyRender();
|
|
179
|
-
|
|
203
|
+
checkScrollEnd();
|
|
204
|
+
}, [updateScroll, scheduleLazyRender, checkScrollEnd]);
|
|
205
|
+
useEffect(() => {
|
|
206
|
+
// On a data change (load-more append, or a sort/filter that replaces the list):
|
|
207
|
+
// re-arm the once-per-approach guard so a stale "already fired" flag can't suppress the
|
|
208
|
+
// next trigger, then re-check fit. The re-check covers the viewport-fit case: if the new
|
|
209
|
+
// content doesn't fill the viewport there is no scrollbar and no scroll event, so the next
|
|
210
|
+
// page must be requested here. Resize alone intentionally does not run this (see useResize).
|
|
211
|
+
if (prevEntitiesRef.current !== entities) {
|
|
212
|
+
prevEntitiesRef.current = entities;
|
|
213
|
+
scrollEndFiredRef.current = false;
|
|
214
|
+
}
|
|
215
|
+
// Intentionally unconditional: this covers BOTH viewport-fill (new content too short to
|
|
216
|
+
// scroll) AND greedy load-ahead (user parked near the bottom while a page lands, so the
|
|
217
|
+
// next page is requested without further scroll input). Consequence: onScrollEnd is NOT
|
|
218
|
+
// strictly "once per manual approach" — it keeps firing while near the bottom until
|
|
219
|
+
// hasMore is false or the user scrolls away. Callers MUST guard with their own isLoading
|
|
220
|
+
// to avoid concurrent fetches (documented on the onScrollEnd prop).
|
|
221
|
+
checkScrollEnd();
|
|
222
|
+
}, [entities, checkScrollEnd]);
|
|
180
223
|
const getCellParams = useCallback(columnIndex => {
|
|
181
224
|
const defaultWidth = listOfDefaultWidthColumns[columnIndex];
|
|
182
225
|
const minWidth = listOfMinWidthColumns[columnIndex];
|
|
@@ -239,7 +282,8 @@ const DataGridInner = ({
|
|
|
239
282
|
const body = useMemo(() => entities.map((entity, entityIndex) => renderRow(entity, entityIndex, entities.length)), [entities, renderRow]);
|
|
240
283
|
const headerContent = useMemo(() => columnsList.map((column, index) => renderHeaderCell(column, index)), [columnsList, renderHeaderCell]);
|
|
241
284
|
useResize(() => {
|
|
242
|
-
|
|
285
|
+
updateScroll();
|
|
286
|
+
scheduleLazyRender();
|
|
243
287
|
}, true);
|
|
244
288
|
const gridClasses = classNames(["zen-data-grid", className, horizontalScrollApplied ? HORIZONTAL_SCROLL_MODIFIER : "", verticalScrollApplied ? VERTICAL_SCROLL_MODIFIER : ""]);
|
|
245
289
|
return _jsx("div", {
|
|
@@ -252,6 +296,7 @@ const DataGridInner = ({
|
|
|
252
296
|
children: [_jsxs("table", {
|
|
253
297
|
className: "zen-data-grid__table",
|
|
254
298
|
"aria-label": description,
|
|
299
|
+
"aria-busy": !!isLoading,
|
|
255
300
|
role: isTreeGrid ? "treegrid" : undefined,
|
|
256
301
|
children: [_jsx("thead", {
|
|
257
302
|
className: "zen-data-grid__header",
|
|
@@ -20,4 +20,6 @@ export interface IDataGridRow<T extends IRowEntity<N>, N extends IEntityWithId>
|
|
|
20
20
|
onClick?: (id: string) => void;
|
|
21
21
|
}
|
|
22
22
|
export declare const MIN_CELL_WIDTH = 100;
|
|
23
|
-
|
|
23
|
+
declare const Row: <T extends IRowEntity<N>, N extends IEntityWithId = T>({ id, entity, columns, visibleRows, flexibleColumnWidth, isLastRow, className, expanded, onExpandedChange, isTreeGrid, ariaPosinset, ariaSetsize, onClick, isActive, active }: IDataGridRow<T, N>) => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export declare const DataGridRow: typeof Row;
|
|
25
|
+
export {};
|
|
@@ -7,7 +7,7 @@ export interface IActionColumnsProps<T extends IEntityWithId> {
|
|
|
7
7
|
columns: IListColumn<T, T>[];
|
|
8
8
|
ref?: RefObject<HTMLElement | null>;
|
|
9
9
|
}
|
|
10
|
-
export declare const withActions: <T extends IEntityWithId, P extends IDataGrid<T
|
|
10
|
+
export declare const withActions: <T extends IEntityWithId, P extends IDataGrid<T>>(DataGridComponent: ComponentType<P>) => {
|
|
11
11
|
(props: IActionColumnsProps<T> & P): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
displayName: string;
|
|
13
13
|
};
|
|
@@ -23,7 +23,7 @@ export interface IFlexibleColumnsListProps<T> {
|
|
|
23
23
|
ref?: RefObject<HTMLElement | null>;
|
|
24
24
|
}
|
|
25
25
|
export declare const withFlexibleColumns: {
|
|
26
|
-
<T extends IEntityWithId, P extends IDataGrid<T
|
|
26
|
+
<T extends IEntityWithId, P extends IDataGrid<T>>(DataGridComponent: ComponentType<P>): {
|
|
27
27
|
(props: IFlexibleColumnsListProps<T> & P): import("react/jsx-runtime").JSX.Element;
|
|
28
28
|
displayName: string;
|
|
29
29
|
};
|
|
@@ -19,7 +19,7 @@ export interface IWithLoadingProps<T> {
|
|
|
19
19
|
export interface ILoadingEntity extends IEntityWithId {
|
|
20
20
|
isLoading?: boolean;
|
|
21
21
|
}
|
|
22
|
-
export declare const withLoading: <T extends IEntityWithId, P extends IDataGrid<T
|
|
22
|
+
export declare const withLoading: <T extends IEntityWithId, P extends IDataGrid<T>>(DataGridComponent: ComponentType<P>) => {
|
|
23
23
|
(props: IWithLoadingProps<T> & Partial<Pick<ISelectableRowsList<T, T>, "selectMode">> & P): import("react/jsx-runtime").JSX.Element;
|
|
24
24
|
displayName: string;
|
|
25
25
|
};
|
|
@@ -12,7 +12,7 @@ export interface ILimitedSelectableRowsList<T extends IEntityWithId> extends ISe
|
|
|
12
12
|
/**
|
|
13
13
|
* @deprecated Please use withSelectableRows with options checkboxVisible/checkboxDisabled instead
|
|
14
14
|
*/
|
|
15
|
-
export declare const withLimitedSelectableRows: <T extends IEntityWithId, P extends IDataGrid<T
|
|
15
|
+
export declare const withLimitedSelectableRows: <T extends IEntityWithId, P extends IDataGrid<T>>(DataGridComponent: ComponentType<P>) => {
|
|
16
16
|
(props: ILimitedSelectableRowsList<T> & P): import("react/jsx-runtime").JSX.Element;
|
|
17
17
|
displayName: string;
|
|
18
18
|
};
|
|
@@ -33,7 +33,7 @@ export interface ISelectableRowsList<T, N = T> {
|
|
|
33
33
|
ref?: RefObject<HTMLElement | null>;
|
|
34
34
|
}
|
|
35
35
|
export declare const getSelections: (selections: ISelectableRowsListSelections | undefined) => Set<string>;
|
|
36
|
-
export declare const withSelectableRows: <T extends IEntityWithId, P extends IDataGrid<T
|
|
36
|
+
export declare const withSelectableRows: <T extends IEntityWithId, P extends IDataGrid<T>>(DataGridComponent: ComponentType<P>) => {
|
|
37
37
|
(props: ISelectableRowsList<T, T> & P): import("react/jsx-runtime").JSX.Element;
|
|
38
38
|
displayName: string;
|
|
39
39
|
translations: string[];
|
|
@@ -18,7 +18,7 @@ export interface ISortableColumnsListProps<T> {
|
|
|
18
18
|
ref?: RefObject<HTMLElement | null>;
|
|
19
19
|
}
|
|
20
20
|
export declare const withSortableColumns: {
|
|
21
|
-
<T extends IEntityWithId, P extends IDataGrid<T
|
|
21
|
+
<T extends IEntityWithId, P extends IDataGrid<T>>(DataGridComponent: ComponentType<P>): (props: ISortableColumnsListProps<T> & P) => import("react/jsx-runtime").JSX.Element;
|
|
22
22
|
translations: string[];
|
|
23
23
|
};
|
|
24
24
|
export {};
|
package/esm/dialog/dialog.d.ts
CHANGED
package/esm/dropdown/dropdown.js
CHANGED
|
@@ -20,4 +20,4 @@ export const Dropdown = (_a) => {
|
|
|
20
20
|
var props = __rest(_a, []);
|
|
21
21
|
return _jsx(DropDownFormField, Object.assign({}, props));
|
|
22
22
|
};
|
|
23
|
-
export const TRANSLATIONS = ["Filter by group", "Open filter", "Clear search", "Select all", "
|
|
23
|
+
export const TRANSLATIONS = ["Filter by group", "Open filter", "Clear search", "Select all", "Clear", "Back", "No data"];
|
|
@@ -13,7 +13,8 @@ export interface IDropdownList extends IZenComponentProps {
|
|
|
13
13
|
onSelect: (id: string) => void;
|
|
14
14
|
onSingleSelect: (reset: boolean, selected?: string) => void;
|
|
15
15
|
backButtonName?: string;
|
|
16
|
-
|
|
16
|
+
isSelectAllActive?: boolean;
|
|
17
|
+
shouldBlockItems?: boolean;
|
|
17
18
|
listData: ICheckboxListWithActionOption[] | ISelectListItem[];
|
|
18
19
|
isWithFooter: boolean;
|
|
19
20
|
width?: number;
|
|
@@ -39,6 +40,6 @@ interface IDropdownEmptyList extends Pick<IDropdownList, "className" | "width" |
|
|
|
39
40
|
hasError: boolean;
|
|
40
41
|
}
|
|
41
42
|
export declare const EmptyList: ({ className, width, onClearClick, onApplyClick, onCancelClick, hasApplyButton, isApplyDisabled, isClearButtonDisabled, isWithFooter, hasError }: IDropdownEmptyList) => import("react/jsx-runtime").JSX.Element;
|
|
42
|
-
export declare const DropdownList: ({ onBackButtonClick, onSelectAllClick, onClearClick, onApplyClick, onCancelClick, onChange, onSelect, onSingleSelect, listData,
|
|
43
|
+
export declare const DropdownList: ({ onBackButtonClick, onSelectAllClick, onClearClick, onApplyClick, onCancelClick, onChange, onSelect, onSingleSelect, listData, isSelectAllActive, shouldBlockItems, backButtonName, width, minWidth, isSelectAllButtonDisable, hasSelectAllButton, filterName, isMultiselect, hasApplyButton, isApplyDisabled, isClearButtonDisabled, activeValue, forceSelection, isWithFooter, isMobile, handleCheckboxChange, checkboxLabel, isChecked, listElementRef, listId }: IDropdownList) => import("react/jsx-runtime").JSX.Element;
|
|
43
44
|
export declare const TRANSLATIONS: string[];
|
|
44
45
|
export {};
|