@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
package/README.md
CHANGED
|
@@ -45,9 +45,35 @@ Now components are ready for usage.
|
|
|
45
45
|
|
|
46
46
|
Zenith library provides components defined in Zenith Design System. It includes very basic blocks like colors, icons, font presets, atom components like buttons, checkboxes etc and high order components - header, table, filters bar etc. List of existing components can be found in [Storybook](https://developers.geotab.com/zenith-storybook/index.html).
|
|
47
47
|
|
|
48
|
-
|
|
49
48
|
## Change log
|
|
50
49
|
|
|
50
|
+
### 3.15.0
|
|
51
|
+
|
|
52
|
+
- Add infinite scroll support for desktop `DataGrid`
|
|
53
|
+
- Add `tabIndex` support for keyboard and screen reader accessibility in `Chart`
|
|
54
|
+
- Add customization for `Toggle` component in toolbar
|
|
55
|
+
- Update `Nav` CSS styling
|
|
56
|
+
- Add `active` property support to `Footer.Action` component
|
|
57
|
+
- Add native accessible loading-status support (`isLoading` prop with live-region) to `Waiting`
|
|
58
|
+
- Add status dot and label support to `Tag` component
|
|
59
|
+
- Add "trend, neutral" icon to icon library
|
|
60
|
+
- Improve select-all behavior in search for `Dropdown`
|
|
61
|
+
- Add new icons (`IconAce`, `IconBreak`, `IconChevronStepper` and more)
|
|
62
|
+
- Add `ProgressIndicator` — new table-cell progress component
|
|
63
|
+
- Fix `DropdownRaw` single-select mode not auto-closing after leaf node selection
|
|
64
|
+
- Fix second Y-axis chart increments not aligning with first Y-axis
|
|
65
|
+
- Fix `EmptyState` component not adapting to dark mode in Drive app
|
|
66
|
+
- Fix `Chart` Y-axis showing negative floor for all-positive data
|
|
67
|
+
- Fix `Tabs` active tab underline gap with bottom divider
|
|
68
|
+
- Fix icons not adapting to dark mode in Drive app
|
|
69
|
+
- Fix `Chart` line tooltip showing interpolated value instead of actual data point
|
|
70
|
+
- Fix `TabBar` content not adapting to dark theme
|
|
71
|
+
- Fix dropdown height inconsistency
|
|
72
|
+
- Fix full selection mode bug in `Dropdown`
|
|
73
|
+
- Fix icon fill overriding parent colour in primary buttons and nav
|
|
74
|
+
- Fix `GroupsFilter` input padding
|
|
75
|
+
- Fix `Toast` progress bar border radius in RTL layouts
|
|
76
|
+
|
|
51
77
|
### 3.14.1
|
|
52
78
|
|
|
53
79
|
- Add new languages support: Bulgarian, Greek, Estonian, Georgian, Lithuanian, and Latvian
|
|
@@ -69,7 +95,7 @@ Zenith library provides components defined in Zenith Design System. It includes
|
|
|
69
95
|
|
|
70
96
|
### 3.12.3
|
|
71
97
|
|
|
72
|
-
- Fix
|
|
98
|
+
- Fix: line chart crash when timed chart has no data
|
|
73
99
|
|
|
74
100
|
### 3.12.1
|
|
75
101
|
|
|
@@ -27,13 +27,23 @@ var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? fun
|
|
|
27
27
|
} : function (o, v) {
|
|
28
28
|
o["default"] = v;
|
|
29
29
|
});
|
|
30
|
-
var __importStar = this && this.__importStar || function (
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
};
|
|
30
|
+
var __importStar = this && this.__importStar || function () {
|
|
31
|
+
var ownKeys = function (o) {
|
|
32
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
33
|
+
var ar = [];
|
|
34
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
35
|
+
return ar;
|
|
36
|
+
};
|
|
37
|
+
return ownKeys(o);
|
|
38
|
+
};
|
|
39
|
+
return function (mod) {
|
|
40
|
+
if (mod && mod.__esModule) return mod;
|
|
41
|
+
var result = {};
|
|
42
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
43
|
+
__setModuleDefault(result, mod);
|
|
44
|
+
return result;
|
|
45
|
+
};
|
|
46
|
+
}();
|
|
37
47
|
Object.defineProperty(exports, "__esModule", {
|
|
38
48
|
value: true
|
|
39
49
|
});
|
package/dist/alert/banner.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
ErrorSummary: import("react").FC<import("../banner/bannerErrorSummary").IBannerErrorSummary>;
|
|
1
|
+
export declare const Banner: import("react").FC<import("..").IBanner> & {
|
|
2
|
+
ErrorSummary: typeof import("../banner/bannerErrorSummary").BannerErrorSummary;
|
|
4
3
|
};
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { IBannerErrorSummary } from "../bannerErrorSummary";
|
|
3
|
-
export declare const isSummaryErrorElement: (child: React.ReactNode) => child is
|
|
2
|
+
export declare const isSummaryErrorElement: (child: React.ReactNode) => child is React.ReactElement<IBannerErrorSummary>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getValidTime = exports.getValidDatesForEnd = exports.getValidDatesForStart = exports.isDifferentPeriod = exports.isValidationDateError = exports.isValidDate = exports.getSelectableYears = exports.isDisableDate = exports.isDisableYear = exports.getAvailablePeriod = exports.toDayStart = exports.setYear = exports.getSameDateOrTheLastForMonth = exports.addMonth = exports.getEndOfWeek = exports.getStartOfWeek = exports.getDayOfWeekOffset = exports.
|
|
3
|
+
exports.getValidTime = exports.getValidDatesForEnd = exports.getValidDatesForStart = exports.isDifferentPeriod = exports.isValidationDateError = exports.isValidDate = exports.getSelectableYears = exports.isDisableDate = exports.isDisableYear = exports.getAvailablePeriod = exports.toDayStart = exports.setYear = exports.getSameDateOrTheLastForMonth = exports.addMonth = exports.getEndOfWeek = exports.getStartOfWeek = exports.getDayOfWeekOffset = exports.addDays = exports.addMinutes = exports.getNewEndDate = exports.getNewStartDate = exports.getCalendarMonthDates = exports.getEndOfMonth = exports.getStartOfMonth = exports.dayNames = void 0;
|
|
4
|
+
exports.addMonths = addMonths;
|
|
4
5
|
exports.dayNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
|
|
5
6
|
const getStartOfMonth = (d) => {
|
|
6
7
|
const date = new Date(Date.parse(d));
|
|
@@ -90,7 +91,6 @@ function addMonths(date, num) {
|
|
|
90
91
|
date.setDate(Math.min(day, Math.round((monthAdded.getTime() - date.getTime()) / 86400000)));
|
|
91
92
|
return date;
|
|
92
93
|
}
|
|
93
|
-
exports.addMonths = addMonths;
|
|
94
94
|
const getDayOfWeekOffset = (nowDate, firstDayOfWeek) => {
|
|
95
95
|
const dayOfWeek = nowDate.getDay();
|
|
96
96
|
const startDayOfWeek = firstDayOfWeek ? exports.dayNames.indexOf(firstDayOfWeek) : 0;
|
package/dist/card/card.js
CHANGED
|
@@ -27,13 +27,23 @@ var __setModuleDefault = this && this.__setModuleDefault || (Object.create ? fun
|
|
|
27
27
|
} : function (o, v) {
|
|
28
28
|
o["default"] = v;
|
|
29
29
|
});
|
|
30
|
-
var __importStar = this && this.__importStar || function (
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
};
|
|
30
|
+
var __importStar = this && this.__importStar || function () {
|
|
31
|
+
var ownKeys = function (o) {
|
|
32
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
33
|
+
var ar = [];
|
|
34
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
35
|
+
return ar;
|
|
36
|
+
};
|
|
37
|
+
return ownKeys(o);
|
|
38
|
+
};
|
|
39
|
+
return function (mod) {
|
|
40
|
+
if (mod && mod.__esModule) return mod;
|
|
41
|
+
var result = {};
|
|
42
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
43
|
+
__setModuleDefault(result, mod);
|
|
44
|
+
return result;
|
|
45
|
+
};
|
|
46
|
+
}();
|
|
37
47
|
Object.defineProperty(exports, "__esModule", {
|
|
38
48
|
value: true
|
|
39
49
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSizeClass =
|
|
3
|
+
exports.getSizeClass = getSizeClass;
|
|
4
4
|
function getSizeClass(className, size) {
|
|
5
5
|
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
6
6
|
switch (size) {
|
|
@@ -22,4 +22,3 @@ function getSizeClass(className, size) {
|
|
|
22
22
|
return "";
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
exports.getSizeClass = getSizeClass;
|
|
@@ -5,5 +5,5 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const userFormatProvider_1 = require("../../utils/userFormat/userFormatProvider");
|
|
6
6
|
const accessibleChartNarrative_1 = require("./accessibleChartNarrative");
|
|
7
7
|
const accessibleChartTable_1 = require("./accessibleChartTable");
|
|
8
|
-
const AccessibleChart = (props) => ((0, jsx_runtime_1.jsxs)(userFormatProvider_1.UserFormatProvider, { dateFormat: "d MMMM yyyy", children: [
|
|
8
|
+
const AccessibleChart = (props) => ((0, jsx_runtime_1.jsxs)(userFormatProvider_1.UserFormatProvider, { dateFormat: "d MMMM yyyy", children: [(0, jsx_runtime_1.jsx)(accessibleChartNarrative_1.AccessibleChartNarrative, Object.assign({}, props)), (0, jsx_runtime_1.jsx)(accessibleChartTable_1.AccessibleChartTable, Object.assign({}, props))] }));
|
|
9
9
|
exports.AccessibleChart = AccessibleChart;
|
|
@@ -3,4 +3,4 @@ import { IBarChartOptions } from "../barChart/interfaces";
|
|
|
3
3
|
import { ILineChartOptions, ILineChartPoint } from "../lineChart/interfaces";
|
|
4
4
|
export declare function collectAllPoints(dataset: AccessibleChartDataset, dateFormatter: (d: Date | string, format?: string) => string, miniChartLabels?: string[], options?: ILineChartOptions | IBarChartOptions): IAccessiblePoint[];
|
|
5
5
|
export declare function simplifyData(data: ILineChartPoint[]): ILineChartPoint[];
|
|
6
|
-
export declare const AccessibleChartNarrative: ({ data, options }: IAccessibleChart) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare const AccessibleChartNarrative: ({ data, type, options, narrativeId }: IAccessibleChart) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -6,7 +6,9 @@ const {
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
-
exports.AccessibleChartNarrative =
|
|
9
|
+
exports.AccessibleChartNarrative = void 0;
|
|
10
|
+
exports.collectAllPoints = collectAllPoints;
|
|
11
|
+
exports.simplifyData = simplifyData;
|
|
10
12
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
11
13
|
const useLanguage_1 = require("../../utils/localization/useLanguage");
|
|
12
14
|
const react_1 = require("react");
|
|
@@ -17,6 +19,7 @@ const getFormattedLabel_1 = require("../utils/getFormattedLabel");
|
|
|
17
19
|
const truncateDecimals_1 = require("../../utils/truncateDecimals");
|
|
18
20
|
const calculateMinTruncationPrecision_1 = require("../utils/calculateMinTruncationPrecision");
|
|
19
21
|
const removeTrendDataFromDatasets_1 = require("../utils/removeTrendDataFromDatasets");
|
|
22
|
+
const generatePieNarrative_1 = require("./generatePieNarrative");
|
|
20
23
|
injectString("cs", "Data", "Data");
|
|
21
24
|
injectString("da-DK", "Data", "Data");
|
|
22
25
|
injectString("de", "Data", "Daten");
|
|
@@ -485,7 +488,6 @@ function collectAllPoints(dataset, dateFormatter, miniChartLabels, options) {
|
|
|
485
488
|
}
|
|
486
489
|
return allPoints;
|
|
487
490
|
}
|
|
488
|
-
exports.collectAllPoints = collectAllPoints;
|
|
489
491
|
function simplifyData(data) {
|
|
490
492
|
// Need at least 3 points to find a peak or valley
|
|
491
493
|
if (data.length < 3) {
|
|
@@ -647,7 +649,6 @@ function simplifyData(data) {
|
|
|
647
649
|
}
|
|
648
650
|
return finalResult;
|
|
649
651
|
}
|
|
650
|
-
exports.simplifyData = simplifyData;
|
|
651
652
|
function getTrendDirectionBySlope(slope) {
|
|
652
653
|
const slopeThreshold = 1e-10;
|
|
653
654
|
if (slope > slopeThreshold) {
|
|
@@ -1035,7 +1036,9 @@ function detectDatasetTrend(dataset, translate, dateFormatter, miniChartLabels,
|
|
|
1035
1036
|
}
|
|
1036
1037
|
const AccessibleChartNarrative = ({
|
|
1037
1038
|
data,
|
|
1038
|
-
|
|
1039
|
+
type,
|
|
1040
|
+
options,
|
|
1041
|
+
narrativeId
|
|
1039
1042
|
}) => {
|
|
1040
1043
|
const {
|
|
1041
1044
|
translate
|
|
@@ -1047,6 +1050,7 @@ const AccessibleChartNarrative = ({
|
|
|
1047
1050
|
} = (0, react_1.useContext)(userFormatContext_1.userFormatContext);
|
|
1048
1051
|
const dateFormatter = (0, react_1.useCallback)((d, format = dateFormat) => (0, formatDate_1.formatDate)(toLocalDateTime(d), format, translate), [toLocalDateTime, dateFormat, translate]);
|
|
1049
1052
|
const filteredDatasets = (0, removeTrendDataFromDatasets_1.removeTrendDataFromDatasets)(data.datasets);
|
|
1053
|
+
const pieAnalysis = (0, react_1.useMemo)(() => type === "pie" ? (0, generatePieNarrative_1.generatePieNarrative)(data, translate) : null, [type, data, translate]);
|
|
1050
1054
|
const datasetsWithAnalysis = (0, react_1.useMemo)(() => filteredDatasets.map(dataset => {
|
|
1051
1055
|
const datasetObj = Object.assign({}, dataset);
|
|
1052
1056
|
try {
|
|
@@ -1058,9 +1062,11 @@ const AccessibleChartNarrative = ({
|
|
|
1058
1062
|
return errMsg;
|
|
1059
1063
|
}
|
|
1060
1064
|
}), [filteredDatasets, translate, dateFormatter, miniChartLabels, options]);
|
|
1065
|
+
const lines = pieAnalysis !== null && pieAnalysis !== void 0 ? pieAnalysis : datasetsWithAnalysis;
|
|
1061
1066
|
return (0, jsx_runtime_1.jsx)("div", {
|
|
1067
|
+
id: narrativeId,
|
|
1062
1068
|
className: "screen-reader-only",
|
|
1063
|
-
children:
|
|
1069
|
+
children: lines.map((analysis, index) => (0, jsx_runtime_1.jsx)("div", {
|
|
1064
1070
|
children: analysis
|
|
1065
1071
|
}, index))
|
|
1066
1072
|
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ChartData } from "chart.js";
|
|
2
|
+
export declare const PIE_LARGE_DATASET_THRESHOLD = 6;
|
|
3
|
+
export declare const PIE_LARGEST_COUNT = 3;
|
|
4
|
+
export declare function formatPieSlice(label: string, value: number, total: number, decimalLength: number): string;
|
|
5
|
+
export declare function generatePieSliceDetails(values: number[], labels: string[], total: number, decimalLength: number): string[];
|
|
6
|
+
export declare function generatePieSummaryLines(values: number[], labels: string[], total: number, decimalLength: number, details: string[], translate: (s: string) => string): string[];
|
|
7
|
+
export declare function generatePieNarrative(data: ChartData, translate: (s: string) => string): string[];
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const {
|
|
4
|
+
injectString
|
|
5
|
+
} = require("../../utils/localization/translationsDictionary");
|
|
6
|
+
Object.defineProperty(exports, "__esModule", {
|
|
7
|
+
value: true
|
|
8
|
+
});
|
|
9
|
+
exports.PIE_LARGEST_COUNT = exports.PIE_LARGE_DATASET_THRESHOLD = void 0;
|
|
10
|
+
exports.formatPieSlice = formatPieSlice;
|
|
11
|
+
exports.generatePieSliceDetails = generatePieSliceDetails;
|
|
12
|
+
exports.generatePieSummaryLines = generatePieSummaryLines;
|
|
13
|
+
exports.generatePieNarrative = generatePieNarrative;
|
|
14
|
+
const calculateMinTruncationPrecision_1 = require("../utils/calculateMinTruncationPrecision");
|
|
15
|
+
const truncateDecimals_1 = require("../../utils/truncateDecimals");
|
|
16
|
+
injectString("da-DK", "Summary: {COUNT} slices.", "Oversigt: {COUNT} udsnit.");
|
|
17
|
+
injectString("en", "Summary: {COUNT} slices.", "Summary: {COUNT} slices.");
|
|
18
|
+
injectString("fi-FI", "Summary: {COUNT} slices.", "Yhteenveto: {COUNT} segmentti\xE4.");
|
|
19
|
+
injectString("hu-HU", "Summary: {COUNT} slices.", "\xD6sszefoglal\xE1s: {COUNT} szelet.");
|
|
20
|
+
injectString("ms", "Summary: {COUNT} slices.", "Ringkasan: {COUNT} hirisan.");
|
|
21
|
+
injectString("nb-NO", "Summary: {COUNT} slices.", "Sammendrag: {COUNT} utsnitt.");
|
|
22
|
+
injectString("nl", "Summary: {COUNT} slices.", "Samenvatting: {COUNT} segmenten.");
|
|
23
|
+
injectString("pt-BR", "Summary: {COUNT} slices.", "Resumo: {COUNT} fatias.");
|
|
24
|
+
injectString("sk-SK", "Summary: {COUNT} slices.", "S\xFAhrn: {COUNT} v\xFDsekov.");
|
|
25
|
+
injectString("sv", "Summary: {COUNT} slices.", "Sammanfattning: {COUNT} segment.");
|
|
26
|
+
injectString("ar", "Summary: {COUNT} slices.", "\u0627\u0644\u0645\u0644\u062E\u0635: {COUNT} \u0634\u0631\u064A\u062D\u0629.");
|
|
27
|
+
injectString("lt-LT", "Summary: {COUNT} slices.", "Santrauka: {COUNT} segmentai.");
|
|
28
|
+
injectString("lv-LV", "Summary: {COUNT} slices.", "Kopsavilkums: {COUNT} sektori.");
|
|
29
|
+
injectString("ka-GE", "Summary: {COUNT} slices.", "\u10E8\u10D4\u10EF\u10D0\u10DB\u10D4\u10D1\u10D0: {COUNT} \u10E1\u10D4\u10D2\u10DB\u10D4\u10DC\u10E2\u10D8.");
|
|
30
|
+
injectString("el-GR", "Summary: {COUNT} slices.", "\u03A3\u03CD\u03BD\u03BF\u03C8\u03B7: {COUNT} \u03C4\u03BC\u03AE\u03BC\u03B1\u03C4\u03B1.");
|
|
31
|
+
injectString("et-EE", "Summary: {COUNT} slices.", "Kokkuv\xF5te: {COUNT} sektorit.");
|
|
32
|
+
injectString("bg-BG", "Summary: {COUNT} slices.", "\u041E\u0431\u043E\u0431\u0449\u0435\u043D\u0438\u0435: {COUNT} \u0441\u0435\u0433\u043C\u0435\u043D\u0442\u0430.");
|
|
33
|
+
injectString("da-DK", "Largest:", "St\xF8rst:");
|
|
34
|
+
injectString("en", "Largest:", "Largest:");
|
|
35
|
+
injectString("fi-FI", "Largest:", "Suurin:");
|
|
36
|
+
injectString("hu-HU", "Largest:", "Legnagyobb:");
|
|
37
|
+
injectString("ms", "Largest:", "Terbesar:");
|
|
38
|
+
injectString("nb-NO", "Largest:", "St\xF8rst:");
|
|
39
|
+
injectString("nl", "Largest:", "Grootste:");
|
|
40
|
+
injectString("pt-BR", "Largest:", "Maior:");
|
|
41
|
+
injectString("sk-SK", "Largest:", "Najv\xE4\u010D\u0161\xED:");
|
|
42
|
+
injectString("sv", "Largest:", "St\xF6rst:");
|
|
43
|
+
injectString("ar", "Largest:", "\u0627\u0644\u0623\u0643\u0628\u0631:");
|
|
44
|
+
injectString("lt-LT", "Largest:", "Did\u017Eiausias:");
|
|
45
|
+
injectString("lv-LV", "Largest:", "Liel\u0101kais:");
|
|
46
|
+
injectString("ka-GE", "Largest:", "\u10E7\u10D5\u10D4\u10DA\u10D0\u10D6\u10D4 \u10D3\u10D8\u10D3\u10D8:");
|
|
47
|
+
injectString("el-GR", "Largest:", "\u039C\u03B5\u03B3\u03B1\u03BB\u03CD\u03C4\u03B5\u03C1\u03BF:");
|
|
48
|
+
injectString("et-EE", "Largest:", "Suurim:");
|
|
49
|
+
injectString("bg-BG", "Largest:", "\u041D\u0430\u0439-\u0433\u043E\u043B\u044F\u043C:");
|
|
50
|
+
injectString("da-DK", "Smallest:", "Mindst:");
|
|
51
|
+
injectString("en", "Smallest:", "Smallest:");
|
|
52
|
+
injectString("fi-FI", "Smallest:", "Pienin:");
|
|
53
|
+
injectString("hu-HU", "Smallest:", "Legkisebb:");
|
|
54
|
+
injectString("ms", "Smallest:", "Terkecil:");
|
|
55
|
+
injectString("nb-NO", "Smallest:", "Minst:");
|
|
56
|
+
injectString("nl", "Smallest:", "Kleinste:");
|
|
57
|
+
injectString("pt-BR", "Smallest:", "Menor:");
|
|
58
|
+
injectString("sk-SK", "Smallest:", "Najmen\u0161\xED:");
|
|
59
|
+
injectString("sv", "Smallest:", "Minst:");
|
|
60
|
+
injectString("ar", "Smallest:", "\u0627\u0644\u0623\u0635\u063A\u0631:");
|
|
61
|
+
injectString("lt-LT", "Smallest:", "Ma\u017Eiausias:");
|
|
62
|
+
injectString("lv-LV", "Smallest:", "Maz\u0101kais:");
|
|
63
|
+
injectString("ka-GE", "Smallest:", "\u10E7\u10D5\u10D4\u10DA\u10D0\u10D6\u10D4 \u10DE\u10D0\u10E2\u10D0\u10E0\u10D0:");
|
|
64
|
+
injectString("el-GR", "Smallest:", "\u039C\u03B9\u03BA\u03C1\u03CC\u03C4\u03B5\u03C1\u03BF:");
|
|
65
|
+
injectString("et-EE", "Smallest:", "V\xE4ikseim:");
|
|
66
|
+
injectString("bg-BG", "Smallest:", "\u041D\u0430\u0439-\u043C\u0430\u043B\u044A\u043A:");
|
|
67
|
+
injectString("da-DK", "Rest: {COUNT} other slices account for {PCT}%.", "Resten: {COUNT} andre udsnit udg\xF8r {PCT}%.");
|
|
68
|
+
injectString("en", "Rest: {COUNT} other slices account for {PCT}%.", "Rest: {COUNT} other slices account for {PCT}%.");
|
|
69
|
+
injectString("fi-FI", "Rest: {COUNT} other slices account for {PCT}%.", "Muut: {COUNT} muuta segmentti\xE4 kattaa {PCT}%.");
|
|
70
|
+
injectString("hu-HU", "Rest: {COUNT} other slices account for {PCT}%.", "T\xF6bbi: {COUNT} egy\xE9b szelet teszi ki a {PCT}%-ot.");
|
|
71
|
+
injectString("ms", "Rest: {COUNT} other slices account for {PCT}%.", "Selebihnya: {COUNT} hirisan lain mewakili {PCT}%.");
|
|
72
|
+
injectString("nb-NO", "Rest: {COUNT} other slices account for {PCT}%.", "Resten: {COUNT} andre utsnitt utgj\xF8r {PCT}%.");
|
|
73
|
+
injectString("nl", "Rest: {COUNT} other slices account for {PCT}%.", "Rest: {COUNT} andere segmenten zijn goed voor {PCT}%.");
|
|
74
|
+
injectString("pt-BR", "Rest: {COUNT} other slices account for {PCT}%.", "Restante: {COUNT} outras fatias representam {PCT}%.");
|
|
75
|
+
injectString("sk-SK", "Rest: {COUNT} other slices account for {PCT}%.", "Zvy\u0161ok: {COUNT} \u010Fal\u0161\xEDch v\xFDsekov tvor\xED {PCT}%.");
|
|
76
|
+
injectString("sv", "Rest: {COUNT} other slices account for {PCT}%.", "\xD6vriga: {COUNT} andra segment svarar f\xF6r {PCT}%.");
|
|
77
|
+
injectString("ar", "Rest: {COUNT} other slices account for {PCT}%.", "\u0627\u0644\u0645\u062A\u0628\u0642\u064A: {COUNT} \u0634\u0631\u064A\u062D\u0629 \u0623\u062E\u0631\u0649 \u062A\u0645\u062B\u0651\u0644 {PCT}\u066A.");
|
|
78
|
+
injectString("lt-LT", "Rest: {COUNT} other slices account for {PCT}%.", "Kiti: {COUNT} segmentai sudaro {PCT}%.");
|
|
79
|
+
injectString("lv-LV", "Rest: {COUNT} other slices account for {PCT}%.", "P\u0101r\u0113jie: {COUNT} sektori veido {PCT}%.");
|
|
80
|
+
injectString("ka-GE", "Rest: {COUNT} other slices account for {PCT}%.", "\u10D3\u10D0\u10DC\u10D0\u10E0\u10E9\u10D4\u10DC\u10D8: {COUNT} \u10E1\u10D4\u10D2\u10DB\u10D4\u10DC\u10E2\u10D8 \u10E8\u10D4\u10D0\u10D3\u10D2\u10D4\u10DC\u10E1 {PCT}%-\u10E1.");
|
|
81
|
+
injectString("el-GR", "Rest: {COUNT} other slices account for {PCT}%.", "\u03A5\u03C0\u03CC\u03BB\u03BF\u03B9\u03C0\u03B1: {COUNT} \u03C4\u03BC\u03AE\u03BC\u03B1\u03C4\u03B1 \u03B1\u03BD\u03C4\u03B9\u03C3\u03C4\u03BF\u03B9\u03C7\u03BF\u03CD\u03BD \u03C3\u03C4\u03BF {PCT}%.");
|
|
82
|
+
injectString("et-EE", "Rest: {COUNT} other slices account for {PCT}%.", "\xDClej\xE4\xE4nud: {COUNT} sektorit moodustavad {PCT}%.");
|
|
83
|
+
injectString("bg-BG", "Rest: {COUNT} other slices account for {PCT}%.", "\u041E\u0441\u0442\u0430\u043D\u0430\u043B\u0438\u0442\u0435: {COUNT} \u0441\u0435\u0433\u043C\u0435\u043D\u0442\u0430 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u044F\u0432\u0430\u0442 {PCT}%.");
|
|
84
|
+
injectString("da-DK", "Details, {COUNT} items:", "Detaljer, {COUNT} elementer:");
|
|
85
|
+
injectString("en", "Details, {COUNT} items:", "Details, {COUNT} items:");
|
|
86
|
+
injectString("fi-FI", "Details, {COUNT} items:", "Tiedot, {COUNT} kohdetta:");
|
|
87
|
+
injectString("hu-HU", "Details, {COUNT} items:", "R\xE9szletek, {COUNT} elem:");
|
|
88
|
+
injectString("ms", "Details, {COUNT} items:", "Butiran, {COUNT} item:");
|
|
89
|
+
injectString("nb-NO", "Details, {COUNT} items:", "Detaljer, {COUNT} elementer:");
|
|
90
|
+
injectString("nl", "Details, {COUNT} items:", "Details, {COUNT} items:");
|
|
91
|
+
injectString("pt-BR", "Details, {COUNT} items:", "Detalhes, {COUNT} itens:");
|
|
92
|
+
injectString("sk-SK", "Details, {COUNT} items:", "Podrobnosti, {COUNT} polo\u017Eiek:");
|
|
93
|
+
injectString("sv", "Details, {COUNT} items:", "Detaljer, {COUNT} objekt:");
|
|
94
|
+
injectString("ar", "Details, {COUNT} items:", "\u0627\u0644\u062A\u0641\u0627\u0635\u064A\u0644\u060C {COUNT} \u0639\u0646\u0627\u0635\u0631:");
|
|
95
|
+
injectString("lt-LT", "Details, {COUNT} items:", "Detal\u0117s, {COUNT} elementai:");
|
|
96
|
+
injectString("lv-LV", "Details, {COUNT} items:", "Deta\u013Cas, {COUNT} vienumi:");
|
|
97
|
+
injectString("ka-GE", "Details, {COUNT} items:", "\u10D3\u10D4\u10E2\u10D0\u10DA\u10D4\u10D1\u10D8, {COUNT} \u10D4\u10DA\u10D4\u10DB\u10D4\u10DC\u10E2\u10D8:");
|
|
98
|
+
injectString("el-GR", "Details, {COUNT} items:", "\u039B\u03B5\u03C0\u03C4\u03BF\u03BC\u03AD\u03C1\u03B5\u03B9\u03B5\u03C2, {COUNT} \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03B1:");
|
|
99
|
+
injectString("et-EE", "Details, {COUNT} items:", "\xDCksikasjad, {COUNT} \xFCksust:");
|
|
100
|
+
injectString("bg-BG", "Details, {COUNT} items:", "\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438, {COUNT} \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0430:");
|
|
101
|
+
injectString("cs", "No data available", "Nejsou k\xA0dispozici \u017E\xE1dn\xE1 data");
|
|
102
|
+
injectString("da-DK", "No data available", "Ingen data tilg\xE6ngelige");
|
|
103
|
+
injectString("de", "No data available", "Keine Daten verf\xFCgbar");
|
|
104
|
+
injectString("en", "No data available", "No data available");
|
|
105
|
+
injectString("es", "No data available", "No hay datos disponibles");
|
|
106
|
+
injectString("fi-FI", "No data available", "Tietoja ei saatavilla");
|
|
107
|
+
injectString("fr", "No data available", "Aucune donn\xE9e disponible");
|
|
108
|
+
injectString("fr-FR", "No data available", "Aucune donn\xE9e disponible");
|
|
109
|
+
injectString("hu-HU", "No data available", "Nincsenek rendelkez\xE9sre \xE1ll\xF3 adatok");
|
|
110
|
+
injectString("id", "No data available", "Tidak ada data tersedia");
|
|
111
|
+
injectString("it", "No data available", "Nessun dato disponibile");
|
|
112
|
+
injectString("ja", "No data available", "\u30C7\u30FC\u30BF\u304C\u3042\u308A\u307E\u305B\u3093");
|
|
113
|
+
injectString("ko-KR", "No data available", "\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4");
|
|
114
|
+
injectString("ms", "No data available", "Tiada data tersedia");
|
|
115
|
+
injectString("nb-NO", "No data available", "Ingen data tilgjengelig");
|
|
116
|
+
injectString("nl", "No data available", "Geen gegevens beschikbaar");
|
|
117
|
+
injectString("pl", "No data available", "Brak dost\u0119pnych danych");
|
|
118
|
+
injectString("pt-BR", "No data available", "Nenhum dado dispon\xEDvel");
|
|
119
|
+
injectString("pt-PT", "No data available", "Sem dados dispon\xEDveis");
|
|
120
|
+
injectString("sk-SK", "No data available", "Nie s\xFA k dispoz\xEDcii \u017Eiadne \xFAdaje");
|
|
121
|
+
injectString("sv", "No data available", "Det finns inga tillg\xE4ngliga data");
|
|
122
|
+
injectString("th", "No data available", "\u0E44\u0E21\u0E48\u0E21\u0E35\u0E02\u0E49\u0E2D\u0E21\u0E39\u0E25");
|
|
123
|
+
injectString("tr", "No data available", "Mevcut veri yok");
|
|
124
|
+
injectString("zh-Hans", "No data available", "\u65E0\u53EF\u7528\u6570\u636E");
|
|
125
|
+
injectString("zh-TW", "No data available", "\u6C92\u6709\u53EF\u7528\u8CC7\u6599");
|
|
126
|
+
injectString("ro-RO", "No data available", "Nu exist\u0103 date disponibile");
|
|
127
|
+
injectString("ar", "No data available", "\u0644\u0627 \u062A\u0648\u0641\u0631 \u0628\u064A\u0627\u0646\u0627\u062A");
|
|
128
|
+
injectString("lt-LT", "No data available", "Duomen\u0173 n\u0117ra");
|
|
129
|
+
injectString("lv-LV", "No data available", "Nav pieejamu datu");
|
|
130
|
+
injectString("ka-GE", "No data available", "\u10DB\u10DD\u10DC\u10D0\u10EA\u10D4\u10DB\u10D4\u10D1\u10D8 \u10D0\u10E0 \u10D0\u10E0\u10D8\u10E1");
|
|
131
|
+
injectString("el-GR", "No data available", "\u0394\u03B5\u03BD \u03C5\u03C0\u03AC\u03C1\u03C7\u03BF\u03C5\u03BD \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03B1 \u03B4\u03B5\u03B4\u03BF\u03BC\u03AD\u03BD\u03B1");
|
|
132
|
+
injectString("et-EE", "No data available", "Andmed puuduvad");
|
|
133
|
+
injectString("bg-BG", "No data available", "\u041D\u044F\u043C\u0430 \u043D\u0430\u043B\u0438\u0447\u043D\u0438 \u0434\u0430\u043D\u043D\u0438");
|
|
134
|
+
exports.PIE_LARGE_DATASET_THRESHOLD = 6;
|
|
135
|
+
exports.PIE_LARGEST_COUNT = 3;
|
|
136
|
+
function formatPieSlice(label, value, total, decimalLength) {
|
|
137
|
+
const pct = Math.round(value / total * 100);
|
|
138
|
+
return `${label}: ${(0, truncateDecimals_1.truncateDecimals)(value, decimalLength)} (${pct}%)`;
|
|
139
|
+
}
|
|
140
|
+
function generatePieSliceDetails(values, labels, total, decimalLength) {
|
|
141
|
+
return values.map((value, index) => {
|
|
142
|
+
var _a;
|
|
143
|
+
return formatPieSlice((_a = labels[index]) !== null && _a !== void 0 ? _a : String(index + 1), value, total, decimalLength);
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
function generatePieSummaryLines(values, labels, total, decimalLength, details, translate) {
|
|
147
|
+
var _a;
|
|
148
|
+
const indexed = values.map((value, index) => ({
|
|
149
|
+
value,
|
|
150
|
+
index
|
|
151
|
+
}));
|
|
152
|
+
const sorted = [...indexed].sort((a, b) => b.value - a.value);
|
|
153
|
+
const largestItems = sorted.slice(0, exports.PIE_LARGEST_COUNT);
|
|
154
|
+
const smallestItem = sorted[sorted.length - 1];
|
|
155
|
+
const restItems = sorted.slice(exports.PIE_LARGEST_COUNT, sorted.length - 1);
|
|
156
|
+
const restTotal = restItems.reduce((sum, item) => sum + item.value, 0);
|
|
157
|
+
const restPct = Math.round(restTotal / total * 100);
|
|
158
|
+
const largestStr = largestItems.map(item => {
|
|
159
|
+
var _a;
|
|
160
|
+
return formatPieSlice((_a = labels[item.index]) !== null && _a !== void 0 ? _a : String(item.index + 1), item.value, total, decimalLength);
|
|
161
|
+
}).join(", ");
|
|
162
|
+
const smallestStr = formatPieSlice((_a = labels[smallestItem.index]) !== null && _a !== void 0 ? _a : String(smallestItem.index + 1), smallestItem.value, total, decimalLength);
|
|
163
|
+
return [translate("Summary: {COUNT} slices.").replace("{COUNT}", String(values.length)), `${translate("Largest:")} ${largestStr}.`, `${translate("Smallest:")} ${smallestStr}.`, translate("Rest: {COUNT} other slices account for {PCT}%.").replace("{COUNT}", String(restItems.length)).replace("{PCT}", String(restPct)), translate("Details, {COUNT} items:").replace("{COUNT}", String(values.length)), ...details];
|
|
164
|
+
}
|
|
165
|
+
function generatePieNarrative(data, translate) {
|
|
166
|
+
var _a, _b, _c;
|
|
167
|
+
const values = (_b = (_a = data.datasets[0]) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : [];
|
|
168
|
+
const labels = (_c = data.labels) !== null && _c !== void 0 ? _c : [];
|
|
169
|
+
const total = values.reduce((sum, v) => sum + (typeof v === "number" ? v : 0), 0);
|
|
170
|
+
if (total === 0 || values.length === 0) {
|
|
171
|
+
return [translate("No data available")];
|
|
172
|
+
}
|
|
173
|
+
const decimalLength = (0, calculateMinTruncationPrecision_1.calculateMinTruncationPrecision)(values.filter(v => typeof v === "number"));
|
|
174
|
+
const details = generatePieSliceDetails(values, labels, total, decimalLength);
|
|
175
|
+
if (values.length <= exports.PIE_LARGE_DATASET_THRESHOLD) {
|
|
176
|
+
return details;
|
|
177
|
+
}
|
|
178
|
+
return generatePieSummaryLines(values, labels, total, decimalLength, details, translate);
|
|
179
|
+
}
|
|
@@ -10,6 +10,7 @@ export interface IAccessibleChart {
|
|
|
10
10
|
data: AccessibleChartData;
|
|
11
11
|
type: AccessibleChartType;
|
|
12
12
|
options?: ILineChartOptions | IBarChartOptions;
|
|
13
|
+
narrativeId?: string;
|
|
13
14
|
}
|
|
14
15
|
export interface IChartTrend {
|
|
15
16
|
trendDirection: "increases" | "decreases" | "flat" | "complex" | "undefined";
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getDefaultOptions = void 0;
|
|
4
4
|
const formatDate_1 = require("../../utils/formatDate");
|
|
5
|
+
const getYAxisTickCount_1 = require("../utils/getYAxisTickCount");
|
|
5
6
|
const getDefaultGridStyle = (isDark) => ({
|
|
6
7
|
drawTicks: false,
|
|
7
8
|
color: isDark ? "#C0CCD8" : "#4E677E"
|
|
@@ -43,18 +44,16 @@ const getDefaultOptions = (yAxis, isTimedData, isDark, translate, isRtl = false)
|
|
|
43
44
|
border: defaultGridBorderStyle
|
|
44
45
|
}
|
|
45
46
|
};
|
|
47
|
+
// When there is more than one Y-axis, force every axis to render the same number of tick
|
|
48
|
+
// increments so their horizontal grid lines line up (see getYAxisTickCount for details).
|
|
49
|
+
const yAxisTickCount = (0, getYAxisTickCount_1.getYAxisTickCount)(yAxis.length);
|
|
46
50
|
for (let i = 0; i < yAxis.length; i++) {
|
|
47
51
|
const yAxisId = yAxis[i].name;
|
|
48
52
|
scales[yAxisId] = {
|
|
49
53
|
title: {
|
|
50
54
|
display: false
|
|
51
55
|
},
|
|
52
|
-
ticks: {
|
|
53
|
-
color: textColor,
|
|
54
|
-
padding: 10,
|
|
55
|
-
source: "data",
|
|
56
|
-
autoSkip: true
|
|
57
|
-
},
|
|
56
|
+
ticks: Object.assign({ color: textColor, padding: 10, source: "data", autoSkip: yAxisTickCount === undefined }, (yAxisTickCount !== undefined && { count: yAxisTickCount })),
|
|
58
57
|
beginAtZero: true,
|
|
59
58
|
grid: i === 0 ? getDefaultGridStyle(isDark) : { display: false },
|
|
60
59
|
border: defaultGridBorderStyle,
|