@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.
- 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 +1 -2
- package/dist/chart/plugins/linePlugin/linePlugin.js +29 -7
- 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 +219 -169
- 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/tsconfig.cjs.tsbuildinfo +1 -0
- 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/linePlugin.js +29 -7
- 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/tsconfig.esm.tsbuildinfo +1 -0
- 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
|
@@ -25,6 +25,8 @@ export interface IDropdownState {
|
|
|
25
25
|
listLimit: number;
|
|
26
26
|
resultsExceedListLimit?: boolean;
|
|
27
27
|
isAllSelected?: boolean;
|
|
28
|
+
selectAllActiveForId?: string;
|
|
29
|
+
autoPromoteSelectAll?: boolean;
|
|
28
30
|
globalIsAllSelected?: boolean;
|
|
29
31
|
defaultValueIsAllSelected?: boolean;
|
|
30
32
|
isChecked?: boolean;
|
|
@@ -34,7 +36,7 @@ export interface IDropdownState {
|
|
|
34
36
|
}
|
|
35
37
|
export interface IStateReducer extends Reducer<IDropdownState, TStateAction> {
|
|
36
38
|
}
|
|
37
|
-
export declare const getInitialState: (isFullSelectionMode: boolean, comboItems: IDropdownRawItem[], selection: string[], listLimit: number, defaultValue?: string[], isAllSelected?: boolean, defaultValueIsAllSelected?: boolean, isChecked?: boolean, defaultValueIsChecked?: boolean, firstParentNodeIsVisible?: boolean) => {
|
|
39
|
+
export declare const getInitialState: (isFullSelectionMode: boolean, comboItems: IDropdownRawItem[], selection: string[], listLimit: number, defaultValue?: string[], isAllSelected?: boolean, defaultValueIsAllSelected?: boolean, isChecked?: boolean, defaultValueIsChecked?: boolean, firstParentNodeIsVisible?: boolean, autoPromoteSelectAll?: boolean) => {
|
|
38
40
|
groupsMap: ITypedHash<IGroupTree>;
|
|
39
41
|
selectedIds: string[];
|
|
40
42
|
globalSelectedIds: string[];
|
|
@@ -62,5 +64,6 @@ export declare const getInitialState: (isFullSelectionMode: boolean, comboItems:
|
|
|
62
64
|
listLimit: number;
|
|
63
65
|
resultsExceedListLimit: boolean;
|
|
64
66
|
firstParentNodeIsVisible: boolean | undefined;
|
|
67
|
+
autoPromoteSelectAll: boolean | undefined;
|
|
65
68
|
};
|
|
66
69
|
export declare function stateReducer(state: IDropdownState, action: TStateAction): IDropdownState;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { StateActionType } from "./stateActionType";
|
|
2
|
-
import { getChildList,
|
|
2
|
+
import { getChildList, getRootId, computeIsAllSelected } from "./stateReducerHelper";
|
|
3
3
|
import { createGroupsMap } from "../../groupsFilterRaw/groupsFilterHelper";
|
|
4
4
|
export const ROOT_GROUP_ID = "zen_dropdown_root_group_id";
|
|
5
|
-
export const getInitialState = (isFullSelectionMode, comboItems, selection, listLimit, defaultValue, isAllSelected, defaultValueIsAllSelected, isChecked, defaultValueIsChecked, firstParentNodeIsVisible) => {
|
|
5
|
+
export const getInitialState = (isFullSelectionMode, comboItems, selection, listLimit, defaultValue, isAllSelected, defaultValueIsAllSelected, isChecked, defaultValueIsChecked, firstParentNodeIsVisible, autoPromoteSelectAll) => {
|
|
6
6
|
const updatedGroupsMapSelected = new Map();
|
|
7
7
|
const updatedGroupsMap = comboItems.length ? createGroupsMap(comboItems, ROOT_GROUP_ID) : {};
|
|
8
8
|
const namelessIds = new Set();
|
|
@@ -47,7 +47,8 @@ export const getInitialState = (isFullSelectionMode, comboItems, selection, list
|
|
|
47
47
|
globalIsChecked: isChecked,
|
|
48
48
|
listLimit,
|
|
49
49
|
resultsExceedListLimit: false,
|
|
50
|
-
firstParentNodeIsVisible: firstParentNodeIsVisible
|
|
50
|
+
firstParentNodeIsVisible: firstParentNodeIsVisible,
|
|
51
|
+
autoPromoteSelectAll: autoPromoteSelectAll
|
|
51
52
|
};
|
|
52
53
|
};
|
|
53
54
|
// eslint-disable-next-line complexity
|
|
@@ -71,12 +72,14 @@ export function stateReducer(state, action) {
|
|
|
71
72
|
}
|
|
72
73
|
});
|
|
73
74
|
}
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
const
|
|
75
|
+
const updatedGroupsMapCount = Object.keys(updatedGroupsMap).length;
|
|
76
|
+
const isCurrentListNested = updatedGroupsMapCount > 0 && (updatedGroupsMap[ROOT_GROUP_ID].children || []).some(el => el.children && el.children.length);
|
|
77
|
+
const groupsMapLength = updatedGroupsMapCount - 1;
|
|
78
|
+
const newResultsExceedListLimit = groupsMapLength >= state.listLimit;
|
|
79
|
+
const selectedInNewMap = state.selectedIds.filter(id => id in updatedGroupsMap).length - newNamelessIds.size;
|
|
80
|
+
const newIsAllSelected = computeIsAllSelected(state.isAllSelected, state.isFullSelectionMode, newResultsExceedListLimit, groupsMapLength, selectedInNewMap);
|
|
78
81
|
const rootId = getRootId(updatedGroupsMap, ROOT_GROUP_ID, state.firstParentNodeIsVisible);
|
|
79
|
-
return Object.assign(Object.assign(
|
|
82
|
+
return Object.assign(Object.assign({}, state), { groupsMap: updatedGroupsMap, rootId: rootId || ROOT_GROUP_ID, namelessIds: newNamelessIds, isNestedList: state.isNestedList ? state.isNestedList : isCurrentListNested, resultsExceedListLimit: newResultsExceedListLimit, isAllSelected: newIsAllSelected });
|
|
80
83
|
}
|
|
81
84
|
case StateActionType.SetListData: {
|
|
82
85
|
state.selectedIds.forEach(id => {
|
|
@@ -101,9 +104,9 @@ export function stateReducer(state, action) {
|
|
|
101
104
|
case StateActionType.SetIsOpenCombo:
|
|
102
105
|
return Object.assign(Object.assign({}, state), { isOpenCombo: payload });
|
|
103
106
|
case StateActionType.ResetSelection:
|
|
104
|
-
return Object.assign(Object.assign({}, state), { selectedIds: [...state.defaultValue], isAllSelected: state.defaultValueIsAllSelected, isChecked: typeof state.isChecked === "boolean" ? state.defaultValueIsChecked || false : undefined });
|
|
107
|
+
return Object.assign(Object.assign({}, state), { selectedIds: [...state.defaultValue], isAllSelected: state.defaultValueIsAllSelected, isChecked: typeof state.isChecked === "boolean" ? state.defaultValueIsChecked || false : undefined, selectAllActiveForId: undefined });
|
|
105
108
|
case StateActionType.ResetStateToGlobal:
|
|
106
|
-
return Object.assign(Object.assign({}, state), { selectedIds: [...state.globalSelectedIds], isAllSelected: state.globalIsAllSelected, isChecked: state.globalIsChecked });
|
|
109
|
+
return Object.assign(Object.assign({}, state), { selectedIds: [...state.globalSelectedIds], isAllSelected: state.globalIsAllSelected, isChecked: state.globalIsChecked, selectAllActiveForId: undefined });
|
|
107
110
|
case StateActionType.NothingToShow:
|
|
108
111
|
return Object.assign(Object.assign({}, state), { showWaiting: false, showEmptyList: false, showList: false });
|
|
109
112
|
case StateActionType.Show:
|
|
@@ -115,7 +118,7 @@ export function stateReducer(state, action) {
|
|
|
115
118
|
case StateActionType.ShowList:
|
|
116
119
|
return Object.assign(Object.assign({}, state), { showWaiting: false, showEmptyList: false, showList: true });
|
|
117
120
|
case StateActionType.SetInputValue:
|
|
118
|
-
return Object.assign(Object.assign({}, state), { inputValue: payload });
|
|
121
|
+
return Object.assign(Object.assign({}, state), { inputValue: payload, selectAllActiveForId: undefined });
|
|
119
122
|
case StateActionType.SetState: {
|
|
120
123
|
const newNamelessIds = new Set(state.namelessIds);
|
|
121
124
|
payload.selected.forEach(id => {
|
|
@@ -219,8 +222,10 @@ export function stateReducer(state, action) {
|
|
|
219
222
|
state.groupsMapSelected.set(id, Object.assign(Object.assign({ id }, (item.name ? { name: item.name } : {})), (item.color ? { color: item.color } : {})));
|
|
220
223
|
}
|
|
221
224
|
});
|
|
222
|
-
const
|
|
223
|
-
|
|
225
|
+
const newIsAllSelected = state.autoPromoteSelectAll
|
|
226
|
+
? currentSelectedIds.size >= Object.keys(state.groupsMap).length - 1
|
|
227
|
+
: state.isAllSelected;
|
|
228
|
+
return Object.assign(Object.assign({}, state), { selectedIds: Array.from(currentSelectedIds), selectAllActiveForId: undefined, isAllSelected: newIsAllSelected });
|
|
224
229
|
}
|
|
225
230
|
case StateActionType.ChangeBulkSelection: {
|
|
226
231
|
const { itemsIds, value } = payload;
|
|
@@ -253,8 +258,10 @@ export function stateReducer(state, action) {
|
|
|
253
258
|
state.groupsMapSelected.set(id, Object.assign(Object.assign({ id }, (item.name ? { name: item.name } : {})), (item.color ? { color: item.color } : {})));
|
|
254
259
|
}
|
|
255
260
|
});
|
|
256
|
-
const
|
|
257
|
-
|
|
261
|
+
const newIsAllSelected = state.autoPromoteSelectAll
|
|
262
|
+
? currentSelectedIds.size >= Object.keys(state.groupsMap).length - 1
|
|
263
|
+
: state.isAllSelected;
|
|
264
|
+
return Object.assign(Object.assign({}, state), { selectedIds: Array.from(currentSelectedIds), selectAllActiveForId: undefined, isAllSelected: newIsAllSelected });
|
|
258
265
|
}
|
|
259
266
|
case StateActionType.SelectAllChildren: {
|
|
260
267
|
const currentEl = state.groupsMap[payload];
|
|
@@ -291,7 +298,7 @@ export function stateReducer(state, action) {
|
|
|
291
298
|
state.groupsMapSelected.set(id, Object.assign(Object.assign({ id }, (item.name ? { name: item.name } : {})), (item.color ? { color: item.color } : {})));
|
|
292
299
|
}
|
|
293
300
|
});
|
|
294
|
-
return Object.assign(Object.assign({}, state), { selectedIds: Array.from(newSelected) });
|
|
301
|
+
return Object.assign(Object.assign({}, state), { selectedIds: Array.from(newSelected), selectAllActiveForId: payload });
|
|
295
302
|
}
|
|
296
303
|
case StateActionType.DeselectItemsFromAllSelected: {
|
|
297
304
|
const currentEl = state.groupsMap[state.rootId];
|
|
@@ -315,12 +322,16 @@ export function stateReducer(state, action) {
|
|
|
315
322
|
state.groupsMapSelected.set(id, Object.assign(Object.assign({ id }, (item.name ? { name: item.name } : {})), (item.color ? { color: item.color } : {})));
|
|
316
323
|
}
|
|
317
324
|
});
|
|
318
|
-
return Object.assign(Object.assign({}, state), { selectedIds: Array.from(newSelected), isAllSelected: state.isFullSelectionMode ? false : undefined });
|
|
325
|
+
return Object.assign(Object.assign({}, state), { selectedIds: Array.from(newSelected), isAllSelected: state.isFullSelectionMode ? false : undefined, selectAllActiveForId: undefined });
|
|
319
326
|
}
|
|
320
327
|
case StateActionType.ToggleValueForAllSelected: {
|
|
321
328
|
const currentEl = state.groupsMap[state.rootId];
|
|
329
|
+
// selectAllActiveForId tracks when "Select all" was clicked at this level, even when
|
|
330
|
+
// autoPromoteSelectAll=false keeps isAllSelected=false. Without this fallback, a second
|
|
331
|
+
// click would incorrectly clear selections and leave the button stuck as pressed.
|
|
332
|
+
const effectiveIsAllSelected = !!state.isAllSelected || state.selectAllActiveForId === (state.currentId || state.rootId);
|
|
322
333
|
const newSelected = new Set();
|
|
323
|
-
|
|
334
|
+
effectiveIsAllSelected &&
|
|
324
335
|
((currentEl === null || currentEl === void 0 ? void 0 : currentEl.children) || []).forEach(el => {
|
|
325
336
|
if (!newSelected.has(el.id) && el.disabled) {
|
|
326
337
|
newSelected.add(el.id);
|
|
@@ -333,9 +344,8 @@ export function stateReducer(state, action) {
|
|
|
333
344
|
state.groupsMapSelected.set(id, Object.assign(Object.assign({ id }, (item.name ? { name: item.name } : {})), (item.color ? { color: item.color } : {})));
|
|
334
345
|
}
|
|
335
346
|
});
|
|
336
|
-
const updatedIsAllSelectedValue = state.isFullSelectionMode ? !
|
|
337
|
-
|
|
338
|
-
return Object.assign(Object.assign(Object.assign({}, state), { selectedIds: state.isAllSelected ? Array.from(newSelected) : [], isAllSelected: updatedIsAllSelectedValue }), additionalStateUpdates);
|
|
347
|
+
const updatedIsAllSelectedValue = state.isFullSelectionMode ? !effectiveIsAllSelected : undefined;
|
|
348
|
+
return Object.assign(Object.assign({}, state), { selectedIds: effectiveIsAllSelected ? Array.from(newSelected) : [], isAllSelected: updatedIsAllSelectedValue, selectAllActiveForId: undefined });
|
|
339
349
|
}
|
|
340
350
|
case StateActionType.DeselectAllChildren: {
|
|
341
351
|
const childrenForDeselect = [];
|
|
@@ -347,7 +357,7 @@ export function stateReducer(state, action) {
|
|
|
347
357
|
});
|
|
348
358
|
const newSelected = new Set(state.selectedIds);
|
|
349
359
|
childrenForDeselect.forEach(childId => newSelected.delete(childId));
|
|
350
|
-
return Object.assign(Object.assign({}, state), { selectedIds: Array.from(newSelected) });
|
|
360
|
+
return Object.assign(Object.assign({}, state), { selectedIds: Array.from(newSelected), selectAllActiveForId: undefined });
|
|
351
361
|
}
|
|
352
362
|
case StateActionType.SetFirstParentNodeIsVisible: {
|
|
353
363
|
if (state.firstParentNodeIsVisible === payload) {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IDropdownState } from "./stateReducer";
|
|
2
1
|
import { IDropdownRawItem } from "../types";
|
|
3
2
|
import { IGroupTree, ITypedHash } from "../../groupsFilterRaw/groupsFilterInterfaces";
|
|
4
3
|
export declare function getChildList(childArr: IDropdownRawItem[] | undefined): IDropdownRawItem[];
|
|
5
|
-
export declare const
|
|
4
|
+
export declare const computeIsAllSelected: (currentIsAllSelected: boolean | undefined, isFullSelectionMode: boolean, resultsExceedListLimit: boolean | undefined, groupsMapLength: number, selectedCount: number) => boolean | undefined;
|
|
6
5
|
export declare const getRootId: (groupsMap: ITypedHash<IGroupTree>, rootIdKey: string, firstParentNodeIsVisible?: boolean) => string | undefined;
|
|
@@ -13,16 +13,11 @@ export function getChildList(childArr) {
|
|
|
13
13
|
});
|
|
14
14
|
return list;
|
|
15
15
|
}
|
|
16
|
-
export const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
additionalStateUpdates.isAllSelected = true;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return additionalStateUpdates;
|
|
25
|
-
};
|
|
16
|
+
export const computeIsAllSelected = (currentIsAllSelected, isFullSelectionMode, resultsExceedListLimit, groupsMapLength, selectedCount) => !resultsExceedListLimit && isFullSelectionMode && groupsMapLength > 0
|
|
17
|
+
? selectedCount >= groupsMapLength
|
|
18
|
+
? true
|
|
19
|
+
: currentIsAllSelected
|
|
20
|
+
: currentIsAllSelected;
|
|
26
21
|
export const getRootId = (groupsMap, rootIdKey, firstParentNodeIsVisible) => {
|
|
27
22
|
var _a;
|
|
28
23
|
if (Object.keys(groupsMap).length === 0) {
|
|
@@ -62,6 +62,26 @@ interface IDropdownBase extends IChipsParent {
|
|
|
62
62
|
mobileSheetStackingClassName?: string;
|
|
63
63
|
firstParentNodeIsVisible?: boolean;
|
|
64
64
|
dataAnalyticsId?: string;
|
|
65
|
+
/**
|
|
66
|
+
* When `true`, hides the "Select all" button while the user has an active search query.
|
|
67
|
+
* The button reappears when the search field is cleared.
|
|
68
|
+
* @default false
|
|
69
|
+
*/
|
|
70
|
+
hideSelectAllOnSearch?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* When `true`, individual list items are visually blocked (disabled) while "Select all" is
|
|
73
|
+
* active at the current level, preventing partial deselection after a bulk selection.
|
|
74
|
+
* Has no effect in full-selection mode (`value` with `isAllSelected`).
|
|
75
|
+
* @default false
|
|
76
|
+
*/
|
|
77
|
+
blockItemsOnSelectAll?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* When `true`, automatically promotes `isAllSelected` to `true` when all available items
|
|
80
|
+
* are individually checked. Only applies in full-selection mode (value with `isAllSelected`).
|
|
81
|
+
* Has no effect in standard mode (`value: string[]`).
|
|
82
|
+
* @default false
|
|
83
|
+
*/
|
|
84
|
+
autoPromoteSelectAll?: boolean;
|
|
65
85
|
}
|
|
66
86
|
interface IDropdownBaseDefault {
|
|
67
87
|
disabled?: boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
2
|
import { FiltersChip, IFiltersChip } from "./filtersChip";
|
|
3
3
|
import { FiltersDateRange, IFiltersDateRangeItem, TFiltersDateRangeState } from "./filtersDateRange";
|
|
4
4
|
import { FiltersDropdown, IFiltersDropdown, TFiltersDropdownAllStates } from "./filtersDropdown";
|
|
@@ -49,4 +49,4 @@ export declare const allowedFiltersComponents: ({
|
|
|
49
49
|
({ ...props }: IFiltersChip): import("react/jsx-runtime").JSX.Element;
|
|
50
50
|
displayName: string;
|
|
51
51
|
} | typeof FiltersDropdown)[];
|
|
52
|
-
export declare const getAllowedFilters: <T extends
|
|
52
|
+
export declare const getAllowedFilters: <T extends ReactNode>(items: T[]) => React.ReactElement<unknown, string | React.JSXElementConstructor<any>>[];
|
|
@@ -22,7 +22,7 @@ export declare const prepareDefaultDropdownState: (type: TDropdownState) => neve
|
|
|
22
22
|
isAllSelected: boolean;
|
|
23
23
|
isChecked?: undefined;
|
|
24
24
|
};
|
|
25
|
-
export declare const getChildren: (children?: ReactElement | (null | ReactElement)[]) =>
|
|
25
|
+
export declare const getChildren: (children?: ReactElement | (null | ReactElement)[]) => ReactElement<unknown, string | React.JSXElementConstructor<any>>[];
|
|
26
26
|
export declare const getFiltersState: (children: ReactElement | ReactElement[]) => {};
|
|
27
27
|
export declare const createStateObject: (children: ReactElement | ReactElement[], field: "state" | "defaultState") => {};
|
|
28
28
|
export declare function getNumberOfChangedFilters(state: object): number;
|
package/esm/filtersBar/components/filtersBarDropdownWithCheckbox/filtersBarDropdownWithCheckbox.js
CHANGED
|
@@ -93,7 +93,7 @@ export const FiltersBarDropdownWithCheckbox = ({ sidePanelTitle, className, prop
|
|
|
93
93
|
restProps,
|
|
94
94
|
useSidePanelView
|
|
95
95
|
]);
|
|
96
|
-
const componentWithSeparateCheckbox =
|
|
96
|
+
const componentWithSeparateCheckbox = (_jsx(FiltersBarSidePanelDropdownWithCheckbox, { props: Object.assign({}, commonProps), state: state, onChange: onChange, getData: memoizedGetData }));
|
|
97
97
|
const component = isFullSelectionMode ? (_jsx(Dropdown, Object.assign({}, commonProps, { checkboxLabel: props.checkboxLabel, getData: props.getData, value: { selected: Array.from(selection), isAllSelected: isCurrentAllSelected || false, isChecked: isCurrentChecked }, onChange: onChangeFullSelectionWithCheckbox, defaultValue: props.defaultValue, multiselect: true, selectAllButton: true }))) : (_jsx(Dropdown, Object.assign({}, commonProps, { checkboxLabel: props.checkboxLabel, getData: props.getData, value: { selected: Array.from(selection), isChecked: isCurrentChecked }, onChange: onChangeWithCheckbox, defaultValue: props.defaultValue })));
|
|
98
98
|
if (!useSidePanelView) {
|
|
99
99
|
return component;
|
|
@@ -130,7 +130,7 @@ export const FiltersBar = ({ className, children, isAllFiltersVisible, hideAllFi
|
|
|
130
130
|
});
|
|
131
131
|
}
|
|
132
132
|
}, [filterBarChildren, memoizedShouldUpdate, sidePanelState, stateFromChildren]);
|
|
133
|
-
const searchChild = childrenArray.find(child =>
|
|
133
|
+
const searchChild = childrenArray.find(child => typeof child === "object" && "type" in child && child.type === FiltersBarSearch);
|
|
134
134
|
useEffect(() => {
|
|
135
135
|
setSearchComponent(searchChild);
|
|
136
136
|
}, [searchChild, setSearchComponent]);
|
|
@@ -208,7 +208,7 @@ export const FiltersBar = ({ className, children, isAllFiltersVisible, hideAllFi
|
|
|
208
208
|
return getNumberOfChangedFilters(filtersBarState.childrenState, filtersBarState.prevChildrenState) > 0;
|
|
209
209
|
}, [filtersBarState.childrenState, filtersBarState.prevChildrenState, getDefaultFiltersState, onApplyAllFilters]);
|
|
210
210
|
const sidePanel = useMemo(() => {
|
|
211
|
-
const sidePanelChild = childrenArray.find(child =>
|
|
211
|
+
const sidePanelChild = childrenArray.find(child => typeof child === "object" && "type" in child && child.type === FiltersBarSidePanelContainer);
|
|
212
212
|
if (!sidePanelChild) {
|
|
213
213
|
return (_jsx(FiltersBarSidePanel, { parentElement: parentElement, isOpen: isAllFiltersVisible, triggerRef: isMobile ? mobileTriggerRef || emptyFiltersRef : allFiltersRef, getDefaultFiltersState: getDefaultFiltersState, onClosePanel: onClosePanel, state: sidePanelState, onApplyAllFilters: handleApplyAllFilters(true), dispatch: dispatchSidePanelState, pillName: pillName, pillIcon: pillIcon, pillType: pillType, children: filterBarChildren }));
|
|
214
214
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { FiltersBarDropdown, IFiltersBarDropdown, IFiltersBarDropdownFullSelectionMode } from "./components/filtersBarDropdown/filtersBarDropdown";
|
|
3
2
|
import { FiltersBarGroupButton, IFiltersBarGroupButton } from "./components/filtersBarGroupButton/filtersBarGroupButton";
|
|
4
3
|
import { FiltersBarGroupsFilter, IFiltersBarGroupsFilter } from "./components/filtersBarGroupsFilter/filtersBarGroupsFilter";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IDropdownItem } from "../../../../dropdown/dropdown";
|
|
2
|
-
import { IFiltersBarDropdownFullSelectionWithCheckboxProps, IFiltersBarDropdownWithCheckboxFullSelectionState, IFiltersBarDropdownWithCheckboxProps, IFiltersBarDropdownWithCheckboxState } from "../../../components/filtersBarDropdownWithCheckbox/filtersBarDropdownWithCheckbox";
|
|
2
|
+
import { IFiltersBarDropdownFullSelectionWithCheckboxProps, IFiltersBarDropdownWithCheckboxFullSelectionOnChange, IFiltersBarDropdownWithCheckboxFullSelectionState, IFiltersBarDropdownWithCheckboxOnChange, IFiltersBarDropdownWithCheckboxProps, IFiltersBarDropdownWithCheckboxState } from "../../../components/filtersBarDropdownWithCheckbox/filtersBarDropdownWithCheckbox";
|
|
3
3
|
interface IFiltersBarDropdownWithCheckboxSidePanelProps extends Omit<IFiltersBarDropdownWithCheckboxProps, "getData"> {
|
|
4
4
|
}
|
|
5
5
|
interface IFiltersBarDropdownFullSelectionWithCheckboxSidePanelProps extends Omit<IFiltersBarDropdownFullSelectionWithCheckboxProps, "getData"> {
|
|
@@ -7,14 +7,8 @@ interface IFiltersBarDropdownFullSelectionWithCheckboxSidePanelProps extends Omi
|
|
|
7
7
|
interface IFiltersBarSidePanelDropdownWithCheckboxProps {
|
|
8
8
|
props: IFiltersBarDropdownFullSelectionWithCheckboxSidePanelProps | IFiltersBarDropdownWithCheckboxSidePanelProps;
|
|
9
9
|
getData: (signal?: AbortSignal, searchValue?: string, checkboxValue?: boolean) => Promise<IDropdownItem[]>;
|
|
10
|
-
state: IFiltersBarDropdownWithCheckboxState;
|
|
11
|
-
onChange:
|
|
10
|
+
state: IFiltersBarDropdownWithCheckboxState | IFiltersBarDropdownWithCheckboxFullSelectionState;
|
|
11
|
+
onChange: IFiltersBarDropdownWithCheckboxOnChange | IFiltersBarDropdownWithCheckboxFullSelectionOnChange;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
props: IFiltersBarDropdownFullSelectionWithCheckboxSidePanelProps | IFiltersBarDropdownWithCheckboxSidePanelProps;
|
|
15
|
-
getData: (signal?: AbortSignal, searchValue?: string, checkboxValue?: boolean) => Promise<IDropdownItem[]>;
|
|
16
|
-
state: IFiltersBarDropdownWithCheckboxFullSelectionState;
|
|
17
|
-
onChange: (value: IFiltersBarDropdownWithCheckboxFullSelectionState) => void;
|
|
18
|
-
}
|
|
19
|
-
export declare const FiltersBarSidePanelDropdownWithCheckbox: ({ props, state, onChange, getData }: IFiltersBarSidePanelDropdownWithCheckboxProps | IFiltersBarSidePanelDropdownWithCheckboxFullSelectionProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare const FiltersBarSidePanelDropdownWithCheckbox: ({ props, state, onChange, getData }: IFiltersBarSidePanelDropdownWithCheckboxProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
14
|
export {};
|
|
@@ -23,5 +23,5 @@ export declare const FormField: {
|
|
|
23
23
|
(props: TFormFieldComponentProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
24
24
|
displayName: string;
|
|
25
25
|
};
|
|
26
|
-
Banner: (props: import("
|
|
26
|
+
Banner: (props: import("..").IFormFieldBannerProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
27
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useMobile } from "../../../commonHelpers/hooks/useMobile";
|
|
3
3
|
import { useColumns } from "../../../formLayout/hooks/useColumns";
|
|
4
|
-
import { useTablet } from "../../../
|
|
4
|
+
import { useTablet } from "../../../commonHelpers/hooks/useTablet";
|
|
5
5
|
import { OneRow } from "../../components/oneRow";
|
|
6
6
|
import { TwoRows } from "../../components/twoRows";
|
|
7
7
|
import { isTwoRowsStructure } from "../../utils/isTwoRowsStructure";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ReactElement } from "react";
|
|
2
2
|
import { ILabelState } from "../types";
|
|
3
|
-
export declare const isFormLabel: (element: any) => element is ReactElement<ILabelState
|
|
3
|
+
export declare const isFormLabel: (element: any) => element is ReactElement<ILabelState>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const attachHeadings: (elements: React.ReactElement[], title?: string, secondary?: string) =>
|
|
1
|
+
export declare const attachHeadings: (elements: React.ReactElement[], title?: string, secondary?: string) => import("react/jsx-runtime").JSX.Element[];
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { TFormSectionType } from "../../formSection/types";
|
|
3
2
|
import { TFormLayoutColumns } from "../types";
|
|
4
3
|
export declare const attachSeparators: (components: React.ReactElement[], type: TFormSectionType, columns: TFormLayoutColumns) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>[];
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const getChildrenWithCustomColumns: (children: React.ReactElement) => ReactNode[];
|
|
1
|
+
export declare const getChildrenWithCustomColumns: (children: React.ReactElement) => import("react").ReactNode[];
|
|
@@ -48,7 +48,7 @@ export const getChildrenWithCustomColumns = (children) => {
|
|
|
48
48
|
});
|
|
49
49
|
const title = ((_k = (_j = filtered[indexOfFirstColumn]) === null || _j === void 0 ? void 0 : _j.props) === null || _k === void 0 ? void 0 : _k.title) || "";
|
|
50
50
|
if ((firstColumnTittle || secondColumnTittle) && Array.isArray(childrenOfFirstColumn)) {
|
|
51
|
-
childrenOfFirstColumn.unshift(
|
|
51
|
+
childrenOfFirstColumn.unshift(_jsx(FormLayoutColumnTitle, { column: 1, value: title }, "column-1-title"));
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
if (childrenOfSecondColumn) {
|
|
@@ -63,7 +63,7 @@ export const getChildrenWithCustomColumns = (children) => {
|
|
|
63
63
|
});
|
|
64
64
|
const title = ((_m = (_l = filtered[indexOfSecondColumn]) === null || _l === void 0 ? void 0 : _l.props) === null || _m === void 0 ? void 0 : _m.title) || "";
|
|
65
65
|
if ((firstColumnTittle || secondColumnTittle) && Array.isArray(childrenOfSecondColumn)) {
|
|
66
|
-
childrenOfSecondColumn.unshift(
|
|
66
|
+
childrenOfSecondColumn.unshift(_jsx(FormLayoutColumnTitle, { column: 2, value: title }, "column-2-title"));
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
indexOfFirstColumn !== -1 && filtered.splice(indexOfFirstColumn, 1, ...childrenOfFirstColumn);
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { zen } from "../../utils/zen";
|
|
2
2
|
export const getFieldLabel = (id) => {
|
|
3
|
-
var _a, _b
|
|
3
|
+
var _a, _b;
|
|
4
4
|
if (typeof zen.document === "undefined" || typeof zen.document.querySelector !== "function")
|
|
5
5
|
return null;
|
|
6
|
-
const direct = (
|
|
6
|
+
const direct = (_a = zen.document.querySelector(`label[for="${id}"]`)) === null || _a === void 0 ? void 0 : _a.textContent.trim();
|
|
7
7
|
if (direct !== undefined)
|
|
8
8
|
return direct || null;
|
|
9
|
-
const row = (
|
|
9
|
+
const row = (_b = zen.document.getElementById(id)) === null || _b === void 0 ? void 0 : _b.closest(".zen-custom-form-row");
|
|
10
10
|
if (!row)
|
|
11
11
|
return null;
|
|
12
12
|
let sibling = row.previousElementSibling;
|
|
13
13
|
while (sibling) {
|
|
14
14
|
if (sibling.tagName === "LABEL")
|
|
15
|
-
return
|
|
15
|
+
return sibling.textContent.trim() || null;
|
|
16
16
|
const inner = sibling.querySelector("label");
|
|
17
17
|
if (inner)
|
|
18
|
-
return
|
|
18
|
+
return inner.textContent.trim() || null;
|
|
19
19
|
sibling = sibling.previousElementSibling;
|
|
20
20
|
}
|
|
21
21
|
return null;
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const isFormSection: (element: unknown) => element is
|
|
3
|
-
Additional: import("react").FC<import("../components/additionalSection").IAdditionalSectionProps>;
|
|
4
|
-
};
|
|
1
|
+
import { FormSectionInner } from "../components/formSectionInner";
|
|
2
|
+
export declare const isFormSection: (element: unknown) => element is typeof FormSectionInner;
|