UNPKG

@progress/kendo-react-charts

Version:

React Chart renders a wide range of high-quality data visualizations. KendoReact Charts package

52 lines (51 loc) 1.72 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import * as o from "react"; import { InstanceObserver as u } from "@progress/kendo-charts"; import { ChartContext as m } from "./ChartContext.mjs"; const c = class c extends o.Component { constructor(t) { super(t), this.state = { donutCenterStyles: null }, this.chartObserver = new u(this, { render: "onRender" }); } componentDidMount() { var t; (t = this.context) == null || t.observersStore.dispatch({ type: "add", payload: this.chartObserver }); } render() { const { render: t } = this.props, { donutCenterStyles: e } = this.state; let r = null; return t && e && (r = /* @__PURE__ */ o.createElement("div", { className: "k-chart-donut-center", style: e }, /* @__PURE__ */ o.createElement(t, null))), r; } onRender(t) { var d; const e = (d = this.context) == null ? void 0 : d.optionsStore.getState().series, r = Array.isArray(e) ? e[0] : null, i = t.sender._plotArea.charts; if (!r || r.type !== "donut" || i[0].points.length === 0) return; const s = i[0].points[0].sector, n = s.innerRadius, l = s.center.y - n, p = s.center.x - n, a = n * 2; this.setState({ donutCenterStyles: { height: a, left: p, top: l, width: a } }); } }; c.contextType = m; let h = c; export { h as DonutCenter };