UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

58 lines 1.44 kB
import * as React from 'react'; import { useTicks } from "../hooks/useTicks.mjs"; import { GridLine } from "./styledComponents.mjs"; import { useChartsContext } from "../context/ChartsProvider/index.mjs"; import { selectorChartPolarCenter } from "../internals/plugins/featurePlugins/useChartPolarAxis/index.mjs"; import { jsx as _jsx } from "react/jsx-runtime"; /** * @ignore - internal component. */ export function ChartsRotationGrid(props) { const { store } = useChartsContext(); const { axis, innerRadius, outerRadius, classes } = props; const { cx, cy } = store.use(selectorChartPolarCenter); const { scale, tickNumber, tickInterval, tickSpacing } = axis; const ticks = useTicks({ scale, tickNumber, tickInterval, tickSpacing, direction: 'rotation' }); return /*#__PURE__*/_jsx(React.Fragment, { children: ticks.map(({ value, offset }) => { const angle = offset - Math.PI / 2; const dx = Math.cos(angle); const dy = Math.sin(angle); const x1 = cx + innerRadius * dx; const y1 = cy + innerRadius * dy; const x2 = cx + outerRadius * dx; const y2 = cy + outerRadius * dy; return /*#__PURE__*/_jsx(GridLine, { x1: x1, y1: y1, x2: x2, y2: y2, className: classes.rotationLine }, `rotation-${value?.getTime?.() ?? value}`); }) }); }