UNPKG

@mui/x-charts

Version:

The community edition of MUI X Charts components.

60 lines (59 loc) 2.65 kB
"use strict"; 'use client'; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.FocusedPieArc = FocusedPieArc; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _styles = require("@mui/material/styles"); var _useFocusedItem = require("../hooks/useFocusedItem"); var _usePieSeries = require("../hooks/usePieSeries"); var _PieArc = require("./PieArc"); var _pieClasses = require("./pieClasses"); var _useItemHighlightState = require("../hooks/useItemHighlightState"); var _getModifiedArcProperties = require("./dataTransform/getModifiedArcProperties"); var _jsxRuntime = require("react/jsx-runtime"); const _excluded = ["arcLabelRadius"]; function FocusedPieArc(props) { const theme = (0, _styles.useTheme)(); const focusedItem = (0, _useFocusedItem.useFocusedItem)(); const pieSeriesLayout = (0, _usePieSeries.usePieSeriesLayout)(); const highlightState = (0, _useItemHighlightState.useItemHighlightState)(focusedItem); const isHighlighted = highlightState === 'highlighted'; const isFaded = highlightState === 'faded'; const pieSeries = (0, _usePieSeries.usePieSeriesContext)(); const classes = (0, _pieClasses.useUtilityClasses)(); if (focusedItem === null || focusedItem.type !== 'pie' || !pieSeries) { return null; } const series = pieSeries?.series[focusedItem.seriesId]; const { center, radius } = pieSeriesLayout[focusedItem.seriesId]; if (!series || !center || !radius) { return null; } const item = series.data[focusedItem.dataIndex]; const _getModifiedArcProper = (0, _getModifiedArcProperties.getModifiedArcProperties)(series, pieSeriesLayout[focusedItem.seriesId], isHighlighted, isFaded), arcSizes = (0, _objectWithoutPropertiesLoose2.default)(_getModifiedArcProper, _excluded); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_PieArc.PieArc, (0, _extends2.default)({ transform: `translate(${pieSeriesLayout[series.id].center.x}, ${pieSeriesLayout[series.id].center.y})`, startAngle: item.startAngle, endAngle: item.endAngle, color: "transparent", pointerEvents: "none", skipInteraction: true, skipAnimation: true, stroke: (theme.vars ?? theme).palette.text.primary, seriesId: series.id, className: classes.focusIndicator, dataIndex: focusedItem.dataIndex, isFaded: false, isHighlighted: false, isFocused: false, strokeWidth: 3 }, arcSizes, props)); }