UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

30 lines (28 loc) 1.57 kB
import { selectorChartDrawingArea } from "../../corePlugins/useChartDimensions/index.js"; import { selectorChartSeriesConfig, selectorChartSeriesProcessed } from "../../corePlugins/useChartSeries/index.js"; import { createSelector } from "../../utils/selectors.js"; import { computeAxisValue } from "./computeAxisValue.js"; export const selectorChartPolarAxisState = state => state.polarAxis; export const selectorChartRawRotationAxis = createSelector(selectorChartPolarAxisState, axis => axis?.rotation); export const selectorChartRawRadiusAxis = createSelector(selectorChartPolarAxisState, axis => axis?.radius); /** * The only interesting selectors that merge axis data and zoom if provided. */ export const selectorChartRotationAxis = createSelector([selectorChartRawRotationAxis, selectorChartDrawingArea, selectorChartSeriesProcessed, selectorChartSeriesConfig], (axis, drawingArea, formattedSeries, seriesConfig) => computeAxisValue({ drawingArea, formattedSeries, axis, seriesConfig, axisDirection: 'rotation' })); export const selectorChartRadiusAxis = createSelector([selectorChartRawRadiusAxis, selectorChartDrawingArea, selectorChartSeriesProcessed, selectorChartSeriesConfig], (axis, drawingArea, formattedSeries, seriesConfig) => computeAxisValue({ drawingArea, formattedSeries, axis, seriesConfig, axisDirection: 'radius' })); export const selectorChartPolarCenter = createSelector([selectorChartDrawingArea], drawingArea => ({ cx: drawingArea.left + drawingArea.width / 2, cy: drawingArea.top + drawingArea.height / 2 }));