@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,670 @@
1
+ import { SectorStyle } from './brushes';
2
+ import { ScatterSeriesIconType } from './components/series';
3
+
4
+ type SeriesThemeMap = {
5
+ line?: LineChartSeriesTheme;
6
+ area?: AreaChartSeriesTheme;
7
+ scatter?: ScatterChartSeriesTheme;
8
+ heatmap?: HeatmapChartSeriesTheme;
9
+ treemap?: TreemapChartSeriesTheme;
10
+ bar?: BoxChartSeriesTheme;
11
+ column?: BoxChartSeriesTheme;
12
+ bubble?: CommonSeriesTheme;
13
+ pie?: PieChartSeriesTheme;
14
+ radar?: RadarChartSeriesTheme;
15
+ boxPlot?: BoxPlotChartSeriesTheme;
16
+ bullet?: BulletChartSeriesTheme;
17
+ radialBar?: RadialBarChartSeriesTheme;
18
+ gauge?: GaugeChartSeriesTheme;
19
+ };
20
+
21
+ type SeriesTheme =
22
+ | LineChartSeriesTheme
23
+ | AreaChartSeriesTheme
24
+ | ComboChartSeriesTheme
25
+ | HeatmapChartSeriesTheme
26
+ | TreemapChartSeriesTheme
27
+ | PieChartSeriesTheme
28
+ | RadarChartSeriesTheme
29
+ | ScatterChartSeriesTheme
30
+ | BubbleChartSeriesTheme
31
+ | NestedPieChartSeriesTheme
32
+ | BoxChartSeriesTheme
33
+ | BoxPlotChartSeriesTheme
34
+ | BulletChartSeriesTheme
35
+ | GaugeChartSeriesTheme;
36
+
37
+ type FontTheme = {
38
+ fontSize?: number;
39
+ fontFamily?: string;
40
+ fontWeight?: string | number;
41
+ color?: string;
42
+ };
43
+
44
+ type ChartTheme = {
45
+ fontFamily?: string;
46
+ backgroundColor?: string;
47
+ };
48
+
49
+ type LegendTheme = {
50
+ label?: FontTheme;
51
+ };
52
+
53
+ type AxisLabelTheme = FontTheme & {
54
+ textBubble?: Omit<TextBubbleTheme, 'arrow'>;
55
+ };
56
+
57
+ type CircularAxisTheme = {
58
+ label?: AxisLabelTheme;
59
+ lineWidth?: number;
60
+ strokeStyle?: string;
61
+ dotColor?: string;
62
+ title?: FontTheme;
63
+ tick?: {
64
+ lineWidth?: number;
65
+ strokeStyle?: string;
66
+ };
67
+ };
68
+
69
+ type VerticalAxisTheme = {
70
+ label?: AxisLabelTheme;
71
+ };
72
+
73
+ type Theme = {
74
+ chart: ChartTheme;
75
+ series: SeriesThemeMap;
76
+ title: FontTheme;
77
+ xAxis: AxisTheme;
78
+ yAxis: AxisTheme | AxisTheme[];
79
+ verticalAxis: VerticalAxisTheme;
80
+ circularAxis: CircularAxisTheme;
81
+ legend: LegendTheme;
82
+ tooltip: TooltipTheme;
83
+ plot: PlotTheme;
84
+ exportMenu: ExportMenuTheme;
85
+ noData: FontTheme;
86
+ };
87
+
88
+ type AxisTheme = {
89
+ title?: FontTheme;
90
+ label?: FontTheme;
91
+ width?: number;
92
+ color?: string;
93
+ };
94
+
95
+ type TooltipTheme = {
96
+ background?: string;
97
+ borderColor?: string;
98
+ borderWidth?: number;
99
+ borderStyle?: string;
100
+ borderRadius?: number;
101
+ header?: FontTheme;
102
+ body?: FontTheme;
103
+ };
104
+
105
+ type LineTheme = {
106
+ lineColor?: string;
107
+ lineWidth?: number;
108
+ dashSegments?: number[];
109
+ };
110
+
111
+ interface PlotTheme extends LineTheme {
112
+ vertical?: LineTheme;
113
+ horizontal?: LineTheme;
114
+ backgroundColor?: string;
115
+ }
116
+
117
+ type XIconTheme = {
118
+ color?: string;
119
+ lineWidth?: number;
120
+ };
121
+
122
+ type DotIconTheme = {
123
+ color?: string;
124
+ width?: number;
125
+ height?: number;
126
+ gap?: number;
127
+ };
128
+
129
+ type ExportMenuButtonTheme = {
130
+ backgroundColor?: string;
131
+ borderRadius?: number;
132
+ borderWidth?: number;
133
+ borderColor?: string;
134
+ xIcon?: XIconTheme;
135
+ dotIcon?: DotIconTheme;
136
+ };
137
+
138
+ type ExportMenuPanelTheme = BorderTheme & {
139
+ borderRadius?: number;
140
+ header?: FontTheme & {
141
+ backgroundColor?: string;
142
+ };
143
+ body?: FontTheme & {
144
+ backgroundColor?: string;
145
+ };
146
+ };
147
+
148
+ type ExportMenuTheme = {
149
+ button?: ExportMenuButtonTheme;
150
+ panel?: ExportMenuPanelTheme;
151
+ };
152
+
153
+ type ComboChartSeriesTheme =
154
+ | NestedPieChartSeriesTheme
155
+ | LineScatterChartSeriesTheme
156
+ | ColumnLineChartSeriesTheme
157
+ | LineAreaChartSeriesTheme;
158
+
159
+ type SelectSectorStyle = SectorStyle & {
160
+ color?: string;
161
+ restSeries?: {
162
+ areaOpacity?: number;
163
+ };
164
+ areaOpacity?: number;
165
+ };
166
+
167
+ type PieChartSeriesTheme = {
168
+ colors?: string[];
169
+ lineWidth?: number;
170
+ strokeStyle?: string;
171
+ hover?: SectorStyle & { color?: string };
172
+ select?: SelectSectorStyle;
173
+ areaOpacity?: number;
174
+ dataLabels?: PieDataLabelTheme;
175
+ };
176
+
177
+ type NestedPieChartSeriesTheme = Record<string, PieChartSeriesTheme> | PieChartSeriesTheme;
178
+
179
+ interface TreemapChartSeriesTheme {
180
+ colors?: string[];
181
+ startColor?: string;
182
+ endColor?: string;
183
+ borderColor?: string;
184
+ borderWidth?: number;
185
+ select?: {
186
+ color?: string;
187
+ } & BorderTheme;
188
+ hover?: {
189
+ color?: string;
190
+ } & BorderTheme;
191
+ dataLabels?: BoxDataLabel;
192
+ }
193
+
194
+ interface HeatmapChartSeriesTheme {
195
+ startColor: string;
196
+ endColor: string;
197
+ borderColor?: string;
198
+ borderWidth?: number;
199
+ select?: {
200
+ color?: string;
201
+ } & BorderTheme;
202
+ hover?: {
203
+ color?: string;
204
+ } & BorderTheme;
205
+ dataLabels?: BoxDataLabel;
206
+ }
207
+
208
+ type DotTheme = {
209
+ color?: string;
210
+ radius?: number;
211
+ } & BorderTheme;
212
+
213
+ interface LineTypeSeriesTheme {
214
+ color?: string;
215
+ lineWidth?: number;
216
+ dashSegments?: number[];
217
+ }
218
+
219
+ interface ScatterChartSeriesTheme extends CommonSeriesTheme {
220
+ iconTypes?: ScatterSeriesIconType[];
221
+ borderWidth?: number;
222
+ fillColor?: string;
223
+ size?: number;
224
+ select?: {
225
+ size?: number;
226
+ fillColor?: string;
227
+ } & BorderTheme;
228
+ hover?: {
229
+ size?: number;
230
+ fillColor?: string;
231
+ } & BorderTheme;
232
+ }
233
+
234
+ interface BubbleChartSeriesTheme extends CommonSeriesTheme {
235
+ borderWidth?: number;
236
+ borderColor?: string;
237
+ select?: Omit<DotTheme, 'radius'>;
238
+ hover?: Omit<DotTheme, 'radius'>;
239
+ }
240
+
241
+ interface LineChartSeriesTheme extends Omit<LineTypeSeriesTheme, 'color'> {
242
+ colors?: string[];
243
+ dot?: Omit<DotTheme, 'color'>;
244
+ select?: {
245
+ dot?: DotTheme;
246
+ };
247
+ hover?: {
248
+ dot?: DotTheme;
249
+ };
250
+ dataLabels?: BubbleDataLabel;
251
+ }
252
+
253
+ interface CommonSeriesTheme {
254
+ colors?: string[];
255
+ }
256
+
257
+ interface AreaChartSeriesTheme extends LineChartSeriesTheme {
258
+ areaOpacity?: number;
259
+ select?: {
260
+ dot?: DotTheme;
261
+ areaOpacity?: number;
262
+ restSeries?: {
263
+ areaOpacity?: number;
264
+ };
265
+ };
266
+ }
267
+
268
+ interface LineScatterChartSeriesTheme {
269
+ line?: LineChartSeriesTheme;
270
+ scatter?: ScatterChartSeriesTheme;
271
+ colors?: string[];
272
+ }
273
+
274
+ interface ColumnLineChartSeriesTheme {
275
+ column?: BoxChartSeriesTheme;
276
+ line?: LineChartSeriesTheme;
277
+ colors?: string[];
278
+ }
279
+
280
+ interface LineAreaChartSeriesTheme {
281
+ line?: LineChartSeriesTheme;
282
+ area?: AreaChartSeriesTheme;
283
+ colors?: string[];
284
+ }
285
+
286
+ interface BaseThemeOptions {
287
+ chart?: ChartTheme;
288
+ noData?: FontTheme;
289
+ title?: FontTheme;
290
+ legend?: LegendTheme;
291
+ tooltip?: TooltipTheme;
292
+ exportMenu?: ExportMenuTheme;
293
+ }
294
+
295
+ type GroupedRect = {
296
+ color?: string;
297
+ opacity?: number;
298
+ };
299
+
300
+ type BorderTheme = {
301
+ borderColor?: string;
302
+ borderWidth?: number;
303
+ };
304
+
305
+ type ConnectorTheme = {
306
+ color?: string;
307
+ lineWidth?: number;
308
+ dashSegments?: number[];
309
+ };
310
+
311
+ interface BoxChartSeriesTheme extends CommonSeriesTheme {
312
+ barWidth?: number | string;
313
+ areaOpacity?: number;
314
+ hover?: {
315
+ color?: string;
316
+ groupedRect?: GroupedRect;
317
+ } & ShadowTheme &
318
+ BorderTheme;
319
+ select?: {
320
+ color?: string;
321
+ groupedRect?: GroupedRect;
322
+ restSeries?: {
323
+ areaOpacity?: number;
324
+ };
325
+ areaOpacity?: number;
326
+ } & ShadowTheme &
327
+ BorderTheme;
328
+ connector?: ConnectorTheme;
329
+ dataLabels?: BoxTypeDataLabelTheme;
330
+ }
331
+
332
+ interface BulletChartSeriesTheme extends CommonSeriesTheme {
333
+ areaOpacity?: number;
334
+ barWidth?: number | string;
335
+ barWidthRatios?: {
336
+ rangeRatio?: number;
337
+ bulletRatio?: number;
338
+ markerRatio?: number;
339
+ };
340
+ markerLineWidth?: number;
341
+ rangeColors?: string[];
342
+ borderColor?: string;
343
+ borderWidth?: number;
344
+ hover?: {
345
+ color?: string;
346
+ groupedRect?: GroupedRect;
347
+ } & BorderTheme &
348
+ ShadowTheme;
349
+ select?: {
350
+ color?: string;
351
+ groupedRect?: GroupedRect;
352
+ restSeries?: {
353
+ areaOpacity?: number;
354
+ };
355
+ areaOpacity?: number;
356
+ } & BorderTheme &
357
+ ShadowTheme;
358
+ dataLabels?: BulletDataLabelTheme;
359
+ }
360
+
361
+ interface BoxPlotChartSeriesTheme extends CommonSeriesTheme {
362
+ areaOpacity?: number;
363
+ barWidth?: number | string;
364
+ barWidthRatios?: {
365
+ barRatio?: number;
366
+ minMaxBarRatio?: number;
367
+ };
368
+ dot?: BoxPlotDotTheme;
369
+ line?: BoxPlotLineTypeTheme;
370
+ rect?: BorderTheme;
371
+ hover?: {
372
+ color?: string;
373
+ rect?: BorderTheme;
374
+ dot?: BoxPlotDotTheme;
375
+ line?: BoxPlotLineTypeTheme;
376
+ } & ShadowTheme;
377
+ select?: {
378
+ color?: string;
379
+ rect?: BorderTheme;
380
+ dot?: BoxPlotDotTheme;
381
+ line?: BoxPlotLineTypeTheme;
382
+ restSeries?: {
383
+ areaOpacity?: number;
384
+ };
385
+ areaOpacity?: number;
386
+ } & ShadowTheme;
387
+ }
388
+
389
+ type LineTypeTheme = { lineWidth?: number; color?: string };
390
+
391
+ type BoxPlotLineTypeTheme = {
392
+ whisker?: LineTypeTheme;
393
+ minimum?: LineTypeTheme;
394
+ maximum?: LineTypeTheme;
395
+ median?: LineTypeTheme;
396
+ };
397
+
398
+ type BoxPlotDotTheme = DotTheme & { useSeriesColor?: boolean };
399
+
400
+ type ShadowTheme = {
401
+ shadowColor?: string;
402
+ shadowOffsetX?: number;
403
+ shadowOffsetY?: number;
404
+ shadowBlur?: number;
405
+ };
406
+
407
+ interface RadarChartSeriesTheme {
408
+ colors?: string[];
409
+ lineWidth?: number;
410
+ dashSegments?: number[];
411
+ areaOpacity?: number;
412
+ dot?: DotTheme;
413
+ select?: {
414
+ dot?: DotTheme;
415
+ areaOpacity?: number;
416
+ restSeries?: {
417
+ areaOpacity: number;
418
+ };
419
+ };
420
+ hover?: {
421
+ dot?: DotTheme;
422
+ };
423
+ }
424
+
425
+ type ArrowDirection = 'top' | 'right' | 'bottom' | 'left';
426
+
427
+ type ArrowTheme = {
428
+ visible?: boolean;
429
+ width?: number;
430
+ height?: number;
431
+ direction?: ArrowDirection;
432
+ };
433
+
434
+ type TextBubbleTheme = {
435
+ visible?: boolean;
436
+ arrow?: ArrowTheme;
437
+ paddingX?: number;
438
+ paddingY?: number;
439
+ backgroundColor?: string;
440
+ borderRadius?: number;
441
+ textAlign?: CanvasTextAlign;
442
+ } & BorderTheme &
443
+ ShadowTheme;
444
+
445
+ type CalloutTheme = { lineWidth?: number; lineColor?: string; useSeriesColor?: boolean };
446
+
447
+ type TextStrokeTheme = {
448
+ lineWidth?: number;
449
+ textStrokeColor?: string;
450
+ shadowColor?: string;
451
+ shadowBlur?: number;
452
+ };
453
+
454
+ interface CommonDataLabelTheme extends FontTheme, TextStrokeTheme {
455
+ useSeriesColor?: boolean;
456
+ }
457
+
458
+ interface BubbleDataLabel extends CommonDataLabelTheme {
459
+ textBubble?: TextBubbleTheme;
460
+ }
461
+
462
+ interface BoxDataLabel extends CommonDataLabelTheme {
463
+ textBubble?: Omit<TextBubbleTheme, 'arrow'>;
464
+ }
465
+
466
+ interface BoxTypeDataLabelTheme extends BubbleDataLabel {
467
+ stackTotal?: BubbleDataLabel;
468
+ }
469
+
470
+ interface BulletDataLabelTheme extends BubbleDataLabel {
471
+ marker?: BubbleDataLabel;
472
+ }
473
+
474
+ interface PieDataLabelTheme extends BoxDataLabel {
475
+ pieSeriesName?: BoxDataLabel;
476
+ callout?: CalloutTheme;
477
+ }
478
+
479
+ type GroupedSector = {
480
+ color?: string;
481
+ opacity?: number;
482
+ };
483
+
484
+ interface RadialBarChartSeriesTheme extends CommonSeriesTheme {
485
+ barWidth?: number | string;
486
+ colors?: string[];
487
+ lineWidth?: number;
488
+ strokeStyle?: string;
489
+ hover?: SectorStyle & { color?: string; groupedSector?: GroupedSector };
490
+ select?: SelectSectorStyle & { groupedSector?: GroupedSector };
491
+ areaOpacity?: number;
492
+ dataLabels?: BoxDataLabel;
493
+ }
494
+
495
+ type DataLabelTheme =
496
+ | BubbleDataLabel
497
+ | BoxDataLabel
498
+ | BoxTypeDataLabelTheme
499
+ | BulletDataLabelTheme
500
+ | PieDataLabelTheme;
501
+
502
+ interface LineChartThemeOptions extends BaseThemeOptions {
503
+ series?: LineChartSeriesTheme;
504
+ yAxis?: AxisTheme | AxisTheme[];
505
+ xAxis?: AxisTheme;
506
+ plot?: PlotTheme;
507
+ }
508
+
509
+ interface AreaChartThemeOptions extends BaseThemeOptions {
510
+ series?: AreaChartSeriesTheme;
511
+ yAxis?: AxisTheme | AxisTheme[];
512
+ xAxis?: AxisTheme;
513
+ plot?: PlotTheme;
514
+ }
515
+
516
+ interface LineAreaChartThemeOptions extends BaseThemeOptions {
517
+ series?: LineAreaChartSeriesTheme;
518
+ yAxis?: AxisTheme | AxisTheme[];
519
+ xAxis?: AxisTheme;
520
+ plot?: PlotTheme;
521
+ }
522
+
523
+ interface LineScatterChartThemeOptions extends BaseThemeOptions {
524
+ series?: LineScatterChartSeriesTheme;
525
+ yAxis?: AxisTheme | AxisTheme[];
526
+ xAxis?: AxisTheme;
527
+ plot?: PlotTheme;
528
+ }
529
+
530
+ interface PieChartThemeOptions extends BaseThemeOptions {
531
+ series?: PieChartSeriesTheme;
532
+ plot?: PlotTheme;
533
+ }
534
+
535
+ interface NestedPieChartThemeOptions extends BaseThemeOptions {
536
+ series?: NestedPieChartSeriesTheme;
537
+ plot?: PlotTheme;
538
+ }
539
+
540
+ interface RadarChartThemeOptions extends BaseThemeOptions {
541
+ series?: RadarChartSeriesTheme;
542
+ verticalAxis?: VerticalAxisTheme;
543
+ circularAxis?: CircularAxisTheme;
544
+ plot?: LineTheme;
545
+ }
546
+
547
+ interface HeatmapChartThemeOptions extends BaseThemeOptions {
548
+ series?: HeatmapChartSeriesTheme;
549
+ yAxis?: AxisTheme;
550
+ xAxis?: AxisTheme;
551
+ plot?: PlotTheme;
552
+ }
553
+
554
+ interface TreemapChartThemeOptions extends BaseThemeOptions {
555
+ series?: TreemapChartSeriesTheme;
556
+ }
557
+
558
+ interface ScatterChartThemeOptions extends BaseThemeOptions {
559
+ series?: ScatterChartSeriesTheme;
560
+ yAxis?: AxisTheme;
561
+ xAxis?: AxisTheme;
562
+ plot?: PlotTheme;
563
+ }
564
+
565
+ interface BubbleChartThemeOptions extends BaseThemeOptions {
566
+ series?: BubbleChartSeriesTheme;
567
+ yAxis?: AxisTheme;
568
+ xAxis?: AxisTheme;
569
+ plot?: PlotTheme;
570
+ }
571
+
572
+ interface BoxChartThemeOptions extends BaseThemeOptions {
573
+ series?: BoxChartSeriesTheme;
574
+ yAxis?: AxisTheme | AxisTheme[];
575
+ xAxis?: AxisTheme;
576
+ plot?: PlotTheme;
577
+ }
578
+
579
+ interface BulletCharThemeOptions extends BaseThemeOptions {
580
+ series?: BulletChartSeriesTheme;
581
+ yAxis?: AxisTheme;
582
+ xAxis?: AxisTheme;
583
+ plot?: PlotTheme;
584
+ }
585
+
586
+ interface BoxPlotCharThemeOptions extends BaseThemeOptions {
587
+ series?: BoxPlotChartSeriesTheme;
588
+ yAxis?: AxisTheme;
589
+ xAxis?: AxisTheme;
590
+ plot?: PlotTheme;
591
+ }
592
+
593
+ interface ColumnLineChartThemeOptions extends BaseThemeOptions {
594
+ series?: ColumnLineChartSeriesTheme;
595
+ yAxis?: AxisTheme | AxisTheme[];
596
+ xAxis?: AxisTheme;
597
+ plot?: PlotTheme;
598
+ }
599
+
600
+ type CheckAnchorPieSeries = {
601
+ hasOuterAnchor: boolean;
602
+ hasOuterAnchorPieSeriesName: boolean;
603
+ };
604
+
605
+ interface RadialBarChartThemeOptions extends BaseThemeOptions {
606
+ series?: RadialBarChartSeriesTheme;
607
+ verticalAxis?: VerticalAxisTheme;
608
+ circularAxis?: CircularAxisTheme;
609
+ plot?: LineTheme;
610
+ }
611
+
612
+ type PinTheme = {
613
+ radius: number;
614
+ color: string;
615
+ borderWidth: number;
616
+ borderColor: string;
617
+ };
618
+
619
+ type ClockHandSizeTheme = string | number | number[] | string[];
620
+
621
+ type ClockHandTheme = {
622
+ color: string;
623
+ size: ClockHandSizeTheme;
624
+ baseLine: number;
625
+ };
626
+
627
+ type SolidTheme = {
628
+ barWidth?: number | string;
629
+ lineWidth?: number;
630
+ strokeStyle?: string;
631
+ shadowColor?: string;
632
+ shadowBlur?: number;
633
+ shadowOffsetX?: number;
634
+ shadowOffsetY?: number;
635
+ color?: string;
636
+ backgroundSolid?: { color?: string };
637
+ };
638
+
639
+ interface GaugeChartSeriesTheme extends CommonSeriesTheme {
640
+ areaOpacity?: number;
641
+ solid?: SolidTheme;
642
+ clockHand?: Partial<ClockHandTheme>;
643
+ pin?: Partial<PinTheme>;
644
+ hover?: {
645
+ clockHand?: Partial<ClockHandTheme>;
646
+ pin?: Partial<PinTheme>;
647
+ solid?: Omit<SolidTheme, 'backgroundSolid'>;
648
+ };
649
+ select?: {
650
+ clockHand?: Partial<ClockHandTheme>;
651
+ pin?: Partial<PinTheme>;
652
+ solid?: Omit<SolidTheme, 'backgroundSolid'>;
653
+ areaOpacity?: number;
654
+ restSeries?: {
655
+ areaOpacity?: number;
656
+ };
657
+ };
658
+ dataLabels?: BoxDataLabel;
659
+ }
660
+
661
+ type GaugePlotTheme = {
662
+ bands: {
663
+ barWidth?: number;
664
+ };
665
+ };
666
+ interface GaugeChartThemeOptions extends BaseThemeOptions {
667
+ series?: GaugeChartSeriesTheme;
668
+ circularAxis?: CircularAxisTheme;
669
+ plot?: GaugePlotTheme;
670
+ }