@amcharts/amcharts5 5.15.5 → 5.16.0

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 (734) hide show
  1. package/.internal/charts/flow/ArcDiagram.js +4 -24
  2. package/.internal/charts/flow/ArcDiagram.js.map +1 -1
  3. package/.internal/charts/flow/ArcDiagramLink.js +3 -30
  4. package/.internal/charts/flow/ArcDiagramLink.js.map +1 -1
  5. package/.internal/charts/flow/ArcDiagramNodes.js +5 -39
  6. package/.internal/charts/flow/ArcDiagramNodes.js.map +1 -1
  7. package/.internal/charts/flow/Chord.js +7 -42
  8. package/.internal/charts/flow/Chord.js.map +1 -1
  9. package/.internal/charts/flow/ChordDirected.js +5 -30
  10. package/.internal/charts/flow/ChordDirected.js.map +1 -1
  11. package/.internal/charts/flow/ChordLink.js +2 -33
  12. package/.internal/charts/flow/ChordLink.js.map +1 -1
  13. package/.internal/charts/flow/ChordLinkDirected.js +2 -12
  14. package/.internal/charts/flow/ChordLinkDirected.js.map +1 -1
  15. package/.internal/charts/flow/ChordNodes.js +6 -45
  16. package/.internal/charts/flow/ChordNodes.js.map +1 -1
  17. package/.internal/charts/flow/ChordNonRibbon.js +2 -12
  18. package/.internal/charts/flow/ChordNonRibbon.js.map +1 -1
  19. package/.internal/charts/flow/Flow.js +8 -48
  20. package/.internal/charts/flow/Flow.js.map +1 -1
  21. package/.internal/charts/flow/FlowLink.js +2 -33
  22. package/.internal/charts/flow/FlowLink.js.map +1 -1
  23. package/.internal/charts/flow/FlowNode.js +2 -24
  24. package/.internal/charts/flow/FlowNode.js.map +1 -1
  25. package/.internal/charts/flow/FlowNodes.js +5 -30
  26. package/.internal/charts/flow/FlowNodes.js.map +1 -1
  27. package/.internal/charts/flow/Sankey.js +7 -48
  28. package/.internal/charts/flow/Sankey.js.map +1 -1
  29. package/.internal/charts/flow/SankeyLink.js +4 -24
  30. package/.internal/charts/flow/SankeyLink.js.map +1 -1
  31. package/.internal/charts/flow/SankeyNodes.js +3 -27
  32. package/.internal/charts/flow/SankeyNodes.js.map +1 -1
  33. package/.internal/charts/funnel/FunnelSeries.js +8 -48
  34. package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
  35. package/.internal/charts/funnel/FunnelSlice.js +15 -90
  36. package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
  37. package/.internal/charts/funnel/PictorialStackedSeries.js +5 -30
  38. package/.internal/charts/funnel/PictorialStackedSeries.js.map +1 -1
  39. package/.internal/charts/funnel/PyramidSeries.js +3 -24
  40. package/.internal/charts/funnel/PyramidSeries.js.map +1 -1
  41. package/.internal/charts/funnel/SlicedChart.js +2 -12
  42. package/.internal/charts/funnel/SlicedChart.js.map +1 -1
  43. package/.internal/charts/gantt/Gantt.js +57 -188
  44. package/.internal/charts/gantt/Gantt.js.map +1 -1
  45. package/.internal/charts/gantt/GanttCategoryAxis.js +9 -110
  46. package/.internal/charts/gantt/GanttCategoryAxis.js.map +1 -1
  47. package/.internal/charts/gantt/GanttCategoryAxisRenderer.js +27 -72
  48. package/.internal/charts/gantt/GanttCategoryAxisRenderer.js.map +1 -1
  49. package/.internal/charts/gantt/GanttDateAxis.js +2 -24
  50. package/.internal/charts/gantt/GanttDateAxis.js.map +1 -1
  51. package/.internal/charts/gantt/GanttDateAxisRenderer.js +2 -12
  52. package/.internal/charts/gantt/GanttDateAxisRenderer.js.map +1 -1
  53. package/.internal/charts/gantt/GanttSeries.js +49 -173
  54. package/.internal/charts/gantt/GanttSeries.js.map +1 -1
  55. package/.internal/charts/hierarchy/BreadcrumbBar.js +8 -29
  56. package/.internal/charts/hierarchy/BreadcrumbBar.js.map +1 -1
  57. package/.internal/charts/hierarchy/ForceDirected.js +10 -60
  58. package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
  59. package/.internal/charts/hierarchy/Hierarchy.js +11 -64
  60. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  61. package/.internal/charts/hierarchy/HierarchyLink.js +3 -24
  62. package/.internal/charts/hierarchy/HierarchyLink.js.map +1 -1
  63. package/.internal/charts/hierarchy/HierarchyNode.js +2 -30
  64. package/.internal/charts/hierarchy/HierarchyNode.js.map +1 -1
  65. package/.internal/charts/hierarchy/LinkedHierarchy.js +18 -58
  66. package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
  67. package/.internal/charts/hierarchy/LinkedHierarchyNode.js +2 -12
  68. package/.internal/charts/hierarchy/LinkedHierarchyNode.js.map +1 -1
  69. package/.internal/charts/hierarchy/Pack.js +7 -38
  70. package/.internal/charts/hierarchy/Pack.js.map +1 -1
  71. package/.internal/charts/hierarchy/Partition.js +7 -32
  72. package/.internal/charts/hierarchy/Partition.js.map +1 -1
  73. package/.internal/charts/hierarchy/Sunburst.js +10 -40
  74. package/.internal/charts/hierarchy/Sunburst.js.map +1 -1
  75. package/.internal/charts/hierarchy/Tree.js +4 -30
  76. package/.internal/charts/hierarchy/Tree.js.map +1 -1
  77. package/.internal/charts/hierarchy/Treemap.js +8 -38
  78. package/.internal/charts/hierarchy/Treemap.js.map +1 -1
  79. package/.internal/charts/hierarchy/VoronoiTreemap.js +7 -32
  80. package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
  81. package/.internal/charts/map/ClusteredPointSeries.js +11 -72
  82. package/.internal/charts/map/ClusteredPointSeries.js.map +1 -1
  83. package/.internal/charts/map/GraticuleSeries.js +3 -18
  84. package/.internal/charts/map/GraticuleSeries.js.map +1 -1
  85. package/.internal/charts/map/MapChart.d.ts +39 -1
  86. package/.internal/charts/map/MapChart.d.ts.map +1 -1
  87. package/.internal/charts/map/MapChart.js +168 -187
  88. package/.internal/charts/map/MapChart.js.map +1 -1
  89. package/.internal/charts/map/MapLine.js +3 -18
  90. package/.internal/charts/map/MapLine.js.map +1 -1
  91. package/.internal/charts/map/MapLineSeries.js +4 -24
  92. package/.internal/charts/map/MapLineSeries.js.map +1 -1
  93. package/.internal/charts/map/MapPointSeries.js +3 -24
  94. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  95. package/.internal/charts/map/MapPolygon.js +3 -27
  96. package/.internal/charts/map/MapPolygon.js.map +1 -1
  97. package/.internal/charts/map/MapPolygonSeries.js +4 -24
  98. package/.internal/charts/map/MapPolygonSeries.js.map +1 -1
  99. package/.internal/charts/map/MapSeries.js +7 -42
  100. package/.internal/charts/map/MapSeries.js.map +1 -1
  101. package/.internal/charts/map/ZoomControl.js +2 -12
  102. package/.internal/charts/map/ZoomControl.js.map +1 -1
  103. package/.internal/charts/percent/PercentChart.js +2 -12
  104. package/.internal/charts/percent/PercentChart.js.map +1 -1
  105. package/.internal/charts/percent/PercentSeries.js +11 -66
  106. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  107. package/.internal/charts/pie/PieChart.js +3 -18
  108. package/.internal/charts/pie/PieChart.js.map +1 -1
  109. package/.internal/charts/pie/PieSeries.js +2 -12
  110. package/.internal/charts/pie/PieSeries.js.map +1 -1
  111. package/.internal/charts/radar/AxisRendererCircular.js +9 -34
  112. package/.internal/charts/radar/AxisRendererCircular.js.map +1 -1
  113. package/.internal/charts/radar/AxisRendererRadial.js +6 -26
  114. package/.internal/charts/radar/AxisRendererRadial.js.map +1 -1
  115. package/.internal/charts/radar/ClockHand.js +4 -24
  116. package/.internal/charts/radar/ClockHand.js.map +1 -1
  117. package/.internal/charts/radar/RadarChart.js +5 -30
  118. package/.internal/charts/radar/RadarChart.js.map +1 -1
  119. package/.internal/charts/radar/RadarColumnSeries.js +6 -21
  120. package/.internal/charts/radar/RadarColumnSeries.js.map +1 -1
  121. package/.internal/charts/radar/RadarCursor.js +3 -18
  122. package/.internal/charts/radar/RadarCursor.js.map +1 -1
  123. package/.internal/charts/radar/RadarLineSeries.js +2 -12
  124. package/.internal/charts/radar/RadarLineSeries.js.map +1 -1
  125. package/.internal/charts/radar/SmoothedRadarLineSeries.js +2 -12
  126. package/.internal/charts/radar/SmoothedRadarLineSeries.js.map +1 -1
  127. package/.internal/charts/stock/PanelControls.js +26 -56
  128. package/.internal/charts/stock/PanelControls.js.map +1 -1
  129. package/.internal/charts/stock/SettingsModal.js +3 -30
  130. package/.internal/charts/stock/SettingsModal.js.map +1 -1
  131. package/.internal/charts/stock/StockChart.js +11 -108
  132. package/.internal/charts/stock/StockChart.js.map +1 -1
  133. package/.internal/charts/stock/StockLegend.js +14 -34
  134. package/.internal/charts/stock/StockLegend.js.map +1 -1
  135. package/.internal/charts/stock/StockPanel.js +3 -38
  136. package/.internal/charts/stock/StockPanel.js.map +1 -1
  137. package/.internal/charts/stock/drawing/AverageSeries.js +3 -18
  138. package/.internal/charts/stock/drawing/AverageSeries.js.map +1 -1
  139. package/.internal/charts/stock/drawing/CalloutSeries.js +3 -18
  140. package/.internal/charts/stock/drawing/CalloutSeries.js.map +1 -1
  141. package/.internal/charts/stock/drawing/DoodleSeries.js +5 -42
  142. package/.internal/charts/stock/drawing/DoodleSeries.js.map +1 -1
  143. package/.internal/charts/stock/drawing/DrawingSeries.js +32 -200
  144. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
  145. package/.internal/charts/stock/drawing/EllipseSeries.js +7 -42
  146. package/.internal/charts/stock/drawing/EllipseSeries.js.map +1 -1
  147. package/.internal/charts/stock/drawing/FibonacciSeries.js +7 -42
  148. package/.internal/charts/stock/drawing/FibonacciSeries.js.map +1 -1
  149. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js +3 -18
  150. package/.internal/charts/stock/drawing/FibonacciTimezoneSeries.js.map +1 -1
  151. package/.internal/charts/stock/drawing/HorizontalLineSeries.js +3 -18
  152. package/.internal/charts/stock/drawing/HorizontalLineSeries.js.map +1 -1
  153. package/.internal/charts/stock/drawing/HorizontalRaySeries.js +3 -18
  154. package/.internal/charts/stock/drawing/HorizontalRaySeries.js.map +1 -1
  155. package/.internal/charts/stock/drawing/IconSeries.js +3 -24
  156. package/.internal/charts/stock/drawing/IconSeries.js.map +1 -1
  157. package/.internal/charts/stock/drawing/LabelSeries.js +5 -36
  158. package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -1
  159. package/.internal/charts/stock/drawing/LineArrowSeries.js +4 -24
  160. package/.internal/charts/stock/drawing/LineArrowSeries.js.map +1 -1
  161. package/.internal/charts/stock/drawing/Measure.js +6 -36
  162. package/.internal/charts/stock/drawing/Measure.js.map +1 -1
  163. package/.internal/charts/stock/drawing/ParallelChannelSeries.js +5 -30
  164. package/.internal/charts/stock/drawing/ParallelChannelSeries.js.map +1 -1
  165. package/.internal/charts/stock/drawing/PolylineSeries.js +4 -24
  166. package/.internal/charts/stock/drawing/PolylineSeries.js.map +1 -1
  167. package/.internal/charts/stock/drawing/QuadrantLineSeries.js +3 -18
  168. package/.internal/charts/stock/drawing/QuadrantLineSeries.js.map +1 -1
  169. package/.internal/charts/stock/drawing/RectangleSeries.js +4 -24
  170. package/.internal/charts/stock/drawing/RectangleSeries.js.map +1 -1
  171. package/.internal/charts/stock/drawing/RegressionSeries.js +3 -18
  172. package/.internal/charts/stock/drawing/RegressionSeries.js.map +1 -1
  173. package/.internal/charts/stock/drawing/SimpleLineSeries.js +9 -54
  174. package/.internal/charts/stock/drawing/SimpleLineSeries.js.map +1 -1
  175. package/.internal/charts/stock/drawing/TrendLineSeries.js +3 -18
  176. package/.internal/charts/stock/drawing/TrendLineSeries.js.map +1 -1
  177. package/.internal/charts/stock/drawing/VerticalLineSeries.js +3 -18
  178. package/.internal/charts/stock/drawing/VerticalLineSeries.js.map +1 -1
  179. package/.internal/charts/stock/indicators/AccelerationBands.js +23 -56
  180. package/.internal/charts/stock/indicators/AccelerationBands.js.map +1 -1
  181. package/.internal/charts/stock/indicators/AccumulationDistribution.js +11 -26
  182. package/.internal/charts/stock/indicators/AccumulationDistribution.js.map +1 -1
  183. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js +15 -42
  184. package/.internal/charts/stock/indicators/AccumulativeSwingIndex.js.map +1 -1
  185. package/.internal/charts/stock/indicators/Aroon.js +15 -30
  186. package/.internal/charts/stock/indicators/Aroon.js.map +1 -1
  187. package/.internal/charts/stock/indicators/AverageTrueRange.js +11 -26
  188. package/.internal/charts/stock/indicators/AverageTrueRange.js.map +1 -1
  189. package/.internal/charts/stock/indicators/AwesomeOscillator.js +11 -26
  190. package/.internal/charts/stock/indicators/AwesomeOscillator.js.map +1 -1
  191. package/.internal/charts/stock/indicators/BollingerBands.js +33 -66
  192. package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
  193. package/.internal/charts/stock/indicators/BullBearPower.js +11 -26
  194. package/.internal/charts/stock/indicators/BullBearPower.js.map +1 -1
  195. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js +11 -26
  196. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js.map +1 -1
  197. package/.internal/charts/stock/indicators/ChaikinOscillator.js +15 -30
  198. package/.internal/charts/stock/indicators/ChaikinOscillator.js.map +1 -1
  199. package/.internal/charts/stock/indicators/ChartIndicator.js +3 -54
  200. package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -1
  201. package/.internal/charts/stock/indicators/CommodityChannelIndex.js +2 -12
  202. package/.internal/charts/stock/indicators/CommodityChannelIndex.js.map +1 -1
  203. package/.internal/charts/stock/indicators/DisparityIndex.js +21 -36
  204. package/.internal/charts/stock/indicators/DisparityIndex.js.map +1 -1
  205. package/.internal/charts/stock/indicators/HeikinAshi.js +11 -26
  206. package/.internal/charts/stock/indicators/HeikinAshi.js.map +1 -1
  207. package/.internal/charts/stock/indicators/Indicator.js +4 -42
  208. package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
  209. package/.internal/charts/stock/indicators/MACD.js +31 -64
  210. package/.internal/charts/stock/indicators/MACD.js.map +1 -1
  211. package/.internal/charts/stock/indicators/MACross.js +19 -34
  212. package/.internal/charts/stock/indicators/MACross.js.map +1 -1
  213. package/.internal/charts/stock/indicators/MedianPrice.js +11 -26
  214. package/.internal/charts/stock/indicators/MedianPrice.js.map +1 -1
  215. package/.internal/charts/stock/indicators/Momentum.js +18 -33
  216. package/.internal/charts/stock/indicators/Momentum.js.map +1 -1
  217. package/.internal/charts/stock/indicators/MovingAverage.js +25 -40
  218. package/.internal/charts/stock/indicators/MovingAverage.js.map +1 -1
  219. package/.internal/charts/stock/indicators/MovingAverageDeviation.js +33 -48
  220. package/.internal/charts/stock/indicators/MovingAverageDeviation.js.map +1 -1
  221. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js +42 -75
  222. package/.internal/charts/stock/indicators/MovingAverageEnvelope.js.map +1 -1
  223. package/.internal/charts/stock/indicators/OnBalanceVolume.js +7 -22
  224. package/.internal/charts/stock/indicators/OnBalanceVolume.js.map +1 -1
  225. package/.internal/charts/stock/indicators/OverboughtOversold.js +19 -64
  226. package/.internal/charts/stock/indicators/OverboughtOversold.js.map +1 -1
  227. package/.internal/charts/stock/indicators/PVT.js +7 -22
  228. package/.internal/charts/stock/indicators/PVT.js.map +1 -1
  229. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js +2 -24
  230. package/.internal/charts/stock/indicators/RelativeStrengthIndex.js.map +1 -1
  231. package/.internal/charts/stock/indicators/StandardDeviation.js +16 -31
  232. package/.internal/charts/stock/indicators/StandardDeviation.js.map +1 -1
  233. package/.internal/charts/stock/indicators/StochasticMomentumIndex.js +2 -24
  234. package/.internal/charts/stock/indicators/StochasticMomentumIndex.js.map +1 -1
  235. package/.internal/charts/stock/indicators/StochasticOscillator.js +2 -24
  236. package/.internal/charts/stock/indicators/StochasticOscillator.js.map +1 -1
  237. package/.internal/charts/stock/indicators/SuperTrend.js +19 -52
  238. package/.internal/charts/stock/indicators/SuperTrend.js.map +1 -1
  239. package/.internal/charts/stock/indicators/Trix.js +20 -49
  240. package/.internal/charts/stock/indicators/Trix.js.map +1 -1
  241. package/.internal/charts/stock/indicators/TypicalPrice.js +11 -26
  242. package/.internal/charts/stock/indicators/TypicalPrice.js.map +1 -1
  243. package/.internal/charts/stock/indicators/VWAP.js +16 -31
  244. package/.internal/charts/stock/indicators/VWAP.js.map +1 -1
  245. package/.internal/charts/stock/indicators/Volume.js +11 -26
  246. package/.internal/charts/stock/indicators/Volume.js.map +1 -1
  247. package/.internal/charts/stock/indicators/VolumeProfile.js +32 -65
  248. package/.internal/charts/stock/indicators/VolumeProfile.js.map +1 -1
  249. package/.internal/charts/stock/indicators/WilliamsR.js +2 -12
  250. package/.internal/charts/stock/indicators/WilliamsR.js.map +1 -1
  251. package/.internal/charts/stock/indicators/ZigZag.js +15 -30
  252. package/.internal/charts/stock/indicators/ZigZag.js.map +1 -1
  253. package/.internal/charts/stock/toolbar/ColorControl.js +2 -12
  254. package/.internal/charts/stock/toolbar/ColorControl.js.map +1 -1
  255. package/.internal/charts/stock/toolbar/ComparisonControl.js +2 -12
  256. package/.internal/charts/stock/toolbar/ComparisonControl.js.map +1 -1
  257. package/.internal/charts/stock/toolbar/DataSaveControl.js +2 -12
  258. package/.internal/charts/stock/toolbar/DataSaveControl.js.map +1 -1
  259. package/.internal/charts/stock/toolbar/DateRangeSelector.js +2 -12
  260. package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
  261. package/.internal/charts/stock/toolbar/DrawingControl.js +4 -24
  262. package/.internal/charts/stock/toolbar/DrawingControl.js.map +1 -1
  263. package/.internal/charts/stock/toolbar/DrawingToolControl.js +2 -12
  264. package/.internal/charts/stock/toolbar/DrawingToolControl.js.map +1 -1
  265. package/.internal/charts/stock/toolbar/Dropdown.js +2 -12
  266. package/.internal/charts/stock/toolbar/Dropdown.js.map +1 -1
  267. package/.internal/charts/stock/toolbar/DropdownColors.js +2 -12
  268. package/.internal/charts/stock/toolbar/DropdownColors.js.map +1 -1
  269. package/.internal/charts/stock/toolbar/DropdownControl.js +2 -12
  270. package/.internal/charts/stock/toolbar/DropdownControl.js.map +1 -1
  271. package/.internal/charts/stock/toolbar/DropdownList.js +2 -21
  272. package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
  273. package/.internal/charts/stock/toolbar/DropdownListControl.js +2 -12
  274. package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -1
  275. package/.internal/charts/stock/toolbar/IconControl.js +2 -12
  276. package/.internal/charts/stock/toolbar/IconControl.js.map +1 -1
  277. package/.internal/charts/stock/toolbar/IndicatorControl.js +2 -12
  278. package/.internal/charts/stock/toolbar/IndicatorControl.js.map +1 -1
  279. package/.internal/charts/stock/toolbar/IntervalControl.js +2 -12
  280. package/.internal/charts/stock/toolbar/IntervalControl.js.map +1 -1
  281. package/.internal/charts/stock/toolbar/PeriodSelector.js +2 -27
  282. package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -1
  283. package/.internal/charts/stock/toolbar/ResetControl.js +2 -12
  284. package/.internal/charts/stock/toolbar/ResetControl.js.map +1 -1
  285. package/.internal/charts/stock/toolbar/SeriesTypeControl.js +2 -12
  286. package/.internal/charts/stock/toolbar/SeriesTypeControl.js.map +1 -1
  287. package/.internal/charts/stock/toolbar/SettingsControl.js +2 -12
  288. package/.internal/charts/stock/toolbar/SettingsControl.js.map +1 -1
  289. package/.internal/charts/stock/toolbar/StockControl.js +2 -12
  290. package/.internal/charts/stock/toolbar/StockControl.js.map +1 -1
  291. package/.internal/charts/stock/toolbar/StockIcons.js +52 -57
  292. package/.internal/charts/stock/toolbar/StockIcons.js.map +1 -1
  293. package/.internal/charts/stock/toolbar/StockToolbar.js +2 -21
  294. package/.internal/charts/stock/toolbar/StockToolbar.js.map +1 -1
  295. package/.internal/charts/timeline/AxisRendererCurveX.js +11 -46
  296. package/.internal/charts/timeline/AxisRendererCurveX.js.map +1 -1
  297. package/.internal/charts/timeline/AxisRendererCurveY.js +6 -26
  298. package/.internal/charts/timeline/AxisRendererCurveY.js.map +1 -1
  299. package/.internal/charts/timeline/CurveChart.js +3 -18
  300. package/.internal/charts/timeline/CurveChart.js.map +1 -1
  301. package/.internal/charts/timeline/CurveColumnSeries.js +6 -21
  302. package/.internal/charts/timeline/CurveColumnSeries.js.map +1 -1
  303. package/.internal/charts/timeline/CurveCursor.js +2 -12
  304. package/.internal/charts/timeline/CurveCursor.js.map +1 -1
  305. package/.internal/charts/timeline/CurveLineSeries.js +2 -12
  306. package/.internal/charts/timeline/CurveLineSeries.js.map +1 -1
  307. package/.internal/charts/timeline/SerpentineChart.js +2 -12
  308. package/.internal/charts/timeline/SerpentineChart.js.map +1 -1
  309. package/.internal/charts/timeline/SpiralChart.js +2 -12
  310. package/.internal/charts/timeline/SpiralChart.js.map +1 -1
  311. package/.internal/charts/venn/Venn.js +8 -54
  312. package/.internal/charts/venn/Venn.js.map +1 -1
  313. package/.internal/charts/wordcloud/WordCloud.js +9 -66
  314. package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
  315. package/.internal/charts/xy/XYChart.js +23 -149
  316. package/.internal/charts/xy/XYChart.js.map +1 -1
  317. package/.internal/charts/xy/XYChartScrollbar.js +15 -35
  318. package/.internal/charts/xy/XYChartScrollbar.js.map +1 -1
  319. package/.internal/charts/xy/XYCursor.js +16 -93
  320. package/.internal/charts/xy/XYCursor.js.map +1 -1
  321. package/.internal/charts/xy/axes/Axis.js +27 -166
  322. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  323. package/.internal/charts/xy/axes/AxisBullet.js +2 -24
  324. package/.internal/charts/xy/axes/AxisBullet.js.map +1 -1
  325. package/.internal/charts/xy/axes/AxisLabel.js +3 -18
  326. package/.internal/charts/xy/axes/AxisLabel.js.map +1 -1
  327. package/.internal/charts/xy/axes/AxisLabelRadial.js +3 -18
  328. package/.internal/charts/xy/axes/AxisLabelRadial.js.map +1 -1
  329. package/.internal/charts/xy/axes/AxisRenderer.js +21 -131
  330. package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
  331. package/.internal/charts/xy/axes/AxisRendererX.js +3 -18
  332. package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
  333. package/.internal/charts/xy/axes/AxisRendererY.js +3 -24
  334. package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
  335. package/.internal/charts/xy/axes/AxisTick.js +3 -18
  336. package/.internal/charts/xy/axes/AxisTick.js.map +1 -1
  337. package/.internal/charts/xy/axes/CategoryAxis.js +4 -24
  338. package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
  339. package/.internal/charts/xy/axes/CategoryDateAxis.js +4 -24
  340. package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
  341. package/.internal/charts/xy/axes/DateAxis.js +9 -54
  342. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  343. package/.internal/charts/xy/axes/DurationAxis.js +5 -30
  344. package/.internal/charts/xy/axes/DurationAxis.js.map +1 -1
  345. package/.internal/charts/xy/axes/EditableAxisLabel.js +3 -18
  346. package/.internal/charts/xy/axes/EditableAxisLabel.js.map +1 -1
  347. package/.internal/charts/xy/axes/GaplessDateAxis.js +5 -36
  348. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
  349. package/.internal/charts/xy/axes/Grid.js +2 -12
  350. package/.internal/charts/xy/axes/Grid.js.map +1 -1
  351. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  352. package/.internal/charts/xy/axes/ValueAxis.js +15 -73
  353. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  354. package/.internal/charts/xy/series/BaseColumnSeries.js +5 -30
  355. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  356. package/.internal/charts/xy/series/Candlestick.js +2 -12
  357. package/.internal/charts/xy/series/Candlestick.js.map +1 -1
  358. package/.internal/charts/xy/series/CandlestickSeries.js +7 -22
  359. package/.internal/charts/xy/series/CandlestickSeries.js.map +1 -1
  360. package/.internal/charts/xy/series/ColumnSeries.js +8 -33
  361. package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
  362. package/.internal/charts/xy/series/LineSeries.js +13 -89
  363. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  364. package/.internal/charts/xy/series/OHLC.js +2 -12
  365. package/.internal/charts/xy/series/OHLC.js.map +1 -1
  366. package/.internal/charts/xy/series/OHLCSeries.js +7 -22
  367. package/.internal/charts/xy/series/OHLCSeries.js.map +1 -1
  368. package/.internal/charts/xy/series/SmoothedXLineSeries.js +2 -12
  369. package/.internal/charts/xy/series/SmoothedXLineSeries.js.map +1 -1
  370. package/.internal/charts/xy/series/SmoothedXYLineSeries.js +2 -12
  371. package/.internal/charts/xy/series/SmoothedXYLineSeries.js.map +1 -1
  372. package/.internal/charts/xy/series/SmoothedYLineSeries.js +2 -12
  373. package/.internal/charts/xy/series/SmoothedYLineSeries.js.map +1 -1
  374. package/.internal/charts/xy/series/StepLineSeries.js +2 -12
  375. package/.internal/charts/xy/series/StepLineSeries.js.map +1 -1
  376. package/.internal/charts/xy/series/XYSeries.js +33 -282
  377. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  378. package/.internal/core/Registry.js +5 -30
  379. package/.internal/core/Registry.js.map +1 -1
  380. package/.internal/core/Root.d.ts.map +1 -1
  381. package/.internal/core/Root.js +48 -412
  382. package/.internal/core/Root.js.map +1 -1
  383. package/.internal/core/Theme.js +1 -12
  384. package/.internal/core/Theme.js.map +1 -1
  385. package/.internal/core/render/Bullet.js +2 -31
  386. package/.internal/core/render/Bullet.js.map +1 -1
  387. package/.internal/core/render/Button.js +2 -12
  388. package/.internal/core/render/Button.js.map +1 -1
  389. package/.internal/core/render/Chart.js +4 -24
  390. package/.internal/core/render/Chart.js.map +1 -1
  391. package/.internal/core/render/Circle.js +2 -12
  392. package/.internal/core/render/Circle.js.map +1 -1
  393. package/.internal/core/render/Component.d.ts.map +1 -1
  394. package/.internal/core/render/Component.js +24 -145
  395. package/.internal/core/render/Component.js.map +1 -1
  396. package/.internal/core/render/ConfirmButton.js +2 -21
  397. package/.internal/core/render/ConfirmButton.js.map +1 -1
  398. package/.internal/core/render/Container.js +13 -108
  399. package/.internal/core/render/Container.js.map +1 -1
  400. package/.internal/core/render/EditableLabel.js +2 -21
  401. package/.internal/core/render/EditableLabel.js.map +1 -1
  402. package/.internal/core/render/Ellipse.js +2 -12
  403. package/.internal/core/render/Ellipse.js.map +1 -1
  404. package/.internal/core/render/Graphics.js +4 -24
  405. package/.internal/core/render/Graphics.js.map +1 -1
  406. package/.internal/core/render/GridLayout.js +2 -12
  407. package/.internal/core/render/GridLayout.js.map +1 -1
  408. package/.internal/core/render/HeatLegend.js +9 -44
  409. package/.internal/core/render/HeatLegend.js.map +1 -1
  410. package/.internal/core/render/HorizontalLayout.js +2 -12
  411. package/.internal/core/render/HorizontalLayout.js.map +1 -1
  412. package/.internal/core/render/Label.js +41 -62
  413. package/.internal/core/render/Label.js.map +1 -1
  414. package/.internal/core/render/Layout.js +2 -12
  415. package/.internal/core/render/Layout.js.map +1 -1
  416. package/.internal/core/render/Legend.js +22 -57
  417. package/.internal/core/render/Legend.js.map +1 -1
  418. package/.internal/core/render/Line.js +2 -12
  419. package/.internal/core/render/Line.js.map +1 -1
  420. package/.internal/core/render/Link.js +10 -40
  421. package/.internal/core/render/Link.js.map +1 -1
  422. package/.internal/core/render/MonotoneXTension.js +8 -54
  423. package/.internal/core/render/MonotoneXTension.js.map +1 -1
  424. package/.internal/core/render/MonotoneYTension.js +8 -54
  425. package/.internal/core/render/MonotoneYTension.js.map +1 -1
  426. package/.internal/core/render/NumericStepper.js +6 -36
  427. package/.internal/core/render/NumericStepper.js.map +1 -1
  428. package/.internal/core/render/OrthogonalLine.js +2 -12
  429. package/.internal/core/render/OrthogonalLine.js.map +1 -1
  430. package/.internal/core/render/Picture.js +3 -18
  431. package/.internal/core/render/Picture.js.map +1 -1
  432. package/.internal/core/render/PointedRectangle.js +2 -12
  433. package/.internal/core/render/PointedRectangle.js.map +1 -1
  434. package/.internal/core/render/Polygon.js +2 -21
  435. package/.internal/core/render/Polygon.js.map +1 -1
  436. package/.internal/core/render/ProgressPie.js +8 -38
  437. package/.internal/core/render/ProgressPie.js.map +1 -1
  438. package/.internal/core/render/RadialLabel.js +3 -18
  439. package/.internal/core/render/RadialLabel.js.map +1 -1
  440. package/.internal/core/render/RadialText.js +3 -18
  441. package/.internal/core/render/RadialText.js.map +1 -1
  442. package/.internal/core/render/Rectangle.js +2 -12
  443. package/.internal/core/render/Rectangle.js.map +1 -1
  444. package/.internal/core/render/RoundedRectangle.js +2 -12
  445. package/.internal/core/render/RoundedRectangle.js.map +1 -1
  446. package/.internal/core/render/Scrollbar.js +9 -60
  447. package/.internal/core/render/Scrollbar.js.map +1 -1
  448. package/.internal/core/render/SerialChart.js +4 -24
  449. package/.internal/core/render/SerialChart.js.map +1 -1
  450. package/.internal/core/render/Series.js +8 -69
  451. package/.internal/core/render/Series.js.map +1 -1
  452. package/.internal/core/render/Slice.js +5 -30
  453. package/.internal/core/render/Slice.js.map +1 -1
  454. package/.internal/core/render/Slider.js +2 -12
  455. package/.internal/core/render/Slider.js.map +1 -1
  456. package/.internal/core/render/Sprite.d.ts.map +1 -1
  457. package/.internal/core/render/Sprite.js +90 -251
  458. package/.internal/core/render/Sprite.js.map +1 -1
  459. package/.internal/core/render/SpriteResizer.js +11 -72
  460. package/.internal/core/render/SpriteResizer.js.map +1 -1
  461. package/.internal/core/render/Star.js +2 -12
  462. package/.internal/core/render/Star.js.map +1 -1
  463. package/.internal/core/render/Text.js +35 -66
  464. package/.internal/core/render/Text.js.map +1 -1
  465. package/.internal/core/render/Tick.js +2 -12
  466. package/.internal/core/render/Tick.js.map +1 -1
  467. package/.internal/core/render/Tooltip.js +7 -78
  468. package/.internal/core/render/Tooltip.js.map +1 -1
  469. package/.internal/core/render/Triangle.js +2 -12
  470. package/.internal/core/render/Triangle.js.map +1 -1
  471. package/.internal/core/render/VerticalLayout.js +2 -12
  472. package/.internal/core/render/VerticalLayout.js.map +1 -1
  473. package/.internal/core/render/ZoomTools.js +5 -42
  474. package/.internal/core/render/ZoomTools.js.map +1 -1
  475. package/.internal/core/render/ZoomableContainer.js +17 -82
  476. package/.internal/core/render/ZoomableContainer.js.map +1 -1
  477. package/.internal/core/render/backend/CanvasRenderer.js +142 -1205
  478. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  479. package/.internal/core/render/gradients/Gradient.js +2 -12
  480. package/.internal/core/render/gradients/Gradient.js.map +1 -1
  481. package/.internal/core/render/gradients/LinearGradient.js +2 -12
  482. package/.internal/core/render/gradients/LinearGradient.js.map +1 -1
  483. package/.internal/core/render/gradients/RadialGradient.js +2 -12
  484. package/.internal/core/render/gradients/RadialGradient.js.map +1 -1
  485. package/.internal/core/render/patterns/CirclePattern.js +2 -12
  486. package/.internal/core/render/patterns/CirclePattern.js.map +1 -1
  487. package/.internal/core/render/patterns/GrainPattern.js +5 -30
  488. package/.internal/core/render/patterns/GrainPattern.js.map +1 -1
  489. package/.internal/core/render/patterns/LinePattern.js +2 -12
  490. package/.internal/core/render/patterns/LinePattern.js.map +1 -1
  491. package/.internal/core/render/patterns/PathPattern.js +2 -12
  492. package/.internal/core/render/patterns/PathPattern.js.map +1 -1
  493. package/.internal/core/render/patterns/Pattern.js +5 -36
  494. package/.internal/core/render/patterns/Pattern.js.map +1 -1
  495. package/.internal/core/render/patterns/PicturePattern.js +2 -21
  496. package/.internal/core/render/patterns/PicturePattern.js.map +1 -1
  497. package/.internal/core/render/patterns/RectanglePattern.js +2 -12
  498. package/.internal/core/render/patterns/RectanglePattern.js.map +1 -1
  499. package/.internal/core/util/Animation.js +6 -54
  500. package/.internal/core/util/Animation.js.map +1 -1
  501. package/.internal/core/util/Benchmark.js +3 -18
  502. package/.internal/core/util/Benchmark.js.map +1 -1
  503. package/.internal/core/util/Children.js +1 -18
  504. package/.internal/core/util/Children.js.map +1 -1
  505. package/.internal/core/util/Color.js +0 -6
  506. package/.internal/core/util/Color.js.map +1 -1
  507. package/.internal/core/util/ColorSet.js +2 -12
  508. package/.internal/core/util/ColorSet.js.map +1 -1
  509. package/.internal/core/util/Counter.js +2 -18
  510. package/.internal/core/util/Counter.js.map +1 -1
  511. package/.internal/core/util/Data.js +0 -26
  512. package/.internal/core/util/Data.js.map +1 -1
  513. package/.internal/core/util/DataProcessor.js +5 -30
  514. package/.internal/core/util/DataProcessor.js.map +1 -1
  515. package/.internal/core/util/Disposer.js +2 -66
  516. package/.internal/core/util/Disposer.js.map +1 -1
  517. package/.internal/core/util/DurationFormatter.js +8 -13
  518. package/.internal/core/util/DurationFormatter.js.map +1 -1
  519. package/.internal/core/util/Entity.d.ts +7 -0
  520. package/.internal/core/util/Entity.d.ts.map +1 -1
  521. package/.internal/core/util/Entity.js +34 -271
  522. package/.internal/core/util/Entity.js.map +1 -1
  523. package/.internal/core/util/EventDispatcher.js +0 -45
  524. package/.internal/core/util/EventDispatcher.js.map +1 -1
  525. package/.internal/core/util/InterfaceColors.js +2 -12
  526. package/.internal/core/util/InterfaceColors.js.map +1 -1
  527. package/.internal/core/util/List.js +3 -39
  528. package/.internal/core/util/List.js.map +1 -1
  529. package/.internal/core/util/Matrix.js +0 -36
  530. package/.internal/core/util/Matrix.js.map +1 -1
  531. package/.internal/core/util/Modal.js +2 -12
  532. package/.internal/core/util/Modal.js.map +1 -1
  533. package/.internal/core/util/Object.d.ts +1 -0
  534. package/.internal/core/util/Object.d.ts.map +1 -1
  535. package/.internal/core/util/Object.js +3 -0
  536. package/.internal/core/util/Object.js.map +1 -1
  537. package/.internal/core/util/PatternSet.js +2 -12
  538. package/.internal/core/util/PatternSet.js.map +1 -1
  539. package/.internal/core/util/Percent.js +0 -9
  540. package/.internal/core/util/Percent.js.map +1 -1
  541. package/.internal/core/util/ResizeSensor.js +5 -54
  542. package/.internal/core/util/ResizeSensor.js.map +1 -1
  543. package/.internal/core/util/States.js +4 -32
  544. package/.internal/core/util/States.js.map +1 -1
  545. package/.internal/core/util/Template.js +10 -96
  546. package/.internal/core/util/Template.js.map +1 -1
  547. package/.internal/core/util/TextFormatter.js +1 -6
  548. package/.internal/core/util/TextFormatter.js.map +1 -1
  549. package/.internal/core/util/Throttler.js +2 -18
  550. package/.internal/core/util/Throttler.js.map +1 -1
  551. package/.internal/core/util/Timezone.js +0 -18
  552. package/.internal/core/util/Timezone.js.map +1 -1
  553. package/.internal/core/util/Utils.js +0 -21
  554. package/.internal/core/util/Utils.js.map +1 -1
  555. package/.internal/core/util/Value.js +1 -18
  556. package/.internal/core/util/Value.js.map +1 -1
  557. package/.internal/plugins/colorPicker/ColorPicker.js +96 -235
  558. package/.internal/plugins/colorPicker/ColorPicker.js.map +1 -1
  559. package/.internal/plugins/colorPicker/ColorPickerButton.js +8 -34
  560. package/.internal/plugins/colorPicker/ColorPickerButton.js.map +1 -1
  561. package/.internal/plugins/exporting/Annotator.js +3 -36
  562. package/.internal/plugins/exporting/Annotator.js.map +1 -1
  563. package/.internal/plugins/exporting/Exporting.js +2 -12
  564. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  565. package/.internal/plugins/exporting/ExportingMenu.js +6 -66
  566. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  567. package/.internal/plugins/json/ChartSerializer.js +8 -48
  568. package/.internal/plugins/json/ChartSerializer.js.map +1 -1
  569. package/.internal/plugins/json/Json.js +3 -24
  570. package/.internal/plugins/json/Json.js.map +1 -1
  571. package/.internal/plugins/json/Serializer.js +3 -18
  572. package/.internal/plugins/json/Serializer.js.map +1 -1
  573. package/.internal/plugins/sliceGrouper/SliceGrouper.js +2 -24
  574. package/.internal/plugins/sliceGrouper/SliceGrouper.js.map +1 -1
  575. package/.internal/themes/ResponsiveTheme.js +8 -54
  576. package/.internal/themes/ResponsiveTheme.js.map +1 -1
  577. package/CHANGELOG.md +21 -0
  578. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  579. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  580. package/examples/javascript/flow-chord/package.json +1 -1
  581. package/examples/javascript/flow-chord-directed/package.json +1 -1
  582. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  583. package/examples/javascript/flow-sankey/package.json +1 -1
  584. package/examples/javascript/gantt/package.json +1 -1
  585. package/examples/javascript/gantt-multilevel/package.json +1 -1
  586. package/examples/javascript/gantt-simple/package.json +1 -1
  587. package/examples/javascript/gauge/package.json +1 -1
  588. package/examples/javascript/gauge-bands/package.json +1 -1
  589. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  590. package/examples/javascript/hierarchy-pack/package.json +1 -1
  591. package/examples/javascript/hierarchy-partition/package.json +1 -1
  592. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  593. package/examples/javascript/hierarchy-tree/package.json +1 -1
  594. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  595. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  596. package/examples/javascript/jest/package.json +1 -1
  597. package/examples/javascript/json-pie/package.json +1 -1
  598. package/examples/javascript/json-xy/package.json +1 -1
  599. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  600. package/examples/javascript/map-clustered-points/package.json +1 -1
  601. package/examples/javascript/map-day-and-night/package.json +1 -1
  602. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  603. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  604. package/examples/javascript/map-with-bubbles/package.json +1 -1
  605. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  606. package/examples/javascript/misc-40-charts/package.json +1 -1
  607. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  608. package/examples/javascript/pie-chart/package.json +1 -1
  609. package/examples/javascript/pie-donut-chart/package.json +1 -1
  610. package/examples/javascript/pie-variable-radius/package.json +1 -1
  611. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  612. package/examples/javascript/radar-heat-map/package.json +1 -1
  613. package/examples/javascript/radar-line/package.json +1 -1
  614. package/examples/javascript/radar-time-line/package.json +1 -1
  615. package/examples/javascript/sliced-funnel/package.json +1 -1
  616. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  617. package/examples/javascript/sliced-pyramid/package.json +1 -1
  618. package/examples/javascript/stock-chart/package.json +1 -1
  619. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  620. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  621. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  622. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  623. package/examples/javascript/stock-chart-live/package.json +1 -1
  624. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  625. package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
  626. package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
  627. package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
  628. package/examples/javascript/timeline-spiral-chart/package.json +1 -1
  629. package/examples/javascript/venn-diagram/package.json +1 -1
  630. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  631. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  632. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  633. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  634. package/examples/javascript/xy-bubble/package.json +1 -1
  635. package/examples/javascript/xy-candlestick/package.json +1 -1
  636. package/examples/javascript/xy-clustered-column/package.json +1 -1
  637. package/examples/javascript/xy-column/package.json +1 -1
  638. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  639. package/examples/javascript/xy-data-grouping/package.json +1 -1
  640. package/examples/javascript/xy-draggable-range/package.json +1 -1
  641. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  642. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  643. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  644. package/examples/javascript/xy-line/package.json +1 -1
  645. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  646. package/examples/javascript/xy-live-data/package.json +1 -1
  647. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  648. package/examples/javascript/xy-ohlc/package.json +1 -1
  649. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  650. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  651. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  652. package/examples/javascript/xy-stacked-column/package.json +1 -1
  653. package/examples/javascript/xy-stacked-step/package.json +1 -1
  654. package/examples/javascript/xy-stock/package.json +1 -1
  655. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  656. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  657. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  658. package/examples/typescript/flow-chord/package.json +1 -1
  659. package/examples/typescript/flow-chord-directed/package.json +1 -1
  660. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  661. package/examples/typescript/flow-sankey/package.json +1 -1
  662. package/examples/typescript/gantt/package.json +1 -1
  663. package/examples/typescript/gantt-multilevel/package.json +1 -1
  664. package/examples/typescript/gantt-simple/package.json +1 -1
  665. package/examples/typescript/gauge/package.json +1 -1
  666. package/examples/typescript/gauge-bands/package.json +1 -1
  667. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  668. package/examples/typescript/hierarchy-pack/package.json +1 -1
  669. package/examples/typescript/hierarchy-partition/package.json +1 -1
  670. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  671. package/examples/typescript/hierarchy-tree/package.json +1 -1
  672. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  673. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  674. package/examples/typescript/jest/package.json +1 -1
  675. package/examples/typescript/json-pie/package.json +1 -1
  676. package/examples/typescript/json-xy/package.json +1 -1
  677. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  678. package/examples/typescript/map-clustered-points/package.json +1 -1
  679. package/examples/typescript/map-day-and-night/package.json +1 -1
  680. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  681. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  682. package/examples/typescript/map-with-bubbles/package.json +1 -1
  683. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  684. package/examples/typescript/misc-40-charts/package.json +1 -1
  685. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  686. package/examples/typescript/pie-chart/package.json +1 -1
  687. package/examples/typescript/pie-donut-chart/package.json +1 -1
  688. package/examples/typescript/pie-variable-radius/package.json +1 -1
  689. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  690. package/examples/typescript/radar-heat-map/package.json +1 -1
  691. package/examples/typescript/radar-line/package.json +1 -1
  692. package/examples/typescript/radar-time-line/package.json +1 -1
  693. package/examples/typescript/sliced-funnel/package.json +1 -1
  694. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  695. package/examples/typescript/sliced-pyramid/package.json +1 -1
  696. package/examples/typescript/stock-chart/package.json +1 -1
  697. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  698. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  699. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  700. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  701. package/examples/typescript/stock-chart-live/package.json +1 -1
  702. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  703. package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
  704. package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
  705. package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
  706. package/examples/typescript/timeline-spiral-chart/package.json +1 -1
  707. package/examples/typescript/venn-diagram/package.json +1 -1
  708. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  709. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  710. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  711. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  712. package/examples/typescript/xy-bubble/package.json +1 -1
  713. package/examples/typescript/xy-candlestick/package.json +1 -1
  714. package/examples/typescript/xy-clustered-column/package.json +1 -1
  715. package/examples/typescript/xy-column/package.json +1 -1
  716. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  717. package/examples/typescript/xy-data-grouping/package.json +1 -1
  718. package/examples/typescript/xy-draggable-range/package.json +1 -1
  719. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  720. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  721. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  722. package/examples/typescript/xy-line/package.json +1 -1
  723. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  724. package/examples/typescript/xy-live-data/package.json +1 -1
  725. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  726. package/examples/typescript/xy-ohlc/package.json +1 -1
  727. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  728. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  729. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  730. package/examples/typescript/xy-stacked-column/package.json +1 -1
  731. package/examples/typescript/xy-stacked-step/package.json +1 -1
  732. package/examples/typescript/xy-stock/package.json +1 -1
  733. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  734. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Sunburst.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Sunburst.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../../core/Root\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { HierarchyNode } from \"./HierarchyNode\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { Series } from \"../../core/render/Series\";\n\nimport { Partition, IPartitionPrivate, IPartitionSettings, IPartitionDataItem } from \"./Partition\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { Slice } from \"../../core/render/Slice\";\nimport { RadialLabel } from \"../../core/render/RadialLabel\";\nimport { Percent, p100, p50 } from \"../../core/util/Percent\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as d3hierarchy from \"d3-hierarchy\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $math from \"../../core/util/Math\";\n\n/**\n * @ignore\n */\nexport interface ISunburstDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: ISunburstDataObject[],\n\tdataItem?: DataItem<ISunburstDataItem>\n};\n\nexport interface ISunburstDataItem extends IPartitionDataItem {\n\n\t/**\n\t * Data items of child nodes.\n\t */\n\tchildren: Array<DataItem<ISunburstDataItem>>;\n\n\t/**\n\t * Data item of a parent node.\n\t */\n\tparent: DataItem<ISunburstDataItem>;\n\n\t/**\n\t * @ignore\n\t */\n\td3PartitionNode: d3hierarchy.HierarchyRectangularNode<ISunburstDataObject>;\n\n\t/**\n\t * A [[Slice]] element of the node.\n\t */\n\tslice: Slice;\n\n}\n\nexport interface ISunburstSettings extends IPartitionSettings {\n\n\t/**\n\t * Start angle of the series.\n\t *\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * End angle of the series.\n\t *\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n\t/**\n\t * Inner radius of the suburst pie.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t *\n\t * @default 0\n\t */\n\tinnerRadius?: number | Percent;\n\n\t/**\n\t * Outer radius of the sunburst pie.\n\t *\n\t * @default 100%\n\t */\n\tradius?: number | Percent;\n\n}\n\nexport interface ISunburstPrivate extends IPartitionPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tdr: number;\n\n\t/**\n\t * @ignore\n\t */\n\tdx: number;\n\n\t/**\n\t * @ignore\n\t */\n\tinnerRadius: number;\n\n\t/**\n\t * @ignore\n\t */\n\thierarchySize?: number;\n\n}\n\n/**\n * Builds a sunburst diagram.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/sunburst/} for more info\n * @important\n */\nexport class Sunburst extends Partition {\n\n\tdeclare public _settings: ISunburstSettings;\n\tdeclare public _privateSettings: ISunburstPrivate;\n\tdeclare public _dataItemSettings: ISunburstDataItem;\n\n\tprotected _tag: string = \"sunburst\";\n\n\tpublic static className: string = \"Sunburst\";\n\tpublic static classNames: Array<string> = Partition.classNames.concat([Sunburst.className]);\n\n\tpublic _partitionLayout = d3hierarchy.partition();\n\n\tdeclare public _rootNode: d3hierarchy.HierarchyRectangularNode<ISunburstDataObject> | undefined;\n\n\t/**\n\t * A list of node slice elements in a [[Sunburst]] chart.\n\t *\n\t * @default new ListTemplate<Slice>\n\t */\n\tpublic readonly slices: ListTemplate<Slice> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Slice._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [this._tag, \"hierarchy\", \"node\", \"shape\"])\n\t\t}, [this.slices.template])\n\t));\n\n\t/**\n\t * A list of label elements in a [[Hierarchy]] chart.\n\t *\n\t * @default new ListTemplate<RadialLabel>\n\t */\n\tpublic readonly labels: ListTemplate<RadialLabel> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RadialLabel._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [this._tag])\n\t\t}, [this.labels.template])\n\t));\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.nodesContainer.setAll({ x: p50, y: p50 });\n\t\tthis.setPrivateRaw(\"dx\", 0);\n\t\tthis.setPrivateRaw(\"dr\", 0);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isPrivateDirty(\"dr\") || this.isPrivateDirty(\"dx\")) {\n\t\t\tif (this._rootNode) {\n\t\t\t\tthis._updateNodesScale(this._rootNode);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tconst partitionLayout = this._partitionLayout;\n\n\t\t\tlet bounds = $math.getArcBounds(0, 0, this.get(\"startAngle\", 0), this.get(\"endAngle\", 360), 1);\n\n\t\t\tlet w = this.innerWidth();\n\t\t\tlet h = this.innerHeight();\n\n\t\t\tconst wr = w / (bounds.right - bounds.left);\n\t\t\tconst hr = h / (bounds.bottom - bounds.top);\n\n\t\t\tlet s = Math.min(wr, hr);\n\n\t\t\tlet r = $utils.relativeToValue(this.get(\"radius\", p100), s);\n\t\t\tlet ir = $utils.relativeToValue(this.get(\"innerRadius\", 0), r);\n\n\t\t\tif (ir < 0) {\n\t\t\t\tir = r + ir;\n\t\t\t}\n\n\t\t\ts = r - ir;\n\n\t\t\tthis.setPrivateRaw(\"innerRadius\", ir);\n\t\t\tthis.setPrivateRaw(\"hierarchySize\", s);\n\n\t\t\tpartitionLayout.size([s, s]);\n\n\t\t\tthis.nodesContainer.setAll({\n\t\t\t\tdy: -r * (bounds.bottom + bounds.top) / 2, dx: -r * (bounds.right + bounds.left) / 2\n\t\t\t})\n\n\t\t\tconst nodePadding = this.get(\"nodePadding\");\n\n\t\t\tif ($type.isNumber(nodePadding)) {\n\t\t\t\tpartitionLayout.padding(nodePadding);\n\t\t\t}\n\n\n\t\t\tpartitionLayout(this._rootNode);\n\t\t\tthis._updateNodes(this._rootNode);\n\t\t}\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\t\tconst node = dataItem.get(\"node\");\n\n\t\tnode.setAll({ x: 0, y: 0 });\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\t\tconst dr = this.getPrivate(\"dr\", 0);\n\t\tconst dx = this.getPrivate(\"dx\", 0);\n\n\t\tconst x0 = hierarchyNode.x0 * scaleX + dx;\n\t\tconst x1 = hierarchyNode.x1 * scaleX + dx;\n\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\tconst ir = this.getPrivate(\"innerRadius\");\n\t\tconst hs = this.getPrivate(\"hierarchySize\", 0);\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tconst startAngle = this.get(\"startAngle\", -90);\n\t\t\tconst endAngle = this.get(\"endAngle\", 270);\n\n\t\t\tconst sliceStartAngle = startAngle + x0 / hs * (endAngle - startAngle);\n\t\t\tconst arc = startAngle + x1 / hs * (endAngle - startAngle) - sliceStartAngle;\n\n\t\t\tlet sliceInnerRadius = ir + y0;\n\t\t\tlet sliceRadius = ir + y1;\n\n\t\t\tsliceInnerRadius -= dr;\n\t\t\tsliceRadius -= dr;\n\n\t\t\tsliceRadius = Math.max(0, sliceRadius);\n\t\t\tsliceInnerRadius = Math.max(0, sliceInnerRadius);\n\n\t\t\tslice.animate({ key: \"radius\", to: sliceRadius, duration: duration, easing: easing })\n\t\t\tslice.animate({ key: \"innerRadius\", to: sliceInnerRadius, duration: duration, easing: easing })\n\t\t\tslice.animate({ key: \"startAngle\", to: sliceStartAngle, duration: duration, easing: easing })\n\t\t\tslice.animate({ key: \"arc\", to: arc, duration: duration, easing: easing })\n\n\t\t\tconst fill = dataItem.get(\"fill\");\n\t\t\tconst fillPattern = dataItem.get(\"fillPattern\");\n\n\t\t\tslice._setDefault(\"fill\", fill);\n\t\t\tslice._setDefault(\"fillPattern\", fillPattern);\n\t\t\tslice._setDefault(\"stroke\", fill);\n\t\t}\n\t}\n\n\n\tprotected _updateNodesScale(hierarchyNode: d3hierarchy.HierarchyRectangularNode<ISunburstDataObject>) {\n\t\tconst dataItem = hierarchyNode.data.dataItem;\n\t\tif (dataItem) {\n\t\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\t\t\tconst dr = this.getPrivate(\"dr\", 0);\n\t\t\tconst dx = this.getPrivate(\"dx\", 0);\n\n\t\t\tconst x0 = hierarchyNode.x0 * scaleX + dx;\n\t\t\tconst x1 = hierarchyNode.x1 * scaleX + dx;\n\t\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\t\tconst ir = this.getPrivate(\"innerRadius\");\n\t\t\tconst hs = this.getPrivate(\"hierarchySize\", 0);\n\n\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\tif (slice) {\n\t\t\t\tconst startAngle = this.get(\"startAngle\", -90);\n\t\t\t\tconst endAngle = this.get(\"endAngle\", 270);\n\n\t\t\t\tconst sliceStartAngle = startAngle + x0 / hs * (endAngle - startAngle);\n\t\t\t\tconst arc = startAngle + x1 / hs * (endAngle - startAngle) - sliceStartAngle;\n\n\t\t\t\tlet sliceInnerRadius = ir + y0;\n\t\t\t\tlet sliceRadius = ir + y1;\n\n\t\t\t\tsliceInnerRadius -= dr;\n\t\t\t\tsliceRadius -= dr;\n\n\t\t\t\tsliceRadius = Math.max(0, sliceRadius);\n\t\t\t\tsliceInnerRadius = Math.max(0, sliceInnerRadius);\n\n\t\t\t\tslice.setAll({ radius: sliceRadius, innerRadius: sliceInnerRadius, startAngle: sliceStartAngle, arc: arc });\n\t\t\t}\n\n\t\t\tconst hierarchyChildren = hierarchyNode.children;\n\t\t\tif (hierarchyChildren) {\n\t\t\t\t$array.each(hierarchyChildren, (hierarchyChild) => {\n\t\t\t\t\tthis._updateNodesScale(hierarchyChild)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>, node: HierarchyNode) {\n\t\tconst slice = node.children.moveValue(this.slices.make(), 0);\n\t\tnode.setPrivate(\"tooltipTarget\", slice);\n\t\tdataItem.setRaw(\"slice\", slice);\n\n\t\tslice._setDataItem(dataItem);\n\n\t\tslice.on(\"arc\", () => {\n\t\t\tthis._updateLabel(dataItem);\n\t\t})\n\t\tslice.on(\"innerRadius\", () => {\n\t\t\tthis._updateLabel(dataItem);\n\t\t})\n\t\tslice.on(\"radius\", () => {\n\t\t\tthis._updateLabel(dataItem);\n\t\t})\n\t}\n\n\tprotected _updateLabel(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tconst label = dataItem.get(\"label\") as RadialLabel;\n\n\t\tif (slice && label) {\n\t\t\tlet innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\tlet radius = slice.get(\"radius\", 0);\n\t\t\tlet angle = slice.get(\"startAngle\", 0);\n\t\t\tlet arc = Math.abs(slice.get(\"arc\", 0));\n\t\t\tlet labelAngle = angle + arc / 2;\n\t\t\tlet textType = label.get(\"textType\");\n\n\t\t\tlet maxWidth = radius - innerRadius;\n\t\t\tlet maxHeight = radius * arc * $math.RADIANS;\n\n\t\t\tif (innerRadius == 0 && arc >= 360 && textType == \"radial\") {\n\t\t\t\tradius = 1;\n\t\t\t\tlabelAngle = 0;\n\t\t\t\tmaxWidth *= 2;\n\t\t\t\tmaxHeight = maxWidth;\n\t\t\t}\n\n\t\t\tif (Math.round(arc) >= 360 && textType == \"radial\") {\n\t\t\t\tlabelAngle = 0;\n\t\t\t}\n\n\t\t\tif (textType == \"circular\") {\n\t\t\t\tmaxWidth = arc * $math.RADIANS * (innerRadius + (radius - innerRadius) / 2) - 10;\n\t\t\t}\n\n\n\t\t\tlabel.setAll({ labelAngle: labelAngle });\n\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\tlabel.setPrivate(\"innerRadius\", innerRadius);\n\n\t\t\tlabel.setAll({\n\t\t\t\tmaxHeight: maxHeight,\n\t\t\t\tmaxWidth: maxWidth\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _zoom(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet x0 = 0;\n\t\tlet x1 = 0;\n\t\tlet hs = this.getPrivate(\"hierarchySize\", 0);\n\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\tlet upDepth = this.get(\"upDepth\", 0);\n\t\tlet topDepth = this.get(\"topDepth\", 0);\n\t\tlet currentDepth = hierarchyNode.depth;\n\t\tlet maxDepth = this.getPrivate(\"maxDepth\", 1);\n\t\tlet downDepth = this._currentDownDepth;\n\n\t\tif (downDepth == null) {\n\t\t\tdownDepth = this.get(\"downDepth\", 1);\n\t\t}\n\n\t\tconst levelHeight = hs / (maxDepth + 1);\n\n\t\tif (currentDepth < topDepth) {\n\t\t\tcurrentDepth = topDepth;\n\t\t}\n\n\t\tif (currentDepth - upDepth < 0) {\n\t\t\tupDepth = currentDepth;\n\t\t}\n\n\t\tx0 = hierarchyNode.x0;\n\t\tx1 = hierarchyNode.x1;\n\n\t\tlet scaleDepth = (downDepth + upDepth + 1);\n\n\t\tif (scaleDepth > maxDepth - topDepth + 1) {\n\t\t\tscaleDepth = maxDepth - topDepth + 1;\n\t\t}\n\n\t\tlet scaleX = hs / (x1 - x0);\n\t\tlet scaleY = hs / (levelHeight * scaleDepth);\n\n\t\tlet dr = Math.max(currentDepth - upDepth, topDepth) * levelHeight * scaleY;\n\n\t\tconst easing = this.get(\"animationEasing\");\n\t\tlet duration = this.get(\"animationDuration\", 0);\n\n\t\tif (!this.inited) {\n\t\t\tduration = 0;\n\t\t}\n\n\t\tlet dx = -x0 * scaleX\n\n\t\tthis.animatePrivate({ key: \"scaleX\", to: scaleX, duration: duration, easing: easing });\n\t\tthis.animatePrivate({ key: \"scaleY\", to: scaleY, duration: duration, easing: easing });\n\t\tthis.animatePrivate({ key: \"dr\", to: dr, duration: duration, easing: easing });\n\t\tthis.animatePrivate({ key: \"dx\", to: dx, duration: duration, easing: easing });\n\t}\n\n\n\tprotected _handleSingle(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst parent = dataItem.get(\"parent\");\n\t\tif (parent) {\n\t\t\tconst children = parent.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tif (child != dataItem) {\n\t\t\t\t\t\tthis.disableDataItem(child);\n\t\t\t\t\t\tchild.get(\"node\").hide();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tthis._handleSingle(parent);\n\t\t}\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\n\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\n\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\tconst arc = slice.get(\"arc\", 0);\n\t\t\tconst angle = slice.get(\"startAngle\", 0) + slice.get(\"arc\", 0) * locationX;\n\t\t\tconst innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\tconst radius = innerRadius + (slice.get(\"radius\", 0) - innerRadius) * locationY;\n\n\t\t\tlet x = $math.cos(angle) * radius;\n\t\t\tlet y = $math.sin(angle) * radius;\n\n\t\t\tif ($math.round(arc, 5) === 360 && $math.round(innerRadius, 2) === 0) {\n\t\t\t\tx = 0;\n\t\t\t\ty = 0;\n\t\t\t}\n\n\t\t\tsprite.set(\"x\", x);\n\t\t\tsprite.set(\"y\", y);\n\t\t}\n\t}\n\n\tprotected _makeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>, bulletFunction: (root: Root, series: Series, dataItem: DataItem<this[\"_dataItemSettings\"]>) => Bullet | undefined, index?: number) {\n\t\tconst bullet = super._makeBullet(dataItem, bulletFunction, index);\n\n\t\tif (bullet) {\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tconst slice = dataItem.get(\"slice\");\n\n\t\t\tif (sprite && slice) {\n\t\t\t\tslice.on(\"arc\", () => {\n\t\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\t})\n\n\t\t\t\tslice.on(\"radius\", () => {\n\t\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn bullet;\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"Sunburst.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Sunburst.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../../core/Root\";\nimport type { DataItem } from \"../../core/render/Component\";\nimport type { HierarchyNode } from \"./HierarchyNode\";\nimport type { Bullet } from \"../../core/render/Bullet\";\nimport type { Series } from \"../../core/render/Series\";\n\nimport { Partition, IPartitionPrivate, IPartitionSettings, IPartitionDataItem } from \"./Partition\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { Slice } from \"../../core/render/Slice\";\nimport { RadialLabel } from \"../../core/render/RadialLabel\";\nimport { Percent, p100, p50 } from \"../../core/util/Percent\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as d3hierarchy from \"d3-hierarchy\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $math from \"../../core/util/Math\";\n\n/**\n * @ignore\n */\nexport interface ISunburstDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: ISunburstDataObject[],\n\tdataItem?: DataItem<ISunburstDataItem>\n};\n\nexport interface ISunburstDataItem extends IPartitionDataItem {\n\n\t/**\n\t * Data items of child nodes.\n\t */\n\tchildren: Array<DataItem<ISunburstDataItem>>;\n\n\t/**\n\t * Data item of a parent node.\n\t */\n\tparent: DataItem<ISunburstDataItem>;\n\n\t/**\n\t * @ignore\n\t */\n\td3PartitionNode: d3hierarchy.HierarchyRectangularNode<ISunburstDataObject>;\n\n\t/**\n\t * A [[Slice]] element of the node.\n\t */\n\tslice: Slice;\n\n}\n\nexport interface ISunburstSettings extends IPartitionSettings {\n\n\t/**\n\t * Start angle of the series.\n\t *\n\t * @default -90\n\t */\n\tstartAngle?: number;\n\n\t/**\n\t * End angle of the series.\n\t *\n\t * @default 270\n\t */\n\tendAngle?: number;\n\n\t/**\n\t * Inner radius of the suburst pie.\n\t *\n\t * Setting to negative number will mean pixels from outer radius.\n\t *\n\t * @default 0\n\t */\n\tinnerRadius?: number | Percent;\n\n\t/**\n\t * Outer radius of the sunburst pie.\n\t *\n\t * @default 100%\n\t */\n\tradius?: number | Percent;\n\n}\n\nexport interface ISunburstPrivate extends IPartitionPrivate {\n\n\t/**\n\t * @ignore\n\t */\n\tdr: number;\n\n\t/**\n\t * @ignore\n\t */\n\tdx: number;\n\n\t/**\n\t * @ignore\n\t */\n\tinnerRadius: number;\n\n\t/**\n\t * @ignore\n\t */\n\thierarchySize?: number;\n\n}\n\n/**\n * Builds a sunburst diagram.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/sunburst/} for more info\n * @important\n */\nexport class Sunburst extends Partition {\n\n\tdeclare public _settings: ISunburstSettings;\n\tdeclare public _privateSettings: ISunburstPrivate;\n\tdeclare public _dataItemSettings: ISunburstDataItem;\n\n\tprotected _tag: string = \"sunburst\";\n\n\tpublic static className: string = \"Sunburst\";\n\tpublic static classNames: Array<string> = Partition.classNames.concat([Sunburst.className]);\n\n\tpublic _partitionLayout = d3hierarchy.partition();\n\n\tdeclare public _rootNode: d3hierarchy.HierarchyRectangularNode<ISunburstDataObject> | undefined;\n\n\t/**\n\t * A list of node slice elements in a [[Sunburst]] chart.\n\t *\n\t * @default new ListTemplate<Slice>\n\t */\n\tpublic readonly slices: ListTemplate<Slice> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Slice._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.slices.template.get(\"themeTags\", []), [this._tag, \"hierarchy\", \"node\", \"shape\"])\n\t\t}, [this.slices.template])\n\t));\n\n\t/**\n\t * A list of label elements in a [[Hierarchy]] chart.\n\t *\n\t * @default new ListTemplate<RadialLabel>\n\t */\n\tpublic readonly labels: ListTemplate<RadialLabel> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RadialLabel._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [this._tag])\n\t\t}, [this.labels.template])\n\t));\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.nodesContainer.setAll({ x: p50, y: p50 });\n\t\tthis.setPrivateRaw(\"dx\", 0);\n\t\tthis.setPrivateRaw(\"dr\", 0);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isPrivateDirty(\"dr\") || this.isPrivateDirty(\"dx\")) {\n\t\t\tif (this._rootNode) {\n\t\t\t\tthis._updateNodesScale(this._rootNode);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tconst partitionLayout = this._partitionLayout;\n\n\t\t\tlet bounds = $math.getArcBounds(0, 0, this.get(\"startAngle\", 0), this.get(\"endAngle\", 360), 1);\n\n\t\t\tlet w = this.innerWidth();\n\t\t\tlet h = this.innerHeight();\n\n\t\t\tconst wr = w / (bounds.right - bounds.left);\n\t\t\tconst hr = h / (bounds.bottom - bounds.top);\n\n\t\t\tlet s = Math.min(wr, hr);\n\n\t\t\tlet r = $utils.relativeToValue(this.get(\"radius\", p100), s);\n\t\t\tlet ir = $utils.relativeToValue(this.get(\"innerRadius\", 0), r);\n\n\t\t\tif (ir < 0) {\n\t\t\t\tir = r + ir;\n\t\t\t}\n\n\t\t\ts = r - ir;\n\n\t\t\tthis.setPrivateRaw(\"innerRadius\", ir);\n\t\t\tthis.setPrivateRaw(\"hierarchySize\", s);\n\n\t\t\tpartitionLayout.size([s, s]);\n\n\t\t\tthis.nodesContainer.setAll({\n\t\t\t\tdy: -r * (bounds.bottom + bounds.top) / 2, dx: -r * (bounds.right + bounds.left) / 2\n\t\t\t})\n\n\t\t\tconst nodePadding = this.get(\"nodePadding\");\n\n\t\t\tif ($type.isNumber(nodePadding)) {\n\t\t\t\tpartitionLayout.padding(nodePadding);\n\t\t\t}\n\n\n\t\t\tpartitionLayout(this._rootNode);\n\t\t\tthis._updateNodes(this._rootNode);\n\t\t}\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\t\tconst node = dataItem.get(\"node\");\n\n\t\tnode.setAll({ x: 0, y: 0 });\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\t\tconst dr = this.getPrivate(\"dr\", 0);\n\t\tconst dx = this.getPrivate(\"dx\", 0);\n\n\t\tconst x0 = hierarchyNode.x0 * scaleX + dx;\n\t\tconst x1 = hierarchyNode.x1 * scaleX + dx;\n\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\tconst ir = this.getPrivate(\"innerRadius\");\n\t\tconst hs = this.getPrivate(\"hierarchySize\", 0);\n\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tif (slice) {\n\t\t\tconst startAngle = this.get(\"startAngle\", -90);\n\t\t\tconst endAngle = this.get(\"endAngle\", 270);\n\n\t\t\tconst sliceStartAngle = startAngle + x0 / hs * (endAngle - startAngle);\n\t\t\tconst arc = startAngle + x1 / hs * (endAngle - startAngle) - sliceStartAngle;\n\n\t\t\tlet sliceInnerRadius = ir + y0;\n\t\t\tlet sliceRadius = ir + y1;\n\n\t\t\tsliceInnerRadius -= dr;\n\t\t\tsliceRadius -= dr;\n\n\t\t\tsliceRadius = Math.max(0, sliceRadius);\n\t\t\tsliceInnerRadius = Math.max(0, sliceInnerRadius);\n\n\t\t\tslice.animate({ key: \"radius\", to: sliceRadius, duration: duration, easing: easing })\n\t\t\tslice.animate({ key: \"innerRadius\", to: sliceInnerRadius, duration: duration, easing: easing })\n\t\t\tslice.animate({ key: \"startAngle\", to: sliceStartAngle, duration: duration, easing: easing })\n\t\t\tslice.animate({ key: \"arc\", to: arc, duration: duration, easing: easing })\n\n\t\t\tconst fill = dataItem.get(\"fill\");\n\t\t\tconst fillPattern = dataItem.get(\"fillPattern\");\n\n\t\t\tslice._setDefault(\"fill\", fill);\n\t\t\tslice._setDefault(\"fillPattern\", fillPattern);\n\t\t\tslice._setDefault(\"stroke\", fill);\n\t\t}\n\t}\n\n\n\tprotected _updateNodesScale(hierarchyNode: d3hierarchy.HierarchyRectangularNode<ISunburstDataObject>) {\n\t\tconst dataItem = hierarchyNode.data.dataItem;\n\t\tif (dataItem) {\n\t\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\t\t\tconst dr = this.getPrivate(\"dr\", 0);\n\t\t\tconst dx = this.getPrivate(\"dx\", 0);\n\n\t\t\tconst x0 = hierarchyNode.x0 * scaleX + dx;\n\t\t\tconst x1 = hierarchyNode.x1 * scaleX + dx;\n\t\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\t\tconst ir = this.getPrivate(\"innerRadius\");\n\t\t\tconst hs = this.getPrivate(\"hierarchySize\", 0);\n\n\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\tif (slice) {\n\t\t\t\tconst startAngle = this.get(\"startAngle\", -90);\n\t\t\t\tconst endAngle = this.get(\"endAngle\", 270);\n\n\t\t\t\tconst sliceStartAngle = startAngle + x0 / hs * (endAngle - startAngle);\n\t\t\t\tconst arc = startAngle + x1 / hs * (endAngle - startAngle) - sliceStartAngle;\n\n\t\t\t\tlet sliceInnerRadius = ir + y0;\n\t\t\t\tlet sliceRadius = ir + y1;\n\n\t\t\t\tsliceInnerRadius -= dr;\n\t\t\t\tsliceRadius -= dr;\n\n\t\t\t\tsliceRadius = Math.max(0, sliceRadius);\n\t\t\t\tsliceInnerRadius = Math.max(0, sliceInnerRadius);\n\n\t\t\t\tslice.setAll({ radius: sliceRadius, innerRadius: sliceInnerRadius, startAngle: sliceStartAngle, arc: arc });\n\t\t\t}\n\n\t\t\tconst hierarchyChildren = hierarchyNode.children;\n\t\t\tif (hierarchyChildren) {\n\t\t\t\t$array.each(hierarchyChildren, (hierarchyChild) => {\n\t\t\t\t\tthis._updateNodesScale(hierarchyChild)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>, node: HierarchyNode) {\n\t\tconst slice = node.children.moveValue(this.slices.make(), 0);\n\t\tnode.setPrivate(\"tooltipTarget\", slice);\n\t\tdataItem.setRaw(\"slice\", slice);\n\n\t\tslice._setDataItem(dataItem);\n\n\t\tslice.on(\"arc\", () => {\n\t\t\tthis._updateLabel(dataItem);\n\t\t})\n\t\tslice.on(\"innerRadius\", () => {\n\t\t\tthis._updateLabel(dataItem);\n\t\t})\n\t\tslice.on(\"radius\", () => {\n\t\t\tthis._updateLabel(dataItem);\n\t\t})\n\t}\n\n\tprotected _updateLabel(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst slice = dataItem.get(\"slice\");\n\t\tconst label = dataItem.get(\"label\") as RadialLabel;\n\n\t\tif (slice && label) {\n\t\t\tlet innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\tlet radius = slice.get(\"radius\", 0);\n\t\t\tlet angle = slice.get(\"startAngle\", 0);\n\t\t\tlet arc = Math.abs(slice.get(\"arc\", 0));\n\t\t\tlet labelAngle = angle + arc / 2;\n\t\t\tlet textType = label.get(\"textType\");\n\n\t\t\tlet maxWidth = radius - innerRadius;\n\t\t\tlet maxHeight = radius * arc * $math.RADIANS;\n\n\t\t\tif (innerRadius == 0 && arc >= 360 && textType == \"radial\") {\n\t\t\t\tradius = 1;\n\t\t\t\tlabelAngle = 0;\n\t\t\t\tmaxWidth *= 2;\n\t\t\t\tmaxHeight = maxWidth;\n\t\t\t}\n\n\t\t\tif (Math.round(arc) >= 360 && textType == \"radial\") {\n\t\t\t\tlabelAngle = 0;\n\t\t\t}\n\n\t\t\tif (textType == \"circular\") {\n\t\t\t\tmaxWidth = arc * $math.RADIANS * (innerRadius + (radius - innerRadius) / 2) - 10;\n\t\t\t}\n\n\n\t\t\tlabel.setAll({ labelAngle: labelAngle });\n\t\t\tlabel.setPrivate(\"radius\", radius);\n\t\t\tlabel.setPrivate(\"innerRadius\", innerRadius);\n\n\t\t\tlabel.setAll({\n\t\t\t\tmaxHeight: maxHeight,\n\t\t\t\tmaxWidth: maxWidth\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _zoom(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet x0 = 0;\n\t\tlet x1 = 0;\n\t\tlet hs = this.getPrivate(\"hierarchySize\", 0);\n\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\tlet upDepth = this.get(\"upDepth\", 0);\n\t\tlet topDepth = this.get(\"topDepth\", 0);\n\t\tlet currentDepth = hierarchyNode.depth;\n\t\tlet maxDepth = this.getPrivate(\"maxDepth\", 1);\n\t\tlet downDepth = this._currentDownDepth;\n\n\t\tif (downDepth == null) {\n\t\t\tdownDepth = this.get(\"downDepth\", 1);\n\t\t}\n\n\t\tconst levelHeight = hs / (maxDepth + 1);\n\n\t\tif (currentDepth < topDepth) {\n\t\t\tcurrentDepth = topDepth;\n\t\t}\n\n\t\tif (currentDepth - upDepth < 0) {\n\t\t\tupDepth = currentDepth;\n\t\t}\n\n\t\tx0 = hierarchyNode.x0;\n\t\tx1 = hierarchyNode.x1;\n\n\t\tlet scaleDepth = (downDepth + upDepth + 1);\n\n\t\tif (scaleDepth > maxDepth - topDepth + 1) {\n\t\t\tscaleDepth = maxDepth - topDepth + 1;\n\t\t}\n\n\t\tlet scaleX = hs / (x1 - x0);\n\t\tlet scaleY = hs / (levelHeight * scaleDepth);\n\n\t\tlet dr = Math.max(currentDepth - upDepth, topDepth) * levelHeight * scaleY;\n\n\t\tconst easing = this.get(\"animationEasing\");\n\t\tlet duration = this.get(\"animationDuration\", 0);\n\n\t\tif (!this.inited) {\n\t\t\tduration = 0;\n\t\t}\n\n\t\tlet dx = -x0 * scaleX\n\n\t\tthis.animatePrivate({ key: \"scaleX\", to: scaleX, duration: duration, easing: easing });\n\t\tthis.animatePrivate({ key: \"scaleY\", to: scaleY, duration: duration, easing: easing });\n\t\tthis.animatePrivate({ key: \"dr\", to: dr, duration: duration, easing: easing });\n\t\tthis.animatePrivate({ key: \"dx\", to: dx, duration: duration, easing: easing });\n\t}\n\n\n\tprotected _handleSingle(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst parent = dataItem.get(\"parent\");\n\t\tif (parent) {\n\t\t\tconst children = parent.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\t$array.each(children, (child) => {\n\t\t\t\t\tif (child != dataItem) {\n\t\t\t\t\t\tthis.disableDataItem(child);\n\t\t\t\t\t\tchild.get(\"node\").hide();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\t\t\tthis._handleSingle(parent);\n\t\t}\n\t}\n\n\tpublic _positionBullet(bullet: Bullet) {\n\n\t\tconst sprite = bullet.get(\"sprite\");\n\t\tif (sprite) {\n\t\t\tconst dataItem = sprite.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\n\t\t\tconst locationX = bullet.get(\"locationX\", 0.5);\n\t\t\tconst locationY = bullet.get(\"locationY\", 0.5);\n\n\t\t\tconst slice = dataItem.get(\"slice\");\n\t\t\tconst arc = slice.get(\"arc\", 0);\n\t\t\tconst angle = slice.get(\"startAngle\", 0) + slice.get(\"arc\", 0) * locationX;\n\t\t\tconst innerRadius = slice.get(\"innerRadius\", 0);\n\t\t\tconst radius = innerRadius + (slice.get(\"radius\", 0) - innerRadius) * locationY;\n\n\t\t\tlet x = $math.cos(angle) * radius;\n\t\t\tlet y = $math.sin(angle) * radius;\n\n\t\t\tif ($math.round(arc, 5) === 360 && $math.round(innerRadius, 2) === 0) {\n\t\t\t\tx = 0;\n\t\t\t\ty = 0;\n\t\t\t}\n\n\t\t\tsprite.set(\"x\", x);\n\t\t\tsprite.set(\"y\", y);\n\t\t}\n\t}\n\n\tprotected _makeBullet(dataItem: DataItem<this[\"_dataItemSettings\"]>, bulletFunction: (root: Root, series: Series, dataItem: DataItem<this[\"_dataItemSettings\"]>) => Bullet | undefined, index?: number) {\n\t\tconst bullet = super._makeBullet(dataItem, bulletFunction, index);\n\n\t\tif (bullet) {\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tconst slice = dataItem.get(\"slice\");\n\n\t\t\tif (sprite && slice) {\n\t\t\t\tslice.on(\"arc\", () => {\n\t\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\t})\n\n\t\t\t\tslice.on(\"radius\", () => {\n\t\t\t\t\tthis._positionBullet(bullet);\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn bullet;\n\t\t}\n\t}\n}\n"]}
@@ -10,24 +10,8 @@ import * as d3hierarchy from "d3-hierarchy";
10
10
  export class Tree extends LinkedHierarchy {
11
11
  constructor() {
12
12
  super(...arguments);
13
- Object.defineProperty(this, "_tag", {
14
- enumerable: true,
15
- configurable: true,
16
- writable: true,
17
- value: "tree"
18
- });
19
- Object.defineProperty(this, "_hierarchyLayout", {
20
- enumerable: true,
21
- configurable: true,
22
- writable: true,
23
- value: d3hierarchy.tree()
24
- });
25
- Object.defineProperty(this, "_packData", {
26
- enumerable: true,
27
- configurable: true,
28
- writable: true,
29
- value: void 0
30
- });
13
+ this._tag = "tree";
14
+ this._hierarchyLayout = d3hierarchy.tree();
31
15
  }
32
16
  _prepareChildren() {
33
17
  super._prepareChildren();
@@ -68,16 +52,6 @@ export class Tree extends LinkedHierarchy {
68
52
  }
69
53
  }
70
54
  }
71
- Object.defineProperty(Tree, "className", {
72
- enumerable: true,
73
- configurable: true,
74
- writable: true,
75
- value: "Tree"
76
- });
77
- Object.defineProperty(Tree, "classNames", {
78
- enumerable: true,
79
- configurable: true,
80
- writable: true,
81
- value: LinkedHierarchy.classNames.concat([Tree.className])
82
- });
55
+ Tree.className = "Tree";
56
+ Tree.classNames = LinkedHierarchy.classNames.concat([Tree.className]);
83
57
  //# sourceMappingURL=Tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Tree.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAuG,MAAM,mBAAmB,CAAC;AAEzJ,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAO3C,CAAC;AAoDF;;;;;GAKG;AACH,MAAM,OAAO,IAAK,SAAQ,eAAe;IAAzC;;QAMC;;;;mBAAyB,MAAM;WAAC;QAKhC;;;;mBAA0B,WAAW,CAAC,IAAI,EAAE;WAAC;QAE7C;;;;;WAA8C;IA+C/C,CAAC;IA7CO,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;SACtB;IACF,CAAC;IAES,cAAc;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAErC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,UAAU,EAAE;gBAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aACrD;iBACI;gBACJ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;aACrD;YAED,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvB;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAES,SAAS,CAAC,aAA2D;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,UAAU,EAAE;YAC1C,IAAI,QAAQ,EAAE;gBACb,OAAO,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC;aACvE;iBACI;gBACJ,OAAO,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;aAClD;SACD;aACI;YACJ,IAAI,QAAQ,EAAE;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;aACtE;iBACI;gBACJ,OAAO,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;aAClD;SACD;IACF,CAAC;;AAlDD;;;;WAAkC,MAAM;GAAC;AACzC;;;;WAA0C,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { IPoint } from \"../../core/util/IPoint\";\n\nimport { LinkedHierarchy, ILinkedHierarchyPrivate, ILinkedHierarchySettings, ILinkedHierarchyDataItem, ILinkedHierarchyEvents } from \"./LinkedHierarchy\";\n\nimport * as d3hierarchy from \"d3-hierarchy\";\n\nexport interface ITreeDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: ITreeDataObject[],\n\tdataItem?: DataItem<ITreeDataItem>\n};\n\nexport interface ITreeDataItem extends ILinkedHierarchyDataItem {\n\n\t/**\n\t * An array of children data items.\n\t */\n\tchildren: Array<DataItem<ITreeDataItem>>;\n\n\t/**\n\t * Parent data item.\n\t * @type {DataItem<ITreeDataItem>}\n\t */\n\tparent: DataItem<ITreeDataItem>;\n\n}\n\nexport interface ITreeSettings extends ILinkedHierarchySettings {\n\n\t/**\n\t * Orientation of the diagram.\n\t *\n\t * @default \"vertical\"\n\t */\n\torientation?: \"horizontal\" | \"vertical\";\n\n\t/**\n\t * If set to `true`, will flip the tree direction.\n\t *\n\t * @default false\n\t * @since 5.2.4\n\t */\n\tinversed?: boolean;\n\n}\n\nexport interface ITreePrivate extends ILinkedHierarchyPrivate {\n\n\t/**\n\t * Current horizontal scale.\n\t */\n\tscaleX?: number;\n\n\t/**\n\t * Current vertical scale.\n\t */\n\tscaleY?: number;\n}\n\nexport interface ITreeEvents extends ILinkedHierarchyEvents {\n}\n\n/**\n * Displays a tree diagram.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/tree/} for more info\n * @important\n */\nexport class Tree extends LinkedHierarchy {\n\n\tdeclare public _settings: ITreeSettings;\n\tdeclare public _privateSettings: ITreePrivate;\n\tdeclare public _dataItemSettings: ITreeDataItem;\n\n\tprotected _tag: string = \"tree\";\n\n\tpublic static className: string = \"Tree\";\n\tpublic static classNames: Array<string> = LinkedHierarchy.classNames.concat([Tree.className]);\n\n\tpublic _hierarchyLayout = d3hierarchy.tree();\n\tdeclare public _rootNode: d3hierarchy.HierarchyCircularNode<ITreeDataObject> | undefined;\n\tpublic _packData: ITreeDataObject | undefined;\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"orientation\") || this.isDirty(\"inversed\")) {\n\t\t\tthis._updateVisuals();\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tconst layout = this._hierarchyLayout;\n\n\t\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\t\tlayout.size([this.innerWidth(), this.innerHeight()]);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlayout.size([this.innerHeight(), this.innerWidth()]);\n\t\t\t}\n\n\t\t\tlayout(this._rootNode);\n\t\t}\n\n\t\tsuper._updateVisuals();\n\t}\n\n\tprotected _getPoint(hierarchyNode: this[\"_dataItemSettings\"][\"d3HierarchyNode\"]): IPoint {\n\t\tconst inversed = this.get(\"inversed\");\n\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\tif (inversed) {\n\t\t\t\treturn { x: hierarchyNode.x, y: this.innerHeight() - hierarchyNode.y };\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn { x: hierarchyNode.x, y: hierarchyNode.y };\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif (inversed) {\n\t\t\t\treturn { x: this.innerWidth() - hierarchyNode.y, y: hierarchyNode.x };\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn { x: hierarchyNode.y, y: hierarchyNode.x };\n\t\t\t}\n\t\t}\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Tree.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAuG,MAAM,mBAAmB,CAAC;AAEzJ,OAAO,KAAK,WAAW,MAAM,cAAc,CAAC;AAO3C,CAAC;AAoDF;;;;;GAKG;AACH,MAAM,OAAO,IAAK,SAAQ,eAAe;IAAzC;;QAMW,SAAI,GAAW,MAAM,CAAC;QAKzB,qBAAgB,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAiD9C,CAAC;IA7CO,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;SACtB;IACF,CAAC;IAES,cAAc;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAErC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,UAAU,EAAE;gBAC1C,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aACrD;iBACI;gBACJ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;aACrD;YAED,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvB;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAES,SAAS,CAAC,aAA2D;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,UAAU,EAAE;YAC1C,IAAI,QAAQ,EAAE;gBACb,OAAO,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC;aACvE;iBACI;gBACJ,OAAO,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;aAClD;SACD;aACI;YACJ,IAAI,QAAQ,EAAE;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;aACtE;iBACI;gBACJ,OAAO,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;aAClD;SACD;IACF,CAAC;;AAlDa,cAAS,GAAW,MAAM,CAAC;AAC3B,eAAU,GAAkB,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { IPoint } from \"../../core/util/IPoint\";\n\nimport { LinkedHierarchy, ILinkedHierarchyPrivate, ILinkedHierarchySettings, ILinkedHierarchyDataItem, ILinkedHierarchyEvents } from \"./LinkedHierarchy\";\n\nimport * as d3hierarchy from \"d3-hierarchy\";\n\nexport interface ITreeDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: ITreeDataObject[],\n\tdataItem?: DataItem<ITreeDataItem>\n};\n\nexport interface ITreeDataItem extends ILinkedHierarchyDataItem {\n\n\t/**\n\t * An array of children data items.\n\t */\n\tchildren: Array<DataItem<ITreeDataItem>>;\n\n\t/**\n\t * Parent data item.\n\t * @type {DataItem<ITreeDataItem>}\n\t */\n\tparent: DataItem<ITreeDataItem>;\n\n}\n\nexport interface ITreeSettings extends ILinkedHierarchySettings {\n\n\t/**\n\t * Orientation of the diagram.\n\t *\n\t * @default \"vertical\"\n\t */\n\torientation?: \"horizontal\" | \"vertical\";\n\n\t/**\n\t * If set to `true`, will flip the tree direction.\n\t *\n\t * @default false\n\t * @since 5.2.4\n\t */\n\tinversed?: boolean;\n\n}\n\nexport interface ITreePrivate extends ILinkedHierarchyPrivate {\n\n\t/**\n\t * Current horizontal scale.\n\t */\n\tscaleX?: number;\n\n\t/**\n\t * Current vertical scale.\n\t */\n\tscaleY?: number;\n}\n\nexport interface ITreeEvents extends ILinkedHierarchyEvents {\n}\n\n/**\n * Displays a tree diagram.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/tree/} for more info\n * @important\n */\nexport class Tree extends LinkedHierarchy {\n\n\tdeclare public _settings: ITreeSettings;\n\tdeclare public _privateSettings: ITreePrivate;\n\tdeclare public _dataItemSettings: ITreeDataItem;\n\n\tprotected _tag: string = \"tree\";\n\n\tpublic static className: string = \"Tree\";\n\tpublic static classNames: Array<string> = LinkedHierarchy.classNames.concat([Tree.className]);\n\n\tpublic _hierarchyLayout = d3hierarchy.tree();\n\tdeclare public _rootNode: d3hierarchy.HierarchyCircularNode<ITreeDataObject> | undefined;\n\tpublic _packData: ITreeDataObject | undefined;\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"orientation\") || this.isDirty(\"inversed\")) {\n\t\t\tthis._updateVisuals();\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tconst layout = this._hierarchyLayout;\n\n\t\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\t\tlayout.size([this.innerWidth(), this.innerHeight()]);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlayout.size([this.innerHeight(), this.innerWidth()]);\n\t\t\t}\n\n\t\t\tlayout(this._rootNode);\n\t\t}\n\n\t\tsuper._updateVisuals();\n\t}\n\n\tprotected _getPoint(hierarchyNode: this[\"_dataItemSettings\"][\"d3HierarchyNode\"]): IPoint {\n\t\tconst inversed = this.get(\"inversed\");\n\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\tif (inversed) {\n\t\t\t\treturn { x: hierarchyNode.x, y: this.innerHeight() - hierarchyNode.y };\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn { x: hierarchyNode.x, y: hierarchyNode.y };\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif (inversed) {\n\t\t\t\treturn { x: this.innerWidth() - hierarchyNode.y, y: hierarchyNode.x };\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn { x: hierarchyNode.y, y: hierarchyNode.x };\n\t\t\t}\n\t\t}\n\t}\n\n}\n"]}
@@ -15,37 +15,17 @@ import * as d3hierarchy from "d3-hierarchy";
15
15
  export class Treemap extends Hierarchy {
16
16
  constructor() {
17
17
  super(...arguments);
18
- Object.defineProperty(this, "_tag", {
19
- enumerable: true,
20
- configurable: true,
21
- writable: true,
22
- value: "treemap"
23
- });
24
- Object.defineProperty(this, "rectangleTemplate", {
25
- enumerable: true,
26
- configurable: true,
27
- writable: true,
28
- value: Template.new({})
29
- });
30
- Object.defineProperty(this, "_treemapLayout", {
31
- enumerable: true,
32
- configurable: true,
33
- writable: true,
34
- value: d3hierarchy.treemap().tile(d3hierarchy.treemapSquarify)
35
- });
18
+ this._tag = "treemap";
19
+ this.rectangleTemplate = Template.new({});
20
+ this._treemapLayout = d3hierarchy.treemap().tile(d3hierarchy.treemapSquarify);
36
21
  /**
37
22
  * A list of node rectangle elements in a [[Treemap]] chart.
38
23
  *
39
24
  * @default new ListTemplate<RoundedRectangle>
40
25
  */
41
- Object.defineProperty(this, "rectangles", {
42
- enumerable: true,
43
- configurable: true,
44
- writable: true,
45
- value: this.addDisposer(new ListTemplate(Template.new({}), () => RoundedRectangle._new(this._root, {
46
- themeTags: $utils.mergeTags(this.rectangles.template.get("themeTags", []), [this._tag, "shape"])
47
- }, [this.rectangles.template])))
48
- });
26
+ this.rectangles = this.addDisposer(new ListTemplate(Template.new({}), () => RoundedRectangle._new(this._root, {
27
+ themeTags: $utils.mergeTags(this.rectangles.template.get("themeTags", []), [this._tag, "shape"])
28
+ }, [this.rectangles.template])));
49
29
  }
50
30
  _afterNew() {
51
31
  super._afterNew();
@@ -251,16 +231,6 @@ export class Treemap extends Hierarchy {
251
231
  return includedChildren;
252
232
  }
253
233
  }
254
- Object.defineProperty(Treemap, "className", {
255
- enumerable: true,
256
- configurable: true,
257
- writable: true,
258
- value: "Treemap"
259
- });
260
- Object.defineProperty(Treemap, "classNames", {
261
- enumerable: true,
262
- configurable: true,
263
- writable: true,
264
- value: Hierarchy.classNames.concat([Treemap.className])
265
- });
234
+ Treemap.className = "Treemap";
235
+ Treemap.classNames = Hierarchy.classNames.concat([Treemap.className]);
266
236
  //# sourceMappingURL=Treemap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Treemap.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Treemap.ts"],"names":[],"mappings":"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","sourcesContent":["import type { HierarchyNode } from \"./HierarchyNode\";\nimport type { DataItem } from \"../../core/render/Component\";\n\nimport { Hierarchy, IHierarchyPrivate, IHierarchySettings, IHierarchyDataItem, IHierarchyDataObject } from \"./Hierarchy\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { RoundedRectangle } from \"../../core/render/RoundedRectangle\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as d3hierarchy from \"d3-hierarchy\";\n\nexport interface ITreemapDataObject { name?: string, value?: number, children?: ITreemapDataObject[], dataItem?: DataItem<ITreemapDataItem> };\n\nexport interface ITreemapDataItem extends IHierarchyDataItem {\n\tchildren: Array<DataItem<ITreemapDataItem>>;\n\tparent: DataItem<ITreemapDataItem>;\n\td3HierarchyNode: d3hierarchy.HierarchyRectangularNode<IHierarchyDataObject>;\n\trectangle: RoundedRectangle;\n}\n\nexport interface ITreemapSettings extends IHierarchySettings {\n\n\t/**\n\t * Gap between nodes. In pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingInner?: number;\n\n\t/**\n\t * Gap between nodes and outer edge of the chart. In pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingOuter?: number;\n\n\t/**\n\t * Gap between nodes and top edge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingTop?: number;\n\n\t/**\n\t * Gap between nodes and bottomedge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingBottom?: number;\n\n\t/**\n\t * Gap between nodes and left edge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingLeft?: number;\n\n\t/**\n\t * Gap between nodes and bottom edge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingRight?: number;\n\n\t/**\n\t * An algorithm to use when laying out node rectangles.\n\t *\n\t * @see {@link }\n\t * @default \"squarify\"\n\t */\n\tlayoutAlgorithm?: \"binary\" | \"squarify\" | \"slice\" | \"dice\" | \"sliceDice\";\n\n}\n\nexport interface ITreemapPrivate extends IHierarchyPrivate {\n\n\t/**\n\t * Current horizontal scale.\n\t */\n\tscaleX?: number;\n\n\t/**\n\t * Current vertical scale.\n\t */\n\tscaleY?: number;\n\n}\n\n/**\n * Treemap series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/} for more info\n */\nexport class Treemap extends Hierarchy {\n\n\tdeclare public _settings: ITreemapSettings;\n\tdeclare public _privateSettings: ITreemapPrivate;\n\tdeclare public _dataItemSettings: ITreemapDataItem;\n\n\tprotected _tag: string = \"treemap\";\n\n\tpublic static className: string = \"Treemap\";\n\tpublic static classNames: Array<string> = Hierarchy.classNames.concat([Treemap.className]);\n\n\tpublic readonly rectangleTemplate: Template<RoundedRectangle> = Template.new({});\n\n\tpublic _treemapLayout = d3hierarchy.treemap().tile(d3hierarchy.treemapSquarify);\n\n\tdeclare public _rootNode: d3hierarchy.HierarchyRectangularNode<ITreemapDataObject> | undefined;\n\n\t/**\n\t * A list of node rectangle elements in a [[Treemap]] chart.\n\t *\n\t * @default new ListTemplate<RoundedRectangle>\n\t */\n\tpublic readonly rectangles: ListTemplate<RoundedRectangle> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RoundedRectangle._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.rectangles.template.get(\"themeTags\", []), [this._tag, \"shape\"])\n\t\t}, [this.rectangles.template])\n\t));\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.setPrivate(\"scaleX\", 1);\n\t\tthis.setPrivate(\"scaleY\", 1);\n\n\t\tthis.nodes.template.setPrivate(\"trustBounds\", true);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"layoutAlgorithm\")) {\n\t\t\tlet algorithm;\n\n\t\t\tswitch (this.get(\"layoutAlgorithm\")) {\n\t\t\t\tcase \"squarify\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapSquarify;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"binary\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapBinary;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"slice\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapSlice;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"dice\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapDice;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"sliceDice\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapSliceDice;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (algorithm) {\n\t\t\t\tthis._treemapLayout = d3hierarchy.treemap().tile(algorithm);\n\t\t\t\tthis._updateVisuals();\n\n\t\t\t\tconst selectedDataItem = this.get(\"selectedDataItem\") as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\t\tif (selectedDataItem) {\n\t\t\t\t\tthis._zoom(selectedDataItem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"nodePaddingRight\") || this.isDirty(\"nodePaddingLeft\") || this.isDirty(\"nodePaddingTop\") || this.isDirty(\"nodePaddingBottom\") || this.isDirty(\"nodePaddingOuter\") || this.isDirty(\"nodePaddingInner\")) {\n\t\t\tif (this._rootNode) {\n\t\t\t\tthis._updateNodes(this._rootNode);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isPrivateDirty(\"scaleX\") || this.isPrivateDirty(\"scaleY\")) {\n\t\t\tif (this._rootNode) {\n\t\t\t\tthis._updateNodesScale(this._rootNode);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tconst treemapLayout = this._treemapLayout;\n\t\t\ttreemapLayout.size([this.innerWidth(), this.innerHeight()]);\n\n\t\t\tconst paddingLeft = this.get(\"nodePaddingLeft\");\n\t\t\tconst paddingRight = this.get(\"nodePaddingRight\");\n\t\t\tconst paddingTop = this.get(\"nodePaddingTop\");\n\t\t\tconst paddingBottom = this.get(\"nodePaddingBottom\");\n\t\t\tconst paddingInner = this.get(\"nodePaddingInner\");\n\t\t\tconst paddingOuter = this.get(\"nodePaddingOuter\");\n\t\t\tif ($type.isNumber(paddingLeft)) {\n\t\t\t\ttreemapLayout.paddingLeft(paddingLeft);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingRight)) {\n\t\t\t\ttreemapLayout.paddingRight(paddingRight);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingTop)) {\n\t\t\t\ttreemapLayout.paddingTop(paddingTop);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingBottom)) {\n\t\t\t\ttreemapLayout.paddingBottom(paddingBottom);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingInner)) {\n\t\t\t\ttreemapLayout.paddingInner(paddingInner);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingOuter)) {\n\t\t\t\ttreemapLayout.paddingOuter(paddingOuter);\n\t\t\t}\n\n\t\t\ttreemapLayout(this._rootNode);\n\t\t\tthis._updateNodes(this._rootNode);\n\t\t}\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tconst rectangle = dataItem.get(\"rectangle\");\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\n\t\tconst x0 = hierarchyNode.x0 * scaleX;\n\t\tconst x1 = hierarchyNode.x1 * scaleX;\n\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\tconst w = x1 - x0;\n\t\tconst h = y1 - y0;\n\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tnode.animate({ key: \"x\", to: x0, duration: duration, easing: easing })\n\t\tnode.animate({ key: \"y\", to: y0, duration: duration, easing: easing })\n\n\t\tnode.animate({ key: \"width\", to: w, duration: duration, easing: easing })\n\t\tnode.animate({ key: \"height\", to: h, duration: duration, easing: easing })\n\n\t\tif (rectangle) {\n\t\t\tconst fill = dataItem.get(\"fill\");\n\t\t\tconst fillPattern = dataItem.get(\"fillPattern\");\n\n\t\t\trectangle.animate({ key: \"width\", to: w, duration: duration, easing: easing })\n\t\t\trectangle.animate({ key: \"height\", to: h, duration: duration, easing: easing })\n\t\t\trectangle._setDefault(\"fill\", fill);\n\t\t\trectangle._setDefault(\"fillPattern\", fillPattern);\n\t\t\trectangle._setDefault(\"stroke\", fill);\n\t\t}\n\t}\n\n\n\tprotected _updateNodesScale(hierarchyNode: d3hierarchy.HierarchyRectangularNode<ITreemapDataObject>) {\n\t\tconst dataItem = hierarchyNode.data.dataItem;\n\t\tif (dataItem) {\n\t\t\tconst node = dataItem.get(\"node\");\n\t\t\tconst rectangle = dataItem.get(\"rectangle\");\n\n\t\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\n\t\t\tconst x0 = hierarchyNode.x0 * scaleX;\n\t\t\tconst x1 = hierarchyNode.x1 * scaleX;\n\t\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\t\tconst w = x1 - x0;\n\t\t\tconst h = y1 - y0;\n\n\t\t\tnode.setAll({ x: x0, y: y0, width: w, height: h });\n\t\t\trectangle.setAll({ width: w, height: h });\n\n\t\t\tconst hierarchyChildren = hierarchyNode.children;\n\t\t\tif (hierarchyChildren) {\n\t\t\t\t$array.each(hierarchyChildren, (hierarchyChild) => {\n\t\t\t\t\tthis._updateNodesScale(hierarchyChild)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): HierarchyNode {\n\t\tconst node = super.makeNode(dataItem);\n\n\t\tconst rectangle = node.children.moveValue(this.rectangles.make(), 0);\n\n\t\tnode.setPrivate(\"tooltipTarget\", rectangle);\n\t\tdataItem.setRaw(\"rectangle\", rectangle);\n\n\t\tconst label = dataItem.get(\"label\");\n\n\t\trectangle.on(\"width\", () => {\n\t\t\tlabel.setPrivate(\"maxWidth\", rectangle.width());\n\t\t})\n\n\t\trectangle.on(\"height\", () => {\n\t\t\tlabel.setPrivate(\"maxHeight\", rectangle.height());\n\t\t})\n\n\t\treturn node;\n\t}\n\n\tpublic _zoom(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif (this.width() > 0 && this.height() > 0) {\n\t\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\t\tconst nodePaddingOuter = this.get(\"nodePaddingOuter\", 0);\n\n\t\t\tlet x0 = hierarchyNode.x0 + nodePaddingOuter;\n\t\t\tlet x1 = hierarchyNode.x1 - nodePaddingOuter;\n\n\t\t\tlet y0 = hierarchyNode.y0 + nodePaddingOuter;\n\t\t\tlet y1 = hierarchyNode.y1 - nodePaddingOuter;\n\n\t\t\tlet scaleX = (this.innerWidth() - nodePaddingOuter * 2) / (x1 - x0);\n\t\t\tlet scaleY = (this.innerHeight() - nodePaddingOuter * 2) / (y1 - y0);\n\n\t\t\tconst easing = this.get(\"animationEasing\");\n\t\t\tlet duration = this.get(\"animationDuration\", 0);\n\n\t\t\tif (!this.inited) {\n\t\t\t\tduration = 0;\n\t\t\t}\n\n\t\t\tthis.animatePrivate({ key: \"scaleX\", to: scaleX, duration: duration, easing: easing });\n\t\t\tthis.animatePrivate({ key: \"scaleY\", to: scaleY, duration: duration, easing: easing });\n\n\t\t\tthis.nodesContainer.animate({ key: \"x\", to: nodePaddingOuter - x0 * scaleX, duration: duration, easing: easing });\n\t\t\tthis.nodesContainer.animate({ key: \"y\", to: nodePaddingOuter - y0 * scaleY, duration: duration, easing: easing });\n\t\t}\n\t}\n\n\tprotected _selectDataItem(dataItem?: DataItem<this[\"_dataItemSettings\"]>, downDepth?: number, skipDisptach?: boolean) {\n\t\tsuper._selectDataItem(dataItem, downDepth, skipDisptach);\n\n\t\tif (dataItem) {\n\t\t\tlet maxDepth = this.get(\"downDepth\", 1) + dataItem.get(\"depth\");\n\t\t\tif (!this.inited) {\n\t\t\t\tmaxDepth = this.get(\"initialDepth\", 1);\n\t\t\t}\n\t\t\tconst visibleNodes = this._getVisibleNodes(dataItem, maxDepth);\n\t\t\tthis.nodes.each((node) => {\n\t\t\t\tif (visibleNodes.indexOf(node.dataItem as DataItem<this[\"_dataItemSettings\"]>) == -1) {\n\t\t\t\t\tnode.setPrivate(\"focusable\", false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnode.removePrivate(\"focusable\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tthis._root._invalidateTabindexes();\n\t}\n\n\tprotected _getVisibleNodes(dataItem: DataItem<this[\"_dataItemSettings\"]>, maxDepth: number) {\n\t\tconst children = dataItem.get(\"children\");\n\t\tlet includedChildren: Array<DataItem<this[\"_dataItemSettings\"]>> = [];\n\t\tif (children) {\n\t\t\t$array.each(children, (child) => {\n\t\t\t\tif (child.get(\"depth\") == maxDepth || !child.get(\"children\")) {\n\t\t\t\t\tincludedChildren.push(child);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tincludedChildren = includedChildren.concat(this._getVisibleNodes(child, maxDepth));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn includedChildren;\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"Treemap.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/Treemap.ts"],"names":[],"mappings":"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","sourcesContent":["import type { HierarchyNode } from \"./HierarchyNode\";\nimport type { DataItem } from \"../../core/render/Component\";\n\nimport { Hierarchy, IHierarchyPrivate, IHierarchySettings, IHierarchyDataItem, IHierarchyDataObject } from \"./Hierarchy\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport { RoundedRectangle } from \"../../core/render/RoundedRectangle\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as d3hierarchy from \"d3-hierarchy\";\n\nexport interface ITreemapDataObject { name?: string, value?: number, children?: ITreemapDataObject[], dataItem?: DataItem<ITreemapDataItem> };\n\nexport interface ITreemapDataItem extends IHierarchyDataItem {\n\tchildren: Array<DataItem<ITreemapDataItem>>;\n\tparent: DataItem<ITreemapDataItem>;\n\td3HierarchyNode: d3hierarchy.HierarchyRectangularNode<IHierarchyDataObject>;\n\trectangle: RoundedRectangle;\n}\n\nexport interface ITreemapSettings extends IHierarchySettings {\n\n\t/**\n\t * Gap between nodes. In pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingInner?: number;\n\n\t/**\n\t * Gap between nodes and outer edge of the chart. In pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingOuter?: number;\n\n\t/**\n\t * Gap between nodes and top edge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingTop?: number;\n\n\t/**\n\t * Gap between nodes and bottomedge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingBottom?: number;\n\n\t/**\n\t * Gap between nodes and left edge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingLeft?: number;\n\n\t/**\n\t * Gap between nodes and bottom edge.\n\t *\n\t * Will be ignored if `nodePaddingOuter` is set.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/#Margins}\n\t */\n\tnodePaddingRight?: number;\n\n\t/**\n\t * An algorithm to use when laying out node rectangles.\n\t *\n\t * @see {@link }\n\t * @default \"squarify\"\n\t */\n\tlayoutAlgorithm?: \"binary\" | \"squarify\" | \"slice\" | \"dice\" | \"sliceDice\";\n\n}\n\nexport interface ITreemapPrivate extends IHierarchyPrivate {\n\n\t/**\n\t * Current horizontal scale.\n\t */\n\tscaleX?: number;\n\n\t/**\n\t * Current vertical scale.\n\t */\n\tscaleY?: number;\n\n}\n\n/**\n * Treemap series.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/treemap/} for more info\n */\nexport class Treemap extends Hierarchy {\n\n\tdeclare public _settings: ITreemapSettings;\n\tdeclare public _privateSettings: ITreemapPrivate;\n\tdeclare public _dataItemSettings: ITreemapDataItem;\n\n\tprotected _tag: string = \"treemap\";\n\n\tpublic static className: string = \"Treemap\";\n\tpublic static classNames: Array<string> = Hierarchy.classNames.concat([Treemap.className]);\n\n\tpublic readonly rectangleTemplate: Template<RoundedRectangle> = Template.new({});\n\n\tpublic _treemapLayout = d3hierarchy.treemap().tile(d3hierarchy.treemapSquarify);\n\n\tdeclare public _rootNode: d3hierarchy.HierarchyRectangularNode<ITreemapDataObject> | undefined;\n\n\t/**\n\t * A list of node rectangle elements in a [[Treemap]] chart.\n\t *\n\t * @default new ListTemplate<RoundedRectangle>\n\t */\n\tpublic readonly rectangles: ListTemplate<RoundedRectangle> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RoundedRectangle._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.rectangles.template.get(\"themeTags\", []), [this._tag, \"shape\"])\n\t\t}, [this.rectangles.template])\n\t));\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.setPrivate(\"scaleX\", 1);\n\t\tthis.setPrivate(\"scaleY\", 1);\n\n\t\tthis.nodes.template.setPrivate(\"trustBounds\", true);\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tif (this.isDirty(\"layoutAlgorithm\")) {\n\t\t\tlet algorithm;\n\n\t\t\tswitch (this.get(\"layoutAlgorithm\")) {\n\t\t\t\tcase \"squarify\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapSquarify;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"binary\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapBinary;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"slice\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapSlice;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"dice\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapDice;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"sliceDice\":\n\t\t\t\t\talgorithm = d3hierarchy.treemapSliceDice;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (algorithm) {\n\t\t\t\tthis._treemapLayout = d3hierarchy.treemap().tile(algorithm);\n\t\t\t\tthis._updateVisuals();\n\n\t\t\t\tconst selectedDataItem = this.get(\"selectedDataItem\") as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\t\tif (selectedDataItem) {\n\t\t\t\t\tthis._zoom(selectedDataItem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (this.isDirty(\"nodePaddingRight\") || this.isDirty(\"nodePaddingLeft\") || this.isDirty(\"nodePaddingTop\") || this.isDirty(\"nodePaddingBottom\") || this.isDirty(\"nodePaddingOuter\") || this.isDirty(\"nodePaddingInner\")) {\n\t\t\tif (this._rootNode) {\n\t\t\t\tthis._updateNodes(this._rootNode);\n\t\t\t}\n\t\t}\n\n\t\tif (this.isPrivateDirty(\"scaleX\") || this.isPrivateDirty(\"scaleY\")) {\n\t\t\tif (this._rootNode) {\n\t\t\t\tthis._updateNodesScale(this._rootNode);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateVisuals() {\n\t\tif (this._rootNode) {\n\t\t\tconst treemapLayout = this._treemapLayout;\n\t\t\ttreemapLayout.size([this.innerWidth(), this.innerHeight()]);\n\n\t\t\tconst paddingLeft = this.get(\"nodePaddingLeft\");\n\t\t\tconst paddingRight = this.get(\"nodePaddingRight\");\n\t\t\tconst paddingTop = this.get(\"nodePaddingTop\");\n\t\t\tconst paddingBottom = this.get(\"nodePaddingBottom\");\n\t\t\tconst paddingInner = this.get(\"nodePaddingInner\");\n\t\t\tconst paddingOuter = this.get(\"nodePaddingOuter\");\n\t\t\tif ($type.isNumber(paddingLeft)) {\n\t\t\t\ttreemapLayout.paddingLeft(paddingLeft);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingRight)) {\n\t\t\t\ttreemapLayout.paddingRight(paddingRight);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingTop)) {\n\t\t\t\ttreemapLayout.paddingTop(paddingTop);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingBottom)) {\n\t\t\t\ttreemapLayout.paddingBottom(paddingBottom);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingInner)) {\n\t\t\t\ttreemapLayout.paddingInner(paddingInner);\n\t\t\t}\n\t\t\tif ($type.isNumber(paddingOuter)) {\n\t\t\t\ttreemapLayout.paddingOuter(paddingOuter);\n\t\t\t}\n\n\t\t\ttreemapLayout(this._rootNode);\n\t\t\tthis._updateNodes(this._rootNode);\n\t\t}\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tconst rectangle = dataItem.get(\"rectangle\");\n\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\n\t\tconst x0 = hierarchyNode.x0 * scaleX;\n\t\tconst x1 = hierarchyNode.x1 * scaleX;\n\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\tconst w = x1 - x0;\n\t\tconst h = y1 - y0;\n\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tnode.animate({ key: \"x\", to: x0, duration: duration, easing: easing })\n\t\tnode.animate({ key: \"y\", to: y0, duration: duration, easing: easing })\n\n\t\tnode.animate({ key: \"width\", to: w, duration: duration, easing: easing })\n\t\tnode.animate({ key: \"height\", to: h, duration: duration, easing: easing })\n\n\t\tif (rectangle) {\n\t\t\tconst fill = dataItem.get(\"fill\");\n\t\t\tconst fillPattern = dataItem.get(\"fillPattern\");\n\n\t\t\trectangle.animate({ key: \"width\", to: w, duration: duration, easing: easing })\n\t\t\trectangle.animate({ key: \"height\", to: h, duration: duration, easing: easing })\n\t\t\trectangle._setDefault(\"fill\", fill);\n\t\t\trectangle._setDefault(\"fillPattern\", fillPattern);\n\t\t\trectangle._setDefault(\"stroke\", fill);\n\t\t}\n\t}\n\n\n\tprotected _updateNodesScale(hierarchyNode: d3hierarchy.HierarchyRectangularNode<ITreemapDataObject>) {\n\t\tconst dataItem = hierarchyNode.data.dataItem;\n\t\tif (dataItem) {\n\t\t\tconst node = dataItem.get(\"node\");\n\t\t\tconst rectangle = dataItem.get(\"rectangle\");\n\n\t\t\tconst scaleX = this.getPrivate(\"scaleX\", 1);\n\t\t\tconst scaleY = this.getPrivate(\"scaleY\", 1);\n\n\t\t\tconst x0 = hierarchyNode.x0 * scaleX;\n\t\t\tconst x1 = hierarchyNode.x1 * scaleX;\n\t\t\tconst y0 = hierarchyNode.y0 * scaleY;\n\t\t\tconst y1 = hierarchyNode.y1 * scaleY;\n\n\t\t\tconst w = x1 - x0;\n\t\t\tconst h = y1 - y0;\n\n\t\t\tnode.setAll({ x: x0, y: y0, width: w, height: h });\n\t\t\trectangle.setAll({ width: w, height: h });\n\n\t\t\tconst hierarchyChildren = hierarchyNode.children;\n\t\t\tif (hierarchyChildren) {\n\t\t\t\t$array.each(hierarchyChildren, (hierarchyChild) => {\n\t\t\t\t\tthis._updateNodesScale(hierarchyChild)\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): HierarchyNode {\n\t\tconst node = super.makeNode(dataItem);\n\n\t\tconst rectangle = node.children.moveValue(this.rectangles.make(), 0);\n\n\t\tnode.setPrivate(\"tooltipTarget\", rectangle);\n\t\tdataItem.setRaw(\"rectangle\", rectangle);\n\n\t\tconst label = dataItem.get(\"label\");\n\n\t\trectangle.on(\"width\", () => {\n\t\t\tlabel.setPrivate(\"maxWidth\", rectangle.width());\n\t\t})\n\n\t\trectangle.on(\"height\", () => {\n\t\t\tlabel.setPrivate(\"maxHeight\", rectangle.height());\n\t\t})\n\n\t\treturn node;\n\t}\n\n\tpublic _zoom(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tif (this.width() > 0 && this.height() > 0) {\n\t\t\tconst hierarchyNode = dataItem.get(\"d3HierarchyNode\");\n\n\t\t\tconst nodePaddingOuter = this.get(\"nodePaddingOuter\", 0);\n\n\t\t\tlet x0 = hierarchyNode.x0 + nodePaddingOuter;\n\t\t\tlet x1 = hierarchyNode.x1 - nodePaddingOuter;\n\n\t\t\tlet y0 = hierarchyNode.y0 + nodePaddingOuter;\n\t\t\tlet y1 = hierarchyNode.y1 - nodePaddingOuter;\n\n\t\t\tlet scaleX = (this.innerWidth() - nodePaddingOuter * 2) / (x1 - x0);\n\t\t\tlet scaleY = (this.innerHeight() - nodePaddingOuter * 2) / (y1 - y0);\n\n\t\t\tconst easing = this.get(\"animationEasing\");\n\t\t\tlet duration = this.get(\"animationDuration\", 0);\n\n\t\t\tif (!this.inited) {\n\t\t\t\tduration = 0;\n\t\t\t}\n\n\t\t\tthis.animatePrivate({ key: \"scaleX\", to: scaleX, duration: duration, easing: easing });\n\t\t\tthis.animatePrivate({ key: \"scaleY\", to: scaleY, duration: duration, easing: easing });\n\n\t\t\tthis.nodesContainer.animate({ key: \"x\", to: nodePaddingOuter - x0 * scaleX, duration: duration, easing: easing });\n\t\t\tthis.nodesContainer.animate({ key: \"y\", to: nodePaddingOuter - y0 * scaleY, duration: duration, easing: easing });\n\t\t}\n\t}\n\n\tprotected _selectDataItem(dataItem?: DataItem<this[\"_dataItemSettings\"]>, downDepth?: number, skipDisptach?: boolean) {\n\t\tsuper._selectDataItem(dataItem, downDepth, skipDisptach);\n\n\t\tif (dataItem) {\n\t\t\tlet maxDepth = this.get(\"downDepth\", 1) + dataItem.get(\"depth\");\n\t\t\tif (!this.inited) {\n\t\t\t\tmaxDepth = this.get(\"initialDepth\", 1);\n\t\t\t}\n\t\t\tconst visibleNodes = this._getVisibleNodes(dataItem, maxDepth);\n\t\t\tthis.nodes.each((node) => {\n\t\t\t\tif (visibleNodes.indexOf(node.dataItem as DataItem<this[\"_dataItemSettings\"]>) == -1) {\n\t\t\t\t\tnode.setPrivate(\"focusable\", false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnode.removePrivate(\"focusable\");\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tthis._root._invalidateTabindexes();\n\t}\n\n\tprotected _getVisibleNodes(dataItem: DataItem<this[\"_dataItemSettings\"]>, maxDepth: number) {\n\t\tconst children = dataItem.get(\"children\");\n\t\tlet includedChildren: Array<DataItem<this[\"_dataItemSettings\"]>> = [];\n\t\tif (children) {\n\t\t\t$array.each(children, (child) => {\n\t\t\t\tif (child.get(\"depth\") == maxDepth || !child.get(\"children\")) {\n\t\t\t\t\tincludedChildren.push(child);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tincludedChildren = includedChildren.concat(this._getVisibleNodes(child, maxDepth));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn includedChildren;\n\t}\n\n}\n"]}
@@ -20,31 +20,16 @@ import * as $array from "../../core/util/Array";
20
20
  export class VoronoiTreemap extends Hierarchy {
21
21
  constructor() {
22
22
  super(...arguments);
23
- Object.defineProperty(this, "_tag", {
24
- enumerable: true,
25
- configurable: true,
26
- writable: true,
27
- value: "voronoitreemap"
28
- });
23
+ this._tag = "voronoitreemap";
29
24
  /**
30
25
  * A list of node graphics elements in a [[VoronoiTreemap]] chart.
31
26
  *
32
27
  * @default new ListTemplate<RoundedRectangle>
33
28
  */
34
- Object.defineProperty(this, "polygons", {
35
- enumerable: true,
36
- configurable: true,
37
- writable: true,
38
- value: this.addDisposer(new ListTemplate(Template.new({}), () => Polygon._new(this._root, {
39
- themeTags: $utils.mergeTags(this.polygons.template.get("themeTags", []), [this._tag, "shape"])
40
- }, [this.polygons.template])))
41
- });
42
- Object.defineProperty(this, "voronoi", {
43
- enumerable: true,
44
- configurable: true,
45
- writable: true,
46
- value: voronoiTreemap()
47
- });
29
+ this.polygons = this.addDisposer(new ListTemplate(Template.new({}), () => Polygon._new(this._root, {
30
+ themeTags: $utils.mergeTags(this.polygons.template.get("themeTags", []), [this._tag, "shape"])
31
+ }, [this.polygons.template])));
32
+ this.voronoi = voronoiTreemap();
48
33
  }
49
34
  _afterNew() {
50
35
  this.nodesContainer.setAll({
@@ -164,16 +149,6 @@ export class VoronoiTreemap extends Hierarchy {
164
149
  return polygon;
165
150
  }
166
151
  }
167
- Object.defineProperty(VoronoiTreemap, "className", {
168
- enumerable: true,
169
- configurable: true,
170
- writable: true,
171
- value: "VoronoiTreemap"
172
- });
173
- Object.defineProperty(VoronoiTreemap, "classNames", {
174
- enumerable: true,
175
- configurable: true,
176
- writable: true,
177
- value: Hierarchy.classNames.concat([VoronoiTreemap.className])
178
- });
152
+ VoronoiTreemap.className = "VoronoiTreemap";
153
+ VoronoiTreemap.classNames = Hierarchy.classNames.concat([VoronoiTreemap.className]);
179
154
  //# sourceMappingURL=VoronoiTreemap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoronoiTreemap.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/VoronoiTreemap.ts"],"names":[],"mappings":"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","sourcesContent":["import type { HierarchyNode } from \"../hierarchy/HierarchyNode\";\r\nimport type { DataItem } from \"../../core/render/Component\";\r\n\r\nimport { Hierarchy, IHierarchyPrivate, IHierarchySettings, IHierarchyDataItem } from \"../hierarchy/Hierarchy\";\r\nimport { Template } from \"../../core/util/Template\";\r\nimport { ListTemplate } from \"../../core/util/List\";\r\nimport { Polygon } from \"../../core/render/Polygon\";\r\nimport { p50 } from \"../../core/util/Percent\";\r\nimport { voronoiTreemap } from 'd3-voronoi-treemap';\r\nimport seedrandom from \"seedrandom\";\r\n\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $array from \"../../core/util/Array\";\r\n\r\n\r\nexport interface IVoronoiTreemapDataObject {\r\n\tname?: string,\r\n\tvalue?: number,\r\n\tchildren?: IVoronoiTreemapDataObject[],\r\n\tdataItem?: DataItem<IVoronoiTreemapDataItem>\r\n};\r\n\r\nexport interface IVoronoiTreemapDataItem extends IHierarchyDataItem {\r\n\t/**\r\n\t * Data items of child nodes.\r\n\t */\r\n\tchildren: Array<DataItem<IVoronoiTreemapDataItem>>;\r\n\r\n\t/**\r\n\t * Data it of a parent node.\r\n\t */\r\n\tparent: DataItem<IVoronoiTreemapDataItem>;\r\n\r\n\t/**\r\n\t * A [[Polygon]] element of a node.\r\n\t */\r\n\tpolygon: Polygon;\r\n\r\n}\r\n\r\nexport interface IVoronoiTreemapSettings extends IHierarchySettings {\r\n\r\n\t/**\r\n\t * Type of the diagram's shape.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/voronoi-treemap/#Diagram_type} for more info\r\n\t * @default \"polygon\"\r\n\t */\r\n\ttype?: \"rectangle\" | \"polygon\"\r\n\r\n\t/**\r\n\t * Number of corners when type is `\"polygon\"`.\r\n\t *\r\n\t * `120` means the polygoon will look like a circle.\r\n\t *\r\n\t * NOTE: this setting is ignored if `type=\"rectangle\"`.\r\n\t *\r\n\t * @default 120\r\n\t */\r\n\tcornerCount?: number;\r\n\r\n\t/**\r\n\t * Minimum weight ratio which allows computing the minimum allowed\r\n\t * weight (`= [maximum weight] * minWeightRatio`).\r\n\t *\r\n\t * Setting very small `minWeigtRatio` might result flickering.\r\n\t *\r\n\t * NOTE: the nodes that have smaller weight will be scaled up and will not\r\n\t * represent their true value correctly.\r\n\t *\r\n\t * @default 0.005\r\n\t */\r\n\tminWeightRatio?: number;\r\n\r\n\t/**\r\n\t * The convergence ratio in Voronoi treemaps measures how well the treemap\r\n\t * layout represents the hierarchical structure of the underlying data.\r\n\t *\r\n\t * It is calculated as the ratio of the summed area of the smallest enclosing\r\n\t * rectangle for each cell to the total area of the treemap. A lower\r\n\t * convergence ratio indicates a better representation of the hierarchy,\r\n\t * meaning that the cells are closely packed and the treemap effectively\r\n\t * captures the nested relationships between the data elements.\r\n\t *\r\n\t * @default 0.005\r\n\t */\r\n\tconvergenceRatio?: number;\r\n\r\n\t/**\r\n\t * Maximum allowed number of iterations when computing the layout.\r\n\t *\r\n\t * Computation is stopped when it number of iterations is reached, even if\r\n\t * the `convergenceRatio` is not yet reached.\r\n\t *\r\n\t * Bigger number means finer results, but slower performance.\r\n\t *\r\n\t * @default 100\r\n\t */\r\n\tmaxIterationCount?: number;\r\n\r\n}\r\n\r\nexport interface IVoronoiTreemapPrivate extends IHierarchyPrivate {\r\n}\r\n\r\n/**\r\n * A Weighted Voronoi Treemap series.\r\n *\r\n * NOTE: Try to avoid a big number of data items with very big value\r\n * differences. Better group small items into \"Other\" item.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/voronoi-treemap/} for more info\r\n * @since 5.4.0\r\n */\r\nexport class VoronoiTreemap extends Hierarchy {\r\n\r\n\tdeclare public _settings: IVoronoiTreemapSettings;\r\n\tdeclare public _privateSettings: IVoronoiTreemapPrivate;\r\n\tdeclare public _dataItemSettings: IVoronoiTreemapDataItem;\r\n\r\n\tprotected _tag: string = \"voronoitreemap\";\r\n\r\n\tpublic static className: string = \"VoronoiTreemap\";\r\n\tpublic static classNames: Array<string> = Hierarchy.classNames.concat([VoronoiTreemap.className]);\r\n\r\n\t/**\r\n\t * A list of node graphics elements in a [[VoronoiTreemap]] chart.\r\n\t *\r\n\t * @default new ListTemplate<RoundedRectangle>\r\n\t */\r\n\tpublic readonly polygons: ListTemplate<Polygon> = this.addDisposer(new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Polygon._new(this._root, {\r\n\t\t\tthemeTags: $utils.mergeTags(this.polygons.template.get(\"themeTags\", []), [this._tag, \"shape\"])\r\n\t\t}, [this.polygons.template])\r\n\t));\r\n\r\n\tpublic voronoi = voronoiTreemap();\r\n\r\n\tprotected _afterNew() {\r\n\r\n\t\tthis.nodesContainer.setAll({\r\n\t\t\tx: p50,\r\n\t\t\ty: p50,\r\n\t\t\tcenterX: p50,\r\n\t\t\tcenterY: p50\r\n\t\t})\r\n\r\n\t\tthis.nodes.template.setPrivate(\"trustBounds\", true);\r\n\r\n\t\tsuper._afterNew();\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tconst width = this.innerWidth() / 2;\r\n\t\tconst height = this.innerHeight() / 2;\r\n\r\n\t\tlet node = this._rootNode;\r\n\t\tconst selectedDataItem = this.get(\"selectedDataItem\") as DataItem<IVoronoiTreemapDataItem>;\r\n\r\n\t\tif (selectedDataItem) {\r\n\t\t\tnode = selectedDataItem.get(\"d3HierarchyNode\")\r\n\t\t}\r\n\r\n\t\tthis.voronoi.convergenceRatio((this.get(\"convergenceRatio\", 0.005)));\r\n\t\tthis.voronoi.maxIterationCount((this.get(\"maxIterationCount\", 100)));\r\n\t\tthis.voronoi.minWeightRatio((this.get(\"minWeightRatio\", 0.005)));\r\n\r\n\t\tif (this.isDirty(\"type\")) {\r\n\t\t\tif (this.get(\"type\") == \"polygon\") {\r\n\t\t\t\tthis.voronoi.clip(this.getCirclePolygon(1));\r\n\t\t\t\tthis._updateVisuals();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this._sizeDirty) {\r\n\t\t\tif (this.get(\"type\") == \"rectangle\") {\r\n\t\t\t\tthis.voronoi.prng(seedrandom(\"X\"));\r\n\t\t\t\tthis.voronoi.clip([[-width, -height], [-width, height], [width, height], [width, -height]])(node);\r\n\t\t\t\tthis._updateVisuals();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ((this._valuesDirty || this.isDirty(\"selectedDataItem\")) && node) {\r\n\t\t\tthis.voronoi.prng(seedrandom(\"X\"));\r\n\t\t\tthis.voronoi(node);\r\n\t\t\tthis._updateVisuals();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tconst coords: any = (dataItem.get(\"d3HierarchyNode\") as any).polygon;\r\n\t\tconst polygon = dataItem.get(\"polygon\");\r\n\r\n\t\tif (coords && polygon) {\r\n\r\n\t\t\tlet coordinates: any = [];\r\n\r\n\t\t\tlet d = 1;\r\n\t\t\tif (this.get(\"type\") == \"polygon\") {\r\n\t\t\t\td = Math.min(this.innerWidth(), this.innerHeight()) / 2;\r\n\t\t\t}\r\n\r\n\t\t\tlet minX = Infinity;\r\n\t\t\tlet maxX = -Infinity;\r\n\r\n\t\t\tfor (let i = 0, len = coords.length; i < len; i++) {\r\n\t\t\t\tconst point: Array<number> = coords[i] as any;\r\n\t\t\t\tlet x = point[0] * d;\r\n\t\t\t\tlet y = point[1] * d;\r\n\r\n\t\t\t\tcoordinates.push([x, y]);\r\n\r\n\t\t\t\tminX = Math.min(minX, x);\r\n\t\t\t\tmaxX = Math.max(maxX, x);\r\n\t\t\t}\r\n\r\n\t\t\tpolygon.set(\"coordinates\", coordinates);\r\n\r\n\t\t\tconst fill = dataItem.get(\"fill\");\r\n\t\t\tconst fillPattern = dataItem.get(\"fillPattern\");\r\n\r\n\t\t\tpolygon._setDefault(\"fill\", fill);\r\n\t\t\tpolygon._setDefault(\"fillPattern\", fillPattern);\r\n\r\n\t\t\tconst label = dataItem.get(\"label\");\r\n\t\t\tif (label) {\r\n\t\t\t\tconst site = coords.site;\r\n\r\n\t\t\t\tif (site) {\r\n\t\t\t\t\tlabel.setAll({\r\n\t\t\t\t\t\tx: site.x * d,\r\n\t\t\t\t\t\ty: site.y * d,\r\n\t\t\t\t\t\tmaxWidth: Math.abs(maxX - minX)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tprotected _handleSingle(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tconst parent = dataItem.get(\"parent\");\r\n\t\tif (parent) {\r\n\t\t\tconst children = parent.get(\"children\");\r\n\t\t\tif (children) {\r\n\t\t\t\t$array.each(children, (child) => {\r\n\t\t\t\t\tif (child != dataItem) {\r\n\t\t\t\t\t\tthis.disableDataItem(child);\r\n\t\t\t\t\t\tchild.get(\"node\").hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tthis._handleSingle(parent);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): HierarchyNode {\r\n\t\tconst node = super.makeNode(dataItem);\r\n\t\tthis._makeNode(dataItem, node);\r\n\t\treturn node;\r\n\t}\r\n\r\n\tprotected _makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>, node: HierarchyNode) {\r\n\t\tconst polygon = node.children.moveValue(this.polygons.make(), 0);\r\n\t\tnode.setPrivate(\"tooltipTarget\", polygon);\r\n\t\tdataItem.setRaw(\"polygon\", polygon);\r\n\t\tpolygon._setDataItem(dataItem);\r\n\t}\r\n\r\n\tprotected getCirclePolygon(radius: number) {\r\n\t\tconst points = this.get(\"cornerCount\", 120);\r\n\t\tconst dAngle = Math.PI * 2 / points;\r\n\t\tconst polygon: Array<Array<number>> = [];\r\n\r\n\t\tfor (let i = 0; i < points; i++) {\r\n\t\t\tlet angle = i * dAngle;\r\n\t\t\tpolygon.push([radius * Math.cos(angle), radius * Math.sin(angle)])\r\n\t\t}\r\n\r\n\t\treturn polygon;\r\n\t}\r\n}\r\n"]}
1
+ {"version":3,"file":"VoronoiTreemap.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/VoronoiTreemap.ts"],"names":[],"mappings":"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","sourcesContent":["import type { HierarchyNode } from \"../hierarchy/HierarchyNode\";\r\nimport type { DataItem } from \"../../core/render/Component\";\r\n\r\nimport { Hierarchy, IHierarchyPrivate, IHierarchySettings, IHierarchyDataItem } from \"../hierarchy/Hierarchy\";\r\nimport { Template } from \"../../core/util/Template\";\r\nimport { ListTemplate } from \"../../core/util/List\";\r\nimport { Polygon } from \"../../core/render/Polygon\";\r\nimport { p50 } from \"../../core/util/Percent\";\r\nimport { voronoiTreemap } from 'd3-voronoi-treemap';\r\nimport seedrandom from \"seedrandom\";\r\n\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $array from \"../../core/util/Array\";\r\n\r\n\r\nexport interface IVoronoiTreemapDataObject {\r\n\tname?: string,\r\n\tvalue?: number,\r\n\tchildren?: IVoronoiTreemapDataObject[],\r\n\tdataItem?: DataItem<IVoronoiTreemapDataItem>\r\n};\r\n\r\nexport interface IVoronoiTreemapDataItem extends IHierarchyDataItem {\r\n\t/**\r\n\t * Data items of child nodes.\r\n\t */\r\n\tchildren: Array<DataItem<IVoronoiTreemapDataItem>>;\r\n\r\n\t/**\r\n\t * Data it of a parent node.\r\n\t */\r\n\tparent: DataItem<IVoronoiTreemapDataItem>;\r\n\r\n\t/**\r\n\t * A [[Polygon]] element of a node.\r\n\t */\r\n\tpolygon: Polygon;\r\n\r\n}\r\n\r\nexport interface IVoronoiTreemapSettings extends IHierarchySettings {\r\n\r\n\t/**\r\n\t * Type of the diagram's shape.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/voronoi-treemap/#Diagram_type} for more info\r\n\t * @default \"polygon\"\r\n\t */\r\n\ttype?: \"rectangle\" | \"polygon\"\r\n\r\n\t/**\r\n\t * Number of corners when type is `\"polygon\"`.\r\n\t *\r\n\t * `120` means the polygoon will look like a circle.\r\n\t *\r\n\t * NOTE: this setting is ignored if `type=\"rectangle\"`.\r\n\t *\r\n\t * @default 120\r\n\t */\r\n\tcornerCount?: number;\r\n\r\n\t/**\r\n\t * Minimum weight ratio which allows computing the minimum allowed\r\n\t * weight (`= [maximum weight] * minWeightRatio`).\r\n\t *\r\n\t * Setting very small `minWeigtRatio` might result flickering.\r\n\t *\r\n\t * NOTE: the nodes that have smaller weight will be scaled up and will not\r\n\t * represent their true value correctly.\r\n\t *\r\n\t * @default 0.005\r\n\t */\r\n\tminWeightRatio?: number;\r\n\r\n\t/**\r\n\t * The convergence ratio in Voronoi treemaps measures how well the treemap\r\n\t * layout represents the hierarchical structure of the underlying data.\r\n\t *\r\n\t * It is calculated as the ratio of the summed area of the smallest enclosing\r\n\t * rectangle for each cell to the total area of the treemap. A lower\r\n\t * convergence ratio indicates a better representation of the hierarchy,\r\n\t * meaning that the cells are closely packed and the treemap effectively\r\n\t * captures the nested relationships between the data elements.\r\n\t *\r\n\t * @default 0.005\r\n\t */\r\n\tconvergenceRatio?: number;\r\n\r\n\t/**\r\n\t * Maximum allowed number of iterations when computing the layout.\r\n\t *\r\n\t * Computation is stopped when it number of iterations is reached, even if\r\n\t * the `convergenceRatio` is not yet reached.\r\n\t *\r\n\t * Bigger number means finer results, but slower performance.\r\n\t *\r\n\t * @default 100\r\n\t */\r\n\tmaxIterationCount?: number;\r\n\r\n}\r\n\r\nexport interface IVoronoiTreemapPrivate extends IHierarchyPrivate {\r\n}\r\n\r\n/**\r\n * A Weighted Voronoi Treemap series.\r\n *\r\n * NOTE: Try to avoid a big number of data items with very big value\r\n * differences. Better group small items into \"Other\" item.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/voronoi-treemap/} for more info\r\n * @since 5.4.0\r\n */\r\nexport class VoronoiTreemap extends Hierarchy {\r\n\r\n\tdeclare public _settings: IVoronoiTreemapSettings;\r\n\tdeclare public _privateSettings: IVoronoiTreemapPrivate;\r\n\tdeclare public _dataItemSettings: IVoronoiTreemapDataItem;\r\n\r\n\tprotected _tag: string = \"voronoitreemap\";\r\n\r\n\tpublic static className: string = \"VoronoiTreemap\";\r\n\tpublic static classNames: Array<string> = Hierarchy.classNames.concat([VoronoiTreemap.className]);\r\n\r\n\t/**\r\n\t * A list of node graphics elements in a [[VoronoiTreemap]] chart.\r\n\t *\r\n\t * @default new ListTemplate<RoundedRectangle>\r\n\t */\r\n\tpublic readonly polygons: ListTemplate<Polygon> = this.addDisposer(new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => Polygon._new(this._root, {\r\n\t\t\tthemeTags: $utils.mergeTags(this.polygons.template.get(\"themeTags\", []), [this._tag, \"shape\"])\r\n\t\t}, [this.polygons.template])\r\n\t));\r\n\r\n\tpublic voronoi = voronoiTreemap();\r\n\r\n\tprotected _afterNew() {\r\n\r\n\t\tthis.nodesContainer.setAll({\r\n\t\t\tx: p50,\r\n\t\t\ty: p50,\r\n\t\t\tcenterX: p50,\r\n\t\t\tcenterY: p50\r\n\t\t})\r\n\r\n\t\tthis.nodes.template.setPrivate(\"trustBounds\", true);\r\n\r\n\t\tsuper._afterNew();\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tconst width = this.innerWidth() / 2;\r\n\t\tconst height = this.innerHeight() / 2;\r\n\r\n\t\tlet node = this._rootNode;\r\n\t\tconst selectedDataItem = this.get(\"selectedDataItem\") as DataItem<IVoronoiTreemapDataItem>;\r\n\r\n\t\tif (selectedDataItem) {\r\n\t\t\tnode = selectedDataItem.get(\"d3HierarchyNode\")\r\n\t\t}\r\n\r\n\t\tthis.voronoi.convergenceRatio((this.get(\"convergenceRatio\", 0.005)));\r\n\t\tthis.voronoi.maxIterationCount((this.get(\"maxIterationCount\", 100)));\r\n\t\tthis.voronoi.minWeightRatio((this.get(\"minWeightRatio\", 0.005)));\r\n\r\n\t\tif (this.isDirty(\"type\")) {\r\n\t\t\tif (this.get(\"type\") == \"polygon\") {\r\n\t\t\t\tthis.voronoi.clip(this.getCirclePolygon(1));\r\n\t\t\t\tthis._updateVisuals();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this._sizeDirty) {\r\n\t\t\tif (this.get(\"type\") == \"rectangle\") {\r\n\t\t\t\tthis.voronoi.prng(seedrandom(\"X\"));\r\n\t\t\t\tthis.voronoi.clip([[-width, -height], [-width, height], [width, height], [width, -height]])(node);\r\n\t\t\t\tthis._updateVisuals();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ((this._valuesDirty || this.isDirty(\"selectedDataItem\")) && node) {\r\n\t\t\tthis.voronoi.prng(seedrandom(\"X\"));\r\n\t\t\tthis.voronoi(node);\r\n\t\t\tthis._updateVisuals();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tconst coords: any = (dataItem.get(\"d3HierarchyNode\") as any).polygon;\r\n\t\tconst polygon = dataItem.get(\"polygon\");\r\n\r\n\t\tif (coords && polygon) {\r\n\r\n\t\t\tlet coordinates: any = [];\r\n\r\n\t\t\tlet d = 1;\r\n\t\t\tif (this.get(\"type\") == \"polygon\") {\r\n\t\t\t\td = Math.min(this.innerWidth(), this.innerHeight()) / 2;\r\n\t\t\t}\r\n\r\n\t\t\tlet minX = Infinity;\r\n\t\t\tlet maxX = -Infinity;\r\n\r\n\t\t\tfor (let i = 0, len = coords.length; i < len; i++) {\r\n\t\t\t\tconst point: Array<number> = coords[i] as any;\r\n\t\t\t\tlet x = point[0] * d;\r\n\t\t\t\tlet y = point[1] * d;\r\n\r\n\t\t\t\tcoordinates.push([x, y]);\r\n\r\n\t\t\t\tminX = Math.min(minX, x);\r\n\t\t\t\tmaxX = Math.max(maxX, x);\r\n\t\t\t}\r\n\r\n\t\t\tpolygon.set(\"coordinates\", coordinates);\r\n\r\n\t\t\tconst fill = dataItem.get(\"fill\");\r\n\t\t\tconst fillPattern = dataItem.get(\"fillPattern\");\r\n\r\n\t\t\tpolygon._setDefault(\"fill\", fill);\r\n\t\t\tpolygon._setDefault(\"fillPattern\", fillPattern);\r\n\r\n\t\t\tconst label = dataItem.get(\"label\");\r\n\t\t\tif (label) {\r\n\t\t\t\tconst site = coords.site;\r\n\r\n\t\t\t\tif (site) {\r\n\t\t\t\t\tlabel.setAll({\r\n\t\t\t\t\t\tx: site.x * d,\r\n\t\t\t\t\t\ty: site.y * d,\r\n\t\t\t\t\t\tmaxWidth: Math.abs(maxX - minX)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tprotected _handleSingle(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tconst parent = dataItem.get(\"parent\");\r\n\t\tif (parent) {\r\n\t\t\tconst children = parent.get(\"children\");\r\n\t\t\tif (children) {\r\n\t\t\t\t$array.each(children, (child) => {\r\n\t\t\t\t\tif (child != dataItem) {\r\n\t\t\t\t\t\tthis.disableDataItem(child);\r\n\t\t\t\t\t\tchild.get(\"node\").hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tthis._handleSingle(parent);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>): HierarchyNode {\r\n\t\tconst node = super.makeNode(dataItem);\r\n\t\tthis._makeNode(dataItem, node);\r\n\t\treturn node;\r\n\t}\r\n\r\n\tprotected _makeNode(dataItem: DataItem<this[\"_dataItemSettings\"]>, node: HierarchyNode) {\r\n\t\tconst polygon = node.children.moveValue(this.polygons.make(), 0);\r\n\t\tnode.setPrivate(\"tooltipTarget\", polygon);\r\n\t\tdataItem.setRaw(\"polygon\", polygon);\r\n\t\tpolygon._setDataItem(dataItem);\r\n\t}\r\n\r\n\tprotected getCirclePolygon(radius: number) {\r\n\t\tconst points = this.get(\"cornerCount\", 120);\r\n\t\tconst dAngle = Math.PI * 2 / points;\r\n\t\tconst polygon: Array<Array<number>> = [];\r\n\r\n\t\tfor (let i = 0; i < points; i++) {\r\n\t\t\tlet angle = i * dAngle;\r\n\t\t\tpolygon.push([radius * Math.cos(angle), radius * Math.sin(angle)])\r\n\t\t}\r\n\r\n\t\treturn polygon;\r\n\t}\r\n}\r\n"]}