@progress/kendo-react-charts 9.4.0-develop.18 → 9.4.0-develop.2

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.
Files changed (274) hide show
  1. package/BaseChart.js +1 -1
  2. package/BaseChart.mjs +24 -29
  3. package/Chart.js +1 -1
  4. package/Chart.mjs +4 -3
  5. package/ChartBreadcrumb.js +1 -1
  6. package/ChartBreadcrumb.mjs +1 -0
  7. package/ChartContext.js +1 -1
  8. package/ChartContext.mjs +1 -0
  9. package/ChartNoDataOverlay.js +1 -1
  10. package/ChartNoDataOverlay.mjs +5 -4
  11. package/Container.js +1 -1
  12. package/Container.mjs +4 -3
  13. package/DonutCenter.js +1 -1
  14. package/DonutCenter.mjs +1 -0
  15. package/NOTICE.txt +51 -40
  16. package/Sparkline.js +1 -1
  17. package/Sparkline.mjs +1 -0
  18. package/StockChart.js +1 -1
  19. package/StockChart.mjs +1 -0
  20. package/components/AxisDefaults.js +1 -1
  21. package/components/AxisDefaults.mjs +1 -0
  22. package/components/CategoryAxis.js +1 -1
  23. package/components/CategoryAxis.mjs +11 -10
  24. package/components/CategoryAxisItem.js +1 -1
  25. package/components/CategoryAxisItem.mjs +1 -0
  26. package/components/ChartArea.js +1 -1
  27. package/components/ChartArea.mjs +5 -4
  28. package/components/Legend.js +1 -1
  29. package/components/Legend.mjs +4 -3
  30. package/components/Navigator.js +1 -1
  31. package/components/Navigator.mjs +1 -0
  32. package/components/Pane.js +1 -1
  33. package/components/Pane.mjs +4 -3
  34. package/components/PaneDefaults.js +1 -1
  35. package/components/PaneDefaults.mjs +6 -5
  36. package/components/Panes.js +1 -1
  37. package/components/Panes.mjs +5 -4
  38. package/components/PlotArea.js +1 -1
  39. package/components/PlotArea.mjs +4 -3
  40. package/components/Series.js +1 -1
  41. package/components/Series.mjs +6 -5
  42. package/components/SeriesDefaults.js +1 -1
  43. package/components/SeriesDefaults.mjs +1 -0
  44. package/components/SeriesItem.js +1 -1
  45. package/components/SeriesItem.mjs +1 -0
  46. package/components/Subtitle.js +1 -1
  47. package/components/Subtitle.mjs +1 -0
  48. package/components/Title.js +1 -1
  49. package/components/Title.mjs +1 -0
  50. package/components/Tooltip.js +1 -1
  51. package/components/Tooltip.mjs +4 -3
  52. package/components/ValueAxis.js +1 -1
  53. package/components/ValueAxis.mjs +11 -10
  54. package/components/ValueAxisItem.js +1 -1
  55. package/components/ValueAxisItem.mjs +3 -2
  56. package/components/XAxis.js +1 -1
  57. package/components/XAxis.mjs +6 -5
  58. package/components/XAxisItem.js +1 -1
  59. package/components/XAxisItem.mjs +1 -0
  60. package/components/YAxis.js +1 -1
  61. package/components/YAxis.mjs +10 -9
  62. package/components/YAxisItem.js +1 -1
  63. package/components/YAxisItem.mjs +1 -0
  64. package/components/Zoomable.js +1 -1
  65. package/components/Zoomable.mjs +4 -3
  66. package/components/axis-defaults/Crosshair.js +1 -1
  67. package/components/axis-defaults/Crosshair.mjs +3 -2
  68. package/components/axis-defaults/CrosshairTooltip.js +1 -1
  69. package/components/axis-defaults/CrosshairTooltip.mjs +3 -2
  70. package/components/axis-defaults/Labels.js +1 -1
  71. package/components/axis-defaults/Labels.mjs +6 -5
  72. package/components/axis-defaults/Title.js +1 -1
  73. package/components/axis-defaults/Title.mjs +1 -0
  74. package/components/base/CollectionConfigurationComponent.js +1 -1
  75. package/components/base/CollectionConfigurationComponent.mjs +13 -12
  76. package/components/base/ConfigurationComponent.js +1 -1
  77. package/components/base/ConfigurationComponent.mjs +1 -0
  78. package/components/category-axis-item/Crosshair.js +1 -1
  79. package/components/category-axis-item/Crosshair.mjs +5 -4
  80. package/components/category-axis-item/CrosshairTooltip.js +1 -1
  81. package/components/category-axis-item/CrosshairTooltip.mjs +4 -3
  82. package/components/category-axis-item/Labels.js +1 -1
  83. package/components/category-axis-item/Labels.mjs +1 -0
  84. package/components/category-axis-item/Notes.js +1 -1
  85. package/components/category-axis-item/Notes.mjs +5 -4
  86. package/components/category-axis-item/NotesIcon.js +1 -1
  87. package/components/category-axis-item/NotesIcon.mjs +1 -0
  88. package/components/category-axis-item/NotesLabel.js +1 -1
  89. package/components/category-axis-item/NotesLabel.mjs +3 -2
  90. package/components/category-axis-item/RangeLabels.js +1 -1
  91. package/components/category-axis-item/RangeLabels.mjs +1 -0
  92. package/components/category-axis-item/Title.js +1 -1
  93. package/components/category-axis-item/Title.mjs +1 -0
  94. package/components/legend/InactiveItems.js +1 -1
  95. package/components/legend/InactiveItems.mjs +1 -0
  96. package/components/legend/Item.js +1 -1
  97. package/components/legend/Item.mjs +1 -0
  98. package/components/legend/Title.js +1 -1
  99. package/components/legend/Title.mjs +1 -0
  100. package/components/navigator/CategoryAxis.js +1 -1
  101. package/components/navigator/CategoryAxis.mjs +1 -0
  102. package/components/navigator/Hint.js +1 -1
  103. package/components/navigator/Hint.mjs +4 -3
  104. package/components/navigator/Pane.js +1 -1
  105. package/components/navigator/Pane.mjs +1 -0
  106. package/components/navigator/Select.js +1 -1
  107. package/components/navigator/Select.mjs +1 -0
  108. package/components/navigator/Series.js +1 -1
  109. package/components/navigator/Series.mjs +1 -0
  110. package/components/navigator/SeriesItem.js +1 -1
  111. package/components/navigator/SeriesItem.mjs +3 -2
  112. package/components/pane-defaults/Title.js +1 -1
  113. package/components/pane-defaults/Title.mjs +1 -0
  114. package/components/series-item/ErrorBars.js +1 -1
  115. package/components/series-item/ErrorBars.mjs +4 -3
  116. package/components/series-item/Extremes.js +1 -1
  117. package/components/series-item/Extremes.mjs +1 -0
  118. package/components/series-item/Highlight.js +1 -1
  119. package/components/series-item/Highlight.mjs +4 -3
  120. package/components/series-item/Labels.js +1 -1
  121. package/components/series-item/Labels.mjs +1 -0
  122. package/components/series-item/LabelsFrom.js +1 -1
  123. package/components/series-item/LabelsFrom.mjs +4 -3
  124. package/components/series-item/LabelsTo.js +1 -1
  125. package/components/series-item/LabelsTo.mjs +3 -2
  126. package/components/series-item/Markers.js +1 -1
  127. package/components/series-item/Markers.mjs +3 -2
  128. package/components/series-item/Notes.js +1 -1
  129. package/components/series-item/Notes.mjs +3 -2
  130. package/components/series-item/NotesIcon.js +1 -1
  131. package/components/series-item/NotesIcon.mjs +4 -3
  132. package/components/series-item/NotesLabel.js +1 -1
  133. package/components/series-item/NotesLabel.mjs +1 -0
  134. package/components/series-item/Outliers.js +1 -1
  135. package/components/series-item/Outliers.mjs +3 -2
  136. package/components/series-item/Tooltip.js +1 -1
  137. package/components/series-item/Tooltip.mjs +1 -0
  138. package/components/value-axis-item/Crosshair.js +1 -1
  139. package/components/value-axis-item/Crosshair.mjs +4 -3
  140. package/components/value-axis-item/CrosshairTooltip.js +1 -1
  141. package/components/value-axis-item/CrosshairTooltip.mjs +4 -3
  142. package/components/value-axis-item/Labels.js +1 -1
  143. package/components/value-axis-item/Labels.mjs +1 -0
  144. package/components/value-axis-item/Notes.js +1 -1
  145. package/components/value-axis-item/Notes.mjs +5 -4
  146. package/components/value-axis-item/NotesIcon.js +1 -1
  147. package/components/value-axis-item/NotesIcon.mjs +3 -2
  148. package/components/value-axis-item/NotesLabel.js +1 -1
  149. package/components/value-axis-item/NotesLabel.mjs +1 -0
  150. package/components/value-axis-item/Title.js +1 -1
  151. package/components/value-axis-item/Title.mjs +1 -0
  152. package/components/x-axis-item/Crosshair.js +1 -1
  153. package/components/x-axis-item/Crosshair.mjs +4 -3
  154. package/components/x-axis-item/CrosshairTooltip.js +1 -1
  155. package/components/x-axis-item/CrosshairTooltip.mjs +4 -3
  156. package/components/x-axis-item/Labels.js +1 -1
  157. package/components/x-axis-item/Labels.mjs +1 -0
  158. package/components/x-axis-item/Notes.js +1 -1
  159. package/components/x-axis-item/Notes.mjs +4 -3
  160. package/components/x-axis-item/NotesIcon.js +1 -1
  161. package/components/x-axis-item/NotesIcon.mjs +3 -2
  162. package/components/x-axis-item/NotesLabel.js +1 -1
  163. package/components/x-axis-item/NotesLabel.mjs +3 -2
  164. package/components/x-axis-item/Title.js +1 -1
  165. package/components/x-axis-item/Title.mjs +1 -0
  166. package/components/y-axis-item/Crosshair.js +1 -1
  167. package/components/y-axis-item/Crosshair.mjs +4 -3
  168. package/components/y-axis-item/CrosshairTooltip.js +1 -1
  169. package/components/y-axis-item/CrosshairTooltip.mjs +4 -3
  170. package/components/y-axis-item/Labels.js +1 -1
  171. package/components/y-axis-item/Labels.mjs +1 -0
  172. package/components/y-axis-item/Notes.js +1 -1
  173. package/components/y-axis-item/Notes.mjs +4 -3
  174. package/components/y-axis-item/NotesIcon.js +1 -1
  175. package/components/y-axis-item/NotesIcon.mjs +3 -2
  176. package/components/y-axis-item/NotesLabel.js +1 -1
  177. package/components/y-axis-item/NotesLabel.mjs +3 -2
  178. package/components/y-axis-item/Title.js +1 -1
  179. package/components/y-axis-item/Title.mjs +1 -0
  180. package/dist/cdn/js/kendo-react-charts.js +1 -8
  181. package/events/axis-label-click-event.js +1 -1
  182. package/events/axis-label-click-event.mjs +1 -0
  183. package/events/base-event.js +1 -1
  184. package/events/base-event.mjs +3 -2
  185. package/events/chart-event-builder.js +1 -1
  186. package/events/chart-event-builder.mjs +5 -4
  187. package/events/dom-event.js +1 -1
  188. package/events/dom-event.mjs +8 -7
  189. package/events/drag-end-event.js +1 -1
  190. package/events/drag-end-event.mjs +5 -4
  191. package/events/drag-event.js +1 -1
  192. package/events/drag-event.mjs +3 -2
  193. package/events/drag-start-event.js +1 -1
  194. package/events/drag-start-event.mjs +1 -0
  195. package/events/drilldown-event.js +1 -1
  196. package/events/drilldown-event.mjs +1 -0
  197. package/events/drilldown-state-change-event.js +1 -1
  198. package/events/drilldown-state-change-event.mjs +1 -0
  199. package/events/legend-item-click-event.js +1 -1
  200. package/events/legend-item-click-event.mjs +1 -0
  201. package/events/legend-item-hover-event.js +1 -1
  202. package/events/legend-item-hover-event.mjs +1 -0
  203. package/events/legend-item-leave-event.js +1 -1
  204. package/events/legend-item-leave-event.mjs +1 -0
  205. package/events/navigator-filter-event.js +1 -1
  206. package/events/navigator-filter-event.mjs +1 -0
  207. package/events/note-click-event.js +1 -1
  208. package/events/note-click-event.mjs +1 -0
  209. package/events/note-hover-event.js +1 -1
  210. package/events/note-hover-event.mjs +3 -2
  211. package/events/plot-area-click-event.js +1 -1
  212. package/events/plot-area-click-event.mjs +1 -0
  213. package/events/plot-area-hover-event.js +1 -1
  214. package/events/plot-area-hover-event.mjs +4 -3
  215. package/events/preventable-event.js +1 -1
  216. package/events/preventable-event.mjs +1 -0
  217. package/events/render-event.js +1 -1
  218. package/events/render-event.mjs +3 -2
  219. package/events/select-end-event.js +1 -1
  220. package/events/select-end-event.mjs +3 -2
  221. package/events/select-event.js +1 -1
  222. package/events/select-event.mjs +5 -4
  223. package/events/select-start-event.js +1 -1
  224. package/events/select-start-event.mjs +3 -2
  225. package/events/series-click-event.js +1 -1
  226. package/events/series-click-event.mjs +1 -0
  227. package/events/series-hover-event.js +1 -1
  228. package/events/series-hover-event.mjs +1 -0
  229. package/events/zoom-end-event.js +1 -1
  230. package/events/zoom-end-event.mjs +6 -5
  231. package/events/zoom-event.js +1 -1
  232. package/events/zoom-event.mjs +1 -0
  233. package/events/zoom-start-event.js +1 -1
  234. package/events/zoom-start-event.mjs +3 -2
  235. package/index.js +1 -2
  236. package/messages.js +1 -1
  237. package/messages.mjs +1 -0
  238. package/methods/index.js +1 -1
  239. package/methods/index.mjs +10 -9
  240. package/package-metadata.js +1 -1
  241. package/package-metadata.mjs +3 -2
  242. package/package.json +7 -7
  243. package/sankey/Sankey.js +1 -1
  244. package/sankey/Sankey.mjs +23 -25
  245. package/sankey/SankeyTooltip.js +1 -1
  246. package/sankey/SankeyTooltip.mjs +8 -7
  247. package/sankey/messages.js +1 -1
  248. package/sankey/messages.mjs +1 -0
  249. package/sankey/propTypes.js +1 -1
  250. package/sankey/propTypes.mjs +1 -0
  251. package/sankey/theme-service.js +29 -0
  252. package/sankey/theme-service.mjs +100 -0
  253. package/sankey/utils.js +1 -1
  254. package/sankey/utils.mjs +1 -0
  255. package/store/reducer.js +1 -1
  256. package/store/reducer.mjs +4 -3
  257. package/store/store.js +1 -1
  258. package/store/store.mjs +1 -0
  259. package/theming/theme-service.js +51 -0
  260. package/theming/theme-service.mjs +122 -0
  261. package/tooltip/Crosshair.js +1 -1
  262. package/tooltip/Crosshair.mjs +7 -6
  263. package/tooltip/CrosshairContainer.js +1 -1
  264. package/tooltip/CrosshairContainer.mjs +1 -0
  265. package/tooltip/Point.js +1 -1
  266. package/tooltip/Point.mjs +5 -4
  267. package/tooltip/Popup.js +1 -1
  268. package/tooltip/Popup.mjs +7 -6
  269. package/tooltip/Series.js +1 -1
  270. package/tooltip/Series.mjs +19 -18
  271. package/tooltip/SharedTooltipContent.js +1 -1
  272. package/tooltip/SharedTooltipContent.mjs +1 -0
  273. package/utils/index.js +1 -1
  274. package/utils/index.mjs +10 -9
package/sankey/Sankey.mjs CHANGED
@@ -5,13 +5,15 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  import * as t from "react";
9
- import { sankeyTheme as w, Sankey as H } from "@progress/kendo-charts";
10
- import { validatePackage as D, useRtl as I, canUseDOM as K } from "@progress/kendo-react-common";
10
+ import { Sankey as O } from "@progress/kendo-charts";
11
+ import { loadTheme as D } from "./theme-service.mjs";
12
+ import { validatePackage as H, useRtl as I, canUseDOM as K } from "@progress/kendo-react-common";
11
13
  import { packageMetadata as M } from "../package-metadata.mjs";
12
14
  import { sankeyPropTypes as V } from "./propTypes.mjs";
13
15
  import { TooltipComponent as A, NodeTooltipContent as F, LinkTooltipContent as U } from "./SankeyTooltip.mjs";
14
- const S = 12, k = {
16
+ const S = 12, p = {
15
17
  offset: S,
16
18
  visible: !0
17
19
  }, W = ["nodeEnter", "nodeLeave", "linkEnter", "linkLeave", "nodeClick", "linkClick"], $ = (n, c) => {
@@ -19,39 +21,39 @@ const S = 12, k = {
19
21
  c[o] && n.bind(o, c[o]);
20
22
  }));
21
23
  }, P = t.forwardRef((n, c) => {
22
- D(M);
24
+ H(M);
23
25
  const o = t.useRef(null), r = t.useRef(null), s = I(o, n.dir, [n.dir, o.current]), d = t.useRef(null), {
24
- data: p,
26
+ data: k,
25
27
  links: m,
26
28
  nodes: y,
27
29
  labels: v,
28
30
  title: E,
29
31
  legend: C,
30
- tooltip: u = k,
32
+ tooltip: u = p,
31
33
  disableAutoLayout: b,
32
34
  disableKeyboardNavigation: g
33
35
  } = n, T = t.useRef();
34
36
  T.current = n;
35
- const [L, R] = t.useState(null), h = t.useCallback(
37
+ const [L, R] = t.useState(null), N = t.useCallback(
36
38
  (l) => {
37
39
  const {
38
40
  visible: a,
39
41
  offset: e = S,
40
42
  nodeComponent: f = F,
41
- linkComponent: x = U
42
- } = { ...k, ...u };
43
+ linkComponent: w = U
44
+ } = { ...p, ...u };
43
45
  if (a) {
44
- const O = {
46
+ const x = {
45
47
  event: l,
46
48
  offset: e,
47
49
  dir: s,
48
- Content: l.targetType === "node" ? f : x
50
+ Content: l.targetType === "node" ? f : w
49
51
  };
50
- R(O);
52
+ R(x);
51
53
  }
52
54
  },
53
55
  [u, s]
54
- ), N = t.useCallback(() => {
56
+ ), h = t.useCallback(() => {
55
57
  R(null);
56
58
  }, []), i = t.useCallback((l, a) => {
57
59
  const e = T.current[l];
@@ -66,7 +68,7 @@ const S = 12, k = {
66
68
  }, []);
67
69
  return t.useEffect(() => {
68
70
  const l = {
69
- data: p,
71
+ data: k,
70
72
  links: m,
71
73
  nodes: y,
72
74
  labels: v,
@@ -75,13 +77,10 @@ const S = 12, k = {
75
77
  disableAutoLayout: b,
76
78
  disableKeyboardNavigation: g,
77
79
  rtl: s === "rtl",
78
- tooltip: { ...k, ...u }
80
+ tooltip: { ...p, ...u }
79
81
  };
80
- if (r.current)
81
- r.current.setOptions(l);
82
- else if (K && o.current) {
83
- const a = w(o.current);
84
- r.current = new H(o.current, l, a), $(r.current, {
82
+ return r.current ? r.current.setOptions(l) : K && o.current && D(o.current.ownerDocument, (a) => {
83
+ r.current = new O(o.current, l, a), $(r.current, {
85
84
  nodeEnter: (e) => {
86
85
  i("onNodeEnter", e);
87
86
  },
@@ -100,13 +99,12 @@ const S = 12, k = {
100
99
  linkClick: (e) => {
101
100
  i("onLinkClick", e);
102
101
  }
103
- }), r.current.bind("tooltipShow", h), r.current.bind("tooltipHide", N);
104
- }
105
- return () => {
102
+ }), r.current.bind("tooltipShow", N), r.current.bind("tooltipHide", h);
103
+ }), () => {
106
104
  r.current && (r.current.destroy(), r.current = null);
107
105
  };
108
106
  }, [
109
- p,
107
+ k,
110
108
  m,
111
109
  y,
112
110
  v,
@@ -116,8 +114,8 @@ const S = 12, k = {
116
114
  g,
117
115
  s,
118
116
  u,
119
- N,
120
117
  h,
118
+ N,
121
119
  i
122
120
  ]), t.useImperativeHandle(
123
121
  d,
@@ -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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react"),x=require("@progress/kendo-react-common"),d=require("@progress/kendo-svg-icons"),g=require("@progress/kendo-react-intl"),p=require("./messages.js");function I(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,l.get?l:{enumerable:!0,get:()=>t[o]})}}return n.default=t,Object.freeze(n)}const e=I(v),T=t=>{const{Content:n,dir:o,offset:l,event:{tooltipData:r,dataItem:b,nodeValue:k}}=t,m=e.useRef(null);return e.useEffect(()=>{const i=m.current;if(!r||!i)return;const f={width:i.offsetWidth,height:i.offsetHeight},a={...r.popupOffset},s=r.popupAlign;a.left+=s.horizontal==="left"?l:-1*l,s.horizontal==="right"&&(a.left-=f.width),s.vertical==="bottom"?a.top-=f.height+l:a.top+=l,i.style.left=`${a.left}px`,i.style.top=`${a.top}px`,i.style.visibility=""},[r]),e.createElement("div",{ref:m,style:{visibility:"hidden"},dir:o,className:"k-tooltip k-sankey-tooltip k-chart-tooltip k-chart-shared-tooltip"},e.createElement("div",{className:"k-tooltip-content"},e.createElement(n,{dir:o,dataItem:b,nodeValue:k})))},h=3,C=`0 ${h}px`,y={display:"flex",alignItems:"center"},u=t=>e.createElement("div",{style:{width:15,height:15,backgroundColor:t.color,display:"inline-flex",marginLeft:h}}),c=t=>e.createElement("span",{style:{margin:C}},t.children),E=t=>g.useInternationalization().format(g.useLocalization().toLanguageString(p.tooltipUnitFormat,p.messages[p.tooltipUnitFormat]),[t||0]),O=t=>{const{color:n,label:o}=t.dataItem;return e.createElement("div",{style:y,className:"k-tooltip-content"},e.createElement(u,{color:n}),e.createElement(c,null,o.text),e.createElement(c,null,E(t.nodeValue)))},S=t=>{const{source:n,target:o,value:l}=t.dataItem,r=t.dir==="rtl"?d.arrowLeftIcon:d.arrowRightIcon;return e.createElement("div",{style:y},e.createElement(u,{color:n.color}),e.createElement(c,null,n.label.text),e.createElement(x.IconWrap,{icon:r,name:r.name}),e.createElement(u,{color:o.color}),e.createElement(c,null,o.label.text),e.createElement(c,null,E(l)))};exports.LinkTooltipContent=S;exports.NodeTooltipContent=O;exports.TooltipComponent=T;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react"),x=require("@progress/kendo-react-common"),d=require("@progress/kendo-svg-icons"),g=require("@progress/kendo-react-intl"),u=require("./messages.js");function I(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,l.get?l:{enumerable:!0,get:()=>t[o]})}}return n.default=t,Object.freeze(n)}const e=I(v),T=t=>{const{Content:n,dir:o,offset:l,event:{tooltipData:r,dataItem:b,nodeValue:k}}=t,m=e.useRef(null);return e.useEffect(()=>{const i=m.current;if(!r||!i)return;const f={width:i.offsetWidth,height:i.offsetHeight},a={...r.popupOffset},s=r.popupAlign;a.left+=s.horizontal==="left"?l:-1*l,s.horizontal==="right"&&(a.left-=f.width),s.vertical==="bottom"?a.top-=f.height+l:a.top+=l,i.style.left=`${a.left}px`,i.style.top=`${a.top}px`,i.style.visibility=""},[r]),e.createElement("div",{ref:m,style:{visibility:"hidden"},dir:o,className:"k-tooltip k-sankey-tooltip k-chart-tooltip k-chart-shared-tooltip"},e.createElement("div",{className:"k-tooltip-content"},e.createElement(n,{dir:o,dataItem:b,nodeValue:k})))},h=3,C=`0 ${h}px`,y={display:"flex",alignItems:"center"},p=t=>e.createElement("div",{style:{width:15,height:15,backgroundColor:t.color,display:"inline-flex",marginLeft:h}}),c=t=>e.createElement("span",{style:{margin:C}},t.children),E=t=>g.useInternationalization().format(g.useLocalization().toLanguageString(u.tooltipUnitFormat,u.messages[u.tooltipUnitFormat]),[t||0]),O=t=>{const{color:n,label:o}=t.dataItem;return e.createElement("div",{style:y,className:"k-tooltip-content"},e.createElement(p,{color:n}),e.createElement(c,null,o.text),e.createElement(c,null,E(t.nodeValue)))},S=t=>{const{source:n,target:o,value:l}=t.dataItem,r=t.dir==="rtl"?d.arrowLeftIcon:d.arrowRightIcon;return e.createElement("div",{style:y},e.createElement(p,{color:n.color}),e.createElement(c,null,n.label.text),e.createElement(x.IconWrap,{icon:r,name:r.name}),e.createElement(p,{color:o.color}),e.createElement(c,null,o.label.text),e.createElement(c,null,E(l)))};exports.LinkTooltipContent=S;exports.NodeTooltipContent=O;exports.TooltipComponent=T;
@@ -5,6 +5,7 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  import * as t from "react";
9
10
  import { IconWrap as x } from "@progress/kendo-react-common";
10
11
  import { arrowLeftIcon as v, arrowRightIcon as k } from "@progress/kendo-svg-icons";
@@ -14,15 +15,15 @@ const R = (e) => {
14
15
  const {
15
16
  Content: l,
16
17
  dir: o,
17
- offset: r,
18
+ offset: i,
18
19
  event: { tooltipData: n, dataItem: E, nodeValue: y }
19
20
  } = e, p = t.useRef(null);
20
21
  return t.useEffect(() => {
21
- const i = p.current;
22
- if (!n || !i)
22
+ const r = p.current;
23
+ if (!n || !r)
23
24
  return;
24
- const f = { width: i.offsetWidth, height: i.offsetHeight }, a = { ...n.popupOffset }, s = n.popupAlign;
25
- a.left += s.horizontal === "left" ? r : -1 * r, s.horizontal === "right" && (a.left -= f.width), s.vertical === "bottom" ? a.top -= f.height + r : a.top += r, i.style.left = `${a.left}px`, i.style.top = `${a.top}px`, i.style.visibility = "";
25
+ const f = { width: r.offsetWidth, height: r.offsetHeight }, a = { ...n.popupOffset }, s = n.popupAlign;
26
+ a.left += s.horizontal === "left" ? i : -1 * i, s.horizontal === "right" && (a.left -= f.width), s.vertical === "bottom" ? a.top -= f.height + i : a.top += i, r.style.left = `${a.left}px`, r.style.top = `${a.top}px`, r.style.visibility = "";
26
27
  }, [n]), /* @__PURE__ */ t.createElement(
27
28
  "div",
28
29
  {
@@ -51,8 +52,8 @@ const R = (e) => {
51
52
  const { color: l, label: o } = e.dataItem;
52
53
  return /* @__PURE__ */ t.createElement("div", { style: h, className: "k-tooltip-content" }, /* @__PURE__ */ t.createElement(m, { color: l }), /* @__PURE__ */ t.createElement(c, null, o.text), /* @__PURE__ */ t.createElement(c, null, g(e.nodeValue)));
53
54
  }, $ = (e) => {
54
- const { source: l, target: o, value: r } = e.dataItem, n = e.dir === "rtl" ? v : k;
55
- return /* @__PURE__ */ t.createElement("div", { style: h }, /* @__PURE__ */ t.createElement(m, { color: l.color }), /* @__PURE__ */ t.createElement(c, null, l.label.text), /* @__PURE__ */ t.createElement(x, { icon: n, name: n.name }), /* @__PURE__ */ t.createElement(m, { color: o.color }), /* @__PURE__ */ t.createElement(c, null, o.label.text), /* @__PURE__ */ t.createElement(c, null, g(r)));
55
+ const { source: l, target: o, value: i } = e.dataItem, n = e.dir === "rtl" ? v : k;
56
+ return /* @__PURE__ */ t.createElement("div", { style: h }, /* @__PURE__ */ t.createElement(m, { color: l.color }), /* @__PURE__ */ t.createElement(c, null, l.label.text), /* @__PURE__ */ t.createElement(x, { icon: n, name: n.name }), /* @__PURE__ */ t.createElement(m, { color: o.color }), /* @__PURE__ */ t.createElement(c, null, o.label.text), /* @__PURE__ */ t.createElement(c, null, g(i)));
56
57
  };
57
58
  export {
58
59
  $ as LinkTooltipContent,
@@ -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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t="sankey.tooltipUnitFormat",o={[t]:"({0} units)"};exports.messages=o;exports.tooltipUnitFormat=t;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t="sankey.tooltipUnitFormat",o={[t]:"({0} units)"};exports.messages=o;exports.tooltipUnitFormat=t;
@@ -5,6 +5,7 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  const t = "sankey.tooltipUnitFormat", o = {
9
10
  [t]: "({0} units)"
10
11
  };
@@ -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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("prop-types"),r=e.exact({left:e.number,top:e.number}),i={left:e.number,right:e.number},l={...i,top:e.number,bottom:e.number},t=e.oneOfType([e.number,e.exact(l)]),n=t,o=e.exact({width:e.number,color:e.string,opacity:e.number,dashType:e.string}),s={visible:e.bool,font:e.string,color:e.string,opacity:e.number,align:e.oneOf(["left","right","center"]),position:e.oneOf(["inside","before","after"]),padding:n,margin:e.exact(i),border:o,offset:r},a={color:e.string,opacity:e.number,offset:r,padding:e.number,width:e.number,focusHighlight:e.exact({border:o})},c={colorType:e.oneOf(["static","source","target"]),color:e.string,opacity:e.number,highlight:e.exact({opacity:e.number,inactiveOpacity:e.number}),focusHighlight:e.exact({border:o})},b=e.exact({text:e.string,...s}),p=e.exact({id:e.oneOfType([e.string,e.number]).isRequired,label:b.isRequired,...a}),u=e.exact({sourceId:e.oneOfType([e.string,e.number]).isRequired,targetId:e.oneOfType([e.string,e.number]).isRequired,value:e.number.isRequired,...c}),d={data:e.exact({nodes:e.arrayOf(p.isRequired).isRequired,links:e.arrayOf(u.isRequired).isRequired}).isRequired,links:e.exact(c),nodes:e.exact(a),labels:e.exact(s),legend:e.exact({align:e.oneOf(["start","center","end"]),background:e.string,border:o,height:e.number,labels:e.object,margin:t,offsetX:e.number,offsetY:e.number,orientation:e.oneOf(["vertical","horizontal"]),padding:n,position:e.oneOf(["top","bottom","left","right","custom"]),reverse:e.bool,visible:e.bool,width:e.number,item:e.object,title:e.object}),title:e.exact({align:e.oneOf(["center","left","right"]),background:e.string,border:o,color:e.string,font:e.string,margin:t,padding:n,position:e.oneOf(["top","bottom"]),text:e.string,visible:e.bool}),tooltip:e.exact({visible:e.bool,offset:e.number,followPointer:e.bool,delay:e.number,linkComponent:e.any,nodeComponent:e.any}),className:e.string,style:e.object,dir:e.string,disableAutoLayout:e.bool,disableKeyboardNavigation:e.bool,onNodeEnter:e.func,onNodeLeave:e.func,onLinkEnter:e.func,onLinkLeave:e.func,onNodeClick:e.func,onLinkClick:e.func};exports.sankeyPropTypes=d;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("prop-types"),r=e.exact({left:e.number,top:e.number}),i={left:e.number,right:e.number},l={...i,top:e.number,bottom:e.number},t=e.oneOfType([e.number,e.exact(l)]),n=t,o=e.exact({width:e.number,color:e.string,opacity:e.number,dashType:e.string}),s={visible:e.bool,font:e.string,color:e.string,opacity:e.number,align:e.oneOf(["left","right","center"]),position:e.oneOf(["inside","before","after"]),padding:n,margin:e.exact(i),border:o,offset:r},a={color:e.string,opacity:e.number,offset:r,padding:e.number,width:e.number,focusHighlight:e.exact({border:o})},c={colorType:e.oneOf(["static","source","target"]),color:e.string,opacity:e.number,highlight:e.exact({opacity:e.number,inactiveOpacity:e.number}),focusHighlight:e.exact({border:o})},b=e.exact({text:e.string,...s}),p=e.exact({id:e.oneOfType([e.string,e.number]).isRequired,label:b.isRequired,...a}),u=e.exact({sourceId:e.oneOfType([e.string,e.number]).isRequired,targetId:e.oneOfType([e.string,e.number]).isRequired,value:e.number.isRequired,...c}),d={data:e.exact({nodes:e.arrayOf(p.isRequired).isRequired,links:e.arrayOf(u.isRequired).isRequired}).isRequired,links:e.exact(c),nodes:e.exact(a),labels:e.exact(s),legend:e.exact({align:e.oneOf(["start","center","end"]),background:e.string,border:o,height:e.number,labels:e.object,margin:t,offsetX:e.number,offsetY:e.number,orientation:e.oneOf(["vertical","horizontal"]),padding:n,position:e.oneOf(["top","bottom","left","right","custom"]),reverse:e.bool,visible:e.bool,width:e.number,item:e.object,title:e.object}),title:e.exact({align:e.oneOf(["center","left","right"]),background:e.string,border:o,color:e.string,font:e.string,margin:t,padding:n,position:e.oneOf(["top","bottom"]),text:e.string,visible:e.bool}),tooltip:e.exact({visible:e.bool,offset:e.number,followPointer:e.bool,delay:e.number,linkComponent:e.any,nodeComponent:e.any}),className:e.string,style:e.object,dir:e.string,disableAutoLayout:e.bool,disableKeyboardNavigation:e.bool,onNodeEnter:e.func,onNodeLeave:e.func,onLinkEnter:e.func,onLinkLeave:e.func,onNodeClick:e.func,onLinkClick:e.func};exports.sankeyPropTypes=d;
@@ -5,6 +5,7 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  import e from "prop-types";
9
10
  const r = e.exact({
10
11
  left: e.number,
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 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 a=t=>`${t.fontWeight} ${t.fontSize} ${t.fontFamily}`,d=t=>window.getComputedStyle(t).backgroundColor,v=t=>t.toLowerCase().charCodeAt(0)-97,u=t=>{const e=t.match(/series-([a-z])$/);if(e!==null)return v(e[1]);const s=t.split("--series-")[1];return parseInt(s,10)-1},h=30,m=()=>{let t=`
9
+ <div class="k-var--series-a"></div>
10
+ <div class="k-var--series-b"></div>
11
+ <div class="k-var--series-c"></div>
12
+ <div class="k-var--series-d"></div>
13
+ <div class="k-var--series-e"></div>
14
+ <div class="k-var--series-f"></div>
15
+ `;for(let e=0;e<h;e++)t+=`
16
+ <div class="k-var--series-${e+1}"></div>`;return t},k=`
17
+ <div class="k-var--background"></div>
18
+ <div class="k-var--normal-text-color"></div>
19
+ <div class="k-var--kendo-color-subtle"></div>
20
+
21
+ <div class="k-widget k-chart">
22
+ <div class="k-var--chart-font"></div>
23
+ <div class="k-var--chart-title-font"></div>
24
+ </div>
25
+ <div class="k-var--series-unset"></div>
26
+ <div class="k-var--series">
27
+ ${m()}
28
+ </div>
29
+ `;class y{constructor(e){this.store=e}setStyle(e,s){const o=e.split(".");let l=this.store;o.forEach((i,c,n)=>{c<n.length-1&&(l=l[i]=l[i]||{})});const r=o.pop();r&&(l[r]=s)}setColors(){this.mapColor("labels.color","normal-text-color"),this.mapColor("labels.stroke.color","background");const e=this.element.querySelector(".k-var--kendo-color-subtle");e.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=a(this.queryStyle("chart-title-font")),s=a(this.queryStyle("chart-font"));this.setStyle("title.font",e),this.setStyle("labels.font",s),this.setStyle("legend.labels.font",s)}setNodeColors(){const e=this.element;if(!e)return;const s=[].slice.call(e.querySelectorAll(".k-var--series div")),o=d(e.querySelector(".k-var--series-unset")),l=s.reduce((r,i)=>{const c=u(i.className),n=d(i);return n!==o&&(r[c]=n),r},[]);this.setStyle("nodeColors",l)}mapColor(e,s,o="backgroundColor"){this.setStyle(e,this.queryStyle(s)[o])}queryStyle(e){const s=this.element;return window.getComputedStyle(s.querySelector(`.k-var--${e}`))}}const C=(t,e)=>{const s={nodeColors:[]},o=new y(s),l=o.element=t.createElement("div");l.style.display="none",l.innerHTML=k,t.body.appendChild(l);try{o.setColors(),o.setFonts(),o.setNodeColors()}finally{t.body.removeChild(o.element),o.element=null,e(s)}};exports.loadTheme=C;
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 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
+ const a = (t) => `${t.fontWeight} ${t.fontSize} ${t.fontFamily}`, d = (t) => window.getComputedStyle(t).backgroundColor, v = (t) => t.toLowerCase().charCodeAt(0) - 97, u = (t) => {
10
+ const e = t.match(/series-([a-z])$/);
11
+ if (e !== null)
12
+ return v(e[1]);
13
+ const s = t.split("--series-")[1];
14
+ return parseInt(s, 10) - 1;
15
+ };
16
+ const h = () => {
17
+ let t = `
18
+ <div class="k-var--series-a"></div>
19
+ <div class="k-var--series-b"></div>
20
+ <div class="k-var--series-c"></div>
21
+ <div class="k-var--series-d"></div>
22
+ <div class="k-var--series-e"></div>
23
+ <div class="k-var--series-f"></div>
24
+ `;
25
+ for (let e = 0; e < 30; e++)
26
+ t += `
27
+ <div class="k-var--series-${e + 1}"></div>`;
28
+ return t;
29
+ }, k = `
30
+ <div class="k-var--background"></div>
31
+ <div class="k-var--normal-text-color"></div>
32
+ <div class="k-var--kendo-color-subtle"></div>
33
+
34
+ <div class="k-widget k-chart">
35
+ <div class="k-var--chart-font"></div>
36
+ <div class="k-var--chart-title-font"></div>
37
+ </div>
38
+ <div class="k-var--series-unset"></div>
39
+ <div class="k-var--series">
40
+ ${h()}
41
+ </div>
42
+ `;
43
+ class m {
44
+ constructor(e) {
45
+ this.store = e;
46
+ }
47
+ setStyle(e, s) {
48
+ const o = e.split(".");
49
+ let l = this.store;
50
+ o.forEach((i, c, n) => {
51
+ c < n.length - 1 && (l = l[i] = l[i] || {});
52
+ });
53
+ const r = o.pop();
54
+ r && (l[r] = s);
55
+ }
56
+ setColors() {
57
+ this.mapColor("labels.color", "normal-text-color"), this.mapColor("labels.stroke.color", "background");
58
+ const e = this.element.querySelector(".k-var--kendo-color-subtle");
59
+ e.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");
60
+ }
61
+ setFonts() {
62
+ const e = a(this.queryStyle("chart-title-font")), s = a(this.queryStyle("chart-font"));
63
+ this.setStyle("title.font", e), this.setStyle("labels.font", s), this.setStyle("legend.labels.font", s);
64
+ }
65
+ setNodeColors() {
66
+ const e = this.element;
67
+ if (!e)
68
+ return;
69
+ const s = [].slice.call(e.querySelectorAll(".k-var--series div")), o = d(e.querySelector(".k-var--series-unset")), l = s.reduce(
70
+ (r, i) => {
71
+ const c = u(i.className), n = d(i);
72
+ return n !== o && (r[c] = n), r;
73
+ },
74
+ []
75
+ // Will populate the colors in this array
76
+ );
77
+ this.setStyle("nodeColors", l);
78
+ }
79
+ mapColor(e, s, o = "backgroundColor") {
80
+ this.setStyle(e, this.queryStyle(s)[o]);
81
+ }
82
+ queryStyle(e) {
83
+ const s = this.element;
84
+ return window.getComputedStyle(s.querySelector(`.k-var--${e}`));
85
+ }
86
+ }
87
+ const C = (t, e) => {
88
+ const s = {
89
+ nodeColors: []
90
+ }, o = new m(s), l = o.element = t.createElement("div");
91
+ l.style.display = "none", l.innerHTML = k, t.body.appendChild(l);
92
+ try {
93
+ o.setColors(), o.setFonts(), o.setNodeColors();
94
+ } finally {
95
+ t.body.removeChild(o.element), o.element = null, e(s);
96
+ }
97
+ };
98
+ export {
99
+ C as loadTheme
100
+ };
package/sankey/utils.js CHANGED
@@ -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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@progress/kendo-charts"),a=e.createSankeyData;exports.createSankeyData=a;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@progress/kendo-charts"),t=e.createSankeyData;exports.createSankeyData=t;
package/sankey/utils.mjs CHANGED
@@ -5,6 +5,7 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  import { createSankeyData as a } from "@progress/kendo-charts";
9
10
  const t = a;
10
11
  export {
package/store/reducer.js CHANGED
@@ -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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=(t,e)=>e.chartCollectionIdxKey?i.collectionConfigurationItem(t,e):e.chartKey?i.configurationItem(t,e):{},a=(t,e)=>{if(e.type)switch(e.type){case"set":return i.themeItem(t,e);case"push":return Object.assign(t,e.payload);default:return t}else return{}},d=(t,e)=>{if(e.type)switch(e.type){case"add":return[...t,e.payload];case"remove":return t.filter(r=>r!==e.payload);default:return t}else return[]},i={configurationItem(t,e){return Object.assign(t,{[e.chartKey]:e.payload})},collectionConfigurationItem(t,e){let r=!1;const[o,n]=e.chartCollectionIdxKey.split("_"),c=t[o].map((l,s)=>parseInt(n,10)===s?(r=!0,e.payload):l);return r===!1&&c.splice(parseInt(n,10),0,e.payload),Object.assign(t,{[o]:c})},themeItem(t,e){let r={};const o=Object.assign(r,t),{field:n,value:c}=e.payload,l=n.split(".");let s=l.shift();for(;l.length>0;)r=r[s]=r[s]||{},s=l.shift();return r[s]=c,o}};exports.observersReducer=d;exports.optionsReducer=u;exports.themeReducer=a;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=(t,e)=>e.chartCollectionIdxKey?i.collectionConfigurationItem(t,e):e.chartKey?i.configurationItem(t,e):{},a=(t,e)=>{if(e.type)switch(e.type){case"set":return i.themeItem(t,e);case"push":return Object.assign(t,e.payload);default:return t}else return{}},d=(t,e)=>{if(e.type)switch(e.type){case"add":return[...t,e.payload];case"remove":return t.filter(r=>r!==e.payload);default:return t}else return[]},i={configurationItem(t,e){return Object.assign(t,{[e.chartKey]:e.payload})},collectionConfigurationItem(t,e){let r=!1;const[o,n]=e.chartCollectionIdxKey.split("_"),c=t[o].map((l,s)=>parseInt(n,10)===s?(r=!0,e.payload):l);return r===!1&&c.splice(parseInt(n,10),0,e.payload),Object.assign(t,{[o]:c})},themeItem(t,e){let r={};const o=Object.assign(r,t),{field:n,value:c}=e.payload,l=n.split(".");let s=l.shift();for(;l.length>0;)r=r[s]=r[s]||{},s=l.shift();return r[s]=c,o}};exports.observersReducer=d;exports.optionsReducer=u;exports.themeReducer=a;
package/store/reducer.mjs CHANGED
@@ -5,7 +5,8 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- const a = (t, e) => e.chartCollectionIdxKey ? c.collectionConfigurationItem(t, e) : e.chartKey ? c.configurationItem(t, e) : {}, u = (t, e) => {
8
+ "use client";
9
+ const u = (t, e) => e.chartCollectionIdxKey ? c.collectionConfigurationItem(t, e) : e.chartKey ? c.configurationItem(t, e) : {}, a = (t, e) => {
9
10
  if (e.type)
10
11
  switch (e.type) {
11
12
  case "set":
@@ -53,6 +54,6 @@ const a = (t, e) => e.chartCollectionIdxKey ? c.collectionConfigurationItem(t, e
53
54
  };
54
55
  export {
55
56
  p as observersReducer,
56
- a as optionsReducer,
57
- u as themeReducer
57
+ u as optionsReducer,
58
+ a as themeReducer
58
59
  };
package/store/store.js CHANGED
@@ -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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("@progress/kendo-react-common"),n=1e3/60,l=i=>{let o,c,e=[];const a=()=>o,s=t=>{o=i(o,t),T.canUseDOM&&(window.clearTimeout(c),c=window.setTimeout(()=>e.forEach(r=>r()),n))},u=t=>(e.push(t),()=>e=e.filter(r=>r!==t));return s({}),{getState:a,dispatch:s,subscribe:u}};exports.THROTTLE_MS=n;exports.createStore=l;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@progress/kendo-react-common"),n=1e3/60,T=i=>{let o,c,e=[];const a=()=>o,s=t=>{o=i(o,t),l.canUseDOM&&(window.clearTimeout(c),c=window.setTimeout(()=>e.forEach(r=>r()),n))},u=t=>(e.push(t),()=>e=e.filter(r=>r!==t));return s({}),{getState:a,dispatch:s,subscribe:u}};exports.THROTTLE_MS=n;exports.createStore=T;
package/store/store.mjs CHANGED
@@ -5,6 +5,7 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
+ "use client";
8
9
  import { canUseDOM as u } from "@progress/kendo-react-common";
9
10
  const l = 1e3 / 60, T = (i) => {
10
11
  let o, s, t = [];
@@ -0,0 +1,51 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 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 n=require("@progress/kendo-charts"),r=t=>`${t.fontWeight} ${t.fontSize} ${t.fontFamily}`,d=t=>window.getComputedStyle(t).backgroundColor,v=t=>t.toLowerCase().charCodeAt(0)-97,u=t=>{const e=t.match(/series-([a-z])$/);if(e!==null)return v(e[1]);const s=t.split("--series-")[1];return parseInt(s,10)-1},m=30,p=()=>{let t=`
9
+ <div class="k-var--series-a"></div>
10
+ <div class="k-var--series-b"></div>
11
+ <div class="k-var--series-c"></div>
12
+ <div class="k-var--series-d"></div>
13
+ <div class="k-var--series-e"></div>
14
+ <div class="k-var--series-f"></div>
15
+ `;for(let e=0;e<m;e++)t+=`
16
+ <div class="k-var--series-${e+1}"></div>`;return t},f=`
17
+ <div class="k-var--primary"></div>
18
+ <div class="k-var--base"></div>
19
+ <div class="k-var--background"></div>
20
+
21
+ <div class="k-var--normal-background"></div>
22
+ <div class="k-var--normal-text-color"></div>
23
+ <div class="k-var--hover-background"></div>
24
+ <div class="k-var--hover-text-color"></div>
25
+ <div class="k-var--selected-background"></div>
26
+ <div class="k-var--selected-text-color"></div>
27
+ <div class="k-var--chart-error-bars-background"></div>
28
+ <div class="k-var--chart-notes-background"></div>
29
+ <div class="k-var--chart-notes-border"></div>
30
+ <div class="k-var--chart-notes-lines"></div>
31
+ <div class="k-var--chart-crosshair-background"></div>
32
+
33
+ <div class="k-var--chart-inactive"></div>
34
+ <div class="k-var--chart-major-lines"></div>
35
+ <div class="k-var--chart-minor-lines"></div>
36
+ <div class="k-var--chart-area-opacity"></div>
37
+ <div class="k-var--chart-area-inactive-opacity"></div>
38
+ <div class="k-var--chart-line-inactive-opacity"></div>
39
+
40
+ <div class="k-widget k-chart">
41
+ <div class="k-var--chart-font"></div>
42
+ <div class="k-var--chart-title-font"></div>
43
+ <div class="k-var--chart-pane-title-font"></div>
44
+ <div class="k-var--chart-label-font"></div>
45
+ </div>
46
+
47
+ <div class="k-var--series-unset"></div>
48
+ <div class="k-var--series">
49
+ ${p()}
50
+ </div>
51
+ `;class y{constructor(e){this.store=e}setStyle(e,s){this.store.dispatch({type:"set",payload:{field:e,value:s}})}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=r(this.queryStyle("chart-font")),s=r(this.queryStyle("chart-title-font")),a=r(this.queryStyle("chart-pane-title-font")),o=r(this.queryStyle("chart-label-font"));this.setStyle("axisDefaults.labels.font",o),this.setStyle("axisDefaults.notes.label.font",e),this.setStyle("axisDefaults.title.font",e),this.setStyle("legend.labels.font",e),this.setStyle("seriesDefaults.labels.font",o),this.setStyle("seriesDefaults.notes.label.font",e),this.setStyle("title.font",s),this.setStyle("subtitle.font",a),this.setStyle("paneDefaults.title.font",a)}setSeriesColors(){const e=this.element,s=[].slice.call(e.querySelectorAll(".k-var--series div")),a=d(e.querySelector(".k-var--series-unset")),o=s.reduce((l,i)=>{const h=u(i.className),c=d(i);return c!==a&&(l[h]=c),l},[]);this.setStyle("seriesColors",o)}mapColor(e,s){this.setStyle(e,this.queryStyle(s).backgroundColor)}queryStyle(e){const s=this.element;return window.getComputedStyle(s.querySelector(`.k-var--${e}`))}setInactiveOpacity(e,s){const a=parseFloat(this.queryStyle(s).opacity);!isNaN(a)&&a<1&&e.forEach(o=>this.setStyle(`seriesDefaults.${o}.highlight.inactiveOpacity`,a))}}const k=(t,e,s)=>{const a=new y(t);if(typeof s=="undefined"){t.dispatch({type:"push",payload:n.chartBaseTheme()});return}const o=a.element=s.createElement("div");o.style.display="none",o.innerHTML=f,s.body.appendChild(o);try{t.dispatch({type:"push",payload:n.chartBaseTheme()}),a.setColors(),a.setFonts(),a.setSeriesColors()}finally{s.body.removeChild(a.element),delete a.element,e()}};exports.loadTheme=k;
@@ -0,0 +1,122 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2025 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 { chartBaseTheme as n } from "@progress/kendo-charts";
10
+ const r = (t) => `${t.fontWeight} ${t.fontSize} ${t.fontFamily}`, d = (t) => window.getComputedStyle(t).backgroundColor, v = (t) => t.toLowerCase().charCodeAt(0) - 97, u = (t) => {
11
+ const e = t.match(/series-([a-z])$/);
12
+ if (e !== null)
13
+ return v(e[1]);
14
+ const s = t.split("--series-")[1];
15
+ return parseInt(s, 10) - 1;
16
+ }, m = 30, p = () => {
17
+ let t = `
18
+ <div class="k-var--series-a"></div>
19
+ <div class="k-var--series-b"></div>
20
+ <div class="k-var--series-c"></div>
21
+ <div class="k-var--series-d"></div>
22
+ <div class="k-var--series-e"></div>
23
+ <div class="k-var--series-f"></div>
24
+ `;
25
+ for (let e = 0; e < m; e++)
26
+ t += `
27
+ <div class="k-var--series-${e + 1}"></div>`;
28
+ return t;
29
+ }, f = `
30
+ <div class="k-var--primary"></div>
31
+ <div class="k-var--base"></div>
32
+ <div class="k-var--background"></div>
33
+
34
+ <div class="k-var--normal-background"></div>
35
+ <div class="k-var--normal-text-color"></div>
36
+ <div class="k-var--hover-background"></div>
37
+ <div class="k-var--hover-text-color"></div>
38
+ <div class="k-var--selected-background"></div>
39
+ <div class="k-var--selected-text-color"></div>
40
+ <div class="k-var--chart-error-bars-background"></div>
41
+ <div class="k-var--chart-notes-background"></div>
42
+ <div class="k-var--chart-notes-border"></div>
43
+ <div class="k-var--chart-notes-lines"></div>
44
+ <div class="k-var--chart-crosshair-background"></div>
45
+
46
+ <div class="k-var--chart-inactive"></div>
47
+ <div class="k-var--chart-major-lines"></div>
48
+ <div class="k-var--chart-minor-lines"></div>
49
+ <div class="k-var--chart-area-opacity"></div>
50
+ <div class="k-var--chart-area-inactive-opacity"></div>
51
+ <div class="k-var--chart-line-inactive-opacity"></div>
52
+
53
+ <div class="k-widget k-chart">
54
+ <div class="k-var--chart-font"></div>
55
+ <div class="k-var--chart-title-font"></div>
56
+ <div class="k-var--chart-pane-title-font"></div>
57
+ <div class="k-var--chart-label-font"></div>
58
+ </div>
59
+
60
+ <div class="k-var--series-unset"></div>
61
+ <div class="k-var--series">
62
+ ${p()}
63
+ </div>
64
+ `;
65
+ class y {
66
+ constructor(e) {
67
+ this.store = e;
68
+ }
69
+ setStyle(e, s) {
70
+ this.store.dispatch({ type: "set", payload: { field: e, value: s } });
71
+ }
72
+ setColors() {
73
+ 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");
74
+ const e = parseFloat(this.queryStyle("chart-area-opacity").opacity);
75
+ 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");
76
+ }
77
+ setFonts() {
78
+ const e = r(this.queryStyle("chart-font")), s = r(this.queryStyle("chart-title-font")), a = r(this.queryStyle("chart-pane-title-font")), o = r(this.queryStyle("chart-label-font"));
79
+ this.setStyle("axisDefaults.labels.font", o), this.setStyle("axisDefaults.notes.label.font", e), this.setStyle("axisDefaults.title.font", e), this.setStyle("legend.labels.font", e), this.setStyle("seriesDefaults.labels.font", o), this.setStyle("seriesDefaults.notes.label.font", e), this.setStyle("title.font", s), this.setStyle("subtitle.font", a), this.setStyle("paneDefaults.title.font", a);
80
+ }
81
+ setSeriesColors() {
82
+ const e = this.element, s = [].slice.call(e.querySelectorAll(".k-var--series div")), a = d(e.querySelector(".k-var--series-unset")), o = s.reduce(
83
+ (l, i) => {
84
+ const h = u(i.className), c = d(i);
85
+ return c !== a && (l[h] = c), l;
86
+ },
87
+ []
88
+ // Will populate the series colors in this array
89
+ );
90
+ this.setStyle("seriesColors", o);
91
+ }
92
+ mapColor(e, s) {
93
+ this.setStyle(e, this.queryStyle(s).backgroundColor);
94
+ }
95
+ queryStyle(e) {
96
+ const s = this.element;
97
+ return window.getComputedStyle(s.querySelector(`.k-var--${e}`));
98
+ }
99
+ setInactiveOpacity(e, s) {
100
+ const a = parseFloat(this.queryStyle(s).opacity);
101
+ !isNaN(a) && a < 1 && e.forEach(
102
+ (o) => this.setStyle(`seriesDefaults.${o}.highlight.inactiveOpacity`, a)
103
+ );
104
+ }
105
+ }
106
+ const C = (t, e, s) => {
107
+ const a = new y(t);
108
+ if (typeof s == "undefined") {
109
+ t.dispatch({ type: "push", payload: n() });
110
+ return;
111
+ }
112
+ const o = a.element = s.createElement("div");
113
+ o.style.display = "none", o.innerHTML = f, s.body.appendChild(o);
114
+ try {
115
+ t.dispatch({ type: "push", payload: n() }), a.setColors(), a.setFonts(), a.setSeriesColors();
116
+ } finally {
117
+ s.body.removeChild(a.element), delete a.element, e();
118
+ }
119
+ };
120
+ export {
121
+ C as loadTheme
122
+ };
@@ -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
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react"),m=require("@progress/kendo-react-common"),f=require("@progress/kendo-charts"),O=require("./Popup.js"),C=require("../ChartContext.js");function b(s){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const e in s)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(s,e);Object.defineProperty(t,e,o.get?o:{enumerable:!0,get:()=>s[e]})}}return t.default=s,Object.freeze(t)}const i=b(S),y="k-chart-crosshair-tooltip",T="k-chart-tooltip-inverse",a=class a extends i.Component{constructor(t,e){super(t,e),this.context=null,this.state={popupShown:!1},this.chartObserver=new f.InstanceObserver(this,{showTooltip:"onShowTooltip",hideTooltip:"onHideTooltip"}),e.observersStore.dispatch({type:"add",payload:this.chartObserver})}render(){const{popupContend:t,className:e,...o}=this.state,n=this.state.popupShown?()=>t:Function.prototype,p=m.classNames({[y]:!0,[T]:!!e});return i.createElement(O.TooltipPopup,{...o,popupContent:n,className:p})}componentWillUnmount(){var t;(t=this.context)==null||t.observersStore.dispatch({type:"remove",payload:this.chartObserver})}onShowTooltip(t){const{anchor:e,style:o,className:n,crosshair:p,axisName:c,axisIndex:l,value:u}=t,{name:h,index:d}=this.props;p&&c===h&&l===d&&this.setState({popupShown:!0,popupAlign:e.align,popupOffset:e.point,popupContend:u,popupStyles:o,className:n})}onHideTooltip(){this.setState({popupShown:!1,popupStyles:{},className:void 0})}};a.contextType=C.ChartContext;let r=a;exports.CrosshairTooltip=r;
8
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react"),m=require("@progress/kendo-react-common"),f=require("@progress/kendo-charts"),O=require("./Popup.js"),C=require("../ChartContext.js");function b(s){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const e in s)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(s,e);Object.defineProperty(t,e,o.get?o:{enumerable:!0,get:()=>s[e]})}}return t.default=s,Object.freeze(t)}const i=b(S),y="k-chart-crosshair-tooltip",T="k-chart-tooltip-inverse",a=class a extends i.Component{constructor(t,e){super(t,e),this.context=null,this.state={popupShown:!1},this.chartObserver=new f.InstanceObserver(this,{showTooltip:"onShowTooltip",hideTooltip:"onHideTooltip"}),e.observersStore.dispatch({type:"add",payload:this.chartObserver})}render(){const{popupContend:t,className:e,...o}=this.state,n=this.state.popupShown?()=>t:Function.prototype,p=m.classNames({[y]:!0,[T]:!!e});return i.createElement(O.TooltipPopup,{...o,popupContent:n,className:p})}componentWillUnmount(){var t;(t=this.context)==null||t.observersStore.dispatch({type:"remove",payload:this.chartObserver})}onShowTooltip(t){const{anchor:e,style:o,className:n,crosshair:p,axisName:c,axisIndex:l,value:u}=t,{name:h,index:d}=this.props;p&&c===h&&l===d&&this.setState({popupShown:!0,popupAlign:e.align,popupOffset:e.point,popupContend:u,popupStyles:o,className:n})}onHideTooltip(){this.setState({popupShown:!1,popupStyles:{},className:void 0})}};a.contextType=C.ChartContext;let r=a;exports.CrosshairTooltip=r;