@mui/x-charts
Version:
The community edition of MUI X Charts components.
42 lines (41 loc) • 1.63 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getModifiedArcProperties = getModifiedArcProperties;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _angleConversion = require("../../internals/angleConversion");
/**
* Function that returns arc properties after applying transformation from highlight/fade states.
*/
function getModifiedArcProperties(seriesDef, seriesLayout, isHighlighted, isFaded) {
const {
faded,
highlighted,
paddingAngle: basePaddingAngle = 0,
cornerRadius: baseCornerRadius = 0
} = seriesDef;
const {
radius: {
inner: baseInnerRadius = 0,
label: baseArcLabelRadius,
outer: baseOuterRadius
}
} = seriesLayout;
const attributesOverride = (0, _extends2.default)({
additionalRadius: 0
}, isFaded && faded || isHighlighted && highlighted || {});
const paddingAngle = Math.max(0, (0, _angleConversion.deg2rad)(attributesOverride.paddingAngle ?? basePaddingAngle));
const innerRadius = Math.max(0, attributesOverride.innerRadius ?? baseInnerRadius);
const outerRadius = Math.max(0, attributesOverride.outerRadius ?? baseOuterRadius + attributesOverride.additionalRadius);
const cornerRadius = attributesOverride.cornerRadius ?? baseCornerRadius;
const arcLabelRadius = attributesOverride.arcLabelRadius ?? baseArcLabelRadius ?? (innerRadius + outerRadius) / 2;
return {
paddingAngle,
innerRadius,
outerRadius,
cornerRadius,
arcLabelRadius
};
}