@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,292 @@
1
+ import Chart from "./chart";
2
+ import heatmapAxes from "../store/heatmapAxes";
3
+ import heatmapSeriesData from "../store/heatmapSeriesData";
4
+ import colorValueScale from "../store/colorValueScale";
5
+ import Tooltip from "../component/tooltip";
6
+ import Title from "../component/title";
7
+ import ExportMenu from "../component/exportMenu";
8
+ import HoveredSeries from "../component/hoveredSeries";
9
+ import DataLabels from "../component/dataLabels";
10
+ import SpectrumLegend from "../component/spectrumLegend";
11
+ import HeatmapSeries from "../component/heatmapSeries";
12
+ import AxisTitle from "../component/axisTitle";
13
+ import Axis from "../component/axis";
14
+ import SelectedSeries from "../component/selectedSeries";
15
+ import Background from "../component/background";
16
+ import NoDataText from "../component/noDataText";
17
+ import * as basicBrush from "../brushes/basic";
18
+ import * as legendBrush from "../brushes/legend";
19
+ import * as labelBrush from "../brushes/label";
20
+ import * as exportMenuBrush from "../brushes/exportMenu";
21
+ import * as dataLabelBrush from "../brushes/dataLabel";
22
+ import * as spectrumLegendBrush from "../brushes/spectrumLegend";
23
+ import * as axisBrush from "../brushes/axis";
24
+ function getSeriesWithYCategory(series, categories) {
25
+ return series.map((rowSeries, y) => ({
26
+ data: rowSeries,
27
+ yCategory: categories.y[y],
28
+ }));
29
+ }
30
+ /**
31
+ * @class
32
+ * @classdesc Heatmap Chart
33
+ * @param {Object} props
34
+ * @param {HTMLElement} props.el - The target element to create chart.
35
+ * @param {Object} props.data - Data for making Heatmap Chart.
36
+ * @param {Object} props.data.categories
37
+ * @param {Array<string>} props.data.categories.x - X Categories.
38
+ * @param {Array<string>} props.data.categories.y - Y Categories.
39
+ * @param {Array<Array<number>>} props.data.series - Series data.
40
+ * @param {Object} [props.options] - Options for making Heatmap Chart.
41
+ * @param {Object} [props.options.chart]
42
+ * @param {string|Object} [props.options.chart.title] - Chart title text or options.
43
+ * @param {string} [props.options.chart.title.text] - Chart title text.
44
+ * @param {number} [props.options.chart.title.offsetX] - Offset value to move title horizontally.
45
+ * @param {number} [props.options.chart.title.offsetY] - Offset value to move title vertically.
46
+ * @param {string} [props.options.chart.title.align] - Chart text align. 'left', 'right', 'center' is available.
47
+ * @param {boolean|Object} [props.options.chart.animation] - Whether to use animation and duration when rendering the initial chart.
48
+ * @param {number|string} [props.options.chart.width] - Chart width. 'auto' or if not write, the width of the parent container is followed. 'auto' or if not created, the width of the parent container is followed.
49
+ * @param {number|string} [props.options.chart.height] - Chart height. 'auto' or if not write, the width of the parent container is followed. 'auto' or if not created, the height of the parent container is followed.
50
+ * @param {Object} [props.options.series]
51
+ * @param {boolean} [props.options.series.selectable=false] - Whether to make selectable series or not.
52
+ * @param {boolean} [props.options.series.shift=false] - Whether to use shift when addData or not.
53
+ * @param {Object} [props.options.series.dataLabels] - Set the visibility, location, and formatting of dataLabel. For specific information, refer to the {@link https://github.com/nhn/tui.chart|DataLabels guide} on github.
54
+ * @param {Object} [props.options.xAxis]
55
+ * @param {string|Object} [props.options.xAxis.title] - Axis title.
56
+ * @param {boolean} [props.options.xAxis.rotateLabel=true] - Whether to allow axis label rotation.
57
+ * @param {boolean|Object} [props.options.xAxis.date] - Whether the x axis label is of date type. Format option used for date type. Whether the x axis label is of date type. If use date type, format option used for date type.
58
+ * @param {Object} [props.options.xAxis.tick] - Option to adjust tick interval.
59
+ * @param {Object} [props.options.xAxis.label] - Option to adjust label interval.
60
+ * @param {Object} [props.options.xAxis.scale] - Option to adjust axis minimum, maximum, step size.
61
+ * @param {number} [props.options.xAxis.width] - Width of xAxis.
62
+ * @param {number} [props.options.xAxis.height] - Height of xAxis.
63
+ * @param {Object|Array<Object>} [props.options.yAxis] - If this option is an array type, use the secondary y axis.
64
+ * @param {string|Object} [props.options.yAxis.title] - Axis title.
65
+ * @param {boolean|Object} [props.options.yAxis.date] - Whether the y axis label is of date type. Format option used for date type. Whether the y axis label is of date type. If use date type, format option used for date type.
66
+ * @param {Object} [props.options.yAxis.tick] - Option to adjust tick interval.
67
+ * @param {Object} [props.options.yAxis.label] - Option to adjust label interval.
68
+ * @param {Object} [props.options.yAxis.scale] - Option to adjust axis minimum, maximum, step size.
69
+ * @param {number} [props.options.yAxis.width] - Width of yAxis.
70
+ * @param {number} [props.options.yAxis.height] - Height of yAxis.
71
+ * @param {Object} [props.options.plot]
72
+ * @param {number} [props.options.plot.width] - Width of plot.
73
+ * @param {number} [props.options.plot.height] - Height of plot.
74
+ * @param {boolean} [props.options.plot.visible] - Whether to show plot line.
75
+ * @param {Object} [props.options.legend]
76
+ * @param {string} [props.options.legend.align] - Legend align. 'top', 'bottom', 'right', 'left' is available.
77
+ * @param {boolean} [props.options.legend.visible] - Whether to show legend.
78
+ * @param {number} [props.options.legend.width] - Width of legend.
79
+ * @param {Object} [props.options.exportMenu]
80
+ * @param {boolean} [props.options.exportMenu.visible] - Whether to show export menu.
81
+ * @param {string} [props.options.exportMenu.filename] - File name applied when downloading.
82
+ * @param {Object} [props.options.tooltip]
83
+ * @param {number} [props.options.tooltip.offsetX] - Offset value to move title horizontally.
84
+ * @param {number} [props.options.tooltip.offsetY] - Offset value to move title vertically.
85
+ * @param {Function} [props.options.tooltip.formatter] - Function to format data value.
86
+ * @param {Function} [props.options.tooltip.template] - Function to create custom template. For specific information, refer to the {@link https://github.com/nhn/tui.chart|Tooltip guide} on github.
87
+ * @param {Object} [props.options.responsive] - Rules for changing chart options. For specific information, refer to the {@link https://github.com/nhn/tui.chart|Responsive guide} on github.
88
+ * @param {boolean|Object} [props.options.responsive.animation] - Animation duration when the chart is modified.
89
+ * @param {Array<Object>} [props.options.responsive.rules] - Rules for the Chart to Respond.
90
+ * @param {Object} [props.options.lang] - Options for changing the text displayed on the chart or i18n languages.
91
+ * @param {Object} [props.options.lang.noData] - No Data Layer Text.
92
+ * @param {Object} [props.options.theme] - Chart theme options. For specific information, refer to the {@link https://github.com/nhn/tui.chart|Heatmap Chart guide} on github.
93
+ * @param {Object} [props.options.theme.chart] - Chart font theme.
94
+ * @param {Object} [props.options.theme.noData] - No Data Layer Text theme.
95
+ * @param {Object} [props.options.theme.series] - Series theme.
96
+ * @param {Object} [props.options.theme.title] - Title theme.
97
+ * @param {Object} [props.options.theme.xAxis] - X Axis theme.
98
+ * @param {Object} [props.options.theme.yAxis] - Y Axis theme.
99
+ * @param {Object} [props.options.theme.legend] - Legend theme.
100
+ * @param {Object} [props.options.theme.tooltip] - Tooltip theme.
101
+ * @param {Object} [props.options.theme.plot] - Plot theme.
102
+ * @param {Object} [props.options.theme.exportMenu] - ExportMenu theme.
103
+ * @extends Chart
104
+ */
105
+ export default class HeatmapChart extends Chart {
106
+ constructor(props) {
107
+ super({
108
+ el: props.el,
109
+ categories: props.data.categories,
110
+ options: props.options,
111
+ series: {
112
+ heatmap: getSeriesWithYCategory(props.data.series, props.data.categories),
113
+ },
114
+ modules: [heatmapSeriesData, colorValueScale, heatmapAxes],
115
+ });
116
+ }
117
+ initialize() {
118
+ super.initialize();
119
+ this.componentManager.add(Background);
120
+ this.componentManager.add(Title);
121
+ this.componentManager.add(SpectrumLegend);
122
+ this.componentManager.add(ExportMenu, { chartEl: this.el });
123
+ this.componentManager.add(HeatmapSeries);
124
+ this.componentManager.add(Axis, { name: 'yAxis' });
125
+ this.componentManager.add(Axis, { name: 'xAxis' });
126
+ this.componentManager.add(AxisTitle, { name: 'xAxis' });
127
+ this.componentManager.add(AxisTitle, { name: 'yAxis' });
128
+ this.componentManager.add(HoveredSeries);
129
+ this.componentManager.add(SelectedSeries);
130
+ this.componentManager.add(DataLabels);
131
+ this.componentManager.add(Tooltip, { chartEl: this.el });
132
+ this.componentManager.add(NoDataText);
133
+ this.painter.addGroups([
134
+ basicBrush,
135
+ axisBrush,
136
+ legendBrush,
137
+ labelBrush,
138
+ exportMenuBrush,
139
+ dataLabelBrush,
140
+ spectrumLegendBrush,
141
+ ]);
142
+ }
143
+ /**
144
+ * Add data.
145
+ * @param {Array} data - Array of data to be added.
146
+ * @param {string} category - Category to be added.
147
+ * @api
148
+ * @example
149
+ * chart.addData([10, 20], '6');
150
+ */
151
+ addData(data, category) {
152
+ this.animationControlFlag.updating = true;
153
+ this.resetSeries();
154
+ this.store.dispatch('addData', { data, category });
155
+ }
156
+ /**
157
+ * Add series.
158
+ * @param {Object} data - Data to be added.
159
+ * @param {string} data.name - Series name.
160
+ * @param {Array<number>} data.data - Array of data to be added.
161
+ * @param {Object} dataInfo - Category information of the series.
162
+ * @param {Object} dataInfo.category - Y category.
163
+ * @api
164
+ * @example
165
+ * chart.addSeries({
166
+ * name: 'newSeries',
167
+ * data: [10, 100, 50, 40, 70, 55, 33, 70, 90, 110],
168
+ * });
169
+ */
170
+ addSeries(data, dataInfo) {
171
+ this.resetSeries();
172
+ this.store.dispatch('addHeatmapSeries', Object.assign({ data }, dataInfo));
173
+ }
174
+ /**
175
+ * Convert the chart data to new data.
176
+ * @param {Object} data - Data to be set.
177
+ * @param {Array<string>} data.categories.x - X Categories.
178
+ * @param {Array<string>} data.categories.y - Y Categories.
179
+ * @param {Array<Array<number>>} data.series - Series data.
180
+ * @api
181
+ * @example
182
+ * chart.setData({
183
+ * categories: {
184
+ * x: ['1', '2', '3' ],
185
+ * y: ['A', 'B'],
186
+ * },
187
+ * series: [
188
+ * [1, 2, 3],
189
+ * [4, 5, 6],
190
+ * ]
191
+ * });
192
+ */
193
+ setData(data) {
194
+ const { categories, series } = data;
195
+ this.resetSeries();
196
+ this.store.dispatch('setData', {
197
+ series: { heatmap: getSeriesWithYCategory(series, categories) },
198
+ categories,
199
+ });
200
+ }
201
+ /**
202
+ * Hide series data label.
203
+ * @api
204
+ * @example
205
+ * chart.hideSeriesDataLabel();
206
+ */
207
+ hideSeriesDataLabel() {
208
+ this.store.dispatch('updateOptions', {
209
+ options: { series: { dataLabels: { visible: false } } },
210
+ });
211
+ }
212
+ /**
213
+ * Show series data label.
214
+ * @api
215
+ * @example
216
+ * chart.showSeriesDataLabel();
217
+ */
218
+ showSeriesDataLabel() {
219
+ this.store.dispatch('updateOptions', {
220
+ options: { series: { dataLabels: { visible: true } } },
221
+ });
222
+ }
223
+ /**
224
+ * Convert the chart options to new options.
225
+ * @param {Object} options - Chart options
226
+ * @api
227
+ * @example
228
+ * chart.setOptions({
229
+ * chart: {
230
+ * width: 500,
231
+ * height: 'auto',
232
+ * title: 'Energy Usage',
233
+ * },
234
+ * xAxis: {
235
+ * title: 'Month',
236
+ * },
237
+ * yAxis: {
238
+ * title: 'Energy (kWh)',
239
+ * },
240
+ * series: {
241
+ * selectable: true,
242
+ * },
243
+ * tooltip: {
244
+ * formatter: (value) => `${value}kWh`,
245
+ * },
246
+ * });
247
+ */
248
+ setOptions(options) {
249
+ this.resetSeries();
250
+ this.dispatchOptionsEvent('initOptions', options);
251
+ }
252
+ /**
253
+ * Update chart options.
254
+ * @param {Object} options - Chart options
255
+ * @api
256
+ * @example
257
+ * chart.updateOptions({
258
+ * chart: {
259
+ * height: 'auto',
260
+ * title: 'Energy Usage',
261
+ * },
262
+ * tooltip: {
263
+ * formatter: (value) => `${value}kWh`,
264
+ * },
265
+ * });
266
+ */
267
+ updateOptions(options) {
268
+ this.resetSeries();
269
+ this.dispatchOptionsEvent('updateOptions', options);
270
+ }
271
+ /**
272
+ * Show tooltip.
273
+ * @param {Object} seriesInfo - Information of the series for the tooltip to be displayed.
274
+ * @param {number} seriesInfo.seriesIndex - Index of series.
275
+ * @param {number} seriesInfo.index - Index of data within series.
276
+ * @api
277
+ * @example
278
+ * chart.showTooltip({index: 1, seriesIndex: 2});
279
+ */
280
+ showTooltip(seriesInfo) {
281
+ this.eventBus.emit('showTooltip', Object.assign(Object.assign({}, seriesInfo), { state: this.store.state }));
282
+ }
283
+ /**
284
+ * Hide tooltip.
285
+ * @api
286
+ * @example
287
+ * chart.hideTooltip();
288
+ */
289
+ hideTooltip() {
290
+ this.eventBus.emit('hideTooltip');
291
+ }
292
+ }
@@ -0,0 +1,271 @@
1
+ import Chart from "./chart";
2
+ import { AreaSeriesDataType, AreaSeriesInput, LineAreaChartOptions, LineAreaData, LineSeriesDataType, LineSeriesInput, PlotBand, PlotLine } from "../../types/options";
3
+ import { LineAreaChartProps, AddSeriesDataInfo, SelectSeriesInfo } from "../../types/charts";
4
+ /**
5
+ * @class
6
+ * @classdesc LineArea Chart
7
+ * @param {Object} props
8
+ * @param {HTMLElement} props.el - The target element to create chart.
9
+ * @param {Object} props.data - Data for making LineArea Chart.
10
+ * @param {Array<string>} props.data.categories - Categories.
11
+ * @param {Array<Object>} props.data.series - Series data.
12
+ * @param {Array<Object>} props.data.series.line - Line series data. Coordinate types data is not possible.
13
+ * @param {Array<Object>} props.data.series.area - Area series data.
14
+ * @param {Object} [props.options] - Options for making LineArea Chart.
15
+ * @param {Object} [props.options.chart]
16
+ * @param {string|Object} [props.options.chart.title] - Chart title text or options.
17
+ * @param {string} [props.options.chart.title.text] - Chart title text.
18
+ * @param {number} [props.options.chart.title.offsetX] - Offset value to move title horizontally.
19
+ * @param {number} [props.options.chart.title.offsetY] - Offset value to move title vertically.
20
+ * @param {string} [props.options.chart.title.align] - Chart text align. 'left', 'right', 'center' is available.
21
+ * @param {boolean|Object} [props.options.chart.animation] - Whether to use animation and duration when rendering the initial chart.
22
+ * @param {number|string} [props.options.chart.width] - Chart width. 'auto' or if not write, the width of the parent container is followed. 'auto' or if not created, the width of the parent container is followed.
23
+ * @param {number|string} [props.options.chart.height] - Chart height. 'auto' or if not write, the width of the parent container is followed. 'auto' or if not created, the height of the parent container is followed.
24
+ * @param {Object} [props.options.series] - Write common options in the upper depth and separate options to be applied to each chart.
25
+ * @param {Object} [props.options.series.line] - Options to be applied to the line chart. 'spline', 'showDot', 'dataLabels' is available. For specific information, refer to the {@link https://github.com/nhn/tui.chart|Line Chart guide} on github.
26
+ * @param {Object} [props.options.series.area] - Options to be applied to the area chart. 'stack', 'spline', 'showDot', 'dataLabels' is available. For specific information, refer to the {@link https://github.com/nhn/tui.chart|Area Chart guide} on github.
27
+ * @param {boolean} [props.options.series.zoomable=false] - Whether to use zoom feature or not.
28
+ * @param {boolean} [props.options.series.rangeSelectable=false] - Whether to use range selection feature or not.
29
+ * @param {boolean} [props.options.series.showDot=false] - Whether to show dot or not.
30
+ * @param {boolean} [props.options.series.spline=false] - Whether to make spline chart or not.
31
+ * @param {boolean} [props.options.series.selectable=false] - Whether to make selectable series or not.
32
+ * @param {boolean} [props.options.series.shift=false] - Whether to use shift when addData or not.
33
+ * @param {Object} [props.options.series.dataLabels] - Set the visibility, location, and formatting of dataLabel. For specific information, refer to the {@link https://github.com/nhn/tui.chart|DataLabels guide} on github.
34
+ * @param {Object} [props.options.xAxis]
35
+ * @param {string|Object} [props.options.xAxis.title] - Axis title.
36
+ * @param {boolean} [props.options.xAxis.pointOnColumn=false] - Whether to move the start of the chart to the center of the column.
37
+ * @param {boolean} [props.options.xAxis.rotateLabel=true] - Whether to allow axis label rotation.
38
+ * @param {boolean|Object} [props.options.xAxis.date] - Whether the x axis label is of date type. Format option used for date type. Whether the x axis label is of date type. If use date type, format option used for date type.
39
+ * @param {Object} [props.options.xAxis.tick] - Option to adjust tick interval.
40
+ * @param {Object} [props.options.xAxis.label] - Option to adjust label interval.
41
+ * @param {Object} [props.options.xAxis.scale] - Option to adjust axis minimum, maximum, step size.
42
+ * @param {number} [props.options.xAxis.width] - Width of xAxis.
43
+ * @param {number} [props.options.xAxis.height] - Height of xAxis.
44
+ * @param {Object|Array<Object>} [props.options.yAxis] - If this option is an array type, use the secondary y axis.
45
+ * @param {string|Object} [props.options.yAxis.title] - Axis title.
46
+ * @param {Object} [props.options.yAxis.tick] - Option to adjust tick interval.
47
+ * @param {Object} [props.options.yAxis.label] - Option to adjust label interval.
48
+ * @param {Object} [props.options.yAxis.scale] - Option to adjust axis minimum, maximum, step size.
49
+ * @param {number} [props.options.yAxis.width] - Width of yAxis.
50
+ * @param {number} [props.options.yAxis.height] - Height of yAxis.
51
+ * @param {Object} [props.options.plot]
52
+ * @param {number} [props.options.plot.width] - Width of plot.
53
+ * @param {number} [props.options.plot.height] - Height of plot.
54
+ * @param {boolean} [props.options.plot.visible] - Whether to show plot line.
55
+ * @param {Array<Object>} [props.options.plot.lines] - Plot lines information. For specific information, refer to the {@link https://github.com/nhn/tui.chart|Plot guide} on github.
56
+ * @param {Array<Object>} [props.options.plot.bands] - Plot bands information. For specific information, refer to the {@link https://github.com/nhn/tui.chart|Plot guide} on github.
57
+ * @param {Object} [props.options.legend]
58
+ * @param {string} [props.options.legend.align] - Legend align. 'top', 'bottom', 'right', 'left' is available.
59
+ * @param {string} [props.options.legend.showCheckbox] - Whether to show checkbox.
60
+ * @param {boolean} [props.options.legend.visible] - Whether to show legend.
61
+ * @param {number} [props.options.legend.width] - Width of legend.
62
+ * @param {Object} [props.options.legend.item] - `width` and `overflow` options of the legend item. For specific information, refer to the {@link https://github.com/nhn/tui.chart|Legend guide} on github.
63
+ * @param {Object} [props.options.exportMenu]
64
+ * @param {boolean} [props.options.exportMenu.visible] - Whether to show export menu.
65
+ * @param {string} [props.options.exportMenu.filename] - File name applied when downloading.
66
+ * @param {Object} [props.options.tooltip]
67
+ * @param {number} [props.options.tooltip.offsetX] - Offset value to move title horizontally.
68
+ * @param {number} [props.options.tooltip.offsetY] - Offset value to move title vertically.
69
+ * @param {Function} [props.options.tooltip.formatter] - Function to format data value.
70
+ * @param {Function} [props.options.tooltip.template] - Function to create custom template. For specific information, refer to the {@link https://github.com/nhn/tui.chart|Tooltip guide} on github.
71
+ * @param {Object} [props.options.responsive] - Rules for changing chart options. For specific information, refer to the {@link https://github.com/nhn/tui.chart|Responsive guide} on github.
72
+ * @param {boolean|Object} [props.options.responsive.animation] - Animation duration when the chart is modified.
73
+ * @param {Array<Object>} [props.options.responsive.rules] - Rules for the Chart to Respond.
74
+ * @param {Object} [props.options.lang] - Options for changing the text displayed on the chart or i18n languages.
75
+ * @param {Object} [props.options.lang.noData] - No Data Layer Text.
76
+ * @param {Object} [props.options.theme] - Chart theme options. For specific information, refer to the {@link https://github.com/nhn/tui.chart|LineArea Chart guide} on github.
77
+ * @param {Object} [props.options.theme.chart] - Chart font theme.
78
+ * @param {Object} [props.options.theme.noData] - No Data Layer Text theme.
79
+ * @param {Object} [props.options.theme.series] - Series theme. Each theme to be applied to the two charts should be written separately.
80
+ * @param {Object} [props.options.theme.title] - Title theme.
81
+ * @param {Object} [props.options.theme.xAxis] - X Axis theme.
82
+ * @param {Object|Array<Object>} [props.options.theme.yAxis] - Y Axis theme. In the case of an arrangement, the first is the main axis and the second is the theme for the secondary axis.
83
+ * @param {Object} [props.options.theme.legend] - Legend theme.
84
+ * @param {Object} [props.options.theme.tooltip] - Tooltip theme.
85
+ * @param {Object} [props.options.theme.plot] - Plot theme.
86
+ * @param {Object} [props.options.theme.exportMenu] - ExportMenu theme.
87
+ * @extends Chart
88
+ */
89
+ export default class LineAreaChart extends Chart<LineAreaChartOptions> {
90
+ constructor(props: LineAreaChartProps);
91
+ protected initialize(): void;
92
+ /**
93
+ * Add data.
94
+ * @param {Array<number>} data - Array of data to be added.
95
+ * @param {string} category - Category to be added.
96
+ * @param {string} chartType - Which type of chart to add.
97
+ * @api
98
+ * @example
99
+ * chart.addData([10, 20], '6', 'line');
100
+ */
101
+ addData(data: LineSeriesDataType[] | AreaSeriesDataType[], category: string, chartType: 'line' | 'area'): void;
102
+ /**
103
+ * Add series.
104
+ * @param {Object} data - Data to be added.
105
+ * @param {string} data.name - Series name.
106
+ * @param {Array<number>} data.data - Array of data to be added.
107
+ * @param {Object} dataInfo - Which type of chart to add.
108
+ * @param {Object} dataInfo.chartType - Chart type.
109
+ * @api
110
+ * @example
111
+ * chart.addSeries(
112
+ * {
113
+ * name: 'newSeries',
114
+ * data: [10, 100, 50, 40, 70, 55, 33, 70, 90, 110],
115
+ * },
116
+ * {
117
+ * chartType: 'line'
118
+ * });
119
+ */
120
+ addSeries(data: LineSeriesInput | AreaSeriesInput, dataInfo: AddSeriesDataInfo): void;
121
+ /**
122
+ * Convert the chart data to new data.
123
+ * @param {Object} data - Data to be set
124
+ * @api
125
+ * @example
126
+ * chart.setData({
127
+ * categories: ['1', '2', '3'],
128
+ * series: {
129
+ * line: [
130
+ * {
131
+ * name: 'A',
132
+ * data: [1, 2, 3],
133
+ * }
134
+ * ],
135
+ * area: [
136
+ * {
137
+ * name: 'B',
138
+ * data: [4, 5, 6],
139
+ * }
140
+ * ]
141
+ * }
142
+ * });
143
+ */
144
+ setData(data: LineAreaData): void;
145
+ /**
146
+ * Add plot line.
147
+ * @param {Object} data - plot info
148
+ * @param {string|number} data.value - The value where the plot line will be drawn.
149
+ * @param {string} data.color - Plot line color.
150
+ * @param {string} [data.id] - Plot id. The value on which the removePlotLine is based.
151
+ * @api
152
+ * @example
153
+ * chart.addPlotLine({
154
+ * value: 2,
155
+ * color: '#00ff22',
156
+ * id: 'plot-1',
157
+ * });
158
+ */
159
+ addPlotLine(data: PlotLine): void;
160
+ /**
161
+ * Remove plot line with id.
162
+ * @param {string} id - Id of the plot line to be removed.
163
+ * @api
164
+ * @example
165
+ * chart.removePlotLine('plot-1');
166
+ */
167
+ removePlotLine(id: string): void;
168
+ /**
169
+ * Add plot band.
170
+ * @param {Object} data - Plot info.
171
+ * @param {Array<string|number>} data.range - The range to be drawn.
172
+ * @param {string} data.color - Plot band color.
173
+ * @param {string} [data.id] - Plot id. The value on which the removePlotBand is based.
174
+ * @api
175
+ * @example
176
+ * chart.addPlotBand({
177
+ * value: [2, 4],
178
+ * color: '#00ff22',
179
+ * id: 'plot-1',
180
+ * });
181
+ */
182
+ addPlotBand(data: PlotBand): void;
183
+ /**
184
+ * Remove plot band with id.
185
+ * @param {string} id - Id of the plot band to be removed.
186
+ * @api
187
+ * @example
188
+ * chart.removePlotBand('plot-1');
189
+ */
190
+ removePlotBand(id: string): void;
191
+ /**
192
+ * Hide series data label.
193
+ * @api
194
+ * @example
195
+ * chart.hideSeriesDataLabel();
196
+ */
197
+ hideSeriesDataLabel(): void;
198
+ /**
199
+ * Show series data label.
200
+ * @api
201
+ * @example
202
+ * chart.showSeriesDataLabel();
203
+ */
204
+ showSeriesDataLabel(): void;
205
+ /**
206
+ * Convert the chart options to new options.
207
+ * @param {Object} options - Chart options.
208
+ * @api
209
+ * @example
210
+ * chart.setOptions({
211
+ * chart: {
212
+ * width: 500,
213
+ * height: 'auto',
214
+ * title: 'Energy Usage',
215
+ * },
216
+ * xAxis: {
217
+ * title: 'Month',
218
+ * date: { format: 'yy/MM' },
219
+ * },
220
+ * yAxis: {
221
+ * title: 'Energy (kWh)',
222
+ * },
223
+ * series: {
224
+ * line: {
225
+ * showDot: true
226
+ * },
227
+ * selectable: true,
228
+ * },
229
+ * tooltip: {
230
+ * formatter: (value) => `${value}kWh`,
231
+ * },
232
+ * });
233
+ */
234
+ setOptions(options: LineAreaChartOptions): void;
235
+ /**
236
+ * Update chart options.
237
+ * @param {Object} options - Chart options.
238
+ * @api
239
+ * @example
240
+ * chart.updateOptions({
241
+ * chart: {
242
+ * height: 'auto',
243
+ * title: 'Energy Usage',
244
+ * },
245
+ * series: {
246
+ * line: {
247
+ * showDot: true,
248
+ * },
249
+ * },
250
+ * });
251
+ */
252
+ updateOptions(options: LineAreaChartOptions): void;
253
+ /**
254
+ * Show tooltip.
255
+ * @param {Object} seriesInfo - Information of the series for the tooltip to be displayed.
256
+ * @param {number} seriesInfo.seriesIndex - Index of series.
257
+ * @param {number} seriesInfo.index - Index of data within series.
258
+ * @param {string} seriesInfo.chartType - Specify which chart to select.
259
+ * @api
260
+ * @example
261
+ * chart.showTooltip({index: 1, seriesIndex: 2, chartType: 'line'});
262
+ */
263
+ showTooltip(seriesInfo: SelectSeriesInfo): void;
264
+ /**
265
+ * Hide tooltip.
266
+ * @api
267
+ * @example
268
+ * chart.hideTooltip();
269
+ */
270
+ hideTooltip(): void;
271
+ }