UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

73 lines (72 loc) 2.29 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.ChartsRadiusGrid = ChartsRadiusGrid; var React = _interopRequireWildcard(require("react")); var _useTicks = require("../hooks/useTicks"); var _styledComponents = require("./styledComponents"); var _ChartsProvider = require("../context/ChartsProvider"); var _useChartPolarAxis = require("../internals/plugins/featurePlugins/useChartPolarAxis"); var _epsilon = require("../utils/epsilon"); var _jsxRuntime = require("react/jsx-runtime"); /** * @ignore - internal component. */ function ChartsRadiusGrid(props) { const { store } = (0, _ChartsProvider.useChartsContext)(); const { axis, startAngle, endAngle, classes } = props; const { cx, cy } = store.use(_useChartPolarAxis.selectorChartPolarCenter); const { scale, tickNumber, tickInterval, tickSpacing } = axis; const ticks = (0, _useTicks.useTicks)({ scale, tickNumber, tickInterval, tickSpacing, direction: 'radius' }); const isFullCircle = Math.abs(endAngle - startAngle) >= 2 * Math.PI - _epsilon.EPSILON; if (isFullCircle) { return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, { children: ticks.map(({ offset: radius }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledComponents.GridCircle, { cx: cx, cy: cy, r: radius, className: classes.radiusLine }, `radius-${radius}`)) }); } const startDx = Math.cos(startAngle - Math.PI / 2); const startDy = Math.sin(startAngle - Math.PI / 2); const endDx = Math.cos(endAngle - Math.PI / 2); const endDy = Math.sin(endAngle - Math.PI / 2); const isLargeArc = Math.abs(endAngle - startAngle) >= Math.PI; return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, { children: ticks.map(({ offset: radius }) => { return /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledComponents.GridPath, { d: `M${cx + startDx * radius},${cy + startDy * radius} A ${radius} ${radius} 0 ${isLargeArc ? 1 : 0} 1 ${cx + endDx * radius},${cy + endDy * radius}`, className: classes.radiusLine }, `radius-${radius}`); }) }); }