UNPKG

@mui/x-charts

Version:

The community edition of the Charts components (MUI X).

37 lines 1.5 kB
import * as React from 'react'; import { useDrawingArea } from '../../hooks/useDrawingArea'; import { useSeries } from '../../hooks/useSeries'; import { CartesianContext } from './CartesianContext'; import { normalizeAxis } from './normalizeAxis'; import { computeValue } from './computeValue'; import { jsx as _jsx } from "react/jsx-runtime"; function CartesianContextProvider(props) { const { xAxis: inXAxis, yAxis: inYAxis, dataset, xExtremumGetters, yExtremumGetters, children } = props; const formattedSeries = useSeries(); const drawingArea = useDrawingArea(); const xAxis = React.useMemo(() => normalizeAxis(inXAxis, dataset, 'x'), [inXAxis, dataset]); const yAxis = React.useMemo(() => normalizeAxis(inYAxis, dataset, 'y'), [inYAxis, dataset]); const xValues = React.useMemo(() => computeValue(drawingArea, formattedSeries, xAxis, xExtremumGetters, 'x'), [drawingArea, formattedSeries, xAxis, xExtremumGetters]); const yValues = React.useMemo(() => computeValue(drawingArea, formattedSeries, yAxis, yExtremumGetters, 'y'), [drawingArea, formattedSeries, yAxis, yExtremumGetters]); const value = React.useMemo(() => ({ isInitialized: true, data: { xAxis: xValues.axis, yAxis: yValues.axis, xAxisIds: xValues.axisIds, yAxisIds: yValues.axisIds } }), [xValues, yValues]); return /*#__PURE__*/_jsx(CartesianContext.Provider, { value: value, children: children }); } export { CartesianContextProvider };