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