@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,349 @@
1
+ import Component from "./component";
2
+ import { isNumber, pick, isNull, calculateSizeWithPercentString, deepCopy, } from "../helpers/utils";
3
+ import { message } from "../message";
4
+ import { makeGroupedSectorResponderModel } from "../helpers/responders";
5
+ import { getRadialAnchorPosition, makeAnchorPositionParam, withinRadian, getRadiusRanges, DEGREE_360, DEGREE_0, DEGREE_NEGATIVE_90, } from "../helpers/sector";
6
+ import { getActiveSeriesMap } from "../helpers/legend";
7
+ import { getDataLabelsOptions } from "../helpers/dataLabels";
8
+ import { getRGBA } from "../helpers/color";
9
+ import { getTotalAngle } from "../helpers/pieSeries";
10
+ import { isAvailableShowTooltipInfo } from "../helpers/validation";
11
+ export default class RadialBarSeries extends Component {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.models = {};
15
+ this.activatedResponders = [];
16
+ this.eventDetectType = 'point';
17
+ this.onMouseoutComponent = () => {
18
+ this.eventBus.emit('seriesPointHovered', { models: [], name: this.name });
19
+ this.eventBus.emit('renderHoveredSeries', { models: [], name: this.name });
20
+ this.eventBus.emit('needDraw');
21
+ };
22
+ this.selectSeries = (info) => {
23
+ var _a;
24
+ const { index, seriesIndex } = info;
25
+ const isAvailable = isNumber(index) && (this.eventDetectType === 'grouped' || isNumber(seriesIndex));
26
+ if (!isAvailable) {
27
+ return;
28
+ }
29
+ const models = this.eventDetectType === 'grouped'
30
+ ? [
31
+ ...this.getGroupedSector([this.responders[index]], 'select'),
32
+ ...this.getRadialBarSectorModelsFromResponders([this.responders[index]]),
33
+ ]
34
+ : (_a = this.getResponderModelsWithTheme([this.tooltipSectorMap[index][seriesIndex]], 'select'), (_a !== null && _a !== void 0 ? _a : []));
35
+ if (!models.length) {
36
+ throw new Error(message.SELECT_SERIES_API_INDEX_ERROR);
37
+ }
38
+ this.eventBus.emit('renderSelectedSeries', {
39
+ models: models,
40
+ name: this.name,
41
+ eventDetectType: this.eventDetectType,
42
+ });
43
+ this.eventBus.emit('needDraw');
44
+ };
45
+ this.showTooltip = (info) => {
46
+ const { index, seriesIndex } = info;
47
+ if (!isAvailableShowTooltipInfo(info, this.eventDetectType, 'radialBar')) {
48
+ return;
49
+ }
50
+ const models = this.eventDetectType === 'grouped'
51
+ ? this.getGroupedSector([this.responders[index]], 'hover')
52
+ : this.getResponderModelsWithTheme([this.tooltipSectorMap[index][seriesIndex]], 'hover');
53
+ if (!models.length) {
54
+ return;
55
+ }
56
+ this.eventBus.emit('renderHoveredSeries', {
57
+ models,
58
+ name: this.name,
59
+ eventDetectType: this.eventDetectType,
60
+ });
61
+ this.activatedResponders =
62
+ this.eventDetectType === 'grouped' ? this.tooltipSectorMap[index] : models;
63
+ this.eventBus.emit('seriesPointHovered', { models: this.activatedResponders, name: this.name });
64
+ this.eventBus.emit('needDraw');
65
+ };
66
+ }
67
+ initUpdate(delta) {
68
+ if (!this.drawModels) {
69
+ return;
70
+ }
71
+ const { angle: { start: startAngle, total: totalAngle }, } = this.circularAxis;
72
+ let currentDegree;
73
+ Object.keys(this.models).forEach((category) => {
74
+ const index = this.models[category].findIndex(({ clockwise, degree: { start, end } }) => {
75
+ currentDegree = clockwise
76
+ ? startAngle + totalAngle * delta
77
+ : startAngle - totalAngle * delta;
78
+ return withinRadian(clockwise, start, end, currentDegree);
79
+ });
80
+ this.syncEndAngle(index < 0 ? this.models[category].length : index, category);
81
+ if (index !== -1) {
82
+ this.drawModels[category][index].degree.end = currentDegree;
83
+ }
84
+ });
85
+ }
86
+ syncEndAngle(index, category) {
87
+ if (index < 1) {
88
+ return;
89
+ }
90
+ for (let i = 0; i < index; i += 1) {
91
+ const prevTargetEndDegree = this.models[category][i].degree.end;
92
+ if (this.drawModels[category][i].degree.end !== prevTargetEndDegree) {
93
+ this.drawModels[category][i].degree.end = prevTargetEndDegree;
94
+ }
95
+ }
96
+ }
97
+ initialize() {
98
+ this.type = 'series';
99
+ this.name = 'radialBar';
100
+ this.eventBus.on('selectSeries', this.selectSeries);
101
+ this.eventBus.on('showTooltip', this.showTooltip);
102
+ this.eventBus.on('hideTooltip', this.onMouseoutComponent);
103
+ }
104
+ render(chartState) {
105
+ var _a, _b;
106
+ const { layout, series, legend, options, theme, stackSeries, scale, radialAxes } = chartState;
107
+ const categories = (_a = chartState.categories, (_a !== null && _a !== void 0 ? _a : []));
108
+ if (!series.radialBar || !stackSeries.radialBar) {
109
+ throw new Error(message.noDataError(this.name));
110
+ }
111
+ this.theme = theme.series.radialBar;
112
+ this.rect = layout.plot;
113
+ this.activeSeriesMap = getActiveSeriesMap(legend);
114
+ this.selectable = this.getSelectableOption(options);
115
+ this.setEventDetectType(options);
116
+ const initialCategoryMap = categories.reduce((acc, category) => {
117
+ if (!acc[category]) {
118
+ acc[category] = [];
119
+ }
120
+ return acc;
121
+ }, {});
122
+ const seriesData = series.radialBar.data;
123
+ this.circularAxis = radialAxes.circularAxis;
124
+ const verticalAxisData = radialAxes.verticalAxis;
125
+ const renderOptions = this.makeRenderOptions(verticalAxisData, scale.circularAxis, (_b = options) === null || _b === void 0 ? void 0 : _b.series);
126
+ const { categoryMap, seriesModels } = this.makeSeriesModelData(seriesData, stackSeries.radialBar.stackData, renderOptions, initialCategoryMap);
127
+ const tooltipData = this.makeTooltipData(seriesModels, categories);
128
+ this.models = categoryMap;
129
+ if (!this.drawModels) {
130
+ this.initDrawModels(categoryMap);
131
+ }
132
+ if (getDataLabelsOptions(options, this.name).visible) {
133
+ const dataLabelData = seriesModels.reduce((acc, data) => {
134
+ return [...acc, Object.assign(Object.assign({}, data), { type: 'sector', theme: this.theme.dataLabels })];
135
+ }, []);
136
+ this.renderDataLabels(dataLabelData);
137
+ }
138
+ this.tooltipSectorMap = this.makeTooltipSectorMap(seriesModels, tooltipData);
139
+ this.responders = this.makeResponders(verticalAxisData.radius.ranges, seriesModels, renderOptions, categories, tooltipData);
140
+ }
141
+ initDrawModels(categoryMap) {
142
+ this.drawModels = {};
143
+ Object.keys(categoryMap).forEach((category) => {
144
+ this.drawModels[category] = categoryMap[category].map((m) => (Object.assign(Object.assign({}, m), { degree: Object.assign(Object.assign({}, m.degree), { end: m.degree.start }) })));
145
+ });
146
+ }
147
+ makeResponders(radiusRanges, seriesModels, renderOptions, categories, tooltipData) {
148
+ return this.eventDetectType === 'grouped'
149
+ ? makeGroupedSectorResponderModel(radiusRanges, renderOptions, categories)
150
+ : seriesModels.map((m, index) => (Object.assign(Object.assign({}, m), { data: Object.assign({}, tooltipData[index]) })));
151
+ }
152
+ makeTooltipSectorMap(seriesModels, tooltipData) {
153
+ return seriesModels.reduce((acc, cur, index) => {
154
+ const categoryIndex = cur.index;
155
+ if (!acc[categoryIndex]) {
156
+ acc[categoryIndex] = [];
157
+ }
158
+ acc[categoryIndex].push(Object.assign(Object.assign({}, cur), { data: Object.assign({}, tooltipData[index]) }));
159
+ return acc;
160
+ }, {});
161
+ }
162
+ setEventDetectType(options) {
163
+ var _a, _b;
164
+ if ((_b = (_a = options) === null || _a === void 0 ? void 0 : _a.series) === null || _b === void 0 ? void 0 : _b.eventDetectType) {
165
+ this.eventDetectType = options.series.eventDetectType;
166
+ }
167
+ }
168
+ getBarWidth(tickDistance, axisSize) {
169
+ const { barWidth } = this.theme;
170
+ const DEFAULT_PADDING = 5;
171
+ return barWidth
172
+ ? Math.min(tickDistance, calculateSizeWithPercentString(axisSize, barWidth))
173
+ : tickDistance - DEFAULT_PADDING * 2;
174
+ }
175
+ makeRenderOptions({ axisSize, centerX, centerY, tickDistance, radius: { ranges }, angle: { start, end }, }, scale, options) {
176
+ var _a, _b;
177
+ const { limit: { max }, stepSize, } = scale;
178
+ const clockwise = (_b = (_a = options) === null || _a === void 0 ? void 0 : _a.clockwise, (_b !== null && _b !== void 0 ? _b : true));
179
+ const totalAngle = getTotalAngle(clockwise, start, end);
180
+ const barWidth = this.getBarWidth(tickDistance, axisSize);
181
+ const padding = (tickDistance - barWidth) / 2;
182
+ const scaleMaxLimitValue = max + (totalAngle < DEGREE_360 ? DEGREE_0 : stepSize);
183
+ return {
184
+ clockwise,
185
+ centerX,
186
+ centerY,
187
+ radiusRanges: getRadiusRanges(ranges, padding),
188
+ angleRange: {
189
+ start,
190
+ end,
191
+ },
192
+ totalAngle,
193
+ scaleMaxLimitValue,
194
+ startAngle: start,
195
+ };
196
+ }
197
+ makeSeriesModelData(seriesData, stackSeriesData, renderOptions, initialCategoryMap) {
198
+ const { clockwise, centerX, centerY, radiusRanges, totalAngle, scaleMaxLimitValue, startAngle, } = renderOptions;
199
+ const defaultStartDegree = startAngle;
200
+ const { lineWidth, strokeStyle } = this.theme;
201
+ const sectorModels = [];
202
+ const categories = Object.keys(initialCategoryMap);
203
+ const categoryMap = deepCopy(initialCategoryMap);
204
+ stackSeriesData.forEach(({ values }, categoryIndex) => {
205
+ const { inner, outer } = radiusRanges[categoryIndex];
206
+ values.forEach((value, seriesIndex) => {
207
+ if (!isNull(value)) {
208
+ const degree = Math.max((value / scaleMaxLimitValue) * totalAngle, 1) * (clockwise ? 1 : -1);
209
+ const prevModel = sectorModels[sectorModels.length - 1];
210
+ const startDegree = seriesIndex && prevModel ? prevModel.degree.end : defaultStartDegree;
211
+ const endDegree = clockwise
212
+ ? Math.min(startDegree + degree, DEGREE_360)
213
+ : Math.max(startDegree + degree, DEGREE_0);
214
+ const { name, color: seriesColor } = seriesData[seriesIndex];
215
+ const color = this.getSeriesColor(name, seriesColor);
216
+ const sectorModel = {
217
+ type: 'sector',
218
+ name,
219
+ color: color,
220
+ x: centerX,
221
+ y: centerY,
222
+ degree: {
223
+ start: startDegree,
224
+ end: endDegree,
225
+ },
226
+ radius: {
227
+ inner,
228
+ outer,
229
+ },
230
+ value,
231
+ style: [{ strokeStyle }],
232
+ lineWidth,
233
+ clockwise,
234
+ totalAngle,
235
+ seriesColor,
236
+ seriesIndex,
237
+ index: categoryIndex,
238
+ drawingStartAngle: DEGREE_NEGATIVE_90,
239
+ };
240
+ categoryMap[categories[categoryIndex]].push(sectorModel);
241
+ sectorModels.push(sectorModel);
242
+ }
243
+ });
244
+ });
245
+ return { seriesModels: sectorModels, categoryMap };
246
+ }
247
+ getSeriesColor(name, color) {
248
+ const { select, areaOpacity } = this.theme;
249
+ const active = this.activeSeriesMap[name];
250
+ const selected = Object.values(this.activeSeriesMap).some((elem) => !elem);
251
+ return selected
252
+ ? getRGBA(color, active ? select.areaOpacity : select.restSeries.areaOpacity)
253
+ : getRGBA(color, areaOpacity);
254
+ }
255
+ makeTooltipData(seriesModels, categories) {
256
+ const tooltipData = [];
257
+ seriesModels.forEach(({ seriesColor, name, value, index }) => {
258
+ if (!isNull(value)) {
259
+ tooltipData.push({
260
+ label: name,
261
+ color: seriesColor,
262
+ value: value,
263
+ category: isNumber(index) ? categories[index] : '',
264
+ });
265
+ }
266
+ });
267
+ return tooltipData;
268
+ }
269
+ makeTooltipResponder(responders) {
270
+ const categories = Object.keys(this.models);
271
+ return responders.map((responder) => (Object.assign(Object.assign({}, responder), getRadialAnchorPosition(makeAnchorPositionParam('center', this.models[categories[responder.index]].find(({ name }) => name === responder.name))))));
272
+ }
273
+ getRadialBarSectorModelsFromResponders(responders) {
274
+ var _a;
275
+ if (!responders.length) {
276
+ return [];
277
+ }
278
+ return _a = this.tooltipSectorMap[responders[0].index], (_a !== null && _a !== void 0 ? _a : []);
279
+ }
280
+ getGroupedSector(responders, type) {
281
+ const RadialBarSectorModels = this.getRadialBarSectorModelsFromResponders(responders);
282
+ const { color, opacity } = this.theme[type].groupedSector;
283
+ return RadialBarSectorModels.length
284
+ ? responders.map((m) => (Object.assign(Object.assign({}, m), { color: getRGBA(color, opacity) })))
285
+ : [];
286
+ }
287
+ onMousemoveGroupedType(responders) {
288
+ const RadialBarSectorModels = this.getRadialBarSectorModelsFromResponders(responders);
289
+ this.eventBus.emit('renderHoveredSeries', {
290
+ models: this.getGroupedSector(responders, 'hover'),
291
+ name: this.name,
292
+ eventDetectType: this.eventDetectType,
293
+ });
294
+ this.activatedResponders = RadialBarSectorModels;
295
+ }
296
+ onMousemove({ responders }) {
297
+ if (this.eventDetectType === 'grouped') {
298
+ this.onMousemoveGroupedType(responders);
299
+ }
300
+ else {
301
+ this.eventBus.emit('renderHoveredSeries', {
302
+ models: this.getResponderModelsWithTheme(responders, 'hover'),
303
+ name: this.name,
304
+ });
305
+ this.activatedResponders = this.makeTooltipResponder(responders);
306
+ }
307
+ this.eventBus.emit('seriesPointHovered', {
308
+ models: this.activatedResponders,
309
+ name: this.name,
310
+ eventDetectType: this.eventDetectType,
311
+ });
312
+ this.eventBus.emit('needDraw');
313
+ }
314
+ onClick({ responders }) {
315
+ if (this.selectable) {
316
+ let models;
317
+ if (this.eventDetectType === 'grouped') {
318
+ models = [
319
+ ...this.getGroupedSector(responders, 'select'),
320
+ ...this.getRadialBarSectorModelsFromResponders(responders),
321
+ ];
322
+ }
323
+ else {
324
+ models = this.getResponderModelsWithTheme(responders, 'select');
325
+ }
326
+ this.eventBus.emit('renderSelectedSeries', {
327
+ models,
328
+ name: this.name,
329
+ eventDetectType: this.eventDetectType,
330
+ });
331
+ this.eventBus.emit('needDraw');
332
+ }
333
+ }
334
+ getResponderModelsWithTheme(responders, type) {
335
+ const theme = this.theme[type];
336
+ const lineWidth = theme.lineWidth;
337
+ const isSameLineWidth = this.theme.lineWidth === lineWidth;
338
+ const thickness = isSameLineWidth ? 0 : lineWidth * 0.5;
339
+ return responders.map((m) => {
340
+ var _a, _b;
341
+ return (Object.assign(Object.assign({}, m), { color: (_b = (_a = theme) === null || _a === void 0 ? void 0 : _a.color, (_b !== null && _b !== void 0 ? _b : m.color)), lineWidth: lineWidth, style: [
342
+ pick(theme, 'strokeStyle', 'shadowBlur', 'shadowColor', 'shadowOffsetX', 'shadowOffsetY'),
343
+ ], radius: {
344
+ inner: Math.max(m.radius.inner - thickness, 0),
345
+ outer: m.radius.outer + thickness,
346
+ } }));
347
+ });
348
+ }
349
+ }
@@ -0,0 +1,55 @@
1
+ import Component from "./component";
2
+ import { CircleModel, PolygonModel, SectorModel } from "../../types/components/series";
3
+ import { ChartState, RadialAxes, ScaleData, CircularAxisData, Scale } from "../../types/store/store";
4
+ import { RadarPlotType, RadarChartOptions, GaugePlotBand } from "../../types/options";
5
+ import { RadialPlotModels, RadialPlotModelType } from "../../types/components/radialPlot";
6
+ import { LineModel } from "../../types/components/axis";
7
+ import { CircularAxisTheme } from "../../types/theme";
8
+ import { ArcModel } from "../../types/components/radialAxis";
9
+ declare type RenderOptions = {
10
+ type: RadarPlotType;
11
+ categories: string[];
12
+ centerX: number;
13
+ centerY: number;
14
+ centralAngle: number;
15
+ initialRadius: number;
16
+ radius: number;
17
+ radiusRanges: number[];
18
+ lineCount: number;
19
+ tickInterval: number;
20
+ usingArcPlot: boolean;
21
+ drawingStartAngle: number;
22
+ startAngle: number;
23
+ endAngle: number;
24
+ clockwise: boolean;
25
+ };
26
+ declare type GaugeRenderOptions = {
27
+ centerX: number;
28
+ centerY: number;
29
+ clockwise: boolean;
30
+ totalAngle: number;
31
+ scaleMaxLimitValue: number;
32
+ startAngle: number;
33
+ outerRadius: number;
34
+ bandWidth: number;
35
+ bandMargin: number;
36
+ hasCategoryAxis: boolean;
37
+ };
38
+ export declare function getScaleMaxLimitValue(scale: ScaleData, totalAngle: number): number;
39
+ export default class RadarPlot extends Component {
40
+ models: RadialPlotModels;
41
+ circularAxisTheme: Required<CircularAxisTheme>;
42
+ initialize(initParam: {
43
+ name: 'radialPlot' | 'gauge';
44
+ }): void;
45
+ render(state: ChartState<RadarChartOptions>): void;
46
+ makeRenderOptionsOnGauge(hasCategoryAxis: boolean, circularAxis: CircularAxisData, categories: string[], scale: Scale): GaugeRenderOptions;
47
+ makeRenderOptions(radialAxes: RadialAxes, type: RadarPlotType, categories?: string[]): RenderOptions;
48
+ renderPlot(renderOptions: RenderOptions): RadialPlotModelType;
49
+ makeSpiderwebPlot(renderOptions: RenderOptions): PolygonModel[];
50
+ makeCirclePlot(renderOptions: RenderOptions): CircleModel[];
51
+ makeArc(renderOptions: RenderOptions): ArcModel[];
52
+ renderLine(renderOptions: RenderOptions): LineModel[];
53
+ renderBands(bands: GaugePlotBand[], renderOptions: GaugeRenderOptions, categories: string[]): SectorModel[];
54
+ }
55
+ export {};
@@ -0,0 +1,188 @@
1
+ import Component from "./component";
2
+ import { getRadialPosition, calculateDegreeToRadian, DEGREE_NEGATIVE_90, DEGREE_360, calculateValidAngle, DEGREE_0, } from "../helpers/sector";
3
+ import { range } from "../helpers/utils";
4
+ import { isLabelAxisOnYAxis } from "../helpers/axes";
5
+ export function getScaleMaxLimitValue(scale, totalAngle) {
6
+ const { limit: { max }, stepSize, } = scale;
7
+ return max + (totalAngle < DEGREE_360 ? DEGREE_0 : stepSize);
8
+ }
9
+ function findCategoryIndex(categories, value) {
10
+ return categories.findIndex((category) => category === value);
11
+ }
12
+ export default class RadarPlot extends Component {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.models = { plot: [], line: [], band: [] };
16
+ }
17
+ initialize(initParam) {
18
+ var _a, _b;
19
+ this.type = 'plot';
20
+ this.name = (_b = (_a = initParam) === null || _a === void 0 ? void 0 : _a.name, (_b !== null && _b !== void 0 ? _b : 'radialPlot'));
21
+ }
22
+ render(state) {
23
+ var _a, _b, _c, _d, _e, _f;
24
+ const { layout, radialAxes, options, series, theme, scale } = state;
25
+ this.rect = layout.plot;
26
+ this.circularAxisTheme = theme.circularAxis;
27
+ const categories = (_a = state.categories, (_a !== null && _a !== void 0 ? _a : []));
28
+ if (this.name === 'gauge') {
29
+ const bandData = (_d = (_c = (_b = options) === null || _b === void 0 ? void 0 : _b.plot) === null || _c === void 0 ? void 0 : _c.bands, (_d !== null && _d !== void 0 ? _d : []));
30
+ const hasCategoryAxis = !isLabelAxisOnYAxis({ series, categories });
31
+ const renderOptions = this.makeRenderOptionsOnGauge(hasCategoryAxis, radialAxes.circularAxis, categories, scale);
32
+ this.models.band = this.renderBands(bandData, renderOptions, categories);
33
+ }
34
+ else {
35
+ const isRadarChart = !!series.radar;
36
+ const plotType = (_f = (_e = options.plot) === null || _e === void 0 ? void 0 : _e.type, (_f !== null && _f !== void 0 ? _f : (isRadarChart ? 'spiderweb' : 'circle')));
37
+ const renderOptions = this.makeRenderOptions(radialAxes, plotType, categories);
38
+ this.models.plot = this.renderPlot(renderOptions);
39
+ this.models.line = series.radialBar ? this.renderLine(renderOptions) : [];
40
+ }
41
+ }
42
+ makeRenderOptionsOnGauge(hasCategoryAxis, circularAxis, categories, scale) {
43
+ const { angle: { total, start }, radius: { outer }, clockwise, centerX, centerY, } = circularAxis;
44
+ const { width: bandWidth, margin: bandMargin } = circularAxis.band;
45
+ return {
46
+ centerX,
47
+ centerY,
48
+ clockwise,
49
+ totalAngle: total,
50
+ scaleMaxLimitValue: hasCategoryAxis
51
+ ? categories.length
52
+ : getScaleMaxLimitValue(scale.circularAxis, total),
53
+ startAngle: start,
54
+ outerRadius: outer,
55
+ bandWidth,
56
+ bandMargin,
57
+ hasCategoryAxis,
58
+ };
59
+ }
60
+ makeRenderOptions(radialAxes, type, categories = []) {
61
+ const { centerX, centerY, radius: { ranges, inner, outer }, } = radialAxes.verticalAxis;
62
+ const { angle: { central, total, start, end, drawingStart }, label: { labels }, tickInterval, clockwise, } = radialAxes.circularAxis;
63
+ const usingArcPlot = total !== DEGREE_360;
64
+ const lineCount = labels.length;
65
+ return {
66
+ type,
67
+ categories,
68
+ centralAngle: central,
69
+ centerX,
70
+ centerY,
71
+ initialRadius: inner,
72
+ radius: outer,
73
+ radiusRanges: ranges,
74
+ lineCount,
75
+ tickInterval,
76
+ drawingStartAngle: drawingStart,
77
+ usingArcPlot,
78
+ startAngle: start,
79
+ endAngle: end,
80
+ clockwise,
81
+ };
82
+ }
83
+ renderPlot(renderOptions) {
84
+ const { type, usingArcPlot } = renderOptions;
85
+ if (usingArcPlot) {
86
+ return this.makeArc(renderOptions);
87
+ }
88
+ if (type === 'spiderweb') {
89
+ return this.makeSpiderwebPlot(renderOptions);
90
+ }
91
+ return this.makeCirclePlot(renderOptions);
92
+ }
93
+ makeSpiderwebPlot(renderOptions) {
94
+ const { centralAngle, centerX, centerY, categories, radiusRanges } = renderOptions;
95
+ const { strokeStyle, lineWidth } = this.circularAxisTheme;
96
+ return radiusRanges.map((radius) => {
97
+ const points = categories.map((_, index) => getRadialPosition(centerX, centerY, radius, calculateDegreeToRadian(centralAngle * index)));
98
+ return {
99
+ type: 'polygon',
100
+ color: strokeStyle,
101
+ lineWidth,
102
+ points,
103
+ };
104
+ });
105
+ }
106
+ makeCirclePlot(renderOptions) {
107
+ const { centerX, centerY, radiusRanges } = renderOptions;
108
+ const { strokeStyle, lineWidth } = this.circularAxisTheme;
109
+ return radiusRanges.map((radius) => ({
110
+ type: 'circle',
111
+ color: 'rgba(0, 0, 0, 0)',
112
+ radius,
113
+ x: centerX,
114
+ y: centerY,
115
+ borderColor: strokeStyle,
116
+ borderWidth: lineWidth,
117
+ }));
118
+ }
119
+ makeArc(renderOptions) {
120
+ const { centerX, centerY, radiusRanges, startAngle, endAngle, clockwise } = renderOptions;
121
+ const { strokeStyle, lineWidth } = this.circularAxisTheme;
122
+ return radiusRanges.map((radius) => ({
123
+ type: 'arc',
124
+ borderWidth: lineWidth,
125
+ borderColor: strokeStyle,
126
+ x: centerX,
127
+ y: centerY,
128
+ angle: { start: startAngle, end: endAngle },
129
+ drawingStartAngle: DEGREE_NEGATIVE_90,
130
+ radius,
131
+ clockwise,
132
+ }));
133
+ }
134
+ renderLine(renderOptions) {
135
+ const { centerX, centerY, initialRadius, radius, lineCount, centralAngle, tickInterval, drawingStartAngle, clockwise, } = renderOptions;
136
+ const { strokeStyle, lineWidth } = this.circularAxisTheme;
137
+ return range(0, lineCount).reduce((acc, cur, index) => {
138
+ const startDegree = drawingStartAngle + centralAngle * index * (clockwise ? 1 : -1);
139
+ const { x, y } = getRadialPosition(centerX, centerY, initialRadius, calculateDegreeToRadian(startDegree));
140
+ const { x: x2, y: y2 } = getRadialPosition(centerX, centerY, radius, calculateDegreeToRadian(startDegree));
141
+ return index % tickInterval === 0
142
+ ? [
143
+ ...acc,
144
+ {
145
+ type: 'line',
146
+ x,
147
+ y,
148
+ x2,
149
+ y2,
150
+ strokeStyle,
151
+ lineWidth,
152
+ },
153
+ ]
154
+ : acc;
155
+ }, []);
156
+ }
157
+ renderBands(bands, renderOptions, categories) {
158
+ const sectors = [];
159
+ const { centerX, centerY, clockwise, totalAngle, scaleMaxLimitValue, startAngle, outerRadius, bandWidth, bandMargin, hasCategoryAxis, } = renderOptions;
160
+ bands.forEach(({ range: rangeData, color }, index) => {
161
+ const value = hasCategoryAxis
162
+ ? findCategoryIndex(categories, rangeData[1].toString()) -
163
+ findCategoryIndex(categories, rangeData[0].toString())
164
+ : Number(rangeData[1]) - Number(rangeData[0]);
165
+ const degree = (value / scaleMaxLimitValue) * totalAngle * (clockwise ? 1 : -1);
166
+ const validDegree = calculateValidAngle(degree);
167
+ const prevModel = sectors[sectors.length - 1];
168
+ const startDegree = index && prevModel ? prevModel.degree.end : startAngle;
169
+ const endDegree = calculateValidAngle(startDegree + validDegree);
170
+ sectors.push({
171
+ type: 'sector',
172
+ color,
173
+ x: centerX,
174
+ y: centerY,
175
+ clockwise,
176
+ degree: {
177
+ start: startDegree,
178
+ end: endDegree,
179
+ },
180
+ radius: {
181
+ inner: outerRadius + bandMargin,
182
+ outer: outerRadius + bandWidth,
183
+ },
184
+ });
185
+ });
186
+ return sectors;
187
+ }
188
+ }
@@ -0,0 +1,61 @@
1
+ import Component from "./component";
2
+ import { AxisData, ChartState, LabelAxisData, Options, Scale, Series } from "../../types/store/store";
3
+ import { RectResponderModel } from "../../types/components/series";
4
+ import { RangeSelectionModels } from "../../types/components/rangeSelection";
5
+ import { RectResponderInfoForCoordinateType } from "../helpers/responders";
6
+ declare type RangeSelectableSeries = Pick<Series, 'line' | 'area' | 'column'>;
7
+ export default class RangeSelection extends Component {
8
+ models: RangeSelectionModels;
9
+ responders: RectResponderModel[];
10
+ startIndex: number;
11
+ private dragStartPosition;
12
+ private dragStartPoint;
13
+ private isDragging;
14
+ initialize(): void;
15
+ render(state: ChartState<Options>, computed: any): void;
16
+ getRectResponderInfoForCoordinateType(series: RangeSelectableSeries, scale: Scale, axisData: LabelAxisData, categories: string[]): RectResponderInfoForCoordinateType[];
17
+ resetSelectionArea(): void;
18
+ onMousedown({ responders, mousePosition }: {
19
+ responders: any;
20
+ mousePosition: any;
21
+ }): void;
22
+ onMouseup({ responders }: {
23
+ responders: RectResponderModel[];
24
+ }): void;
25
+ makeRectResponderModel(categories: string[], axisData: AxisData): RectResponderModel[];
26
+ makeRectResponderModelForCoordinateType(responderInfo: RectResponderInfoForCoordinateType[], categories: string[]): {
27
+ data: {
28
+ name: string;
29
+ value: string;
30
+ };
31
+ type: "rect";
32
+ color?: string | undefined;
33
+ borderColor?: string | undefined;
34
+ style?: import("../../types/components/series").StyleProp<import("../../types/components/series").RectStyle, "shadow"> | undefined;
35
+ thickness?: number | undefined;
36
+ value?: number | import("../../types/options").RangeDataType<number> | null | undefined;
37
+ name?: string | undefined;
38
+ index?: number | undefined;
39
+ x: number;
40
+ y: number;
41
+ width: number;
42
+ height: number;
43
+ label?: string | undefined;
44
+ viewLabel?: string | undefined;
45
+ checked?: boolean | undefined;
46
+ active?: boolean | undefined;
47
+ chartType?: "line" | "bar" | "column" | "area" | "bubble" | "radar" | "pie" | "boxPlot" | "bullet" | "scatter" | "heatmap" | "radialBar" | "gauge" | "treemap" | undefined;
48
+ iconType?: "line" | "rect" | "spectrum" | "circle" | "triangle" | "pentagon" | "star" | "diamond" | "cross" | "hexagon" | undefined;
49
+ useScatterChartIcon?: boolean | undefined;
50
+ rowIndex?: number | undefined;
51
+ columnIndex?: number | undefined;
52
+ colorIndex?: number | undefined;
53
+ colorByCategories?: boolean | undefined;
54
+ }[];
55
+ onMousemove({ responders, mousePosition }: {
56
+ responders: any;
57
+ mousePosition: any;
58
+ }): void;
59
+ onMouseoutComponent(): void;
60
+ }
61
+ export {};