@amcharts/amcharts5 5.15.6 → 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 (726) 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 +38 -398
  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.js +11 -135
  394. package/.internal/core/render/Component.js.map +1 -1
  395. package/.internal/core/render/ConfirmButton.js +2 -21
  396. package/.internal/core/render/ConfirmButton.js.map +1 -1
  397. package/.internal/core/render/Container.js +13 -108
  398. package/.internal/core/render/Container.js.map +1 -1
  399. package/.internal/core/render/EditableLabel.js +2 -21
  400. package/.internal/core/render/EditableLabel.js.map +1 -1
  401. package/.internal/core/render/Ellipse.js +2 -12
  402. package/.internal/core/render/Ellipse.js.map +1 -1
  403. package/.internal/core/render/Graphics.js +4 -24
  404. package/.internal/core/render/Graphics.js.map +1 -1
  405. package/.internal/core/render/GridLayout.js +2 -12
  406. package/.internal/core/render/GridLayout.js.map +1 -1
  407. package/.internal/core/render/HeatLegend.js +9 -44
  408. package/.internal/core/render/HeatLegend.js.map +1 -1
  409. package/.internal/core/render/HorizontalLayout.js +2 -12
  410. package/.internal/core/render/HorizontalLayout.js.map +1 -1
  411. package/.internal/core/render/Label.js +41 -62
  412. package/.internal/core/render/Label.js.map +1 -1
  413. package/.internal/core/render/Layout.js +2 -12
  414. package/.internal/core/render/Layout.js.map +1 -1
  415. package/.internal/core/render/Legend.js +22 -57
  416. package/.internal/core/render/Legend.js.map +1 -1
  417. package/.internal/core/render/Line.js +2 -12
  418. package/.internal/core/render/Line.js.map +1 -1
  419. package/.internal/core/render/Link.js +10 -40
  420. package/.internal/core/render/Link.js.map +1 -1
  421. package/.internal/core/render/MonotoneXTension.js +8 -54
  422. package/.internal/core/render/MonotoneXTension.js.map +1 -1
  423. package/.internal/core/render/MonotoneYTension.js +8 -54
  424. package/.internal/core/render/MonotoneYTension.js.map +1 -1
  425. package/.internal/core/render/NumericStepper.js +6 -36
  426. package/.internal/core/render/NumericStepper.js.map +1 -1
  427. package/.internal/core/render/OrthogonalLine.js +2 -12
  428. package/.internal/core/render/OrthogonalLine.js.map +1 -1
  429. package/.internal/core/render/Picture.js +3 -18
  430. package/.internal/core/render/Picture.js.map +1 -1
  431. package/.internal/core/render/PointedRectangle.js +2 -12
  432. package/.internal/core/render/PointedRectangle.js.map +1 -1
  433. package/.internal/core/render/Polygon.js +2 -21
  434. package/.internal/core/render/Polygon.js.map +1 -1
  435. package/.internal/core/render/ProgressPie.js +8 -38
  436. package/.internal/core/render/ProgressPie.js.map +1 -1
  437. package/.internal/core/render/RadialLabel.js +3 -18
  438. package/.internal/core/render/RadialLabel.js.map +1 -1
  439. package/.internal/core/render/RadialText.js +3 -18
  440. package/.internal/core/render/RadialText.js.map +1 -1
  441. package/.internal/core/render/Rectangle.js +2 -12
  442. package/.internal/core/render/Rectangle.js.map +1 -1
  443. package/.internal/core/render/RoundedRectangle.js +2 -12
  444. package/.internal/core/render/RoundedRectangle.js.map +1 -1
  445. package/.internal/core/render/Scrollbar.js +9 -60
  446. package/.internal/core/render/Scrollbar.js.map +1 -1
  447. package/.internal/core/render/SerialChart.js +4 -24
  448. package/.internal/core/render/SerialChart.js.map +1 -1
  449. package/.internal/core/render/Series.js +8 -69
  450. package/.internal/core/render/Series.js.map +1 -1
  451. package/.internal/core/render/Slice.js +5 -30
  452. package/.internal/core/render/Slice.js.map +1 -1
  453. package/.internal/core/render/Slider.js +2 -12
  454. package/.internal/core/render/Slider.js.map +1 -1
  455. package/.internal/core/render/Sprite.js +86 -249
  456. package/.internal/core/render/Sprite.js.map +1 -1
  457. package/.internal/core/render/SpriteResizer.js +11 -72
  458. package/.internal/core/render/SpriteResizer.js.map +1 -1
  459. package/.internal/core/render/Star.js +2 -12
  460. package/.internal/core/render/Star.js.map +1 -1
  461. package/.internal/core/render/Text.js +35 -66
  462. package/.internal/core/render/Text.js.map +1 -1
  463. package/.internal/core/render/Tick.js +2 -12
  464. package/.internal/core/render/Tick.js.map +1 -1
  465. package/.internal/core/render/Tooltip.js +7 -78
  466. package/.internal/core/render/Tooltip.js.map +1 -1
  467. package/.internal/core/render/Triangle.js +2 -12
  468. package/.internal/core/render/Triangle.js.map +1 -1
  469. package/.internal/core/render/VerticalLayout.js +2 -12
  470. package/.internal/core/render/VerticalLayout.js.map +1 -1
  471. package/.internal/core/render/ZoomTools.js +5 -42
  472. package/.internal/core/render/ZoomTools.js.map +1 -1
  473. package/.internal/core/render/ZoomableContainer.js +17 -82
  474. package/.internal/core/render/ZoomableContainer.js.map +1 -1
  475. package/.internal/core/render/backend/CanvasRenderer.js +142 -1205
  476. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  477. package/.internal/core/render/gradients/Gradient.js +2 -12
  478. package/.internal/core/render/gradients/Gradient.js.map +1 -1
  479. package/.internal/core/render/gradients/LinearGradient.js +2 -12
  480. package/.internal/core/render/gradients/LinearGradient.js.map +1 -1
  481. package/.internal/core/render/gradients/RadialGradient.js +2 -12
  482. package/.internal/core/render/gradients/RadialGradient.js.map +1 -1
  483. package/.internal/core/render/patterns/CirclePattern.js +2 -12
  484. package/.internal/core/render/patterns/CirclePattern.js.map +1 -1
  485. package/.internal/core/render/patterns/GrainPattern.js +5 -30
  486. package/.internal/core/render/patterns/GrainPattern.js.map +1 -1
  487. package/.internal/core/render/patterns/LinePattern.js +2 -12
  488. package/.internal/core/render/patterns/LinePattern.js.map +1 -1
  489. package/.internal/core/render/patterns/PathPattern.js +2 -12
  490. package/.internal/core/render/patterns/PathPattern.js.map +1 -1
  491. package/.internal/core/render/patterns/Pattern.js +5 -36
  492. package/.internal/core/render/patterns/Pattern.js.map +1 -1
  493. package/.internal/core/render/patterns/PicturePattern.js +2 -21
  494. package/.internal/core/render/patterns/PicturePattern.js.map +1 -1
  495. package/.internal/core/render/patterns/RectanglePattern.js +2 -12
  496. package/.internal/core/render/patterns/RectanglePattern.js.map +1 -1
  497. package/.internal/core/util/Animation.js +6 -54
  498. package/.internal/core/util/Animation.js.map +1 -1
  499. package/.internal/core/util/Benchmark.js +3 -18
  500. package/.internal/core/util/Benchmark.js.map +1 -1
  501. package/.internal/core/util/Children.js +1 -18
  502. package/.internal/core/util/Children.js.map +1 -1
  503. package/.internal/core/util/Color.js +0 -6
  504. package/.internal/core/util/Color.js.map +1 -1
  505. package/.internal/core/util/ColorSet.js +2 -12
  506. package/.internal/core/util/ColorSet.js.map +1 -1
  507. package/.internal/core/util/Counter.js +2 -18
  508. package/.internal/core/util/Counter.js.map +1 -1
  509. package/.internal/core/util/Data.js +0 -26
  510. package/.internal/core/util/Data.js.map +1 -1
  511. package/.internal/core/util/DataProcessor.js +5 -30
  512. package/.internal/core/util/DataProcessor.js.map +1 -1
  513. package/.internal/core/util/Disposer.js +2 -66
  514. package/.internal/core/util/Disposer.js.map +1 -1
  515. package/.internal/core/util/DurationFormatter.js +8 -13
  516. package/.internal/core/util/DurationFormatter.js.map +1 -1
  517. package/.internal/core/util/Entity.js +31 -271
  518. package/.internal/core/util/Entity.js.map +1 -1
  519. package/.internal/core/util/EventDispatcher.js +0 -45
  520. package/.internal/core/util/EventDispatcher.js.map +1 -1
  521. package/.internal/core/util/InterfaceColors.js +2 -12
  522. package/.internal/core/util/InterfaceColors.js.map +1 -1
  523. package/.internal/core/util/List.js +3 -39
  524. package/.internal/core/util/List.js.map +1 -1
  525. package/.internal/core/util/Matrix.js +0 -36
  526. package/.internal/core/util/Matrix.js.map +1 -1
  527. package/.internal/core/util/Modal.js +2 -12
  528. package/.internal/core/util/Modal.js.map +1 -1
  529. package/.internal/core/util/PatternSet.js +2 -12
  530. package/.internal/core/util/PatternSet.js.map +1 -1
  531. package/.internal/core/util/Percent.js +0 -9
  532. package/.internal/core/util/Percent.js.map +1 -1
  533. package/.internal/core/util/ResizeSensor.js +5 -54
  534. package/.internal/core/util/ResizeSensor.js.map +1 -1
  535. package/.internal/core/util/States.js +2 -30
  536. package/.internal/core/util/States.js.map +1 -1
  537. package/.internal/core/util/Template.js +10 -96
  538. package/.internal/core/util/Template.js.map +1 -1
  539. package/.internal/core/util/TextFormatter.js +1 -6
  540. package/.internal/core/util/TextFormatter.js.map +1 -1
  541. package/.internal/core/util/Throttler.js +2 -18
  542. package/.internal/core/util/Throttler.js.map +1 -1
  543. package/.internal/core/util/Timezone.js +0 -18
  544. package/.internal/core/util/Timezone.js.map +1 -1
  545. package/.internal/core/util/Utils.js +0 -21
  546. package/.internal/core/util/Utils.js.map +1 -1
  547. package/.internal/core/util/Value.js +1 -18
  548. package/.internal/core/util/Value.js.map +1 -1
  549. package/.internal/plugins/colorPicker/ColorPicker.js +96 -235
  550. package/.internal/plugins/colorPicker/ColorPicker.js.map +1 -1
  551. package/.internal/plugins/colorPicker/ColorPickerButton.js +8 -34
  552. package/.internal/plugins/colorPicker/ColorPickerButton.js.map +1 -1
  553. package/.internal/plugins/exporting/Annotator.js +3 -36
  554. package/.internal/plugins/exporting/Annotator.js.map +1 -1
  555. package/.internal/plugins/exporting/Exporting.js +2 -12
  556. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  557. package/.internal/plugins/exporting/ExportingMenu.js +6 -66
  558. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  559. package/.internal/plugins/json/ChartSerializer.js +8 -48
  560. package/.internal/plugins/json/ChartSerializer.js.map +1 -1
  561. package/.internal/plugins/json/Json.js +3 -24
  562. package/.internal/plugins/json/Json.js.map +1 -1
  563. package/.internal/plugins/json/Serializer.js +3 -18
  564. package/.internal/plugins/json/Serializer.js.map +1 -1
  565. package/.internal/plugins/sliceGrouper/SliceGrouper.js +2 -24
  566. package/.internal/plugins/sliceGrouper/SliceGrouper.js.map +1 -1
  567. package/.internal/themes/ResponsiveTheme.js +8 -54
  568. package/.internal/themes/ResponsiveTheme.js.map +1 -1
  569. package/CHANGELOG.md +12 -0
  570. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  571. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  572. package/examples/javascript/flow-chord/package.json +1 -1
  573. package/examples/javascript/flow-chord-directed/package.json +1 -1
  574. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  575. package/examples/javascript/flow-sankey/package.json +1 -1
  576. package/examples/javascript/gantt/package.json +1 -1
  577. package/examples/javascript/gantt-multilevel/package.json +1 -1
  578. package/examples/javascript/gantt-simple/package.json +1 -1
  579. package/examples/javascript/gauge/package.json +1 -1
  580. package/examples/javascript/gauge-bands/package.json +1 -1
  581. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  582. package/examples/javascript/hierarchy-pack/package.json +1 -1
  583. package/examples/javascript/hierarchy-partition/package.json +1 -1
  584. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  585. package/examples/javascript/hierarchy-tree/package.json +1 -1
  586. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  587. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  588. package/examples/javascript/jest/package.json +1 -1
  589. package/examples/javascript/json-pie/package.json +1 -1
  590. package/examples/javascript/json-xy/package.json +1 -1
  591. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  592. package/examples/javascript/map-clustered-points/package.json +1 -1
  593. package/examples/javascript/map-day-and-night/package.json +1 -1
  594. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  595. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  596. package/examples/javascript/map-with-bubbles/package.json +1 -1
  597. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  598. package/examples/javascript/misc-40-charts/package.json +1 -1
  599. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  600. package/examples/javascript/pie-chart/package.json +1 -1
  601. package/examples/javascript/pie-donut-chart/package.json +1 -1
  602. package/examples/javascript/pie-variable-radius/package.json +1 -1
  603. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  604. package/examples/javascript/radar-heat-map/package.json +1 -1
  605. package/examples/javascript/radar-line/package.json +1 -1
  606. package/examples/javascript/radar-time-line/package.json +1 -1
  607. package/examples/javascript/sliced-funnel/package.json +1 -1
  608. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  609. package/examples/javascript/sliced-pyramid/package.json +1 -1
  610. package/examples/javascript/stock-chart/package.json +1 -1
  611. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  612. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  613. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  614. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  615. package/examples/javascript/stock-chart-live/package.json +1 -1
  616. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  617. package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
  618. package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
  619. package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
  620. package/examples/javascript/timeline-spiral-chart/package.json +1 -1
  621. package/examples/javascript/venn-diagram/package.json +1 -1
  622. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  623. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  624. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  625. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  626. package/examples/javascript/xy-bubble/package.json +1 -1
  627. package/examples/javascript/xy-candlestick/package.json +1 -1
  628. package/examples/javascript/xy-clustered-column/package.json +1 -1
  629. package/examples/javascript/xy-column/package.json +1 -1
  630. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  631. package/examples/javascript/xy-data-grouping/package.json +1 -1
  632. package/examples/javascript/xy-draggable-range/package.json +1 -1
  633. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  634. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  635. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  636. package/examples/javascript/xy-line/package.json +1 -1
  637. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  638. package/examples/javascript/xy-live-data/package.json +1 -1
  639. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  640. package/examples/javascript/xy-ohlc/package.json +1 -1
  641. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  642. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  643. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  644. package/examples/javascript/xy-stacked-column/package.json +1 -1
  645. package/examples/javascript/xy-stacked-step/package.json +1 -1
  646. package/examples/javascript/xy-stock/package.json +1 -1
  647. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  648. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  649. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  650. package/examples/typescript/flow-chord/package.json +1 -1
  651. package/examples/typescript/flow-chord-directed/package.json +1 -1
  652. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  653. package/examples/typescript/flow-sankey/package.json +1 -1
  654. package/examples/typescript/gantt/package.json +1 -1
  655. package/examples/typescript/gantt-multilevel/package.json +1 -1
  656. package/examples/typescript/gantt-simple/package.json +1 -1
  657. package/examples/typescript/gauge/package.json +1 -1
  658. package/examples/typescript/gauge-bands/package.json +1 -1
  659. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  660. package/examples/typescript/hierarchy-pack/package.json +1 -1
  661. package/examples/typescript/hierarchy-partition/package.json +1 -1
  662. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  663. package/examples/typescript/hierarchy-tree/package.json +1 -1
  664. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  665. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  666. package/examples/typescript/jest/package.json +1 -1
  667. package/examples/typescript/json-pie/package.json +1 -1
  668. package/examples/typescript/json-xy/package.json +1 -1
  669. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  670. package/examples/typescript/map-clustered-points/package.json +1 -1
  671. package/examples/typescript/map-day-and-night/package.json +1 -1
  672. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  673. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  674. package/examples/typescript/map-with-bubbles/package.json +1 -1
  675. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  676. package/examples/typescript/misc-40-charts/package.json +1 -1
  677. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  678. package/examples/typescript/pie-chart/package.json +1 -1
  679. package/examples/typescript/pie-donut-chart/package.json +1 -1
  680. package/examples/typescript/pie-variable-radius/package.json +1 -1
  681. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  682. package/examples/typescript/radar-heat-map/package.json +1 -1
  683. package/examples/typescript/radar-line/package.json +1 -1
  684. package/examples/typescript/radar-time-line/package.json +1 -1
  685. package/examples/typescript/sliced-funnel/package.json +1 -1
  686. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  687. package/examples/typescript/sliced-pyramid/package.json +1 -1
  688. package/examples/typescript/stock-chart/package.json +1 -1
  689. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  690. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  691. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  692. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  693. package/examples/typescript/stock-chart-live/package.json +1 -1
  694. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  695. package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
  696. package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
  697. package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
  698. package/examples/typescript/timeline-spiral-chart/package.json +1 -1
  699. package/examples/typescript/venn-diagram/package.json +1 -1
  700. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  701. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  702. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  703. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  704. package/examples/typescript/xy-bubble/package.json +1 -1
  705. package/examples/typescript/xy-candlestick/package.json +1 -1
  706. package/examples/typescript/xy-clustered-column/package.json +1 -1
  707. package/examples/typescript/xy-column/package.json +1 -1
  708. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  709. package/examples/typescript/xy-data-grouping/package.json +1 -1
  710. package/examples/typescript/xy-draggable-range/package.json +1 -1
  711. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  712. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  713. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  714. package/examples/typescript/xy-line/package.json +1 -1
  715. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  716. package/examples/typescript/xy-live-data/package.json +1 -1
  717. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  718. package/examples/typescript/xy-ohlc/package.json +1 -1
  719. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  720. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  721. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  722. package/examples/typescript/xy-stacked-column/package.json +1 -1
  723. package/examples/typescript/xy-stacked-step/package.json +1 -1
  724. package/examples/typescript/xy-stock/package.json +1 -1
  725. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  726. package/package.json +1 -1
@@ -130,24 +130,9 @@ function constructEntity(root, parsed) {
130
130
  }
131
131
  class ParserState {
132
132
  constructor() {
133
- Object.defineProperty(this, "_caching", {
134
- enumerable: true,
135
- configurable: true,
136
- writable: true,
137
- value: {}
138
- });
139
- Object.defineProperty(this, "_cache", {
140
- enumerable: true,
141
- configurable: true,
142
- writable: true,
143
- value: {}
144
- });
145
- Object.defineProperty(this, "_delayed", {
146
- enumerable: true,
147
- configurable: true,
148
- writable: true,
149
- value: []
150
- });
133
+ this._caching = {};
134
+ this._cache = {};
135
+ this._delayed = [];
151
136
  }
152
137
  afterParse() {
153
138
  this._delayed.forEach((f) => {
@@ -576,12 +561,6 @@ export class JsonParser {
576
561
  * @ignore
577
562
  */
578
563
  constructor(root, isReal) {
579
- Object.defineProperty(this, "_root", {
580
- enumerable: true,
581
- configurable: true,
582
- writable: true,
583
- value: void 0
584
- });
585
564
  if (!isReal) {
586
565
  throw new Error("You cannot use `new Class()`, instead use `Class.new()`");
587
566
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Json.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Json.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../../core/Root\";\n\nimport { Entity } from \"../../core/util/Entity\";\nimport { Sprite } from \"../../core/render/Sprite\";\nimport { Container } from \"../../core/render/Container\";\nimport { Color } from \"../../core/util/Color\";\nimport { Percent } from \"../../core/util/Percent\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListData } from \"../../core/util/Data\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\nimport type { IClasses } from \"./Classes\";\nimport classes from \"./Classes\";\n\n\ninterface IRef {\n\t[key: string]: any;\n}\n\n\nfunction isObject(value: any): value is { [key: string]: any } {\n\treturn $type.isObject(value);\n}\n\nfunction isObjectParsed(value: object): boolean {\n\treturn value instanceof Entity || value instanceof Color || value instanceof Percent || value instanceof Template;\n}\n\n\nfunction lookupRef(refs: Array<IRef>, name: string): any {\n\tlet i = refs.length;\n\n\twhile (i--) {\n\t\tconst sub = refs[i];\n\n\t\tif (name in sub) {\n\t\t\treturn sub[name];\n\t\t}\n\t}\n\n\tthrow new Error(\"Could not find ref \" + name);\n}\n\n\ninterface IAxisRange<E extends Entity> {\n\t__parseLogic: \"axisRange\" | \"seriesAxisRange\",\n\taxis: string,\n\tseries?: string,\n\tsettings: E[\"_settings\"],\n}\n\ninterface IAdapter<E extends Entity> {\n\tkey: keyof E[\"_settings\"],\n\tcallback: (value: E[\"_settings\"][this[\"key\"]], target: E, key: this[\"key\"]) => E[\"_settings\"][this[\"key\"]],\n}\n\ninterface IState<E extends Entity> {\n\tkey: string,\n\tsettings: E[\"_settings\"],\n}\n\ntype IParsedProperties = Array<(entity: object) => void>;\n\ntype IRefs = { [key: string]: any } | Array<{ [key: string]: any }>;\n\ninterface IChild {\n\tindex: number | undefined,\n\tvalue: Sprite,\n}\n\ninterface IParsedEntity<E extends Entity> {\n\tisValue: false,\n\ttype: string | undefined,\n\tconstruct: typeof Entity | undefined,\n\tsettings: object | undefined,\n\tadapters: Array<IAdapter<E>> | undefined,\n\tstates: Array<IState<E>> | undefined,\n\tchildren: Array<IChild> | undefined,\n\tproperties: IParsedProperties | undefined,\n\tindex: number | undefined,\n\tvalue: object,\n}\n\ntype IParsed<E extends Entity>\n\t= IParsedEntity<E>\n\t| { isValue: true, value: any };\n\n\nfunction parseRef<E extends Entity>(value: string, refs: Array<IRef>): IParsed<E> {\n\tif (value[0] === \"#\" || value[0] === \"@\") {\n\t\tif (value[1] === value[0]) {\n\t\t\t// \"##foo\" or \"@@foo\" gets escaped into the literal strings \"#foo\" or \"@foo\"\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: value.slice(1),\n\t\t\t};\n\n\t\t} else {\n\t\t\tconst path = value.split(/\\./g);\n\n\t\t\tlet object = lookupRef(refs, path[0]);\n\n\t\t\tfor (let i = 1; i < path.length; ++i) {\n\t\t\t\tconst subpath = path[i];\n\n\t\t\t\t// Supports `#foo.get(\"bar\")` and `#foo.get('bar')` syntax\n\t\t\t\tconst parsed = /get\\(([\"'])([^\\1]*)\\1\\)/.exec(subpath);\n\n\t\t\t\tif (parsed) {\n\t\t\t\t\tobject = object.get(parsed[2]);\n\n\t\t\t\t} else {\n\t\t\t\t\tobject = object[subpath];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: object,\n\t\t\t};\n\t\t}\n\n\t} else {\n\t\treturn {\n\t\t\tisValue: true,\n\t\t\tvalue,\n\t\t};\n\t}\n}\n\n\nfunction mergeObject<E extends Entity>(entity: object, parsed: IParsedEntity<E>): void {\n\tif (parsed.properties) {\n\t\t$array.each(parsed.properties, (fn) => {\n\t\t\tfn(entity);\n\t\t});\n\t}\n}\n\nfunction mergeEntity<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tmergeObject(entity, parsed);\n\n\tif (parsed.adapters) {\n\t\t$array.each(parsed.adapters, (adapter) => {\n\t\t\tentity.adapters.add(adapter.key, adapter.callback);\n\t\t});\n\t}\n\n\tif (parsed.states) {\n\t\t$array.each(parsed.states, (state) => {\n\t\t\tentity.states.create(state.key, state.settings);\n\t\t});\n\t}\n\n\tif (entity instanceof Container) {\n\t\tif (parsed.children) {\n\t\t\tparsed.children.forEach((child) => {\n\t\t\t\tif (child.index == null || child.index >= entity.children.length) {\n\t\t\t\t\tentity.children.push(child.value);\n\n\t\t\t\t} else {\n\t\t\t\t\tentity.children.insertIndex(child.index, child.value);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction mergeExisting<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tif (parsed.settings) {\n\t\tentity.setAll(parsed.settings);\n\t}\n\n\tmergeEntity(entity, parsed);\n}\n\n\n// TODO replace this with `__parseLogic: \"merge\"`\nfunction mergeExistingAxisRange<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tif (parsed.settings) {\n\t\t$object.each(parsed.settings, (key, value: any) => {\n\t\t\tif (value instanceof Entity) {\n\t\t\t\tconst old = entity.get(key) as any;\n\n\t\t\t\tif (old instanceof Entity) {\n\t\t\t\t\told.setAll(value._settings);\n\n\t\t\t\t} else {\n\t\t\t\t\tentity.set(key, value as any);\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tentity.set(key, value);\n\t\t\t}\n\t\t});\n\t}\n\n\tmergeEntity(entity, parsed);\n}\n\n\nfunction constructEntity<E extends Entity>(root: Root, parsed: IParsedEntity<E>): E | object {\n\tif (!parsed.construct) {\n\t\treturn parsed.value;\n\t}\n\n\tconst entity = parsed.construct.new(root, parsed.settings || {}) as E;\n\n\tmergeEntity(entity, parsed);\n\n\treturn entity;\n}\n\n\nclass ParserState {\n\tprotected _caching: { [key: string]: Promise<void> } = {};\n\tprotected _cache: { [key: string]: typeof Entity } = {};\n\tprotected _delayed: Array<() => void> = [];\n\n\n\tafterParse(): void {\n\t\tthis._delayed.forEach((f) => {\n\t\t\tf();\n\t\t});\n\t}\n\n\n\tgetClass(name: string): typeof Entity {\n\t\treturn this._cache[name];\n\t}\n\n\tasync storeClass(name: string): Promise<void> {\n\t\tif (name === \"Template\") {\n\t\t\t// Do nothing\n\t\t\treturn;\n\t\t}\n\n\t\tconst promise = classes[name as keyof IClasses];\n\n\t\tif (promise == null) {\n\t\t\tthrow new Error(\"Unknown object type `\" + name + \"`\");\n\t\t}\n\n\t\tthis._cache[name] = await promise() as typeof Entity;\n\t}\n\n\tcacheClass(name: string): Promise<void> {\n\t\tlet promise = this._caching[name];\n\n\t\tif (promise == null) {\n\t\t\tpromise = this._caching[name] = this.storeClass(name);\n\t\t}\n\n\t\treturn promise;\n\t}\n\n\n\tasync parseAsyncArray(array: Array<unknown>): Promise<void> {\n\t\tawait Promise.all($array.map(array, (x) => this.parseAsync(x)));\n\t}\n\n\tasync parseAsyncObjectKey(key: string, value: unknown): Promise<void> {\n\t\tif (key === \"type\") {\n\t\t\tif ($type.isString(value)) {\n\t\t\t\tawait this.cacheClass(value);\n\n\t\t\t} else {\n\t\t\t\tawait this.parseAsync(value);\n\t\t\t}\n\n\t\t} else if (key === \"geoJSON\" || key === \"geometry\") {\n\t\t\t// Do nothing\n\n\t\t} else {\n\t\t\tawait this.parseAsync(value);\n\t\t}\n\t}\n\n\tasync parseAsyncObject(object: object): Promise<void> {\n\t\tswitch ((object as any).type) {\n\t\t\tcase \"Color\":\n\t\t\tcase \"Percent\":\n\t\t\t\t// Do nothing\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tawait Promise.all($array.map($object.keys(object), (key) => this.parseAsyncObjectKey(key, object[key])));\n\t\t}\n\t}\n\n\tasync parseAsync(value: unknown): Promise<void> {\n\t\tif ($type.isArray(value)) {\n\t\t\tawait this.parseAsyncArray(value);\n\n\t\t} else if (isObject(value)) {\n\t\t\tif (!isObjectParsed(value)) {\n\t\t\t\tif (value.__parse === true || value.__parse !== false) {\n\t\t\t\t\tawait this.parseAsyncObject(value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\tparseObject(root: Root, object: object, refs: Array<IRef>): object {\n\t\tconst output: { [key: string]: any } = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\toutput[key] = this.parse(root, object[key], refs);\n\t\t});\n\n\t\treturn output;\n\t}\n\n\tparseArray(root: Root, value: Array<unknown>, refs: Array<IRef>): Array<unknown> {\n\t\treturn $array.map(value, (value) => this.parse(root, value, refs));\n\t}\n\n\tparseChildren(root: Root, value: Array<{ [key: string]: any } | string>, refs: Array<IRef>): Array<IChild> {\n\t\treturn $array.map(value, (value) => this.parseChild(root, value, refs));\n\t}\n\n\tparseStops(root: Root, value: Array<object>, refs: Array<IRef>): Array<object> {\n\t\treturn $array.map(value, (value) => this.parseObject(root, value, refs));\n\t}\n\n\tparseSetting(root: Root, key: string, value: unknown, refs: Array<IRef>): unknown {\n\t\tif (key === \"layout\") {\n\t\t\tswitch (value) {\n\t\t\t\tcase \"horizontal\":\n\t\t\t\t\treturn root.horizontalLayout;\n\t\t\t\tcase \"vertical\":\n\t\t\t\t\treturn root.verticalLayout;\n\t\t\t\tcase \"grid\":\n\t\t\t\t\treturn root.gridLayout;\n\t\t\t}\n\t\t}\n\n\t\tif (key === \"clusteredBullet\") {\n\t\t\treturn (_: unknown, series: unknown) => {\n\t\t\t\tconst newRefs = refs.concat([{ \"@series\": series }]);\n\t\t\t\treturn this.parse(root, value, newRefs);\n\t\t\t};\n\t\t}\n\n\t\tif (key === \"projection\") {\n\t\t\t// @todo: implement\n\t\t\treturn value;\n\t\t}\n\n\t\tif (key === \"geoJSON\") {\n\t\t\treturn value;\n\t\t}\n\n\t\tif (key === \"stops\") {\n\t\t\treturn this.parseStops(root, value as Array<object>, refs);\n\t\t}\n\n\t\treturn this.parse(root, value, refs);\n\t}\n\n\tparseSettings<E extends Entity>(root: Root, object: object, refs: Array<IRef>): E[\"_settings\"] {\n\t\tconst settings: { [key: string]: any } = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\tsettings[key] = this.parseSetting(root, key, object[key], refs);\n\t\t});\n\n\t\treturn settings;\n\t}\n\n\tparseState<E extends Entity>(root: Root, object: { key: string, settings: Object }, refs: Array<IRef>): { key: string, settings: E[\"_settings\"] } {\n\t\treturn {\n\t\t\tkey: object.key,\n\t\t\tsettings: this.parseSettings(root, object.settings, refs),\n\t\t};\n\t}\n\n\tparseAdapter<E extends Entity>(root: Root, object: { key: keyof E[\"_settings\"], callback: unknown }, refs: Array<IRef>): IAdapter<E> {\n\t\treturn {\n\t\t\tkey: object.key,\n\t\t\tcallback: this.parse(root, object.callback, refs),\n\t\t};\n\t}\n\n\tparseProperties(root: Root, object: object, refs: Array<IRef>): IParsedProperties {\n\t\treturn $array.map($object.keys(object), (key) => {\n\t\t\tconst rawValue = object[key];\n\n\t\t\treturn (entity: object) => {\n\t\t\t\tconst run = () => {\n\t\t\t\t\tconst parsed = this.parseValue(root, rawValue, refs);\n\t\t\t\t\tconst old = entity[key] as unknown;\n\n\t\t\t\t\tif (old) {\n\t\t\t\t\t\tif (parsed.isValue) {\n\t\t\t\t\t\t\t// Merge Array into List\n\t\t\t\t\t\t\tif ($type.isArray(parsed.value)) {\n\t\t\t\t\t\t\t\tif (old instanceof ListData) {\n\t\t\t\t\t\t\t\t\t(old as any).setAll(parsed.value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t$array.each(parsed.value, (value) => {\n\t\t\t\t\t\t\t\t\t\t(old as any).push(value);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t(entity as any)[key] = parsed.value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else if (parsed.construct) {\n\t\t\t\t\t\t\t(entity as any)[key] = constructEntity(root, parsed);\n\n\t\t\t\t\t\t\t// Merge into existing Entity or Template\n\t\t\t\t\t\t} else if (old instanceof Entity || old instanceof Template) {\n\t\t\t\t\t\t\tmergeExisting(old as Entity, parsed);\n\n\t\t\t\t\t\t\t// Merge into existing object\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeObject(old as object, parsed);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (parsed.isValue) {\n\t\t\t\t\t\t\t(entity as any)[key] = parsed.value;\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t(entity as any)[key] = constructEntity(root, parsed);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tif (key === \"data\") {\n\t\t\t\t\tthis._delayed.push(run);\n\n\t\t\t\t} else if (key === \"bullets\") {\n\t\t\t\t\tconst old = entity[key] as unknown;\n\n\t\t\t\t\t$type.assert(old != null);\n\t\t\t\t\t$type.assert($type.isArray(rawValue));\n\n\t\t\t\t\t$array.each(rawValue, (value) => {\n\t\t\t\t\t\t(old as any).push((_: unknown, series: unknown) => {\n\t\t\t\t\t\t\tconst newRefs = refs.concat([{ \"@series\": series }]);\n\t\t\t\t\t\t\treturn this.parse(root, value, newRefs);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t\t\t} else if (key === \"bullet\") {\n\t\t\t\t\t(entity as any).set(\"bullet\", (_: unknown, axis: unknown) => {\n\t\t\t\t\t\tconst newRefs = refs.concat([{ \"@axis\": axis }]);\n\t\t\t\t\t\treturn this.parse(root, rawValue, newRefs);\n\t\t\t\t\t});\n\n\t\t\t\t} else {\n\t\t\t\t\trun();\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n\n\tparseAxisRange<E extends Entity>(root: Root, value: IAxisRange<E>, refs: Array<IRef>): IParsedEntity<E> {\n\t\tconst settings = this.parseSettings(root, value.settings, refs);\n\n\t\treturn {\n\t\t\tisValue: false,\n\t\t\ttype: undefined,\n\t\t\tconstruct: undefined,\n\t\t\tsettings,\n\t\t\tadapters: undefined,\n\t\t\tstates: undefined,\n\t\t\tchildren: undefined,\n\t\t\tproperties: undefined,\n\t\t\tindex: undefined,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\tparseRefsObject(root: Root, object: { [key: string]: any }, refs: Array<IRef>): IRef {\n\t\tconst newRefs: IRef = {};\n\n\t\t$object.each(object, (key, value) => {\n\t\t\tif (value.__parseLogic == \"axisRange\" || value.__parseLogic == \"seriesAxisRange\") {\n\t\t\t\t// Parse axis range\n\t\t\t\tconst parsed = this.parseAxisRange(root, value, refs);\n\n\t\t\t\tconst axis = lookupRef(refs, value.axis);\n\t\t\t\tconst axisDataItem = axis.makeDataItem({});\n\n\t\t\t\tlet seriesRange: any | undefined;\n\n\t\t\t\tconst series = value.series ? lookupRef(refs, value.series) : undefined;\n\n\t\t\t\tif (series) {\n\t\t\t\t\tseriesRange = series.createAxisRange(axisDataItem);\n\n\t\t\t\t} else {\n\t\t\t\t\taxis.createAxisRange(axisDataItem);\n\t\t\t\t}\n\n\t\t\t\t// Apply settings to data item\n\t\t\t\tmergeExistingAxisRange(axisDataItem, parsed);\n\n\t\t\t\t// Set series range settings\n\t\t\t\tif (seriesRange) {\n\t\t\t\t\t[\"fills\", \"strokes\", \"graphics\"].forEach((targetKey: string) => {\n\t\t\t\t\t\tif (seriesRange[targetKey] !== undefined && value[targetKey] !== undefined) {\n\t\t\t\t\t\t\tvalue[targetKey].__parse = true;\n\t\t\t\t\t\t\tconst parsedSetting = this.parse(root, value[targetKey], refs);\n\t\t\t\t\t\t\tseriesRange[targetKey].template.setAll(parsedSetting);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tnewRefs[\"#\" + key] = this.parse(root, value, refs);\n\t\t\t}\n\t\t});\n\n\t\treturn newRefs;\n\t}\n\n\tparseRefs(root: Root, object: IRefs, refs: Array<IRef>): Array<IRef> {\n\t\tif ($type.isArray(object)) {\n\t\t\tconst length = object.length;\n\n\t\t\tfor (let i = 0; i < length; ++i) {\n\t\t\t\trefs = refs.concat([this.parseRefsObject(root, object[i] as any, refs)]);\n\t\t\t}\n\n\t\t} else {\n\t\t\trefs = refs.concat([this.parseRefsObject(root, object, refs)]);\n\t\t}\n\n\t\treturn refs;\n\t}\n\n\n\tparseChild(root: Root, value: { [key: string]: any } | string, refs: Array<IRef>): IChild {\n\t\tif ($type.isString(value)) {\n\t\t\treturn {\n\t\t\t\tindex: undefined,\n\t\t\t\tvalue: parseRef<Sprite>(value, refs).value,\n\t\t\t};\n\n\t\t} else if (value.ref != null) {\n\t\t\tconst index = (value.index == null ? undefined : value.index);\n\n\t\t\treturn {\n\t\t\t\tindex,\n\t\t\t\tvalue: parseRef<Sprite>(value.ref, refs).value,\n\t\t\t};\n\n\t\t} else {\n\t\t\tconst parsed = this.parseEntity<Sprite>(root, value, refs);\n\n\t\t\treturn {\n\t\t\t\tindex: parsed.index,\n\t\t\t\tvalue: constructEntity(root, parsed) as Sprite,\n\t\t\t};\n\t\t}\n\t}\n\n\tparseEntity<E extends Entity>(root: Root, value: { [key: string]: any }, refs: Array<IRef>): IParsedEntity<E> {\n\t\tif (value.refs) {\n\t\t\trefs = this.parseRefs(root, value.refs, refs);\n\t\t}\n\n\t\tconst construct = (value.type ? this.getClass(value.type) : undefined);\n\t\tconst settings = (value.settings ? this.parseSettings(root, value.settings, refs) : undefined);\n\t\tconst properties = (value.properties ? this.parseProperties(root, value.properties, refs) : undefined);\n\t\tconst children = (value.children ? this.parseChildren(root, value.children, refs) : undefined);\n\t\tconst states = (value.states ? $array.map(value.states, (value: any) => this.parseState(root, value, refs)) : undefined);\n\t\tconst adapters = (value.adapters ? $array.map(value.adapters, (value: any) => this.parseAdapter(root, value, refs)) : undefined) as any;\n\n\t\tconst index = (value.index == null ? undefined : value.index);\n\n\t\treturn {\n\t\t\tisValue: false,\n\t\t\ttype: value.type,\n\t\t\tconstruct,\n\t\t\tsettings,\n\t\t\tadapters,\n\t\t\tstates,\n\t\t\tchildren,\n\t\t\tproperties,\n\t\t\tindex,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\tparseTemplate<E extends Entity>(root: Root, value: { [key: string]: any }, refs: Array<IRef>): IParsed<E> {\n\t\tif (value.refs) {\n\t\t\trefs = this.parseRefs(root, value.refs, refs);\n\t\t}\n\n\t\tconst settings = (value.settings ? this.parseSettings(root, value.settings, refs) : {});\n\n\t\tconst template = Template.new(settings);\n\n\t\tconst states = (value.states ? $array.map(value.states, (value: any) => this.parseState(root, value, refs)) : undefined);\n\t\tconst adapters = (value.adapters ? $array.map(value.adapters, (value: any) => this.parseAdapter(root, value, refs)) : undefined) as any;\n\n\t\tif (adapters) {\n\t\t\t$array.each(adapters, (adapter: any) => {\n\t\t\t\ttemplate.adapters.add(adapter.key, adapter.callback);\n\t\t\t});\n\t\t}\n\n\t\tif (states) {\n\t\t\t$array.each(states, (state: any) => {\n\t\t\t\ttemplate.states.create(state.key, state.settings);\n\t\t\t});\n\t\t}\n\n\t\treturn {\n\t\t\tisValue: true,\n\t\t\tvalue: template,\n\t\t};\n\t}\n\n\tparseValue<E extends Entity>(root: Root, value: any, refs: Array<IRef>): IParsed<E> {\n\t\tif (value instanceof Entity) {\n\t\t\treturn { isValue: true, value: value };\n\n\t\t} else if ($type.isArray(value)) {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: this.parseArray(root, value, refs),\n\t\t\t};\n\n\t\t} else if (isObject(value)) {\n\t\t\tif (isObjectParsed(value)) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue,\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Color\") {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: Color.fromAny(value.value),\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Percent\") {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: new Percent(value.value),\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Template\") {\n\t\t\t\treturn this.parseTemplate(root, value, refs);\n\n\t\t\t} else if (value.__parse === true) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: this.parseObject(root, value, refs),\n\t\t\t\t};\n\n\t\t\t} else if (value.__parse === false) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue,\n\t\t\t\t};\n\n\t\t\t} else {\n\t\t\t\treturn this.parseEntity(root, value, refs);\n\t\t\t}\n\n\t\t} else if ($type.isString(value)) {\n\t\t\treturn parseRef(value, refs);\n\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue,\n\t\t\t};\n\t\t}\n\t}\n\n\tparse<E extends Entity>(root: Root, value: unknown, refs: Array<IRef>): any {\n\t\tconst parsed = this.parseValue<E>(root, value, refs);\n\n\t\tif (parsed.isValue) {\n\t\t\treturn parsed.value;\n\n\t\t} else {\n\t\t\treturn constructEntity<E>(root, parsed);\n\t\t}\n\t}\n}\n\nexport interface IParseSettings {\n\tparent?: Container;\n}\n\n/**\n * A parser for JSON based chart configs.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/serializing/} for more info\n * @since 5.3.0\n */\nexport class JsonParser {\n\tprotected _root: Root;\n\n\t/**\n\t * IMPORTANT! Do not instantiate this class via `new Class()` syntax.\n\t *\n\t * Use static method `Class.new()` instead.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @ignore\n\t */\n\tconstructor(root: Root, isReal: boolean) {\n\t\tif (!isReal) {\n\t\t\tthrow new Error(\"You cannot use `new Class()`, instead use `Class.new()`\");\n\t\t}\n\n\t\tthis._root = root;\n\t}\n\n\t/**\n\t * Use this method to create an instance of this class.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @param root Root element\n\t * @return Instantiated object\n\t */\n\tstatic new<C extends typeof JsonParser, T extends InstanceType<C>>(this: C, root: Root): T {\n\t\treturn (new this(root, true)) as T;\n\t}\n\n\t/**\n\t * Parses and creates chart objects from simple objects.\n\t *\n\t * @param object Serialized data\n\t * @return A promise of a target object\n\t */\n\tasync parse<E extends Entity>(object: unknown, settings: IParseSettings = {}): Promise<E> {\n\t\tconst state = new ParserState();\n\n\t\tawait state.parseAsync(object);\n\n\t\tconst output = state.parse(this._root, object, []) as E;\n\n\t\tif (settings.parent) {\n\t\t\tif (output instanceof Sprite) {\n\t\t\t\tsettings.parent.children.push(output);\n\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"When using the parent setting, the entity must be a Sprite\");\n\t\t\t}\n\n\t\t}\n\t\telse if (output instanceof Entity) {\n\t\t\toutput._applyThemes(true);\n\t\t}\n\n\t\tstate.afterParse();\n\n\t\treturn output;\n\t}\n\n\t/**\n\t * Parses and creates chart objects from JSON string.\n\t *\n\t * @param string JSON string\n\t * @return A promise of a target object\n\t */\n\tasync parseString<E extends Entity>(string: string, settings: IParseSettings = {}): Promise<E> {\n\t\treturn await this.parse(JSON.parse(string), settings);\n\t}\n}\n\n/**\n * Registers a class so that it can be parsed and instantiated bey JSON parser.\n *\n * @param name Class name\n * @param func Class reference\n * @ignore\n */\nexport function registerCustomClass(name: string, ref: any): void {\n\tif (!(classes as any)[name]) {\n\t\t(classes as any)[name] = () => new Promise((resolve) => {\n\t\t\tresolve(ref);\n\t\t});\n\t}\n}\n"]}
1
+ {"version":3,"file":"Json.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Json.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../../core/Root\";\n\nimport { Entity } from \"../../core/util/Entity\";\nimport { Sprite } from \"../../core/render/Sprite\";\nimport { Container } from \"../../core/render/Container\";\nimport { Color } from \"../../core/util/Color\";\nimport { Percent } from \"../../core/util/Percent\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListData } from \"../../core/util/Data\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\nimport type { IClasses } from \"./Classes\";\nimport classes from \"./Classes\";\n\n\ninterface IRef {\n\t[key: string]: any;\n}\n\n\nfunction isObject(value: any): value is { [key: string]: any } {\n\treturn $type.isObject(value);\n}\n\nfunction isObjectParsed(value: object): boolean {\n\treturn value instanceof Entity || value instanceof Color || value instanceof Percent || value instanceof Template;\n}\n\n\nfunction lookupRef(refs: Array<IRef>, name: string): any {\n\tlet i = refs.length;\n\n\twhile (i--) {\n\t\tconst sub = refs[i];\n\n\t\tif (name in sub) {\n\t\t\treturn sub[name];\n\t\t}\n\t}\n\n\tthrow new Error(\"Could not find ref \" + name);\n}\n\n\ninterface IAxisRange<E extends Entity> {\n\t__parseLogic: \"axisRange\" | \"seriesAxisRange\",\n\taxis: string,\n\tseries?: string,\n\tsettings: E[\"_settings\"],\n}\n\ninterface IAdapter<E extends Entity> {\n\tkey: keyof E[\"_settings\"],\n\tcallback: (value: E[\"_settings\"][this[\"key\"]], target: E, key: this[\"key\"]) => E[\"_settings\"][this[\"key\"]],\n}\n\ninterface IState<E extends Entity> {\n\tkey: string,\n\tsettings: E[\"_settings\"],\n}\n\ntype IParsedProperties = Array<(entity: object) => void>;\n\ntype IRefs = { [key: string]: any } | Array<{ [key: string]: any }>;\n\ninterface IChild {\n\tindex: number | undefined,\n\tvalue: Sprite,\n}\n\ninterface IParsedEntity<E extends Entity> {\n\tisValue: false,\n\ttype: string | undefined,\n\tconstruct: typeof Entity | undefined,\n\tsettings: object | undefined,\n\tadapters: Array<IAdapter<E>> | undefined,\n\tstates: Array<IState<E>> | undefined,\n\tchildren: Array<IChild> | undefined,\n\tproperties: IParsedProperties | undefined,\n\tindex: number | undefined,\n\tvalue: object,\n}\n\ntype IParsed<E extends Entity>\n\t= IParsedEntity<E>\n\t| { isValue: true, value: any };\n\n\nfunction parseRef<E extends Entity>(value: string, refs: Array<IRef>): IParsed<E> {\n\tif (value[0] === \"#\" || value[0] === \"@\") {\n\t\tif (value[1] === value[0]) {\n\t\t\t// \"##foo\" or \"@@foo\" gets escaped into the literal strings \"#foo\" or \"@foo\"\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: value.slice(1),\n\t\t\t};\n\n\t\t} else {\n\t\t\tconst path = value.split(/\\./g);\n\n\t\t\tlet object = lookupRef(refs, path[0]);\n\n\t\t\tfor (let i = 1; i < path.length; ++i) {\n\t\t\t\tconst subpath = path[i];\n\n\t\t\t\t// Supports `#foo.get(\"bar\")` and `#foo.get('bar')` syntax\n\t\t\t\tconst parsed = /get\\(([\"'])([^\\1]*)\\1\\)/.exec(subpath);\n\n\t\t\t\tif (parsed) {\n\t\t\t\t\tobject = object.get(parsed[2]);\n\n\t\t\t\t} else {\n\t\t\t\t\tobject = object[subpath];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: object,\n\t\t\t};\n\t\t}\n\n\t} else {\n\t\treturn {\n\t\t\tisValue: true,\n\t\t\tvalue,\n\t\t};\n\t}\n}\n\n\nfunction mergeObject<E extends Entity>(entity: object, parsed: IParsedEntity<E>): void {\n\tif (parsed.properties) {\n\t\t$array.each(parsed.properties, (fn) => {\n\t\t\tfn(entity);\n\t\t});\n\t}\n}\n\nfunction mergeEntity<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tmergeObject(entity, parsed);\n\n\tif (parsed.adapters) {\n\t\t$array.each(parsed.adapters, (adapter) => {\n\t\t\tentity.adapters.add(adapter.key, adapter.callback);\n\t\t});\n\t}\n\n\tif (parsed.states) {\n\t\t$array.each(parsed.states, (state) => {\n\t\t\tentity.states.create(state.key, state.settings);\n\t\t});\n\t}\n\n\tif (entity instanceof Container) {\n\t\tif (parsed.children) {\n\t\t\tparsed.children.forEach((child) => {\n\t\t\t\tif (child.index == null || child.index >= entity.children.length) {\n\t\t\t\t\tentity.children.push(child.value);\n\n\t\t\t\t} else {\n\t\t\t\t\tentity.children.insertIndex(child.index, child.value);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction mergeExisting<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tif (parsed.settings) {\n\t\tentity.setAll(parsed.settings);\n\t}\n\n\tmergeEntity(entity, parsed);\n}\n\n\n// TODO replace this with `__parseLogic: \"merge\"`\nfunction mergeExistingAxisRange<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tif (parsed.settings) {\n\t\t$object.each(parsed.settings, (key, value: any) => {\n\t\t\tif (value instanceof Entity) {\n\t\t\t\tconst old = entity.get(key) as any;\n\n\t\t\t\tif (old instanceof Entity) {\n\t\t\t\t\told.setAll(value._settings);\n\n\t\t\t\t} else {\n\t\t\t\t\tentity.set(key, value as any);\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tentity.set(key, value);\n\t\t\t}\n\t\t});\n\t}\n\n\tmergeEntity(entity, parsed);\n}\n\n\nfunction constructEntity<E extends Entity>(root: Root, parsed: IParsedEntity<E>): E | object {\n\tif (!parsed.construct) {\n\t\treturn parsed.value;\n\t}\n\n\tconst entity = parsed.construct.new(root, parsed.settings || {}) as E;\n\n\tmergeEntity(entity, parsed);\n\n\treturn entity;\n}\n\n\nclass ParserState {\n\tprotected _caching: { [key: string]: Promise<void> } = {};\n\tprotected _cache: { [key: string]: typeof Entity } = {};\n\tprotected _delayed: Array<() => void> = [];\n\n\n\tafterParse(): void {\n\t\tthis._delayed.forEach((f) => {\n\t\t\tf();\n\t\t});\n\t}\n\n\n\tgetClass(name: string): typeof Entity {\n\t\treturn this._cache[name];\n\t}\n\n\tasync storeClass(name: string): Promise<void> {\n\t\tif (name === \"Template\") {\n\t\t\t// Do nothing\n\t\t\treturn;\n\t\t}\n\n\t\tconst promise = classes[name as keyof IClasses];\n\n\t\tif (promise == null) {\n\t\t\tthrow new Error(\"Unknown object type `\" + name + \"`\");\n\t\t}\n\n\t\tthis._cache[name] = await promise() as typeof Entity;\n\t}\n\n\tcacheClass(name: string): Promise<void> {\n\t\tlet promise = this._caching[name];\n\n\t\tif (promise == null) {\n\t\t\tpromise = this._caching[name] = this.storeClass(name);\n\t\t}\n\n\t\treturn promise;\n\t}\n\n\n\tasync parseAsyncArray(array: Array<unknown>): Promise<void> {\n\t\tawait Promise.all($array.map(array, (x) => this.parseAsync(x)));\n\t}\n\n\tasync parseAsyncObjectKey(key: string, value: unknown): Promise<void> {\n\t\tif (key === \"type\") {\n\t\t\tif ($type.isString(value)) {\n\t\t\t\tawait this.cacheClass(value);\n\n\t\t\t} else {\n\t\t\t\tawait this.parseAsync(value);\n\t\t\t}\n\n\t\t} else if (key === \"geoJSON\" || key === \"geometry\") {\n\t\t\t// Do nothing\n\n\t\t} else {\n\t\t\tawait this.parseAsync(value);\n\t\t}\n\t}\n\n\tasync parseAsyncObject(object: object): Promise<void> {\n\t\tswitch ((object as any).type) {\n\t\t\tcase \"Color\":\n\t\t\tcase \"Percent\":\n\t\t\t\t// Do nothing\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tawait Promise.all($array.map($object.keys(object), (key) => this.parseAsyncObjectKey(key, object[key])));\n\t\t}\n\t}\n\n\tasync parseAsync(value: unknown): Promise<void> {\n\t\tif ($type.isArray(value)) {\n\t\t\tawait this.parseAsyncArray(value);\n\n\t\t} else if (isObject(value)) {\n\t\t\tif (!isObjectParsed(value)) {\n\t\t\t\tif (value.__parse === true || value.__parse !== false) {\n\t\t\t\t\tawait this.parseAsyncObject(value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\tparseObject(root: Root, object: object, refs: Array<IRef>): object {\n\t\tconst output: { [key: string]: any } = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\toutput[key] = this.parse(root, object[key], refs);\n\t\t});\n\n\t\treturn output;\n\t}\n\n\tparseArray(root: Root, value: Array<unknown>, refs: Array<IRef>): Array<unknown> {\n\t\treturn $array.map(value, (value) => this.parse(root, value, refs));\n\t}\n\n\tparseChildren(root: Root, value: Array<{ [key: string]: any } | string>, refs: Array<IRef>): Array<IChild> {\n\t\treturn $array.map(value, (value) => this.parseChild(root, value, refs));\n\t}\n\n\tparseStops(root: Root, value: Array<object>, refs: Array<IRef>): Array<object> {\n\t\treturn $array.map(value, (value) => this.parseObject(root, value, refs));\n\t}\n\n\tparseSetting(root: Root, key: string, value: unknown, refs: Array<IRef>): unknown {\n\t\tif (key === \"layout\") {\n\t\t\tswitch (value) {\n\t\t\t\tcase \"horizontal\":\n\t\t\t\t\treturn root.horizontalLayout;\n\t\t\t\tcase \"vertical\":\n\t\t\t\t\treturn root.verticalLayout;\n\t\t\t\tcase \"grid\":\n\t\t\t\t\treturn root.gridLayout;\n\t\t\t}\n\t\t}\n\n\t\tif (key === \"clusteredBullet\") {\n\t\t\treturn (_: unknown, series: unknown) => {\n\t\t\t\tconst newRefs = refs.concat([{ \"@series\": series }]);\n\t\t\t\treturn this.parse(root, value, newRefs);\n\t\t\t};\n\t\t}\n\n\t\tif (key === \"projection\") {\n\t\t\t// @todo: implement\n\t\t\treturn value;\n\t\t}\n\n\t\tif (key === \"geoJSON\") {\n\t\t\treturn value;\n\t\t}\n\n\t\tif (key === \"stops\") {\n\t\t\treturn this.parseStops(root, value as Array<object>, refs);\n\t\t}\n\n\t\treturn this.parse(root, value, refs);\n\t}\n\n\tparseSettings<E extends Entity>(root: Root, object: object, refs: Array<IRef>): E[\"_settings\"] {\n\t\tconst settings: { [key: string]: any } = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\tsettings[key] = this.parseSetting(root, key, object[key], refs);\n\t\t});\n\n\t\treturn settings;\n\t}\n\n\tparseState<E extends Entity>(root: Root, object: { key: string, settings: Object }, refs: Array<IRef>): { key: string, settings: E[\"_settings\"] } {\n\t\treturn {\n\t\t\tkey: object.key,\n\t\t\tsettings: this.parseSettings(root, object.settings, refs),\n\t\t};\n\t}\n\n\tparseAdapter<E extends Entity>(root: Root, object: { key: keyof E[\"_settings\"], callback: unknown }, refs: Array<IRef>): IAdapter<E> {\n\t\treturn {\n\t\t\tkey: object.key,\n\t\t\tcallback: this.parse(root, object.callback, refs),\n\t\t};\n\t}\n\n\tparseProperties(root: Root, object: object, refs: Array<IRef>): IParsedProperties {\n\t\treturn $array.map($object.keys(object), (key) => {\n\t\t\tconst rawValue = object[key];\n\n\t\t\treturn (entity: object) => {\n\t\t\t\tconst run = () => {\n\t\t\t\t\tconst parsed = this.parseValue(root, rawValue, refs);\n\t\t\t\t\tconst old = entity[key] as unknown;\n\n\t\t\t\t\tif (old) {\n\t\t\t\t\t\tif (parsed.isValue) {\n\t\t\t\t\t\t\t// Merge Array into List\n\t\t\t\t\t\t\tif ($type.isArray(parsed.value)) {\n\t\t\t\t\t\t\t\tif (old instanceof ListData) {\n\t\t\t\t\t\t\t\t\t(old as any).setAll(parsed.value);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t$array.each(parsed.value, (value) => {\n\t\t\t\t\t\t\t\t\t\t(old as any).push(value);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t(entity as any)[key] = parsed.value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else if (parsed.construct) {\n\t\t\t\t\t\t\t(entity as any)[key] = constructEntity(root, parsed);\n\n\t\t\t\t\t\t\t// Merge into existing Entity or Template\n\t\t\t\t\t\t} else if (old instanceof Entity || old instanceof Template) {\n\t\t\t\t\t\t\tmergeExisting(old as Entity, parsed);\n\n\t\t\t\t\t\t\t// Merge into existing object\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeObject(old as object, parsed);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (parsed.isValue) {\n\t\t\t\t\t\t\t(entity as any)[key] = parsed.value;\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t(entity as any)[key] = constructEntity(root, parsed);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tif (key === \"data\") {\n\t\t\t\t\tthis._delayed.push(run);\n\n\t\t\t\t} else if (key === \"bullets\") {\n\t\t\t\t\tconst old = entity[key] as unknown;\n\n\t\t\t\t\t$type.assert(old != null);\n\t\t\t\t\t$type.assert($type.isArray(rawValue));\n\n\t\t\t\t\t$array.each(rawValue, (value) => {\n\t\t\t\t\t\t(old as any).push((_: unknown, series: unknown) => {\n\t\t\t\t\t\t\tconst newRefs = refs.concat([{ \"@series\": series }]);\n\t\t\t\t\t\t\treturn this.parse(root, value, newRefs);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t\t\t} else if (key === \"bullet\") {\n\t\t\t\t\t(entity as any).set(\"bullet\", (_: unknown, axis: unknown) => {\n\t\t\t\t\t\tconst newRefs = refs.concat([{ \"@axis\": axis }]);\n\t\t\t\t\t\treturn this.parse(root, rawValue, newRefs);\n\t\t\t\t\t});\n\n\t\t\t\t} else {\n\t\t\t\t\trun();\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n\n\tparseAxisRange<E extends Entity>(root: Root, value: IAxisRange<E>, refs: Array<IRef>): IParsedEntity<E> {\n\t\tconst settings = this.parseSettings(root, value.settings, refs);\n\n\t\treturn {\n\t\t\tisValue: false,\n\t\t\ttype: undefined,\n\t\t\tconstruct: undefined,\n\t\t\tsettings,\n\t\t\tadapters: undefined,\n\t\t\tstates: undefined,\n\t\t\tchildren: undefined,\n\t\t\tproperties: undefined,\n\t\t\tindex: undefined,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\tparseRefsObject(root: Root, object: { [key: string]: any }, refs: Array<IRef>): IRef {\n\t\tconst newRefs: IRef = {};\n\n\t\t$object.each(object, (key, value) => {\n\t\t\tif (value.__parseLogic == \"axisRange\" || value.__parseLogic == \"seriesAxisRange\") {\n\t\t\t\t// Parse axis range\n\t\t\t\tconst parsed = this.parseAxisRange(root, value, refs);\n\n\t\t\t\tconst axis = lookupRef(refs, value.axis);\n\t\t\t\tconst axisDataItem = axis.makeDataItem({});\n\n\t\t\t\tlet seriesRange: any | undefined;\n\n\t\t\t\tconst series = value.series ? lookupRef(refs, value.series) : undefined;\n\n\t\t\t\tif (series) {\n\t\t\t\t\tseriesRange = series.createAxisRange(axisDataItem);\n\n\t\t\t\t} else {\n\t\t\t\t\taxis.createAxisRange(axisDataItem);\n\t\t\t\t}\n\n\t\t\t\t// Apply settings to data item\n\t\t\t\tmergeExistingAxisRange(axisDataItem, parsed);\n\n\t\t\t\t// Set series range settings\n\t\t\t\tif (seriesRange) {\n\t\t\t\t\t[\"fills\", \"strokes\", \"graphics\"].forEach((targetKey: string) => {\n\t\t\t\t\t\tif (seriesRange[targetKey] !== undefined && value[targetKey] !== undefined) {\n\t\t\t\t\t\t\tvalue[targetKey].__parse = true;\n\t\t\t\t\t\t\tconst parsedSetting = this.parse(root, value[targetKey], refs);\n\t\t\t\t\t\t\tseriesRange[targetKey].template.setAll(parsedSetting);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\tnewRefs[\"#\" + key] = this.parse(root, value, refs);\n\t\t\t}\n\t\t});\n\n\t\treturn newRefs;\n\t}\n\n\tparseRefs(root: Root, object: IRefs, refs: Array<IRef>): Array<IRef> {\n\t\tif ($type.isArray(object)) {\n\t\t\tconst length = object.length;\n\n\t\t\tfor (let i = 0; i < length; ++i) {\n\t\t\t\trefs = refs.concat([this.parseRefsObject(root, object[i] as any, refs)]);\n\t\t\t}\n\n\t\t} else {\n\t\t\trefs = refs.concat([this.parseRefsObject(root, object, refs)]);\n\t\t}\n\n\t\treturn refs;\n\t}\n\n\n\tparseChild(root: Root, value: { [key: string]: any } | string, refs: Array<IRef>): IChild {\n\t\tif ($type.isString(value)) {\n\t\t\treturn {\n\t\t\t\tindex: undefined,\n\t\t\t\tvalue: parseRef<Sprite>(value, refs).value,\n\t\t\t};\n\n\t\t} else if (value.ref != null) {\n\t\t\tconst index = (value.index == null ? undefined : value.index);\n\n\t\t\treturn {\n\t\t\t\tindex,\n\t\t\t\tvalue: parseRef<Sprite>(value.ref, refs).value,\n\t\t\t};\n\n\t\t} else {\n\t\t\tconst parsed = this.parseEntity<Sprite>(root, value, refs);\n\n\t\t\treturn {\n\t\t\t\tindex: parsed.index,\n\t\t\t\tvalue: constructEntity(root, parsed) as Sprite,\n\t\t\t};\n\t\t}\n\t}\n\n\tparseEntity<E extends Entity>(root: Root, value: { [key: string]: any }, refs: Array<IRef>): IParsedEntity<E> {\n\t\tif (value.refs) {\n\t\t\trefs = this.parseRefs(root, value.refs, refs);\n\t\t}\n\n\t\tconst construct = (value.type ? this.getClass(value.type) : undefined);\n\t\tconst settings = (value.settings ? this.parseSettings(root, value.settings, refs) : undefined);\n\t\tconst properties = (value.properties ? this.parseProperties(root, value.properties, refs) : undefined);\n\t\tconst children = (value.children ? this.parseChildren(root, value.children, refs) : undefined);\n\t\tconst states = (value.states ? $array.map(value.states, (value: any) => this.parseState(root, value, refs)) : undefined);\n\t\tconst adapters = (value.adapters ? $array.map(value.adapters, (value: any) => this.parseAdapter(root, value, refs)) : undefined) as any;\n\n\t\tconst index = (value.index == null ? undefined : value.index);\n\n\t\treturn {\n\t\t\tisValue: false,\n\t\t\ttype: value.type,\n\t\t\tconstruct,\n\t\t\tsettings,\n\t\t\tadapters,\n\t\t\tstates,\n\t\t\tchildren,\n\t\t\tproperties,\n\t\t\tindex,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\tparseTemplate<E extends Entity>(root: Root, value: { [key: string]: any }, refs: Array<IRef>): IParsed<E> {\n\t\tif (value.refs) {\n\t\t\trefs = this.parseRefs(root, value.refs, refs);\n\t\t}\n\n\t\tconst settings = (value.settings ? this.parseSettings(root, value.settings, refs) : {});\n\n\t\tconst template = Template.new(settings);\n\n\t\tconst states = (value.states ? $array.map(value.states, (value: any) => this.parseState(root, value, refs)) : undefined);\n\t\tconst adapters = (value.adapters ? $array.map(value.adapters, (value: any) => this.parseAdapter(root, value, refs)) : undefined) as any;\n\n\t\tif (adapters) {\n\t\t\t$array.each(adapters, (adapter: any) => {\n\t\t\t\ttemplate.adapters.add(adapter.key, adapter.callback);\n\t\t\t});\n\t\t}\n\n\t\tif (states) {\n\t\t\t$array.each(states, (state: any) => {\n\t\t\t\ttemplate.states.create(state.key, state.settings);\n\t\t\t});\n\t\t}\n\n\t\treturn {\n\t\t\tisValue: true,\n\t\t\tvalue: template,\n\t\t};\n\t}\n\n\tparseValue<E extends Entity>(root: Root, value: any, refs: Array<IRef>): IParsed<E> {\n\t\tif (value instanceof Entity) {\n\t\t\treturn { isValue: true, value: value };\n\n\t\t} else if ($type.isArray(value)) {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: this.parseArray(root, value, refs),\n\t\t\t};\n\n\t\t} else if (isObject(value)) {\n\t\t\tif (isObjectParsed(value)) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue,\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Color\") {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: Color.fromAny(value.value),\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Percent\") {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: new Percent(value.value),\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Template\") {\n\t\t\t\treturn this.parseTemplate(root, value, refs);\n\n\t\t\t} else if (value.__parse === true) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: this.parseObject(root, value, refs),\n\t\t\t\t};\n\n\t\t\t} else if (value.__parse === false) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue,\n\t\t\t\t};\n\n\t\t\t} else {\n\t\t\t\treturn this.parseEntity(root, value, refs);\n\t\t\t}\n\n\t\t} else if ($type.isString(value)) {\n\t\t\treturn parseRef(value, refs);\n\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue,\n\t\t\t};\n\t\t}\n\t}\n\n\tparse<E extends Entity>(root: Root, value: unknown, refs: Array<IRef>): any {\n\t\tconst parsed = this.parseValue<E>(root, value, refs);\n\n\t\tif (parsed.isValue) {\n\t\t\treturn parsed.value;\n\n\t\t} else {\n\t\t\treturn constructEntity<E>(root, parsed);\n\t\t}\n\t}\n}\n\nexport interface IParseSettings {\n\tparent?: Container;\n}\n\n/**\n * A parser for JSON based chart configs.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/serializing/} for more info\n * @since 5.3.0\n */\nexport class JsonParser {\n\tprotected _root: Root;\n\n\t/**\n\t * IMPORTANT! Do not instantiate this class via `new Class()` syntax.\n\t *\n\t * Use static method `Class.new()` instead.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @ignore\n\t */\n\tconstructor(root: Root, isReal: boolean) {\n\t\tif (!isReal) {\n\t\t\tthrow new Error(\"You cannot use `new Class()`, instead use `Class.new()`\");\n\t\t}\n\n\t\tthis._root = root;\n\t}\n\n\t/**\n\t * Use this method to create an instance of this class.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @param root Root element\n\t * @return Instantiated object\n\t */\n\tstatic new<C extends typeof JsonParser, T extends InstanceType<C>>(this: C, root: Root): T {\n\t\treturn (new this(root, true)) as T;\n\t}\n\n\t/**\n\t * Parses and creates chart objects from simple objects.\n\t *\n\t * @param object Serialized data\n\t * @return A promise of a target object\n\t */\n\tasync parse<E extends Entity>(object: unknown, settings: IParseSettings = {}): Promise<E> {\n\t\tconst state = new ParserState();\n\n\t\tawait state.parseAsync(object);\n\n\t\tconst output = state.parse(this._root, object, []) as E;\n\n\t\tif (settings.parent) {\n\t\t\tif (output instanceof Sprite) {\n\t\t\t\tsettings.parent.children.push(output);\n\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"When using the parent setting, the entity must be a Sprite\");\n\t\t\t}\n\n\t\t}\n\t\telse if (output instanceof Entity) {\n\t\t\toutput._applyThemes(true);\n\t\t}\n\n\t\tstate.afterParse();\n\n\t\treturn output;\n\t}\n\n\t/**\n\t * Parses and creates chart objects from JSON string.\n\t *\n\t * @param string JSON string\n\t * @return A promise of a target object\n\t */\n\tasync parseString<E extends Entity>(string: string, settings: IParseSettings = {}): Promise<E> {\n\t\treturn await this.parse(JSON.parse(string), settings);\n\t}\n}\n\n/**\n * Registers a class so that it can be parsed and instantiated bey JSON parser.\n *\n * @param name Class name\n * @param func Class reference\n * @ignore\n */\nexport function registerCustomClass(name: string, ref: any): void {\n\tif (!(classes as any)[name]) {\n\t\t(classes as any)[name] = () => new Promise((resolve) => {\n\t\t\tresolve(ref);\n\t\t});\n\t}\n}\n"]}
@@ -18,12 +18,7 @@ import * as $object from "../../core/util/Object";
18
18
  export class Serializer extends Entity {
19
19
  constructor() {
20
20
  super(...arguments);
21
- Object.defineProperty(this, "_refs", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: {}
26
- });
21
+ this._refs = {};
27
22
  }
28
23
  /**
29
24
  * Serializes target object into a simple object or JSON string.
@@ -209,16 +204,6 @@ export class Serializer extends Entity {
209
204
  return text.replace(/^#/, '##').replace(/^@/, '@@');
210
205
  }
211
206
  }
212
- Object.defineProperty(Serializer, "className", {
213
- enumerable: true,
214
- configurable: true,
215
- writable: true,
216
- value: "Serializer"
217
- });
218
- Object.defineProperty(Serializer, "classNames", {
219
- enumerable: true,
220
- configurable: true,
221
- writable: true,
222
- value: Entity.classNames.concat([Serializer.className])
223
- });
207
+ Serializer.className = "Serializer";
208
+ Serializer.classNames = Entity.classNames.concat([Serializer.className]);
224
209
  //# sourceMappingURL=Serializer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Serializer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Entity, IEntityEvents, IEntitySettings, IEntityPrivate } from \"../../core/util/Entity\";\nimport { Component } from \"../../core/render/Component\";\nimport { Color } from \"../../core/util/Color\";\nimport { Gradient } from \"../../core/render/gradients/Gradient\";\nimport { Percent } from \"../../core/util/Percent\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListData } from \"../../core/util/Data\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\n\nexport interface ISerializerSettings extends IEntitySettings {\n\n\t/**\n\t * An array of settings to not include in the serialized data.\n\t */\n\texcludeSettings?: Array<string>;\n\n\t/**\n\t * An array of settings to include in the serialized data.\n\t */\n\tincludeSettings?: Array<string>;\n\n\t/**\n\t * Include full values of these settings.\n\t *\n\t * @since 6.4.3\n\t */\n\tfullSettings?: Array<string>;\n\n\t/**\n\t * An array of properties to not include in the serialized data.\n\t *\n\t * @since 5.3.2\n\t */\n\texcludeProperties?: Array<string>;\n\n\t/**\n\t * An array of properties to include in the serialized data.\n\t *\n\t * @ignore\n\t * @since 5.15.0\n\t */\n\tincludeProperties?: Array<string>;\n\n\t/**\n\t * Maximum depth of recursion when traversing target object.\n\t *\n\t * @default 2\n\t */\n\tmaxDepth?: number;\n\n\t/**\n\t * Include states in the output.\n\t *\n\t * @default false\n\t * @since 5.15.0\n\t */\n\tincludeStates?: boolean;\n\n\t/**\n\t * Include adapters in the output.\n\t *\n\t * @default false\n\t * @since 5.15.0\n\t */\n\tincludeAdapters?: boolean;\n\n\t/**\n\t * Include events in the output.\n\t *\n\t * @since 5.15.0\n\t * @default false\n\t * @todo implement\n\t * @ignore\n\t */\n\tincludeEvents?: boolean;\n\n\t/**\n\t * Serialize functions as strings or functions.\n\t *\n\t * @default \"function\"\n\t */\n\tfunctionsAs?: \"string\" | \"function\";\n\n}\n\nexport interface ISerializerPrivate extends IEntityPrivate {\n}\n\nexport interface ISerializerEvents extends IEntityEvents {\n}\n\n\n/**\n * Provides functionality to serialize charts or individual elements into simple\n * objects or JSON.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/serializing/} for more info\n * @since 5.3.0\n */\nexport class Serializer extends Entity {\n\n\tpublic static className: string = \"Serializer\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([Serializer.className]);\n\n\tdeclare public _settings: ISerializerSettings;\n\tdeclare public _privateSettings: ISerializerPrivate;\n\tdeclare public _events: ISerializerEvents;\n\n\tprotected _refs: { [index: string]: any } = {};\n\n\t/**\n\t * Serializes target object into a simple object or JSON string.\n\t *\n\t * @param source Target object\n\t * @param depth Current depth\n\t * @param full Serialize object in full (ignoring maxDepth)\n\t * @param forceParse If true, will add __parse to serialized objects\n\t * @return Serialized data\n\t */\n\tpublic serialize(source: unknown, depth: number = 0, full: boolean = false, forceParse: boolean = false): unknown {\n\t\tif (depth > this.get(\"maxDepth\", 2)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (source === false || source === true) {\n\t\t\treturn source;\n\t\t}\n\n\t\tif ($type.isArray(source)) {\n\t\t\tconst res: any[] = [];\n\t\t\t$array.each(source, (arrval) => {\n\t\t\t\tres.push(this.serialize(arrval, depth, full, forceParse));\n\t\t\t});\n\t\t\treturn res;\n\t\t}\n\t\telse if (source instanceof ListData) {\n\t\t\tconst res: any[] = [];\n\t\t\t$array.each(source.values, (arrval) => {\n\t\t\t\tres.push(this.serialize(arrval, depth, full, forceParse));\n\t\t\t});\n\t\t\treturn res;\n\t\t}\n\t\tconst res: any = {};\n\n\t\tconst am5object = source instanceof Entity || source instanceof Template || source instanceof Color || source instanceof Percent ? true : false;\n\n\t\t// Process settings\n\t\tconst fullSettings: any = this.get(\"fullSettings\", []);\n\t\tif (source instanceof Entity) {\n\t\t\tres.type = source.className;\n\t\t\tlet settings: Array<string> = this._filterSettings($object.keys(source._settings));\n\n\t\t\t// Include only user settings\n\t\t\tsettings = settings.filter((value) => {\n\t\t\t\treturn source.isUserSetting(value as any);\n\t\t\t});\n\n\t\t\tif (settings.length) {\n\t\t\t\tres.settings = {};\n\t\t\t\t$array.each(settings, (setting) => {\n\t\t\t\t\tconst settingValue = (<any>source).get(setting);\n\t\t\t\t\tif (settingValue !== undefined) {\n\t\t\t\t\t\tres.settings[setting] = this.serialize(settingValue, depth + 1, full || fullSettings.indexOf(setting) !== -1);\n\t\t\t\t\t\tif (source instanceof Gradient && setting === \"stops\") {\n\t\t\t\t\t\t\tres.settings[setting] = this.serialize(settingValue, 0, true);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis._processAdapters(source, res);\n\t\t\tthis._processStates(source, res);\n\t\t}\n\t\telse if (source instanceof Template) {\n\t\t\tres.type = \"Template\";\n\t\t\tlet settings: Array<string> = this._filterSettings($object.keys(source._settings));\n\t\t\tif (settings.length) {\n\t\t\t\tres.settings = {};\n\t\t\t\t$array.each(settings, (setting) => {\n\t\t\t\t\tif ((<any>source)._settings[setting] !== undefined) {\n\t\t\t\t\t\tres.settings[setting] = this.serialize((<any>source).get(setting), depth + 1, fullSettings.indexOf(setting) !== -1);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis._processAdapters(source, res);\n\t\t\tthis._processStates(source, res);\n\n\t\t\treturn res;\n\t\t}\n\n\t\t// Data\n\t\tif (source instanceof Component) {\n\t\t\tif (source.data.length && (this.get(\"excludeProperties\")! || []).indexOf(\"data\") === -1) {\n\t\t\t\tres.properties = {\n\t\t\t\t\tdata: this.serialize(source.data.values, depth, true)\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Process the rest\n\t\tif (source instanceof Color) {\n\t\t\treturn {\n\t\t\t\ttype: \"Color\",\n\t\t\t\tvalue: source.toCSSHex()\n\t\t\t};\n\t\t}\n\t\telse if (source instanceof Percent) {\n\t\t\treturn {\n\t\t\t\ttype: \"Percent\",\n\t\t\t\tvalue: source.percent\n\t\t\t};\n\t\t}\n\t\telse if ($type.isString(source)) {\n\t\t\treturn this._escapeRefs(source);\n\t\t}\n\t\telse if ($type.isNumber(source)) {\n\t\t\treturn source;\n\t\t}\n\t\telse if ($type.isObject(source)) {\n\t\t\t// TODO\n\t\t\tif (full && !am5object) {\n\t\t\t\tconst excludeProperties: Array<string> = this.get(\"excludeProperties\", []);\n\t\t\t\t$object.each(source, (key, value) => {\n\t\t\t\t\tif (excludeProperties.indexOf(key) === -1 && value !== undefined) {\n\t\t\t\t\t\tres[key] = this.serialize(value, depth + 1, full, forceParse);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (forceParse) {\n\t\t\t\t\t// Add only if there are objects\n\t\t\t\t\t$object.each(res, (_key, value) => {\n\t\t\t\t\t\tif ($type.isObject(value)) {\n\t\t\t\t\t\t\tres.__parse = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (am5object) {\n\t\t\t\tconst includeProperties: Array<string> = this.get(\"includeProperties\", []);\n\t\t\t\t$array.each(includeProperties, (key) => {\n\n\t\t\t\t\tconst value: any = (source as any)[key];\n\t\t\t\t\tif (value !== undefined) {\n\t\t\t\t\t\tif (res.properties === undefined) {\n\t\t\t\t\t\t\tres.properties = {};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tres.properties[key] = this.serialize(value, depth + 1, full, forceParse);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (depth == 0 && $object.keys(this._refs).length) {\n\t\t\tres.refs = this._refs;\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tprivate _processAdapters(source: any, res: any) {\n\t\tif (this.get(\"includeAdapters\", false)) {\n\t\t\tconst asString = this.get(\"functionsAs\", \"string\") == \"string\";\n\t\t\tconst callbacks = source.adapters._callbacks;\n\t\t\tif (Object.keys(callbacks).length > 0) {\n\t\t\t\tres.adapters = [];\n\t\t\t\t$object.each(callbacks, (key, callbackList) => {\n\t\t\t\t\tcallbackList.forEach((callback: any) => {\n\t\t\t\t\t\tres.adapters.push({\n\t\t\t\t\t\t\tkey: key,\n\t\t\t\t\t\t\tcallback: asString ? callback.toString() : callback\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _processStates(source: any, res: any) {\n\t\tif (this.get(\"includeStates\", false)) {\n\t\t\tconst states = source.states._states;\n\t\t\tif (Object.keys(states).length > 0) {\n\t\t\t\tres.states = [];\n\t\t\t\t$object.each(states, (key: any, state: any) => {\n\t\t\t\t\tif (Object.keys(state._settings).length > 0) {\n\t\t\t\t\t\tres.states.push({\n\t\t\t\t\t\t\tkey: key,\n\t\t\t\t\t\t\tsettings: this.serialize(state._settings, 0, true)\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _filterSettings(settings: any) {\n\t\tconst includeSettings: Array<string> = this.get(\"includeSettings\", []);\n\t\tconst excludeSettings: Array<string> = this.get(\"excludeSettings\", []);\n\t\tif (includeSettings.length) {\n\t\t\tsettings = includeSettings;\n\t\t}\n\t\telse if (excludeSettings.length) {\n\t\t\tsettings = settings.filter((value: any) => {\n\t\t\t\treturn excludeSettings.indexOf(value) === -1;\n\t\t\t});\n\t\t}\n\t\treturn settings;\n\t}\n\n\tprivate _escapeRefs(text: string): string {\n\t\treturn text.replace(/^#/, '##').replace(/^@/, '@@');\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Serializer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Entity, IEntityEvents, IEntitySettings, IEntityPrivate } from \"../../core/util/Entity\";\nimport { Component } from \"../../core/render/Component\";\nimport { Color } from \"../../core/util/Color\";\nimport { Gradient } from \"../../core/render/gradients/Gradient\";\nimport { Percent } from \"../../core/util/Percent\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListData } from \"../../core/util/Data\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\n\nexport interface ISerializerSettings extends IEntitySettings {\n\n\t/**\n\t * An array of settings to not include in the serialized data.\n\t */\n\texcludeSettings?: Array<string>;\n\n\t/**\n\t * An array of settings to include in the serialized data.\n\t */\n\tincludeSettings?: Array<string>;\n\n\t/**\n\t * Include full values of these settings.\n\t *\n\t * @since 6.4.3\n\t */\n\tfullSettings?: Array<string>;\n\n\t/**\n\t * An array of properties to not include in the serialized data.\n\t *\n\t * @since 5.3.2\n\t */\n\texcludeProperties?: Array<string>;\n\n\t/**\n\t * An array of properties to include in the serialized data.\n\t *\n\t * @ignore\n\t * @since 5.15.0\n\t */\n\tincludeProperties?: Array<string>;\n\n\t/**\n\t * Maximum depth of recursion when traversing target object.\n\t *\n\t * @default 2\n\t */\n\tmaxDepth?: number;\n\n\t/**\n\t * Include states in the output.\n\t *\n\t * @default false\n\t * @since 5.15.0\n\t */\n\tincludeStates?: boolean;\n\n\t/**\n\t * Include adapters in the output.\n\t *\n\t * @default false\n\t * @since 5.15.0\n\t */\n\tincludeAdapters?: boolean;\n\n\t/**\n\t * Include events in the output.\n\t *\n\t * @since 5.15.0\n\t * @default false\n\t * @todo implement\n\t * @ignore\n\t */\n\tincludeEvents?: boolean;\n\n\t/**\n\t * Serialize functions as strings or functions.\n\t *\n\t * @default \"function\"\n\t */\n\tfunctionsAs?: \"string\" | \"function\";\n\n}\n\nexport interface ISerializerPrivate extends IEntityPrivate {\n}\n\nexport interface ISerializerEvents extends IEntityEvents {\n}\n\n\n/**\n * Provides functionality to serialize charts or individual elements into simple\n * objects or JSON.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/serializing/} for more info\n * @since 5.3.0\n */\nexport class Serializer extends Entity {\n\n\tpublic static className: string = \"Serializer\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([Serializer.className]);\n\n\tdeclare public _settings: ISerializerSettings;\n\tdeclare public _privateSettings: ISerializerPrivate;\n\tdeclare public _events: ISerializerEvents;\n\n\tprotected _refs: { [index: string]: any } = {};\n\n\t/**\n\t * Serializes target object into a simple object or JSON string.\n\t *\n\t * @param source Target object\n\t * @param depth Current depth\n\t * @param full Serialize object in full (ignoring maxDepth)\n\t * @param forceParse If true, will add __parse to serialized objects\n\t * @return Serialized data\n\t */\n\tpublic serialize(source: unknown, depth: number = 0, full: boolean = false, forceParse: boolean = false): unknown {\n\t\tif (depth > this.get(\"maxDepth\", 2)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (source === false || source === true) {\n\t\t\treturn source;\n\t\t}\n\n\t\tif ($type.isArray(source)) {\n\t\t\tconst res: any[] = [];\n\t\t\t$array.each(source, (arrval) => {\n\t\t\t\tres.push(this.serialize(arrval, depth, full, forceParse));\n\t\t\t});\n\t\t\treturn res;\n\t\t}\n\t\telse if (source instanceof ListData) {\n\t\t\tconst res: any[] = [];\n\t\t\t$array.each(source.values, (arrval) => {\n\t\t\t\tres.push(this.serialize(arrval, depth, full, forceParse));\n\t\t\t});\n\t\t\treturn res;\n\t\t}\n\t\tconst res: any = {};\n\n\t\tconst am5object = source instanceof Entity || source instanceof Template || source instanceof Color || source instanceof Percent ? true : false;\n\n\t\t// Process settings\n\t\tconst fullSettings: any = this.get(\"fullSettings\", []);\n\t\tif (source instanceof Entity) {\n\t\t\tres.type = source.className;\n\t\t\tlet settings: Array<string> = this._filterSettings($object.keys(source._settings));\n\n\t\t\t// Include only user settings\n\t\t\tsettings = settings.filter((value) => {\n\t\t\t\treturn source.isUserSetting(value as any);\n\t\t\t});\n\n\t\t\tif (settings.length) {\n\t\t\t\tres.settings = {};\n\t\t\t\t$array.each(settings, (setting) => {\n\t\t\t\t\tconst settingValue = (<any>source).get(setting);\n\t\t\t\t\tif (settingValue !== undefined) {\n\t\t\t\t\t\tres.settings[setting] = this.serialize(settingValue, depth + 1, full || fullSettings.indexOf(setting) !== -1);\n\t\t\t\t\t\tif (source instanceof Gradient && setting === \"stops\") {\n\t\t\t\t\t\t\tres.settings[setting] = this.serialize(settingValue, 0, true);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis._processAdapters(source, res);\n\t\t\tthis._processStates(source, res);\n\t\t}\n\t\telse if (source instanceof Template) {\n\t\t\tres.type = \"Template\";\n\t\t\tlet settings: Array<string> = this._filterSettings($object.keys(source._settings));\n\t\t\tif (settings.length) {\n\t\t\t\tres.settings = {};\n\t\t\t\t$array.each(settings, (setting) => {\n\t\t\t\t\tif ((<any>source)._settings[setting] !== undefined) {\n\t\t\t\t\t\tres.settings[setting] = this.serialize((<any>source).get(setting), depth + 1, fullSettings.indexOf(setting) !== -1);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis._processAdapters(source, res);\n\t\t\tthis._processStates(source, res);\n\n\t\t\treturn res;\n\t\t}\n\n\t\t// Data\n\t\tif (source instanceof Component) {\n\t\t\tif (source.data.length && (this.get(\"excludeProperties\")! || []).indexOf(\"data\") === -1) {\n\t\t\t\tres.properties = {\n\t\t\t\t\tdata: this.serialize(source.data.values, depth, true)\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Process the rest\n\t\tif (source instanceof Color) {\n\t\t\treturn {\n\t\t\t\ttype: \"Color\",\n\t\t\t\tvalue: source.toCSSHex()\n\t\t\t};\n\t\t}\n\t\telse if (source instanceof Percent) {\n\t\t\treturn {\n\t\t\t\ttype: \"Percent\",\n\t\t\t\tvalue: source.percent\n\t\t\t};\n\t\t}\n\t\telse if ($type.isString(source)) {\n\t\t\treturn this._escapeRefs(source);\n\t\t}\n\t\telse if ($type.isNumber(source)) {\n\t\t\treturn source;\n\t\t}\n\t\telse if ($type.isObject(source)) {\n\t\t\t// TODO\n\t\t\tif (full && !am5object) {\n\t\t\t\tconst excludeProperties: Array<string> = this.get(\"excludeProperties\", []);\n\t\t\t\t$object.each(source, (key, value) => {\n\t\t\t\t\tif (excludeProperties.indexOf(key) === -1 && value !== undefined) {\n\t\t\t\t\t\tres[key] = this.serialize(value, depth + 1, full, forceParse);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (forceParse) {\n\t\t\t\t\t// Add only if there are objects\n\t\t\t\t\t$object.each(res, (_key, value) => {\n\t\t\t\t\t\tif ($type.isObject(value)) {\n\t\t\t\t\t\t\tres.__parse = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (am5object) {\n\t\t\t\tconst includeProperties: Array<string> = this.get(\"includeProperties\", []);\n\t\t\t\t$array.each(includeProperties, (key) => {\n\n\t\t\t\t\tconst value: any = (source as any)[key];\n\t\t\t\t\tif (value !== undefined) {\n\t\t\t\t\t\tif (res.properties === undefined) {\n\t\t\t\t\t\t\tres.properties = {};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tres.properties[key] = this.serialize(value, depth + 1, full, forceParse);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (depth == 0 && $object.keys(this._refs).length) {\n\t\t\tres.refs = this._refs;\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tprivate _processAdapters(source: any, res: any) {\n\t\tif (this.get(\"includeAdapters\", false)) {\n\t\t\tconst asString = this.get(\"functionsAs\", \"string\") == \"string\";\n\t\t\tconst callbacks = source.adapters._callbacks;\n\t\t\tif (Object.keys(callbacks).length > 0) {\n\t\t\t\tres.adapters = [];\n\t\t\t\t$object.each(callbacks, (key, callbackList) => {\n\t\t\t\t\tcallbackList.forEach((callback: any) => {\n\t\t\t\t\t\tres.adapters.push({\n\t\t\t\t\t\t\tkey: key,\n\t\t\t\t\t\t\tcallback: asString ? callback.toString() : callback\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _processStates(source: any, res: any) {\n\t\tif (this.get(\"includeStates\", false)) {\n\t\t\tconst states = source.states._states;\n\t\t\tif (Object.keys(states).length > 0) {\n\t\t\t\tres.states = [];\n\t\t\t\t$object.each(states, (key: any, state: any) => {\n\t\t\t\t\tif (Object.keys(state._settings).length > 0) {\n\t\t\t\t\t\tres.states.push({\n\t\t\t\t\t\t\tkey: key,\n\t\t\t\t\t\t\tsettings: this.serialize(state._settings, 0, true)\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _filterSettings(settings: any) {\n\t\tconst includeSettings: Array<string> = this.get(\"includeSettings\", []);\n\t\tconst excludeSettings: Array<string> = this.get(\"excludeSettings\", []);\n\t\tif (includeSettings.length) {\n\t\t\tsettings = includeSettings;\n\t\t}\n\t\telse if (excludeSettings.length) {\n\t\t\tsettings = settings.filter((value: any) => {\n\t\t\t\treturn excludeSettings.indexOf(value) === -1;\n\t\t\t});\n\t\t}\n\t\treturn settings;\n\t}\n\n\tprivate _escapeRefs(text: string): string {\n\t\treturn text.replace(/^#/, '##').replace(/^@/, '@@');\n\t}\n\n}\n"]}
@@ -9,18 +9,6 @@ import * as $array from "../../core/util/Array";
9
9
  * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/grouping-slices/} for more info
10
10
  */
11
11
  export class SliceGrouper extends Entity {
12
- constructor() {
13
- super(...arguments);
14
- /**
15
- * A button that is shown when chart small buttons are visible.
16
- */
17
- Object.defineProperty(this, "zoomOutButton", {
18
- enumerable: true,
19
- configurable: true,
20
- writable: true,
21
- value: void 0
22
- });
23
- }
24
12
  _afterNew() {
25
13
  super._afterNew();
26
14
  this._setRawDefault("threshold", 5);
@@ -197,16 +185,6 @@ export class SliceGrouper extends Entity {
197
185
  }
198
186
  }
199
187
  }
200
- Object.defineProperty(SliceGrouper, "className", {
201
- enumerable: true,
202
- configurable: true,
203
- writable: true,
204
- value: "SliceGrouper"
205
- });
206
- Object.defineProperty(SliceGrouper, "classNames", {
207
- enumerable: true,
208
- configurable: true,
209
- writable: true,
210
- value: Entity.classNames.concat([SliceGrouper.className])
211
- });
188
+ SliceGrouper.className = "SliceGrouper";
189
+ SliceGrouper.classNames = Entity.classNames.concat([SliceGrouper.className]);
212
190
  //# sourceMappingURL=SliceGrouper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SliceGrouper.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/sliceGrouper/SliceGrouper.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { PercentSeries, IPercentSeriesDataItem } from \"../../charts/percent/PercentSeries\";\nimport type { Legend } from \"../../core/render/Legend\";\n\nimport { Button } from \"../../core/render/Button\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../core/util/Entity\"\n\nimport * as $array from \"../../core/util/Array\";\n\n\nexport interface ISliceGrouperSettings extends IEntitySettings {\n\n\t/**\n\t * A series that will be used to group slices on.\n\t */\n\tseries?: PercentSeries;\n\n\t/**\n\t * If set, plugin will try to manipulate the items in legend, such as\n\t * adding group slice, hiding items for small slices, etc.\n\t */\n\tlegend?: Legend;\n\n\t/**\n\t * Any slice which has percent value less than this setting will be grouped.\n\t * \n\t * @default 5\n\t */\n\tthreshold?: number;\n\n\t/**\n\t * If set, only X first slices will be left as they are. The rest of the\n\t * slices will be grouped.\n\t */\n\tlimit?: number;\n\n\t/**\n\t * Name (category) of the group slice.\n\t *\n\t * @default \"Other\"\n\t */\n\tgroupName?: string;\n\n\t/**\n\t * What happens when group slice is clicked.\n\t *\n\t * * `\"none\"` (default) - nothing.\n\t * * `\"break\"` - underlying small slices are shown.\n\t * * `\"zoom\"` - series shows only small slies (big ones are hidden).\n\t */\n\tclickBehavior?: \"none\" | \"break\" | \"zoom\";\n\n}\n\nexport interface ISliceGrouperPrivate extends IEntityPrivate {\n\tgroupDataItem?: DataItem<IPercentSeriesDataItem>;\n\tnormalDataItems?: DataItem<IPercentSeriesDataItem>[];\n\tsmallDataItems?: DataItem<IPercentSeriesDataItem>[];\n\tcurrentStep?: number;\n\tcurrentPass?: number;\n}\n\nexport interface ISliceGrouperEvents extends IEntityEvents {\n}\n\n\n/**\n * A plugin that can be used to automatically group small slices on percent\n * charts into a single slice.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/grouping-slices/} for more info\n */\nexport class SliceGrouper extends Entity {\n\tpublic static className: string = \"SliceGrouper\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([SliceGrouper.className]);\n\n\tdeclare public _settings: ISliceGrouperSettings;\n\tdeclare public _privateSettings: ISliceGrouperPrivate;\n\tdeclare public _events: ISliceGrouperEvents;\n\n\t/**\n\t * A button that is shown when chart small buttons are visible.\n\t */\n\tpublic zoomOutButton?: Button;\n\n\n\tprotected _afterNew(): void {\n\t\tsuper._afterNew();\n\t\tthis._setRawDefault(\"threshold\", 5);\n\t\tthis._setRawDefault(\"groupName\", \"Other\");\n\t\tthis._setRawDefault(\"clickBehavior\", \"none\");\n\t\tthis.initZoomButton();\n\t\tthis._root.addDisposer(this);\n\n\t\tconst series = this.get(\"series\");\n\t\tif (series) {\n\t\t\tconst colors = series.get(\"colors\");\n\t\t\tif (colors) {\n\t\t\t\tthis.setPrivate(\"currentStep\", colors.getPrivate(\"currentStep\"));\n\t\t\t\tthis.setPrivate(\"currentPass\", colors.getPrivate(\"currentPass\"));\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate initZoomButton(): void {\n\t\tconst clickBehavior = this.get(\"clickBehavior\");\n\t\tif (clickBehavior !== \"none\") {\n\t\t\tconst container = this.root.tooltipContainer;\n\t\t\tthis.zoomOutButton = container.children.push(Button.new(this._root, {\n\t\t\t\tthemeTags: [\"zoom\"],\n\t\t\t\ticon: Graphics.new(this._root, {\n\t\t\t\t\tthemeTags: [\"button\", \"icon\"]\n\t\t\t\t})\n\t\t\t}));\n\t\t\tthis.zoomOutButton.hide();\n\t\t\tthis.zoomOutButton.events.on(\"click\", () => {\n\t\t\t\tthis.zoomOut();\n\t\t\t});\n\t\t}\n\n\t}\n\n\tprivate handleData(): void {\n\t\tconst series = this.get(\"series\");\n\n\t\tif (series) {\n\n\t\t\t// Create group data item if not yet available\n\t\t\tlet groupDataItem = this.getPrivate(\"groupDataItem\");\n\t\t\tif (!groupDataItem) {\n\n\t\t\t\tconst legend = this.get(\"legend\");\n\t\t\t\tconst categoryField = series.get(\"categoryField\", \"category\");\n\t\t\t\tconst valueField = series.get(\"valueField\", \"value\");\n\n\t\t\t\t// Add slice\n\t\t\t\tconst groupSliceData: any = {};\n\t\t\t\tgroupSliceData[categoryField] = this.get(\"groupName\", \"\");\n\t\t\t\tgroupSliceData[valueField] = 0;\n\n\t\t\t\tconst colors = series.get(\"colors\");\n\t\t\t\tif (colors) {\n\t\t\t\t\tcolors.setPrivate(\"currentStep\", this.getPrivate(\"currentStep\"));\n\t\t\t\t\tcolors.setPrivate(\"currentPass\", this.getPrivate(\"currentPass\"));\n\t\t\t\t}\n\t\t\t\tseries.data.push(groupSliceData);\n\n\t\t\t\tgroupDataItem = series.dataItems[series.dataItems.length - 1];\n\n\t\t\t\tgroupDataItem.get(\"slice\").events.on(\"click\", () => {\n\t\t\t\t\tthis.handleClick();\n\t\t\t\t});\n\n\t\t\t\tthis.setPrivate(\"groupDataItem\", groupDataItem);\n\n\t\t\t\t// Add to legend\n\t\t\t\tif (legend) {\n\t\t\t\t\tlegend.data.push(groupDataItem);\n\n\t\t\t\t\t//const legendDataItem = groupDataItem.get(\"legendDataItem\");\n\t\t\t\t\tgroupDataItem.on(\"visible\", (visible) => {\n\t\t\t\t\t\tif (visible) {\n\t\t\t\t\t\t\tthis.zoomOut();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// Recalculate group value and decorate small slices as necessary\n\t\t\tconst threshold = this.get(\"threshold\", 0);\n\t\t\tconst limit = this.get(\"limit\", 1000);\n\t\t\tconst normalDataItems: any = [];\n\t\t\tconst smallDataItems: any = [];\n\t\t\tlet groupValue = 0;\n\t\t\tif (threshold || limit) {\n\n\t\t\t\t$array.each(series.dataItems, (item, index) => {\n\t\t\t\t\tconst legendDataItem = item.get(\"legendDataItem\");\n\t\t\t\t\tif (((item.get(\"valuePercentTotal\") <= threshold) || (index > (limit - 1))) && groupDataItem !== item) {\n\t\t\t\t\t\tgroupValue += item.get(\"value\", 0);\n\t\t\t\t\t\tsmallDataItems.push(item);\n\t\t\t\t\t\titem.hide(0);\n\t\t\t\t\t\tif (legendDataItem) {\n\t\t\t\t\t\t\tlegendDataItem.get(\"itemContainer\").hide(0);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tnormalDataItems.push(item);\n\t\t\t\t\t\tif (legendDataItem) {\n\t\t\t\t\t\t\tlegendDataItem.get(\"itemContainer\").show(0);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tthis.setPrivate(\"normalDataItems\", normalDataItems);\n\t\t\t\tthis.setPrivate(\"smallDataItems\", smallDataItems);\n\t\t\t\tthis.updateGroupDataItem(groupValue);\n\n\t\t\t}\n\n\t\t}\n\t}\n\n\t/**\n\t * Resets slice setup to original grouping state.\n\t */\n\tpublic zoomOut(): void {\n\t\tconst groupDataItem = this.getPrivate(\"groupDataItem\");\n\t\tif (groupDataItem) {\n\t\t\tgroupDataItem.show();\n\t\t}\n\n\t\tconst clickBehavior = this.get(\"clickBehavior\");\n\t\tif (clickBehavior == \"zoom\") {\n\t\t\tconst normalDataItems: any = this.getPrivate(\"normalDataItems\", []);\n\t\t\t$array.each(normalDataItems, (item: any, _index) => {\n\t\t\t\titem.show();\n\t\t\t});\n\t\t}\n\n\t\tconst smallDataItems: any = this.getPrivate(\"smallDataItems\", []);\n\t\t$array.each(smallDataItems, (item: any, _index) => {\n\t\t\titem.hide();\n\t\t});\n\n\t\tif (this.zoomOutButton) {\n\t\t\tthis.zoomOutButton.hide();\n\t\t}\n\t}\n\n\tprivate updateGroupDataItem(groupValue: number): void {\n\t\tconst series = this.get(\"series\");\n\t\tif (series) {\n\t\t\tconst groupSliceData: any = {};\n\t\t\tconst categoryField = series.get(\"categoryField\", \"category\");\n\t\t\tconst valueField = series.get(\"valueField\", \"value\");\n\t\t\tgroupSliceData[categoryField] = this.get(\"groupName\", \"\");\n\t\t\tgroupSliceData[valueField] = groupValue;\n\t\t\tseries.data.setIndex(series.data.length - 1, groupSliceData);\n\n\t\t\tconst groupDataItem = this.getPrivate(\"groupDataItem\");\n\t\t\tif (groupValue == 0) {\n\t\t\t\tgroupDataItem!.hide(0);\n\t\t\t}\n\t\t\telse if (groupDataItem!.isHidden()) {\n\t\t\t\tgroupDataItem!.show();\n\t\t\t}\n\n\t\t\tconst clickBehavior = this.get(\"clickBehavior\");\n\t\t\tif (clickBehavior != \"none\") {\n\t\t\t\tgroupDataItem!.get(\"slice\").set(\"toggleKey\", \"none\");\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate handleClick(): void {\n\t\tconst clickBehavior = this.get(\"clickBehavior\");\n\t\tconst smallDataItems = this.getPrivate(\"smallDataItems\");\n\n\t\tif (clickBehavior == \"none\" || (smallDataItems && smallDataItems.length == 0)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst series = this.get(\"series\");\n\t\tconst groupDataItem = this.getPrivate(\"groupDataItem\");\n\n\t\t// Hide group slice\n\t\tgroupDataItem!.hide();\n\n\t\t// Reveal small slices\n\t\t$array.each(series!.dataItems, (item) => {\n\t\t\tif (smallDataItems!.indexOf(item) !== -1) {\n\t\t\t\titem.show();\n\t\t\t}\n\t\t\telse if (clickBehavior == \"zoom\") {\n\t\t\t\titem.hide();\n\t\t\t}\n\t\t});\n\n\t\tthis.zoomOutButton!.show();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"series\")) {\n\t\t\tconst series = this.get(\"series\");\n\t\t\tif (series) {\n\t\t\t\tseries.events.on(\"datavalidated\", (_ev) => {\n\t\t\t\t\tthis.removePrivate(\"groupDataItem\");\n\t\t\t\t\tthis.handleData();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n}"]}
1
+ {"version":3,"file":"SliceGrouper.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/sliceGrouper/SliceGrouper.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { PercentSeries, IPercentSeriesDataItem } from \"../../charts/percent/PercentSeries\";\nimport type { Legend } from \"../../core/render/Legend\";\n\nimport { Button } from \"../../core/render/Button\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../core/util/Entity\"\n\nimport * as $array from \"../../core/util/Array\";\n\n\nexport interface ISliceGrouperSettings extends IEntitySettings {\n\n\t/**\n\t * A series that will be used to group slices on.\n\t */\n\tseries?: PercentSeries;\n\n\t/**\n\t * If set, plugin will try to manipulate the items in legend, such as\n\t * adding group slice, hiding items for small slices, etc.\n\t */\n\tlegend?: Legend;\n\n\t/**\n\t * Any slice which has percent value less than this setting will be grouped.\n\t * \n\t * @default 5\n\t */\n\tthreshold?: number;\n\n\t/**\n\t * If set, only X first slices will be left as they are. The rest of the\n\t * slices will be grouped.\n\t */\n\tlimit?: number;\n\n\t/**\n\t * Name (category) of the group slice.\n\t *\n\t * @default \"Other\"\n\t */\n\tgroupName?: string;\n\n\t/**\n\t * What happens when group slice is clicked.\n\t *\n\t * * `\"none\"` (default) - nothing.\n\t * * `\"break\"` - underlying small slices are shown.\n\t * * `\"zoom\"` - series shows only small slies (big ones are hidden).\n\t */\n\tclickBehavior?: \"none\" | \"break\" | \"zoom\";\n\n}\n\nexport interface ISliceGrouperPrivate extends IEntityPrivate {\n\tgroupDataItem?: DataItem<IPercentSeriesDataItem>;\n\tnormalDataItems?: DataItem<IPercentSeriesDataItem>[];\n\tsmallDataItems?: DataItem<IPercentSeriesDataItem>[];\n\tcurrentStep?: number;\n\tcurrentPass?: number;\n}\n\nexport interface ISliceGrouperEvents extends IEntityEvents {\n}\n\n\n/**\n * A plugin that can be used to automatically group small slices on percent\n * charts into a single slice.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/grouping-slices/} for more info\n */\nexport class SliceGrouper extends Entity {\n\tpublic static className: string = \"SliceGrouper\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([SliceGrouper.className]);\n\n\tdeclare public _settings: ISliceGrouperSettings;\n\tdeclare public _privateSettings: ISliceGrouperPrivate;\n\tdeclare public _events: ISliceGrouperEvents;\n\n\t/**\n\t * A button that is shown when chart small buttons are visible.\n\t */\n\tpublic zoomOutButton?: Button;\n\n\n\tprotected _afterNew(): void {\n\t\tsuper._afterNew();\n\t\tthis._setRawDefault(\"threshold\", 5);\n\t\tthis._setRawDefault(\"groupName\", \"Other\");\n\t\tthis._setRawDefault(\"clickBehavior\", \"none\");\n\t\tthis.initZoomButton();\n\t\tthis._root.addDisposer(this);\n\n\t\tconst series = this.get(\"series\");\n\t\tif (series) {\n\t\t\tconst colors = series.get(\"colors\");\n\t\t\tif (colors) {\n\t\t\t\tthis.setPrivate(\"currentStep\", colors.getPrivate(\"currentStep\"));\n\t\t\t\tthis.setPrivate(\"currentPass\", colors.getPrivate(\"currentPass\"));\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate initZoomButton(): void {\n\t\tconst clickBehavior = this.get(\"clickBehavior\");\n\t\tif (clickBehavior !== \"none\") {\n\t\t\tconst container = this.root.tooltipContainer;\n\t\t\tthis.zoomOutButton = container.children.push(Button.new(this._root, {\n\t\t\t\tthemeTags: [\"zoom\"],\n\t\t\t\ticon: Graphics.new(this._root, {\n\t\t\t\t\tthemeTags: [\"button\", \"icon\"]\n\t\t\t\t})\n\t\t\t}));\n\t\t\tthis.zoomOutButton.hide();\n\t\t\tthis.zoomOutButton.events.on(\"click\", () => {\n\t\t\t\tthis.zoomOut();\n\t\t\t});\n\t\t}\n\n\t}\n\n\tprivate handleData(): void {\n\t\tconst series = this.get(\"series\");\n\n\t\tif (series) {\n\n\t\t\t// Create group data item if not yet available\n\t\t\tlet groupDataItem = this.getPrivate(\"groupDataItem\");\n\t\t\tif (!groupDataItem) {\n\n\t\t\t\tconst legend = this.get(\"legend\");\n\t\t\t\tconst categoryField = series.get(\"categoryField\", \"category\");\n\t\t\t\tconst valueField = series.get(\"valueField\", \"value\");\n\n\t\t\t\t// Add slice\n\t\t\t\tconst groupSliceData: any = {};\n\t\t\t\tgroupSliceData[categoryField] = this.get(\"groupName\", \"\");\n\t\t\t\tgroupSliceData[valueField] = 0;\n\n\t\t\t\tconst colors = series.get(\"colors\");\n\t\t\t\tif (colors) {\n\t\t\t\t\tcolors.setPrivate(\"currentStep\", this.getPrivate(\"currentStep\"));\n\t\t\t\t\tcolors.setPrivate(\"currentPass\", this.getPrivate(\"currentPass\"));\n\t\t\t\t}\n\t\t\t\tseries.data.push(groupSliceData);\n\n\t\t\t\tgroupDataItem = series.dataItems[series.dataItems.length - 1];\n\n\t\t\t\tgroupDataItem.get(\"slice\").events.on(\"click\", () => {\n\t\t\t\t\tthis.handleClick();\n\t\t\t\t});\n\n\t\t\t\tthis.setPrivate(\"groupDataItem\", groupDataItem);\n\n\t\t\t\t// Add to legend\n\t\t\t\tif (legend) {\n\t\t\t\t\tlegend.data.push(groupDataItem);\n\n\t\t\t\t\t//const legendDataItem = groupDataItem.get(\"legendDataItem\");\n\t\t\t\t\tgroupDataItem.on(\"visible\", (visible) => {\n\t\t\t\t\t\tif (visible) {\n\t\t\t\t\t\t\tthis.zoomOut();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// Recalculate group value and decorate small slices as necessary\n\t\t\tconst threshold = this.get(\"threshold\", 0);\n\t\t\tconst limit = this.get(\"limit\", 1000);\n\t\t\tconst normalDataItems: any = [];\n\t\t\tconst smallDataItems: any = [];\n\t\t\tlet groupValue = 0;\n\t\t\tif (threshold || limit) {\n\n\t\t\t\t$array.each(series.dataItems, (item, index) => {\n\t\t\t\t\tconst legendDataItem = item.get(\"legendDataItem\");\n\t\t\t\t\tif (((item.get(\"valuePercentTotal\") <= threshold) || (index > (limit - 1))) && groupDataItem !== item) {\n\t\t\t\t\t\tgroupValue += item.get(\"value\", 0);\n\t\t\t\t\t\tsmallDataItems.push(item);\n\t\t\t\t\t\titem.hide(0);\n\t\t\t\t\t\tif (legendDataItem) {\n\t\t\t\t\t\t\tlegendDataItem.get(\"itemContainer\").hide(0);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tnormalDataItems.push(item);\n\t\t\t\t\t\tif (legendDataItem) {\n\t\t\t\t\t\t\tlegendDataItem.get(\"itemContainer\").show(0);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tthis.setPrivate(\"normalDataItems\", normalDataItems);\n\t\t\t\tthis.setPrivate(\"smallDataItems\", smallDataItems);\n\t\t\t\tthis.updateGroupDataItem(groupValue);\n\n\t\t\t}\n\n\t\t}\n\t}\n\n\t/**\n\t * Resets slice setup to original grouping state.\n\t */\n\tpublic zoomOut(): void {\n\t\tconst groupDataItem = this.getPrivate(\"groupDataItem\");\n\t\tif (groupDataItem) {\n\t\t\tgroupDataItem.show();\n\t\t}\n\n\t\tconst clickBehavior = this.get(\"clickBehavior\");\n\t\tif (clickBehavior == \"zoom\") {\n\t\t\tconst normalDataItems: any = this.getPrivate(\"normalDataItems\", []);\n\t\t\t$array.each(normalDataItems, (item: any, _index) => {\n\t\t\t\titem.show();\n\t\t\t});\n\t\t}\n\n\t\tconst smallDataItems: any = this.getPrivate(\"smallDataItems\", []);\n\t\t$array.each(smallDataItems, (item: any, _index) => {\n\t\t\titem.hide();\n\t\t});\n\n\t\tif (this.zoomOutButton) {\n\t\t\tthis.zoomOutButton.hide();\n\t\t}\n\t}\n\n\tprivate updateGroupDataItem(groupValue: number): void {\n\t\tconst series = this.get(\"series\");\n\t\tif (series) {\n\t\t\tconst groupSliceData: any = {};\n\t\t\tconst categoryField = series.get(\"categoryField\", \"category\");\n\t\t\tconst valueField = series.get(\"valueField\", \"value\");\n\t\t\tgroupSliceData[categoryField] = this.get(\"groupName\", \"\");\n\t\t\tgroupSliceData[valueField] = groupValue;\n\t\t\tseries.data.setIndex(series.data.length - 1, groupSliceData);\n\n\t\t\tconst groupDataItem = this.getPrivate(\"groupDataItem\");\n\t\t\tif (groupValue == 0) {\n\t\t\t\tgroupDataItem!.hide(0);\n\t\t\t}\n\t\t\telse if (groupDataItem!.isHidden()) {\n\t\t\t\tgroupDataItem!.show();\n\t\t\t}\n\n\t\t\tconst clickBehavior = this.get(\"clickBehavior\");\n\t\t\tif (clickBehavior != \"none\") {\n\t\t\t\tgroupDataItem!.get(\"slice\").set(\"toggleKey\", \"none\");\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate handleClick(): void {\n\t\tconst clickBehavior = this.get(\"clickBehavior\");\n\t\tconst smallDataItems = this.getPrivate(\"smallDataItems\");\n\n\t\tif (clickBehavior == \"none\" || (smallDataItems && smallDataItems.length == 0)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst series = this.get(\"series\");\n\t\tconst groupDataItem = this.getPrivate(\"groupDataItem\");\n\n\t\t// Hide group slice\n\t\tgroupDataItem!.hide();\n\n\t\t// Reveal small slices\n\t\t$array.each(series!.dataItems, (item) => {\n\t\t\tif (smallDataItems!.indexOf(item) !== -1) {\n\t\t\t\titem.show();\n\t\t\t}\n\t\t\telse if (clickBehavior == \"zoom\") {\n\t\t\t\titem.hide();\n\t\t\t}\n\t\t});\n\n\t\tthis.zoomOutButton!.show();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"series\")) {\n\t\t\tconst series = this.get(\"series\");\n\t\t\tif (series) {\n\t\t\t\tseries.events.on(\"datavalidated\", (_ev) => {\n\t\t\t\t\tthis.removePrivate(\"groupDataItem\");\n\t\t\t\t\tthis.handleData();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n}"]}
@@ -11,21 +11,10 @@ import * as $array from "../core/util/Array";
11
11
  export class ResponsiveTheme extends Theme {
12
12
  constructor(root, isReal) {
13
13
  super(root, isReal);
14
- Object.defineProperty(this, "_dp", {
15
- enumerable: true,
16
- configurable: true,
17
- writable: true,
18
- value: void 0
19
- });
20
14
  /**
21
15
  * Currently added rules.
22
16
  */
23
- Object.defineProperty(this, "responsiveRules", {
24
- enumerable: true,
25
- configurable: true,
26
- writable: true,
27
- value: []
28
- });
17
+ this.responsiveRules = [];
29
18
  this._dp = new MultiDisposer([
30
19
  this._root._rootContainer.onPrivate("width", (_width) => {
31
20
  if (this._isUsed()) {
@@ -654,46 +643,11 @@ export class ResponsiveTheme extends Theme {
654
643
  }
655
644
  }
656
645
  // Named pixel breakpoints
657
- Object.defineProperty(ResponsiveTheme, "XXS", {
658
- enumerable: true,
659
- configurable: true,
660
- writable: true,
661
- value: 100
662
- });
663
- Object.defineProperty(ResponsiveTheme, "XS", {
664
- enumerable: true,
665
- configurable: true,
666
- writable: true,
667
- value: 200
668
- });
669
- Object.defineProperty(ResponsiveTheme, "S", {
670
- enumerable: true,
671
- configurable: true,
672
- writable: true,
673
- value: 300
674
- });
675
- Object.defineProperty(ResponsiveTheme, "M", {
676
- enumerable: true,
677
- configurable: true,
678
- writable: true,
679
- value: 400
680
- });
681
- Object.defineProperty(ResponsiveTheme, "L", {
682
- enumerable: true,
683
- configurable: true,
684
- writable: true,
685
- value: 600
686
- });
687
- Object.defineProperty(ResponsiveTheme, "XL", {
688
- enumerable: true,
689
- configurable: true,
690
- writable: true,
691
- value: 800
692
- });
693
- Object.defineProperty(ResponsiveTheme, "XXL", {
694
- enumerable: true,
695
- configurable: true,
696
- writable: true,
697
- value: 1000
698
- });
646
+ ResponsiveTheme.XXS = 100;
647
+ ResponsiveTheme.XS = 200;
648
+ ResponsiveTheme.S = 300;
649
+ ResponsiveTheme.M = 400;
650
+ ResponsiveTheme.L = 600;
651
+ ResponsiveTheme.XL = 800;
652
+ ResponsiveTheme.XXL = 1000;
699
653
  //# sourceMappingURL=ResponsiveTheme.js.map