@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
@@ -1 +1 @@
1
- {"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Label.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../util/Color\";\nimport type { Percent } from \"../util/Percent\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\nimport type { Gradient } from \"../render/gradients/Gradient\";\n\nimport { Text } from \"../render/Text\";\nimport { p50, p100 } from \"../util/Percent\";\nimport { Container, IContainerPrivate, IContainerSettings, IContainerEvents } from \"./Container\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\n\nexport interface ILabelSettings extends IContainerSettings {\n\n\t/**\n\t * Labels' text.\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/text-styling/} for text styling info\n\t * \n\t */\n\ttext?: string;\n\n\t/**\n\t * Text color.\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Text opacity.\n\t *\n\t * @default 1\n\t * @ince 5.2.39\n\t */\n\tfillOpacity?: number;\n\n\t/**\n\t * Fill gradient.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more information\n\t * @since 5.10.1\n\t */\n\tfillGradient?: Gradient;\n\n\t/**\n\t * Alignment.\n\t */\n\ttextAlign?: \"start\" | \"end\" | \"left\" | \"right\" | \"center\";\n\n\t/**\n\t * Font family to use for the label.\n\t *\n\t * Multiple fonts can be separated by commas.\n\t */\n\tfontFamily?: string;\n\n\t/**\n\t * Font size in misc any supported CSS format (pixel, point, em, etc.).\n\t */\n\tfontSize?: string | number;\n\n\t/**\n\t * Font weight.\n\t */\n\tfontWeight?: \"normal\" | \"bold\" | \"bolder\" | \"lighter\" | \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\";\n\n\t/**\n\t * Font style.\n\t */\n\tfontStyle?: \"normal\" | \"italic\" | \"oblique\";\n\n\t/**\n\t * Font variant.\n\t */\n\tfontVariant?: \"normal\" | \"small-caps\";\n\n\t/**\n\t * Text decoration.\n\t *\n\t * Supported options `\"underline\"`, `\"line-through\"`.\n\t *\n\t * @since 5.0.15\n\t */\n\ttextDecoration?: \"underline\" | \"line-through\";\n\n\t/**\n\t * Line height in percent or absolute pixels.\n\t */\n\tlineHeight?: Percent | number;\n\n\t/**\n\t * How mouch of the height should be considered to go below baseline.\n\t *\n\t * @default 0.19\n\t */\n\tbaselineRatio?: number;\n\n\t/**\n\t * Opacity of the label.\n\t *\n\t * 0 - fully transparent; 1 - fully opaque.\n\t */\n\topacity?: number;\n\n\t/**\n\t * Text direction.\n\t *\n\t * @default \"ltr\"\n\t */\n\tdirection?: \"ltr\" | \"rtl\";\n\n\t/**\n\t * A base line to use when aligning text chunks vertically.\n\t */\n\ttextBaseline?: \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\n\n\t/**\n\t * How to handle labels that do not fit into its designated space.\n\t *\n\t * LIMITATIONS: on circular labels, the only values supported are `\"hide\"` and\n\t * `\"truncate\"`. The latter will ignore `breakWords` setting.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Oversized_text} for more info\n\t */\n\toversizedBehavior?: \"none\" | \"hide\" | \"fit\" | \"wrap\" | \"wrap-no-break\" | \"truncate\";\n\n\t/**\n\t * Whether words can be broken when truncating or wrapping text.\n\t *\n\t * @default false\n\t */\n\tbreakWords?: boolean;\n\n\t/**\n\t * Ellipsis characters to use when truncating text.\n\t *\n\t * Will use Unicode ellipsis symbol (`\"…\"`) by default, which might not be\n\t * available in all fonts. If ellipsis looks broken, use different\n\t * characters. E.g.:\n\t *\n\t * ```TypeScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t * ```JavaScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t *\n\t *\n\t * @default \"…\"\n\t */\n\tellipsis?: string;\n\n\t/**\n\t * Minimum relative scale allowed for label when scaling down\n\t * when `oversizedBehavior` is set to `\"fit\"`.\n\t *\n\t * If fitting the label would require it to scale beyond `minScale` it would\n\t * be hidden instead.\n\t */\n\tminScale?: number;\n\n\t/**\n\t * If set to `true` the label will parse `text` for data placeholders and\n\t * will try to populate them with actual data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Data_placeholders} for more info\n\t */\n\tpopulateText?: boolean;\n\n\t/**\n\t * If set to `true`, will ignore in-line formatting blocks and will display\n\t * text exactly as it is.\n\t *\n\t * @default false\n\t */\n\tignoreFormatting?: boolean;\n\n\t/**\n\t * Color of the element's shadow.\n\t *\n\t * For this to work at least one of the following needs to be set as well:\n\t * `shadowBlur`, `shadowOffsetX`, `shadowOffsetY`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowColor?: Color | null;\n\n\t/**\n\t * Blurriness of the the shadow.\n\t *\n\t * The bigger the number, the more blurry shadow will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowBlur?: number;\n\n\t/**\n\t * Horizontal shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetX?: number;\n\n\t/**\n\t * Vertical shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetY?: number;\n\n\t/**\n\t * Opacity of the shadow (0-1).\n\t *\n\t * If not set, will use the same as `fillOpacity` of the element.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOpacity?: number;\n\n\t/**\n\t * Maximum number of characters to allow in label.\n\t *\n\t * If the `text` is longer than `maxChars`, the text will be truncated\n\t * using the `breakWords` and `ellipsis` settings.\n\t * \n\t * @since 5.7.2\n\t */\n\tmaxChars?: number;\n\n\t// The following migh be supported some day:\n\t// padding?: number;\n\t// stroke?: number;\n\t// strokeThickness?: number;\n\t// trim?: number;\n\t// wordWrap?: boolean;\n\t// leading?: number;\n\t// letterSpacing?: number;\n}\n\nexport interface ILabelPrivate extends IContainerPrivate {\n}\n\nexport interface ILabelEvents extends IContainerEvents {\n}\n\n/**\n * Creates a label with support for in-line styling and data bindings.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/} for more info\n */\nexport class Label extends Container {\n\n\tdeclare public _settings: ILabelSettings;\n\tdeclare public _privateSettings: ILabelPrivate;\n\tdeclare public _events: ILabelEvents;\n\n\tprotected _text!: Text;\n\n\tprotected _textKeys: Array<string> = [\n\t\t\"text\",\n\t\t\"fill\",\n\t\t\"fillGradient\",\n\t\t\"fillOpacity\",\n\t\t\"textAlign\",\n\t\t\"fontFamily\",\n\t\t\"fontSize\",\n\t\t\"fontStyle\",\n\t\t\"fontWeight\",\n\t\t\"fontStyle\",\n\t\t\"fontVariant\",\n\t\t\"textDecoration\",\n\t\t\"shadowColor\",\n\t\t\"shadowBlur\",\n\t\t\"shadowOffsetX\",\n\t\t\"shadowOffsetY\",\n\t\t\"shadowOpacity\",\n\t\t// \"leading\",\n\t\t// \"letterSpacing\",\n\t\t\"lineHeight\",\n\t\t\"baselineRatio\",\n\t\t//\"padding\",\n\t\t// \"stroke\",\n\t\t// \"strokeThickness\",\n\t\t// \"trim\",\n\t\t// \"wordWrap\",\n\t\t\"direction\",\n\t\t\"textBaseline\",\n\t\t\"oversizedBehavior\",\n\t\t\"breakWords\",\n\t\t\"ellipsis\",\n\t\t\"minScale\",\n\t\t\"populateText\",\n\t\t\"role\",\n\t\t\"ignoreFormatting\",\n\t\t\"maxChars\",\n\t\t\"ariaLabel\"\n\t];\n\n\tpublic static className: string = \"Label\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Label.className]);\n\n\t/**\n\t * @ignore Text is not to be used directly\n\t */\n\tpublic get text(): Text {\n\t\treturn this._text;\n\t}\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis._makeText();\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tconst propValue = this.get(property as any);\n\t\t\tif (propValue != undefined) {\n\t\t\t\tthis._text.set(property as any, propValue);\n\t\t\t}\n\t\t});\n\n\t\tif (this.get(\"html\", \"\") !== \"\") {\n\t\t\tthis._text.set(\"text\", \"\");\n\t\t}\n\n\t\tthis.onPrivate(\"maxWidth\", () => {\n\t\t\tthis._setMaxDimentions();\n\t\t});\n\n\t\tthis.onPrivate(\"maxHeight\", () => {\n\t\t\tthis._setMaxDimentions();\n\t\t});\n\t}\n\n\tpublic _makeText() {\n\t\tthis._text = this.children.push(Text.new(this._root, {}));\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tconst text = this._text;\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tthis._text.set(property as any, this.get(property as any));\n\t\t})\n\n\t\tif (this.isDirty(\"maxWidth\") || this.isDirty(\"maxHeight\") || this.isDirty(\"rotation\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\t// Do not show regular text if HTML is used\n\t\tif (this.get(\"html\", \"\") !== \"\") {\n\t\t\ttext.set(\"text\", \"\");\n\t\t}\n\t\telse {\n\t\t\ttext.set(\"text\", this.get(\"text\"));\n\t\t\tthis._maybeUpdateHTMLColor();\n\t\t}\n\n\t\tif (this.isDirty(\"fill\") || this.isDirty(\"fillGradient\")) {\n\t\t\tthis._maybeUpdateHTMLColor();\n\t\t}\n\n\t\tif (this.isDirty(\"textAlign\") || this.isDirty(\"width\")) {\n\t\t\tconst textAlign = this.get(\"textAlign\");\n\t\t\tlet x: number | Percent | undefined;\n\t\t\tif (this.get(\"width\") != null) {\n\t\t\t\tif (textAlign == \"right\") {\n\t\t\t\t\tx = p100;\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"center\") {\n\t\t\t\t\tx = p50;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tx = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (textAlign == \"left\" || textAlign == \"start\") {\n\t\t\t\t\tx = this.get(\"paddingLeft\", 0);\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"right\" || textAlign == \"end\") {\n\t\t\t\t\tx = -this.get(\"paddingRight\", 0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttext.set(\"x\", x);\n\t\t}\n\n\t\tconst background = this.get(\"background\");\n\t\tif (background) {\n\t\t\tbackground.setPrivate(\"visible\", text._display.textVisible);\n\t\t}\n\t}\n\n\tprotected _maybeUpdateHTMLColor() {\n\t\tconst htmlElement = this.getPrivate(\"htmlElement\");\n\t\tif (htmlElement && this.get(\"fill\")) {\n\t\t\thtmlElement.style.color = this.get(\"fill\")!.toCSSHex();\n\t\t\t//@todo support gradient\n\t\t}\n\t}\n\n\tprotected _setMaxDimentions() {\n\t\tconst rotation = this.get(\"rotation\");\n\t\tconst vertical = rotation == 90 || rotation == 270 || rotation == -90;\n\t\tconst text = this._text;\n\n\t\tconst maxWidth = this.get(\"maxWidth\", this.getPrivate(\"maxWidth\", Infinity));\n\t\tif ($type.isNumber(maxWidth)) {\n\t\t\ttext.set(vertical ? \"maxHeight\" : \"maxWidth\", maxWidth - this.get(\"paddingTop\", 0) - this.get(\"paddingBottom\", 0));\n\t\t}\n\t\telse {\n\t\t\ttext.set(vertical ? \"maxHeight\" : \"maxWidth\", undefined);\n\t\t}\n\n\t\tconst maxHeight = this.get(\"maxHeight\", this.getPrivate(\"maxHeight\", Infinity));\n\t\tif ($type.isNumber(maxHeight)) {\n\t\t\ttext.set(vertical ? \"maxWidth\" : \"maxHeight\", maxHeight - this.get(\"paddingLeft\", 0) - this.get(\"paddingRight\", 0));\n\t\t}\n\t\telse {\n\t\t\ttext.set(vertical ? \"maxWidth\" : \"maxHeight\", undefined);\n\t\t}\n\n\t\tthis.root.events.once(\"frameended\", () => {\n\t\t\ttext.markDirtyBounds();\n\t\t});\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tthis._markDirtyKey(\"text\");\n\t\tthis._markDirtyKey(\"html\");\n\t\tconst text = this._text;\n\t\tif (text.get(\"populateText\")) {\n\t\t\ttext.markDirtyText();\n\t\t}\n\t\tconst html = this.get(\"html\");\n\t\tif (html && html !== \"\") {\n\t\t\tthis._updateHTMLContent();\n\t\t}\n\t}\n\n\t/**\n\t * Returns text with populated placeholders and formatting if `populateText` is\n\t * set to `true`.\n\t *\n\t * @return Populated text\n\t */\n\tpublic getText(): string {\n\t\treturn this._text._getText();\n\t}\n\n\t/**\n\t * Returns \"aria-label\" text with populated placeholders and formatting\n\t * if `populateText` is set to `true`.\n\t *\n\t * @return Populated text\n\t */\n\tpublic getAccessibleText(): string {\n\t\treturn this._text._getAccessibleText();\n\t}\n}\n"]}
1
+ {"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Label.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Color } from \"../util/Color\";\nimport type { Percent } from \"../util/Percent\";\nimport type { DataItem, IComponentDataItem } from \"./Component\";\nimport type { Gradient } from \"../render/gradients/Gradient\";\n\nimport { Text } from \"../render/Text\";\nimport { p50, p100 } from \"../util/Percent\";\nimport { Container, IContainerPrivate, IContainerSettings, IContainerEvents } from \"./Container\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $type from \"../../core/util/Type\";\n\n\nexport interface ILabelSettings extends IContainerSettings {\n\n\t/**\n\t * Labels' text.\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/text-styling/} for text styling info\n\t * \n\t */\n\ttext?: string;\n\n\t/**\n\t * Text color.\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Text opacity.\n\t *\n\t * @default 1\n\t * @ince 5.2.39\n\t */\n\tfillOpacity?: number;\n\n\t/**\n\t * Fill gradient.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/gradients/} for more information\n\t * @since 5.10.1\n\t */\n\tfillGradient?: Gradient;\n\n\t/**\n\t * Alignment.\n\t */\n\ttextAlign?: \"start\" | \"end\" | \"left\" | \"right\" | \"center\";\n\n\t/**\n\t * Font family to use for the label.\n\t *\n\t * Multiple fonts can be separated by commas.\n\t */\n\tfontFamily?: string;\n\n\t/**\n\t * Font size in misc any supported CSS format (pixel, point, em, etc.).\n\t */\n\tfontSize?: string | number;\n\n\t/**\n\t * Font weight.\n\t */\n\tfontWeight?: \"normal\" | \"bold\" | \"bolder\" | \"lighter\" | \"100\" | \"200\" | \"300\" | \"400\" | \"500\" | \"600\" | \"700\" | \"800\" | \"900\";\n\n\t/**\n\t * Font style.\n\t */\n\tfontStyle?: \"normal\" | \"italic\" | \"oblique\";\n\n\t/**\n\t * Font variant.\n\t */\n\tfontVariant?: \"normal\" | \"small-caps\";\n\n\t/**\n\t * Text decoration.\n\t *\n\t * Supported options `\"underline\"`, `\"line-through\"`.\n\t *\n\t * @since 5.0.15\n\t */\n\ttextDecoration?: \"underline\" | \"line-through\";\n\n\t/**\n\t * Line height in percent or absolute pixels.\n\t */\n\tlineHeight?: Percent | number;\n\n\t/**\n\t * How mouch of the height should be considered to go below baseline.\n\t *\n\t * @default 0.19\n\t */\n\tbaselineRatio?: number;\n\n\t/**\n\t * Opacity of the label.\n\t *\n\t * 0 - fully transparent; 1 - fully opaque.\n\t */\n\topacity?: number;\n\n\t/**\n\t * Text direction.\n\t *\n\t * @default \"ltr\"\n\t */\n\tdirection?: \"ltr\" | \"rtl\";\n\n\t/**\n\t * A base line to use when aligning text chunks vertically.\n\t */\n\ttextBaseline?: \"top\" | \"hanging\" | \"middle\" | \"alphabetic\" | \"ideographic\" | \"bottom\";\n\n\t/**\n\t * How to handle labels that do not fit into its designated space.\n\t *\n\t * LIMITATIONS: on circular labels, the only values supported are `\"hide\"` and\n\t * `\"truncate\"`. The latter will ignore `breakWords` setting.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Oversized_text} for more info\n\t */\n\toversizedBehavior?: \"none\" | \"hide\" | \"fit\" | \"wrap\" | \"wrap-no-break\" | \"truncate\";\n\n\t/**\n\t * Whether words can be broken when truncating or wrapping text.\n\t *\n\t * @default false\n\t */\n\tbreakWords?: boolean;\n\n\t/**\n\t * Ellipsis characters to use when truncating text.\n\t *\n\t * Will use Unicode ellipsis symbol (`\"…\"`) by default, which might not be\n\t * available in all fonts. If ellipsis looks broken, use different\n\t * characters. E.g.:\n\t *\n\t * ```TypeScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t * ```JavaScript\n\t * label.set(\"ellipsis\", \"...\");\n\t * ```\n\t *\n\t *\n\t * @default \"…\"\n\t */\n\tellipsis?: string;\n\n\t/**\n\t * Minimum relative scale allowed for label when scaling down\n\t * when `oversizedBehavior` is set to `\"fit\"`.\n\t *\n\t * If fitting the label would require it to scale beyond `minScale` it would\n\t * be hidden instead.\n\t */\n\tminScale?: number;\n\n\t/**\n\t * If set to `true` the label will parse `text` for data placeholders and\n\t * will try to populate them with actual data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/#Data_placeholders} for more info\n\t */\n\tpopulateText?: boolean;\n\n\t/**\n\t * If set to `true`, will ignore in-line formatting blocks and will display\n\t * text exactly as it is.\n\t *\n\t * @default false\n\t */\n\tignoreFormatting?: boolean;\n\n\t/**\n\t * Color of the element's shadow.\n\t *\n\t * For this to work at least one of the following needs to be set as well:\n\t * `shadowBlur`, `shadowOffsetX`, `shadowOffsetY`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowColor?: Color | null;\n\n\t/**\n\t * Blurriness of the the shadow.\n\t *\n\t * The bigger the number, the more blurry shadow will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowBlur?: number;\n\n\t/**\n\t * Horizontal shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetX?: number;\n\n\t/**\n\t * Vertical shadow offset in pixels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOffsetY?: number;\n\n\t/**\n\t * Opacity of the shadow (0-1).\n\t *\n\t * If not set, will use the same as `fillOpacity` of the element.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/colors-gradients-and-patterns/shadows/} for more info\n\t */\n\tshadowOpacity?: number;\n\n\t/**\n\t * Maximum number of characters to allow in label.\n\t *\n\t * If the `text` is longer than `maxChars`, the text will be truncated\n\t * using the `breakWords` and `ellipsis` settings.\n\t * \n\t * @since 5.7.2\n\t */\n\tmaxChars?: number;\n\n\t// The following migh be supported some day:\n\t// padding?: number;\n\t// stroke?: number;\n\t// strokeThickness?: number;\n\t// trim?: number;\n\t// wordWrap?: boolean;\n\t// leading?: number;\n\t// letterSpacing?: number;\n}\n\nexport interface ILabelPrivate extends IContainerPrivate {\n}\n\nexport interface ILabelEvents extends IContainerEvents {\n}\n\n/**\n * Creates a label with support for in-line styling and data bindings.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/labels/} for more info\n */\nexport class Label extends Container {\n\n\tdeclare public _settings: ILabelSettings;\n\tdeclare public _privateSettings: ILabelPrivate;\n\tdeclare public _events: ILabelEvents;\n\n\tprotected _text!: Text;\n\n\tprotected _textKeys: Array<string> = [\n\t\t\"text\",\n\t\t\"fill\",\n\t\t\"fillGradient\",\n\t\t\"fillOpacity\",\n\t\t\"textAlign\",\n\t\t\"fontFamily\",\n\t\t\"fontSize\",\n\t\t\"fontStyle\",\n\t\t\"fontWeight\",\n\t\t\"fontStyle\",\n\t\t\"fontVariant\",\n\t\t\"textDecoration\",\n\t\t\"shadowColor\",\n\t\t\"shadowBlur\",\n\t\t\"shadowOffsetX\",\n\t\t\"shadowOffsetY\",\n\t\t\"shadowOpacity\",\n\t\t// \"leading\",\n\t\t// \"letterSpacing\",\n\t\t\"lineHeight\",\n\t\t\"baselineRatio\",\n\t\t//\"padding\",\n\t\t// \"stroke\",\n\t\t// \"strokeThickness\",\n\t\t// \"trim\",\n\t\t// \"wordWrap\",\n\t\t\"direction\",\n\t\t\"textBaseline\",\n\t\t\"oversizedBehavior\",\n\t\t\"breakWords\",\n\t\t\"ellipsis\",\n\t\t\"minScale\",\n\t\t\"populateText\",\n\t\t\"role\",\n\t\t\"ignoreFormatting\",\n\t\t\"maxChars\",\n\t\t\"ariaLabel\"\n\t];\n\n\tpublic static className: string = \"Label\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Label.className]);\n\n\t/**\n\t * @ignore Text is not to be used directly\n\t */\n\tpublic get text(): Text {\n\t\treturn this._text;\n\t}\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis._makeText();\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tconst propValue = this.get(property as any);\n\t\t\tif (propValue != undefined) {\n\t\t\t\tthis._text.set(property as any, propValue);\n\t\t\t}\n\t\t});\n\n\t\tif (this.get(\"html\", \"\") !== \"\") {\n\t\t\tthis._text.set(\"text\", \"\");\n\t\t}\n\n\t\tthis.onPrivate(\"maxWidth\", () => {\n\t\t\tthis._setMaxDimentions();\n\t\t});\n\n\t\tthis.onPrivate(\"maxHeight\", () => {\n\t\t\tthis._setMaxDimentions();\n\t\t});\n\t}\n\n\tpublic _makeText() {\n\t\tthis._text = this.children.push(Text.new(this._root, {}));\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tconst text = this._text;\n\n\t\t$array.each(this._textKeys, (property) => {\n\t\t\tthis._text.set(property as any, this.get(property as any));\n\t\t})\n\n\t\tif (this.isDirty(\"maxWidth\") || this.isDirty(\"maxHeight\") || this.isDirty(\"rotation\")) {\n\t\t\tthis._setMaxDimentions();\n\t\t}\n\n\t\t// Do not show regular text if HTML is used\n\t\tif (this.get(\"html\", \"\") !== \"\") {\n\t\t\ttext.set(\"text\", \"\");\n\t\t}\n\t\telse {\n\t\t\ttext.set(\"text\", this.get(\"text\"));\n\t\t\tthis._maybeUpdateHTMLColor();\n\t\t}\n\n\t\tif (this.isDirty(\"fill\") || this.isDirty(\"fillGradient\")) {\n\t\t\tthis._maybeUpdateHTMLColor();\n\t\t}\n\n\t\tif (this.isDirty(\"textAlign\") || this.isDirty(\"width\")) {\n\t\t\tconst textAlign = this.get(\"textAlign\");\n\t\t\tlet x: number | Percent | undefined;\n\t\t\tif (this.get(\"width\") != null) {\n\t\t\t\tif (textAlign == \"right\") {\n\t\t\t\t\tx = p100;\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"center\") {\n\t\t\t\t\tx = p50;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tx = 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (textAlign == \"left\" || textAlign == \"start\") {\n\t\t\t\t\tx = this.get(\"paddingLeft\", 0);\n\t\t\t\t}\n\t\t\t\telse if (textAlign == \"right\" || textAlign == \"end\") {\n\t\t\t\t\tx = -this.get(\"paddingRight\", 0);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttext.set(\"x\", x);\n\t\t}\n\n\t\tconst background = this.get(\"background\");\n\t\tif (background) {\n\t\t\tbackground.setPrivate(\"visible\", text._display.textVisible);\n\t\t}\n\t}\n\n\tprotected _maybeUpdateHTMLColor() {\n\t\tconst htmlElement = this.getPrivate(\"htmlElement\");\n\t\tif (htmlElement && this.get(\"fill\")) {\n\t\t\thtmlElement.style.color = this.get(\"fill\")!.toCSSHex();\n\t\t\t//@todo support gradient\n\t\t}\n\t}\n\n\tprotected _setMaxDimentions() {\n\t\tconst rotation = this.get(\"rotation\");\n\t\tconst vertical = rotation == 90 || rotation == 270 || rotation == -90;\n\t\tconst text = this._text;\n\n\t\tconst maxWidth = this.get(\"maxWidth\", this.getPrivate(\"maxWidth\", Infinity));\n\t\tif ($type.isNumber(maxWidth)) {\n\t\t\ttext.set(vertical ? \"maxHeight\" : \"maxWidth\", maxWidth - this.get(\"paddingTop\", 0) - this.get(\"paddingBottom\", 0));\n\t\t}\n\t\telse {\n\t\t\ttext.set(vertical ? \"maxHeight\" : \"maxWidth\", undefined);\n\t\t}\n\n\t\tconst maxHeight = this.get(\"maxHeight\", this.getPrivate(\"maxHeight\", Infinity));\n\t\tif ($type.isNumber(maxHeight)) {\n\t\t\ttext.set(vertical ? \"maxWidth\" : \"maxHeight\", maxHeight - this.get(\"paddingLeft\", 0) - this.get(\"paddingRight\", 0));\n\t\t}\n\t\telse {\n\t\t\ttext.set(vertical ? \"maxWidth\" : \"maxHeight\", undefined);\n\t\t}\n\n\t\tthis.root.events.once(\"frameended\", () => {\n\t\t\ttext.markDirtyBounds();\n\t\t});\n\t}\n\n\tpublic _setDataItem(dataItem?: DataItem<IComponentDataItem>): void {\n\t\tsuper._setDataItem(dataItem);\n\t\tthis._markDirtyKey(\"text\");\n\t\tthis._markDirtyKey(\"html\");\n\t\tconst text = this._text;\n\t\tif (text.get(\"populateText\")) {\n\t\t\ttext.markDirtyText();\n\t\t}\n\t\tconst html = this.get(\"html\");\n\t\tif (html && html !== \"\") {\n\t\t\tthis._updateHTMLContent();\n\t\t}\n\t}\n\n\t/**\n\t * Returns text with populated placeholders and formatting if `populateText` is\n\t * set to `true`.\n\t *\n\t * @return Populated text\n\t */\n\tpublic getText(): string {\n\t\treturn this._text._getText();\n\t}\n\n\t/**\n\t * Returns \"aria-label\" text with populated placeholders and formatting\n\t * if `populateText` is set to `true`.\n\t *\n\t * @return Populated text\n\t */\n\tpublic getAccessibleText(): string {\n\t\treturn this._text._getAccessibleText();\n\t}\n}\n"]}
@@ -12,16 +12,6 @@ export function eachChildren(container, f) {
12
12
  */
13
13
  export class Layout extends Entity {
14
14
  }
15
- Object.defineProperty(Layout, "className", {
16
- enumerable: true,
17
- configurable: true,
18
- writable: true,
19
- value: "Layout"
20
- });
21
- Object.defineProperty(Layout, "classNames", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: Entity.classNames.concat([Layout.className])
26
- });
15
+ Layout.className = "Layout";
16
+ Layout.classNames = Entity.classNames.concat([Layout.className]);
27
17
  //# sourceMappingURL=Layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Layout.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAmC,MAAM,gBAAgB,CAAC;AAQzE,MAAM,UAAU,YAAY,CAAC,SAAoB,EAAE,CAA2B;IAC1E,IAAI,SAAS,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE;QACzC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KACrC;SAAM;QACH,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC9B;AACL,CAAC;AAED;;GAEG;AACH,MAAM,OAAgB,MAAO,SAAQ,MAAM;;AAI1C;;;;WAAkC,QAAQ;GAAC;AAC3C;;;;WAA0C,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import type { Container } from \"./Container\";\nimport type { Sprite } from \"./Sprite\";\nimport { Entity, IEntitySettings, IEntityPrivate } from \"../util/Entity\";\n\nexport interface ILayoutSettings extends IEntitySettings {\n}\n\nexport interface ILayoutPrivate extends IEntityPrivate {\n}\n\nexport function eachChildren(container: Container, f: (sprite: Sprite) => void): void {\n if (container.get(\"reverseChildren\", false)) {\n container.children.eachReverse(f);\n } else {\n container.children.each(f);\n }\n}\n\n/**\n * Base class for [[Container]] layouts.\n */\nexport abstract class Layout extends Entity {\n\tdeclare public _settings: ILayoutSettings;\n\tdeclare public _privateSettings: ILayoutPrivate;\n\n\tpublic static className: string = \"Layout\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([Layout.className]);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract updateContainer(_container: Container): void;\n}\n"]}
1
+ {"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Layout.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAmC,MAAM,gBAAgB,CAAC;AAQzE,MAAM,UAAU,YAAY,CAAC,SAAoB,EAAE,CAA2B;IAC1E,IAAI,SAAS,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE;QACzC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KACrC;SAAM;QACH,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC9B;AACL,CAAC;AAED;;GAEG;AACH,MAAM,OAAgB,MAAO,SAAQ,MAAM;;AAI5B,gBAAS,GAAW,QAAQ,CAAC;AAC7B,iBAAU,GAAkB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import type { Container } from \"./Container\";\nimport type { Sprite } from \"./Sprite\";\nimport { Entity, IEntitySettings, IEntityPrivate } from \"../util/Entity\";\n\nexport interface ILayoutSettings extends IEntitySettings {\n}\n\nexport interface ILayoutPrivate extends IEntityPrivate {\n}\n\nexport function eachChildren(container: Container, f: (sprite: Sprite) => void): void {\n if (container.get(\"reverseChildren\", false)) {\n container.children.eachReverse(f);\n } else {\n container.children.each(f);\n }\n}\n\n/**\n * Base class for [[Container]] layouts.\n */\nexport abstract class Layout extends Entity {\n\tdeclare public _settings: ILayoutSettings;\n\tdeclare public _privateSettings: ILayoutPrivate;\n\n\tpublic static className: string = \"Layout\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([Layout.className]);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic abstract updateContainer(_container: Container): void;\n}\n"]}
@@ -19,71 +19,46 @@ export class Legend extends Series {
19
19
  *
20
20
  * @default new ListTemplate<Container>
21
21
  */
22
- Object.defineProperty(this, "itemContainers", {
23
- enumerable: true,
24
- configurable: true,
25
- writable: true,
26
- value: this.addDisposer(new ListTemplate(Template.new({}), () => Container._new(this._root, {
27
- themeTags: $utils.mergeTags(this.itemContainers.template.get("themeTags", []), ["legend", "item"]),
28
- themeTagsSelf: $utils.mergeTags(this.itemContainers.template.get("themeTagsSelf", []), ["itemcontainer"]),
29
- background: RoundedRectangle.new(this._root, {
30
- themeTags: $utils.mergeTags(this.itemContainers.template.get("themeTags", []), ["legend", "item", "background"]),
31
- themeTagsSelf: $utils.mergeTags(this.itemContainers.template.get("themeTagsSelf", []), ["itemcontainer"])
32
- })
33
- }, [this.itemContainers.template])))
34
- });
22
+ this.itemContainers = this.addDisposer(new ListTemplate(Template.new({}), () => Container._new(this._root, {
23
+ themeTags: $utils.mergeTags(this.itemContainers.template.get("themeTags", []), ["legend", "item"]),
24
+ themeTagsSelf: $utils.mergeTags(this.itemContainers.template.get("themeTagsSelf", []), ["itemcontainer"]),
25
+ background: RoundedRectangle.new(this._root, {
26
+ themeTags: $utils.mergeTags(this.itemContainers.template.get("themeTags", []), ["legend", "item", "background"]),
27
+ themeTagsSelf: $utils.mergeTags(this.itemContainers.template.get("themeTagsSelf", []), ["itemcontainer"])
28
+ })
29
+ }, [this.itemContainers.template])));
35
30
  /**
36
31
  * List of legend marker elements.
37
32
  *
38
33
  * @default new ListTemplate<Container>
39
34
  */
40
- Object.defineProperty(this, "markers", {
41
- enumerable: true,
42
- configurable: true,
43
- writable: true,
44
- value: this.addDisposer(new ListTemplate(Template.new({}), () => Container._new(this._root, {
45
- themeTags: $utils.mergeTags(this.markers.template.get("themeTags", []), ["legend", "marker"])
46
- }, [this.markers.template])))
47
- });
35
+ this.markers = this.addDisposer(new ListTemplate(Template.new({}), () => Container._new(this._root, {
36
+ themeTags: $utils.mergeTags(this.markers.template.get("themeTags", []), ["legend", "marker"])
37
+ }, [this.markers.template])));
48
38
  /**
49
39
  * List of legend label elements.
50
40
  *
51
41
  * @default new ListTemplate<Label>
52
42
  */
53
- Object.defineProperty(this, "labels", {
54
- enumerable: true,
55
- configurable: true,
56
- writable: true,
57
- value: this.addDisposer(new ListTemplate(Template.new({}), () => Label._new(this._root, {
58
- themeTags: $utils.mergeTags(this.labels.template.get("themeTags", []), ["legend", "label"])
59
- }, [this.labels.template])))
60
- });
43
+ this.labels = this.addDisposer(new ListTemplate(Template.new({}), () => Label._new(this._root, {
44
+ themeTags: $utils.mergeTags(this.labels.template.get("themeTags", []), ["legend", "label"])
45
+ }, [this.labels.template])));
61
46
  /**
62
47
  * List of legend value label elements.
63
48
  *
64
49
  * @default new ListTemplate<label>
65
50
  */
66
- Object.defineProperty(this, "valueLabels", {
67
- enumerable: true,
68
- configurable: true,
69
- writable: true,
70
- value: this.addDisposer(new ListTemplate(Template.new({}), () => Label._new(this._root, {
71
- themeTags: $utils.mergeTags(this.valueLabels.template.get("themeTags", []), ["legend", "label", "value"])
72
- }, [this.valueLabels.template])))
73
- });
51
+ this.valueLabels = this.addDisposer(new ListTemplate(Template.new({}), () => Label._new(this._root, {
52
+ themeTags: $utils.mergeTags(this.valueLabels.template.get("themeTags", []), ["legend", "label", "value"])
53
+ }, [this.valueLabels.template])));
74
54
  /**
75
55
  * List of rectangle elements used for default legend markers.
76
56
  *
77
57
  * @default new ListTemplate<RoundedRectangle>
78
58
  */
79
- Object.defineProperty(this, "markerRectangles", {
80
- enumerable: true,
81
- configurable: true,
82
- writable: true,
83
- value: this.addDisposer(new ListTemplate(Template.new({}), () => RoundedRectangle._new(this._root, {
84
- themeTags: $utils.mergeTags(this.markerRectangles.template.get("themeTags", []), ["legend", "marker", "rectangle"])
85
- }, [this.markerRectangles.template])))
86
- });
59
+ this.markerRectangles = this.addDisposer(new ListTemplate(Template.new({}), () => RoundedRectangle._new(this._root, {
60
+ themeTags: $utils.mergeTags(this.markerRectangles.template.get("themeTags", []), ["legend", "marker", "rectangle"])
61
+ }, [this.markerRectangles.template])));
87
62
  }
88
63
  _afterNew() {
89
64
  this._settings.themeTags = $utils.mergeTags(this._settings.themeTags, ["legend"]);
@@ -312,16 +287,6 @@ export class Legend extends Series {
312
287
  }
313
288
  }
314
289
  }
315
- Object.defineProperty(Legend, "className", {
316
- enumerable: true,
317
- configurable: true,
318
- writable: true,
319
- value: "Legend"
320
- });
321
- Object.defineProperty(Legend, "classNames", {
322
- enumerable: true,
323
- configurable: true,
324
- writable: true,
325
- value: Series.classNames.concat([Legend.className])
326
- });
290
+ Legend.className = "Legend";
291
+ Legend.classNames = Series.classNames.concat([Legend.className]);
327
292
  //# sourceMappingURL=Legend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Legend.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"./Series\";\nimport { Container } from \"../../core/render/Container\";\nimport { Label } from \"../../core/render/Label\";\nimport { RoundedRectangle } from \"../../core/render/RoundedRectangle\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport type { Entity, IEntitySettings } from \"../../core/util/Entity\";\nimport type { Color } from \"../../core/util/Color\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface ILegendDataItem extends ISeriesDataItem {\n\n\t/**\n\t * [[Container]] element holding all other legend item elements, labels,\n\t * markers, etc.\n\t */\n\titemContainer: Container;\n\n\t/**\n\t * Marker element.\n\t */\n\tmarker: Container;\n\n\t/**\n\t * Marker rectangle element.\n\t */\n\tmarkerRectangle: RoundedRectangle;\n\n\t/**\n\t * Label element.\n\t */\n\tlabel: Label;\n\n\t/**\n\t * Value label element.\n\t */\n\tvalueLabel: Label;\n\n\t/**\n\t * Marker fill color.\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Marker stroke (outline) color.\n\t */\n\tstroke?: Color;\n\n\t/**\n\t * Name of the legend item.\n\t */\n\tname?: string;\n\n}\n\nexport interface ILegendItemSettings extends IEntitySettings {\n\tvisible?: boolean;\n}\n\n/**\n * @ignore\n */\nexport interface ILegendItem extends Entity {\n\t_settings: ILegendItemSettings;\n\tisHidden?: () => boolean;\n\tshow?: () => void;\n\thide?: () => void;\n\tcreateLegendMarker?: () => {}\n\tcomponent?: Series;\n\tupdateLegendValue?: () => {}\n\t// how to define that properties of dataItem should have legendDataItem?\n}\n\n//type ILegendDataItemSettings = { [K in keyof ILegendDataItem]?: string; };\n\nexport interface ILegendSettings extends ISeriesSettings {\n\n\t/**\n\t * If set to `true` the legend will not try to mimic appearance of the actual\n\t * item but rather show default square marker.\n\t *\n\t * @default false\n\t */\n\tuseDefaultMarker?: boolean;\n\n\t/**\n\t * A key to look up in data for a name of the data item.\n\t *\n\t */\n\tnameField?: string;\n\n\t/**\n\t * A key to look up in data for a fill of the data item.\n\t *\n\t */\n\tfillField?: string;\n\n\t/**\n\t * A key to look up in data for a stroke of the data item.\n\t *\n\t */\n\tstrokeField?: string;\n\n\t/**\n\t * Which legend item element will be clickable to toggle related chart item:\n\t * * `\"itemContainer\"` - the whole legend item (default).\n\t * * `\"marker\"` - legend item marker.\n\t * * `\"none\"` - disables toggling of legend item.\n\t *\n\t * @default \"itemContainer\"\n\t * @since 5.0.13\n\t */\n\tclickTarget?: \"itemContainer\" | \"marker\" | \"none\"\n\n}\n\nexport interface ILegendPrivate extends ISeriesPrivate {\n}\n\nexport interface ILegendEvents extends ISeriesEvents {\n\n}\n\n/**\n * A universal legend control.\n *\n * @important\n * @see {@link https://www.amcharts.com/docs/v5/concepts/legend/} for more info\n */\nexport class Legend extends Series {\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"legend\"]);\n\t\tthis.fields.push(\"name\", \"stroke\", \"fill\");\n\t\tsuper._afterNew();\n\t}\n\n\tpublic static className: string = \"Legend\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Legend.className]);\n\n\tdeclare public _settings: ILegendSettings;\n\tdeclare public _privateSettings: ILegendPrivate;\n\tdeclare public _dataItemSettings: ILegendDataItem;\n\tdeclare public _events: ILegendEvents;\n\n\t/**\n\t * List of all [[Container]] elements for legend items.\n\t *\n\t * @default new ListTemplate<Container>\n\t */\n\tpublic readonly itemContainers: ListTemplate<Container> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Container._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.itemContainers.template.get(\"themeTags\", []), [\"legend\", \"item\"]),\n\t\t\tthemeTagsSelf: $utils.mergeTags(this.itemContainers.template.get(\"themeTagsSelf\", []), [\"itemcontainer\"]),\n\t\t\tbackground: RoundedRectangle.new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.itemContainers.template.get(\"themeTags\", []), [\"legend\", \"item\", \"background\"]),\n\t\t\t\tthemeTagsSelf: $utils.mergeTags(this.itemContainers.template.get(\"themeTagsSelf\", []), [\"itemcontainer\"])\n\t\t\t})\n\t\t}, [this.itemContainers.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeItemContainer(dataItem: DataItem<this[\"_dataItemSettings\"]>): Container {\n\t\tconst itemContainer = this.children.push(this.itemContainers.make());\n\t\titemContainer._setDataItem(dataItem);\n\t\tthis.itemContainers.push(itemContainer);\n\t\titemContainer.states.create(\"disabled\", {});\n\t\treturn itemContainer;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeMarker(): Container {\n\t\tconst marker = this.markers.make();\n\t\tthis.markers.push(marker);\n\t\tmarker.states.create(\"disabled\", {});\n\t\treturn marker;\n\t}\n\n\t/**\n\t * List of legend marker elements.\n\t *\n\t * @default new ListTemplate<Container>\n\t */\n\tpublic readonly markers: ListTemplate<Container> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Container._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.markers.template.get(\"themeTags\", []), [\"legend\", \"marker\"])\n\t\t}, [this.markers.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeLabel(): Label {\n\t\tconst label = this.labels.make();\n\t\tlabel.states.create(\"disabled\", {});\n\t\treturn label;\n\t}\n\n\t/**\n\t * List of legend label elements.\n\t *\n\t * @default new ListTemplate<Label>\n\t */\n\tpublic readonly labels: ListTemplate<Label> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"legend\", \"label\"])\n\t\t}, [this.labels.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeValueLabel(): Label {\n\t\tconst valueLabel = this.valueLabels.make();\n\t\tvalueLabel.states.create(\"disabled\", {});\n\t\treturn valueLabel;\n\t}\n\n\t/**\n\t * List of legend value label elements.\n\t *\n\t * @default new ListTemplate<label>\n\t */\n\tpublic readonly valueLabels: ListTemplate<Label> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.valueLabels.template.get(\"themeTags\", []), [\"legend\", \"label\", \"value\"])\n\t\t}, [this.valueLabels.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeMarkerRectangle(): RoundedRectangle {\n\t\tconst markerRectangle = this.markerRectangles.make();\n\t\tmarkerRectangle.states.create(\"disabled\", {});\n\t\treturn markerRectangle;\n\t}\n\n\t/**\n\t * List of rectangle elements used for default legend markers.\n\t *\n\t * @default new ListTemplate<RoundedRectangle>\n\t */\n\tpublic readonly markerRectangles: ListTemplate<RoundedRectangle> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RoundedRectangle._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.markerRectangles.template.get(\"themeTags\", []), [\"legend\", \"marker\", \"rectangle\"])\n\t\t}, [this.markerRectangles.template])\n\t));\n\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst itemContainer = this.makeItemContainer(dataItem);\n\n\t\tconst nameField = this.get(\"nameField\");\n\t\tconst fillField = this.get(\"fillField\");\n\t\tconst strokeField = this.get(\"strokeField\");\n\n\t\tif (itemContainer) {\n\t\t\tconst clickTarget = this.get(\"clickTarget\", \"itemContainer\");\n\n\t\t\tconst item = dataItem.dataContext as ILegendItem;\n\n\t\t\tif (item && item.set) {\n\t\t\t\titem.set(<any>\"legendDataItem\", dataItem);\n\t\t\t}\n\n\t\t\titemContainer._setDataItem(dataItem);\n\t\t\tdataItem.set(\"itemContainer\", itemContainer);\n\n\t\t\tconst marker = this.makeMarker();\n\t\t\tif (marker) {\n\t\t\t\titemContainer.children.push(marker);\n\t\t\t\tmarker._setDataItem(dataItem);\n\t\t\t\tdataItem.set(\"marker\", marker);\n\n\t\t\t\tconst useDefaultMarker = this.get(\"useDefaultMarker\");\n\n\t\t\t\tconst markerRectangle = marker.children.push(this.makeMarkerRectangle());\n\n\t\t\t\tlet fill = dataItem.get(\"fill\");\n\t\t\t\tlet stroke = dataItem.get(\"stroke\");\n\n\t\t\t\tdataItem.set(\"markerRectangle\", markerRectangle);\n\n\t\t\t\tif (item && item.get) {\n\t\t\t\t\tfill = item.get(fillField as any, fill);\n\t\t\t\t\tstroke = item.get(strokeField as any, stroke);\n\t\t\t\t}\n\n\t\t\t\tif (!stroke) {\n\t\t\t\t\tstroke = fill;\n\t\t\t\t}\n\n\t\t\t\tif (!useDefaultMarker) {\n\t\t\t\t\tif (item && item.createLegendMarker) {\n\t\t\t\t\t\titem.createLegendMarker();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (item.on) {\n\t\t\t\t\t\titem.on(fillField as any, () => {\n\t\t\t\t\t\t\tmarkerRectangle.set(\"fill\", item.get(fillField as any));\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\titem.on(strokeField as any, () => {\n\t\t\t\t\t\t\tmarkerRectangle.set(\"stroke\", item.get(strokeField as any));\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tmarkerRectangle.setAll({ fill, stroke });\n\n\t\t\t\t// this solves if template field is set on slice\n\t\t\t\tconst component = item.component;\n\t\t\t\tif (component && component.updateLegendMarker) {\n\t\t\t\t\tcomponent.updateLegendMarker(item as any);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst label = this.makeLabel();\n\n\t\t\tif (label) {\n\t\t\t\titemContainer.children.push(label);\n\t\t\t\tlabel._setDataItem(dataItem);\n\t\t\t\tdataItem.set(\"label\", label);\n\n\t\t\t\tlabel.text.on(\"text\", () => {\n\t\t\t\t\titemContainer.setRaw(\"ariaLabel\", label.text._getText() + (this.get(\"clickTarget\") !== \"none\" ? \"; \" + this._t(\"Press ENTER to toggle\") : \"\"));\n\t\t\t\t\titemContainer.markDirtyAccessibility();\n\t\t\t\t});\n\n\t\t\t\tif (item && item.get) {\n\t\t\t\t\tdataItem.set(\"name\", item.get(nameField as any) as string);\n\t\t\t\t}\n\n\t\t\t\tlet name = dataItem.get(\"name\");\n\n\t\t\t\tif (name) {\n\t\t\t\t\tlabel.set(\"text\", name);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst valueLabel = this.makeValueLabel();\n\t\t\tif (valueLabel) {\n\t\t\t\titemContainer.children.push(valueLabel);\n\t\t\t\tvalueLabel._setDataItem(dataItem);\n\t\t\t\tdataItem.set(\"valueLabel\", valueLabel);\n\t\t\t}\n\n\t\t\tif (item && item.show) {\n\n\t\t\t\titem.on(\"visible\", (visible) => {\n\t\t\t\t\titemContainer.set(\"disabled\", !visible);\n\t\t\t\t})\n\n\t\t\t\tif (!item.get(\"visible\")) {\n\t\t\t\t\titemContainer.set(\"disabled\", true);\n\t\t\t\t}\n\n\t\t\t\tif (clickTarget != \"none\") {\n\t\t\t\t\tlet clickContainer = itemContainer;\n\t\t\t\t\tif (clickTarget == \"marker\") {\n\t\t\t\t\t\tclickContainer = marker;\n\t\t\t\t\t}\n\t\t\t\t\tthis._addClickEvents(clickContainer, item, dataItem)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Sort children\n\t\t\tthis.children.values.sort((a, b) => {\n\t\t\t\tconst targetA = a.dataItem!.dataContext;\n\t\t\t\tconst targetB = b.dataItem!.dataContext;\n\t\t\t\tif (targetA && targetB) {\n\t\t\t\t\tconst indexA = this.data.indexOf(targetA);\n\t\t\t\t\tconst indexB = this.data.indexOf(targetB);\n\t\t\t\t\tif (indexA > indexB) {\n\t\t\t\t\t\treturn 1;\n\t\t\t\t\t}\n\t\t\t\t\telse if (indexA < indexB) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t});\n\n\t\t\tif (item && item.updateLegendValue) {\n\t\t\t\titem.updateLegendValue();\n\t\t\t}\n\t\t}\n\n\t}\n\n\n\tprotected _addClickEvents(container: Container, item: ILegendItem, dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tcontainer.set(\"cursorOverStyle\", \"pointer\");\n\t\tcontainer.events.on(\"pointerover\", () => {\n\t\t\tconst component = item.component;\n\t\t\tif (component && component.hoverDataItem) {\n\t\t\t\tcomponent.hoverDataItem(item as any)\n\t\t\t}\n\t\t})\n\n\t\tcontainer.events.on(\"pointerout\", () => {\n\t\t\tconst component = item.component;\n\t\t\tif (component && component.hoverDataItem) {\n\t\t\t\tcomponent.unhoverDataItem(item as any)\n\t\t\t}\n\t\t})\n\n\t\tcontainer.events.on(\"click\", () => {\n\t\t\tconst labelText = dataItem.get(\"label\").text._getText();\n\n\t\t\tif (item.show && item.isHidden && (item.isHidden() || item.get(\"visible\") === false)) {\n\t\t\t\titem.show();\n\t\t\t\tcontainer.set(\"disabled\", false);\n\t\t\t\tthis._root.readerAlert(this._t(\"%1 shown\", this._root.locale, labelText));\n\t\t\t}\n\t\t\telse if (item.hide) {\n\t\t\t\titem.hide();\n\t\t\t\tcontainer.set(\"disabled\", true);\n\t\t\t\tthis._root.readerAlert(this._t(\"%1 hidden\", this._root.locale, labelText));\n\t\t\t}\n\t\t})\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tsuper.disposeDataItem(dataItem);\n\n\t\tconst dataContext = dataItem.dataContext as any;\n\t\tif (dataContext && dataContext.get) {\n\t\t\tconst di = dataContext.get(\"legendDataItem\");\n\t\t\tif (di == dataItem) {\n\t\t\t\tdataContext.set(\"legendDataItem\", undefined);\n\t\t\t}\n\t\t}\n\n\t\tlet itemContainer = dataItem.get(\"itemContainer\");\n\t\tif (itemContainer) {\n\t\t\tthis.itemContainers.removeValue(itemContainer);\n\t\t\titemContainer.dispose();\n\t\t}\n\n\t\tlet marker = dataItem.get(\"marker\");\n\t\tif (marker) {\n\t\t\tthis.markers.removeValue(marker);\n\t\t\tmarker.dispose();\n\t\t}\n\n\t\tlet markerRectangle = dataItem.get(\"markerRectangle\");\n\t\tif (markerRectangle) {\n\t\t\tthis.markerRectangles.removeValue(markerRectangle);\n\t\t\tmarkerRectangle.dispose();\n\t\t}\n\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\n\t\tlet valueLabel = dataItem.get(\"valueLabel\");\n\t\tif (valueLabel) {\n\t\t\tthis.valueLabels.removeValue(valueLabel);\n\t\t\tvalueLabel.dispose();\n\t\t}\n\n\t}\n}\n"]}
1
+ {"version":3,"file":"Legend.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Legend.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport { Series, ISeriesSettings, ISeriesDataItem, ISeriesPrivate, ISeriesEvents } from \"./Series\";\nimport { Container } from \"../../core/render/Container\";\nimport { Label } from \"../../core/render/Label\";\nimport { RoundedRectangle } from \"../../core/render/RoundedRectangle\";\nimport { Template } from \"../../core/util/Template\";\nimport { ListTemplate } from \"../../core/util/List\";\nimport type { Entity, IEntitySettings } from \"../../core/util/Entity\";\nimport type { Color } from \"../../core/util/Color\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface ILegendDataItem extends ISeriesDataItem {\n\n\t/**\n\t * [[Container]] element holding all other legend item elements, labels,\n\t * markers, etc.\n\t */\n\titemContainer: Container;\n\n\t/**\n\t * Marker element.\n\t */\n\tmarker: Container;\n\n\t/**\n\t * Marker rectangle element.\n\t */\n\tmarkerRectangle: RoundedRectangle;\n\n\t/**\n\t * Label element.\n\t */\n\tlabel: Label;\n\n\t/**\n\t * Value label element.\n\t */\n\tvalueLabel: Label;\n\n\t/**\n\t * Marker fill color.\n\t */\n\tfill?: Color;\n\n\t/**\n\t * Marker stroke (outline) color.\n\t */\n\tstroke?: Color;\n\n\t/**\n\t * Name of the legend item.\n\t */\n\tname?: string;\n\n}\n\nexport interface ILegendItemSettings extends IEntitySettings {\n\tvisible?: boolean;\n}\n\n/**\n * @ignore\n */\nexport interface ILegendItem extends Entity {\n\t_settings: ILegendItemSettings;\n\tisHidden?: () => boolean;\n\tshow?: () => void;\n\thide?: () => void;\n\tcreateLegendMarker?: () => {}\n\tcomponent?: Series;\n\tupdateLegendValue?: () => {}\n\t// how to define that properties of dataItem should have legendDataItem?\n}\n\n//type ILegendDataItemSettings = { [K in keyof ILegendDataItem]?: string; };\n\nexport interface ILegendSettings extends ISeriesSettings {\n\n\t/**\n\t * If set to `true` the legend will not try to mimic appearance of the actual\n\t * item but rather show default square marker.\n\t *\n\t * @default false\n\t */\n\tuseDefaultMarker?: boolean;\n\n\t/**\n\t * A key to look up in data for a name of the data item.\n\t *\n\t */\n\tnameField?: string;\n\n\t/**\n\t * A key to look up in data for a fill of the data item.\n\t *\n\t */\n\tfillField?: string;\n\n\t/**\n\t * A key to look up in data for a stroke of the data item.\n\t *\n\t */\n\tstrokeField?: string;\n\n\t/**\n\t * Which legend item element will be clickable to toggle related chart item:\n\t * * `\"itemContainer\"` - the whole legend item (default).\n\t * * `\"marker\"` - legend item marker.\n\t * * `\"none\"` - disables toggling of legend item.\n\t *\n\t * @default \"itemContainer\"\n\t * @since 5.0.13\n\t */\n\tclickTarget?: \"itemContainer\" | \"marker\" | \"none\"\n\n}\n\nexport interface ILegendPrivate extends ISeriesPrivate {\n}\n\nexport interface ILegendEvents extends ISeriesEvents {\n\n}\n\n/**\n * A universal legend control.\n *\n * @important\n * @see {@link https://www.amcharts.com/docs/v5/concepts/legend/} for more info\n */\nexport class Legend extends Series {\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"legend\"]);\n\t\tthis.fields.push(\"name\", \"stroke\", \"fill\");\n\t\tsuper._afterNew();\n\t}\n\n\tpublic static className: string = \"Legend\";\n\tpublic static classNames: Array<string> = Series.classNames.concat([Legend.className]);\n\n\tdeclare public _settings: ILegendSettings;\n\tdeclare public _privateSettings: ILegendPrivate;\n\tdeclare public _dataItemSettings: ILegendDataItem;\n\tdeclare public _events: ILegendEvents;\n\n\t/**\n\t * List of all [[Container]] elements for legend items.\n\t *\n\t * @default new ListTemplate<Container>\n\t */\n\tpublic readonly itemContainers: ListTemplate<Container> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Container._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.itemContainers.template.get(\"themeTags\", []), [\"legend\", \"item\"]),\n\t\t\tthemeTagsSelf: $utils.mergeTags(this.itemContainers.template.get(\"themeTagsSelf\", []), [\"itemcontainer\"]),\n\t\t\tbackground: RoundedRectangle.new(this._root, {\n\t\t\t\tthemeTags: $utils.mergeTags(this.itemContainers.template.get(\"themeTags\", []), [\"legend\", \"item\", \"background\"]),\n\t\t\t\tthemeTagsSelf: $utils.mergeTags(this.itemContainers.template.get(\"themeTagsSelf\", []), [\"itemcontainer\"])\n\t\t\t})\n\t\t}, [this.itemContainers.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeItemContainer(dataItem: DataItem<this[\"_dataItemSettings\"]>): Container {\n\t\tconst itemContainer = this.children.push(this.itemContainers.make());\n\t\titemContainer._setDataItem(dataItem);\n\t\tthis.itemContainers.push(itemContainer);\n\t\titemContainer.states.create(\"disabled\", {});\n\t\treturn itemContainer;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeMarker(): Container {\n\t\tconst marker = this.markers.make();\n\t\tthis.markers.push(marker);\n\t\tmarker.states.create(\"disabled\", {});\n\t\treturn marker;\n\t}\n\n\t/**\n\t * List of legend marker elements.\n\t *\n\t * @default new ListTemplate<Container>\n\t */\n\tpublic readonly markers: ListTemplate<Container> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Container._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.markers.template.get(\"themeTags\", []), [\"legend\", \"marker\"])\n\t\t}, [this.markers.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeLabel(): Label {\n\t\tconst label = this.labels.make();\n\t\tlabel.states.create(\"disabled\", {});\n\t\treturn label;\n\t}\n\n\t/**\n\t * List of legend label elements.\n\t *\n\t * @default new ListTemplate<Label>\n\t */\n\tpublic readonly labels: ListTemplate<Label> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.labels.template.get(\"themeTags\", []), [\"legend\", \"label\"])\n\t\t}, [this.labels.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeValueLabel(): Label {\n\t\tconst valueLabel = this.valueLabels.make();\n\t\tvalueLabel.states.create(\"disabled\", {});\n\t\treturn valueLabel;\n\t}\n\n\t/**\n\t * List of legend value label elements.\n\t *\n\t * @default new ListTemplate<label>\n\t */\n\tpublic readonly valueLabels: ListTemplate<Label> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => Label._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.valueLabels.template.get(\"themeTags\", []), [\"legend\", \"label\", \"value\"])\n\t\t}, [this.valueLabels.template])\n\t));\n\n\t/**\n\t * @ignore\n\t */\n\tpublic makeMarkerRectangle(): RoundedRectangle {\n\t\tconst markerRectangle = this.markerRectangles.make();\n\t\tmarkerRectangle.states.create(\"disabled\", {});\n\t\treturn markerRectangle;\n\t}\n\n\t/**\n\t * List of rectangle elements used for default legend markers.\n\t *\n\t * @default new ListTemplate<RoundedRectangle>\n\t */\n\tpublic readonly markerRectangles: ListTemplate<RoundedRectangle> = this.addDisposer(new ListTemplate(\n\t\tTemplate.new({}),\n\t\t() => RoundedRectangle._new(this._root, {\n\t\t\tthemeTags: $utils.mergeTags(this.markerRectangles.template.get(\"themeTags\", []), [\"legend\", \"marker\", \"rectangle\"])\n\t\t}, [this.markerRectangles.template])\n\t));\n\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst itemContainer = this.makeItemContainer(dataItem);\n\n\t\tconst nameField = this.get(\"nameField\");\n\t\tconst fillField = this.get(\"fillField\");\n\t\tconst strokeField = this.get(\"strokeField\");\n\n\t\tif (itemContainer) {\n\t\t\tconst clickTarget = this.get(\"clickTarget\", \"itemContainer\");\n\n\t\t\tconst item = dataItem.dataContext as ILegendItem;\n\n\t\t\tif (item && item.set) {\n\t\t\t\titem.set(<any>\"legendDataItem\", dataItem);\n\t\t\t}\n\n\t\t\titemContainer._setDataItem(dataItem);\n\t\t\tdataItem.set(\"itemContainer\", itemContainer);\n\n\t\t\tconst marker = this.makeMarker();\n\t\t\tif (marker) {\n\t\t\t\titemContainer.children.push(marker);\n\t\t\t\tmarker._setDataItem(dataItem);\n\t\t\t\tdataItem.set(\"marker\", marker);\n\n\t\t\t\tconst useDefaultMarker = this.get(\"useDefaultMarker\");\n\n\t\t\t\tconst markerRectangle = marker.children.push(this.makeMarkerRectangle());\n\n\t\t\t\tlet fill = dataItem.get(\"fill\");\n\t\t\t\tlet stroke = dataItem.get(\"stroke\");\n\n\t\t\t\tdataItem.set(\"markerRectangle\", markerRectangle);\n\n\t\t\t\tif (item && item.get) {\n\t\t\t\t\tfill = item.get(fillField as any, fill);\n\t\t\t\t\tstroke = item.get(strokeField as any, stroke);\n\t\t\t\t}\n\n\t\t\t\tif (!stroke) {\n\t\t\t\t\tstroke = fill;\n\t\t\t\t}\n\n\t\t\t\tif (!useDefaultMarker) {\n\t\t\t\t\tif (item && item.createLegendMarker) {\n\t\t\t\t\t\titem.createLegendMarker();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (item.on) {\n\t\t\t\t\t\titem.on(fillField as any, () => {\n\t\t\t\t\t\t\tmarkerRectangle.set(\"fill\", item.get(fillField as any));\n\t\t\t\t\t\t})\n\n\t\t\t\t\t\titem.on(strokeField as any, () => {\n\t\t\t\t\t\t\tmarkerRectangle.set(\"stroke\", item.get(strokeField as any));\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tmarkerRectangle.setAll({ fill, stroke });\n\n\t\t\t\t// this solves if template field is set on slice\n\t\t\t\tconst component = item.component;\n\t\t\t\tif (component && component.updateLegendMarker) {\n\t\t\t\t\tcomponent.updateLegendMarker(item as any);\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst label = this.makeLabel();\n\n\t\t\tif (label) {\n\t\t\t\titemContainer.children.push(label);\n\t\t\t\tlabel._setDataItem(dataItem);\n\t\t\t\tdataItem.set(\"label\", label);\n\n\t\t\t\tlabel.text.on(\"text\", () => {\n\t\t\t\t\titemContainer.setRaw(\"ariaLabel\", label.text._getText() + (this.get(\"clickTarget\") !== \"none\" ? \"; \" + this._t(\"Press ENTER to toggle\") : \"\"));\n\t\t\t\t\titemContainer.markDirtyAccessibility();\n\t\t\t\t});\n\n\t\t\t\tif (item && item.get) {\n\t\t\t\t\tdataItem.set(\"name\", item.get(nameField as any) as string);\n\t\t\t\t}\n\n\t\t\t\tlet name = dataItem.get(\"name\");\n\n\t\t\t\tif (name) {\n\t\t\t\t\tlabel.set(\"text\", name);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst valueLabel = this.makeValueLabel();\n\t\t\tif (valueLabel) {\n\t\t\t\titemContainer.children.push(valueLabel);\n\t\t\t\tvalueLabel._setDataItem(dataItem);\n\t\t\t\tdataItem.set(\"valueLabel\", valueLabel);\n\t\t\t}\n\n\t\t\tif (item && item.show) {\n\n\t\t\t\titem.on(\"visible\", (visible) => {\n\t\t\t\t\titemContainer.set(\"disabled\", !visible);\n\t\t\t\t})\n\n\t\t\t\tif (!item.get(\"visible\")) {\n\t\t\t\t\titemContainer.set(\"disabled\", true);\n\t\t\t\t}\n\n\t\t\t\tif (clickTarget != \"none\") {\n\t\t\t\t\tlet clickContainer = itemContainer;\n\t\t\t\t\tif (clickTarget == \"marker\") {\n\t\t\t\t\t\tclickContainer = marker;\n\t\t\t\t\t}\n\t\t\t\t\tthis._addClickEvents(clickContainer, item, dataItem)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Sort children\n\t\t\tthis.children.values.sort((a, b) => {\n\t\t\t\tconst targetA = a.dataItem!.dataContext;\n\t\t\t\tconst targetB = b.dataItem!.dataContext;\n\t\t\t\tif (targetA && targetB) {\n\t\t\t\t\tconst indexA = this.data.indexOf(targetA);\n\t\t\t\t\tconst indexB = this.data.indexOf(targetB);\n\t\t\t\t\tif (indexA > indexB) {\n\t\t\t\t\t\treturn 1;\n\t\t\t\t\t}\n\t\t\t\t\telse if (indexA < indexB) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t});\n\n\t\t\tif (item && item.updateLegendValue) {\n\t\t\t\titem.updateLegendValue();\n\t\t\t}\n\t\t}\n\n\t}\n\n\n\tprotected _addClickEvents(container: Container, item: ILegendItem, dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tcontainer.set(\"cursorOverStyle\", \"pointer\");\n\t\tcontainer.events.on(\"pointerover\", () => {\n\t\t\tconst component = item.component;\n\t\t\tif (component && component.hoverDataItem) {\n\t\t\t\tcomponent.hoverDataItem(item as any)\n\t\t\t}\n\t\t})\n\n\t\tcontainer.events.on(\"pointerout\", () => {\n\t\t\tconst component = item.component;\n\t\t\tif (component && component.hoverDataItem) {\n\t\t\t\tcomponent.unhoverDataItem(item as any)\n\t\t\t}\n\t\t})\n\n\t\tcontainer.events.on(\"click\", () => {\n\t\t\tconst labelText = dataItem.get(\"label\").text._getText();\n\n\t\t\tif (item.show && item.isHidden && (item.isHidden() || item.get(\"visible\") === false)) {\n\t\t\t\titem.show();\n\t\t\t\tcontainer.set(\"disabled\", false);\n\t\t\t\tthis._root.readerAlert(this._t(\"%1 shown\", this._root.locale, labelText));\n\t\t\t}\n\t\t\telse if (item.hide) {\n\t\t\t\titem.hide();\n\t\t\t\tcontainer.set(\"disabled\", true);\n\t\t\t\tthis._root.readerAlert(this._t(\"%1 hidden\", this._root.locale, labelText));\n\t\t\t}\n\t\t})\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tpublic disposeDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\n\t\tsuper.disposeDataItem(dataItem);\n\n\t\tconst dataContext = dataItem.dataContext as any;\n\t\tif (dataContext && dataContext.get) {\n\t\t\tconst di = dataContext.get(\"legendDataItem\");\n\t\t\tif (di == dataItem) {\n\t\t\t\tdataContext.set(\"legendDataItem\", undefined);\n\t\t\t}\n\t\t}\n\n\t\tlet itemContainer = dataItem.get(\"itemContainer\");\n\t\tif (itemContainer) {\n\t\t\tthis.itemContainers.removeValue(itemContainer);\n\t\t\titemContainer.dispose();\n\t\t}\n\n\t\tlet marker = dataItem.get(\"marker\");\n\t\tif (marker) {\n\t\t\tthis.markers.removeValue(marker);\n\t\t\tmarker.dispose();\n\t\t}\n\n\t\tlet markerRectangle = dataItem.get(\"markerRectangle\");\n\t\tif (markerRectangle) {\n\t\t\tthis.markerRectangles.removeValue(markerRectangle);\n\t\t\tmarkerRectangle.dispose();\n\t\t}\n\n\t\tlet label = dataItem.get(\"label\");\n\t\tif (label) {\n\t\t\tthis.labels.removeValue(label);\n\t\t\tlabel.dispose();\n\t\t}\n\n\t\tlet valueLabel = dataItem.get(\"valueLabel\");\n\t\tif (valueLabel) {\n\t\t\tthis.valueLabels.removeValue(valueLabel);\n\t\t\tvalueLabel.dispose();\n\t\t}\n\n\t}\n}\n"]}
@@ -35,16 +35,6 @@ export class Line extends Graphics {
35
35
  }
36
36
  }
37
37
  }
38
- Object.defineProperty(Line, "className", {
39
- enumerable: true,
40
- configurable: true,
41
- writable: true,
42
- value: "Line"
43
- });
44
- Object.defineProperty(Line, "classNames", {
45
- enumerable: true,
46
- configurable: true,
47
- writable: true,
48
- value: Graphics.classNames.concat([Line.className])
49
- });
38
+ Line.className = "Line";
39
+ Line.classNames = Graphics.classNames.concat([Line.className]);
50
40
  //# sourceMappingURL=Line.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Line.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuC,MAAM,YAAY,CAAC;AAE3E,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAoBtC;;;;;GAKG;AACH,MAAM,OAAO,IAAK,SAAQ,QAAQ;IAQ1B,cAAc;QACpB,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;YAC3I,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACnB;IACF,CAAC;IAEM,QAAQ;QACd,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,IAAI,CAAC,MAAM,EAAE;YAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEtC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAEtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC/C;iBACI,IAAI,QAAQ,EAAE;gBAClB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAC7C;iBACI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAEtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3B;SACD;IACF,CAAC;;AApCD;;;;WAAkC,MAAM;GAAC;AACzC;;;;WAA0C,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"./Graphics\";\nimport type { IPoint } from \"../util/IPoint\";\nimport * as $draw from \"../util/Draw\";\n\nexport interface ILineSettings extends IGraphicsSettings {\n\n\t/**\n\t * A list of [[IPoint]] (x/y coordinates) points for the line.\n\t */\n\tpoints?: Array<IPoint>;\n\n\t/**\n\t * A list of [[IPoint]] arrays for different segments of the line.\n\t * \n\t * @since 5.1.4\n\t */\n\tsegments?: Array<Array<Array<IPoint>>>;\n}\n\nexport interface ILinePrivate extends IGraphicsPrivate {\n}\n\n/**\n * Draws a line.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/graphics/} for more info\n * @important\n */\nexport class Line extends Graphics {\n\n\tdeclare public _settings: ILineSettings;\n\tdeclare public _privateSettings: ILinePrivate;\n\n\tpublic static className: string = \"Line\";\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([Line.className]);\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"points\") || this.isDirty(\"segments\") || this._sizeDirty || this.isPrivateDirty(\"width\") || this.isPrivateDirty(\"height\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this._clear) {\n\n\t\t\tconst points = this.get(\"points\");\n\t\t\tconst segments = this.get(\"segments\");\n\n\t\t\tif (points && points.length > 0) {\n\t\t\t\tlet point = points[0];\n\n\t\t\t\tthis._display.moveTo(point.x, point.y);\n\t\t\t\t$draw.segmentedLine(this._display, [[points]]);\n\t\t\t}\n\t\t\telse if (segments) {\n\t\t\t\t$draw.segmentedLine(this._display, segments);\n\t\t\t}\n\t\t\telse if (!this.get(\"draw\")) {\n\t\t\t\tlet w = this.width();\n\t\t\t\tlet h = this.height();\n\n\t\t\t\tthis._display.moveTo(0, 0);\n\t\t\t\tthis._display.lineTo(w, h);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"Line.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Line.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuC,MAAM,YAAY,CAAC;AAE3E,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAoBtC;;;;;GAKG;AACH,MAAM,OAAO,IAAK,SAAQ,QAAQ;IAQ1B,cAAc;QACpB,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;YAC3I,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;SACnB;IACF,CAAC;IAEM,QAAQ;QACd,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEjB,IAAI,IAAI,CAAC,MAAM,EAAE;YAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEtC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAEtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC/C;iBACI,IAAI,QAAQ,EAAE;gBAClB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAC7C;iBACI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAEtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3B;SACD;IACF,CAAC;;AApCa,cAAS,GAAW,MAAM,CAAC;AAC3B,eAAU,GAAkB,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"./Graphics\";\nimport type { IPoint } from \"../util/IPoint\";\nimport * as $draw from \"../util/Draw\";\n\nexport interface ILineSettings extends IGraphicsSettings {\n\n\t/**\n\t * A list of [[IPoint]] (x/y coordinates) points for the line.\n\t */\n\tpoints?: Array<IPoint>;\n\n\t/**\n\t * A list of [[IPoint]] arrays for different segments of the line.\n\t * \n\t * @since 5.1.4\n\t */\n\tsegments?: Array<Array<Array<IPoint>>>;\n}\n\nexport interface ILinePrivate extends IGraphicsPrivate {\n}\n\n/**\n * Draws a line.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/graphics/} for more info\n * @important\n */\nexport class Line extends Graphics {\n\n\tdeclare public _settings: ILineSettings;\n\tdeclare public _privateSettings: ILinePrivate;\n\n\tpublic static className: string = \"Line\";\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([Line.className]);\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"points\") || this.isDirty(\"segments\") || this._sizeDirty || this.isPrivateDirty(\"width\") || this.isPrivateDirty(\"height\")) {\n\t\t\tthis._clear = true;\n\t\t}\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tif (this._clear) {\n\n\t\t\tconst points = this.get(\"points\");\n\t\t\tconst segments = this.get(\"segments\");\n\n\t\t\tif (points && points.length > 0) {\n\t\t\t\tlet point = points[0];\n\n\t\t\t\tthis._display.moveTo(point.x, point.y);\n\t\t\t\t$draw.segmentedLine(this._display, [[points]]);\n\t\t\t}\n\t\t\telse if (segments) {\n\t\t\t\t$draw.segmentedLine(this._display, segments);\n\t\t\t}\n\t\t\telse if (!this.get(\"draw\")) {\n\t\t\t\tlet w = this.width();\n\t\t\t\tlet h = this.height();\n\n\t\t\t\tthis._display.moveTo(0, 0);\n\t\t\t\tthis._display.lineTo(w, h);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -10,34 +10,14 @@ import * as $math from "../util/Math";
10
10
  export class Link extends Container {
11
11
  constructor() {
12
12
  super(...arguments);
13
- Object.defineProperty(this, "line", {
14
- enumerable: true,
15
- configurable: true,
16
- writable: true,
17
- value: this.children.push(OrthogonalLine.new(this._root, { themeTags: ["line"] }))
18
- });
19
- Object.defineProperty(this, "hitLine", {
20
- enumerable: true,
21
- configurable: true,
22
- writable: true,
23
- value: this.children.push(OrthogonalLine.new(this._root, { themeTags: ["hit"] }))
24
- });
25
- Object.defineProperty(this, "startArrow", {
26
- enumerable: true,
27
- configurable: true,
28
- writable: true,
29
- value: this.children.push(Triangle.new(this._root, {
30
- themeTags: ["start", "arrow"],
31
- }))
32
- });
33
- Object.defineProperty(this, "endArrow", {
34
- enumerable: true,
35
- configurable: true,
36
- writable: true,
37
- value: this.children.push(Triangle.new(this._root, {
38
- themeTags: ["end", "arrow"],
39
- }))
40
- });
13
+ this.line = this.children.push(OrthogonalLine.new(this._root, { themeTags: ["line"] }));
14
+ this.hitLine = this.children.push(OrthogonalLine.new(this._root, { themeTags: ["hit"] }));
15
+ this.startArrow = this.children.push(Triangle.new(this._root, {
16
+ themeTags: ["start", "arrow"],
17
+ }));
18
+ this.endArrow = this.children.push(Triangle.new(this._root, {
19
+ themeTags: ["end", "arrow"],
20
+ }));
41
21
  }
42
22
  _afterNew() {
43
23
  this.addTag("link");
@@ -75,16 +55,6 @@ export class Link extends Container {
75
55
  }
76
56
  }
77
57
  }
78
- Object.defineProperty(Link, "className", {
79
- enumerable: true,
80
- configurable: true,
81
- writable: true,
82
- value: "Link"
83
- });
84
- Object.defineProperty(Link, "classNames", {
85
- enumerable: true,
86
- configurable: true,
87
- writable: true,
88
- value: Container.classNames.concat([Link.className])
89
- });
58
+ Link.className = "Link";
59
+ Link.classNames = Container.classNames.concat([Link.className]);
90
60
  //# sourceMappingURL=Link.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Link.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Link.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"../util/IPoint\";\n\nimport { Container, IContainerSettings, IContainerPrivate } from \"./Container\";\nimport { Triangle } from \"./Triangle\";\nimport { OrthogonalLine } from \"./OrthogonalLine\";\n\nimport * as $math from \"../util/Math\";\n\nexport interface ILinkSettings extends IContainerSettings {\n\tpoints?: Array<IPoint>;\n\tcornerRadius?: number;\n}\n\nexport interface ILinkPrivate extends IContainerPrivate {\n}\n\n/** \n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/graphics/} for more info\n * @important\n */\nexport class Link extends Container {\n\n\tdeclare public _settings: ILinkSettings;\n\tdeclare public _privateSettings: ILinkPrivate;\n\n\tpublic static className: string = \"Link\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Link.className]);\n\n\tpublic line: OrthogonalLine = this.children.push(OrthogonalLine.new(this._root, { themeTags: [\"line\"] }));\n\tpublic hitLine: OrthogonalLine = this.children.push(OrthogonalLine.new(this._root, { themeTags: [\"hit\"] }));\n\n\tpublic startArrow: Triangle = this.children.push(Triangle.new(this._root, {\n\t\tthemeTags: [\"start\", \"arrow\"],\n\t}));\n\n\tpublic endArrow: Triangle = this.children.push(Triangle.new(this._root, {\n\t\tthemeTags: [\"end\", \"arrow\"],\n\t}));\n\n\tprotected _afterNew() {\n\t\tthis.addTag(\"link\");\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tif (this.isDirty(\"points\")) {\n\t\t\tlet points = OrthogonalLine.makeOrthogonal(this.get(\"points\", []));\n\n\t\t\tthis.line.set(\"points\", points);\n\t\t\tthis.hitLine.set(\"points\", points);\n\n\t\t\tconst startArrow = this.startArrow;\n\t\t\tconst endArrow = this.endArrow;\n\n\t\t\tconst len = points.length;\n\t\t\tif (len > 1) {\n\t\t\t\tconst [start, next] = points;\n\t\t\t\tstartArrow.setAll({\n\t\t\t\t\tx: start.x,\n\t\t\t\t\ty: start.y,\n\t\t\t\t\trotation: $math.getAngle(start, next) - 90\n\t\t\t\t});\n\n\t\t\t\tconst last = points[len - 1];\n\t\t\t\tconst prev = points[len - 2];\n\t\t\t\tendArrow.setAll({\n\t\t\t\t\tx: last.x,\n\t\t\t\t\ty: last.y,\n\t\t\t\t\trotation: $math.getAngle(prev, last) + 90\n\t\t\t\t});\n\t\t\t} else if (len === 1) {\n\t\t\t\tconst [pt] = points;\n\t\t\t\tstartArrow.setAll({ x: pt.x, y: pt.y, rotation: 0 });\n\t\t\t\tendArrow.setAll({ x: pt.x, y: pt.y, rotation: 0 });\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"Link.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Link.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"../util/IPoint\";\n\nimport { Container, IContainerSettings, IContainerPrivate } from \"./Container\";\nimport { Triangle } from \"./Triangle\";\nimport { OrthogonalLine } from \"./OrthogonalLine\";\n\nimport * as $math from \"../util/Math\";\n\nexport interface ILinkSettings extends IContainerSettings {\n\tpoints?: Array<IPoint>;\n\tcornerRadius?: number;\n}\n\nexport interface ILinkPrivate extends IContainerPrivate {\n}\n\n/** \n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/graphics/} for more info\n * @important\n */\nexport class Link extends Container {\n\n\tdeclare public _settings: ILinkSettings;\n\tdeclare public _privateSettings: ILinkPrivate;\n\n\tpublic static className: string = \"Link\";\n\tpublic static classNames: Array<string> = Container.classNames.concat([Link.className]);\n\n\tpublic line: OrthogonalLine = this.children.push(OrthogonalLine.new(this._root, { themeTags: [\"line\"] }));\n\tpublic hitLine: OrthogonalLine = this.children.push(OrthogonalLine.new(this._root, { themeTags: [\"hit\"] }));\n\n\tpublic startArrow: Triangle = this.children.push(Triangle.new(this._root, {\n\t\tthemeTags: [\"start\", \"arrow\"],\n\t}));\n\n\tpublic endArrow: Triangle = this.children.push(Triangle.new(this._root, {\n\t\tthemeTags: [\"end\", \"arrow\"],\n\t}));\n\n\tprotected _afterNew() {\n\t\tthis.addTag(\"link\");\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tif (this.isDirty(\"points\")) {\n\t\t\tlet points = OrthogonalLine.makeOrthogonal(this.get(\"points\", []));\n\n\t\t\tthis.line.set(\"points\", points);\n\t\t\tthis.hitLine.set(\"points\", points);\n\n\t\t\tconst startArrow = this.startArrow;\n\t\t\tconst endArrow = this.endArrow;\n\n\t\t\tconst len = points.length;\n\t\t\tif (len > 1) {\n\t\t\t\tconst [start, next] = points;\n\t\t\t\tstartArrow.setAll({\n\t\t\t\t\tx: start.x,\n\t\t\t\t\ty: start.y,\n\t\t\t\t\trotation: $math.getAngle(start, next) - 90\n\t\t\t\t});\n\n\t\t\t\tconst last = points[len - 1];\n\t\t\t\tconst prev = points[len - 2];\n\t\t\t\tendArrow.setAll({\n\t\t\t\t\tx: last.x,\n\t\t\t\t\ty: last.y,\n\t\t\t\t\trotation: $math.getAngle(prev, last) + 90\n\t\t\t\t});\n\t\t\t} else if (len === 1) {\n\t\t\t\tconst [pt] = points;\n\t\t\t\tstartArrow.setAll({ x: pt.x, y: pt.y, rotation: 0 });\n\t\t\t\tendArrow.setAll({ x: pt.x, y: pt.y, rotation: 0 });\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -3,60 +3,14 @@
3
3
  */
4
4
  export class MonotoneXTension {
5
5
  constructor(context, tension) {
6
- Object.defineProperty(this, "_line", {
7
- enumerable: true,
8
- configurable: true,
9
- writable: true,
10
- value: 0
11
- });
12
- Object.defineProperty(this, "_point", {
13
- enumerable: true,
14
- configurable: true,
15
- writable: true,
16
- value: 0
17
- });
18
- Object.defineProperty(this, "_context", {
19
- enumerable: true,
20
- configurable: true,
21
- writable: true,
22
- value: void 0
23
- });
24
- Object.defineProperty(this, "_x0", {
25
- enumerable: true,
26
- configurable: true,
27
- writable: true,
28
- value: 0
29
- });
30
- Object.defineProperty(this, "_x1", {
31
- enumerable: true,
32
- configurable: true,
33
- writable: true,
34
- value: 0
35
- });
36
- Object.defineProperty(this, "_y0", {
37
- enumerable: true,
38
- configurable: true,
39
- writable: true,
40
- value: 0
41
- });
42
- Object.defineProperty(this, "_y1", {
43
- enumerable: true,
44
- configurable: true,
45
- writable: true,
46
- value: 0
47
- });
48
- Object.defineProperty(this, "_t0", {
49
- enumerable: true,
50
- configurable: true,
51
- writable: true,
52
- value: 0
53
- });
54
- Object.defineProperty(this, "_tension", {
55
- enumerable: true,
56
- configurable: true,
57
- writable: true,
58
- value: 0
59
- });
6
+ this._line = 0;
7
+ this._point = 0;
8
+ this._x0 = 0;
9
+ this._x1 = 0;
10
+ this._y0 = 0;
11
+ this._y1 = 0;
12
+ this._t0 = 0;
13
+ this._tension = 0;
60
14
  this._context = context;
61
15
  this._tension = tension;
62
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MonotoneXTension.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/MonotoneXTension.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @ignore\n */\nexport class MonotoneXTension {\n\n\tconstructor(context: CanvasRenderingContext2D, tension: number) {\n\t\tthis._context = context;\n\t\tthis._tension = tension;\n\t}\n\n\tpublic _line = 0;\n\tpublic _point = 0;\n\tpublic _context: any;\n\tpublic _x0 = 0;\n\tpublic _x1 = 0;\n\tpublic _y0 = 0;\n\tpublic _y1 = 0;\n\tpublic _t0 = 0;\n\n\tpublic _tension: number = 0;\n\n\tpublic areaStart() {\n\t\tthis._line = 0;\n\t}\n\n\tpublic areaEnd() {\n\t\tthis._line = NaN;\n\t}\n\n\tpublic lineStart() {\n\t\tthis._x0 = this._x1 =\n\t\t\tthis._y0 = this._y1 =\n\t\t\tthis._t0 = NaN;\n\t\tthis._point = 0;\n\t}\n\n\tpublic lineEnd() {\n\t\tswitch (this._point) {\n\t\t\tcase 2: this._context.lineTo(this._x1, this._y1); break;\n\t\t\tcase 3: point(this, this._t0, slope2(this, this._t0)); break;\n\t\t}\n\t\tif (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n\t\tthis._line = 1 - this._line;\n\t}\n\n\tpublic point(x: number, y: number) {\n\t\tlet t1 = NaN;\n\n\t\tx = +x, y = +y;\n\t\tif (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n\t\tswitch (this._point) {\n\t\t\tcase 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n\t\t\tcase 1: this._point = 2; break;\n\t\t\tcase 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n\t\t\tdefault: point(this, this._t0, t1 = slope3(this, x, y)); break;\n\t\t}\n\n\t\tthis._x0 = this._x1, this._x1 = x;\n\t\tthis._y0 = this._y1, this._y1 = y;\n\t\tthis._t0 = t1;\n\t}\n}\n\n/**\n * @ignore\n */\nexport function curveMonotoneXTension(tension: number) {\n\n\tfunction monotoneXTension(context: any) {\n\t\treturn new MonotoneXTension(context, tension);\n\t}\n\n\treturn monotoneXTension;\n}\n\n/**\n * @ignore\n */\nfunction sign(x: number) {\n\treturn x < 0 ? -1 : 1;\n}\n\n/**\n * @ignore\n */\nfunction slope3(that: MonotoneXTension, x2: number, y2: number) {\n\tlet h0 = (that._x1 - that._x0) as any;\n\tlet h1 = (x2 - that._x1) as any;\n\tlet s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0);\n\tlet s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0);\n\tlet p = (s0 * h1 + s1 * h0) / (h0 + h1);\n\treturn (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n/**\n * @ignore\n */\nfunction slope2(that: MonotoneXTension, t: number) {\n\tlet h = that._x1 - that._x0;\n\treturn h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n/**\n * @ignore\n */\nfunction point(that: MonotoneXTension, t0: number, t1: number) {\n\tlet x0 = that._x0,\n\t\ty0 = that._y0,\n\t\tx1 = that._x1,\n\t\ty1 = that._y1,\n\t\tdx = (x1 - x0) / 1.5 * (1 - that._tension);\n\tthat._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}"]}
1
+ {"version":3,"file":"MonotoneXTension.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/MonotoneXTension.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @ignore\n */\nexport class MonotoneXTension {\n\n\tconstructor(context: CanvasRenderingContext2D, tension: number) {\n\t\tthis._context = context;\n\t\tthis._tension = tension;\n\t}\n\n\tpublic _line = 0;\n\tpublic _point = 0;\n\tpublic _context: any;\n\tpublic _x0 = 0;\n\tpublic _x1 = 0;\n\tpublic _y0 = 0;\n\tpublic _y1 = 0;\n\tpublic _t0 = 0;\n\n\tpublic _tension: number = 0;\n\n\tpublic areaStart() {\n\t\tthis._line = 0;\n\t}\n\n\tpublic areaEnd() {\n\t\tthis._line = NaN;\n\t}\n\n\tpublic lineStart() {\n\t\tthis._x0 = this._x1 =\n\t\t\tthis._y0 = this._y1 =\n\t\t\tthis._t0 = NaN;\n\t\tthis._point = 0;\n\t}\n\n\tpublic lineEnd() {\n\t\tswitch (this._point) {\n\t\t\tcase 2: this._context.lineTo(this._x1, this._y1); break;\n\t\t\tcase 3: point(this, this._t0, slope2(this, this._t0)); break;\n\t\t}\n\t\tif (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n\t\tthis._line = 1 - this._line;\n\t}\n\n\tpublic point(x: number, y: number) {\n\t\tlet t1 = NaN;\n\n\t\tx = +x, y = +y;\n\t\tif (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n\t\tswitch (this._point) {\n\t\t\tcase 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n\t\t\tcase 1: this._point = 2; break;\n\t\t\tcase 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n\t\t\tdefault: point(this, this._t0, t1 = slope3(this, x, y)); break;\n\t\t}\n\n\t\tthis._x0 = this._x1, this._x1 = x;\n\t\tthis._y0 = this._y1, this._y1 = y;\n\t\tthis._t0 = t1;\n\t}\n}\n\n/**\n * @ignore\n */\nexport function curveMonotoneXTension(tension: number) {\n\n\tfunction monotoneXTension(context: any) {\n\t\treturn new MonotoneXTension(context, tension);\n\t}\n\n\treturn monotoneXTension;\n}\n\n/**\n * @ignore\n */\nfunction sign(x: number) {\n\treturn x < 0 ? -1 : 1;\n}\n\n/**\n * @ignore\n */\nfunction slope3(that: MonotoneXTension, x2: number, y2: number) {\n\tlet h0 = (that._x1 - that._x0) as any;\n\tlet h1 = (x2 - that._x1) as any;\n\tlet s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0);\n\tlet s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0);\n\tlet p = (s0 * h1 + s1 * h0) / (h0 + h1);\n\treturn (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n/**\n * @ignore\n */\nfunction slope2(that: MonotoneXTension, t: number) {\n\tlet h = that._x1 - that._x0;\n\treturn h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n/**\n * @ignore\n */\nfunction point(that: MonotoneXTension, t0: number, t1: number) {\n\tlet x0 = that._x0,\n\t\ty0 = that._y0,\n\t\tx1 = that._x1,\n\t\ty1 = that._y1,\n\t\tdx = (x1 - x0) / 1.5 * (1 - that._tension);\n\tthat._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}"]}