@techie_doubts/tui.chart.2026 4.6.1

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 (284) hide show
  1. package/README.md +165 -0
  2. package/dist/esm/animator.d.ts +32 -0
  3. package/dist/esm/animator.js +102 -0
  4. package/dist/esm/brushes/axis.d.ts +3 -0
  5. package/dist/esm/brushes/axis.js +21 -0
  6. package/dist/esm/brushes/basic.d.ts +9 -0
  7. package/dist/esm/brushes/basic.js +95 -0
  8. package/dist/esm/brushes/boxPlot.d.ts +2 -0
  9. package/dist/esm/brushes/boxPlot.js +22 -0
  10. package/dist/esm/brushes/circleLegend.d.ts +2 -0
  11. package/dist/esm/brushes/circleLegend.js +26 -0
  12. package/dist/esm/brushes/dataLabel.d.ts +6 -0
  13. package/dist/esm/brushes/dataLabel.js +176 -0
  14. package/dist/esm/brushes/exportMenu.d.ts +2 -0
  15. package/dist/esm/brushes/exportMenu.js +55 -0
  16. package/dist/esm/brushes/gauge.d.ts +2 -0
  17. package/dist/esm/brushes/gauge.js +39 -0
  18. package/dist/esm/brushes/label.d.ts +34 -0
  19. package/dist/esm/brushes/label.js +165 -0
  20. package/dist/esm/brushes/legend.d.ts +7 -0
  21. package/dist/esm/brushes/legend.js +162 -0
  22. package/dist/esm/brushes/lineSeries.d.ts +5 -0
  23. package/dist/esm/brushes/lineSeries.js +41 -0
  24. package/dist/esm/brushes/polygon.d.ts +2 -0
  25. package/dist/esm/brushes/polygon.js +24 -0
  26. package/dist/esm/brushes/resetButton.d.ts +3 -0
  27. package/dist/esm/brushes/resetButton.js +112 -0
  28. package/dist/esm/brushes/scatterSeries.d.ts +2 -0
  29. package/dist/esm/brushes/scatterSeries.js +125 -0
  30. package/dist/esm/brushes/sector.d.ts +2 -0
  31. package/dist/esm/brushes/sector.js +54 -0
  32. package/dist/esm/brushes/spectrumLegend.d.ts +14 -0
  33. package/dist/esm/brushes/spectrumLegend.js +199 -0
  34. package/dist/esm/charts/areaChart.d.ts +254 -0
  35. package/dist/esm/charts/areaChart.js +358 -0
  36. package/dist/esm/charts/barChart.d.ts +203 -0
  37. package/dist/esm/charts/barChart.js +300 -0
  38. package/dist/esm/charts/boxPlotChart.d.ts +209 -0
  39. package/dist/esm/charts/boxPlotChart.js +288 -0
  40. package/dist/esm/charts/bubbleChart.d.ts +188 -0
  41. package/dist/esm/charts/bubbleChart.js +263 -0
  42. package/dist/esm/charts/bulletChart.d.ts +199 -0
  43. package/dist/esm/charts/bulletChart.js +278 -0
  44. package/dist/esm/charts/chart.d.ts +133 -0
  45. package/dist/esm/charts/chart.js +484 -0
  46. package/dist/esm/charts/columnChart.d.ts +205 -0
  47. package/dist/esm/charts/columnChart.js +299 -0
  48. package/dist/esm/charts/columnLineChart.d.ts +271 -0
  49. package/dist/esm/charts/columnLineChart.js +386 -0
  50. package/dist/esm/charts/gaugeChart.d.ts +191 -0
  51. package/dist/esm/charts/gaugeChart.js +279 -0
  52. package/dist/esm/charts/heatmapChart.d.ts +199 -0
  53. package/dist/esm/charts/heatmapChart.js +292 -0
  54. package/dist/esm/charts/lineAreaChart.d.ts +271 -0
  55. package/dist/esm/charts/lineAreaChart.js +374 -0
  56. package/dist/esm/charts/lineChart.d.ts +253 -0
  57. package/dist/esm/charts/lineChart.js +360 -0
  58. package/dist/esm/charts/lineScatterChart.d.ts +200 -0
  59. package/dist/esm/charts/lineScatterChart.js +285 -0
  60. package/dist/esm/charts/nestedPieChart.d.ts +192 -0
  61. package/dist/esm/charts/nestedPieChart.js +268 -0
  62. package/dist/esm/charts/pieChart.d.ts +156 -0
  63. package/dist/esm/charts/pieChart.js +224 -0
  64. package/dist/esm/charts/radarChart.d.ts +169 -0
  65. package/dist/esm/charts/radarChart.js +240 -0
  66. package/dist/esm/charts/radialBarChart.d.ts +172 -0
  67. package/dist/esm/charts/radialBarChart.js +251 -0
  68. package/dist/esm/charts/scatterChart.d.ts +184 -0
  69. package/dist/esm/charts/scatterChart.js +279 -0
  70. package/dist/esm/charts/treemapChart.d.ts +166 -0
  71. package/dist/esm/charts/treemapChart.js +239 -0
  72. package/dist/esm/component/areaSeries.d.ts +96 -0
  73. package/dist/esm/component/areaSeries.js +474 -0
  74. package/dist/esm/component/axis.d.ts +40 -0
  75. package/dist/esm/component/axis.js +176 -0
  76. package/dist/esm/component/axisTitle.d.ts +25 -0
  77. package/dist/esm/component/axisTitle.js +67 -0
  78. package/dist/esm/component/axisUsingCenterY.d.ts +32 -0
  79. package/dist/esm/component/axisUsingCenterY.js +175 -0
  80. package/dist/esm/component/backButton.d.ts +13 -0
  81. package/dist/esm/component/backButton.js +26 -0
  82. package/dist/esm/component/background.d.ts +10 -0
  83. package/dist/esm/component/background.js +15 -0
  84. package/dist/esm/component/boxPlotSeries.d.ts +126 -0
  85. package/dist/esm/component/boxPlotSeries.js +410 -0
  86. package/dist/esm/component/boxSeries.d.ts +211 -0
  87. package/dist/esm/component/boxSeries.js +603 -0
  88. package/dist/esm/component/boxStackSeries.d.ts +62 -0
  89. package/dist/esm/component/boxStackSeries.js +447 -0
  90. package/dist/esm/component/bubbleSeries.d.ts +35 -0
  91. package/dist/esm/component/bubbleSeries.js +174 -0
  92. package/dist/esm/component/bulletSeries.d.ts +89 -0
  93. package/dist/esm/component/bulletSeries.js +392 -0
  94. package/dist/esm/component/circleLegend.d.ts +10 -0
  95. package/dist/esm/component/circleLegend.js +37 -0
  96. package/dist/esm/component/component.d.ts +64 -0
  97. package/dist/esm/component/component.js +170 -0
  98. package/dist/esm/component/componentManager.d.ts +23 -0
  99. package/dist/esm/component/componentManager.js +45 -0
  100. package/dist/esm/component/dataLabels.d.ts +23 -0
  101. package/dist/esm/component/dataLabels.js +134 -0
  102. package/dist/esm/component/exportMenu.d.ts +38 -0
  103. package/dist/esm/component/exportMenu.js +147 -0
  104. package/dist/esm/component/gaugeSeries.d.ts +160 -0
  105. package/dist/esm/component/gaugeSeries.js +447 -0
  106. package/dist/esm/component/heatmapSeries.d.ts +64 -0
  107. package/dist/esm/component/heatmapSeries.js +152 -0
  108. package/dist/esm/component/hoveredSeries.d.ts +27 -0
  109. package/dist/esm/component/hoveredSeries.js +95 -0
  110. package/dist/esm/component/legend.d.ts +26 -0
  111. package/dist/esm/component/legend.js +149 -0
  112. package/dist/esm/component/lineSeries.d.ts +69 -0
  113. package/dist/esm/component/lineSeries.js +319 -0
  114. package/dist/esm/component/noDataText.d.ts +9 -0
  115. package/dist/esm/component/noDataText.js +31 -0
  116. package/dist/esm/component/pieSeries.d.ts +137 -0
  117. package/dist/esm/component/pieSeries.js +390 -0
  118. package/dist/esm/component/plot.d.ts +37 -0
  119. package/dist/esm/component/plot.js +163 -0
  120. package/dist/esm/component/radarSeries.d.ts +85 -0
  121. package/dist/esm/component/radarSeries.js +222 -0
  122. package/dist/esm/component/radialAxis.d.ts +26 -0
  123. package/dist/esm/component/radialAxis.js +210 -0
  124. package/dist/esm/component/radialBarSeries.d.ts +111 -0
  125. package/dist/esm/component/radialBarSeries.js +349 -0
  126. package/dist/esm/component/radialPlot.d.ts +55 -0
  127. package/dist/esm/component/radialPlot.js +188 -0
  128. package/dist/esm/component/rangeSelection.d.ts +61 -0
  129. package/dist/esm/component/rangeSelection.js +150 -0
  130. package/dist/esm/component/resetButton.d.ts +13 -0
  131. package/dist/esm/component/resetButton.js +26 -0
  132. package/dist/esm/component/scatterSeries.d.ts +34 -0
  133. package/dist/esm/component/scatterSeries.js +159 -0
  134. package/dist/esm/component/selectedSeries.d.ts +26 -0
  135. package/dist/esm/component/selectedSeries.js +109 -0
  136. package/dist/esm/component/spectrumLegend.d.ts +15 -0
  137. package/dist/esm/component/spectrumLegend.js +76 -0
  138. package/dist/esm/component/title.d.ts +12 -0
  139. package/dist/esm/component/title.js +53 -0
  140. package/dist/esm/component/tooltip.d.ts +41 -0
  141. package/dist/esm/component/tooltip.js +131 -0
  142. package/dist/esm/component/treemapSeries.d.ts +57 -0
  143. package/dist/esm/component/treemapSeries.js +191 -0
  144. package/dist/esm/component/zeroAxis.d.ts +9 -0
  145. package/dist/esm/component/zeroAxis.js +49 -0
  146. package/dist/esm/eventEmitter.d.ts +8 -0
  147. package/dist/esm/eventEmitter.js +15 -0
  148. package/dist/esm/helpers/arrayUtil.d.ts +10 -0
  149. package/dist/esm/helpers/arrayUtil.js +54 -0
  150. package/dist/esm/helpers/axes.d.ts +67 -0
  151. package/dist/esm/helpers/axes.js +345 -0
  152. package/dist/esm/helpers/boxSeries.d.ts +5 -0
  153. package/dist/esm/helpers/boxSeries.js +71 -0
  154. package/dist/esm/helpers/calculator.d.ts +19 -0
  155. package/dist/esm/helpers/calculator.js +153 -0
  156. package/dist/esm/helpers/color.d.ts +153 -0
  157. package/dist/esm/helpers/color.js +218 -0
  158. package/dist/esm/helpers/colorSpectrum.d.ts +5 -0
  159. package/dist/esm/helpers/colorSpectrum.js +17 -0
  160. package/dist/esm/helpers/coordinate.d.ts +9 -0
  161. package/dist/esm/helpers/coordinate.js +51 -0
  162. package/dist/esm/helpers/dataLabels.d.ts +36 -0
  163. package/dist/esm/helpers/dataLabels.js +405 -0
  164. package/dist/esm/helpers/dom.d.ts +2 -0
  165. package/dist/esm/helpers/dom.js +8 -0
  166. package/dist/esm/helpers/downloader.d.ts +7 -0
  167. package/dist/esm/helpers/downloader.js +287 -0
  168. package/dist/esm/helpers/formatDate.d.ts +16 -0
  169. package/dist/esm/helpers/formatDate.js +140 -0
  170. package/dist/esm/helpers/geometric.d.ts +3 -0
  171. package/dist/esm/helpers/geometric.js +35 -0
  172. package/dist/esm/helpers/googleAnalytics.d.ts +1 -0
  173. package/dist/esm/helpers/googleAnalytics.js +39 -0
  174. package/dist/esm/helpers/htmlSanitizer.d.ts +1 -0
  175. package/dist/esm/helpers/htmlSanitizer.js +86 -0
  176. package/dist/esm/helpers/legend.d.ts +9 -0
  177. package/dist/esm/helpers/legend.js +47 -0
  178. package/dist/esm/helpers/pieSeries.d.ts +15 -0
  179. package/dist/esm/helpers/pieSeries.js +72 -0
  180. package/dist/esm/helpers/plot.d.ts +2 -0
  181. package/dist/esm/helpers/plot.js +4 -0
  182. package/dist/esm/helpers/radarSeries.d.ts +1 -0
  183. package/dist/esm/helpers/radarSeries.js +7 -0
  184. package/dist/esm/helpers/range.d.ts +6 -0
  185. package/dist/esm/helpers/range.js +16 -0
  186. package/dist/esm/helpers/responders.d.ts +37 -0
  187. package/dist/esm/helpers/responders.js +197 -0
  188. package/dist/esm/helpers/sector.d.ts +55 -0
  189. package/dist/esm/helpers/sector.js +117 -0
  190. package/dist/esm/helpers/squarifier.d.ts +8 -0
  191. package/dist/esm/helpers/squarifier.js +110 -0
  192. package/dist/esm/helpers/style.d.ts +14 -0
  193. package/dist/esm/helpers/style.js +48 -0
  194. package/dist/esm/helpers/theme.d.ts +58 -0
  195. package/dist/esm/helpers/theme.js +557 -0
  196. package/dist/esm/helpers/tooltip.d.ts +2 -0
  197. package/dist/esm/helpers/tooltip.js +18 -0
  198. package/dist/esm/helpers/tooltipTemplate.d.ts +21 -0
  199. package/dist/esm/helpers/tooltipTemplate.js +147 -0
  200. package/dist/esm/helpers/utils.d.ts +42 -0
  201. package/dist/esm/helpers/utils.js +268 -0
  202. package/dist/esm/helpers/validation.d.ts +6 -0
  203. package/dist/esm/helpers/validation.js +16 -0
  204. package/dist/esm/index.d.ts +40 -0
  205. package/dist/esm/index.js +75 -0
  206. package/dist/esm/message.d.ts +11 -0
  207. package/dist/esm/message.js +11 -0
  208. package/dist/esm/painter.d.ts +27 -0
  209. package/dist/esm/painter.js +88 -0
  210. package/dist/esm/responderDetectors.d.ts +6 -0
  211. package/dist/esm/responderDetectors.js +124 -0
  212. package/dist/esm/scale/coordinateScaleCalculator.d.ts +24 -0
  213. package/dist/esm/scale/coordinateScaleCalculator.js +174 -0
  214. package/dist/esm/scale/datetimeScaleCalculator.d.ts +20 -0
  215. package/dist/esm/scale/datetimeScaleCalculator.js +59 -0
  216. package/dist/esm/store/axes.d.ts +30 -0
  217. package/dist/esm/store/axes.js +282 -0
  218. package/dist/esm/store/category.d.ts +4 -0
  219. package/dist/esm/store/category.js +73 -0
  220. package/dist/esm/store/colorValueScale.d.ts +3 -0
  221. package/dist/esm/store/colorValueScale.js +56 -0
  222. package/dist/esm/store/dataRange.d.ts +4 -0
  223. package/dist/esm/store/dataRange.js +170 -0
  224. package/dist/esm/store/gaugeAxes.d.ts +4 -0
  225. package/dist/esm/store/gaugeAxes.js +175 -0
  226. package/dist/esm/store/heatmapAxes.d.ts +3 -0
  227. package/dist/esm/store/heatmapAxes.js +98 -0
  228. package/dist/esm/store/heatmapSeriesData.d.ts +3 -0
  229. package/dist/esm/store/heatmapSeriesData.js +34 -0
  230. package/dist/esm/store/layout.d.ts +12 -0
  231. package/dist/esm/store/layout.js +487 -0
  232. package/dist/esm/store/legend.d.ts +3 -0
  233. package/dist/esm/store/legend.js +435 -0
  234. package/dist/esm/store/nestedPieSeriesData.d.ts +3 -0
  235. package/dist/esm/store/nestedPieSeriesData.js +49 -0
  236. package/dist/esm/store/options.d.ts +3 -0
  237. package/dist/esm/store/options.js +62 -0
  238. package/dist/esm/store/plot.d.ts +3 -0
  239. package/dist/esm/store/plot.js +102 -0
  240. package/dist/esm/store/radialAxes.d.ts +8 -0
  241. package/dist/esm/store/radialAxes.js +199 -0
  242. package/dist/esm/store/reactive.d.ts +11 -0
  243. package/dist/esm/store/reactive.js +196 -0
  244. package/dist/esm/store/root.d.ts +3 -0
  245. package/dist/esm/store/root.js +46 -0
  246. package/dist/esm/store/scale.d.ts +3 -0
  247. package/dist/esm/store/scale.js +102 -0
  248. package/dist/esm/store/seriesData.d.ts +3 -0
  249. package/dist/esm/store/seriesData.js +299 -0
  250. package/dist/esm/store/stackSeriesData.d.ts +8 -0
  251. package/dist/esm/store/stackSeriesData.js +192 -0
  252. package/dist/esm/store/store.d.ts +20 -0
  253. package/dist/esm/store/store.js +112 -0
  254. package/dist/esm/store/theme.d.ts +3 -0
  255. package/dist/esm/store/theme.js +139 -0
  256. package/dist/esm/store/treemapSeriesData.d.ts +4 -0
  257. package/dist/esm/store/treemapSeriesData.js +93 -0
  258. package/dist/td-chart.css +127 -0
  259. package/dist/td-chart.js +41463 -0
  260. package/dist/td-chart.min.css +6 -0
  261. package/dist/td-chart.min.js +9 -0
  262. package/package.json +112 -0
  263. package/types/brushes.d.ts +30 -0
  264. package/types/charts.d.ts +152 -0
  265. package/types/components/axis.d.ts +71 -0
  266. package/types/components/circleLegend.d.ts +9 -0
  267. package/types/components/dataLabels.d.ts +119 -0
  268. package/types/components/exportMenu.d.ts +14 -0
  269. package/types/components/legend.d.ts +27 -0
  270. package/types/components/plot.d.ts +8 -0
  271. package/types/components/radialAxis.d.ts +22 -0
  272. package/types/components/radialPlot.d.ts +11 -0
  273. package/types/components/rangeSelection.d.ts +3 -0
  274. package/types/components/resetButton.d.ts +13 -0
  275. package/types/components/series.d.ts +386 -0
  276. package/types/components/spectrumLegend.d.ts +25 -0
  277. package/types/components/tooltip.d.ts +58 -0
  278. package/types/components/zoom.d.ts +3 -0
  279. package/types/eventEmitter.d.ts +12 -0
  280. package/types/index.d.ts +615 -0
  281. package/types/options.d.ts +833 -0
  282. package/types/resizeObserver.d.ts +54 -0
  283. package/types/store/store.d.ts +564 -0
  284. package/types/theme.d.ts +670 -0
@@ -0,0 +1,54 @@
1
+ type ResizeObserverBoxOptions = 'border-box' | 'content-box' | 'device-pixel-content-box';
2
+
3
+ interface ResizeObserverOptions {
4
+ box?: ResizeObserverBoxOptions;
5
+ }
6
+
7
+ interface ResizeObservation {
8
+ readonly lastReportedSizes: ReadonlyArray<ResizeObserverSize>;
9
+ readonly observedBox: ResizeObserverBoxOptions;
10
+ readonly target: Element;
11
+ }
12
+
13
+ declare let ResizeObservation: {
14
+ prototype: ResizeObservation;
15
+ new (target: Element): ResizeObservation;
16
+ };
17
+
18
+ interface ResizeObserver {
19
+ disconnect(): void;
20
+ observe(target: Element, options?: ResizeObserverOptions): void;
21
+ unobserve(target: Element): void;
22
+ }
23
+
24
+ interface ResizeObserverEntry {
25
+ readonly borderBoxSize: ReadonlyArray<ResizeObserverSize>;
26
+ readonly contentBoxSize: ReadonlyArray<ResizeObserverSize>;
27
+ readonly contentRect: DOMRectReadOnly;
28
+ readonly devicePixelContentBoxSize: ReadonlyArray<ResizeObserverSize>;
29
+ readonly target: Element;
30
+ }
31
+
32
+ declare let ResizeObserverEntry: {
33
+ prototype: ResizeObserverEntry;
34
+ new (): ResizeObserverEntry;
35
+ };
36
+
37
+ interface ResizeObserverSize {
38
+ readonly blockSize: number;
39
+ readonly inlineSize: number;
40
+ }
41
+
42
+ declare let ResizeObserverSize: {
43
+ prototype: ResizeObserverSize;
44
+ new (): ResizeObserverSize;
45
+ };
46
+
47
+ interface ResizeObserverCallback {
48
+ (entries: ResizeObserverEntry[], observer: ResizeObserver): void;
49
+ }
50
+
51
+ declare const ResizeObserver: {
52
+ prototype: ResizeObserver;
53
+ new(callback: ResizeObserverCallback): ResizeObserver;
54
+ };
@@ -0,0 +1,564 @@
1
+ import {
2
+ LineChartOptions,
3
+ LineSeriesType,
4
+ Rect,
5
+ BoxSeriesType,
6
+ BarChartOptions,
7
+ ColumnChartOptions,
8
+ BoxSeriesDataType,
9
+ ScatterSeriesType,
10
+ AreaSeriesType,
11
+ AreaChartOptions,
12
+ StackType,
13
+ BubbleSeriesType,
14
+ BubbleChartOptions,
15
+ Align,
16
+ AxisTitleOption,
17
+ PieSeriesType,
18
+ RangeDataType,
19
+ RadarSeriesType,
20
+ RadarChartOptions,
21
+ BoxPlotSeriesType,
22
+ BulletSeriesType,
23
+ BulletChartOptions,
24
+ LineScatterChartOptions,
25
+ ColumnLineChartOptions,
26
+ PlotLine,
27
+ PlotBand,
28
+ BoxPlotChartOptions,
29
+ PieChartOptions,
30
+ TreemapSeriesType,
31
+ HeatmapSeriesType,
32
+ HeatmapCategoriesType,
33
+ HeatmapChartOptions,
34
+ NestedPieChartOptions,
35
+ TitleOption,
36
+ Size,
37
+ AnimationOptions,
38
+ NestedPieSeriesType,
39
+ LineAreaChartOptions,
40
+ ScatterChartOptions,
41
+ RadialBarSeriesType,
42
+ RadialBarChartOptions,
43
+ GaugeSeriesType,
44
+ GaugeChartOptions,
45
+ GaugeSolidOptions,
46
+ } from '../options';
47
+ import { LegendData } from '../components/legend';
48
+ import { ScatterSeriesIconType } from '../components/series';
49
+ import { Theme } from '../theme';
50
+
51
+ export type ChartSeries = {
52
+ line: LineSeriesType;
53
+ scatter: ScatterSeriesType;
54
+ bar: BoxSeriesType<BoxSeriesDataType>;
55
+ column: BoxSeriesType<BoxSeriesDataType>;
56
+ area: AreaSeriesType;
57
+ bubble: BubbleSeriesType;
58
+ pie: PieSeriesType | NestedPieSeriesType;
59
+ radar: RadarSeriesType;
60
+ boxPlot: BoxPlotSeriesType;
61
+ bullet: BulletSeriesType;
62
+ treemap: TreemapSeriesType;
63
+ heatmap: HeatmapSeriesType;
64
+ radialBar: RadialBarSeriesType;
65
+ gauge: GaugeSeriesType;
66
+ };
67
+
68
+ type ChartSeriesMap = {
69
+ line: LineSeriesType[];
70
+ scatter: ScatterSeriesType[];
71
+ bar: BoxSeriesType<BoxSeriesDataType>[];
72
+ column: BoxSeriesType<BoxSeriesDataType>[];
73
+ area: AreaSeriesType[];
74
+ bubble: BubbleSeriesType[];
75
+ pie: PieSeriesType[] | NestedPieSeriesType[];
76
+ radar: RadarSeriesType[];
77
+ boxPlot: BoxPlotSeriesType[];
78
+ bullet: BulletSeriesType[];
79
+ treemap: TreemapSeriesType[];
80
+ heatmap: HeatmapSeriesType[];
81
+ radialBar: RadialBarSeriesType[];
82
+ gauge: GaugeSeriesType[];
83
+ };
84
+
85
+ export type ChartType = keyof ChartSeriesMap;
86
+
87
+ export type BoxType = 'bar' | 'column';
88
+
89
+ type RawSeries = Partial<ChartSeriesMap>;
90
+
91
+ type SeriesGroup = {
92
+ seriesCount: number;
93
+ seriesGroupCount: number;
94
+ };
95
+
96
+ type Series = {
97
+ [key in ChartType]?: {
98
+ data: ChartSeriesMap[key];
99
+ colors?: string[];
100
+ } & SeriesGroup;
101
+ };
102
+
103
+ type ValueOf<T> = T[keyof T];
104
+
105
+ export type ChartOptionsMap = {
106
+ line: LineChartOptions;
107
+ bar: BarChartOptions;
108
+ column: ColumnChartOptions;
109
+ area: AreaChartOptions;
110
+ bubble: BubbleChartOptions;
111
+ radar: RadarChartOptions;
112
+ pie: PieChartOptions | NestedPieChartOptions;
113
+ boxPlot: BoxPlotChartOptions;
114
+ bullet: BulletChartOptions;
115
+ scatter: ScatterChartOptions;
116
+ lineScatter: LineScatterChartOptions;
117
+ lineArea: LineAreaChartOptions;
118
+ columnLine: ColumnLineChartOptions;
119
+ heatmap: HeatmapChartOptions;
120
+ radialBar: RadialBarChartOptions;
121
+ gauge: GaugeChartOptions;
122
+ };
123
+
124
+ export type Options = ValueOf<ChartOptionsMap>;
125
+
126
+ export type OptionsWithDataLabels = ValueOf<
127
+ Omit<ChartOptionsMap, 'scatter' | 'bubble' | 'boxPlot' | 'lineScatter' | 'radar'>
128
+ >;
129
+
130
+ export type ChartOptionsUsingYAxis = ValueOf<
131
+ Omit<ChartOptionsMap, 'pie' | 'heatmap' | 'treemap' | 'radar' | 'radialBar' | 'gauge'>
132
+ >;
133
+
134
+ export type ChartOptionsUsingVerticalAxis = ValueOf<Pick<ChartOptionsMap, 'radar' | 'radialBar'>>;
135
+
136
+ export type ChartOptionsUsingRadialAxes = ValueOf<
137
+ Pick<ChartOptionsMap, 'radar' | 'radialBar' | 'gauge'>
138
+ >;
139
+
140
+ declare class Store<T extends Options> {
141
+ state: ChartState<T>;
142
+
143
+ initStoreState: InitStoreState<T>;
144
+
145
+ computed: Record<string, any>;
146
+
147
+ actions: Record<string, ActionFunc>;
148
+
149
+ setRootState(state: Partial<ChartState<T>>): void;
150
+
151
+ setComputed(namePath: string, fn: ComputedFunc, holder: any): void;
152
+
153
+ setWatch(namePath: string, fn: WatchFunc): Function | null;
154
+
155
+ setAction(name: string, fn: ActionFunc): void;
156
+
157
+ dispatch(name: string, payload?: any, isInvisible?: boolean): void;
158
+
159
+ observe(fn: ObserveFunc): Function;
160
+
161
+ observable(target: Record<string, any>): Record<string, any>;
162
+
163
+ notifyByPath(namePath: string): void;
164
+
165
+ notify<T extends Record<string, any>, K extends keyof T>(target: T, key: K): void;
166
+
167
+ setModule(name: string | StoreModule, param?: StoreOptions | StoreModule): void;
168
+
169
+ setValue(target: Record<string, any>, key: string, source: Record<string, any>): void;
170
+ }
171
+
172
+ type StateFunc = (initStoreState: InitStoreState) => Partial<ChartState<Options>>;
173
+ type ActionFunc = (store: Store<Options>, ...args: any[]) => void;
174
+ type ComputedFunc = (state: ChartState<Options>, computed: Record<string, any>) => any;
175
+ export type ObserveFunc = (state: ChartState<Options>, computed: Record<string, any>) => void;
176
+ type WatchFunc = (value: any) => void;
177
+
178
+ export interface StoreOptions {
179
+ state?: Partial<ChartState<Options>> | StateFunc;
180
+ watch?: Record<string, WatchFunc>;
181
+ computed?: Record<string, ComputedFunc>;
182
+ action?: Record<string, ActionFunc> & ThisType<Store<Options>>;
183
+ observe?: Record<string, ObserveFunc> & ThisType<Store<Options>>;
184
+ }
185
+
186
+ interface InitStoreState<T extends Options = Options> {
187
+ categories?: Categories;
188
+ series: RawSeries;
189
+ options: T;
190
+ }
191
+
192
+ export interface StoreModule extends StoreOptions {
193
+ name:
194
+ | 'root'
195
+ | 'plot'
196
+ | 'axes'
197
+ | 'gaugeAxes'
198
+ | 'radialAxes'
199
+ | 'scale'
200
+ | 'layout'
201
+ | 'category'
202
+ | 'seriesData'
203
+ | 'dataRange'
204
+ | 'stackSeriesData'
205
+ | 'treemapSeriesData'
206
+ | 'heatmapSeriesData'
207
+ | 'legend'
208
+ | 'circleLegend'
209
+ | 'colorValueScale'
210
+ | 'options'
211
+ | 'theme';
212
+ }
213
+
214
+ export interface Layout {
215
+ chart: Rect;
216
+ xAxis: Rect;
217
+ yAxis: Rect;
218
+ xAxisTitle: Rect;
219
+ yAxisTitle: Rect;
220
+ plot: Rect;
221
+ legend: Rect;
222
+ circleLegend: Rect;
223
+ title: Rect;
224
+ exportMenu: Rect;
225
+ resetButton: Rect;
226
+ secondaryYAxisTitle: Rect;
227
+ secondaryYAxis: Rect;
228
+ circularAxisTitle: Rect;
229
+ }
230
+
231
+ export interface Scale {
232
+ xAxis?: ScaleData;
233
+ yAxis?: ScaleData;
234
+ secondaryYAxis?: ScaleData;
235
+ circularAxis?: ScaleData;
236
+ verticalAxis?: ScaleData;
237
+ }
238
+
239
+ type ViewAxisLabel = { offsetPos: number; text: string };
240
+
241
+ type RotationLabelData = {
242
+ needRotateLabel?: boolean;
243
+ radian?: number;
244
+ rotationHeight?: number;
245
+ };
246
+
247
+ export type Axes = {
248
+ xAxis: AxisData;
249
+ yAxis: AxisData;
250
+ centerYAxis?: CenterYAxisData;
251
+ secondaryYAxis?: AxisData;
252
+ };
253
+
254
+ export type DataRange = {
255
+ xAxis?: ValueEdge;
256
+ yAxis?: ValueEdge;
257
+ secondaryYAxis?: ValueEdge;
258
+ circularAxis?: ValueEdge;
259
+ verticalAxis?: ValueEdge;
260
+ };
261
+
262
+ export type StackSeries = {
263
+ [key in BoxType]?: StackSeriesData<key>;
264
+ };
265
+
266
+ export type LegendIconType = 'spectrum' | 'line' | ScatterSeriesIconType;
267
+
268
+ export type LegendDataList = Array<
269
+ Pick<
270
+ LegendData,
271
+ | 'label'
272
+ | 'active'
273
+ | 'checked'
274
+ | 'iconType'
275
+ | 'color'
276
+ | 'chartType'
277
+ | 'rowIndex'
278
+ | 'columnIndex'
279
+ | 'viewLabel'
280
+ | 'colorIndex'
281
+ | 'colorByCategories'
282
+ > & {
283
+ width: number;
284
+ }
285
+ >;
286
+
287
+ export interface Legend {
288
+ visible: boolean;
289
+ showCheckbox: boolean;
290
+ align: Align;
291
+ width: number;
292
+ height: number;
293
+ data: LegendDataList;
294
+ useSpectrumLegend: boolean;
295
+ useScatterChartIcon: boolean;
296
+ }
297
+
298
+ export interface CircleLegend {
299
+ visible: boolean;
300
+ width: number;
301
+ radius: number;
302
+ }
303
+
304
+ export interface CenterYAxisData extends ValueAxisData {
305
+ x: number;
306
+ xAxisHalfSize: number;
307
+ secondStartX: number;
308
+ yAxisLabelAnchorPoint: number;
309
+ yAxisHeight: number;
310
+ }
311
+
312
+ export interface TreemapSeriesData {
313
+ id: string;
314
+ parentId: string;
315
+ hasChild: boolean;
316
+ label: string;
317
+ indexes: number[];
318
+ depth: number;
319
+ data: number;
320
+ ratio: number;
321
+ color: string;
322
+ opacity?: number;
323
+ colorValue?: number;
324
+ }
325
+
326
+ export type Categories = string[] | HeatmapCategoriesType;
327
+ export type DefaultCategories = Exclude<Categories, HeatmapCategoriesType>;
328
+
329
+ export type ChartOptions = {
330
+ title?: string | TitleOption;
331
+ animation?: AnimationOptions;
332
+ } & Size;
333
+
334
+ type BaseRadialAxes = {
335
+ axisSize: number;
336
+ centerX: number;
337
+ centerY: number;
338
+ };
339
+
340
+ type SolidData = {
341
+ visible: boolean;
342
+ radiusRange: { inner: number; outer: number };
343
+ barWidth: number;
344
+ clockHand: boolean;
345
+ };
346
+ interface CircularAxisData extends BaseRadialAxes {
347
+ label: {
348
+ labels: string[];
349
+ interval: number;
350
+ margin: number;
351
+ maxWidth: number;
352
+ maxHeight: number;
353
+ };
354
+ radius: {
355
+ inner: number;
356
+ outer: number;
357
+ };
358
+ angle: {
359
+ start: number;
360
+ end: number;
361
+ total: number;
362
+ central: number;
363
+ drawingStart: number;
364
+ };
365
+ band?: {
366
+ width: number;
367
+ margin: number;
368
+ };
369
+
370
+ tickInterval: number;
371
+ clockwise: boolean;
372
+ maxClockHandSize?: number;
373
+ title?: AxisTitleOption;
374
+ solidData?: SolidData;
375
+ }
376
+
377
+ interface VerticalAxisData extends BaseRadialAxes {
378
+ label: {
379
+ labels: string[];
380
+ interval: number;
381
+ margin: number;
382
+ maxWidth: number;
383
+ maxHeight: number;
384
+ align: CanvasTextAlign;
385
+ };
386
+ radius: {
387
+ inner: number;
388
+ outer: number;
389
+ ranges: number[];
390
+ };
391
+ angle: {
392
+ start: number;
393
+ end: number;
394
+ };
395
+
396
+ tickDistance: number;
397
+ pointOnColumn: boolean;
398
+ }
399
+
400
+ type RadialAxes = {
401
+ circularAxis: CircularAxisData;
402
+ verticalAxis?: VerticalAxisData;
403
+ };
404
+ export interface ChartState<T extends Options> {
405
+ chart: ChartOptions;
406
+ layout: Layout;
407
+ scale: Scale;
408
+ disabledSeries: string[];
409
+ series: Series;
410
+ selectionRange?: RangeDataType<number>;
411
+ zoomRange?: RangeDataType<number>;
412
+ shiftRange?: RangeDataType<number>;
413
+ axes: Axes;
414
+ radialAxes: RadialAxes;
415
+ dataRange: DataRange;
416
+ theme: Theme;
417
+ options: T;
418
+ categories?: Categories;
419
+ rawCategories: Categories;
420
+ stackSeries: {
421
+ [key in StackSeriesType]?: StackSeriesData<key>;
422
+ };
423
+ colorValueScale: ScaleData;
424
+ plot: {
425
+ visible: boolean;
426
+ lines: PlotLine[];
427
+ bands: PlotBand[];
428
+ };
429
+ legend: Legend;
430
+ circleLegend: CircleLegend;
431
+ treemapSeries: TreemapSeriesData[];
432
+ treemapZoomId: TreemapZoomId;
433
+ heatmapSeries: HeatmapSeriesData[];
434
+ nestedPieSeries: Record<string, NestedPieSeriesDataType>;
435
+ originalOptions: T;
436
+ container: Size;
437
+ usingContainerSize: {
438
+ width: boolean;
439
+ height: boolean;
440
+ };
441
+ }
442
+
443
+ export type TreemapZoomId = {
444
+ cur: string;
445
+ prev: string;
446
+ };
447
+
448
+ export type HeatmapSeriesData = {
449
+ category: {
450
+ x: string;
451
+ y: string;
452
+ };
453
+ colorValue: number | null;
454
+ indexes: [number, number];
455
+ }[];
456
+
457
+ type NestedPieSeriesDataType = {
458
+ data: PieSeriesType[];
459
+ };
460
+
461
+ export type StackTotal = {
462
+ positive: number;
463
+ negative: number;
464
+ };
465
+
466
+ export interface StackData {
467
+ values: number[];
468
+ sum: number;
469
+ total: StackTotal;
470
+ }
471
+
472
+ export type StackDataValues = StackData[];
473
+ export type StackGroupData = Record<string, StackDataValues>;
474
+ export type StackDataType = StackDataValues | StackGroupData;
475
+
476
+ export type AxisData = LabelAxisData | ValueAxisData;
477
+
478
+ export type InitAxisData = {
479
+ tickInterval: number;
480
+ labelInterval: number;
481
+ title?: Required<AxisTitleOption>;
482
+ };
483
+
484
+ type BaseAxisData = InitAxisData & {
485
+ labels: string[];
486
+ tickCount: number;
487
+ isLabelAxis: boolean;
488
+ pointOnColumn: boolean;
489
+ tickDistance: number;
490
+ maxLabelWidth: number;
491
+ maxLabelHeight: number;
492
+ viewLabels: ViewAxisLabel[];
493
+ offsetY?: number;
494
+ maxHeight?: number;
495
+ } & RotationLabelData;
496
+
497
+ export type LabelAxisData = BaseAxisData & {
498
+ labelDistance: number;
499
+ rectResponderCount: number;
500
+ labelRange?: ValueEdge;
501
+ layout?: Rect;
502
+ };
503
+
504
+ export type ValueAxisData = BaseAxisData & {
505
+ zeroPosition?: number;
506
+ };
507
+
508
+ export interface ValueEdge {
509
+ max: number;
510
+ min: number;
511
+ }
512
+
513
+ export type Stack = {
514
+ type: StackType;
515
+ connector: boolean;
516
+ };
517
+
518
+ export type PercentScaleType =
519
+ | 'percentStack'
520
+ | 'minusPercentStack'
521
+ | 'dualPercentStack'
522
+ | 'divergingPercentStack';
523
+
524
+ type StackSeriesType = BoxType | 'area' | 'radialBar';
525
+
526
+ export type StackSeriesData<K extends StackSeriesType> = {
527
+ data: ChartSeriesMap[K];
528
+ stackData: StackDataType;
529
+ dataRangeValues: number[];
530
+ stack: Stack;
531
+ scaleType: PercentScaleType;
532
+ } & SeriesGroup;
533
+
534
+ export interface ScaleData {
535
+ limit: ValueEdge;
536
+ stepSize: number;
537
+ stepCount: number;
538
+ sizeRatio?: number;
539
+ positionRatio?: number;
540
+ }
541
+
542
+ export type FunctionPropertyNames<T> = {
543
+ [K in keyof T]: T[K] extends Function ? K : never;
544
+ }[keyof T];
545
+
546
+ type UsingContainerSize = { width: boolean; height: boolean };
547
+
548
+ type DefaultRadialAxisData = {
549
+ axisSize: number;
550
+ centerX: number;
551
+ centerY: number;
552
+ totalAngle: number;
553
+ drawingStartAngle: number;
554
+ clockwise: boolean;
555
+ startAngle: number;
556
+ endAngle: number;
557
+ isSemiCircular: boolean;
558
+ };
559
+
560
+ type RadiusInfo = {
561
+ radiusRanges: number[];
562
+ innerRadius: number;
563
+ outerRadius: number;
564
+ };