@progress/kendo-react-charts 9.0.0-develop.2 → 9.0.0-develop.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ChartBreadcrumb.mjs +7 -1
- package/ChartNoDataOverlay.js +8 -0
- package/ChartNoDataOverlay.mjs +20 -0
- package/README.md +54 -52
- package/dist/cdn/js/kendo-react-charts.js +1 -1
- package/index.d.mts +53 -2
- package/index.d.ts +53 -2
- package/index.js +1 -1
- package/index.mjs +213 -211
- package/messages.js +8 -0
- package/messages.mjs +15 -0
- package/package-metadata.mjs +1 -1
- package/package.json +7 -7
- package/sankey/Sankey.mjs +56 -33
- package/sankey/SankeyTooltip.mjs +10 -2
- package/sankey/propTypes.mjs +1 -4
- package/store/reducer.js +1 -1
- package/store/reducer.mjs +10 -10
- package/tooltip/Crosshair.mjs +1 -8
- package/tooltip/Popup.mjs +1 -10
- package/tooltip/Series.js +1 -1
- package/tooltip/Series.mjs +9 -16
- package/tooltip/SharedTooltipContent.mjs +1 -7
- package/utils/index.js +1 -1
- package/utils/index.mjs +7 -9
package/ChartBreadcrumb.mjs
CHANGED
|
@@ -37,7 +37,13 @@ const s = n.forwardRef((t, m) => {
|
|
|
37
37
|
)
|
|
38
38
|
}
|
|
39
39
|
}];
|
|
40
|
-
t.drilldownState && (l = [
|
|
40
|
+
t.drilldownState && (l = [
|
|
41
|
+
...l,
|
|
42
|
+
...t.drilldownState.steps.map((o, r) => ({
|
|
43
|
+
id: (r + 1).toString(),
|
|
44
|
+
text: o.drilldownValue
|
|
45
|
+
}))
|
|
46
|
+
]);
|
|
41
47
|
const b = { ...d, data: l }, p = (o) => {
|
|
42
48
|
var c;
|
|
43
49
|
const r = "onDrilldownStateChange";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),s=require("@progress/kendo-react-intl"),i=require("@progress/kendo-react-common"),n=require("./messages.js");function u(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const a in e)if(a!=="default"){const r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:()=>e[a]})}}return t.default=e,Object.freeze(t)}const o=u(l),c=e=>{const t=s.useLocalization();return o.createElement("div",{className:i.classNames("k-chart-overlay",e.className),style:{display:"none",...e.style}},o.createElement("div",{className:"k-no-data"},e.children===void 0?t.toLanguageString(n.nodata,n.messages[n.nodata]):e.children))};c.displayName="ChartNoDataOverlay";exports.ChartNoDataOverlay=c;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use client";
|
|
9
|
+
import * as e from "react";
|
|
10
|
+
import { useLocalization as l } from "@progress/kendo-react-intl";
|
|
11
|
+
import { classNames as r } from "@progress/kendo-react-common";
|
|
12
|
+
import { nodata as t, messages as s } from "./messages.mjs";
|
|
13
|
+
const i = (a) => {
|
|
14
|
+
const o = l();
|
|
15
|
+
return /* @__PURE__ */ e.createElement("div", { className: r("k-chart-overlay", a.className), style: { display: "none", ...a.style } }, /* @__PURE__ */ e.createElement("div", { className: "k-no-data" }, a.children === void 0 ? o.toLanguageString(t, s[t]) : a.children));
|
|
16
|
+
};
|
|
17
|
+
i.displayName = "ChartNoDataOverlay";
|
|
18
|
+
export {
|
|
19
|
+
i as ChartNoDataOverlay
|
|
20
|
+
};
|
package/README.md
CHANGED
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
# KendoReact Charts Library for React
|
|
6
6
|
|
|
7
7
|
> **Important**
|
|
8
|
-
>
|
|
9
|
-
>
|
|
10
|
-
>
|
|
11
|
-
>
|
|
8
|
+
>
|
|
9
|
+
> - This package is а part of [KendoReact](https://www.telerik.com/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)—a commercial UI library.
|
|
10
|
+
> - You will need to install a license key when adding the package to your project. For more information, please refer to the [KendoReact My License page](https://www.telerik.com/kendo-react-ui/components/my-license/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts).
|
|
11
|
+
> - To receive a license key, you need to either [purchase a license](https://www.telerik.com/kendo-react-ui/pricing?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts) or register for a [free trial](https://www.telerik.com/try/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts). Doing so indicates that you [accept the KendoReact License Agreement](https://www.telerik.com/purchase/license-agreement/progress-kendoreact?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts).
|
|
12
|
+
> - The 30-day free trial gives you access to all the KendoReact components and their full functionality. Additionally, for the period of your license, you get access to our legendary technical support provided directly by the KendoReact dev team!
|
|
12
13
|
>
|
|
13
14
|
> [Start using KendoReact](https://www.telerik.com/try/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts) and speed up your development process!
|
|
14
15
|
|
|
@@ -16,34 +17,35 @@ The React Chart, part of KendoReact, renders a wide range of high-quality data v
|
|
|
16
17
|
|
|
17
18
|
What's in this package (ToC):
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
- [React Chart component](#react-chart-component)
|
|
21
|
+
- [React Sankey component](#react-sankey-component)
|
|
22
|
+
- [React Sparkline component](#react-sparkline-component)
|
|
23
|
+
- [React StockChart component](#react-stockchart-component)
|
|
24
|
+
- [React Charts Components Library Features](#react-charts-library-shared-features)
|
|
25
|
+
- [Support Options](#support-options)
|
|
26
|
+
- [Resources](#resources)
|
|
27
|
+
|
|
26
28
|
## React Chart Component
|
|
27
29
|
|
|
28
30
|
[The React Chart component](https://www.telerik.com/kendo-react-ui/components/charts/chart/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts) found in KendoReact is a powerful data visualization tool that can fit into any application. This one component includes over 16 different types of charts, all with built-in support for interactivity, tooltips, zooming and panning, and much more. Available chart types include:
|
|
29
31
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
32
|
+
- [React Area Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/area/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
33
|
+
- [React Bar Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/bar/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
34
|
+
- [React Box Plot Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/box-plot/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
35
|
+
- [React Bubble Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/bubble/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
36
|
+
- [React Bullet Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/bullet/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
37
|
+
- [React Donut Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/donut/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
38
|
+
- [React Funnel Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/funnel/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
39
|
+
- [React Pyramid Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/pyramid/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
40
|
+
- [React Heatmap Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/heatmap/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
41
|
+
- [React Line Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/line/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
42
|
+
- [React Pie Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/pie/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
43
|
+
- [React Polar Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/polar/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
44
|
+
- [React Radar Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/radar/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
45
|
+
- [React Range Area Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/range-area/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
46
|
+
- [React Range Bar Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/range-bar/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
47
|
+
- [React Scatter Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/scatter/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
48
|
+
- [React Waterfall Chart](https://www.telerik.com/kendo-react-ui/components/charts/series-types/waterfall/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
47
49
|
|
|
48
50
|
## React Sankey Component
|
|
49
51
|
|
|
@@ -61,40 +63,40 @@ What's in this package (ToC):
|
|
|
61
63
|
|
|
62
64
|
Among the many features which the KendoReact Charts deliver are:
|
|
63
65
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
- **Types**—You can choose from wide variety of types to render the data in the Chart (Line, Area, Bar, Column, Donut and many more).
|
|
67
|
+
- **Axes**—The Charts provide very in-depth customization for its axes. You can customize over 100+ options for the category and the values axes of the Charts.
|
|
68
|
+
- **Rendering modes**—You can render the Charts as SVG or Canvas.
|
|
69
|
+
- **Export**—The Charts can be exported to an image, a PDF or a SVG, allowing to easily save them locally or on the server.
|
|
70
|
+
- **Panning and Zooming**—The Chart enables the user to change the displayed range by panning and zooming.
|
|
71
|
+
- **Customization**—The Charts are highly customizable with more than **1 thousand** customization options available.
|
|
72
|
+
- [**Theme support**](https://www.telerik.com/kendo-react-ui/components/styling/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)—The KendoReact Charts, as well as all 100+ components in the KendoReact suite, are styled in three polished themes (Bootstrap, Material, and Default) and can be further customized to match your specific design guidelines.
|
|
71
73
|
|
|
72
74
|
## Support Options
|
|
73
75
|
|
|
74
76
|
For any issues you might encounter while working with the KendoReact Charts, use any of the available support channels:
|
|
75
77
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
- Industry-leading technical support—KendoReact paid license holders and users with an active (free) trial license can take advantage of our outstanding customer support. To submit a ticket, use [the dedicated KendoReact support system](https://www.telerik.com/account/support-tickets?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts).
|
|
79
|
+
- Product forums—The [KendoReact forums](https://www.telerik.com/forums/kendo-ui-react?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts) are part of the free support you can get from the community and from the KendoReact team.
|
|
80
|
+
- Feedback portal—The [KendoReact feedback portal](https://feedback.telerik.com/kendo-react-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts) is where you can request and vote for new features to be added.
|
|
79
81
|
|
|
80
82
|
## Resources
|
|
81
83
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
84
|
+
- [Getting Started with KendoReact](https://www.telerik.com/kendo-react-ui/components/getting-started/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
85
|
+
- [Getting Started with the KendoReact Charts](https://www.telerik.com/kendo-react-ui/components/charts/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
86
|
+
- [API Reference of the KendoReact Charts](https://www.telerik.com/kendo-react-ui/components/charts/api/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
87
|
+
- [KendoReact Roadmap](https://www.telerik.com/support/whats-new/kendo-react-ui/roadmap?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
88
|
+
- [Blogs](https://www.telerik.com/blogs/tag/kendoreact?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
89
|
+
- [Demos, documentation, and component reference](https://www.telerik.com/kendo-react-ui/components/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
90
|
+
- [KendoReact pricing and licensing](https://www.telerik.com/kendo-react-ui/pricing?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
91
|
+
- [Changelog](https://www.telerik.com/kendo-react-ui/components/changelogs/ui-for-react/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-react-trial-npm-charts)
|
|
90
92
|
|
|
91
93
|
High-level component overview pages
|
|
92
94
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
- [React Charts Component](https://www.telerik.com/kendo-react-ui/charts)
|
|
96
|
+
- [React Sankey Component](https://www.telerik.com/kendo-react-ui/sankey)
|
|
97
|
+
- [React Heatmap Chart Component](https://www.telerik.com/kendo-react-ui/heatmap)
|
|
98
|
+
- [React Sparkline Component](https://www.telerik.com/kendo-react-ui/sparkline)
|
|
97
99
|
|
|
98
|
-
|
|
100
|
+
_Copyright © 2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved._
|
|
99
101
|
|
|
100
|
-
|
|
102
|
+
_Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries._
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-intl"),require("@progress/kendo-charts"),require("@progress/kendo-react-common"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-layout"),require("@progress/kendo-svg-icons")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-intl","@progress/kendo-charts","@progress/kendo-react-common","@progress/kendo-react-popup","@progress/kendo-react-layout","@progress/kendo-svg-icons"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactCharts={},e.React,e.PropTypes,e.KendoReactIntl,e.KendoCharts,e.KendoReactCommon,e.KendoReactPopup,e.KendoReactLayout,e.KendoSvgIcons)}(this,(function(e,t,r,s,a,n,o,i,l){"use strict";function c(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var h=c(t);function d(e,t){let r=e;for(;r&&r!==t;)r=r.parentNode;return!!r}function p(e,t,r,s){const a=e[t];if(a&&Array.isArray(a))for(let e of a)if(!e.type||e.type!==s)return new Error(`${r} children should be Array of type ${s.displayName}.`);return null}const u=e=>void 0!==e&&!e;let m=class{constructor(e){this.target=e}},v=class extends m{constructor(e,t){super(t),this.axis=e.axis,this.dataItem=e.dataItem,this.index=e.index,this.text=e.text,this.value=e.value}},y=class extends m{constructor(){super(...arguments),this.prevented=!1}preventDefault(){this.prevented=!0}isDefaultPrevented(){return this.prevented}},g=class extends y{constructor(e,t){super(t),this.axisRanges=e.axisRanges,this.nativeEvent=e.originalEvent}},C=class extends m{constructor(e,t){super(t),this.axisRanges=e.axisRanges,this.nativeEvent=e.originalEvent}},f=class extends y{constructor(e,t){super(t),this.axisRanges=e.axisRanges,this.nativeEvent=e.originalEvent}},b=class extends m{constructor(e,t){super(t),this.value=e.value,this.point=e.point,this.series=e.series,this.currentState=e.currentState,this.nextState=e.nextState}},x=class extends y{constructor(e,t){super(t),this.series=e.series,this.seriesIndex=e.seriesIndex,this.pointIndex=e.pointIndex,this.text=e.text}preventDefault(){super.preventDefault()}},S=class extends y{constructor(e,t){super(t),this.series=e.series,this.seriesIndex=e.seriesIndex,this.pointIndex=e.pointIndex,this.text=e.text}preventDefault(){super.preventDefault()}},E=class extends m{constructor(e,t){super(t),this.from=e.from,this.to=e.to}},k=class extends m{constructor(e,t){super(t),this.category=e.category,this.dataItem=e.dataItem,this.series=e.series,this.value=e.value,this.visual=e.visual}},I=class extends m{constructor(e,t){super(t),this.category=e.category,this.dataItem=e.dataItem,this.series=e.series,this.value=e.value,this.visual=e.visual}},w=class extends m{constructor(e,t){super(t),this.category=e.category,this.nativeEvent=e.originalEvent,this.value=e.value,this.x=e.x,this.y=e.y}},N=class extends m{constructor(e,t){super(t),this.category=e.category,this.nativeEvent=e.originalEvent,this.value=e.value,this.x=e.x,this.y=e.y}},_=class extends m{constructor(e,t){super(t)}},D=class extends y{constructor(e,t){super(t),this.axis=e.axis,this.from=e.from,this.to=e.to}},T=class extends m{constructor(e,t){super(t),this.axis=e.axis,this.from=e.from,this.to=e.to}},A=class extends y{constructor(e,t){super(t),this.axis=e.axis,this.from=e.from,this.to=e.to}},K=class extends m{constructor(e,t){super(t),this.category=e.category,this.dataItem=e.dataItem,this.nativeEvent=e.originalEvent,this.percentage=e.percentage,this.point=e.point,this.series=e.series,this.stackValue=e.stackValue,this.value=e.value}},O=class extends y{constructor(e,t){super(t),this.category=e.category,this.categoryPoints=e.categoryPoints,this.dataItem=e.dataItem,this.nativeEvent=e.originalEvent,this.percentage=e.percentage,this.point=e.point,this.series=e.series,this.stackValue=e.stackValue,this.value=e.value}},L=class extends y{constructor(e,t){super(t),this.axisRanges=e.axisRanges,this.delta=e.delta,this.nativeEvent=e.originalEvent}},R=class extends m{constructor(e,t){super(t),this.axisRanges=e.axisRanges,this.nativeEvent=e.originalEvent}},P=class extends y{constructor(e,t){super(t),this.axisRanges=e.axisRanges,this.nativeEvent=e.originalEvent}};const F={axisLabelClick:v,drag:g,dragEnd:C,dragStart:f,drilldownEvent:b,legendItemHover:x,legendItemClick:S,legendItemLeave:class extends y{constructor(e,t){super(t),this.series=e.series,this.seriesIndex=e.seriesIndex,this.pointIndex=e.pointIndex,this.text=e.text}preventDefault(){super.preventDefault()}},navigatorFilter:E,noteClick:k,noteHover:I,plotAreaClick:w,plotAreaHover:N,render:_,select:D,selectEnd:T,selectStart:A,seriesClick:K,seriesHover:O,zoom:L,zoomEnd:R,zoomStart:P};let q=class{constructor(e,t){this.sender=e,this.syntheticEvent=t}};function j(e,t){return new q(e,t)}const V=e=>`${e.fontWeight} ${e.fontSize} ${e.fontFamily}`,H=e=>window.getComputedStyle(e).backgroundColor,M=`\n <div class="k-var--primary"></div>\n <div class="k-var--base"></div>\n <div class="k-var--background"></div>\n\n <div class="k-var--normal-background"></div>\n <div class="k-var--normal-text-color"></div>\n <div class="k-var--hover-background"></div>\n <div class="k-var--hover-text-color"></div>\n <div class="k-var--selected-background"></div>\n <div class="k-var--selected-text-color"></div>\n <div class="k-var--chart-error-bars-background"></div>\n <div class="k-var--chart-notes-background"></div>\n <div class="k-var--chart-notes-border"></div>\n <div class="k-var--chart-notes-lines"></div>\n <div class="k-var--chart-crosshair-background"></div>\n\n <div class="k-var--chart-inactive"></div>\n <div class="k-var--chart-major-lines"></div>\n <div class="k-var--chart-minor-lines"></div>\n <div class="k-var--chart-area-opacity"></div>\n <div class="k-var--chart-area-inactive-opacity"></div>\n <div class="k-var--chart-line-inactive-opacity"></div>\n\n <div class="k-widget k-chart">\n <div class="k-var--chart-font"></div>\n <div class="k-var--chart-title-font"></div>\n <div class="k-var--chart-pane-title-font"></div>\n <div class="k-var--chart-label-font"></div>\n </div>\n\n <div class="k-var--series-unset"></div>\n <div class="k-var--series">\n ${(()=>{let e='\n <div class="k-var--series-a"></div>\n <div class="k-var--series-b"></div>\n <div class="k-var--series-c"></div>\n <div class="k-var--series-d"></div>\n <div class="k-var--series-e"></div>\n <div class="k-var--series-f"></div>\n';for(let t=0;t<30;t++)e+=`\n <div class="k-var--series-${t+1}"></div>`;return e})()}\n </div>\n`;class U{constructor(e){this.store=e}setStyle(e,t){this.store.dispatch({type:"set",payload:{field:e,value:t}})}setColors(){this.mapColor("axisDefaults.crosshair.color","chart-crosshair-background"),this.mapColor("axisDefaults.labels.color","normal-text-color"),this.mapColor("axisDefaults.line.color","chart-major-lines"),this.mapColor("axisDefaults.majorGridLines.color","chart-major-lines"),this.mapColor("axisDefaults.minorGridLines.color","chart-minor-lines"),this.mapColor("axisDefaults.notes.icon.background","chart-notes-background"),this.mapColor("axisDefaults.notes.icon.border.color","chart-notes-border"),this.mapColor("axisDefaults.notes.line.color","chart-notes-lines"),this.mapColor("axisDefaults.title.color","normal-text-color"),this.mapColor("chartArea.background","background"),this.mapColor("legend.inactiveItems.labels.color","chart-inactive"),this.mapColor("legend.inactiveItems.markers.color","chart-inactive"),this.mapColor("legend.labels.color","normal-text-color"),this.mapColor("seriesDefaults.boxPlot.downColor","chart-major-lines"),this.mapColor("seriesDefaults.boxPlot.mean.color","base"),this.mapColor("seriesDefaults.boxPlot.median.color","base"),this.mapColor("seriesDefaults.boxPlot.whiskers.color","primary"),this.mapColor("seriesDefaults.bullet.target.color","normal-text-color"),this.mapColor("seriesDefaults.candlestick.downColor","normal-text-color"),this.mapColor("seriesDefaults.candlestick.line.color","normal-text-color"),this.mapColor("seriesDefaults.errorBars.color","chart-error-bars-background"),this.mapColor("seriesDefaults.horizontalWaterfall.line.color","chart-major-lines"),this.mapColor("seriesDefaults.icon.border.color","chart-major-lines"),this.mapColor("seriesDefaults.labels.background","background"),this.mapColor("seriesDefaults.labels.color","normal-text-color"),this.mapColor("seriesDefaults.notes.icon.background","chart-notes-background"),this.mapColor("seriesDefaults.notes.icon.border.color","chart-notes-border"),this.mapColor("seriesDefaults.notes.line.color","chart-notes-lines"),this.mapColor("seriesDefaults.verticalBoxPlot.downColor","chart-major-lines"),this.mapColor("seriesDefaults.verticalBoxPlot.mean.color","base"),this.mapColor("seriesDefaults.verticalBoxPlot.median.color","base"),this.mapColor("seriesDefaults.verticalBoxPlot.whiskers.color","primary"),this.mapColor("seriesDefaults.verticalBullet.target.color","normal-text-color"),this.mapColor("seriesDefaults.waterfall.line.color","chart-major-lines"),this.mapColor("title.color","normal-text-color"),this.mapColor("subtitle.color","normal-text-color");const e=parseFloat(this.queryStyle("chart-area-opacity").opacity);isNaN(e)||(this.setStyle("seriesDefaults.area.opacity",e),this.setStyle("seriesDefaults.radarArea.opacity",e),this.setStyle("seriesDefaults.verticalArea.opacity",e),this.setStyle("seriesDefaults.labels.opacity",e)),this.setInactiveOpacity(["area","verticalArea"],"chart-area-inactive-opacity"),this.setInactiveOpacity(["line","verticalLine"],"chart-line-inactive-opacity")}setFonts(){const e=V(this.queryStyle("chart-font")),t=V(this.queryStyle("chart-title-font")),r=V(this.queryStyle("chart-pane-title-font")),s=V(this.queryStyle("chart-label-font"));this.setStyle("axisDefaults.labels.font",s),this.setStyle("axisDefaults.notes.label.font",e),this.setStyle("axisDefaults.title.font",e),this.setStyle("legend.labels.font",e),this.setStyle("seriesDefaults.labels.font",s),this.setStyle("seriesDefaults.notes.label.font",e),this.setStyle("title.font",t),this.setStyle("subtitle.font",r),this.setStyle("paneDefaults.title.font",r)}setSeriesColors(){const e=this.element,t=[].slice.call(e.querySelectorAll(".k-var--series div")),r=H(e.querySelector(".k-var--series-unset")),s=t.reduce(((e,t)=>{const s=(e=>{const t=e.match(/series-([a-z])$/);if(null!==t)return(e=>e.toLowerCase().charCodeAt(0)-97)(t[1]);const r=e.split("--series-")[1];return parseInt(r,10)-1})(t.className),a=H(t);return a!==r&&(e[s]=a),e}),[]);this.setStyle("seriesColors",s)}mapColor(e,t){this.setStyle(e,this.queryStyle(t).backgroundColor)}queryStyle(e){const t=this.element;return window.getComputedStyle(t.querySelector(`.k-var--${e}`))}setInactiveOpacity(e,t){const r=parseFloat(this.queryStyle(t).opacity);!isNaN(r)&&r<1&&e.forEach((e=>this.setStyle(`seriesDefaults.${e}.highlight.inactiveOpacity`,r)))}}const z=e=>{let t,r,s=[];const a=a=>{t=e(t,a),n.canUseDOM&&(window.clearTimeout(r),r=window.setTimeout((()=>s.forEach((e=>e()))),16.666666666666668))};return a({}),{getState:()=>t,dispatch:a,subscribe:e=>(s.push(e),()=>s=s.filter((t=>t!==e)))}},B=(e,t)=>t.chartCollectionIdxKey?X.collectionConfigurationItem(e,t):t.chartKey?X.configurationItem(e,t):{},$=(e,t)=>{if(!t.type)return{};switch(t.type){case"set":return X.themeItem(e,t);case"push":return Object.assign(e,t.payload);default:return e}},W=(e,t)=>{if(!t.type)return[];switch(t.type){case"add":return[...e,t.payload];case"remove":return e.filter((e=>e!==t.payload));default:return e}},X={configurationItem:(e,t)=>Object.assign(e,{[t.chartKey]:t.payload}),collectionConfigurationItem(e,t){let r=!1;const[s,a]=t.chartCollectionIdxKey.split("_"),n=e[s].map(((e,s)=>parseInt(a,10)===s?(r=!0,t.payload):e));return!1===r&&n.splice(parseInt(a,10),0,t.payload),Object.assign(e,{[s]:n})},themeItem(e,t){let r={},s=Object.assign(r,e);const{field:a,value:n}=t.payload,o=a.split(".");let i=o.shift();for(;o.length>0;)r=r[i]=r[i]||{},i=o.shift();return r[i]=n,s}};let Y=class{constructor(e,t){this.value=e.value,this.category=e.category,this.categoryIndex=e.categoryIx,this.series=e.series,this.dataItem=e.dataItem,this.percentage=e.percentage,this.runningTotal=e.runningTotal,this.total=e.total,this.low=e.low,this.high=e.high,this.xLow=e.xLow,this.xHigh=e.xHigh,this.yLow=e.yLow,this.yHigh=e.yHigh,this.point=e,this.format=((e.options||{}).tooltip||{}).format||t}get formattedValue(){return this.format?this.point.formatValue(this.format):String(this.value)}};const Z=e=>{const{categoryText:t,colorMarker:r,colspan:s,nameColumn:a,points:n}=e;return h.createElement("table",null,h.createElement("thead",null,h.createElement("tr",null,h.createElement("th",{colSpan:s},t))),h.createElement("tbody",null,n.map(((e,t)=>h.createElement("tr",{key:t},r&&h.createElement("td",null,h.createElement("span",{className:"k-chart-shared-tooltip-marker",style:{backgroundColor:e.series.color}})),a&&h.createElement("td",null,e.series.name),h.createElement("td",{dangerouslySetInnerHTML:{__html:e.formattedValue}}))))))},G=h.createContext(null);G.displayName="ChartContext";const J={horizontal:"fit",vertical:"fit"},Q="k-chart-tooltip",ee=class extends h.Component{constructor(e,t){super(e,t),this.context=null,this.element=null,this.onChartMouseLeave=e=>{const{syntheticEvent:t}=e;return!!d(t.relatedTarget,this.element)},this.onMouseLeave=e=>{const t=j(this,e);this.context.childrenObserver.trigger("onMouseLeave",t)&&e.preventDefault()},this.popupRef=e=>{this.element=e;const t=e&&e.closest(".k-animation-container");t&&(t.style.transition="initial")},this.chartObserver=new a.InstanceObserver(this,{onMouseLeave:"onChartMouseLeave"}),t.observersStore.dispatch({type:"add",payload:this.chartObserver})}render(){const{popupShown:e,popupAlign:t,popupOffset:r,popupStyles:s,popupContent:a,className:n}=this.props,i=[Q,n].join(" ").trim();return h.createElement(o.Popup,{animate:!1,popupAlign:t,offset:r,show:e,collision:J,className:"k-chart-tooltip-wrapper"},h.createElement("div",{className:i,style:s,onMouseLeave:this.onMouseLeave,ref:this.popupRef},a()))}componentWillUnmount(){this.context.observersStore.dispatch({type:"remove",payload:this.chartObserver})}};ee.contextType=G;let te=ee;const re=class extends h.Component{constructor(){super(...arguments),this.context=null,this.state={popupShown:!1},this.chartObserver=null}componentDidMount(){this.chartObserver=new a.InstanceObserver(this,{showTooltip:"onShowTooltip",hideTooltip:"onHideTooltip"}),this.context.observersStore.dispatch({type:"add",payload:this.chartObserver})}render(){const{popupContext:e,shared:t,className:r,...s}=this.state,a=this.state.popupShown?()=>{const r=this.findRenderFunction();if(t)return null!==r?r(e):h.createElement(Z,{...e});{const t=e.point,s=this.findRenderFunctionByIndex(t.series.index);return null!==s?s(e):null!==r?r(e):h.createElement("span",{dangerouslySetInnerHTML:{__html:e.point.formattedValue}})}}:Function.prototype,o=n.classNames({"k-chart-shared-tooltip":t,"k-chart-tooltip-inverse":!!r});return h.createElement(te,{...s,popupContent:a,className:o})}componentWillUnmount(){this.context.observersStore.dispatch({type:"remove",payload:this.chartObserver})}onShowTooltip(e){const{anchor:t,style:r,shared:s,className:a,crosshair:n}=e;let o;n||(o=s?this.createSharedTooltipContext(e):this.createTooltipContext(e),this.setState({popupShown:!0,popupAlign:t.align,popupOffset:t.point,popupContext:o,popupStyles:r,className:a,shared:s}))}onHideTooltip(){this.setState({popupShown:!1,popupStyles:{},className:void 0})}createSharedTooltipContext(e){const{points:t,categoryText:r}=e,s=t.filter((e=>void 0!==e.series.name)).length>0,a=e.series.length>1;let n=1;return s&&n++,a&&n++,{categoryText:r,colorMarker:a,colspan:n,nameColumn:s,points:e.points.map((t=>new Y(t,e.format)))}}createTooltipContext(e){const{point:t,format:r}=e;return{point:new Y(t,r)}}findRenderFunctionByIndex(e){const t=this.context.optionsStore.getState().series;return void 0!==t&&Array.isArray(t)&&void 0!==t[e]&&t[e].hasOwnProperty("tooltip")&&t[e].tooltip.hasOwnProperty("render")?t[e].tooltip.render:null}findRenderFunction(){const e=this.context.optionsStore.getState().tooltip;return void 0!==e&&e.hasOwnProperty("render")?e.render:null}};re.contextType=G;let se=re;const ae=e=>e.children;ae.displayName="Container";const ne=class extends h.Component{constructor(e,t){super(e,t),this.context=null,this.state={popupShown:!1},this.chartObserver=new a.InstanceObserver(this,{showTooltip:"onShowTooltip",hideTooltip:"onHideTooltip"}),t.observersStore.dispatch({type:"add",payload:this.chartObserver})}render(){const{popupContend:e,className:t,...r}=this.state,s=this.state.popupShown?()=>e:Function.prototype,a=n.classNames({"k-chart-crosshair-tooltip":!0,"k-chart-tooltip-inverse":!!t});return h.createElement(te,{...r,popupContent:s,className:a})}componentWillUnmount(){var e;null==(e=this.context)||e.observersStore.dispatch({type:"remove",payload:this.chartObserver})}onShowTooltip(e){const{anchor:t,style:r,className:s,crosshair:a,axisName:n,axisIndex:o,value:i}=e,{name:l,index:c}=this.props;a&&n===l&&o===c&&this.setState({popupShown:!0,popupAlign:t.align,popupOffset:t.point,popupContend:i,popupStyles:r,className:s})}onHideTooltip(){this.setState({popupShown:!1,popupStyles:{},className:void 0})}};ne.contextType=G;let oe=ne;const ie=["categoryAxis","valueAxis","xAxis","yAxis"];function le(e){const t={};for(let r=0;r<ie.length;r++){const s=ce(e,ie[r]);for(let e=0;e<s.length;e++){const r=s[e];t[r.name+r.index]=r}}return t}function ce(e,t){const r=[];if(e[t]){const s=[].concat(e[t]);for(let e=0;e<s.length;e++){const a=(s[e].crosshair||{}).tooltip;a&&a.visible&&r.push({index:e,name:t})}}return r}const he=class extends h.Component{constructor(){super(...arguments),this.context=null,this.state={tooltips:{}},this.storeUnsubscriber=Function.prototype,this.subscriber=()=>{var e;this.setState({tooltips:le(null==(e=this.context)?void 0:e.optionsStore.getState())})}}componentDidMount(){this.storeUnsubscriber=this.context.optionsStore.subscribe(this.subscriber)}render(){const{tooltips:e}=this.state,t=Object.keys(e).map((t=>h.createElement(oe,{...e[t],key:t})));return h.createElement(ae,null,t)}componentWillUnmount(){this.storeUnsubscriber()}};he.contextType=G;let de=he;const pe={name:"@progress/kendo-react-charts",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},ue=class extends h.Component{constructor(e){super(e),this.chartInstance=null,this.surface=null,this._element=null,this.optionsStore={},this.optionsUnsubscriber=Function.prototype,this.themeStore={},this.themeUnsubscriber=Function.prototype,this.observersStore={},this.suppressTransitions=!1,this.showLicenseWatermark=!1,this.onRender=e=>{null!==this.chartInstance&&(this.surface=e.sender.surface,this.trigger("render",e))},this.onDrilldown=e=>{var t;const{series:r}=this.optionsStore.getState(),s=r.find((t=>t.name===e.series.name));if(!s.drilldownSeriesFactory)return!0;const a="onDrilldown";if(this.props.hasOwnProperty(a)){const r={seriesName:s.name,drilldownValue:e.value},n=[...(null==(t=this.props.drilldownState)?void 0:t.steps)||[],r],o=this.props.getTarget(),i={...e,currentState:this.props.drilldownState,nextState:{steps:n}},l=new b(i,o);this.props[a].call(void 0,l)}return!0},this.onLegendItemClick=e=>{if(null!==this.chartInstance)if(this.props.onLegendItemClick)this.trigger("legendItemClick",e);else{const{series:t}=this.optionsStore.getState();if(!t)return;let r={};const{seriesIndex:s,pointIndex:a}=e,n=t[s];if(void 0===a)r=Object.assign({},n,{visible:u(n.visible)});else{const e=n.pointVisibility=n.pointVisibility||[];e[a]=u(e[a]),r=Object.assign({},n)}this.optionsStore.dispatch({chartCollectionIdxKey:`series_${s}`,payload:r}),this.suppressTransitions=!0}},this.onWindowResize=()=>{null!==this.chartInstance&&this.chartInstance.resize()},this.onChartMouseLeave=e=>{const t=j(this,e);this.triggerDomEvent("onMouseLeave",t)?e.preventDefault():null!==this.chartInstance&&this.chartInstance.hideElements()},this.onChildMouseLeave=e=>{const{syntheticEvent:t}=e;return this.chartInstance&&!d(t.relatedTarget,this.element)&&this.chartInstance.hideElements(),!1},n.validatePackage(pe),this.showLicenseWatermark=n.shouldShowValidationUI(pe),this.optionsStore=z(B),this.observersStore=z(W),this.childrenObserver=new a.InstanceObserver(this,{onMouseLeave:"onChildMouseLeave"}),this.state={optionsStore:this.optionsStore,observersStore:this.observersStore,childrenObserver:this.childrenObserver,drilldownState:{steps:[]}},this.themeStore=z($),this.chartObserver=new a.InstanceObserver(this,{render:"onRender",legendItemClick:"onLegendItemClick",drilldown:"onDrilldown"})}get element(){return this._element}static getDerivedStateFromProps(e,t){return{...t,drilldownState:e.drilldownState||[]}}componentDidMount(){var e;const t=(null==(e=this._element)?void 0:e.ownerDocument)||document;((e,t,r)=>{const s=new U(e);if(void 0===r)return void e.dispatch({type:"push",payload:a.chartBaseTheme()});const n=s.element=r.createElement("div");n.style.display="none",n.innerHTML=M,r.body.appendChild(n);try{e.dispatch({type:"push",payload:a.chartBaseTheme()}),s.setColors(),s.setFonts(),s.setSeriesColors()}finally{r.body.removeChild(s.element),delete s.element,t()}})(this.themeStore,this.instantiateCoreChart.bind(this),t),this.optionsUnsubscriber=this.optionsStore.subscribe(this.refresh.bind(this)),this.themeUnsubscriber=this.themeStore.subscribe(this.refresh.bind(this)),window.addEventListener("resize",this.onWindowResize)}componentWillUnmount(){this.optionsUnsubscriber(),this.themeUnsubscriber(),null!==this.chartInstance&&(this.chartInstance.destroy(),this.chartInstance=null),window.removeEventListener("resize",this.onWindowResize)}componentDidUpdate(e){const{dir:t,children:r,...a}=this.props;if(null!==this.chartInstance){const r=s.provideIntlService(this),n=this.chartInstance.chartService,o=r.locale!==n._intlService.locale,i=Object.entries(e).filter((e=>"dir"!==e[0]&&"children"!==e[0])).some((e=>{const[t,r]=e;return!(a.hasOwnProperty(t)&&a[t]===r)}));o&&(this.chartInstance.chartService._intlService=r,this.chartInstance.chartService.format._intlService=r,i||this.chartInstance.noTransitionsRedraw()),i&&this.refresh(),e.dir!==t&&this.chartInstance.setDirection(this.getDirection(t))}}render(){const{style:e={},className:t,wrapper:r,children:s}=this.props,a=Object.assign({},e,{position:"relative"}),o=h.createElement(r,{className:t,style:a,key:"chartElement"},h.createElement("div",{onMouseLeave:this.onChartMouseLeave,ref:e=>this._element=e,className:"k-chart-surface"},s),h.createElement(h.Fragment,null,this.showLicenseWatermark&&h.createElement(n.WatermarkOverlay,null)));return h.createElement(G.Provider,{value:this.state},h.createElement(se,{key:"seriesTooltip"}),h.createElement(de,{key:"crosshairTooltips"}),o)}getDirection(e){return"rtl"===(void 0!==e?e:n.canUseDOM&&window.getComputedStyle(this.element).direction||"ltr")}getChartOptions(){const{renderAs:e,pannable:t,zoomable:r,paneDefaults:s,panes:a,transitions:n,seriesColors:o,seriesDefaults:i,axisDefaults:l,deriveOptionsFromParent:c}=this.props;let h={};return void 0!==e&&(h.renderAs=e),void 0!==t&&(h.pannable=t),void 0!==r&&(h.zoomable=r),void 0!==s&&(h.paneDefaults=s),void 0!==a&&(h.panes=a),void 0!==n&&(h.transitions=n),void 0!==o&&(h.seriesColors=o),void 0!==i&&(h.seriesDefaults=i),void 0!==l&&(h.axisDefaults=l),h=Object.assign(h,this.optionsStore.getState()),c&&(h=c(h)),h}refresh(){if(null!==this.chartInstance){const e=this.themeStore.getState(),t=this.getChartOptions(),r=t.transitions;this.suppressTransitions&&(t.transitions=!1),this.props.onRefresh?this.props.onRefresh.call(void 0,t,e,this.chartInstance):this.chartInstance.setOptions(t,e),this.suppressTransitions&&(t.transitions=r,this.suppressTransitions=!1)}}instantiateCoreChart(){const{dir:e,chartConstructor:t}=this.props,r=this.getChartOptions();this.chartInstance=new t(this.element,r,this.themeStore.getState(),{rtl:this.getDirection(e),intlService:s.provideIntlService(this),observer:this.chartObserver,sender:this})}trigger(e,t){const r=function(e,t,r){if(F[e])return new F[e](t,r)}(e,t,this.props.getTarget()),s="on"+e.charAt(0).toUpperCase()+e.slice(1),a=this.observersStore.getState();let n=!1;for(let r=0;r<a.length;r++)a[r].trigger(e,t)&&(n=!0);return!1===n&&r&&this.props.hasOwnProperty(s)?(this.props[s].call(void 0,r),r.isDefaultPrevented&&r.isDefaultPrevented()):n}requiresHandlers(e){for(let t=0;t<e.length;t++){const r=e[t],s="on"+r.charAt(0).toUpperCase()+r.slice(1);if(this.props.hasOwnProperty(s))return!0}return!1}triggerDomEvent(e,t){const r=this.observersStore.getState();let s=!1;for(let a=0;a<r.length;a++)r[a].trigger(e,t)&&(s=!0);return s}};ue.propTypes={dir:r.string,renderAs:r.oneOf(["svg","canvas"])},ue.defaultProps={renderAs:"svg"};let me=ue;s.registerForIntl(me);const ve=class extends h.Component{constructor(e,t){super(e,t),this.context=null,this.state={donutCenterStyles:null},this.chartObserver=new a.InstanceObserver(this,{render:"onRender"}),t.observersStore.dispatch({type:"add",payload:this.chartObserver})}render(){const{render:e}=this.props,{donutCenterStyles:t}=this.state;let r=null;return e&&t&&(r=h.createElement("div",{className:"k-chart-donut-center",style:t},h.createElement(e,null))),r}onRender(e){var t;const r=null==(t=this.context)?void 0:t.optionsStore.getState().series,s=Array.isArray(r)?r[0]:null,a=e.sender._plotArea.charts;if(!s||"donut"!==s.type||0===a[0].points.length)return;const n=a[0].points[0].sector,o=n.innerRadius,i=n.center.y-o,l=n.center.x-o,c=2*o;this.setState({donutCenterStyles:{height:c,left:l,top:i,width:c}})}};ve.contextType=G;let ye=ve,ge=class extends h.Component{constructor(){super(...arguments),this._baseChart=null,this.getTarget=()=>this}get chartInstance(){return null!==this._baseChart?this._baseChart.chartInstance:null}get surface(){return null!==this._baseChart?this._baseChart.surface:null}get element(){return null!==this._baseChart?this._baseChart.element:null}render(){const{donutCenterRender:e,children:t,className:r,...s}=this.props;return h.createElement(me,{...s,ref:e=>this._baseChart=e,chartConstructor:a.Chart,getTarget:this.getTarget,wrapper:"div",className:n.classNames("k-chart k-widget",r)},t,h.createElement(ye,{render:e}))}},Ce=class extends h.Component{constructor(){super(...arguments),this._baseChart=null,this.deriveOptionsFromParent=e=>{const{type:t,data:r}=this.props,s=Object.assign({},e,{type:t,data:r});return a.Sparkline.normalizeOptions(s)},this.getTarget=()=>this}get chartInstance(){return null!==this._baseChart?this._baseChart.chartInstance:null}get surface(){return null!==this._baseChart?this._baseChart.surface:null}get element(){return null!==this._baseChart?this._baseChart.element:null}render(){const{children:e,type:t,className:r,...s}=this.props;return h.createElement(me,{...s,ref:e=>this._baseChart=e,chartConstructor:a.Sparkline,getTarget:this.getTarget,wrapper:"span",deriveOptionsFromParent:this.deriveOptionsFromParent,className:n.classNames("k-sparkline k-widget",r)},e)}};const fe={autoBindElements:!0,liveDrag:!1,partialRedraw:!0};let be=class extends h.Component{constructor(){super(...arguments),this._baseChart=null,this.deriveOptionsFromParent=e=>{const t=Object.assign({},e.navigator||{},fe);return Object.assign({},e,{navigator:t})},this.onRefresh=(e,t,r)=>{this.props.partialRedraw?(r.applyOptions(e),r.bindCategories(),r.navigator.redrawSlaves()):r.setOptions(e,t)},this.getTarget=()=>this}get chartInstance(){return null!==this._baseChart?this._baseChart.chartInstance:null}get surface(){return null!==this._baseChart?this._baseChart.surface:null}get element(){return null!==this._baseChart?this._baseChart.element:null}render(){const{children:e,className:t,...r}=this.props;return h.createElement(me,{...r,ref:e=>this._baseChart=e,chartConstructor:a.StockChart,getTarget:this.getTarget,wrapper:"div",deriveOptionsFromParent:this.deriveOptionsFromParent,onRefresh:this.onRefresh,className:n.classNames("k-stockchart k-widget",t)},e)}};const xe=class extends h.Component{constructor(e,t){super(e,t),this.optionsStore=t.optionsStore}renderChildren(e,t){const{children:r}=e.props,{_chartKey:s,_parentStore:a}=this.props,n={...e.props,_chartCollectionIdxKey:`${s}_${t}`,_parentStore:a};return h.cloneElement(e,n,r)}render(){const{_chartKey:e,_parentStore:t,children:r}=this.props;return(t||this.optionsStore).dispatch({chartKey:e,payload:[]}),h.Children.map(r,((e,t)=>h.isValidElement(e)?this.renderChildren(e,t):e))}};xe.contextType=G;let Se=xe;const Ee=class extends h.Component{constructor(e,t){super(e,t),this.optionsStore=t.optionsStore,this.childStore=z(B)}render(){const{children:e}=this.props;return void 0!==e?h.Children.map(e,(e=>h.isValidElement(e)?this.renderChildren(e):e)):null}componentDidMount(){this.dispatch()}componentDidUpdate(){this.dispatch()}dispatch(){const{_chartKey:e,_chartCollectionIdxKey:t,_parentStore:r,children:s,...a}=this.props;(r||this.optionsStore).dispatch({chartKey:e,chartCollectionIdxKey:t,payload:Object.assign({},a,this.childStore.getState())})}renderChildren(e){const{children:t}=e.props,r={...e.props,_parentStore:this.childStore};return h.cloneElement(e,r,t)}};Ee.contextType=G;let ke=Ee,Ie=class{constructor(e){this.currentState=e.currentState,this.nextState=e.nextState}};const we=h.forwardRef(((e,t)=>{const r=h.useRef(null),s=h.useRef(null),a={valueField:_e.valueField,textField:_e.textField,iconField:_e.iconField,iconClassField:_e.iconClassField,...e};h.useImperativeHandle(r,(()=>({element:s.current,props:a}))),h.useImperativeHandle(t,(()=>r.current));let o=[{id:"0",...e.rootItem||{text:"Home",icon:h.createElement(n.SvgIcon,{icon:l.homeIcon,style:{marginInlineEnd:"4px"}})}}];e.drilldownState&&(o=[...o,...e.drilldownState.steps.map(((e,t)=>({id:(t+1).toString(),text:e.drilldownValue})))]);const c={...a,data:o};return h.createElement("div",null,h.createElement(i.Breadcrumb,{...c,onItemSelect:t=>{var r;const s="onDrilldownStateChange";if(e.hasOwnProperty(s)){const a=o.findIndex((e=>e.id===t.id)),n={steps:((null==(r=e.drilldownState)?void 0:r.steps)||[]).slice(0,a)},i=new Ie({currentState:e.drilldownState,nextState:n});e[s].call(void 0,i)}}}))})),Ne={id:r.string,style:r.object,className:r.string,breadcrumbOrderedList:r.elementType,breadcrumbListItem:r.elementType,breadcrumbDelimiter:r.elementType,breadcrumbLink:r.elementType,dir:r.oneOf(["ltr","rtl"]),disabled:r.bool,valueField:r.string,textField:r.string,iconField:r.string,iconClassField:r.string,onItemSelect:r.func,ariaLabel:r.string,onDrilldownStateChange:r.func,drilldownState:r.shape({steps:r.array}),rootItem:r.object},_e={valueField:"id",textField:"text",iconField:"icon",iconClassField:"iconClass",data:[]};we.displayName="KendoReactChartBreadcrumb",we.propTypes=Ne;const De=e=>h.createElement(ke,{...e,_chartKey:"title"});De.displayName="ChartAxisDefaultsTitle";const Te=e=>h.createElement(ke,{...e,_chartKey:"labels"});Te.displayName="ChartAxisDefaultsLabels";const Ae=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"crosshair"});Ae.displayName="ChartAxisDefaultsCrosshair";const Ke=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"tooltip"});Ke.displayName="ChartAxisDefaultsCrosshairTooltip";const Oe=e=>h.createElement(ke,{...e,_chartKey:"title"});Oe.displayName="ChartCategoryAxisTitle";const Le=e=>h.createElement(ke,{...e,_chartKey:"title"});Le.displayName="ChartPaneDefaultsTitle";const Re=e=>h.createElement(ke,{...e,_chartKey:"item"});Re.displayName="ChartLegendItem";const Pe=e=>h.createElement(ke,{...e,_chartKey:"title"});Pe.displayName="ChartLegendTitle";const Fe=e=>h.createElement(ke,{...e,_chartKey:"inactiveItems"});Fe.displayName="ChartLegendInactiveItems";const qe=e=>h.createElement(ke,{...e,_chartKey:"title"});qe.displayName="ChartValueAxisTitle";const je=e=>h.createElement(ke,{...e,_chartKey:"title"});je.displayName="ChartXAxisTitle";const Ve=e=>h.createElement(ke,{...e,_chartKey:"title"});Ve.displayName="ChartYAxisTitle";const He=e=>h.createElement(ke,{...e,_chartKey:"categoryAxis"});He.displayName="ChartNavigatorCategoryAxis";const Me=e=>h.createElement(ke,{...e,_chartKey:"pane"});Me.displayName="ChartNavigatorPane";const Ue=e=>h.createElement(ke,{...e});Ue.displayName="ChartNavigatorSeriesItem";const ze=e=>h.createElement(Se,{...e,_chartKey:"series"});ze.propTypes={children:function(e,t,r){return p(e,t,r,Ue)}};const Be=e=>h.createElement(ke,{...e,_chartKey:"chartArea"});Be.displayName="ChartArea";const $e=e=>h.createElement(ke,{...e});$e.displayName="ChartCategoryAxisItem";const We=e=>h.createElement(Se,{...e,_chartKey:"categoryAxis"});We.propTypes={children:function(e,t,r){return p(e,t,r,$e)}},We.displayName="ChartCategoryAxis";const Xe=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"legend"});Xe.displayName="ChartLegend";const Ye=e=>h.createElement(ke,{visible:!0,position:"bottom",...e,_chartKey:"navigator"});Ye.displayName="ChartNavigator";const Ze=e=>h.createElement(ke,{...e});Ze.displayName="ChartPane";const Ge=e=>h.createElement(ke,{...e,_chartKey:"paneDefaults"});Ge.displayName="ChartPaneDefaults";const Je=e=>h.createElement(Se,{...e,_chartKey:"panes"});Je.propTypes={children:function(e,t,r){return p(e,t,r,Ze)}};const Qe=e=>{let t=e=>h.createElement(h.Fragment,null);e.drilldownSeriesFactory&&(t=e.drilldownSeriesFactory);const r=t=>{var r,s;return t&&(null==(s=null==(r=t.drilldownState)?void 0:r.steps)?void 0:s.find((({seriesName:t})=>t===e.name)))};return h.createElement(G.Consumer,null,(s=>r(s)?h.createElement(t,{_chartCollectionIdxKey:e._chartCollectionIdxKey,drilldownValue:r(s).drilldownValue}):h.createElement(ke,{...e})))};Qe.displayName="ChartSeriesItem";const et=e=>h.createElement(Se,{...e,_chartKey:"series"});et.propTypes={children:function(e,t,r){return p(e,t,r,Qe)}},et.displayName="ChartSeries";const tt=e=>h.createElement(ke,{...e,_chartKey:"subtitle"});tt.displayName="ChartSubtitle";const rt=e=>h.createElement(ke,{...e,_chartKey:"title"});rt.displayName="ChartTitle";const st=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"tooltip"});st.displayName="ChartTooltip";const at=e=>h.createElement(ke,{...e});at.displayName="ChartValueAxisItem";const nt=e=>h.createElement(Se,{...e,_chartKey:"valueAxis"});nt.propTypes={children:function(e,t,r){return p(e,t,r,at)}},nt.displayName="ChartValueAxis";const ot=e=>h.createElement(ke,{...e});ot.displayName="ChartXAxisItem";const it=e=>h.createElement(Se,{...e,_chartKey:"xAxis"});it.prototype={children:function(e,t,r){return p(e,t,r,ot)}},it.displayName="ChartXAxis";const lt=e=>h.createElement(ke,{...e});lt.displayName="ChartYAxisItem";const ct=e=>h.createElement(Se,{...e,_chartKey:"yAxis"});ct.propTypes={children:function(e,t,r){return p(e,t,r,lt)}},ct.displayName="ChartYAxis";const ht=e=>`${e.fontWeight} ${e.fontSize} ${e.fontFamily}`,dt=e=>window.getComputedStyle(e).backgroundColor,pt=`\n <div class="k-var--background"></div>\n <div class="k-var--normal-text-color"></div>\n <div class="k-var--kendo-color-subtle"></div>\n\n <div class="k-widget k-chart">\n <div class="k-var--chart-font"></div>\n <div class="k-var--chart-title-font"></div>\n </div>\n <div class="k-var--series-unset"></div>\n <div class="k-var--series">\n ${(()=>{let e='\n <div class="k-var--series-a"></div>\n <div class="k-var--series-b"></div>\n <div class="k-var--series-c"></div>\n <div class="k-var--series-d"></div>\n <div class="k-var--series-e"></div>\n <div class="k-var--series-f"></div>\n';for(let t=0;t<30;t++)e+=`\n <div class="k-var--series-${t+1}"></div>`;return e})()}\n </div>\n`;let ut=class{constructor(e){this.store=e}setStyle(e,t){const r=e.split(".");let s=this.store;r.forEach(((e,t,r)=>{t<r.length-1&&(s=s[e]=s[e]||{})}));const a=r.pop();a&&(s[a]=t)}setColors(){this.mapColor("labels.color","normal-text-color"),this.mapColor("labels.stroke.color","background");this.element.querySelector(".k-var--kendo-color-subtle").style.color="var(--kendo-color-subtle)",this.mapColor("links.color","kendo-color-subtle","color"),this.mapColor("legend.labels.color","normal-text-color"),this.mapColor("title.color","normal-text-color")}setFonts(){const e=ht(this.queryStyle("chart-title-font")),t=ht(this.queryStyle("chart-font"));this.setStyle("title.font",e),this.setStyle("labels.font",t),this.setStyle("legend.labels.font",t)}setNodeColors(){const e=this.element;if(!e)return;const t=[].slice.call(e.querySelectorAll(".k-var--series div")),r=dt(e.querySelector(".k-var--series-unset")),s=t.reduce(((e,t)=>{const s=(e=>{const t=e.match(/series-([a-z])$/);if(null!==t)return(e=>e.toLowerCase().charCodeAt(0)-97)(t[1]);const r=e.split("--series-")[1];return parseInt(r,10)-1})(t.className),a=dt(t);return a!==r&&(e[s]=a),e}),[]);this.setStyle("nodeColors",s)}mapColor(e,t,r="backgroundColor"){this.setStyle(e,this.queryStyle(t)[r])}queryStyle(e){const t=this.element;return window.getComputedStyle(t.querySelector(`.k-var--${e}`))}};const mt=(e,t)=>{const r={nodeColors:[]},s=new ut(r),a=s.element=e.createElement("div");a.style.display="none",a.innerHTML=pt,e.body.appendChild(a);try{s.setColors(),s.setFonts(),s.setNodeColors()}finally{e.body.removeChild(s.element),s.element=null,t(r)}},vt=r.exact({left:r.number,top:r.number}),yt={left:r.number,right:r.number},gt={...yt,top:r.number,bottom:r.number},Ct=r.oneOfType([r.number,r.exact(gt)]),ft=Ct,bt=r.exact({width:r.number,color:r.string,opacity:r.number,dashType:r.string}),xt={visible:r.bool,font:r.string,color:r.string,opacity:r.number,align:r.oneOf(["left","right","center"]),position:r.oneOf(["inside","before","after"]),padding:ft,margin:r.exact(yt),border:bt,offset:vt},St={color:r.string,opacity:r.number,offset:vt,padding:r.number,width:r.number},Et={colorType:r.oneOf(["static","source","target"]),color:r.string,opacity:r.number,highlight:r.exact({opacity:r.number,inactiveOpacity:r.number})},kt=r.exact({text:r.string,...xt}),It=r.exact({id:r.oneOfType([r.string,r.number]).isRequired,label:kt.isRequired,...St}),wt=r.exact({sourceId:r.oneOfType([r.string,r.number]).isRequired,targetId:r.oneOfType([r.string,r.number]).isRequired,value:r.number.isRequired,...Et}),Nt={data:r.exact({nodes:r.arrayOf(It.isRequired).isRequired,links:r.arrayOf(wt.isRequired).isRequired}).isRequired,links:r.exact(Et),nodes:r.exact(St),labels:r.exact(xt),legend:r.exact({align:r.oneOf(["start","center","end"]),background:r.string,border:bt,height:r.number,labels:r.object,margin:Ct,offsetX:r.number,offsetY:r.number,orientation:r.oneOf(["vertical","horizontal"]),padding:ft,position:r.oneOf(["top","bottom","left","right","custom"]),reverse:r.bool,visible:r.bool,width:r.number,item:r.object,title:r.object}),title:r.exact({align:r.oneOf(["center","left","right"]),background:r.string,border:bt,color:r.string,font:r.string,margin:Ct,padding:ft,position:r.oneOf(["top","bottom"]),text:r.string,visible:r.bool}),tooltip:r.exact({visible:r.bool,offset:r.number,followPointer:r.bool,delay:r.number,linkComponent:r.any,nodeComponent:r.any}),className:r.string,style:r.object,dir:r.string,disableAutoLayout:r.bool,disableKeyboardNavigation:r.bool,onNodeEnter:r.func,onNodeLeave:r.func,onLinkEnter:r.func,onLinkLeave:r.func,onNodeClick:r.func,onLinkClick:r.func},_t="sankey.tooltipUnitFormat",Dt={[_t]:"({0} units)"},Tt=e=>{const{Content:t,dir:r,offset:s,event:{tooltipData:a,dataItem:n,nodeValue:o}}=e,i=h.useRef(null);return h.useEffect((()=>{const e=i.current;if(!a||!e)return;const t=e.offsetWidth,r=e.offsetHeight,n={...a.popupOffset},o=a.popupAlign;n.left+="left"===o.horizontal?s:-1*s,"right"===o.horizontal&&(n.left-=t),"bottom"===o.vertical?n.top-=r+s:n.top+=s,e.style.left=`${n.left}px`,e.style.top=`${n.top}px`,e.style.visibility=""}),[a]),h.createElement("div",{ref:i,style:{visibility:"hidden"},dir:r,className:"k-tooltip k-sankey-tooltip k-chart-tooltip k-chart-shared-tooltip"},h.createElement("div",{className:"k-tooltip-content"},h.createElement(t,{dir:r,dataItem:n,nodeValue:o})))},At={display:"flex",alignItems:"center"},Kt=e=>h.createElement("div",{style:{width:15,height:15,backgroundColor:e.color,display:"inline-flex",marginLeft:3}}),Ot=e=>h.createElement("span",{style:{margin:"0 3px"}},e.children),Lt=e=>s.useInternationalization().format(s.useLocalization().toLanguageString(_t,Dt[_t]),[e||0]),Rt=e=>{const{color:t,label:r}=e.dataItem;return h.createElement("div",{style:At,className:"k-tooltip-content"},h.createElement(Kt,{color:t}),h.createElement(Ot,null,r.text),h.createElement(Ot,null,Lt(e.nodeValue)))},Pt=e=>{const{source:t,target:r,value:s}=e.dataItem,a="rtl"===e.dir?l.arrowLeftIcon:l.arrowRightIcon;return h.createElement("div",{style:At},h.createElement(Kt,{color:t.color}),h.createElement(Ot,null,t.label.text),h.createElement(n.IconWrap,{icon:a,name:a.name}),h.createElement(Kt,{color:r.color}),h.createElement(Ot,null,r.label.text),h.createElement(Ot,null,Lt(s)))},Ft=12,qt={offset:Ft,visible:!0},jt=["nodeEnter","nodeLeave","linkEnter","linkLeave","nodeClick","linkClick"],Vt=h.forwardRef(((e,t)=>{n.validatePackage(pe);const r=h.useRef(null),s=h.useRef(null),o=n.useRtl(r,e.dir,[e.dir,r.current]),i=h.useRef(null),{data:l,links:c,nodes:d,labels:p,title:u,legend:m,tooltip:v=qt,disableAutoLayout:y,disableKeyboardNavigation:g}=e,C=h.useRef();C.current=e;const[f,b]=h.useState(null),x=h.useCallback((e=>{const{visible:t,offset:r=Ft,nodeComponent:s=Rt,linkComponent:a=Pt}={...qt,...v};if(t){const t={event:e,offset:r,dir:o,Content:"node"===e.targetType?s:a};b(t)}}),[v,o]),S=h.useCallback((()=>{b(null)}),[]),E=h.useCallback(((e,t)=>{const r=C.current[e];if(r){const e={...t,nativeEvent:t.originalEvent,target:i.current};r.call(void 0,e)}}),[]);return h.useEffect((()=>{const e={data:l,links:c,nodes:d,labels:p,title:u,legend:m,disableAutoLayout:y,disableKeyboardNavigation:g,rtl:"rtl"===o,tooltip:{...qt,...v}};return s.current?s.current.setOptions(e):n.canUseDOM&&r.current&&mt(r.current.ownerDocument,(t=>{s.current=new a.Sankey(r.current,e,t),((e,t)=>{e&&(e.unbind(),jt.forEach((r=>{t[r]&&e.bind(r,t[r])})))})(s.current,{nodeEnter:e=>{E("onNodeEnter",e)},nodeLeave:e=>{E("onNodeLeave",e)},linkEnter:e=>{E("onLinkEnter",e)},linkLeave:e=>{E("onLinkLeave",e)},nodeClick:e=>{E("onNodeClick",e)},linkClick:e=>{E("onLinkClick",e)}}),s.current.bind("tooltipShow",x),s.current.bind("tooltipHide",S)})),()=>{s.current&&(s.current.destroy(),s.current=null)}}),[l,c,d,p,u,m,y,g,o,v,S,x,E]),h.useImperativeHandle(i,(()=>({get element(){return r.current},exportVisual:e=>s.current.exportVisual(e),props:e})),[]),h.useImperativeHandle(t,(()=>i.current)),h.createElement(h.Fragment,null,h.createElement("div",{ref:r,className:e.className,style:e.style,dir:o}),f&&h.createElement(Tt,{...f}))}));Vt.propTypes=Nt,Vt.displayName="KendoReactSankey";const Ht=a.createSankeyData;e.AxisLabelClickEvent=v,e.Chart=ge,e.ChartArea=Be,e.ChartAxisDefaults=e=>h.createElement(ke,{...e,_chartKey:"axisDefaults"}),e.ChartAxisDefaultsCrosshair=Ae,e.ChartAxisDefaultsCrosshairTooltip=Ke,e.ChartAxisDefaultsLabels=Te,e.ChartAxisDefaultsTitle=De,e.ChartBreadcrumb=we,e.ChartCategoryAxis=We,e.ChartCategoryAxisCrosshair=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"crosshair"}),e.ChartCategoryAxisCrosshairTooltip=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"tooltip"}),e.ChartCategoryAxisItem=$e,e.ChartCategoryAxisLabels=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"labels"}),e.ChartCategoryAxisNotes=e=>h.createElement(ke,{...e,_chartKey:"notes"}),e.ChartCategoryAxisNotesIcon=e=>h.createElement(ke,{...e,_chartKey:"icon"}),e.ChartCategoryAxisNotesLabel=e=>h.createElement(ke,{...e,_chartKey:"label"}),e.ChartCategoryAxisRangeLabels=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"rangeLabels"}),e.ChartCategoryAxisTitle=Oe,e.ChartLegend=Xe,e.ChartLegendInactiveItems=Fe,e.ChartLegendItem=Re,e.ChartLegendTitle=Pe,e.ChartNavigator=Ye,e.ChartNavigatorCategoryAxis=He,e.ChartNavigatorHint=e=>h.createElement(ke,{...e,_chartKey:"hint"}),e.ChartNavigatorPane=Me,e.ChartNavigatorSelect=e=>h.createElement(ke,{...e,_chartKey:"select"}),e.ChartNavigatorSeries=ze,e.ChartNavigatorSeriesItem=Ue,e.ChartPane=Ze,e.ChartPaneDefaults=Ge,e.ChartPaneDefaultsTitle=Le,e.ChartPanes=Je,e.ChartPlotArea=e=>h.createElement(ke,{...e,_chartKey:"plotArea"}),e.ChartSeries=et,e.ChartSeriesDefaults=e=>h.createElement(ke,{...e,_chartKey:"seriesDefaults"}),e.ChartSeriesErrorBars=e=>h.createElement(ke,{...e,_chartKey:"errorBars"}),e.ChartSeriesExtremes=e=>h.createElement(ke,{...e,_chartKey:"extremes"}),e.ChartSeriesHighlight=e=>h.createElement(ke,{...e,_chartKey:"highlight"}),e.ChartSeriesItem=Qe,e.ChartSeriesItemOutliers=e=>h.createElement(ke,{...e,_chartKey:"outliers"}),e.ChartSeriesItemTooltip=e=>h.createElement(ke,{...e,_chartKey:"tooltip"}),e.ChartSeriesLabels=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"labels"}),e.ChartSeriesLabelsFrom=e=>h.createElement(ke,{...e,_chartKey:"from"}),e.ChartSeriesLabelsTo=e=>h.createElement(ke,{...e,_chartKey:"to"}),e.ChartSeriesMarkers=e=>h.createElement(ke,{...e,_chartKey:"markers"}),e.ChartSeriesNotes=e=>h.createElement(ke,{...e,_chartKey:"notes"}),e.ChartSeriesNotesIcon=e=>h.createElement(ke,{...e,_chartKey:"icon"}),e.ChartSeriesNotesLabel=e=>h.createElement(ke,{...e,_chartKey:"label"}),e.ChartSubtitle=tt,e.ChartTitle=rt,e.ChartTooltip=st,e.ChartValueAxis=nt,e.ChartValueAxisCrosshair=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"crosshair"}),e.ChartValueAxisCrosshairTooltip=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"tooltip"}),e.ChartValueAxisItem=at,e.ChartValueAxisLabels=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"labels"}),e.ChartValueAxisNotes=e=>h.createElement(ke,{...e,_chartKey:"notes"}),e.ChartValueAxisNotesIcon=e=>h.createElement(ke,{...e,_chartKey:"icon"}),e.ChartValueAxisNotesLabel=e=>h.createElement(ke,{...e,_chartKey:"label"}),e.ChartValueAxisTitle=qe,e.ChartXAxis=it,e.ChartXAxisCrosshair=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"crosshair"}),e.ChartXAxisCrosshairTooltip=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"tooltip"}),e.ChartXAxisItem=ot,e.ChartXAxisLabels=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"labels"}),e.ChartXAxisNotes=e=>h.createElement(ke,{...e,_chartKey:"notes"}),e.ChartXAxisNotesIcon=e=>h.createElement(ke,{...e,_chartKey:"icon"}),e.ChartXAxisNotesLabel=e=>h.createElement(ke,{...e,_chartKey:"label"}),e.ChartXAxisTitle=je,e.ChartYAxis=ct,e.ChartYAxisCrosshair=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"crosshair"}),e.ChartYAxisCrosshairTooltip=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"tooltip"}),e.ChartYAxisItem=lt,e.ChartYAxisLabels=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"labels"}),e.ChartYAxisNotes=e=>h.createElement(ke,{...e,_chartKey:"notes"}),e.ChartYAxisNotesIcon=e=>h.createElement(ke,{...e,_chartKey:"icon"}),e.ChartYAxisNotesLabel=e=>h.createElement(ke,{...e,_chartKey:"label"}),e.ChartYAxisTitle=Ve,e.ChartZoomable=e=>h.createElement(ke,{...e,_chartKey:"zoomable"}),e.CollectionConfigurationComponent=Se,e.ConfigurationComponent=ke,e.CrosshairTooltip=oe,e.CrosshairTooltipContainer=de,e.DonutCenter=ye,e.DragEndEvent=C,e.DragEvent=g,e.DragStartEvent=f,e.DrilldownEvent=b,e.DrilldownStateChangeEvent=Ie,e.LegendItemClickEvent=S,e.LegendItemHoverEvent=x,e.NavigatorFilterEvent=E,e.NoteClickEvent=k,e.NoteHoverEvent=I,e.PlotAreaClickEvent=w,e.PlotAreaHoverEvent=N,e.RenderEvent=_,e.Sankey=Vt,e.SelectEndEvent=T,e.SelectEvent=D,e.SelectStartEvent=A,e.SeriesClickEvent=K,e.SeriesHoverEvent=O,e.SeriesTooltip=se,e.SharedTooltipContent=Z,e.Sparkline=Ce,e.StockChart=be,e.TooltipPoint=Y,e.TooltipPopup=te,e.ZoomEndEvent=R,e.ZoomEvent=L,e.ZoomStartEvent=P,e.createSankeyData=Ht,e.exportVisual=(e,t={})=>{if(e&&null!==e.chartInstance)return e.chartInstance.exportVisual(t)},e.findAxisByName=(e,t)=>{if(e&&null!==e.chartInstance)return e.chartInstance.findAxisByName(t)},e.findPaneByIndex=(e,t)=>{if(e&&null!==e.chartInstance)return e.chartInstance.findPaneByIndex(t)},e.findPaneByName=(e,t)=>{if(e&&null!==e.chartInstance)return e.chartInstance.findPaneByName(t)}}));
|
|
8
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("prop-types"),require("@progress/kendo-react-intl"),require("@progress/kendo-charts"),require("@progress/kendo-react-common"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-layout"),require("@progress/kendo-svg-icons")):"function"==typeof define&&define.amd?define(["exports","react","prop-types","@progress/kendo-react-intl","@progress/kendo-charts","@progress/kendo-react-common","@progress/kendo-react-popup","@progress/kendo-react-layout","@progress/kendo-svg-icons"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactCharts={},e.React,e.PropTypes,e.KendoReactIntl,e.KendoCharts,e.KendoReactCommon,e.KendoReactPopup,e.KendoReactLayout,e.KendoSvgIcons)}(this,(function(e,t,r,s,a,n,o,i,l){"use strict";function c(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var h=c(t);function d(e,t){let r=e;for(;r&&r!==t;)r=r.parentNode;return!!r}function p(e,t,r,s){const a=e[t];if(a&&Array.isArray(a))for(const e of a)if(!e.type||e.type!==s)return new Error(`${r} children should be Array of type ${s.displayName}.`);return null}const u=e=>void 0!==e&&!e;let m=class{constructor(e){this.target=e}},v=class extends m{constructor(e,t){super(t),this.axis=e.axis,this.dataItem=e.dataItem,this.index=e.index,this.text=e.text,this.value=e.value}},y=class extends m{constructor(){super(...arguments),this.prevented=!1}preventDefault(){this.prevented=!0}isDefaultPrevented(){return this.prevented}},g=class extends y{constructor(e,t){super(t),this.axisRanges=e.axisRanges,this.nativeEvent=e.originalEvent}},C=class extends m{constructor(e,t){super(t),this.axisRanges=e.axisRanges,this.nativeEvent=e.originalEvent}},f=class extends y{constructor(e,t){super(t),this.axisRanges=e.axisRanges,this.nativeEvent=e.originalEvent}},b=class extends m{constructor(e,t){super(t),this.value=e.value,this.point=e.point,this.series=e.series,this.currentState=e.currentState,this.nextState=e.nextState}},x=class extends y{constructor(e,t){super(t),this.series=e.series,this.seriesIndex=e.seriesIndex,this.pointIndex=e.pointIndex,this.text=e.text}preventDefault(){super.preventDefault()}},S=class extends y{constructor(e,t){super(t),this.series=e.series,this.seriesIndex=e.seriesIndex,this.pointIndex=e.pointIndex,this.text=e.text}preventDefault(){super.preventDefault()}},E=class extends m{constructor(e,t){super(t),this.from=e.from,this.to=e.to}},k=class extends m{constructor(e,t){super(t),this.category=e.category,this.dataItem=e.dataItem,this.series=e.series,this.value=e.value,this.visual=e.visual}},I=class extends m{constructor(e,t){super(t),this.category=e.category,this.dataItem=e.dataItem,this.series=e.series,this.value=e.value,this.visual=e.visual}},w=class extends m{constructor(e,t){super(t),this.category=e.category,this.nativeEvent=e.originalEvent,this.value=e.value,this.x=e.x,this.y=e.y}},N=class extends m{constructor(e,t){super(t),this.category=e.category,this.nativeEvent=e.originalEvent,this.value=e.value,this.x=e.x,this.y=e.y}},_=class extends m{constructor(e,t){super(t)}},D=class extends y{constructor(e,t){super(t),this.axis=e.axis,this.from=e.from,this.to=e.to}},T=class extends m{constructor(e,t){super(t),this.axis=e.axis,this.from=e.from,this.to=e.to}},A=class extends y{constructor(e,t){super(t),this.axis=e.axis,this.from=e.from,this.to=e.to}},O=class extends m{constructor(e,t){super(t),this.category=e.category,this.dataItem=e.dataItem,this.nativeEvent=e.originalEvent,this.percentage=e.percentage,this.point=e.point,this.series=e.series,this.stackValue=e.stackValue,this.value=e.value}},K=class extends y{constructor(e,t){super(t),this.category=e.category,this.categoryPoints=e.categoryPoints,this.dataItem=e.dataItem,this.nativeEvent=e.originalEvent,this.percentage=e.percentage,this.point=e.point,this.series=e.series,this.stackValue=e.stackValue,this.value=e.value}},L=class extends y{constructor(e,t){super(t),this.axisRanges=e.axisRanges,this.delta=e.delta,this.nativeEvent=e.originalEvent}},R=class extends m{constructor(e,t){super(t),this.axisRanges=e.axisRanges,this.nativeEvent=e.originalEvent}},P=class extends y{constructor(e,t){super(t),this.axisRanges=e.axisRanges,this.nativeEvent=e.originalEvent}};const F={axisLabelClick:v,drag:g,dragEnd:C,dragStart:f,drilldownEvent:b,legendItemHover:x,legendItemClick:S,legendItemLeave:class extends y{constructor(e,t){super(t),this.series=e.series,this.seriesIndex=e.seriesIndex,this.pointIndex=e.pointIndex,this.text=e.text}preventDefault(){super.preventDefault()}},navigatorFilter:E,noteClick:k,noteHover:I,plotAreaClick:w,plotAreaHover:N,render:_,select:D,selectEnd:T,selectStart:A,seriesClick:O,seriesHover:K,zoom:L,zoomEnd:R,zoomStart:P};let q=class{constructor(e,t){this.sender=e,this.syntheticEvent=t}};function j(e,t){return new q(e,t)}const V=e=>`${e.fontWeight} ${e.fontSize} ${e.fontFamily}`,H=e=>window.getComputedStyle(e).backgroundColor,M=`\n <div class="k-var--primary"></div>\n <div class="k-var--base"></div>\n <div class="k-var--background"></div>\n\n <div class="k-var--normal-background"></div>\n <div class="k-var--normal-text-color"></div>\n <div class="k-var--hover-background"></div>\n <div class="k-var--hover-text-color"></div>\n <div class="k-var--selected-background"></div>\n <div class="k-var--selected-text-color"></div>\n <div class="k-var--chart-error-bars-background"></div>\n <div class="k-var--chart-notes-background"></div>\n <div class="k-var--chart-notes-border"></div>\n <div class="k-var--chart-notes-lines"></div>\n <div class="k-var--chart-crosshair-background"></div>\n\n <div class="k-var--chart-inactive"></div>\n <div class="k-var--chart-major-lines"></div>\n <div class="k-var--chart-minor-lines"></div>\n <div class="k-var--chart-area-opacity"></div>\n <div class="k-var--chart-area-inactive-opacity"></div>\n <div class="k-var--chart-line-inactive-opacity"></div>\n\n <div class="k-widget k-chart">\n <div class="k-var--chart-font"></div>\n <div class="k-var--chart-title-font"></div>\n <div class="k-var--chart-pane-title-font"></div>\n <div class="k-var--chart-label-font"></div>\n </div>\n\n <div class="k-var--series-unset"></div>\n <div class="k-var--series">\n ${(()=>{let e='\n <div class="k-var--series-a"></div>\n <div class="k-var--series-b"></div>\n <div class="k-var--series-c"></div>\n <div class="k-var--series-d"></div>\n <div class="k-var--series-e"></div>\n <div class="k-var--series-f"></div>\n';for(let t=0;t<30;t++)e+=`\n <div class="k-var--series-${t+1}"></div>`;return e})()}\n </div>\n`;class z{constructor(e){this.store=e}setStyle(e,t){this.store.dispatch({type:"set",payload:{field:e,value:t}})}setColors(){this.mapColor("axisDefaults.crosshair.color","chart-crosshair-background"),this.mapColor("axisDefaults.labels.color","normal-text-color"),this.mapColor("axisDefaults.line.color","chart-major-lines"),this.mapColor("axisDefaults.majorGridLines.color","chart-major-lines"),this.mapColor("axisDefaults.minorGridLines.color","chart-minor-lines"),this.mapColor("axisDefaults.notes.icon.background","chart-notes-background"),this.mapColor("axisDefaults.notes.icon.border.color","chart-notes-border"),this.mapColor("axisDefaults.notes.line.color","chart-notes-lines"),this.mapColor("axisDefaults.title.color","normal-text-color"),this.mapColor("chartArea.background","background"),this.mapColor("legend.inactiveItems.labels.color","chart-inactive"),this.mapColor("legend.inactiveItems.markers.color","chart-inactive"),this.mapColor("legend.labels.color","normal-text-color"),this.mapColor("seriesDefaults.boxPlot.downColor","chart-major-lines"),this.mapColor("seriesDefaults.boxPlot.mean.color","base"),this.mapColor("seriesDefaults.boxPlot.median.color","base"),this.mapColor("seriesDefaults.boxPlot.whiskers.color","primary"),this.mapColor("seriesDefaults.bullet.target.color","normal-text-color"),this.mapColor("seriesDefaults.candlestick.downColor","normal-text-color"),this.mapColor("seriesDefaults.candlestick.line.color","normal-text-color"),this.mapColor("seriesDefaults.errorBars.color","chart-error-bars-background"),this.mapColor("seriesDefaults.horizontalWaterfall.line.color","chart-major-lines"),this.mapColor("seriesDefaults.icon.border.color","chart-major-lines"),this.mapColor("seriesDefaults.labels.background","background"),this.mapColor("seriesDefaults.labels.color","normal-text-color"),this.mapColor("seriesDefaults.notes.icon.background","chart-notes-background"),this.mapColor("seriesDefaults.notes.icon.border.color","chart-notes-border"),this.mapColor("seriesDefaults.notes.line.color","chart-notes-lines"),this.mapColor("seriesDefaults.verticalBoxPlot.downColor","chart-major-lines"),this.mapColor("seriesDefaults.verticalBoxPlot.mean.color","base"),this.mapColor("seriesDefaults.verticalBoxPlot.median.color","base"),this.mapColor("seriesDefaults.verticalBoxPlot.whiskers.color","primary"),this.mapColor("seriesDefaults.verticalBullet.target.color","normal-text-color"),this.mapColor("seriesDefaults.waterfall.line.color","chart-major-lines"),this.mapColor("title.color","normal-text-color"),this.mapColor("subtitle.color","normal-text-color");const e=parseFloat(this.queryStyle("chart-area-opacity").opacity);isNaN(e)||(this.setStyle("seriesDefaults.area.opacity",e),this.setStyle("seriesDefaults.radarArea.opacity",e),this.setStyle("seriesDefaults.verticalArea.opacity",e),this.setStyle("seriesDefaults.labels.opacity",e)),this.setInactiveOpacity(["area","verticalArea"],"chart-area-inactive-opacity"),this.setInactiveOpacity(["line","verticalLine"],"chart-line-inactive-opacity")}setFonts(){const e=V(this.queryStyle("chart-font")),t=V(this.queryStyle("chart-title-font")),r=V(this.queryStyle("chart-pane-title-font")),s=V(this.queryStyle("chart-label-font"));this.setStyle("axisDefaults.labels.font",s),this.setStyle("axisDefaults.notes.label.font",e),this.setStyle("axisDefaults.title.font",e),this.setStyle("legend.labels.font",e),this.setStyle("seriesDefaults.labels.font",s),this.setStyle("seriesDefaults.notes.label.font",e),this.setStyle("title.font",t),this.setStyle("subtitle.font",r),this.setStyle("paneDefaults.title.font",r)}setSeriesColors(){const e=this.element,t=[].slice.call(e.querySelectorAll(".k-var--series div")),r=H(e.querySelector(".k-var--series-unset")),s=t.reduce(((e,t)=>{const s=(e=>{const t=e.match(/series-([a-z])$/);if(null!==t)return(e=>e.toLowerCase().charCodeAt(0)-97)(t[1]);const r=e.split("--series-")[1];return parseInt(r,10)-1})(t.className),a=H(t);return a!==r&&(e[s]=a),e}),[]);this.setStyle("seriesColors",s)}mapColor(e,t){this.setStyle(e,this.queryStyle(t).backgroundColor)}queryStyle(e){const t=this.element;return window.getComputedStyle(t.querySelector(`.k-var--${e}`))}setInactiveOpacity(e,t){const r=parseFloat(this.queryStyle(t).opacity);!isNaN(r)&&r<1&&e.forEach((e=>this.setStyle(`seriesDefaults.${e}.highlight.inactiveOpacity`,r)))}}const U=e=>{let t,r,s=[];const a=a=>{t=e(t,a),n.canUseDOM&&(window.clearTimeout(r),r=window.setTimeout((()=>s.forEach((e=>e()))),16.666666666666668))};return a({}),{getState:()=>t,dispatch:a,subscribe:e=>(s.push(e),()=>s=s.filter((t=>t!==e)))}},B=(e,t)=>t.chartCollectionIdxKey?X.collectionConfigurationItem(e,t):t.chartKey?X.configurationItem(e,t):{},$=(e,t)=>{if(!t.type)return{};switch(t.type){case"set":return X.themeItem(e,t);case"push":return Object.assign(e,t.payload);default:return e}},W=(e,t)=>{if(!t.type)return[];switch(t.type){case"add":return[...e,t.payload];case"remove":return e.filter((e=>e!==t.payload));default:return e}},X={configurationItem:(e,t)=>Object.assign(e,{[t.chartKey]:t.payload}),collectionConfigurationItem(e,t){let r=!1;const[s,a]=t.chartCollectionIdxKey.split("_"),n=e[s].map(((e,s)=>parseInt(a,10)===s?(r=!0,t.payload):e));return!1===r&&n.splice(parseInt(a,10),0,t.payload),Object.assign(e,{[s]:n})},themeItem(e,t){let r={};const s=Object.assign(r,e),{field:a,value:n}=t.payload,o=a.split(".");let i=o.shift();for(;o.length>0;)r=r[i]=r[i]||{},i=o.shift();return r[i]=n,s}};let Y=class{constructor(e,t){this.value=e.value,this.category=e.category,this.categoryIndex=e.categoryIx,this.series=e.series,this.dataItem=e.dataItem,this.percentage=e.percentage,this.runningTotal=e.runningTotal,this.total=e.total,this.low=e.low,this.high=e.high,this.xLow=e.xLow,this.xHigh=e.xHigh,this.yLow=e.yLow,this.yHigh=e.yHigh,this.point=e,this.format=((e.options||{}).tooltip||{}).format||t}get formattedValue(){return this.format?this.point.formatValue(this.format):String(this.value)}};const Z=e=>{const{categoryText:t,colorMarker:r,colspan:s,nameColumn:a,points:n}=e;return h.createElement("table",null,h.createElement("thead",null,h.createElement("tr",null,h.createElement("th",{colSpan:s},t))),h.createElement("tbody",null,n.map(((e,t)=>h.createElement("tr",{key:t},r&&h.createElement("td",null,h.createElement("span",{className:"k-chart-shared-tooltip-marker",style:{backgroundColor:e.series.color}})),a&&h.createElement("td",null,e.series.name),h.createElement("td",{dangerouslySetInnerHTML:{__html:e.formattedValue}}))))))},G=h.createContext(null);G.displayName="ChartContext";const J={horizontal:"fit",vertical:"fit"},Q="k-chart-tooltip",ee=class extends h.Component{constructor(e,t){super(e,t),this.context=null,this.element=null,this.onChartMouseLeave=e=>{const{syntheticEvent:t}=e;return!!d(t.relatedTarget,this.element)},this.onMouseLeave=e=>{const t=j(this,e);this.context.childrenObserver.trigger("onMouseLeave",t)&&e.preventDefault()},this.popupRef=e=>{this.element=e;const t=e&&e.closest(".k-animation-container");t&&(t.style.transition="initial")},this.chartObserver=new a.InstanceObserver(this,{onMouseLeave:"onChartMouseLeave"}),t.observersStore.dispatch({type:"add",payload:this.chartObserver})}render(){const{popupShown:e,popupAlign:t,popupOffset:r,popupStyles:s,popupContent:a,className:n}=this.props,i=[Q,n].join(" ").trim();return h.createElement(o.Popup,{animate:!1,popupAlign:t,offset:r,show:e,collision:J,className:"k-chart-tooltip-wrapper"},h.createElement("div",{className:i,style:s,onMouseLeave:this.onMouseLeave,ref:this.popupRef},a()))}componentWillUnmount(){this.context.observersStore.dispatch({type:"remove",payload:this.chartObserver})}};ee.contextType=G;let te=ee;const re=class extends h.Component{constructor(){super(...arguments),this.context=null,this.state={popupShown:!1},this.chartObserver=null}componentDidMount(){this.chartObserver=new a.InstanceObserver(this,{showTooltip:"onShowTooltip",hideTooltip:"onHideTooltip"}),this.context.observersStore.dispatch({type:"add",payload:this.chartObserver})}render(){const{popupContext:e,shared:t,className:r,...s}=this.state,a=this.state.popupShown?()=>{const r=this.findRenderFunction();if(t)return null!==r?r(e):h.createElement(Z,{...e});const s=e.point,a=this.findRenderFunctionByIndex(s.series.index);return null!==a?a(e):null!==r?r(e):h.createElement("span",{dangerouslySetInnerHTML:{__html:e.point.formattedValue}})}:Function.prototype,o=n.classNames({"k-chart-shared-tooltip":t,"k-chart-tooltip-inverse":!!r});return h.createElement(te,{...s,popupContent:a,className:o})}componentWillUnmount(){this.context.observersStore.dispatch({type:"remove",payload:this.chartObserver})}onShowTooltip(e){const{anchor:t,style:r,shared:s,className:a,crosshair:n}=e;let o;n||(o=s?this.createSharedTooltipContext(e):this.createTooltipContext(e),this.setState({popupShown:!0,popupAlign:t.align,popupOffset:t.point,popupContext:o,popupStyles:r,className:a,shared:s}))}onHideTooltip(){this.setState({popupShown:!1,popupStyles:{},className:void 0})}createSharedTooltipContext(e){const{points:t,categoryText:r}=e,s=t.filter((e=>void 0!==e.series.name)).length>0,a=e.series.length>1;let n=1;return s&&n++,a&&n++,{categoryText:r,colorMarker:a,colspan:n,nameColumn:s,points:e.points.map((t=>new Y(t,e.format)))}}createTooltipContext(e){const{point:t,format:r}=e;return{point:new Y(t,r)}}findRenderFunctionByIndex(e){const t=this.context.optionsStore.getState().series;return void 0!==t&&Array.isArray(t)&&void 0!==t[e]&&t[e].hasOwnProperty("tooltip")&&t[e].tooltip.hasOwnProperty("render")?t[e].tooltip.render:null}findRenderFunction(){const e=this.context.optionsStore.getState().tooltip;return void 0!==e&&e.hasOwnProperty("render")?e.render:null}};re.contextType=G;let se=re;const ae=e=>e.children;ae.displayName="Container";const ne=class extends h.Component{constructor(e,t){super(e,t),this.context=null,this.state={popupShown:!1},this.chartObserver=new a.InstanceObserver(this,{showTooltip:"onShowTooltip",hideTooltip:"onHideTooltip"}),t.observersStore.dispatch({type:"add",payload:this.chartObserver})}render(){const{popupContend:e,className:t,...r}=this.state,s=this.state.popupShown?()=>e:Function.prototype,a=n.classNames({"k-chart-crosshair-tooltip":!0,"k-chart-tooltip-inverse":!!t});return h.createElement(te,{...r,popupContent:s,className:a})}componentWillUnmount(){var e;null==(e=this.context)||e.observersStore.dispatch({type:"remove",payload:this.chartObserver})}onShowTooltip(e){const{anchor:t,style:r,className:s,crosshair:a,axisName:n,axisIndex:o,value:i}=e,{name:l,index:c}=this.props;a&&n===l&&o===c&&this.setState({popupShown:!0,popupAlign:t.align,popupOffset:t.point,popupContend:i,popupStyles:r,className:s})}onHideTooltip(){this.setState({popupShown:!1,popupStyles:{},className:void 0})}};ne.contextType=G;let oe=ne;const ie=["categoryAxis","valueAxis","xAxis","yAxis"];function le(e){const t={};for(let r=0;r<ie.length;r++){const s=ce(e,ie[r]);for(let e=0;e<s.length;e++){const r=s[e];t[r.name+r.index]=r}}return t}function ce(e,t){const r=[];if(e[t]){const s=[].concat(e[t]);for(let e=0;e<s.length;e++){const a=(s[e].crosshair||{}).tooltip;a&&a.visible&&r.push({index:e,name:t})}}return r}const he=class extends h.Component{constructor(){super(...arguments),this.context=null,this.state={tooltips:{}},this.storeUnsubscriber=Function.prototype,this.subscriber=()=>{var e;this.setState({tooltips:le(null==(e=this.context)?void 0:e.optionsStore.getState())})}}componentDidMount(){this.storeUnsubscriber=this.context.optionsStore.subscribe(this.subscriber)}render(){const{tooltips:e}=this.state,t=Object.keys(e).map((t=>h.createElement(oe,{...e[t],key:t})));return h.createElement(ae,null,t)}componentWillUnmount(){this.storeUnsubscriber()}};he.contextType=G;let de=he;const pe={name:"@progress/kendo-react-charts",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:0,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/components/my-license/"},ue=class extends h.Component{constructor(e){super(e),this.chartInstance=null,this.surface=null,this._element=null,this.optionsStore={},this.optionsUnsubscriber=Function.prototype,this.themeStore={},this.themeUnsubscriber=Function.prototype,this.observersStore={},this.suppressTransitions=!1,this.showLicenseWatermark=!1,this.onRender=e=>{null!==this.chartInstance&&(this.surface=e.sender.surface,this.trigger("render",e))},this.onDrilldown=e=>{var t;const{series:r}=this.optionsStore.getState(),s=r.find((t=>t.name===e.series.name));if(!s.drilldownSeriesFactory)return!0;const a="onDrilldown";if(this.props.hasOwnProperty(a)){const r={seriesName:s.name,drilldownValue:e.value},n=[...(null==(t=this.props.drilldownState)?void 0:t.steps)||[],r],o=this.props.getTarget(),i={...e,currentState:this.props.drilldownState,nextState:{steps:n}},l=new b(i,o);this.props[a].call(void 0,l)}return!0},this.onLegendItemClick=e=>{if(null!==this.chartInstance)if(this.props.onLegendItemClick)this.trigger("legendItemClick",e);else{const{series:t}=this.optionsStore.getState();if(!t)return;let r={};const{seriesIndex:s,pointIndex:a}=e,n=t[s];if(void 0===a)r=Object.assign({},n,{visible:u(n.visible)});else{const e=n.pointVisibility=n.pointVisibility||[];e[a]=u(e[a]),r=Object.assign({},n)}this.optionsStore.dispatch({chartCollectionIdxKey:`series_${s}`,payload:r}),this.suppressTransitions=!0}},this.onWindowResize=()=>{null!==this.chartInstance&&this.chartInstance.resize()},this.onChartMouseLeave=e=>{const t=j(this,e);this.triggerDomEvent("onMouseLeave",t)?e.preventDefault():null!==this.chartInstance&&this.chartInstance.hideElements()},this.onChildMouseLeave=e=>{const{syntheticEvent:t}=e;return this.chartInstance&&!d(t.relatedTarget,this.element)&&this.chartInstance.hideElements(),!1},n.validatePackage(pe),this.showLicenseWatermark=n.shouldShowValidationUI(pe),this.optionsStore=U(B),this.observersStore=U(W),this.childrenObserver=new a.InstanceObserver(this,{onMouseLeave:"onChildMouseLeave"}),this.state={optionsStore:this.optionsStore,observersStore:this.observersStore,childrenObserver:this.childrenObserver,drilldownState:{steps:[]}},this.themeStore=U($),this.chartObserver=new a.InstanceObserver(this,{render:"onRender",legendItemClick:"onLegendItemClick",drilldown:"onDrilldown"})}get element(){return this._element}static getDerivedStateFromProps(e,t){return{...t,drilldownState:e.drilldownState||[]}}componentDidMount(){var e;const t=(null==(e=this._element)?void 0:e.ownerDocument)||document;((e,t,r)=>{const s=new z(e);if(void 0===r)return void e.dispatch({type:"push",payload:a.chartBaseTheme()});const n=s.element=r.createElement("div");n.style.display="none",n.innerHTML=M,r.body.appendChild(n);try{e.dispatch({type:"push",payload:a.chartBaseTheme()}),s.setColors(),s.setFonts(),s.setSeriesColors()}finally{r.body.removeChild(s.element),delete s.element,t()}})(this.themeStore,this.instantiateCoreChart.bind(this),t),this.optionsUnsubscriber=this.optionsStore.subscribe(this.refresh.bind(this)),this.themeUnsubscriber=this.themeStore.subscribe(this.refresh.bind(this)),window.addEventListener("resize",this.onWindowResize)}componentWillUnmount(){this.optionsUnsubscriber(),this.themeUnsubscriber(),null!==this.chartInstance&&(this.chartInstance.destroy(),this.chartInstance=null),window.removeEventListener("resize",this.onWindowResize)}componentDidUpdate(e){const{dir:t,children:r,...a}=this.props;if(null!==this.chartInstance){const r=s.provideIntlService(this),n=this.chartInstance.chartService,o=r.locale!==n._intlService.locale,i=Object.entries(e).filter((e=>"dir"!==e[0]&&"children"!==e[0])).some((e=>{const[t,r]=e;return!(a.hasOwnProperty(t)&&a[t]===r)}));o&&(this.chartInstance.chartService._intlService=r,this.chartInstance.chartService.format._intlService=r,i||this.chartInstance.noTransitionsRedraw()),i&&this.refresh(),e.dir!==t&&this.chartInstance.setDirection(this.getDirection(t))}}render(){const{style:e={},className:t,wrapper:r,children:s}=this.props,a=Object.assign({},e,{position:"relative"}),o=h.createElement(r,{className:t,style:a,key:"chartElement"},h.createElement("div",{onMouseLeave:this.onChartMouseLeave,ref:e=>this._element=e,className:"k-chart-surface"},s),h.createElement(h.Fragment,null,this.showLicenseWatermark&&h.createElement(n.WatermarkOverlay,null)));return h.createElement(G.Provider,{value:this.state},h.createElement(se,{key:"seriesTooltip"}),h.createElement(de,{key:"crosshairTooltips"}),o)}getDirection(e){return"rtl"===(void 0!==e?e:n.canUseDOM&&window.getComputedStyle(this.element).direction||"ltr")}getChartOptions(){const{renderAs:e,pannable:t,zoomable:r,paneDefaults:s,panes:a,transitions:n,seriesColors:o,seriesDefaults:i,axisDefaults:l,deriveOptionsFromParent:c}=this.props;let h={};return void 0!==e&&(h.renderAs=e),void 0!==t&&(h.pannable=t),void 0!==r&&(h.zoomable=r),void 0!==s&&(h.paneDefaults=s),void 0!==a&&(h.panes=a),void 0!==n&&(h.transitions=n),void 0!==o&&(h.seriesColors=o),void 0!==i&&(h.seriesDefaults=i),void 0!==l&&(h.axisDefaults=l),h=Object.assign(h,this.optionsStore.getState()),c&&(h=c(h)),h}refresh(){if(null!==this.chartInstance){const e=this.themeStore.getState(),t=this.getChartOptions(),r=t.transitions;this.suppressTransitions&&(t.transitions=!1),this.props.onRefresh?this.props.onRefresh.call(void 0,t,e,this.chartInstance):this.chartInstance.setOptions(t,e),this.suppressTransitions&&(t.transitions=r,this.suppressTransitions=!1)}}instantiateCoreChart(){const{dir:e,chartConstructor:t}=this.props,r=this.getChartOptions();this.chartInstance=new t(this.element,r,this.themeStore.getState(),{rtl:this.getDirection(e),intlService:s.provideIntlService(this),observer:this.chartObserver,sender:this})}trigger(e,t){const r=function(e,t,r){if(F[e])return new F[e](t,r)}(e,t,this.props.getTarget()),s="on"+e.charAt(0).toUpperCase()+e.slice(1),a=this.observersStore.getState();let n=!1;for(let r=0;r<a.length;r++)a[r].trigger(e,t)&&(n=!0);return!1===n&&r&&this.props.hasOwnProperty(s)?(this.props[s].call(void 0,r),r.isDefaultPrevented&&r.isDefaultPrevented()):n}requiresHandlers(e){for(let t=0;t<e.length;t++){const r=e[t],s="on"+r.charAt(0).toUpperCase()+r.slice(1);if(this.props.hasOwnProperty(s))return!0}return!1}triggerDomEvent(e,t){const r=this.observersStore.getState();let s=!1;for(let a=0;a<r.length;a++)r[a].trigger(e,t)&&(s=!0);return s}};ue.propTypes={dir:r.string,renderAs:r.oneOf(["svg","canvas"])},ue.defaultProps={renderAs:"svg"};let me=ue;s.registerForIntl(me);const ve=class extends h.Component{constructor(e,t){super(e,t),this.context=null,this.state={donutCenterStyles:null},this.chartObserver=new a.InstanceObserver(this,{render:"onRender"}),t.observersStore.dispatch({type:"add",payload:this.chartObserver})}render(){const{render:e}=this.props,{donutCenterStyles:t}=this.state;let r=null;return e&&t&&(r=h.createElement("div",{className:"k-chart-donut-center",style:t},h.createElement(e,null))),r}onRender(e){var t;const r=null==(t=this.context)?void 0:t.optionsStore.getState().series,s=Array.isArray(r)?r[0]:null,a=e.sender._plotArea.charts;if(!s||"donut"!==s.type||0===a[0].points.length)return;const n=a[0].points[0].sector,o=n.innerRadius,i=n.center.y-o,l=n.center.x-o,c=2*o;this.setState({donutCenterStyles:{height:c,left:l,top:i,width:c}})}};ve.contextType=G;let ye=ve,ge=class extends h.Component{constructor(){super(...arguments),this._baseChart=null,this.getTarget=()=>this}get chartInstance(){return null!==this._baseChart?this._baseChart.chartInstance:null}get surface(){return null!==this._baseChart?this._baseChart.surface:null}get element(){return null!==this._baseChart?this._baseChart.element:null}render(){const{donutCenterRender:e,children:t,className:r,...s}=this.props;return h.createElement(me,{...s,ref:e=>this._baseChart=e,chartConstructor:a.Chart,getTarget:this.getTarget,wrapper:"div",className:n.classNames("k-chart k-widget",r)},t,h.createElement(ye,{render:e}))}},Ce=class extends h.Component{constructor(){super(...arguments),this._baseChart=null,this.deriveOptionsFromParent=e=>{const{type:t,data:r}=this.props,s=Object.assign({},e,{type:t,data:r});return a.Sparkline.normalizeOptions(s)},this.getTarget=()=>this}get chartInstance(){return null!==this._baseChart?this._baseChart.chartInstance:null}get surface(){return null!==this._baseChart?this._baseChart.surface:null}get element(){return null!==this._baseChart?this._baseChart.element:null}render(){const{children:e,type:t,className:r,...s}=this.props;return h.createElement(me,{...s,ref:e=>this._baseChart=e,chartConstructor:a.Sparkline,getTarget:this.getTarget,wrapper:"span",deriveOptionsFromParent:this.deriveOptionsFromParent,className:n.classNames("k-sparkline k-widget",r)},e)}};const fe={autoBindElements:!0,liveDrag:!1,partialRedraw:!0};let be=class extends h.Component{constructor(){super(...arguments),this._baseChart=null,this.deriveOptionsFromParent=e=>{const t=Object.assign({},e.navigator||{},fe);return Object.assign({},e,{navigator:t})},this.onRefresh=(e,t,r)=>{this.props.partialRedraw?(r.applyOptions(e),r.bindCategories(),r.navigator.redrawSlaves()):r.setOptions(e,t)},this.getTarget=()=>this}get chartInstance(){return null!==this._baseChart?this._baseChart.chartInstance:null}get surface(){return null!==this._baseChart?this._baseChart.surface:null}get element(){return null!==this._baseChart?this._baseChart.element:null}render(){const{children:e,className:t,...r}=this.props;return h.createElement(me,{...r,ref:e=>this._baseChart=e,chartConstructor:a.StockChart,getTarget:this.getTarget,wrapper:"div",deriveOptionsFromParent:this.deriveOptionsFromParent,onRefresh:this.onRefresh,className:n.classNames("k-stockchart k-widget",t)},e)}};const xe=class extends h.Component{constructor(e,t){super(e,t),this.optionsStore=t.optionsStore}renderChildren(e,t){const{children:r}=e.props,{_chartKey:s,_parentStore:a}=this.props,n={...e.props,_chartCollectionIdxKey:`${s}_${t}`,_parentStore:a};return h.cloneElement(e,n,r)}render(){const{_chartKey:e,_parentStore:t,children:r}=this.props;return(t||this.optionsStore).dispatch({chartKey:e,payload:[]}),h.Children.map(r,((e,t)=>h.isValidElement(e)?this.renderChildren(e,t):e))}};xe.contextType=G;let Se=xe;const Ee=class extends h.Component{constructor(e,t){super(e,t),this.optionsStore=t.optionsStore,this.childStore=U(B)}render(){const{children:e}=this.props;return void 0!==e?h.Children.map(e,(e=>h.isValidElement(e)?this.renderChildren(e):e)):null}componentDidMount(){this.dispatch()}componentDidUpdate(){this.dispatch()}dispatch(){const{_chartKey:e,_chartCollectionIdxKey:t,_parentStore:r,children:s,...a}=this.props;(r||this.optionsStore).dispatch({chartKey:e,chartCollectionIdxKey:t,payload:Object.assign({},a,this.childStore.getState())})}renderChildren(e){const{children:t}=e.props,r={...e.props,_parentStore:this.childStore};return h.cloneElement(e,r,t)}};Ee.contextType=G;let ke=Ee,Ie=class{constructor(e){this.currentState=e.currentState,this.nextState=e.nextState}};const we=h.forwardRef(((e,t)=>{const r=h.useRef(null),s=h.useRef(null),a={valueField:_e.valueField,textField:_e.textField,iconField:_e.iconField,iconClassField:_e.iconClassField,...e};h.useImperativeHandle(r,(()=>({element:s.current,props:a}))),h.useImperativeHandle(t,(()=>r.current));let o=[{id:"0",...e.rootItem||{text:"Home",icon:h.createElement(n.SvgIcon,{icon:l.homeIcon,style:{marginInlineEnd:"4px"}})}}];e.drilldownState&&(o=[...o,...e.drilldownState.steps.map(((e,t)=>({id:(t+1).toString(),text:e.drilldownValue})))]);const c={...a,data:o};return h.createElement("div",null,h.createElement(i.Breadcrumb,{...c,onItemSelect:t=>{var r;const s="onDrilldownStateChange";if(e.hasOwnProperty(s)){const a=o.findIndex((e=>e.id===t.id)),n={steps:((null==(r=e.drilldownState)?void 0:r.steps)||[]).slice(0,a)},i=new Ie({currentState:e.drilldownState,nextState:n});e[s].call(void 0,i)}}}))})),Ne={id:r.string,style:r.object,className:r.string,breadcrumbOrderedList:r.elementType,breadcrumbListItem:r.elementType,breadcrumbDelimiter:r.elementType,breadcrumbLink:r.elementType,dir:r.oneOf(["ltr","rtl"]),disabled:r.bool,valueField:r.string,textField:r.string,iconField:r.string,iconClassField:r.string,onItemSelect:r.func,ariaLabel:r.string,onDrilldownStateChange:r.func,drilldownState:r.shape({steps:r.array}),rootItem:r.object},_e={valueField:"id",textField:"text",iconField:"icon",iconClassField:"iconClass",data:[]};we.displayName="KendoReactChartBreadcrumb",we.propTypes=Ne;const De="charts.nodata",Te={[De]:"No data available."},Ae=e=>{const t=s.useLocalization();return h.createElement("div",{className:n.classNames("k-chart-overlay",e.className),style:{display:"none",...e.style}},h.createElement("div",{className:"k-no-data"},void 0===e.children?t.toLanguageString(De,Te[De]):e.children))};Ae.displayName="ChartNoDataOverlay";const Oe=e=>h.createElement(ke,{...e,_chartKey:"title"});Oe.displayName="ChartAxisDefaultsTitle";const Ke=e=>h.createElement(ke,{...e,_chartKey:"labels"});Ke.displayName="ChartAxisDefaultsLabels";const Le=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"crosshair"});Le.displayName="ChartAxisDefaultsCrosshair";const Re=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"tooltip"});Re.displayName="ChartAxisDefaultsCrosshairTooltip";const Pe=e=>h.createElement(ke,{...e,_chartKey:"title"});Pe.displayName="ChartCategoryAxisTitle";const Fe=e=>h.createElement(ke,{...e,_chartKey:"title"});Fe.displayName="ChartPaneDefaultsTitle";const qe=e=>h.createElement(ke,{...e,_chartKey:"item"});qe.displayName="ChartLegendItem";const je=e=>h.createElement(ke,{...e,_chartKey:"title"});je.displayName="ChartLegendTitle";const Ve=e=>h.createElement(ke,{...e,_chartKey:"inactiveItems"});Ve.displayName="ChartLegendInactiveItems";const He=e=>h.createElement(ke,{...e,_chartKey:"title"});He.displayName="ChartValueAxisTitle";const Me=e=>h.createElement(ke,{...e,_chartKey:"title"});Me.displayName="ChartXAxisTitle";const ze=e=>h.createElement(ke,{...e,_chartKey:"title"});ze.displayName="ChartYAxisTitle";const Ue=e=>h.createElement(ke,{...e,_chartKey:"categoryAxis"});Ue.displayName="ChartNavigatorCategoryAxis";const Be=e=>h.createElement(ke,{...e,_chartKey:"pane"});Be.displayName="ChartNavigatorPane";const $e=e=>h.createElement(ke,{...e});$e.displayName="ChartNavigatorSeriesItem";const We=e=>h.createElement(Se,{...e,_chartKey:"series"});We.propTypes={children:function(e,t,r){return p(e,t,r,$e)}};const Xe=e=>h.createElement(ke,{...e,_chartKey:"chartArea"});Xe.displayName="ChartArea";const Ye=e=>h.createElement(ke,{...e});Ye.displayName="ChartCategoryAxisItem";const Ze=e=>h.createElement(Se,{...e,_chartKey:"categoryAxis"});Ze.propTypes={children:function(e,t,r){return p(e,t,r,Ye)}},Ze.displayName="ChartCategoryAxis";const Ge=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"legend"});Ge.displayName="ChartLegend";const Je=e=>h.createElement(ke,{visible:!0,position:"bottom",...e,_chartKey:"navigator"});Je.displayName="ChartNavigator";const Qe=e=>h.createElement(ke,{...e});Qe.displayName="ChartPane";const et=e=>h.createElement(ke,{...e,_chartKey:"paneDefaults"});et.displayName="ChartPaneDefaults";const tt=e=>h.createElement(Se,{...e,_chartKey:"panes"});tt.propTypes={children:function(e,t,r){return p(e,t,r,Qe)}};const rt=e=>{let t=e=>h.createElement(h.Fragment,null);e.drilldownSeriesFactory&&(t=e.drilldownSeriesFactory);const r=t=>{var r,s;return t&&(null==(s=null==(r=t.drilldownState)?void 0:r.steps)?void 0:s.find((({seriesName:t})=>t===e.name)))};return h.createElement(G.Consumer,null,(s=>r(s)?h.createElement(t,{_chartCollectionIdxKey:e._chartCollectionIdxKey,drilldownValue:r(s).drilldownValue}):h.createElement(ke,{...e})))};rt.displayName="ChartSeriesItem";const st=e=>h.createElement(Se,{...e,_chartKey:"series"});st.propTypes={children:function(e,t,r){return p(e,t,r,rt)}},st.displayName="ChartSeries";const at=e=>h.createElement(ke,{...e,_chartKey:"subtitle"});at.displayName="ChartSubtitle";const nt=e=>h.createElement(ke,{...e,_chartKey:"title"});nt.displayName="ChartTitle";const ot=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"tooltip"});ot.displayName="ChartTooltip";const it=e=>h.createElement(ke,{...e});it.displayName="ChartValueAxisItem";const lt=e=>h.createElement(Se,{...e,_chartKey:"valueAxis"});lt.propTypes={children:function(e,t,r){return p(e,t,r,it)}},lt.displayName="ChartValueAxis";const ct=e=>h.createElement(ke,{...e});ct.displayName="ChartXAxisItem";const ht=e=>h.createElement(Se,{...e,_chartKey:"xAxis"});ht.prototype={children:function(e,t,r){return p(e,t,r,ct)}},ht.displayName="ChartXAxis";const dt=e=>h.createElement(ke,{...e});dt.displayName="ChartYAxisItem";const pt=e=>h.createElement(Se,{...e,_chartKey:"yAxis"});pt.propTypes={children:function(e,t,r){return p(e,t,r,dt)}},pt.displayName="ChartYAxis";const ut=e=>`${e.fontWeight} ${e.fontSize} ${e.fontFamily}`,mt=e=>window.getComputedStyle(e).backgroundColor,vt=`\n <div class="k-var--background"></div>\n <div class="k-var--normal-text-color"></div>\n <div class="k-var--kendo-color-subtle"></div>\n\n <div class="k-widget k-chart">\n <div class="k-var--chart-font"></div>\n <div class="k-var--chart-title-font"></div>\n </div>\n <div class="k-var--series-unset"></div>\n <div class="k-var--series">\n ${(()=>{let e='\n <div class="k-var--series-a"></div>\n <div class="k-var--series-b"></div>\n <div class="k-var--series-c"></div>\n <div class="k-var--series-d"></div>\n <div class="k-var--series-e"></div>\n <div class="k-var--series-f"></div>\n';for(let t=0;t<30;t++)e+=`\n <div class="k-var--series-${t+1}"></div>`;return e})()}\n </div>\n`;let yt=class{constructor(e){this.store=e}setStyle(e,t){const r=e.split(".");let s=this.store;r.forEach(((e,t,r)=>{t<r.length-1&&(s=s[e]=s[e]||{})}));const a=r.pop();a&&(s[a]=t)}setColors(){this.mapColor("labels.color","normal-text-color"),this.mapColor("labels.stroke.color","background");this.element.querySelector(".k-var--kendo-color-subtle").style.color="var(--kendo-color-subtle)",this.mapColor("links.color","kendo-color-subtle","color"),this.mapColor("legend.labels.color","normal-text-color"),this.mapColor("title.color","normal-text-color")}setFonts(){const e=ut(this.queryStyle("chart-title-font")),t=ut(this.queryStyle("chart-font"));this.setStyle("title.font",e),this.setStyle("labels.font",t),this.setStyle("legend.labels.font",t)}setNodeColors(){const e=this.element;if(!e)return;const t=[].slice.call(e.querySelectorAll(".k-var--series div")),r=mt(e.querySelector(".k-var--series-unset")),s=t.reduce(((e,t)=>{const s=(e=>{const t=e.match(/series-([a-z])$/);if(null!==t)return(e=>e.toLowerCase().charCodeAt(0)-97)(t[1]);const r=e.split("--series-")[1];return parseInt(r,10)-1})(t.className),a=mt(t);return a!==r&&(e[s]=a),e}),[]);this.setStyle("nodeColors",s)}mapColor(e,t,r="backgroundColor"){this.setStyle(e,this.queryStyle(t)[r])}queryStyle(e){const t=this.element;return window.getComputedStyle(t.querySelector(`.k-var--${e}`))}};const gt=(e,t)=>{const r={nodeColors:[]},s=new yt(r),a=s.element=e.createElement("div");a.style.display="none",a.innerHTML=vt,e.body.appendChild(a);try{s.setColors(),s.setFonts(),s.setNodeColors()}finally{e.body.removeChild(s.element),s.element=null,t(r)}},Ct=r.exact({left:r.number,top:r.number}),ft={left:r.number,right:r.number},bt={...ft,top:r.number,bottom:r.number},xt=r.oneOfType([r.number,r.exact(bt)]),St=xt,Et=r.exact({width:r.number,color:r.string,opacity:r.number,dashType:r.string}),kt={visible:r.bool,font:r.string,color:r.string,opacity:r.number,align:r.oneOf(["left","right","center"]),position:r.oneOf(["inside","before","after"]),padding:St,margin:r.exact(ft),border:Et,offset:Ct},It={color:r.string,opacity:r.number,offset:Ct,padding:r.number,width:r.number},wt={colorType:r.oneOf(["static","source","target"]),color:r.string,opacity:r.number,highlight:r.exact({opacity:r.number,inactiveOpacity:r.number})},Nt=r.exact({text:r.string,...kt}),_t=r.exact({id:r.oneOfType([r.string,r.number]).isRequired,label:Nt.isRequired,...It}),Dt=r.exact({sourceId:r.oneOfType([r.string,r.number]).isRequired,targetId:r.oneOfType([r.string,r.number]).isRequired,value:r.number.isRequired,...wt}),Tt={data:r.exact({nodes:r.arrayOf(_t.isRequired).isRequired,links:r.arrayOf(Dt.isRequired).isRequired}).isRequired,links:r.exact(wt),nodes:r.exact(It),labels:r.exact(kt),legend:r.exact({align:r.oneOf(["start","center","end"]),background:r.string,border:Et,height:r.number,labels:r.object,margin:xt,offsetX:r.number,offsetY:r.number,orientation:r.oneOf(["vertical","horizontal"]),padding:St,position:r.oneOf(["top","bottom","left","right","custom"]),reverse:r.bool,visible:r.bool,width:r.number,item:r.object,title:r.object}),title:r.exact({align:r.oneOf(["center","left","right"]),background:r.string,border:Et,color:r.string,font:r.string,margin:xt,padding:St,position:r.oneOf(["top","bottom"]),text:r.string,visible:r.bool}),tooltip:r.exact({visible:r.bool,offset:r.number,followPointer:r.bool,delay:r.number,linkComponent:r.any,nodeComponent:r.any}),className:r.string,style:r.object,dir:r.string,disableAutoLayout:r.bool,disableKeyboardNavigation:r.bool,onNodeEnter:r.func,onNodeLeave:r.func,onLinkEnter:r.func,onLinkLeave:r.func,onNodeClick:r.func,onLinkClick:r.func},At="sankey.tooltipUnitFormat",Ot={[At]:"({0} units)"},Kt=e=>{const{Content:t,dir:r,offset:s,event:{tooltipData:a,dataItem:n,nodeValue:o}}=e,i=h.useRef(null);return h.useEffect((()=>{const e=i.current;if(!a||!e)return;const t=e.offsetWidth,r=e.offsetHeight,n={...a.popupOffset},o=a.popupAlign;n.left+="left"===o.horizontal?s:-1*s,"right"===o.horizontal&&(n.left-=t),"bottom"===o.vertical?n.top-=r+s:n.top+=s,e.style.left=`${n.left}px`,e.style.top=`${n.top}px`,e.style.visibility=""}),[a]),h.createElement("div",{ref:i,style:{visibility:"hidden"},dir:r,className:"k-tooltip k-sankey-tooltip k-chart-tooltip k-chart-shared-tooltip"},h.createElement("div",{className:"k-tooltip-content"},h.createElement(t,{dir:r,dataItem:n,nodeValue:o})))},Lt={display:"flex",alignItems:"center"},Rt=e=>h.createElement("div",{style:{width:15,height:15,backgroundColor:e.color,display:"inline-flex",marginLeft:3}}),Pt=e=>h.createElement("span",{style:{margin:"0 3px"}},e.children),Ft=e=>s.useInternationalization().format(s.useLocalization().toLanguageString(At,Ot[At]),[e||0]),qt=e=>{const{color:t,label:r}=e.dataItem;return h.createElement("div",{style:Lt,className:"k-tooltip-content"},h.createElement(Rt,{color:t}),h.createElement(Pt,null,r.text),h.createElement(Pt,null,Ft(e.nodeValue)))},jt=e=>{const{source:t,target:r,value:s}=e.dataItem,a="rtl"===e.dir?l.arrowLeftIcon:l.arrowRightIcon;return h.createElement("div",{style:Lt},h.createElement(Rt,{color:t.color}),h.createElement(Pt,null,t.label.text),h.createElement(n.IconWrap,{icon:a,name:a.name}),h.createElement(Rt,{color:r.color}),h.createElement(Pt,null,r.label.text),h.createElement(Pt,null,Ft(s)))},Vt=12,Ht={offset:Vt,visible:!0},Mt=["nodeEnter","nodeLeave","linkEnter","linkLeave","nodeClick","linkClick"],zt=h.forwardRef(((e,t)=>{n.validatePackage(pe);const r=h.useRef(null),s=h.useRef(null),o=n.useRtl(r,e.dir,[e.dir,r.current]),i=h.useRef(null),{data:l,links:c,nodes:d,labels:p,title:u,legend:m,tooltip:v=Ht,disableAutoLayout:y,disableKeyboardNavigation:g}=e,C=h.useRef();C.current=e;const[f,b]=h.useState(null),x=h.useCallback((e=>{const{visible:t,offset:r=Vt,nodeComponent:s=qt,linkComponent:a=jt}={...Ht,...v};if(t){const t={event:e,offset:r,dir:o,Content:"node"===e.targetType?s:a};b(t)}}),[v,o]),S=h.useCallback((()=>{b(null)}),[]),E=h.useCallback(((e,t)=>{const r=C.current[e];if(r){const e={...t,nativeEvent:t.originalEvent,target:i.current};r.call(void 0,e)}}),[]);return h.useEffect((()=>{const e={data:l,links:c,nodes:d,labels:p,title:u,legend:m,disableAutoLayout:y,disableKeyboardNavigation:g,rtl:"rtl"===o,tooltip:{...Ht,...v}};return s.current?s.current.setOptions(e):n.canUseDOM&&r.current&>(r.current.ownerDocument,(t=>{s.current=new a.Sankey(r.current,e,t),((e,t)=>{e&&(e.unbind(),Mt.forEach((r=>{t[r]&&e.bind(r,t[r])})))})(s.current,{nodeEnter:e=>{E("onNodeEnter",e)},nodeLeave:e=>{E("onNodeLeave",e)},linkEnter:e=>{E("onLinkEnter",e)},linkLeave:e=>{E("onLinkLeave",e)},nodeClick:e=>{E("onNodeClick",e)},linkClick:e=>{E("onLinkClick",e)}}),s.current.bind("tooltipShow",x),s.current.bind("tooltipHide",S)})),()=>{s.current&&(s.current.destroy(),s.current=null)}}),[l,c,d,p,u,m,y,g,o,v,S,x,E]),h.useImperativeHandle(i,(()=>({get element(){return r.current},exportVisual:e=>s.current.exportVisual(e),props:e})),[]),h.useImperativeHandle(t,(()=>i.current)),h.createElement(h.Fragment,null,h.createElement("div",{ref:r,className:e.className,style:e.style,dir:o}),f&&h.createElement(Kt,{...f}))}));zt.propTypes=Tt,zt.displayName="KendoReactSankey";const Ut=a.createSankeyData;e.AxisLabelClickEvent=v,e.Chart=ge,e.ChartArea=Xe,e.ChartAxisDefaults=e=>h.createElement(ke,{...e,_chartKey:"axisDefaults"}),e.ChartAxisDefaultsCrosshair=Le,e.ChartAxisDefaultsCrosshairTooltip=Re,e.ChartAxisDefaultsLabels=Ke,e.ChartAxisDefaultsTitle=Oe,e.ChartBreadcrumb=we,e.ChartCategoryAxis=Ze,e.ChartCategoryAxisCrosshair=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"crosshair"}),e.ChartCategoryAxisCrosshairTooltip=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"tooltip"}),e.ChartCategoryAxisItem=Ye,e.ChartCategoryAxisLabels=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"labels"}),e.ChartCategoryAxisNotes=e=>h.createElement(ke,{...e,_chartKey:"notes"}),e.ChartCategoryAxisNotesIcon=e=>h.createElement(ke,{...e,_chartKey:"icon"}),e.ChartCategoryAxisNotesLabel=e=>h.createElement(ke,{...e,_chartKey:"label"}),e.ChartCategoryAxisRangeLabels=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"rangeLabels"}),e.ChartCategoryAxisTitle=Pe,e.ChartLegend=Ge,e.ChartLegendInactiveItems=Ve,e.ChartLegendItem=qe,e.ChartLegendTitle=je,e.ChartNavigator=Je,e.ChartNavigatorCategoryAxis=Ue,e.ChartNavigatorHint=e=>h.createElement(ke,{...e,_chartKey:"hint"}),e.ChartNavigatorPane=Be,e.ChartNavigatorSelect=e=>h.createElement(ke,{...e,_chartKey:"select"}),e.ChartNavigatorSeries=We,e.ChartNavigatorSeriesItem=$e,e.ChartNoDataOverlay=Ae,e.ChartPane=Qe,e.ChartPaneDefaults=et,e.ChartPaneDefaultsTitle=Fe,e.ChartPanes=tt,e.ChartPlotArea=e=>h.createElement(ke,{...e,_chartKey:"plotArea"}),e.ChartSeries=st,e.ChartSeriesDefaults=e=>h.createElement(ke,{...e,_chartKey:"seriesDefaults"}),e.ChartSeriesErrorBars=e=>h.createElement(ke,{...e,_chartKey:"errorBars"}),e.ChartSeriesExtremes=e=>h.createElement(ke,{...e,_chartKey:"extremes"}),e.ChartSeriesHighlight=e=>h.createElement(ke,{...e,_chartKey:"highlight"}),e.ChartSeriesItem=rt,e.ChartSeriesItemOutliers=e=>h.createElement(ke,{...e,_chartKey:"outliers"}),e.ChartSeriesItemTooltip=e=>h.createElement(ke,{...e,_chartKey:"tooltip"}),e.ChartSeriesLabels=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"labels"}),e.ChartSeriesLabelsFrom=e=>h.createElement(ke,{...e,_chartKey:"from"}),e.ChartSeriesLabelsTo=e=>h.createElement(ke,{...e,_chartKey:"to"}),e.ChartSeriesMarkers=e=>h.createElement(ke,{...e,_chartKey:"markers"}),e.ChartSeriesNotes=e=>h.createElement(ke,{...e,_chartKey:"notes"}),e.ChartSeriesNotesIcon=e=>h.createElement(ke,{...e,_chartKey:"icon"}),e.ChartSeriesNotesLabel=e=>h.createElement(ke,{...e,_chartKey:"label"}),e.ChartSubtitle=at,e.ChartTitle=nt,e.ChartTooltip=ot,e.ChartValueAxis=lt,e.ChartValueAxisCrosshair=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"crosshair"}),e.ChartValueAxisCrosshairTooltip=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"tooltip"}),e.ChartValueAxisItem=it,e.ChartValueAxisLabels=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"labels"}),e.ChartValueAxisNotes=e=>h.createElement(ke,{...e,_chartKey:"notes"}),e.ChartValueAxisNotesIcon=e=>h.createElement(ke,{...e,_chartKey:"icon"}),e.ChartValueAxisNotesLabel=e=>h.createElement(ke,{...e,_chartKey:"label"}),e.ChartValueAxisTitle=He,e.ChartXAxis=ht,e.ChartXAxisCrosshair=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"crosshair"}),e.ChartXAxisCrosshairTooltip=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"tooltip"}),e.ChartXAxisItem=ct,e.ChartXAxisLabels=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"labels"}),e.ChartXAxisNotes=e=>h.createElement(ke,{...e,_chartKey:"notes"}),e.ChartXAxisNotesIcon=e=>h.createElement(ke,{...e,_chartKey:"icon"}),e.ChartXAxisNotesLabel=e=>h.createElement(ke,{...e,_chartKey:"label"}),e.ChartXAxisTitle=Me,e.ChartYAxis=pt,e.ChartYAxisCrosshair=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"crosshair"}),e.ChartYAxisCrosshairTooltip=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"tooltip"}),e.ChartYAxisItem=dt,e.ChartYAxisLabels=e=>h.createElement(ke,{visible:!0,...e,_chartKey:"labels"}),e.ChartYAxisNotes=e=>h.createElement(ke,{...e,_chartKey:"notes"}),e.ChartYAxisNotesIcon=e=>h.createElement(ke,{...e,_chartKey:"icon"}),e.ChartYAxisNotesLabel=e=>h.createElement(ke,{...e,_chartKey:"label"}),e.ChartYAxisTitle=ze,e.ChartZoomable=e=>h.createElement(ke,{...e,_chartKey:"zoomable"}),e.CollectionConfigurationComponent=Se,e.ConfigurationComponent=ke,e.CrosshairTooltip=oe,e.CrosshairTooltipContainer=de,e.DonutCenter=ye,e.DragEndEvent=C,e.DragEvent=g,e.DragStartEvent=f,e.DrilldownEvent=b,e.DrilldownStateChangeEvent=Ie,e.LegendItemClickEvent=S,e.LegendItemHoverEvent=x,e.NavigatorFilterEvent=E,e.NoteClickEvent=k,e.NoteHoverEvent=I,e.PlotAreaClickEvent=w,e.PlotAreaHoverEvent=N,e.RenderEvent=_,e.Sankey=zt,e.SelectEndEvent=T,e.SelectEvent=D,e.SelectStartEvent=A,e.SeriesClickEvent=O,e.SeriesHoverEvent=K,e.SeriesTooltip=se,e.SharedTooltipContent=Z,e.Sparkline=Ce,e.StockChart=be,e.TooltipPoint=Y,e.TooltipPopup=te,e.ZoomEndEvent=R,e.ZoomEvent=L,e.ZoomStartEvent=P,e.createSankeyData=Ut,e.exportVisual=(e,t={})=>{if(e&&null!==e.chartInstance)return e.chartInstance.exportVisual(t)},e.findAxisByName=(e,t)=>{if(e&&null!==e.chartInstance)return e.chartInstance.findAxisByName(t)},e.findPaneByIndex=(e,t)=>{if(e&&null!==e.chartInstance)return e.chartInstance.findPaneByIndex(t)},e.findPaneByName=(e,t)=>{if(e&&null!==e.chartInstance)return e.chartInstance.findPaneByName(t)}}));
|
package/index.d.mts
CHANGED
|
@@ -9,10 +9,14 @@ import { Align } from '@progress/kendo-react-popup';
|
|
|
9
9
|
import { BaseEvent as BaseEvent_2 } from '@progress/kendo-react-common';
|
|
10
10
|
import { BreadcrumbProps } from '@progress/kendo-react-layout';
|
|
11
11
|
import { createSankeyData as createSankeyData_2 } from '@progress/kendo-charts';
|
|
12
|
+
import { CrosshatchPattern } from '@progress/kendo-charts';
|
|
12
13
|
import { DataModel } from '@progress/kendo-react-layout';
|
|
14
|
+
import { DiagonalStripesPattern } from '@progress/kendo-charts';
|
|
15
|
+
import { DotsPattern } from '@progress/kendo-charts';
|
|
13
16
|
import { drawing } from '@progress/kendo-drawing';
|
|
14
17
|
import { Element as Element_2 } from '@progress/kendo-drawing';
|
|
15
18
|
import { geometry } from '@progress/kendo-drawing';
|
|
19
|
+
import { GridPattern } from '@progress/kendo-charts';
|
|
16
20
|
import { Group } from '@progress/kendo-drawing';
|
|
17
21
|
import { InstanceObserver } from '@progress/kendo-charts';
|
|
18
22
|
import { JSX as JSX_2 } from 'react/jsx-runtime';
|
|
@@ -35,7 +39,9 @@ import { SankeyNodeDefaults } from '@progress/kendo-charts';
|
|
|
35
39
|
import { SankeyOptions } from '@progress/kendo-charts';
|
|
36
40
|
import { SankeyTooltip as SankeyTooltip_2 } from '@progress/kendo-charts';
|
|
37
41
|
import { SankeyTooltipEvent } from '@progress/kendo-charts';
|
|
42
|
+
import { SeriesPattern } from '@progress/kendo-charts';
|
|
38
43
|
import { Surface } from '@progress/kendo-drawing';
|
|
44
|
+
import { VerticalStripesPattern } from '@progress/kendo-charts';
|
|
39
45
|
|
|
40
46
|
/**
|
|
41
47
|
* The provided time-interval steps when `baseUnit` is set to either `"fit"` or `"auto"`.
|
|
@@ -505,11 +511,11 @@ export declare interface AxisRange {
|
|
|
505
511
|
/**
|
|
506
512
|
* The axis minimum value.
|
|
507
513
|
*/
|
|
508
|
-
min:
|
|
514
|
+
min: number | Date;
|
|
509
515
|
/**
|
|
510
516
|
* The axis maximum value.
|
|
511
517
|
*/
|
|
512
|
-
max:
|
|
518
|
+
max: number | Date;
|
|
513
519
|
}
|
|
514
520
|
|
|
515
521
|
/**
|
|
@@ -2057,6 +2063,30 @@ export declare interface ChartNavigatorSeriesProps {
|
|
|
2057
2063
|
children?: React_2.ReactNode;
|
|
2058
2064
|
}
|
|
2059
2065
|
|
|
2066
|
+
/**
|
|
2067
|
+
* The KendoReact `ChartNoDataOverlay` component. The component is used to display an overlay with a message when the Chart has no data, no series, or all series are empty.
|
|
2068
|
+
* The overlay will be automatically cleared if the series receive data.
|
|
2069
|
+
*/
|
|
2070
|
+
export declare const ChartNoDataOverlay: React_2.FunctionComponent<any>;
|
|
2071
|
+
|
|
2072
|
+
/**
|
|
2073
|
+
* The props of the `ChartNoDataOverlay` component.
|
|
2074
|
+
*/
|
|
2075
|
+
export declare interface ChartNoDataOverlayProps {
|
|
2076
|
+
/**
|
|
2077
|
+
* The styles that are applied to the component.
|
|
2078
|
+
*/
|
|
2079
|
+
style?: React_2.CSSProperties;
|
|
2080
|
+
/**
|
|
2081
|
+
* Sets additional CSS classes to the component.
|
|
2082
|
+
*/
|
|
2083
|
+
className?: string;
|
|
2084
|
+
/**
|
|
2085
|
+
* The content of the overlay. If not set, the default message will be displayed.
|
|
2086
|
+
*/
|
|
2087
|
+
children?: React_2.ReactNode;
|
|
2088
|
+
}
|
|
2089
|
+
|
|
2060
2090
|
export declare const ChartPane: React_2.FunctionComponent<ChartPaneProps>;
|
|
2061
2091
|
|
|
2062
2092
|
export declare const ChartPaneDefaults: React_2.FunctionComponent<ChartPaneDefaultsProps>;
|
|
@@ -2727,6 +2757,8 @@ declare interface CrosshairTooltipState {
|
|
|
2727
2757
|
popupContend?: any;
|
|
2728
2758
|
}
|
|
2729
2759
|
|
|
2760
|
+
export { CrosshatchPattern }
|
|
2761
|
+
|
|
2730
2762
|
/**
|
|
2731
2763
|
* The dash line type.
|
|
2732
2764
|
*
|
|
@@ -2796,6 +2828,8 @@ export declare interface DateFormats {
|
|
|
2796
2828
|
years?: string;
|
|
2797
2829
|
}
|
|
2798
2830
|
|
|
2831
|
+
export { DiagonalStripesPattern }
|
|
2832
|
+
|
|
2799
2833
|
/**
|
|
2800
2834
|
* @hidden
|
|
2801
2835
|
*/
|
|
@@ -2851,6 +2885,8 @@ declare interface DonutCenterStyle {
|
|
|
2851
2885
|
width: number;
|
|
2852
2886
|
}
|
|
2853
2887
|
|
|
2888
|
+
export { DotsPattern }
|
|
2889
|
+
|
|
2854
2890
|
/**
|
|
2855
2891
|
* Configures the drag behavior during the pan and zoom operations.
|
|
2856
2892
|
*/
|
|
@@ -3138,6 +3174,8 @@ export declare interface GridLines {
|
|
|
3138
3174
|
width?: number;
|
|
3139
3175
|
}
|
|
3140
3176
|
|
|
3177
|
+
export { GridPattern }
|
|
3178
|
+
|
|
3141
3179
|
/**
|
|
3142
3180
|
* The appearance settings for the highlight line of the Candlestick and OHLC series.
|
|
3143
3181
|
*/
|
|
@@ -5300,6 +5338,15 @@ export declare interface Series {
|
|
|
5300
5338
|
* "`linearTrendline`", "`exponentialTrendline`", "`logarithmicTrendline`", "`powerTrendline`", "`polynomialTrendline`" or "`movingAverageTrendline`".
|
|
5301
5339
|
*/
|
|
5302
5340
|
trendline?: SeriesTrendline;
|
|
5341
|
+
/**
|
|
5342
|
+
* The configuration options of the series pattern.
|
|
5343
|
+
*/
|
|
5344
|
+
pattern?: SeriesPattern | ((point: any) => SeriesPattern);
|
|
5345
|
+
/**
|
|
5346
|
+
* The data item field which contains the series pattern.
|
|
5347
|
+
* The `patternField` option is supported when [`series.type`]({% slug api_charts_chartseriesitemprops %}#toc-type) is set to `"pie"`, `"donut"`, `"funnel"`, `"heatmap"`, or `"pyramid"`.
|
|
5348
|
+
*/
|
|
5349
|
+
patternField?: string;
|
|
5303
5350
|
}
|
|
5304
5351
|
|
|
5305
5352
|
/**
|
|
@@ -6506,6 +6553,8 @@ export declare interface SeriesOutliers {
|
|
|
6506
6553
|
type?: MarkerType;
|
|
6507
6554
|
}
|
|
6508
6555
|
|
|
6556
|
+
export { SeriesPattern }
|
|
6557
|
+
|
|
6509
6558
|
/**
|
|
6510
6559
|
* A series point.
|
|
6511
6560
|
*/
|
|
@@ -7772,6 +7821,8 @@ export declare interface ValueAxisTitle {
|
|
|
7772
7821
|
visual?: (e: TitleVisualArgs) => drawing.Element;
|
|
7773
7822
|
}
|
|
7774
7823
|
|
|
7824
|
+
export { VerticalStripesPattern }
|
|
7825
|
+
|
|
7775
7826
|
/**
|
|
7776
7827
|
* Specifies the `weekStartDay` of a [ChartCategoryAxisItem]({% slug api_charts_chartcategoryaxisitem %}).
|
|
7777
7828
|
*/
|