UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

38 lines (36 loc) 1.52 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.CircularRadarStripes = CircularRadarStripes; var React = _interopRequireWildcard(require("react")); var _jsxRuntime = require("react/jsx-runtime"); const getPath = (center, outerRadius, innerRadius) => [`M ${center.x - outerRadius} ${center.y}`, `A ${outerRadius} ${outerRadius} 0 1 0 ${center.x + outerRadius} ${center.y}`, `A ${outerRadius} ${outerRadius} 0 1 0 ${center.x - outerRadius} ${center.y} Z`, `M ${center.x - innerRadius} ${center.y}`, `A ${innerRadius} ${innerRadius} 0 1 0 ${center.x + innerRadius} ${center.y}`, `A ${innerRadius} ${innerRadius} 0 1 0 ${center.x - innerRadius} ${center.y} Z`].join(''); /** * @ignore - internal component. */ function CircularRadarStripes(props) { const { center, divisions, radius, stripeColor, classes } = props; const divisionRadius = Array.from({ length: divisions }, (_, index) => radius * (index + 1) / divisions); return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, { children: divisionRadius.map((r, index) => { const smallerRadius = divisionRadius[index - 1] ?? 0; return /*#__PURE__*/(0, _jsxRuntime.jsx)("path", { d: getPath(center, r, smallerRadius), fillRule: "evenodd", fill: stripeColor?.(index) ?? 'none', fillOpacity: 0.1, className: classes?.stripe }, r); }) }); }