@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":"AxisRendererY.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/AxisRendererY.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"../../../core/util/IPoint\";\nimport type { Graphics } from \"../../../core/render/Graphics\";\nimport type { AxisLabel } from \"./AxisLabel\";\nimport type { AxisBullet } from \"./AxisBullet\";\nimport type { Grid } from \"./Grid\";\nimport type { AxisTick } from \"./AxisTick\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\nimport type { Template } from \"../../../core/util/Template\";\n\nimport { AxisRenderer, IAxisRendererSettings, IAxisRendererPrivate } from \"./AxisRenderer\";\nimport { p100 } from \"../../../core/util/Percent\";\nimport { Rectangle } from \"../../../core/render/Rectangle\";\n\nimport * as $type from \"../../../core/util/Type\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface IAxisRendererYSettings extends IAxisRendererSettings {\n\n\t/**\n\t * If set to `true` the axis will be drawn on the opposite side of the plot\n\t * area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Axis_position} for more info\n\t * @default false\n\t */\n\topposite?: boolean;\n\n\t/**\n\t * If set to `true`, all axis elements (ticks, labels) will be drawn inside\n\t * plot area.\n\t *\n\t * @default false\n\t */\n\tinside?: boolean;\n}\n\nexport interface IAxisRendererYPrivate extends IAxisRendererPrivate {\n}\n\n/**\n * Used to render vertical axis.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/#Axis_renderer} for more info\n * @important\n */\nexport class AxisRendererY extends AxisRenderer {\n\n\tpublic static className: string = \"AxisRendererY\";\n\tpublic static classNames: Array<string> = AxisRenderer.classNames.concat([AxisRendererY.className]);\n\n\tdeclare public _settings: IAxisRendererYSettings;\n\tdeclare public _privateSettings: IAxisRendererYPrivate;\n\n\tdeclare public readonly labelTemplate: Template<AxisLabel>;\n\n\tprotected _downY?: number;\n\n\tpublic thumb: Rectangle = Rectangle.new(this._root, { height: p100, isMeasured: false, themeTags: [\"axis\", \"y\", \"thumb\", \"zoomgrip\"] });\n\n\tpublic _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"renderer\", \"y\"]);\n\t\tif (this._settings.opposite) {\n\t\t\tthis._settings.themeTags.push(\"opposite\");\n\t\t}\n\n\t\tsuper._afterNew();\n\t\tthis.setPrivateRaw(\"letter\", \"Y\");\n\n\t\tconst gridTemplate = this.grid.template;\n\t\tgridTemplate.set(\"width\", p100);\n\t\tgridTemplate.set(\"height\", 0);\n\t\tgridTemplate.set(\"draw\", (display, graphics) => {\n\t\t\tdisplay.moveTo(0, 0);\n\t\t\tdisplay.lineTo(graphics.width(), 0);\n\t\t});\n\n\t\tthis.set(\"draw\", (display, renderer) => {\n\t\t\tdisplay.moveTo(0, 0);\n\t\t\tdisplay.lineTo(0, renderer.height());\n\t\t});\n\t}\n\n\tprotected _getPan(point1: IPoint, point2: IPoint): number {\n\t\treturn (point1.y - point2.y) / this.height();\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tconst axis = this.axis;\n\t\tconst ghostLabel = axis.ghostLabel;\n\t\tif (ghostLabel) {\n\t\t\tghostLabel.setPrivate(\"visible\", !this.get(\"inside\"));\n\t\t\tghostLabel.set(\"y\", -1000);\n\t\t}\n\n\t\tconst thumb = this.thumb;\n\t\tconst opposite = \"opposite\";\n\t\tconst inside = \"inside\";\n\t\tconst chart = this.chart;\n\n\t\tif (this.isDirty(opposite) || this.isDirty(inside)) {\n\n\t\t\tconst axisChildren = axis.children;\n\n\t\t\tif (this.get(inside)) {\n\t\t\t\taxis.addTag(inside);\n\t\t\t}\n\t\t\telse {\n\t\t\t\taxis.removeTag(inside);\n\t\t\t}\n\n\t\t\tif (chart) {\n\t\t\t\tif (this.get(opposite)) {\n\t\t\t\t\tconst children = chart.rightAxesContainer.children;\n\t\t\t\t\tif (children.indexOf(axis) == -1) {\n\t\t\t\t\t\tchildren.moveValue(axis, 0);\n\t\t\t\t\t}\n\t\t\t\t\taxis.addTag(opposite);\n\t\t\t\t\taxisChildren.moveValue(this, 0);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconst children = chart.leftAxesContainer.children;\n\t\t\t\t\tif (children.indexOf(axis) == -1) {\n\t\t\t\t\t\tchildren.moveValue(axis);\n\t\t\t\t\t}\n\t\t\t\t\taxis.removeTag(opposite);\n\n\t\t\t\t\taxisChildren.moveValue(this);\n\t\t\t\t}\n\n\t\t\t\taxis.ghostLabel?._applyThemes();\n\t\t\t\tthis.labels.each((label) => {\n\t\t\t\t\tlabel._applyThemes();\n\t\t\t\t})\n\t\t\t\tthis.root._markDirtyRedraw();\n\t\t\t}\n\t\t\taxis.markDirtySize();\n\t\t}\n\n\t\tconst w = axis.labelsContainer.width();\n\n\t\tif (chart) {\n\t\t\tif (this.get(opposite)) {\n\t\t\t\tthumb.set(\"centerX\", 0);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthumb.set(\"centerX\", w);\n\t\t\t}\n\t\t}\n\n\t\tthumb.setPrivate(\"width\", w);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic processAxis() {\n\t\tsuper.processAxis();\n\t\tconst axis = this.axis;\n\t\tif (axis.get(\"height\") == null) {\n\t\t\taxis.set(\"height\", p100);\n\t\t}\n\t\tconst horizontalLayout = this._root.horizontalLayout;\n\t\taxis.set(\"layout\", horizontalLayout);\n\t\taxis.labelsContainer.set(\"height\", p100);\n\t\taxis.axisHeader.set(\"layout\", horizontalLayout);\n\t}\n\n\tpublic _updatePositions() {\n\t\tconst axis = this.axis;\n\t\tconst y = axis.y() - $utils.relativeToValue(axis.get(\"centerY\", 0), axis.height());\n\t\taxis.gridContainer.set(\"y\", y);\n\t\taxis.topGridContainer.set(\"y\", y);\n\t\taxis.bulletsContainer.set(\"x\", this.x());\n\n\t\tconst chart = axis.chart;\n\t\tif (chart) {\n\t\t\tconst plotContainer = chart.plotContainer;\n\t\t\tconst axisHeader = axis.axisHeader;\n\t\t\tlet height = axis.get(\"marginTop\", 0);\n\n\t\t\tif (axisHeader.children.length > 0) {\n\t\t\t\theight = axis.axisHeader.height();\n\t\t\t\taxis.set(\"marginTop\", height + 1);\n\t\t\t}\n\t\t\telse {\n\t\t\t\taxisHeader.set(\"height\", height);\n\t\t\t}\n\t\t\taxisHeader.setAll({ y: axis.y() - height, x: -1, width: plotContainer.width() + 2 });\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic axisLength(): number {\n\t\treturn this.axis.innerHeight();\n\t}\n\n\t/**\n\t * Converts axis relative position to actual coordinate in pixels.\n\t *\n\t * @param position Position\n\t * @return Point\n\t */\n\tpublic positionToPoint(position: number): IPoint {\n\t\treturn { x: 0, y: this.positionToCoordinate(position) };\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLabel(label?: AxisLabel, position?: number, endPosition?: number, count?: number) {\n\t\tif (label) {\n\t\t\tif (!$type.isNumber(position)) {\n\t\t\t\tposition = 0;\n\t\t\t}\n\n\t\t\tlet location = 0.5;\n\t\t\tif ($type.isNumber(count) && count > 1) {\n\t\t\t\tlocation = label.get(\"multiLocation\", location)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlocation = label.get(\"location\", location)\n\t\t\t}\n\n\t\t\tconst opposite = this.get(\"opposite\");\n\t\t\tconst inside = label.get(\"inside\", this.get(\"inside\", false));\n\n\t\t\tif (opposite) {\n\t\t\t\tlabel.set(\"x\", 0);\n\n\t\t\t\tif (inside) {\n\t\t\t\t\tlabel.set(\"position\", \"absolute\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlabel.set(\"position\", \"relative\");\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (inside) {\n\t\t\t\t\tlabel.set(\"x\", 0);\n\t\t\t\t\tlabel.set(\"position\", \"absolute\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlabel.set(\"x\", undefined);\n\t\t\t\t\tlabel.set(\"position\", \"relative\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($type.isNumber(endPosition) && endPosition != position) {\n\t\t\t\tposition = position + (endPosition - position) * location;\n\t\t\t}\n\n\t\t\tlabel.set(\"y\", this.positionToCoordinate(position));\n\t\t\tthis.toggleVisibility(label, position, label.get(\"minPosition\", 0), label.get(\"maxPosition\", 1));\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateGrid(grid?: Grid, position?: number, endPosition?: number) {\n\t\tif (grid) {\n\t\t\tif (!$type.isNumber(position)) {\n\t\t\t\tposition = 0;\n\t\t\t}\n\n\t\t\tlet location = grid.get(\"location\", 0.5);\n\t\t\tif ($type.isNumber(endPosition) && endPosition != position) {\n\t\t\t\tposition = position + (endPosition - position) * location;\n\t\t\t}\n\n\t\t\tgrid.set(\"y\", this.positionToCoordinate(position));\n\t\t\tthis.toggleVisibility(grid, position, 0, 1);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateTick(tick?: AxisTick, position?: number, endPosition?: number, count?: number) {\n\t\tif (tick) {\n\t\t\tif (!$type.isNumber(position)) {\n\t\t\t\tposition = 0;\n\t\t\t}\n\n\t\t\tlet location = 0.5;\n\t\t\tif ($type.isNumber(count) && count > 1) {\n\t\t\t\tlocation = tick.get(\"multiLocation\", location);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlocation = tick.get(\"location\", location);\n\t\t\t}\n\n\t\t\tif ($type.isNumber(endPosition) && endPosition != position) {\n\t\t\t\tposition = position + (endPosition - position) * location;\n\t\t\t}\n\n\t\t\ttick.set(\"y\", this.positionToCoordinate(position));\n\n\t\t\tlet length = tick.get(\"length\", 0);\n\t\t\tconst inside = tick.get(\"inside\", this.get(\"inside\", false));\n\n\t\t\tif (this.get(\"opposite\")) {\n\t\t\t\ttick.set(\"x\", 0);\n\t\t\t\tif (inside) {\n\t\t\t\t\tlength *= -1\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (!inside) {\n\t\t\t\t\tlength *= -1\n\t\t\t\t}\n\t\t\t}\n\t\t\ttick.set(\"draw\", (display) => {\n\t\t\t\tdisplay.moveTo(0, 0);\n\t\t\t\tdisplay.lineTo(length, 0);\n\t\t\t})\n\n\t\t\tthis.toggleVisibility(tick, position, tick.get(\"minPosition\", 0), tick.get(\"maxPosition\", 1));\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateBullet(bullet?: AxisBullet, position?: number, endPosition?: number) {\n\t\tif (bullet) {\n\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tif (sprite) {\n\n\t\t\t\tif (!$type.isNumber(position)) {\n\t\t\t\t\tposition = 0;\n\t\t\t\t}\n\n\t\t\t\tlet location = bullet.get(\"location\", 0.5);\n\t\t\t\tif ($type.isNumber(endPosition) && endPosition != position) {\n\t\t\t\t\tposition = position + (endPosition - position) * location;\n\t\t\t\t}\n\n\n\t\t\t\tlet bulletPosition = this.axis.roundAxisPosition(position, location);\n\t\t\t\tlet previousBullet = this.axis._bullets[bulletPosition];\n\t\t\t\tlet d = 1;\n\t\t\t\tif (this.get(\"opposite\")) {\n\t\t\t\t\td = -1;\n\t\t\t\t}\n\n\t\t\t\tif (bullet.get(\"stacked\")) {\n\t\t\t\t\tif (previousBullet) {\n\t\t\t\t\t\tlet previousSprite = previousBullet.get(\"sprite\");\n\t\t\t\t\t\tif (previousSprite) {\n\t\t\t\t\t\t\tsprite.set(\"x\", previousSprite.x() + previousSprite.width() * d);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tsprite.set(\"x\", 0);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.axis._bullets[bulletPosition] = bullet;\n\n\n\t\t\t\tsprite.set(\"y\", this.positionToCoordinate(position));\n\n\t\t\t\tthis.toggleVisibility(sprite, position, 0, 1);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateFill(fill?: Graphics, position?: number, endPosition?: number) {\n\t\tif (fill) {\n\t\t\tif (!$type.isNumber(position)) {\n\t\t\t\tposition = 0;\n\t\t\t}\n\t\t\tif (!$type.isNumber(endPosition)) {\n\t\t\t\tendPosition = 1;\n\t\t\t}\n\n\t\t\tlet y0 = this.positionToCoordinate(position);\n\t\t\tlet y1 = this.positionToCoordinate(endPosition);\n\n\t\t\tthis.fillDrawMethod(fill, y0, y1);\n\t\t}\n\t}\n\n\tprotected fillDrawMethod(fill: Graphics, y0: number, y1: number) {\n\t\tfill.set(\"draw\", (display) => {\n\t\t\t// using for holes, so can not be rectangle\n\t\t\tconst w = this.axis!.gridContainer.width();\n\t\t\tconst h = this.height();\n\n\t\t\tif (y1 < y0) {\n\t\t\t\t[y1, y0] = [y0, y1];\n\t\t\t}\n\n\t\t\tif (y0 > h || y1 < 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t//y0 = Math.max(0, y0);\n\t\t\t//y1 = Math.min(h, y1);\n\n\t\t\tdisplay.moveTo(0, y0);\n\t\t\tdisplay.lineTo(w, y0);\n\t\t\tdisplay.lineTo(w, y1);\n\t\t\tdisplay.lineTo(0, y1);\n\t\t\tdisplay.lineTo(0, y0);\n\t\t})\n\t}\n\n\t/**\n\t * Converts relative position (0-1) on axis to a pixel coordinate.\n\t *\n\t * @param position Position (0-1)\n\t * @return Coordinate (px)\n\t */\n\tpublic positionToCoordinate(position: number): number {\n\t\tif (!this._inversed) {\n\t\t\treturn (this._end - position) * this._axisLength;\n\t\t}\n\t\telse {\n\t\t\treturn (position - this._start) * this._axisLength;\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic positionTooltip(tooltip: Tooltip, position: number) {\n\t\tthis._positionTooltip(tooltip, { x: 0, y: this.positionToCoordinate(position) });\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateTooltipBounds(tooltip: Tooltip) {\n\t\tconst inside = this.get(\"inside\");\n\t\tconst num = 100000;\n\n\t\tlet global = this._display.toGlobal({ x: 0, y: 0 });\n\t\tlet y = global.y;\n\t\tlet x = 0;\n\t\tlet h = this.axisLength();\n\t\tlet w = num;\n\n\t\tlet pointerOrientation: \"left\" | \"right\" = \"right\";\n\n\t\tif (this.get(\"opposite\")) {\n\t\t\tif (inside) {\n\t\t\t\tpointerOrientation = \"right\";\n\t\t\t\tx = global.x - num;\n\t\t\t\tw = num;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpointerOrientation = \"left\";\n\t\t\t\tx = global.x;\n\t\t\t\tw = num;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif (inside) {\n\t\t\t\tpointerOrientation = \"left\";\n\t\t\t\tx = global.x;\n\t\t\t\tw = num;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpointerOrientation = \"right\";\n\t\t\t\tx = global.x - num;\n\t\t\t\tw = num;\n\t\t\t}\n\t\t}\n\n\t\tconst bounds = { left: x, right: x + w, top: y, bottom: y + h };\n\t\tconst oldBounds = tooltip.get(\"bounds\");\n\n\t\tif (!$utils.sameBounds(bounds, oldBounds)) {\n\t\t\ttooltip.set(\"bounds\", bounds);\n\t\t\ttooltip.set(\"pointerOrientation\", pointerOrientation);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _updateLC() {\n\t\tconst axis = this.axis;\n\t\tconst parent = axis.parent;\n\t\tif (parent) {\n\t\t\tconst h = parent.innerHeight();\n\t\t\tthis._lc = this.axisLength() / h;\n\t\t\tthis._ls = axis.y() / h;\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic toAxisPosition(position: number): number {\n\t\tconst start = this._start || 0;\n\t\tconst end = this._end || 1;\n\n\t\tposition -= this._ls;\n\n\t\tposition = position * (end - start) / this._lc;\n\n\t\tif (this.get(\"inversed\")) {\n\t\t\tposition = start + position;\n\t\t}\n\t\telse {\n\t\t\tposition = end - position;\n\t\t}\n\n\t\treturn position;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic toGlobalPosition(position: number): number {\n\t\tconst start = this._start || 0;\n\t\tconst end = this._end || 1;\n\n\t\tif (this.get(\"inversed\")) {\n\t\t\tposition = position - start;\n\t\t}\n\t\telse {\n\t\t\tposition = end - position;\n\t\t}\n\n\t\tposition = position / (end - start) * this._lc\n\n\t\tposition += this._ls;\n\n\t\treturn position;\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tpublic fixPosition(position: number) {\n\t\tif (!this.get(\"inversed\")) {\n\t\t\treturn 1 - position;\n\t\t}\n\t\treturn position;\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"AxisRendererY.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/AxisRendererY.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"../../../core/util/IPoint\";\nimport type { Graphics } from \"../../../core/render/Graphics\";\nimport type { AxisLabel } from \"./AxisLabel\";\nimport type { AxisBullet } from \"./AxisBullet\";\nimport type { Grid } from \"./Grid\";\nimport type { AxisTick } from \"./AxisTick\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\nimport type { Template } from \"../../../core/util/Template\";\n\nimport { AxisRenderer, IAxisRendererSettings, IAxisRendererPrivate } from \"./AxisRenderer\";\nimport { p100 } from \"../../../core/util/Percent\";\nimport { Rectangle } from \"../../../core/render/Rectangle\";\n\nimport * as $type from \"../../../core/util/Type\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface IAxisRendererYSettings extends IAxisRendererSettings {\n\n\t/**\n\t * If set to `true` the axis will be drawn on the opposite side of the plot\n\t * area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Axis_position} for more info\n\t * @default false\n\t */\n\topposite?: boolean;\n\n\t/**\n\t * If set to `true`, all axis elements (ticks, labels) will be drawn inside\n\t * plot area.\n\t *\n\t * @default false\n\t */\n\tinside?: boolean;\n}\n\nexport interface IAxisRendererYPrivate extends IAxisRendererPrivate {\n}\n\n/**\n * Used to render vertical axis.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/#Axis_renderer} for more info\n * @important\n */\nexport class AxisRendererY extends AxisRenderer {\n\n\tpublic static className: string = \"AxisRendererY\";\n\tpublic static classNames: Array<string> = AxisRenderer.classNames.concat([AxisRendererY.className]);\n\n\tdeclare public _settings: IAxisRendererYSettings;\n\tdeclare public _privateSettings: IAxisRendererYPrivate;\n\n\tdeclare public readonly labelTemplate: Template<AxisLabel>;\n\n\tprotected _downY?: number;\n\n\tpublic thumb: Rectangle = Rectangle.new(this._root, { height: p100, isMeasured: false, themeTags: [\"axis\", \"y\", \"thumb\", \"zoomgrip\"] });\n\n\tpublic _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"renderer\", \"y\"]);\n\t\tif (this._settings.opposite) {\n\t\t\tthis._settings.themeTags.push(\"opposite\");\n\t\t}\n\n\t\tsuper._afterNew();\n\t\tthis.setPrivateRaw(\"letter\", \"Y\");\n\n\t\tconst gridTemplate = this.grid.template;\n\t\tgridTemplate.set(\"width\", p100);\n\t\tgridTemplate.set(\"height\", 0);\n\t\tgridTemplate.set(\"draw\", (display, graphics) => {\n\t\t\tdisplay.moveTo(0, 0);\n\t\t\tdisplay.lineTo(graphics.width(), 0);\n\t\t});\n\n\t\tthis.set(\"draw\", (display, renderer) => {\n\t\t\tdisplay.moveTo(0, 0);\n\t\t\tdisplay.lineTo(0, renderer.height());\n\t\t});\n\t}\n\n\tprotected _getPan(point1: IPoint, point2: IPoint): number {\n\t\treturn (point1.y - point2.y) / this.height();\n\t}\n\n\tpublic _changed() {\n\t\tsuper._changed();\n\n\t\tconst axis = this.axis;\n\t\tconst ghostLabel = axis.ghostLabel;\n\t\tif (ghostLabel) {\n\t\t\tghostLabel.setPrivate(\"visible\", !this.get(\"inside\"));\n\t\t\tghostLabel.set(\"y\", -1000);\n\t\t}\n\n\t\tconst thumb = this.thumb;\n\t\tconst opposite = \"opposite\";\n\t\tconst inside = \"inside\";\n\t\tconst chart = this.chart;\n\n\t\tif (this.isDirty(opposite) || this.isDirty(inside)) {\n\n\t\t\tconst axisChildren = axis.children;\n\n\t\t\tif (this.get(inside)) {\n\t\t\t\taxis.addTag(inside);\n\t\t\t}\n\t\t\telse {\n\t\t\t\taxis.removeTag(inside);\n\t\t\t}\n\n\t\t\tif (chart) {\n\t\t\t\tif (this.get(opposite)) {\n\t\t\t\t\tconst children = chart.rightAxesContainer.children;\n\t\t\t\t\tif (children.indexOf(axis) == -1) {\n\t\t\t\t\t\tchildren.moveValue(axis, 0);\n\t\t\t\t\t}\n\t\t\t\t\taxis.addTag(opposite);\n\t\t\t\t\taxisChildren.moveValue(this, 0);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconst children = chart.leftAxesContainer.children;\n\t\t\t\t\tif (children.indexOf(axis) == -1) {\n\t\t\t\t\t\tchildren.moveValue(axis);\n\t\t\t\t\t}\n\t\t\t\t\taxis.removeTag(opposite);\n\n\t\t\t\t\taxisChildren.moveValue(this);\n\t\t\t\t}\n\n\t\t\t\taxis.ghostLabel?._applyThemes();\n\t\t\t\tthis.labels.each((label) => {\n\t\t\t\t\tlabel._applyThemes();\n\t\t\t\t})\n\t\t\t\tthis.root._markDirtyRedraw();\n\t\t\t}\n\t\t\taxis.markDirtySize();\n\t\t}\n\n\t\tconst w = axis.labelsContainer.width();\n\n\t\tif (chart) {\n\t\t\tif (this.get(opposite)) {\n\t\t\t\tthumb.set(\"centerX\", 0);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthumb.set(\"centerX\", w);\n\t\t\t}\n\t\t}\n\n\t\tthumb.setPrivate(\"width\", w);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic processAxis() {\n\t\tsuper.processAxis();\n\t\tconst axis = this.axis;\n\t\tif (axis.get(\"height\") == null) {\n\t\t\taxis.set(\"height\", p100);\n\t\t}\n\t\tconst horizontalLayout = this._root.horizontalLayout;\n\t\taxis.set(\"layout\", horizontalLayout);\n\t\taxis.labelsContainer.set(\"height\", p100);\n\t\taxis.axisHeader.set(\"layout\", horizontalLayout);\n\t}\n\n\tpublic _updatePositions() {\n\t\tconst axis = this.axis;\n\t\tconst y = axis.y() - $utils.relativeToValue(axis.get(\"centerY\", 0), axis.height());\n\t\taxis.gridContainer.set(\"y\", y);\n\t\taxis.topGridContainer.set(\"y\", y);\n\t\taxis.bulletsContainer.set(\"x\", this.x());\n\n\t\tconst chart = axis.chart;\n\t\tif (chart) {\n\t\t\tconst plotContainer = chart.plotContainer;\n\t\t\tconst axisHeader = axis.axisHeader;\n\t\t\tlet height = axis.get(\"marginTop\", 0);\n\n\t\t\tif (axisHeader.children.length > 0) {\n\t\t\t\theight = axis.axisHeader.height();\n\t\t\t\taxis.set(\"marginTop\", height + 1);\n\t\t\t}\n\t\t\telse {\n\t\t\t\taxisHeader.set(\"height\", height);\n\t\t\t}\n\t\t\taxisHeader.setAll({ y: axis.y() - height, x: -1, width: plotContainer.width() + 2 });\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic axisLength(): number {\n\t\treturn this.axis.innerHeight();\n\t}\n\n\t/**\n\t * Converts axis relative position to actual coordinate in pixels.\n\t *\n\t * @param position Position\n\t * @return Point\n\t */\n\tpublic positionToPoint(position: number): IPoint {\n\t\treturn { x: 0, y: this.positionToCoordinate(position) };\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLabel(label?: AxisLabel, position?: number, endPosition?: number, count?: number) {\n\t\tif (label) {\n\t\t\tif (!$type.isNumber(position)) {\n\t\t\t\tposition = 0;\n\t\t\t}\n\n\t\t\tlet location = 0.5;\n\t\t\tif ($type.isNumber(count) && count > 1) {\n\t\t\t\tlocation = label.get(\"multiLocation\", location)\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlocation = label.get(\"location\", location)\n\t\t\t}\n\n\t\t\tconst opposite = this.get(\"opposite\");\n\t\t\tconst inside = label.get(\"inside\", this.get(\"inside\", false));\n\n\t\t\tif (opposite) {\n\t\t\t\tlabel.set(\"x\", 0);\n\n\t\t\t\tif (inside) {\n\t\t\t\t\tlabel.set(\"position\", \"absolute\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlabel.set(\"position\", \"relative\");\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (inside) {\n\t\t\t\t\tlabel.set(\"x\", 0);\n\t\t\t\t\tlabel.set(\"position\", \"absolute\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlabel.set(\"x\", undefined);\n\t\t\t\t\tlabel.set(\"position\", \"relative\");\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($type.isNumber(endPosition) && endPosition != position) {\n\t\t\t\tposition = position + (endPosition - position) * location;\n\t\t\t}\n\n\t\t\tlabel.set(\"y\", this.positionToCoordinate(position));\n\t\t\tthis.toggleVisibility(label, position, label.get(\"minPosition\", 0), label.get(\"maxPosition\", 1));\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateGrid(grid?: Grid, position?: number, endPosition?: number) {\n\t\tif (grid) {\n\t\t\tif (!$type.isNumber(position)) {\n\t\t\t\tposition = 0;\n\t\t\t}\n\n\t\t\tlet location = grid.get(\"location\", 0.5);\n\t\t\tif ($type.isNumber(endPosition) && endPosition != position) {\n\t\t\t\tposition = position + (endPosition - position) * location;\n\t\t\t}\n\n\t\t\tgrid.set(\"y\", this.positionToCoordinate(position));\n\t\t\tthis.toggleVisibility(grid, position, 0, 1);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateTick(tick?: AxisTick, position?: number, endPosition?: number, count?: number) {\n\t\tif (tick) {\n\t\t\tif (!$type.isNumber(position)) {\n\t\t\t\tposition = 0;\n\t\t\t}\n\n\t\t\tlet location = 0.5;\n\t\t\tif ($type.isNumber(count) && count > 1) {\n\t\t\t\tlocation = tick.get(\"multiLocation\", location);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlocation = tick.get(\"location\", location);\n\t\t\t}\n\n\t\t\tif ($type.isNumber(endPosition) && endPosition != position) {\n\t\t\t\tposition = position + (endPosition - position) * location;\n\t\t\t}\n\n\t\t\ttick.set(\"y\", this.positionToCoordinate(position));\n\n\t\t\tlet length = tick.get(\"length\", 0);\n\t\t\tconst inside = tick.get(\"inside\", this.get(\"inside\", false));\n\n\t\t\tif (this.get(\"opposite\")) {\n\t\t\t\ttick.set(\"x\", 0);\n\t\t\t\tif (inside) {\n\t\t\t\t\tlength *= -1\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (!inside) {\n\t\t\t\t\tlength *= -1\n\t\t\t\t}\n\t\t\t}\n\t\t\ttick.set(\"draw\", (display) => {\n\t\t\t\tdisplay.moveTo(0, 0);\n\t\t\t\tdisplay.lineTo(length, 0);\n\t\t\t})\n\n\t\t\tthis.toggleVisibility(tick, position, tick.get(\"minPosition\", 0), tick.get(\"maxPosition\", 1));\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateBullet(bullet?: AxisBullet, position?: number, endPosition?: number) {\n\t\tif (bullet) {\n\n\t\t\tconst sprite = bullet.get(\"sprite\");\n\t\t\tif (sprite) {\n\n\t\t\t\tif (!$type.isNumber(position)) {\n\t\t\t\t\tposition = 0;\n\t\t\t\t}\n\n\t\t\t\tlet location = bullet.get(\"location\", 0.5);\n\t\t\t\tif ($type.isNumber(endPosition) && endPosition != position) {\n\t\t\t\t\tposition = position + (endPosition - position) * location;\n\t\t\t\t}\n\n\n\t\t\t\tlet bulletPosition = this.axis.roundAxisPosition(position, location);\n\t\t\t\tlet previousBullet = this.axis._bullets[bulletPosition];\n\t\t\t\tlet d = 1;\n\t\t\t\tif (this.get(\"opposite\")) {\n\t\t\t\t\td = -1;\n\t\t\t\t}\n\n\t\t\t\tif (bullet.get(\"stacked\")) {\n\t\t\t\t\tif (previousBullet) {\n\t\t\t\t\t\tlet previousSprite = previousBullet.get(\"sprite\");\n\t\t\t\t\t\tif (previousSprite) {\n\t\t\t\t\t\t\tsprite.set(\"x\", previousSprite.x() + previousSprite.width() * d);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tsprite.set(\"x\", 0);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.axis._bullets[bulletPosition] = bullet;\n\n\n\t\t\t\tsprite.set(\"y\", this.positionToCoordinate(position));\n\n\t\t\t\tthis.toggleVisibility(sprite, position, 0, 1);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateFill(fill?: Graphics, position?: number, endPosition?: number) {\n\t\tif (fill) {\n\t\t\tif (!$type.isNumber(position)) {\n\t\t\t\tposition = 0;\n\t\t\t}\n\t\t\tif (!$type.isNumber(endPosition)) {\n\t\t\t\tendPosition = 1;\n\t\t\t}\n\n\t\t\tlet y0 = this.positionToCoordinate(position);\n\t\t\tlet y1 = this.positionToCoordinate(endPosition);\n\n\t\t\tthis.fillDrawMethod(fill, y0, y1);\n\t\t}\n\t}\n\n\tprotected fillDrawMethod(fill: Graphics, y0: number, y1: number) {\n\t\tfill.set(\"draw\", (display) => {\n\t\t\t// using for holes, so can not be rectangle\n\t\t\tconst w = this.axis!.gridContainer.width();\n\t\t\tconst h = this.height();\n\n\t\t\tif (y1 < y0) {\n\t\t\t\t[y1, y0] = [y0, y1];\n\t\t\t}\n\n\t\t\tif (y0 > h || y1 < 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t//y0 = Math.max(0, y0);\n\t\t\t//y1 = Math.min(h, y1);\n\n\t\t\tdisplay.moveTo(0, y0);\n\t\t\tdisplay.lineTo(w, y0);\n\t\t\tdisplay.lineTo(w, y1);\n\t\t\tdisplay.lineTo(0, y1);\n\t\t\tdisplay.lineTo(0, y0);\n\t\t})\n\t}\n\n\t/**\n\t * Converts relative position (0-1) on axis to a pixel coordinate.\n\t *\n\t * @param position Position (0-1)\n\t * @return Coordinate (px)\n\t */\n\tpublic positionToCoordinate(position: number): number {\n\t\tif (!this._inversed) {\n\t\t\treturn (this._end - position) * this._axisLength;\n\t\t}\n\t\telse {\n\t\t\treturn (position - this._start) * this._axisLength;\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic positionTooltip(tooltip: Tooltip, position: number) {\n\t\tthis._positionTooltip(tooltip, { x: 0, y: this.positionToCoordinate(position) });\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateTooltipBounds(tooltip: Tooltip) {\n\t\tconst inside = this.get(\"inside\");\n\t\tconst num = 100000;\n\n\t\tlet global = this._display.toGlobal({ x: 0, y: 0 });\n\t\tlet y = global.y;\n\t\tlet x = 0;\n\t\tlet h = this.axisLength();\n\t\tlet w = num;\n\n\t\tlet pointerOrientation: \"left\" | \"right\" = \"right\";\n\n\t\tif (this.get(\"opposite\")) {\n\t\t\tif (inside) {\n\t\t\t\tpointerOrientation = \"right\";\n\t\t\t\tx = global.x - num;\n\t\t\t\tw = num;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpointerOrientation = \"left\";\n\t\t\t\tx = global.x;\n\t\t\t\tw = num;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tif (inside) {\n\t\t\t\tpointerOrientation = \"left\";\n\t\t\t\tx = global.x;\n\t\t\t\tw = num;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tpointerOrientation = \"right\";\n\t\t\t\tx = global.x - num;\n\t\t\t\tw = num;\n\t\t\t}\n\t\t}\n\n\t\tconst bounds = { left: x, right: x + w, top: y, bottom: y + h };\n\t\tconst oldBounds = tooltip.get(\"bounds\");\n\n\t\tif (!$utils.sameBounds(bounds, oldBounds)) {\n\t\t\ttooltip.set(\"bounds\", bounds);\n\t\t\ttooltip.set(\"pointerOrientation\", pointerOrientation);\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic _updateLC() {\n\t\tconst axis = this.axis;\n\t\tconst parent = axis.parent;\n\t\tif (parent) {\n\t\t\tconst h = parent.innerHeight();\n\t\t\tthis._lc = this.axisLength() / h;\n\t\t\tthis._ls = axis.y() / h;\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic toAxisPosition(position: number): number {\n\t\tconst start = this._start || 0;\n\t\tconst end = this._end || 1;\n\n\t\tposition -= this._ls;\n\n\t\tposition = position * (end - start) / this._lc;\n\n\t\tif (this.get(\"inversed\")) {\n\t\t\tposition = start + position;\n\t\t}\n\t\telse {\n\t\t\tposition = end - position;\n\t\t}\n\n\t\treturn position;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic toGlobalPosition(position: number): number {\n\t\tconst start = this._start || 0;\n\t\tconst end = this._end || 1;\n\n\t\tif (this.get(\"inversed\")) {\n\t\t\tposition = position - start;\n\t\t}\n\t\telse {\n\t\t\tposition = end - position;\n\t\t}\n\n\t\tposition = position / (end - start) * this._lc\n\n\t\tposition += this._ls;\n\n\t\treturn position;\n\t}\n\n\n\t/**\n\t * @ignore\n\t */\n\tpublic fixPosition(position: number) {\n\t\tif (!this.get(\"inversed\")) {\n\t\t\treturn 1 - position;\n\t\t}\n\t\treturn position;\n\t}\n\n}\n"]}
@@ -8,24 +8,9 @@ import { Tick } from "../../../core/render/Tick";
8
8
  export class AxisTick extends Tick {
9
9
  constructor() {
10
10
  super(...arguments);
11
- Object.defineProperty(this, "_tickPoints", {
12
- enumerable: true,
13
- configurable: true,
14
- writable: true,
15
- value: []
16
- });
11
+ this._tickPoints = [];
17
12
  }
18
13
  }
19
- Object.defineProperty(AxisTick, "className", {
20
- enumerable: true,
21
- configurable: true,
22
- writable: true,
23
- value: "AxisTick"
24
- });
25
- Object.defineProperty(AxisTick, "classNames", {
26
- enumerable: true,
27
- configurable: true,
28
- writable: true,
29
- value: Tick.classNames.concat([AxisTick.className])
30
- });
14
+ AxisTick.className = "AxisTick";
15
+ AxisTick.classNames = Tick.classNames.concat([AxisTick.className]);
31
16
  //# sourceMappingURL=AxisTick.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AxisTick.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/AxisTick.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAA+B,MAAM,2BAA2B,CAAC;AA6D9E;;;;;GAKG;AACH,MAAM,OAAO,QAAS,SAAQ,IAAI;IAAlC;;QAKC;;;;mBAAuC,EAAE;WAAC;IAI3C,CAAC;;AAFA;;;;WAAkC,UAAU;GAAC;AAC7C;;;;WAA0C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;GAAC","sourcesContent":["import type { IPoint } from \"../../../core/util/IPoint\";\n\nimport { Tick, ITickSettings, ITickPrivate } from \"../../../core/render/Tick\";\n\n\nexport interface IAxisTickSettings extends ITickSettings {\n\n\t/**\n\t * Relative location of the tick within the cell.\n\t *\n\t * `0` - beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Location_of_axis_elements} for more info\n\t */\n\tlocation?: number;\n\n\t/**\n\t * Relative location of the tick within the cell when it spans multiple\n\t * intervals.\n\t *\n\t * `0` - beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Multi_location} for more info\n\t */\n\tmultiLocation?: number;\n\n\t/**\n\t * If set to `true` the tick will be shown inside plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Labels_ticks_inside_plot_area} for more info\n\t * @default false\n\t */\n\tinside?: boolean | undefined;\n\n\t/**\n\t * The minimum relative position within visible axis scope the tick can\n\t * appear on.\n\t *\n\t * E.g. `0.1` will mean that tick will not be shown if it's closer to the\n\t * beginning of the axis than 10%.\n\t *\n\t * @default 0\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Start_end_labels_and_ticks} for more info\n\t */\n\tminPosition?: number;\n\n\t/**\n\t * The maximum relative position within visible axis scope the tick can\n\t * appear on.\n\t *\n\t * E.g. `0.9` will mean that tick will not be shown if it's closer to the\n\t * end of the axis than 10%.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Start_end_labels_and_ticks} for more info\n\t * @default 1\n\t */\n\tmaxPosition?: number;\n\n}\n\nexport interface IAxisTickPrivate extends ITickPrivate {\n}\n\n/**\n * Draws an axis tick.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Ticks} for more info\n * @important\n */\nexport class AxisTick extends Tick {\n\n\tdeclare public _settings: IAxisTickSettings;\n\tdeclare public _privateSettings: IAxisTickPrivate;\n\n\tprotected _tickPoints: Array<IPoint> = [];\n\n\tpublic static className: string = \"AxisTick\";\n\tpublic static classNames: Array<string> = Tick.classNames.concat([AxisTick.className]);\n}\n"]}
1
+ {"version":3,"file":"AxisTick.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/AxisTick.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAA+B,MAAM,2BAA2B,CAAC;AA6D9E;;;;;GAKG;AACH,MAAM,OAAO,QAAS,SAAQ,IAAI;IAAlC;;QAKW,gBAAW,GAAkB,EAAE,CAAC;IAI3C,CAAC;;AAFc,kBAAS,GAAW,UAAU,CAAC;AAC/B,mBAAU,GAAkB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import type { IPoint } from \"../../../core/util/IPoint\";\n\nimport { Tick, ITickSettings, ITickPrivate } from \"../../../core/render/Tick\";\n\n\nexport interface IAxisTickSettings extends ITickSettings {\n\n\t/**\n\t * Relative location of the tick within the cell.\n\t *\n\t * `0` - beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Location_of_axis_elements} for more info\n\t */\n\tlocation?: number;\n\n\t/**\n\t * Relative location of the tick within the cell when it spans multiple\n\t * intervals.\n\t *\n\t * `0` - beginning, `0.5` - middle, `1` - end.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Multi_location} for more info\n\t */\n\tmultiLocation?: number;\n\n\t/**\n\t * If set to `true` the tick will be shown inside plot area.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Labels_ticks_inside_plot_area} for more info\n\t * @default false\n\t */\n\tinside?: boolean | undefined;\n\n\t/**\n\t * The minimum relative position within visible axis scope the tick can\n\t * appear on.\n\t *\n\t * E.g. `0.1` will mean that tick will not be shown if it's closer to the\n\t * beginning of the axis than 10%.\n\t *\n\t * @default 0\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Start_end_labels_and_ticks} for more info\n\t */\n\tminPosition?: number;\n\n\t/**\n\t * The maximum relative position within visible axis scope the tick can\n\t * appear on.\n\t *\n\t * E.g. `0.9` will mean that tick will not be shown if it's closer to the\n\t * end of the axis than 10%.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Start_end_labels_and_ticks} for more info\n\t * @default 1\n\t */\n\tmaxPosition?: number;\n\n}\n\nexport interface IAxisTickPrivate extends ITickPrivate {\n}\n\n/**\n * Draws an axis tick.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Ticks} for more info\n * @important\n */\nexport class AxisTick extends Tick {\n\n\tdeclare public _settings: IAxisTickSettings;\n\tdeclare public _privateSettings: IAxisTickPrivate;\n\n\tprotected _tickPoints: Array<IPoint> = [];\n\n\tpublic static className: string = \"AxisTick\";\n\tpublic static classNames: Array<string> = Tick.classNames.concat([AxisTick.className]);\n}\n"]}
@@ -14,18 +14,8 @@ import * as $utils from "../../../core/util/Utils";
14
14
  export class CategoryAxis extends Axis {
15
15
  constructor() {
16
16
  super(...arguments);
17
- Object.defineProperty(this, "_frequency", {
18
- enumerable: true,
19
- configurable: true,
20
- writable: true,
21
- value: 1
22
- });
23
- Object.defineProperty(this, "_itemMap", {
24
- enumerable: true,
25
- configurable: true,
26
- writable: true,
27
- value: {}
28
- });
17
+ this._frequency = 1;
18
+ this._itemMap = {};
29
19
  }
30
20
  _afterNew() {
31
21
  this._settings.themeTags = $utils.mergeTags(this._settings.themeTags, ["axis"]);
@@ -703,16 +693,6 @@ export class CategoryAxis extends Axis {
703
693
  return this.toGlobalPosition(this.indexToPosition(index));
704
694
  }
705
695
  }
706
- Object.defineProperty(CategoryAxis, "className", {
707
- enumerable: true,
708
- configurable: true,
709
- writable: true,
710
- value: "CategoryAxis"
711
- });
712
- Object.defineProperty(CategoryAxis, "classNames", {
713
- enumerable: true,
714
- configurable: true,
715
- writable: true,
716
- value: Axis.classNames.concat([CategoryAxis.className])
717
- });
696
+ CategoryAxis.className = "CategoryAxis";
697
+ CategoryAxis.classNames = Axis.classNames.concat([CategoryAxis.className]);
718
698
  //# sourceMappingURL=CategoryAxis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryAxis.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/CategoryAxis.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../../core/render/Component\";\nimport type { AxisRenderer } from \"./AxisRenderer\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\nimport type { IXYSeriesDataItem, XYSeries } from \"../series/XYSeries\";\n\nimport { Axis, IAxisSettings, IAxisPrivate, IAxisDataItem, IAxisEvents } from \"./Axis\";\nimport { populateString } from \"../../../core/util/PopulateString\";\nimport { ValueAxis } from \"./ValueAxis\";\n\nimport * as $array from \"../../../core/util/Array\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $math from \"../../../core/util/Math\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface ICategoryAxisSettings<R extends AxisRenderer> extends IAxisSettings<R> {\n\n\t/**\n\t * A function that can be used to specify how to configure axis fills.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Axis_fills} for more info\n\t */\n\tfillRule?: (dataItem: DataItem<ICategoryAxisDataItem>, index?: number) => void;\n\n\t/**\n\t * A field in data which holds categories.\n\t */\n\tcategoryField: string;\n\n\t/**\n\t * A key to look up in data for an id of the data item.\n\t */\n\tidField?: string;\n\n\t/**\n\t * A key to look up in data for a relative size value of the data item. \n\t */\n\tcellSizeField?: string;\n\n\t/**\n\t * Relative location of where axis cell starts: 0 - beginning, 1 - end.\n\t *\n\t * @default 0\n\t */\n\tstartLocation?: number;\n\n\t/**\n\t * Relative location of where axis cell ends: 0 - beginning, 1 - end.\n\t *\n\t * @default 1\n\t */\n\tendLocation?: number;\n}\n\nexport interface ICategoryAxisDataItem extends IAxisDataItem {\n\n\t/**\n\t * Named category.\n\t */\n\tcategory?: string;\n\n\t/**\n\t * Named end category (for axis items that span multiple categories, like\n\t * axis ranges).\n\t */\n\tendCategory?: string;\n\n\t/**\n\t * Index of the data item.\n\t */\n\tindex?: number;\n\n\t/**\n\t * Relative location of the category within cell: 0 - start, 1 - end.\n\t */\n\tcategoryLocation?: number;\n\n\t/**\n\t * Relative location of the end category within cell: 0 - start, 1 - end.\n\t */\n\tendCategoryLocation?: number;\n\n\t/**\n\t * A distance to shift data item relative to its original position.\n\t *\n\t * The value is 0 to 1, where 1 is full witdth of the axis.\n\t *\n\t * Can be used to sort data items without modifying order of the actual data.\n\t */\n\tdeltaPosition?: number;\n\n\t/**\n\t * A size of the category cell.\n\t *\n\t * NOTE: This value is used only if `cellSizeField` is set on the series.\n\t */\n\tcellSize?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tfinalCellSize?: number;\n\n\t/**\n\t * A unique id of the data item.\n\t */\n\tid?: string;\n}\n\nexport interface ICategoryAxisPrivate extends IAxisPrivate {\n\n\t/**\n\t * Start index of the current zoom scope.\n\t */\n\tstartIndex?: number;\n\n\t/**\n\t * End index of the current zoom scope.\n\t */\n\tendIndex?: number;\n}\n\nexport interface ICategoryAxisEvents extends IAxisEvents {\n\n}\n\n/**\n * Creates a category axis.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/category-axis/} for more info\n * @important\n */\nexport class CategoryAxis<R extends AxisRenderer> extends Axis<R> {\n\tpublic static className: string = \"CategoryAxis\";\n\tpublic static classNames: Array<string> = Axis.classNames.concat([CategoryAxis.className]);\n\n\tdeclare public _settings: ICategoryAxisSettings<R>;\n\tdeclare public _privateSettings: ICategoryAxisPrivate;\n\tdeclare public _dataItemSettings: ICategoryAxisDataItem;\n\tdeclare public _events: ICategoryAxisEvents;\n\n\tprotected _frequency: number = 1;\n\n\tprotected _itemMap: { [index: string]: DataItem<ICategoryAxisDataItem> } = {};\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"axis\"]);\n\t\tthis.fields.push(\"category\", \"id\", \"cellSize\");\n\t\tthis.setPrivateRaw(\"name\", \"category\");\n\t\tthis.addTag(\"category\");\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _afterDataChange(): void {\n\t\tsuper._afterDataChange();\n\t\tconst len = this.dataItems.length;\n\t\tif (len > 0) {\n\t\t\tthis.setPrivateRaw(\"maxZoomFactor\", len);\n\t\t}\n\n\t\t// fix final indexes\t\t\n\t\tthis.setPrivateRaw(\"startIndex\", Math.min(this.getPrivate(\"startIndex\", 0), len));\n\t\tthis.setPrivateRaw(\"endIndex\", Math.min(this.getPrivate(\"endIndex\", len), 1));\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tconst len = this.dataItems.length;\n\t\tlet i = 0;\n\t\tif (this._valuesDirty) {\n\t\t\tthis._itemMap = {};\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tdataItem.setRaw(\"index\", i);\n\t\t\t\tthis._itemMap[dataItem.get(\"category\") as string] = dataItem;\n\t\t\t\ti++;\n\t\t\t})\n\n\t\t\tthis.setPrivateRaw(\"maxZoomFactor\", len);\n\t\t}\n\n\t\tlet start = this.get(\"start\", 0);\n\t\tlet end = this.get(\"end\", 1);\n\t\t\n\t\tlet indices = this._getIndices(start, end);\n\n\t\tthis.setPrivateRaw(\"startIndex\", indices.startIndex);\n\t\tthis.setPrivateRaw(\"endIndex\", indices.endIndex);\n\n\t\tif (this._sizeDirty || this._valuesDirty || (this.isDirty(\"start\") || this.isDirty(\"end\") || this.isPrivateDirty(\"endIndex\") || this.isPrivateDirty(\"startIndex\") || this.isPrivateDirty(\"width\") || this.isPrivateDirty(\"height\"))) {\n\t\t\tif (this.dataItems.length > 0) {\n\t\t\t\tthis._handleRangeChange();\n\t\t\t\tthis._prepareAxisItems();\n\t\t\t\tthis._updateAxisRanges();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic adjustZoom(): void {\n\t\tconst len = this.dataItems.length;\n\t\tif (len > 1) {\n\t\t\tlet maxZoomCount = this.get(\"maxZoomCount\", this.dataItems.length);\n\t\t\tlet minZoomCount = this.get(\"minZoomCount\", 1);\n\n\t\t\tlet count = 0;\n\t\t\tlet startIndex = this.getPrivate(\"startIndex\", 0);\n\t\t\tlet endIndex = this.getPrivate(\"endIndex\", 0);\n\n\t\t\tconst sAnimation = this._sAnimation;\n\t\t\tconst eAnimation = this._eAnimation;\n\n\t\t\tlet start = this.get(\"start\", 0);\n\t\t\tlet getIndices = false;\n\t\t\tif (sAnimation && !sAnimation.stopped) {\n\t\t\t\tstart = Number(sAnimation.to);\n\t\t\t\tgetIndices = true;\n\t\t\t}\n\t\t\tlet end = this.get(\"end\", 1);\n\t\t\tif (eAnimation && !eAnimation.stopped) {\n\t\t\t\tend = Number(eAnimation.to);\n\t\t\t\tgetIndices = true;\n\t\t\t}\n\n\t\t\tif (getIndices) {\n\t\t\t\tconst indices = this._getIndices(start, end);\n\t\t\t\tstartIndex = indices.startIndex;\n\t\t\t\tendIndex = indices.endIndex;\n\t\t\t}\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\tcount += dataItem.get(\"finalCellSize\", 1);\n\t\t\t};\n\n\t\t\tif (count <= minZoomCount) {\n\t\t\t\t// need to zoom out\n\t\t\t\tlet c = 0;\n\n\t\t\t\tfor (let i = startIndex; i < len; i++) {\n\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\tc += dataItem.get(\"finalCellSize\", 1);\n\n\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\tif (c >= minZoomCount) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (c < minZoomCount) {\n\t\t\t\t\t// still not enough, try to extend at the start\n\t\t\t\t\tfor (let i = startIndex - 1; i >= 0; i--) {\n\t\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\t\tc += dataItem.get(\"finalCellSize\", 1);\n\t\t\t\t\t\tstartIndex = i;\n\t\t\t\t\t\tif (c >= minZoomCount) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.zoomToIndexes(startIndex, endIndex);\n\t\t\t}\n\t\t\telse if (count >= maxZoomCount) {\n\t\t\t\tlet c = count;\n\t\t\t\tfor (let i = endIndex - 1; i >= startIndex; i--) {\n\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\tc -= dataItem.get(\"finalCellSize\", 1);\n\t\t\t\t\tif (c <= maxZoomCount) {\n\t\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.zoomToIndexes(startIndex, endIndex);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleRangeChange() {\n\t\t$array.each(this.series, (series) => {\n\t\t\tlet startCategory = this.dataItems[this.startIndex()].get(\"category\")!;\n\t\t\tlet endCategory = this.dataItems[this.endIndex() - 1].get(\"category\")!;\n\n\t\t\tlet baseAxis = series.get(\"baseAxis\");\n\t\t\tlet xAxis = series.get(\"xAxis\");\n\t\t\tlet yAxis = series.get(\"yAxis\");\n\n\t\t\tif (xAxis instanceof CategoryAxis && yAxis instanceof CategoryAxis) {\n\t\t\t\tseries._markDirtyAxes();\n\t\t\t}\n\t\t\telse if (baseAxis === this) {\n\t\t\t\tlet key: string | undefined;\n\t\t\t\tlet openKey: string | undefined;\n\t\t\t\tlet otherAxis = yAxis;\n\t\t\t\tif (xAxis === baseAxis) {\n\t\t\t\t\tif (series.get(\"categoryXField\")) {\n\t\t\t\t\t\tkey = \"categoryX\";\n\t\t\t\t\t}\n\t\t\t\t\tif (series.get(\"openCategoryXField\")) {\n\t\t\t\t\t\topenKey = \"openCategoryX\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (yAxis === baseAxis) {\n\t\t\t\t\tif (series.get(\"categoryYField\")) {\n\t\t\t\t\t\tkey = \"categoryY\";\n\t\t\t\t\t}\n\t\t\t\t\tif (series.get(\"openCategoryYField\")) {\n\t\t\t\t\t\topenKey = \"openCategoryY\";\n\t\t\t\t\t}\n\t\t\t\t\totherAxis = xAxis;\n\t\t\t\t}\n\n\t\t\t\tif (otherAxis instanceof ValueAxis) {\n\n\t\t\t\t\tif (key || openKey) {\n\t\t\t\t\t\tlet startDataItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\t\t\tlet endDataItem: DataItem<IXYSeriesDataItem> | undefined;\n\n\t\t\t\t\t\tfunction findDataItem(\n\t\t\t\t\t\t\tseries: XYSeries,\n\t\t\t\t\t\t\tcategoryAxis: CategoryAxis<any>,\n\t\t\t\t\t\t\tkey: string | undefined,\n\t\t\t\t\t\t\topenKey: string | undefined,\n\t\t\t\t\t\t\tcategory: string,\n\t\t\t\t\t\t\tdirection: \"previous\" | \"next\"\n\t\t\t\t\t\t): DataItem<IXYSeriesDataItem> | undefined {\n\t\t\t\t\t\t\tlet dataItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\t\t\t\tlet idx = categoryAxis.categoryToIndex(category!);\n\n\t\t\t\t\t\t\twhile (!dataItem && idx >= 0 && idx < categoryAxis.dataItems.length) {\n\t\t\t\t\t\t\t\tlet searchCategory = categoryAxis.dataItems[idx].get(\"category\");\n\t\t\t\t\t\t\t\tif (direction == \"previous\") {\n\t\t\t\t\t\t\t\t\tfor (let i = series.dataItems.length - 1; i >= 0; i--) {\n\t\t\t\t\t\t\t\t\t\tlet item = series.dataItems[i];\n\t\t\t\t\t\t\t\t\t\tif (key && item.get(key as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (openKey && item.get(openKey as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\t\t\t\t\t\t\tlet item = series.dataItems[i];\n\t\t\t\t\t\t\t\t\t\tif (key && item.get(key as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (openKey && item.get(openKey as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!dataItem) {\n\t\t\t\t\t\t\t\t\tidx += direction === \"previous\" ? -1 : 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn dataItem;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstartDataItem = findDataItem(series, this, key, openKey, startCategory, \"next\");\n\t\t\t\t\t\tendDataItem = findDataItem(series, this, key, openKey, endCategory, \"previous\");\n\n\t\t\t\t\t\tlet startIndex = 0;\n\t\t\t\t\t\tlet endIndex = series.dataItems.length;\n\n\t\t\t\t\t\tif (startDataItem) {\n\t\t\t\t\t\t\tstartIndex = series.dataItems.indexOf(startDataItem);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (endDataItem) {\n\t\t\t\t\t\t\tendIndex = series.dataItems.indexOf(endDataItem) + 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tseries.setPrivate(\"startIndex\", startIndex);\n\t\t\t\t\t\tseries.setPrivate(\"endIndex\", endIndex);\n\n\t\t\t\t\t\tlet hasValue = false;\n\t\t\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\t\t\t\tconst dataItem = series.dataItems[i];\n\n\t\t\t\t\t\t\t$array.each(series.__valueXShowFields, (key) => {\n\t\t\t\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\t\t\t\thasValue = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\t$array.each(series.__valueYShowFields, (key) => {\n\t\t\t\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\t\t\t\thasValue = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\tif (hasValue) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tseries.setPrivate(\"outOfSelection\", !hasValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tseries._markDirtyAxes();\t// must be outside\n\t\t\t}\n\t\t})\n\t}\n\n\n\tprotected _prepareAxisItems() {\n\t\tconst renderer = this.get(\"renderer\");\n\t\tconst len = this.dataItems.length;\n\n\t\tlet startIndex = this.startIndex();\n\t\tif (startIndex > 0) {\n\t\t\tstartIndex--;\n\t\t}\n\n\t\tlet endIndex = this.endIndex();\n\t\tif (endIndex < len) {\n\t\t\tendIndex++;\n\t\t}\n\n\t\tconst minorLabelsEnabled = renderer.get(\"minorLabelsEnabled\");\n\t\tconst minorGridEnabled = renderer.get(\"minorGridEnabled\", minorLabelsEnabled);\n\n\t\tlet maxCount = renderer.axisLength() / Math.max(renderer.get(\"minGridDistance\")!, 1);\n\n\t\tlet frequency = Math.max(1, Math.min(len, Math.ceil((endIndex - startIndex) / maxCount)));\n\n\t\tstartIndex = Math.floor(startIndex / frequency) * frequency;\n\t\tthis._frequency = frequency;\n\n\t\tfor (let j = 0; j < len; j++) {\n\t\t\tthis._toggleDataItem(this.dataItems[j], false);\n\t\t}\n\n\t\tlet f = this.dataItems[startIndex].get(\"index\", 0);\n\n\t\tfor (let i = startIndex; i < endIndex; i = i + frequency) {\n\t\t\tlet dataItem = this.dataItems[i];\n\n\t\t\tthis._createAssets(dataItem, []);\n\t\t\tthis._toggleDataItem(dataItem, true);\n\n\t\t\tlet count = frequency;\n\t\t\tif (minorGridEnabled) {\n\t\t\t\tcount = 1;\n\t\t\t}\n\n\t\t\tthis._prepareDataItem(dataItem, f, count);\n\n\t\t\tf++;\n\t\t}\n\n\t\tif (renderer.get(\"minorGridEnabled\")) {\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\tif (i % frequency != 0) {\n\t\t\t\t\tthis._createAssets(dataItem, [\"minor\"], true);\n\t\t\t\t\tthis._toggleDataItem(dataItem, true);\n\t\t\t\t\tthis._prepareDataItem(dataItem, 0, 1);\n\n\t\t\t\t\tif (!minorLabelsEnabled) {\n\t\t\t\t\t\tdataItem.get(\"label\")?.setPrivate(\"visible\", false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._updateGhost();\n\t}\n\n\n\tpublic _prepareDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, fillIndex?: number, count?: number) {\n\t\tlet renderer = this.get(\"renderer\");\n\n\t\tlet categoryLocation = dataItem.get(\"categoryLocation\", 0);\n\t\tlet endCategoryLocation = dataItem.get(\"endCategoryLocation\", 1);\n\n\t\tlet index: number | undefined = dataItem.get(\"index\");\n\n\t\tif (!$type.isNumber(index)) {\n\t\t\tindex = this.categoryToIndex(dataItem.get(\"category\")!);\n\t\t}\n\n\t\tlet position = this.indexToPosition(index, categoryLocation);\n\n\t\tlet endCategory = dataItem.get(\"endCategory\")!;\n\t\tlet endIndex: number;\n\t\tif (endCategory) {\n\t\t\tendIndex = this.categoryToIndex(endCategory);\n\t\t\tif (!$type.isNumber(endIndex)) {\n\t\t\t\tendIndex = index;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tendIndex = index;\n\t\t}\n\n\t\tlet endPosition = this.indexToPosition(endIndex, endCategoryLocation);\n\n\t\tlet fillEndIndex: number;\n\t\tlet fillEndPosition: number;\n\n\t\tif (dataItem.get(\"isRange\")) {\n\t\t\tfillEndIndex = endIndex;\n\n\t\t\tif (!$type.isNumber(index)) {\n\t\t\t\tthis._toggleDataItem(dataItem, false);\n\t\t\t\treturn;\t\t\t\t\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tfillEndIndex = index + this._frequency - 1;\n\t\t}\n\n\t\tfillEndPosition = this.indexToPosition(fillEndIndex, endCategoryLocation);\n\n\t\trenderer.updateLabel(dataItem.get(\"label\"), position, endPosition, count);\n\t\trenderer.updateGrid(dataItem.get(\"grid\"), position, endPosition);\n\t\trenderer.updateTick(dataItem.get(\"tick\"), position, endPosition, count);\n\t\trenderer.updateFill(dataItem.get(\"axisFill\"), position, fillEndPosition);\n\n\t\tthis._processBullet(dataItem);\n\t\trenderer.updateBullet(dataItem.get(\"bullet\"), position, endPosition);\n\n\t\tconst fillRule = this.get(\"fillRule\");\n\t\tif (fillRule) {\n\t\t\tfillRule(dataItem, fillIndex)\n\t\t}\n\t}\n\n\tpublic startIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(Math.max(this.getPrivate(\"startIndex\", 0), 0), len - 1);\n\t}\n\n\tpublic endIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.max(1, Math.min(this.getPrivate(\"endIndex\", len), len));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic baseValue(): any {\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic basePosition() {\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Returns X coordinate in pixels corresponding to specific category index.\n\t *\n\t * @param value Index\n\t * @return X coordinate\n\t */\n\tpublic getX(value: string): number {\n\t\tlet axisDataItem = this._itemMap[value];\n\t\tif (axisDataItem) {\n\t\t\treturn this._settings.renderer.positionToCoordinate(this.indexToPosition(axisDataItem.get(\"index\", 0)));\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * Returns Y coordinate in pixels corresponding to specific category index.\n\t *\n\t * @param value Index\n\t * @return Y coordinate\n\t */\n\tpublic getY(value: string): number {\n\t\tlet axisDataItem = this._itemMap[value];\n\t\tif (axisDataItem) {\n\t\t\treturn this._settings.renderer.positionToCoordinate(this.indexToPosition(axisDataItem.get(\"index\", 0)));\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemPositionX(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\tconst category = dataItem.get(field as any);\n\t\tconst axisDataItem = this._itemMap[category];\n\n\t\tif (axisDataItem) {\n\t\t\treturn this.indexToPosition(axisDataItem.get(\"index\", 0), cellLocation);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemCoordinateX(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\treturn this._settings.renderer.positionToCoordinate(this.getDataItemPositionX(dataItem, field, cellLocation, _axisLocation));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemPositionY(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\tconst category = dataItem.get(field as any);\n\t\tconst axisDataItem = this._itemMap[category];\n\t\tif (axisDataItem) {\n\t\t\treturn this.indexToPosition(axisDataItem.get(\"index\", 0), cellLocation);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemCoordinateY(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\treturn this._settings.renderer.positionToCoordinate(this.getDataItemPositionY(dataItem, field, cellLocation, _axisLocation));\n\t}\n\n\t/**\n\t * Converts category index to a relative position.\n\t *\n\t * `location` indicates relative position within category: 0 - start, 1 - end.\n\t *\n\t * If not set, will use middle (0.5) of the category.\n\t *\n\t * @param index Index\n\t * @param location Location\n\t * @return Index\n\t */\n\tpublic indexToPosition(index: number, location?: number, final?: boolean): number {\n\t\tlet len = this.dataItems.length;\n\t\tlet position = 0;\n\n\t\tif (len == 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (index >= len) {\n\t\t\tindex = len - 1;\n\t\t\tlocation = 1;\n\t\t}\n\n\t\tif (!$type.isNumber(location)) {\n\t\t\tlocation = 0.5;\n\t\t}\n\n\t\tif (!$type.isNumber(index)) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tlet startLocation = this.get(\"startLocation\", 0);\n\t\tlet endLocation = this.get(\"endLocation\", 1);\n\n\t\tif (!this.get(\"cellSizeField\")) {\n\t\t\tlen -= startLocation;\n\t\t\tlen -= (1 - endLocation);\n\n\t\t\tposition = (index + location - startLocation) / len;\n\t\t}\n\t\telse {\n\t\t\tlet name: \"finalCellSize\" | \"cellSize\" = final ? \"finalCellSize\" : \"cellSize\";\n\n\t\t\tconst dataItems = this.dataItems;\n\n\t\t\t// Calculate total modified count (sum of cell sizes)\n\t\t\tlet modCount = 0;\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tmodCount += dataItem.get(name, 1);\n\t\t\t});\n\n\t\t\tmodCount -= startLocation * dataItems[0].get(name, 1);\n\t\t\tmodCount -= (1 - endLocation) * dataItems[dataItems.length - 1].get(name, 1);\n\n\t\t\t// Calculate the position based on cell sizes\n\t\t\tlet acc = 0;\n\t\t\tfor (let i = 0; i < index; i++) {\n\t\t\t\tacc += dataItems[i].get(name, 1);\n\t\t\t}\n\t\t\tlet cellSizeAtIndex = dataItems[index].get(name, 1);\n\n\t\t\tposition = (acc + location * cellSizeAtIndex - startLocation * dataItems[0].get(name, 1)) / modCount;\n\t\t}\n\n\t\tif (!final) {\n\t\t\tlet dataItem = this.dataItems[index];\n\t\t\tif (dataItem) {\n\t\t\t\tposition += dataItem.get(\"deltaPosition\", 0);\n\t\t\t}\n\t\t}\n\n\t\treturn position;\n\t}\n\n\t/**\n\t * Returns a position of a category.\n\t *\n\t * @param category Category to look up\n\t * @return Position\n\t */\n\tpublic categoryToPosition(category: string): number {\n\t\tlet dataItem = this._itemMap[category];\n\t\tif (dataItem) {\n\t\t\treturn this.indexToPosition(dataItem.get(\"index\")!);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\n\t/**\n\t * Returns an index of a category.\n\t *\n\t * @param category Category to look up\n\t * @return Index\n\t */\n\tpublic categoryToIndex(category: string): number {\n\t\tlet dataItem = this._itemMap[category];\n\t\tif (dataItem) {\n\t\t\treturn dataItem.get(\"index\")!;\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic dataItemToPosition(dataItem: DataItem<this[\"_dataItemSettings\"]>): number {\n\t\treturn this.indexToPosition(dataItem.get(\"index\")!);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic roundAxisPosition(position: number, location: number): number {\n\t\tposition += (0.5 - location) / this.dataItems.length;\n\t\treturn this.indexToPosition(this.axisPositionToIndex(position), location);\n\t}\n\n\t/**\n\t * Returns an index of the category that corresponds to specific pixel\n\t * position within axis.\n\t *\n\t * @param position Position (px)\n\t * @return Category index\n\t */\n\tpublic axisPositionToIndex(position: number): number {\n\t\tlet len = this.dataItems.length;\n\t\tif (len === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Calculate total modified length (sum of cell sizes)\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tlet modifiedLen = 0;\n\t\t\tlet cellSizes: number[] = [];\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tconst cellSize = dataItem.get(\"cellSize\", 1);\n\t\t\t\tcellSizes.push(cellSize);\n\t\t\t\tmodifiedLen += cellSize;\n\t\t\t});\n\t\t\t// Adjust for startLocation and endLocation\n\t\t\tlet startLocation = this.get(\"startLocation\", 0);\n\t\t\tlet endLocation = this.get(\"endLocation\", 1);\n\t\t\tmodifiedLen -= startLocation;\n\t\t\tmodifiedLen -= (1 - endLocation);\n\n\t\t\t// Find which cell the position falls into\n\t\t\tlet rel = position * modifiedLen + startLocation;\n\t\t\tlet acc = 0;\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tconst cellSize = cellSizes[i];\n\t\t\t\tif (rel < acc + cellSize) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t\tacc += cellSize;\n\t\t\t}\n\t\t\treturn len - 1;\n\t\t}\n\t\telse {\n\t\t\treturn $math.fitToRange(Math.floor(position * len), 0, len - 1);\n\t\t}\n\t}\n\n\t/**\n\t * Returns text to be used in an axis tooltip for specific relative position.\n\t *\n\t * @param position Position\n\t * @return Tooltip text\n\t */\n\tpublic getTooltipText(position: number, _adjustPosition?: boolean): string | undefined {\n\t\t//@todo number formatter + tag\n\t\tconst dataItem = this.dataItems[this.axisPositionToIndex(position)];\n\t\tif (dataItem) {\n\t\t\tconst label = dataItem.get(\"label\")\n\t\t\tif (label) {\n\t\t\t\treturn populateString(label, this.get(\"tooltipText\", \"\"));\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTooltipText(tooltip: Tooltip, position: number) {\n\t\ttooltip._setDataItem(this.dataItems[this.axisPositionToIndex(position)]);\n\t\ttooltip.label.text.markDirtyText();\n\t}\n\n\t/**\n\t * Returns a data item from series that is closest to the `position`.\n\t *\n\t * @param series Series\n\t * @param position Relative position\n\t * @return Data item\n\t */\n\tpublic getSeriesItem(series: XYSeries, position: number): DataItem<IXYSeriesDataItem> | undefined {\n\t\tif (this.dataItems.length > 0) {\n\t\t\tlet fieldName = <any>(this.getPrivate(\"name\")! + this.get(\"renderer\").getPrivate(\"letter\")!);\n\t\t\tlet index = this.axisPositionToIndex(position);\n\t\t\t// try simple first\n\t\t\tlet seriesDataItem = series.dataItems[index];\n\t\t\tlet axisDataItem = this.dataItems[index];\n\t\t\tlet category = axisDataItem.get(\"category\");\n\n\t\t\tif (seriesDataItem && axisDataItem) {\n\t\t\t\tif (seriesDataItem.get(fieldName) === category) {\n\t\t\t\t\treturn seriesDataItem;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if not found, try looking\n\t\t\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\tlet dataItem = series.dataItems[i];\n\t\t\t\tif (dataItem.get(fieldName) === category) {\n\t\t\t\t\treturn dataItem;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _getIndices(start: number, end: number): { startIndex: number, endIndex: number } {\n\t\tlet len = this.dataItems.length;\n\t\tlet startIndex = 0;\n\t\tlet endIndex = len;\n\t\tlet name: \"cellSize\" | \"finalCellSize\" = \"cellSize\";\n\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tlet count = 0;\n\t\t\tconst dataItems = this.dataItems;\n\t\t\tif(dataItems.length == 0){\n\t\t\t\treturn { startIndex: 0, endIndex: 0 };\n\t\t\t}\n\n\t\t\t$array.each(dataItems, (dataItem) => {\n\t\t\t\tcount += dataItem.get(name, 1);\n\t\t\t});\n\n\t\t\tcount -= this.get(\"startLocation\", 0) * dataItems[0].get(name, 1);\n\t\t\tcount -= (1 - this.get(\"endLocation\", 1)) * dataItems[dataItems.length - 1].get(name, 1);\n\n\t\t\tlet c = 0;\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tc += this.dataItems[i].get(name, 1);\n\t\t\t\tif (Math.round(c) > Math.round(start * count)) {\n\t\t\t\t\tstartIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let i = startIndex + 1; i < len; i++) {\n\t\t\t\tc += this.dataItems[i].get(name, 1);\n\t\t\t\tif (Math.round(c) >= Math.round(end * count)) {\n\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tstartIndex = Math.max(startIndex, 0);\n\t\t\tendIndex = Math.min(endIndex, len);\n\t\t}\n\t\telse {\n\t\t\tstartIndex = Math.max(Math.round(this.get(\"start\", 0) * len), 0);\n\t\t\tendIndex = Math.min(Math.round(this.get(\"end\", 1) * len), len);\n\t\t}\n\n\t\treturn { startIndex, endIndex };\n\t}\n\n\t/**\n\t * Zooms the axis to specific `start` and `end` indexes.\n\t *\n\t * Optional `duration` specifies duration of zoom animation in milliseconds.\n\t *\n\t * @param start Start index\n\t * @param end End index\n\t * @param duration Duration in milliseconds\n\t */\n\tpublic zoomToIndexes(start: number, end: number, duration?: number) {\n\t\tlet len = this.dataItems.length;\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tstart = Math.min(Math.max(start, 0), len);\n\t\t\tend = Math.max(Math.min(end, len), 1);\n\t\t\tthis.setPrivateRaw(\"startIndex\", start);\n\t\t\tthis.setPrivateRaw(\"endIndex\", end);\n\t\t\tthis.zoom(this.indexToPosition(start, 0, true), this.indexToPosition(end, 0, true), duration);\n\t\t}\n\t\telse {\n\t\t\tthis.zoom(start / len, end / len, duration);\n\t\t}\n\t}\n\n\tpublic zoomToCategories(startCategory: string, endCategory: string, duration?: number) {\n\t\tthis.zoomToIndexes(this.categoryToIndex(startCategory), this.categoryToIndex(endCategory) + 1, duration);\n\t}\n\n\t/**\n\t * Returns position span between start and end of a single cell in axis.\n\t *\n\t * @since 5.2.30\n\t * @return Position\n\t */\n\tpublic getCellWidthPosition(): number {\n\t\treturn this._frequency / this.dataItems.length / (this.get(\"end\", 1) - this.get(\"start\", 0));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic nextPosition(count?: number) {\n\t\tif (count == null) {\n\t\t\tcount = 1;\n\t\t}\n\n\t\tif (this.get(\"renderer\").getPrivate(\"letter\") == \"Y\") {\n\t\t\tcount *= -1;\n\t\t}\n\n\t\tconst position = this.getPrivate(\"tooltipPosition\", 0);\n\n\t\tconst index = $math.fitToRange(this.axisPositionToIndex(position) + count, 0, this.dataItems.length - 1);\n\t\treturn this.toGlobalPosition(this.indexToPosition(index));\n\t}\n}\n"]}
1
+ {"version":3,"file":"CategoryAxis.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/CategoryAxis.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../../core/render/Component\";\nimport type { AxisRenderer } from \"./AxisRenderer\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\nimport type { IXYSeriesDataItem, XYSeries } from \"../series/XYSeries\";\n\nimport { Axis, IAxisSettings, IAxisPrivate, IAxisDataItem, IAxisEvents } from \"./Axis\";\nimport { populateString } from \"../../../core/util/PopulateString\";\nimport { ValueAxis } from \"./ValueAxis\";\n\nimport * as $array from \"../../../core/util/Array\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $math from \"../../../core/util/Math\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface ICategoryAxisSettings<R extends AxisRenderer> extends IAxisSettings<R> {\n\n\t/**\n\t * A function that can be used to specify how to configure axis fills.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/#Axis_fills} for more info\n\t */\n\tfillRule?: (dataItem: DataItem<ICategoryAxisDataItem>, index?: number) => void;\n\n\t/**\n\t * A field in data which holds categories.\n\t */\n\tcategoryField: string;\n\n\t/**\n\t * A key to look up in data for an id of the data item.\n\t */\n\tidField?: string;\n\n\t/**\n\t * A key to look up in data for a relative size value of the data item. \n\t */\n\tcellSizeField?: string;\n\n\t/**\n\t * Relative location of where axis cell starts: 0 - beginning, 1 - end.\n\t *\n\t * @default 0\n\t */\n\tstartLocation?: number;\n\n\t/**\n\t * Relative location of where axis cell ends: 0 - beginning, 1 - end.\n\t *\n\t * @default 1\n\t */\n\tendLocation?: number;\n}\n\nexport interface ICategoryAxisDataItem extends IAxisDataItem {\n\n\t/**\n\t * Named category.\n\t */\n\tcategory?: string;\n\n\t/**\n\t * Named end category (for axis items that span multiple categories, like\n\t * axis ranges).\n\t */\n\tendCategory?: string;\n\n\t/**\n\t * Index of the data item.\n\t */\n\tindex?: number;\n\n\t/**\n\t * Relative location of the category within cell: 0 - start, 1 - end.\n\t */\n\tcategoryLocation?: number;\n\n\t/**\n\t * Relative location of the end category within cell: 0 - start, 1 - end.\n\t */\n\tendCategoryLocation?: number;\n\n\t/**\n\t * A distance to shift data item relative to its original position.\n\t *\n\t * The value is 0 to 1, where 1 is full witdth of the axis.\n\t *\n\t * Can be used to sort data items without modifying order of the actual data.\n\t */\n\tdeltaPosition?: number;\n\n\t/**\n\t * A size of the category cell.\n\t *\n\t * NOTE: This value is used only if `cellSizeField` is set on the series.\n\t */\n\tcellSize?: number;\n\n\t/**\n\t * @ignore\n\t */\n\tfinalCellSize?: number;\n\n\t/**\n\t * A unique id of the data item.\n\t */\n\tid?: string;\n}\n\nexport interface ICategoryAxisPrivate extends IAxisPrivate {\n\n\t/**\n\t * Start index of the current zoom scope.\n\t */\n\tstartIndex?: number;\n\n\t/**\n\t * End index of the current zoom scope.\n\t */\n\tendIndex?: number;\n}\n\nexport interface ICategoryAxisEvents extends IAxisEvents {\n\n}\n\n/**\n * Creates a category axis.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/category-axis/} for more info\n * @important\n */\nexport class CategoryAxis<R extends AxisRenderer> extends Axis<R> {\n\tpublic static className: string = \"CategoryAxis\";\n\tpublic static classNames: Array<string> = Axis.classNames.concat([CategoryAxis.className]);\n\n\tdeclare public _settings: ICategoryAxisSettings<R>;\n\tdeclare public _privateSettings: ICategoryAxisPrivate;\n\tdeclare public _dataItemSettings: ICategoryAxisDataItem;\n\tdeclare public _events: ICategoryAxisEvents;\n\n\tprotected _frequency: number = 1;\n\n\tprotected _itemMap: { [index: string]: DataItem<ICategoryAxisDataItem> } = {};\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"axis\"]);\n\t\tthis.fields.push(\"category\", \"id\", \"cellSize\");\n\t\tthis.setPrivateRaw(\"name\", \"category\");\n\t\tthis.addTag(\"category\");\n\t\tsuper._afterNew();\n\t}\n\n\tpublic _afterDataChange(): void {\n\t\tsuper._afterDataChange();\n\t\tconst len = this.dataItems.length;\n\t\tif (len > 0) {\n\t\t\tthis.setPrivateRaw(\"maxZoomFactor\", len);\n\t\t}\n\n\t\t// fix final indexes\t\t\n\t\tthis.setPrivateRaw(\"startIndex\", Math.min(this.getPrivate(\"startIndex\", 0), len));\n\t\tthis.setPrivateRaw(\"endIndex\", Math.min(this.getPrivate(\"endIndex\", len), 1));\n\t}\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\n\t\tconst len = this.dataItems.length;\n\t\tlet i = 0;\n\t\tif (this._valuesDirty) {\n\t\t\tthis._itemMap = {};\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tdataItem.setRaw(\"index\", i);\n\t\t\t\tthis._itemMap[dataItem.get(\"category\") as string] = dataItem;\n\t\t\t\ti++;\n\t\t\t})\n\n\t\t\tthis.setPrivateRaw(\"maxZoomFactor\", len);\n\t\t}\n\n\t\tlet start = this.get(\"start\", 0);\n\t\tlet end = this.get(\"end\", 1);\n\t\t\n\t\tlet indices = this._getIndices(start, end);\n\n\t\tthis.setPrivateRaw(\"startIndex\", indices.startIndex);\n\t\tthis.setPrivateRaw(\"endIndex\", indices.endIndex);\n\n\t\tif (this._sizeDirty || this._valuesDirty || (this.isDirty(\"start\") || this.isDirty(\"end\") || this.isPrivateDirty(\"endIndex\") || this.isPrivateDirty(\"startIndex\") || this.isPrivateDirty(\"width\") || this.isPrivateDirty(\"height\"))) {\n\t\t\tif (this.dataItems.length > 0) {\n\t\t\t\tthis._handleRangeChange();\n\t\t\t\tthis._prepareAxisItems();\n\t\t\t\tthis._updateAxisRanges();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic adjustZoom(): void {\n\t\tconst len = this.dataItems.length;\n\t\tif (len > 1) {\n\t\t\tlet maxZoomCount = this.get(\"maxZoomCount\", this.dataItems.length);\n\t\t\tlet minZoomCount = this.get(\"minZoomCount\", 1);\n\n\t\t\tlet count = 0;\n\t\t\tlet startIndex = this.getPrivate(\"startIndex\", 0);\n\t\t\tlet endIndex = this.getPrivate(\"endIndex\", 0);\n\n\t\t\tconst sAnimation = this._sAnimation;\n\t\t\tconst eAnimation = this._eAnimation;\n\n\t\t\tlet start = this.get(\"start\", 0);\n\t\t\tlet getIndices = false;\n\t\t\tif (sAnimation && !sAnimation.stopped) {\n\t\t\t\tstart = Number(sAnimation.to);\n\t\t\t\tgetIndices = true;\n\t\t\t}\n\t\t\tlet end = this.get(\"end\", 1);\n\t\t\tif (eAnimation && !eAnimation.stopped) {\n\t\t\t\tend = Number(eAnimation.to);\n\t\t\t\tgetIndices = true;\n\t\t\t}\n\n\t\t\tif (getIndices) {\n\t\t\t\tconst indices = this._getIndices(start, end);\n\t\t\t\tstartIndex = indices.startIndex;\n\t\t\t\tendIndex = indices.endIndex;\n\t\t\t}\n\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\tcount += dataItem.get(\"finalCellSize\", 1);\n\t\t\t};\n\n\t\t\tif (count <= minZoomCount) {\n\t\t\t\t// need to zoom out\n\t\t\t\tlet c = 0;\n\n\t\t\t\tfor (let i = startIndex; i < len; i++) {\n\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\tc += dataItem.get(\"finalCellSize\", 1);\n\n\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\tif (c >= minZoomCount) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (c < minZoomCount) {\n\t\t\t\t\t// still not enough, try to extend at the start\n\t\t\t\t\tfor (let i = startIndex - 1; i >= 0; i--) {\n\t\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\t\tc += dataItem.get(\"finalCellSize\", 1);\n\t\t\t\t\t\tstartIndex = i;\n\t\t\t\t\t\tif (c >= minZoomCount) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.zoomToIndexes(startIndex, endIndex);\n\t\t\t}\n\t\t\telse if (count >= maxZoomCount) {\n\t\t\t\tlet c = count;\n\t\t\t\tfor (let i = endIndex - 1; i >= startIndex; i--) {\n\t\t\t\t\tconst dataItem = this.dataItems[i];\n\t\t\t\t\tc -= dataItem.get(\"finalCellSize\", 1);\n\t\t\t\t\tif (c <= maxZoomCount) {\n\t\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.zoomToIndexes(startIndex, endIndex);\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _handleRangeChange() {\n\t\t$array.each(this.series, (series) => {\n\t\t\tlet startCategory = this.dataItems[this.startIndex()].get(\"category\")!;\n\t\t\tlet endCategory = this.dataItems[this.endIndex() - 1].get(\"category\")!;\n\n\t\t\tlet baseAxis = series.get(\"baseAxis\");\n\t\t\tlet xAxis = series.get(\"xAxis\");\n\t\t\tlet yAxis = series.get(\"yAxis\");\n\n\t\t\tif (xAxis instanceof CategoryAxis && yAxis instanceof CategoryAxis) {\n\t\t\t\tseries._markDirtyAxes();\n\t\t\t}\n\t\t\telse if (baseAxis === this) {\n\t\t\t\tlet key: string | undefined;\n\t\t\t\tlet openKey: string | undefined;\n\t\t\t\tlet otherAxis = yAxis;\n\t\t\t\tif (xAxis === baseAxis) {\n\t\t\t\t\tif (series.get(\"categoryXField\")) {\n\t\t\t\t\t\tkey = \"categoryX\";\n\t\t\t\t\t}\n\t\t\t\t\tif (series.get(\"openCategoryXField\")) {\n\t\t\t\t\t\topenKey = \"openCategoryX\";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse if (yAxis === baseAxis) {\n\t\t\t\t\tif (series.get(\"categoryYField\")) {\n\t\t\t\t\t\tkey = \"categoryY\";\n\t\t\t\t\t}\n\t\t\t\t\tif (series.get(\"openCategoryYField\")) {\n\t\t\t\t\t\topenKey = \"openCategoryY\";\n\t\t\t\t\t}\n\t\t\t\t\totherAxis = xAxis;\n\t\t\t\t}\n\n\t\t\t\tif (otherAxis instanceof ValueAxis) {\n\n\t\t\t\t\tif (key || openKey) {\n\t\t\t\t\t\tlet startDataItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\t\t\tlet endDataItem: DataItem<IXYSeriesDataItem> | undefined;\n\n\t\t\t\t\t\tfunction findDataItem(\n\t\t\t\t\t\t\tseries: XYSeries,\n\t\t\t\t\t\t\tcategoryAxis: CategoryAxis<any>,\n\t\t\t\t\t\t\tkey: string | undefined,\n\t\t\t\t\t\t\topenKey: string | undefined,\n\t\t\t\t\t\t\tcategory: string,\n\t\t\t\t\t\t\tdirection: \"previous\" | \"next\"\n\t\t\t\t\t\t): DataItem<IXYSeriesDataItem> | undefined {\n\t\t\t\t\t\t\tlet dataItem: DataItem<IXYSeriesDataItem> | undefined;\n\t\t\t\t\t\t\tlet idx = categoryAxis.categoryToIndex(category!);\n\n\t\t\t\t\t\t\twhile (!dataItem && idx >= 0 && idx < categoryAxis.dataItems.length) {\n\t\t\t\t\t\t\t\tlet searchCategory = categoryAxis.dataItems[idx].get(\"category\");\n\t\t\t\t\t\t\t\tif (direction == \"previous\") {\n\t\t\t\t\t\t\t\t\tfor (let i = series.dataItems.length - 1; i >= 0; i--) {\n\t\t\t\t\t\t\t\t\t\tlet item = series.dataItems[i];\n\t\t\t\t\t\t\t\t\t\tif (key && item.get(key as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (openKey && item.get(openKey as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\t\t\t\t\t\t\tlet item = series.dataItems[i];\n\t\t\t\t\t\t\t\t\t\tif (key && item.get(key as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tif (openKey && item.get(openKey as any) === searchCategory) {\n\t\t\t\t\t\t\t\t\t\t\tdataItem = item;\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!dataItem) {\n\t\t\t\t\t\t\t\t\tidx += direction === \"previous\" ? -1 : 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn dataItem;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstartDataItem = findDataItem(series, this, key, openKey, startCategory, \"next\");\n\t\t\t\t\t\tendDataItem = findDataItem(series, this, key, openKey, endCategory, \"previous\");\n\n\t\t\t\t\t\tlet startIndex = 0;\n\t\t\t\t\t\tlet endIndex = series.dataItems.length;\n\n\t\t\t\t\t\tif (startDataItem) {\n\t\t\t\t\t\t\tstartIndex = series.dataItems.indexOf(startDataItem);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (endDataItem) {\n\t\t\t\t\t\t\tendIndex = series.dataItems.indexOf(endDataItem) + 1;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tseries.setPrivate(\"startIndex\", startIndex);\n\t\t\t\t\t\tseries.setPrivate(\"endIndex\", endIndex);\n\n\t\t\t\t\t\tlet hasValue = false;\n\t\t\t\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\t\t\t\tconst dataItem = series.dataItems[i];\n\n\t\t\t\t\t\t\t$array.each(series.__valueXShowFields, (key) => {\n\t\t\t\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\t\t\t\thasValue = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\t$array.each(series.__valueYShowFields, (key) => {\n\t\t\t\t\t\t\t\tlet value = dataItem.get(<any>key);\n\t\t\t\t\t\t\t\tif (value != null) {\n\t\t\t\t\t\t\t\t\thasValue = true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\t\tif (hasValue) {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tseries.setPrivate(\"outOfSelection\", !hasValue);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tseries._markDirtyAxes();\t// must be outside\n\t\t\t}\n\t\t})\n\t}\n\n\n\tprotected _prepareAxisItems() {\n\t\tconst renderer = this.get(\"renderer\");\n\t\tconst len = this.dataItems.length;\n\n\t\tlet startIndex = this.startIndex();\n\t\tif (startIndex > 0) {\n\t\t\tstartIndex--;\n\t\t}\n\n\t\tlet endIndex = this.endIndex();\n\t\tif (endIndex < len) {\n\t\t\tendIndex++;\n\t\t}\n\n\t\tconst minorLabelsEnabled = renderer.get(\"minorLabelsEnabled\");\n\t\tconst minorGridEnabled = renderer.get(\"minorGridEnabled\", minorLabelsEnabled);\n\n\t\tlet maxCount = renderer.axisLength() / Math.max(renderer.get(\"minGridDistance\")!, 1);\n\n\t\tlet frequency = Math.max(1, Math.min(len, Math.ceil((endIndex - startIndex) / maxCount)));\n\n\t\tstartIndex = Math.floor(startIndex / frequency) * frequency;\n\t\tthis._frequency = frequency;\n\n\t\tfor (let j = 0; j < len; j++) {\n\t\t\tthis._toggleDataItem(this.dataItems[j], false);\n\t\t}\n\n\t\tlet f = this.dataItems[startIndex].get(\"index\", 0);\n\n\t\tfor (let i = startIndex; i < endIndex; i = i + frequency) {\n\t\t\tlet dataItem = this.dataItems[i];\n\n\t\t\tthis._createAssets(dataItem, []);\n\t\t\tthis._toggleDataItem(dataItem, true);\n\n\t\t\tlet count = frequency;\n\t\t\tif (minorGridEnabled) {\n\t\t\t\tcount = 1;\n\t\t\t}\n\n\t\t\tthis._prepareDataItem(dataItem, f, count);\n\n\t\t\tf++;\n\t\t}\n\n\t\tif (renderer.get(\"minorGridEnabled\")) {\n\t\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\t\tlet dataItem = this.dataItems[i];\n\t\t\t\tif (i % frequency != 0) {\n\t\t\t\t\tthis._createAssets(dataItem, [\"minor\"], true);\n\t\t\t\t\tthis._toggleDataItem(dataItem, true);\n\t\t\t\t\tthis._prepareDataItem(dataItem, 0, 1);\n\n\t\t\t\t\tif (!minorLabelsEnabled) {\n\t\t\t\t\t\tdataItem.get(\"label\")?.setPrivate(\"visible\", false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._updateGhost();\n\t}\n\n\n\tpublic _prepareDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>, fillIndex?: number, count?: number) {\n\t\tlet renderer = this.get(\"renderer\");\n\n\t\tlet categoryLocation = dataItem.get(\"categoryLocation\", 0);\n\t\tlet endCategoryLocation = dataItem.get(\"endCategoryLocation\", 1);\n\n\t\tlet index: number | undefined = dataItem.get(\"index\");\n\n\t\tif (!$type.isNumber(index)) {\n\t\t\tindex = this.categoryToIndex(dataItem.get(\"category\")!);\n\t\t}\n\n\t\tlet position = this.indexToPosition(index, categoryLocation);\n\n\t\tlet endCategory = dataItem.get(\"endCategory\")!;\n\t\tlet endIndex: number;\n\t\tif (endCategory) {\n\t\t\tendIndex = this.categoryToIndex(endCategory);\n\t\t\tif (!$type.isNumber(endIndex)) {\n\t\t\t\tendIndex = index;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tendIndex = index;\n\t\t}\n\n\t\tlet endPosition = this.indexToPosition(endIndex, endCategoryLocation);\n\n\t\tlet fillEndIndex: number;\n\t\tlet fillEndPosition: number;\n\n\t\tif (dataItem.get(\"isRange\")) {\n\t\t\tfillEndIndex = endIndex;\n\n\t\t\tif (!$type.isNumber(index)) {\n\t\t\t\tthis._toggleDataItem(dataItem, false);\n\t\t\t\treturn;\t\t\t\t\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tfillEndIndex = index + this._frequency - 1;\n\t\t}\n\n\t\tfillEndPosition = this.indexToPosition(fillEndIndex, endCategoryLocation);\n\n\t\trenderer.updateLabel(dataItem.get(\"label\"), position, endPosition, count);\n\t\trenderer.updateGrid(dataItem.get(\"grid\"), position, endPosition);\n\t\trenderer.updateTick(dataItem.get(\"tick\"), position, endPosition, count);\n\t\trenderer.updateFill(dataItem.get(\"axisFill\"), position, fillEndPosition);\n\n\t\tthis._processBullet(dataItem);\n\t\trenderer.updateBullet(dataItem.get(\"bullet\"), position, endPosition);\n\n\t\tconst fillRule = this.get(\"fillRule\");\n\t\tif (fillRule) {\n\t\t\tfillRule(dataItem, fillIndex)\n\t\t}\n\t}\n\n\tpublic startIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.min(Math.max(this.getPrivate(\"startIndex\", 0), 0), len - 1);\n\t}\n\n\tpublic endIndex() {\n\t\tlet len = this.dataItems.length;\n\t\treturn Math.max(1, Math.min(this.getPrivate(\"endIndex\", len), len));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic baseValue(): any {\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic basePosition() {\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Returns X coordinate in pixels corresponding to specific category index.\n\t *\n\t * @param value Index\n\t * @return X coordinate\n\t */\n\tpublic getX(value: string): number {\n\t\tlet axisDataItem = this._itemMap[value];\n\t\tif (axisDataItem) {\n\t\t\treturn this._settings.renderer.positionToCoordinate(this.indexToPosition(axisDataItem.get(\"index\", 0)));\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * Returns Y coordinate in pixels corresponding to specific category index.\n\t *\n\t * @param value Index\n\t * @return Y coordinate\n\t */\n\tpublic getY(value: string): number {\n\t\tlet axisDataItem = this._itemMap[value];\n\t\tif (axisDataItem) {\n\t\t\treturn this._settings.renderer.positionToCoordinate(this.indexToPosition(axisDataItem.get(\"index\", 0)));\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemPositionX(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\tconst category = dataItem.get(field as any);\n\t\tconst axisDataItem = this._itemMap[category];\n\n\t\tif (axisDataItem) {\n\t\t\treturn this.indexToPosition(axisDataItem.get(\"index\", 0), cellLocation);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemCoordinateX(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\treturn this._settings.renderer.positionToCoordinate(this.getDataItemPositionX(dataItem, field, cellLocation, _axisLocation));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemPositionY(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\tconst category = dataItem.get(field as any);\n\t\tconst axisDataItem = this._itemMap[category];\n\t\tif (axisDataItem) {\n\t\t\treturn this.indexToPosition(axisDataItem.get(\"index\", 0), cellLocation);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic getDataItemCoordinateY(dataItem: DataItem<IXYSeriesDataItem>, field: string, cellLocation: number, _axisLocation?: number): number {\n\t\treturn this._settings.renderer.positionToCoordinate(this.getDataItemPositionY(dataItem, field, cellLocation, _axisLocation));\n\t}\n\n\t/**\n\t * Converts category index to a relative position.\n\t *\n\t * `location` indicates relative position within category: 0 - start, 1 - end.\n\t *\n\t * If not set, will use middle (0.5) of the category.\n\t *\n\t * @param index Index\n\t * @param location Location\n\t * @return Index\n\t */\n\tpublic indexToPosition(index: number, location?: number, final?: boolean): number {\n\t\tlet len = this.dataItems.length;\n\t\tlet position = 0;\n\n\t\tif (len == 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (index >= len) {\n\t\t\tindex = len - 1;\n\t\t\tlocation = 1;\n\t\t}\n\n\t\tif (!$type.isNumber(location)) {\n\t\t\tlocation = 0.5;\n\t\t}\n\n\t\tif (!$type.isNumber(index)) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tlet startLocation = this.get(\"startLocation\", 0);\n\t\tlet endLocation = this.get(\"endLocation\", 1);\n\n\t\tif (!this.get(\"cellSizeField\")) {\n\t\t\tlen -= startLocation;\n\t\t\tlen -= (1 - endLocation);\n\n\t\t\tposition = (index + location - startLocation) / len;\n\t\t}\n\t\telse {\n\t\t\tlet name: \"finalCellSize\" | \"cellSize\" = final ? \"finalCellSize\" : \"cellSize\";\n\n\t\t\tconst dataItems = this.dataItems;\n\n\t\t\t// Calculate total modified count (sum of cell sizes)\n\t\t\tlet modCount = 0;\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tmodCount += dataItem.get(name, 1);\n\t\t\t});\n\n\t\t\tmodCount -= startLocation * dataItems[0].get(name, 1);\n\t\t\tmodCount -= (1 - endLocation) * dataItems[dataItems.length - 1].get(name, 1);\n\n\t\t\t// Calculate the position based on cell sizes\n\t\t\tlet acc = 0;\n\t\t\tfor (let i = 0; i < index; i++) {\n\t\t\t\tacc += dataItems[i].get(name, 1);\n\t\t\t}\n\t\t\tlet cellSizeAtIndex = dataItems[index].get(name, 1);\n\n\t\t\tposition = (acc + location * cellSizeAtIndex - startLocation * dataItems[0].get(name, 1)) / modCount;\n\t\t}\n\n\t\tif (!final) {\n\t\t\tlet dataItem = this.dataItems[index];\n\t\t\tif (dataItem) {\n\t\t\t\tposition += dataItem.get(\"deltaPosition\", 0);\n\t\t\t}\n\t\t}\n\n\t\treturn position;\n\t}\n\n\t/**\n\t * Returns a position of a category.\n\t *\n\t * @param category Category to look up\n\t * @return Position\n\t */\n\tpublic categoryToPosition(category: string): number {\n\t\tlet dataItem = this._itemMap[category];\n\t\tif (dataItem) {\n\t\t\treturn this.indexToPosition(dataItem.get(\"index\")!);\n\t\t}\n\t\treturn NaN;\n\t}\n\n\n\t/**\n\t * Returns an index of a category.\n\t *\n\t * @param category Category to look up\n\t * @return Index\n\t */\n\tpublic categoryToIndex(category: string): number {\n\t\tlet dataItem = this._itemMap[category];\n\t\tif (dataItem) {\n\t\t\treturn dataItem.get(\"index\")!;\n\t\t}\n\t\treturn NaN;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic dataItemToPosition(dataItem: DataItem<this[\"_dataItemSettings\"]>): number {\n\t\treturn this.indexToPosition(dataItem.get(\"index\")!);\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic roundAxisPosition(position: number, location: number): number {\n\t\tposition += (0.5 - location) / this.dataItems.length;\n\t\treturn this.indexToPosition(this.axisPositionToIndex(position), location);\n\t}\n\n\t/**\n\t * Returns an index of the category that corresponds to specific pixel\n\t * position within axis.\n\t *\n\t * @param position Position (px)\n\t * @return Category index\n\t */\n\tpublic axisPositionToIndex(position: number): number {\n\t\tlet len = this.dataItems.length;\n\t\tif (len === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Calculate total modified length (sum of cell sizes)\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tlet modifiedLen = 0;\n\t\t\tlet cellSizes: number[] = [];\n\t\t\t$array.each(this.dataItems, (dataItem) => {\n\t\t\t\tconst cellSize = dataItem.get(\"cellSize\", 1);\n\t\t\t\tcellSizes.push(cellSize);\n\t\t\t\tmodifiedLen += cellSize;\n\t\t\t});\n\t\t\t// Adjust for startLocation and endLocation\n\t\t\tlet startLocation = this.get(\"startLocation\", 0);\n\t\t\tlet endLocation = this.get(\"endLocation\", 1);\n\t\t\tmodifiedLen -= startLocation;\n\t\t\tmodifiedLen -= (1 - endLocation);\n\n\t\t\t// Find which cell the position falls into\n\t\t\tlet rel = position * modifiedLen + startLocation;\n\t\t\tlet acc = 0;\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tconst cellSize = cellSizes[i];\n\t\t\t\tif (rel < acc + cellSize) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t\tacc += cellSize;\n\t\t\t}\n\t\t\treturn len - 1;\n\t\t}\n\t\telse {\n\t\t\treturn $math.fitToRange(Math.floor(position * len), 0, len - 1);\n\t\t}\n\t}\n\n\t/**\n\t * Returns text to be used in an axis tooltip for specific relative position.\n\t *\n\t * @param position Position\n\t * @return Tooltip text\n\t */\n\tpublic getTooltipText(position: number, _adjustPosition?: boolean): string | undefined {\n\t\t//@todo number formatter + tag\n\t\tconst dataItem = this.dataItems[this.axisPositionToIndex(position)];\n\t\tif (dataItem) {\n\t\t\tconst label = dataItem.get(\"label\")\n\t\t\tif (label) {\n\t\t\t\treturn populateString(label, this.get(\"tooltipText\", \"\"));\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _updateTooltipText(tooltip: Tooltip, position: number) {\n\t\ttooltip._setDataItem(this.dataItems[this.axisPositionToIndex(position)]);\n\t\ttooltip.label.text.markDirtyText();\n\t}\n\n\t/**\n\t * Returns a data item from series that is closest to the `position`.\n\t *\n\t * @param series Series\n\t * @param position Relative position\n\t * @return Data item\n\t */\n\tpublic getSeriesItem(series: XYSeries, position: number): DataItem<IXYSeriesDataItem> | undefined {\n\t\tif (this.dataItems.length > 0) {\n\t\t\tlet fieldName = <any>(this.getPrivate(\"name\")! + this.get(\"renderer\").getPrivate(\"letter\")!);\n\t\t\tlet index = this.axisPositionToIndex(position);\n\t\t\t// try simple first\n\t\t\tlet seriesDataItem = series.dataItems[index];\n\t\t\tlet axisDataItem = this.dataItems[index];\n\t\t\tlet category = axisDataItem.get(\"category\");\n\n\t\t\tif (seriesDataItem && axisDataItem) {\n\t\t\t\tif (seriesDataItem.get(fieldName) === category) {\n\t\t\t\t\treturn seriesDataItem;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if not found, try looking\n\t\t\tfor (let i = 0, len = series.dataItems.length; i < len; i++) {\n\t\t\t\tlet dataItem = series.dataItems[i];\n\t\t\t\tif (dataItem.get(fieldName) === category) {\n\t\t\t\t\treturn dataItem;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic _getIndices(start: number, end: number): { startIndex: number, endIndex: number } {\n\t\tlet len = this.dataItems.length;\n\t\tlet startIndex = 0;\n\t\tlet endIndex = len;\n\t\tlet name: \"cellSize\" | \"finalCellSize\" = \"cellSize\";\n\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tlet count = 0;\n\t\t\tconst dataItems = this.dataItems;\n\t\t\tif(dataItems.length == 0){\n\t\t\t\treturn { startIndex: 0, endIndex: 0 };\n\t\t\t}\n\n\t\t\t$array.each(dataItems, (dataItem) => {\n\t\t\t\tcount += dataItem.get(name, 1);\n\t\t\t});\n\n\t\t\tcount -= this.get(\"startLocation\", 0) * dataItems[0].get(name, 1);\n\t\t\tcount -= (1 - this.get(\"endLocation\", 1)) * dataItems[dataItems.length - 1].get(name, 1);\n\n\t\t\tlet c = 0;\n\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\tc += this.dataItems[i].get(name, 1);\n\t\t\t\tif (Math.round(c) > Math.round(start * count)) {\n\t\t\t\t\tstartIndex = i;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (let i = startIndex + 1; i < len; i++) {\n\t\t\t\tc += this.dataItems[i].get(name, 1);\n\t\t\t\tif (Math.round(c) >= Math.round(end * count)) {\n\t\t\t\t\tendIndex = i + 1;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tstartIndex = Math.max(startIndex, 0);\n\t\t\tendIndex = Math.min(endIndex, len);\n\t\t}\n\t\telse {\n\t\t\tstartIndex = Math.max(Math.round(this.get(\"start\", 0) * len), 0);\n\t\t\tendIndex = Math.min(Math.round(this.get(\"end\", 1) * len), len);\n\t\t}\n\n\t\treturn { startIndex, endIndex };\n\t}\n\n\t/**\n\t * Zooms the axis to specific `start` and `end` indexes.\n\t *\n\t * Optional `duration` specifies duration of zoom animation in milliseconds.\n\t *\n\t * @param start Start index\n\t * @param end End index\n\t * @param duration Duration in milliseconds\n\t */\n\tpublic zoomToIndexes(start: number, end: number, duration?: number) {\n\t\tlet len = this.dataItems.length;\n\t\tif (this.get(\"cellSizeField\")) {\n\t\t\tstart = Math.min(Math.max(start, 0), len);\n\t\t\tend = Math.max(Math.min(end, len), 1);\n\t\t\tthis.setPrivateRaw(\"startIndex\", start);\n\t\t\tthis.setPrivateRaw(\"endIndex\", end);\n\t\t\tthis.zoom(this.indexToPosition(start, 0, true), this.indexToPosition(end, 0, true), duration);\n\t\t}\n\t\telse {\n\t\t\tthis.zoom(start / len, end / len, duration);\n\t\t}\n\t}\n\n\tpublic zoomToCategories(startCategory: string, endCategory: string, duration?: number) {\n\t\tthis.zoomToIndexes(this.categoryToIndex(startCategory), this.categoryToIndex(endCategory) + 1, duration);\n\t}\n\n\t/**\n\t * Returns position span between start and end of a single cell in axis.\n\t *\n\t * @since 5.2.30\n\t * @return Position\n\t */\n\tpublic getCellWidthPosition(): number {\n\t\treturn this._frequency / this.dataItems.length / (this.get(\"end\", 1) - this.get(\"start\", 0));\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic nextPosition(count?: number) {\n\t\tif (count == null) {\n\t\t\tcount = 1;\n\t\t}\n\n\t\tif (this.get(\"renderer\").getPrivate(\"letter\") == \"Y\") {\n\t\t\tcount *= -1;\n\t\t}\n\n\t\tconst position = this.getPrivate(\"tooltipPosition\", 0);\n\n\t\tconst index = $math.fitToRange(this.axisPositionToIndex(position) + count, 0, this.dataItems.length - 1);\n\t\treturn this.toGlobalPosition(this.indexToPosition(index));\n\t}\n}\n"]}
@@ -12,18 +12,8 @@ import * as $utils from "../../../core/util/Utils";
12
12
  export class CategoryDateAxis extends CategoryAxis {
13
13
  constructor() {
14
14
  super(...arguments);
15
- Object.defineProperty(this, "_frequency", {
16
- enumerable: true,
17
- configurable: true,
18
- writable: true,
19
- value: 1
20
- });
21
- Object.defineProperty(this, "_itemMap", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: {}
26
- });
15
+ this._frequency = 1;
16
+ this._itemMap = {};
27
17
  }
28
18
  _afterNew() {
29
19
  this._settings.themeTags = $utils.mergeTags(this._settings.themeTags, ["axis"]);
@@ -166,16 +156,6 @@ export class CategoryDateAxis extends CategoryAxis {
166
156
  tooltip.label.set("text", this.getTooltipText(position));
167
157
  }
168
158
  }
169
- Object.defineProperty(CategoryDateAxis, "className", {
170
- enumerable: true,
171
- configurable: true,
172
- writable: true,
173
- value: "CategoryDateAxis"
174
- });
175
- Object.defineProperty(CategoryDateAxis, "classNames", {
176
- enumerable: true,
177
- configurable: true,
178
- writable: true,
179
- value: CategoryAxis.classNames.concat([CategoryDateAxis.className])
180
- });
159
+ CategoryDateAxis.className = "CategoryDateAxis";
160
+ CategoryDateAxis.classNames = CategoryAxis.classNames.concat([CategoryDateAxis.className]);
181
161
  //# sourceMappingURL=CategoryDateAxis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CategoryDateAxis.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/CategoryDateAxis.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../../core/render/Component\";\nimport type { AxisRenderer } from \"./AxisRenderer\";\nimport type { ITimeInterval } from \"../../../core/util/Time\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\n\nimport { CategoryAxis, ICategoryAxisSettings, ICategoryAxisPrivate, ICategoryAxisDataItem, ICategoryAxisEvents } from \"./CategoryAxis\";\n\nimport * as $time from \"../../../core/util/Time\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $array from \"../../../core/util/Array\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface ICategoryDateAxisSettings<R extends AxisRenderer> extends ICategoryAxisSettings<R> {\n\n\t/**\n\t * Indicates granularity of data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Data_granularity} for more info\n\t */\n\tbaseInterval: ITimeInterval;\n\n\t/**\n\t * A list of intervals the axis is allowed to show grid/labels on.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Grid_granularity} for more info\n\t */\n\tgridIntervals?: Array<ITimeInterval>;\n\n\t/**\n\t * Display \"period change\" labels using different format.\n\t *\n\t * If set to `true`, will use `periodChangeDateFormats` instead\n\t * of `dateFormats` for such labels, e.g. for month start.\n\t *\n\t * @default true\n\t */\n\tmarkUnitChange?: boolean;\n\n\t/**\n\t * Date formats used for intermediate labels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Date_formats} for more info\n\t */\n\tdateFormats?: { [index: string]: string };\n\n\t/**\n\t * Date formats used for \"period change\" labels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Date_formats} for more info\n\t */\n\tperiodChangeDateFormats?: { [index: string]: string };\n\n\t/**\n\t * A date format to use for axis tooltip.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-dates/} for more info\n\t */\n\ttooltipDateFormat?: string;\n\n}\n\nexport interface ICategoryDateAxisDataItem extends ICategoryAxisDataItem {\n}\n\nexport interface ICategoryDateAxisPrivate extends ICategoryAxisPrivate {\n\n\t/**\n\t * Current base interval.\n\t */\n\tbaseInterval: ITimeInterval;\n\n}\n\nexport interface ICategoryDateAxisEvents extends ICategoryAxisEvents {\n}\n\n\n/**\n * Category-based date axis.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/category-date-axis/} for more info\n * @important\n */\nexport class CategoryDateAxis<R extends AxisRenderer> extends CategoryAxis<R> {\n\tpublic static className: string = \"CategoryDateAxis\";\n\tpublic static classNames: Array<string> = CategoryAxis.classNames.concat([CategoryDateAxis.className]);\n\n\tdeclare public _settings: ICategoryDateAxisSettings<R>;\n\tdeclare public _privateSettings: ICategoryDateAxisPrivate;\n\tdeclare public _dataItemSettings: ICategoryDateAxisDataItem;\n\tdeclare public _events: ICategoryDateAxisEvents;\n\n\tprotected _frequency: number = 1;\n\n\tprotected _itemMap: { [index: string]: DataItem<ICategoryDateAxisDataItem> } = {};\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"axis\"]);\n\t\tthis.fields.push(\"category\");\n\t\tsuper._afterNew();\n\t}\n\n\n\tprotected _prepareAxisItems() {\n\t\t// temp\n\t\tthis.setPrivateRaw(\"baseInterval\", this.get(\"baseInterval\"));\n\n\t\tconst renderer = this.get(\"renderer\");\n\t\tconst len = this.dataItems.length;\n\n\t\tlet startIndex = this.startIndex();\n\t\tif (startIndex > 0) {\n\t\t\tstartIndex--;\n\t\t}\n\n\t\tlet endIndex = this.endIndex();\n\t\tif (endIndex < len) {\n\t\t\tendIndex++;\n\t\t}\n\n\t\tlet maxCount = renderer.axisLength() / Math.max(renderer.get(\"minGridDistance\")!, 1 / Number.MAX_SAFE_INTEGER);\n\n\t\tlet frequency = Math.min(len, Math.ceil((endIndex - startIndex) / maxCount));\n\t\tstartIndex = Math.floor(startIndex / frequency) * frequency;\n\t\tthis._frequency = frequency;\n\n\t\tfor (let j = 0; j < len; j++) {\n\t\t\tthis._toggleDataItem(this.dataItems[j], false);\n\t\t}\n\n\t\tlet startTime = Number(this.dataItems[startIndex].get(\"category\"));\n\t\tlet endTime = Number(this.dataItems[endIndex - 1].get(\"category\"));\n\t\tlet realDuration = (endTime - startTime);\n\t\tif (endIndex - startIndex < maxCount) {\n\t\t\trealDuration = (endTime - startTime) - ((endTime - startTime) / this.baseDuration() - (endIndex - startIndex)) * this.baseDuration();\n\t\t}\n\n\t\t// if all items are on axis\n\t\tlet gridInterval = $time.chooseInterval(0, realDuration, maxCount, this.get(\"gridIntervals\")!);\n\n\t\tconst nextGridUnit = $time.getNextUnit(gridInterval.timeUnit);\n\t\tconst baseInterval = this.getPrivate(\"baseInterval\");\n\n\t\tif ($time.getIntervalDuration(gridInterval) < this.baseDuration()) {\n\t\t\tgridInterval = { ...baseInterval };\n\t\t}\n\n\t\tconst formats = this.get(\"dateFormats\")!;\n\n\t\tlet previousValue = -Infinity;\n\t\tlet previousIndex = -Infinity;\n\t\tlet previousUnitValue = -Infinity;\n\t\tlet format: string;\n\n\t\tlet selectedItems: Array<{ format: string, dataItem: DataItem<ICategoryDateAxisDataItem> }> = [];\n\t\tlet changed = false;\n\n\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\tlet dataItem = this.dataItems[i];\n\t\t\tlet index = dataItem.get(\"index\")!;\n\t\t\tlet skip = false;\n\n\t\t\tlet value = Number(dataItem.get(\"category\"));\n\t\t\tlet date = new Date(value);\n\t\t\tlet unitValue = $time.getUnitValue(date, gridInterval.timeUnit);\n\n\t\t\tformat = formats[gridInterval.timeUnit];\n\t\t\tlet added = false;\n\n\t\t\tif (gridInterval.timeUnit != \"year\" && gridInterval.timeUnit != \"week\") {\n\t\t\t\tif (nextGridUnit && this.get(\"markUnitChange\") && $type.isNumber(previousValue)) {\n\n\t\t\t\t\tif ($time.checkChange(value, previousValue, nextGridUnit, this._root.utc)) {\n\t\t\t\t\t\tformat = this.get(\"periodChangeDateFormats\")![gridInterval.timeUnit];\n\n\t\t\t\t\t\tif (index - frequency * 0.5 < previousIndex) {\n\t\t\t\t\t\t\tselectedItems.pop();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tselectedItems.push({ format: format, dataItem: dataItem });\n\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t\tadded = true;\n\t\t\t\t\t\tpreviousIndex = index;\n\t\t\t\t\t\tpreviousUnitValue = unitValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet shouldAdd = false;\n\t\t\tif (gridInterval.timeUnit === \"day\" || gridInterval.timeUnit === \"week\") {\n\t\t\t\tif (index - previousIndex >= frequency) {\n\t\t\t\t\tshouldAdd = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (unitValue % gridInterval.count === 0) {\n\t\t\t\t\tif (unitValue != previousUnitValue) {\n\t\t\t\t\t\tshouldAdd = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!added && shouldAdd) {\n\t\t\t\tif (index - frequency * 0.7 < previousIndex) {\n\t\t\t\t\tif (changed) {\n\t\t\t\t\t\tskip = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!skip) {\n\t\t\t\t\tselectedItems.push({ format: format, dataItem: dataItem });\n\t\t\t\t\tpreviousIndex = index;\n\t\t\t\t\tpreviousUnitValue = unitValue;\n\t\t\t\t}\n\t\t\t\tchanged = false;\n\n\t\t\t}\n\n\t\t\tpreviousValue = value;\n\n\t\t}\n\n\t\tif (selectedItems.length > 0) {\n\t\t\tlet f = selectedItems[0].dataItem.get(\"index\", 0);\n\n\t\t\t$array.each(selectedItems, (item) => {\n\t\t\t\tconst dataItem = item.dataItem;\n\t\t\t\tconst format = item.format;\n\t\t\t\tthis._createAssets(dataItem, []);\n\n\t\t\t\tthis._toggleDataItem(dataItem, true);\n\n\t\t\t\tlet value = Number(dataItem.get(\"category\"));\n\t\t\t\tlet date = new Date(value);\n\n\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\tif (label) {\n\t\t\t\t\tlabel.set(\"text\", this._root.dateFormatter.format(date, format!));\n\t\t\t\t}\n\t\t\t\tf++;\n\t\t\t\tthis._prepareDataItem(dataItem, f, frequency);\n\t\t\t})\n\n\t\t}\n\t}\n\n\t/**\n\t * Returns a duration of currently active `baseInterval` in milliseconds.\n\t *\n\t * @return Duration\n\t */\n\tpublic baseDuration(): number {\n\t\treturn $time.getIntervalDuration(this.getPrivate(\"baseInterval\"));\n\t}\n\n\n\t/**\n\t * Returns text to be used in an axis tooltip for specific relative position.\n\t *\n\t * @param position Position\n\t * @return Tooltip text\n\t */\n\tpublic getTooltipText(position: number, _adjustPosition?: boolean): string | undefined {\n\t\t//@todo number formatter + tag\n\t\tlet dataItem = this.dataItems[this.axisPositionToIndex(position)];\n\n\t\tif (dataItem) {\n\t\t\tlet format = this.get(\"dateFormats\")![this.getPrivate(\"baseInterval\").timeUnit];\n\t\t\treturn this._root.dateFormatter.format(new Date(dataItem.get(\"category\", 0)), this.get(\"tooltipDateFormat\", format));\n\t\t}\n\t}\n\n\tprotected _updateTooltipText(tooltip: Tooltip, position: number) {\n\t\ttooltip.label.set(\"text\", this.getTooltipText(position));\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"CategoryDateAxis.js","sourceRoot":"","sources":["../../../../../../src/.internal/charts/xy/axes/CategoryDateAxis.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../../core/render/Component\";\nimport type { AxisRenderer } from \"./AxisRenderer\";\nimport type { ITimeInterval } from \"../../../core/util/Time\";\nimport type { Tooltip } from \"../../../core/render/Tooltip\";\n\nimport { CategoryAxis, ICategoryAxisSettings, ICategoryAxisPrivate, ICategoryAxisDataItem, ICategoryAxisEvents } from \"./CategoryAxis\";\n\nimport * as $time from \"../../../core/util/Time\";\nimport * as $type from \"../../../core/util/Type\";\nimport * as $array from \"../../../core/util/Array\";\nimport * as $utils from \"../../../core/util/Utils\";\n\nexport interface ICategoryDateAxisSettings<R extends AxisRenderer> extends ICategoryAxisSettings<R> {\n\n\t/**\n\t * Indicates granularity of data.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Data_granularity} for more info\n\t */\n\tbaseInterval: ITimeInterval;\n\n\t/**\n\t * A list of intervals the axis is allowed to show grid/labels on.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Grid_granularity} for more info\n\t */\n\tgridIntervals?: Array<ITimeInterval>;\n\n\t/**\n\t * Display \"period change\" labels using different format.\n\t *\n\t * If set to `true`, will use `periodChangeDateFormats` instead\n\t * of `dateFormats` for such labels, e.g. for month start.\n\t *\n\t * @default true\n\t */\n\tmarkUnitChange?: boolean;\n\n\t/**\n\t * Date formats used for intermediate labels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Date_formats} for more info\n\t */\n\tdateFormats?: { [index: string]: string };\n\n\t/**\n\t * Date formats used for \"period change\" labels.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/date-axis/#Date_formats} for more info\n\t */\n\tperiodChangeDateFormats?: { [index: string]: string };\n\n\t/**\n\t * A date format to use for axis tooltip.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-dates/} for more info\n\t */\n\ttooltipDateFormat?: string;\n\n}\n\nexport interface ICategoryDateAxisDataItem extends ICategoryAxisDataItem {\n}\n\nexport interface ICategoryDateAxisPrivate extends ICategoryAxisPrivate {\n\n\t/**\n\t * Current base interval.\n\t */\n\tbaseInterval: ITimeInterval;\n\n}\n\nexport interface ICategoryDateAxisEvents extends ICategoryAxisEvents {\n}\n\n\n/**\n * Category-based date axis.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/xy-chart/axes/category-date-axis/} for more info\n * @important\n */\nexport class CategoryDateAxis<R extends AxisRenderer> extends CategoryAxis<R> {\n\tpublic static className: string = \"CategoryDateAxis\";\n\tpublic static classNames: Array<string> = CategoryAxis.classNames.concat([CategoryDateAxis.className]);\n\n\tdeclare public _settings: ICategoryDateAxisSettings<R>;\n\tdeclare public _privateSettings: ICategoryDateAxisPrivate;\n\tdeclare public _dataItemSettings: ICategoryDateAxisDataItem;\n\tdeclare public _events: ICategoryDateAxisEvents;\n\n\tprotected _frequency: number = 1;\n\n\tprotected _itemMap: { [index: string]: DataItem<ICategoryDateAxisDataItem> } = {};\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"axis\"]);\n\t\tthis.fields.push(\"category\");\n\t\tsuper._afterNew();\n\t}\n\n\n\tprotected _prepareAxisItems() {\n\t\t// temp\n\t\tthis.setPrivateRaw(\"baseInterval\", this.get(\"baseInterval\"));\n\n\t\tconst renderer = this.get(\"renderer\");\n\t\tconst len = this.dataItems.length;\n\n\t\tlet startIndex = this.startIndex();\n\t\tif (startIndex > 0) {\n\t\t\tstartIndex--;\n\t\t}\n\n\t\tlet endIndex = this.endIndex();\n\t\tif (endIndex < len) {\n\t\t\tendIndex++;\n\t\t}\n\n\t\tlet maxCount = renderer.axisLength() / Math.max(renderer.get(\"minGridDistance\")!, 1 / Number.MAX_SAFE_INTEGER);\n\n\t\tlet frequency = Math.min(len, Math.ceil((endIndex - startIndex) / maxCount));\n\t\tstartIndex = Math.floor(startIndex / frequency) * frequency;\n\t\tthis._frequency = frequency;\n\n\t\tfor (let j = 0; j < len; j++) {\n\t\t\tthis._toggleDataItem(this.dataItems[j], false);\n\t\t}\n\n\t\tlet startTime = Number(this.dataItems[startIndex].get(\"category\"));\n\t\tlet endTime = Number(this.dataItems[endIndex - 1].get(\"category\"));\n\t\tlet realDuration = (endTime - startTime);\n\t\tif (endIndex - startIndex < maxCount) {\n\t\t\trealDuration = (endTime - startTime) - ((endTime - startTime) / this.baseDuration() - (endIndex - startIndex)) * this.baseDuration();\n\t\t}\n\n\t\t// if all items are on axis\n\t\tlet gridInterval = $time.chooseInterval(0, realDuration, maxCount, this.get(\"gridIntervals\")!);\n\n\t\tconst nextGridUnit = $time.getNextUnit(gridInterval.timeUnit);\n\t\tconst baseInterval = this.getPrivate(\"baseInterval\");\n\n\t\tif ($time.getIntervalDuration(gridInterval) < this.baseDuration()) {\n\t\t\tgridInterval = { ...baseInterval };\n\t\t}\n\n\t\tconst formats = this.get(\"dateFormats\")!;\n\n\t\tlet previousValue = -Infinity;\n\t\tlet previousIndex = -Infinity;\n\t\tlet previousUnitValue = -Infinity;\n\t\tlet format: string;\n\n\t\tlet selectedItems: Array<{ format: string, dataItem: DataItem<ICategoryDateAxisDataItem> }> = [];\n\t\tlet changed = false;\n\n\t\tfor (let i = startIndex; i < endIndex; i++) {\n\t\t\tlet dataItem = this.dataItems[i];\n\t\t\tlet index = dataItem.get(\"index\")!;\n\t\t\tlet skip = false;\n\n\t\t\tlet value = Number(dataItem.get(\"category\"));\n\t\t\tlet date = new Date(value);\n\t\t\tlet unitValue = $time.getUnitValue(date, gridInterval.timeUnit);\n\n\t\t\tformat = formats[gridInterval.timeUnit];\n\t\t\tlet added = false;\n\n\t\t\tif (gridInterval.timeUnit != \"year\" && gridInterval.timeUnit != \"week\") {\n\t\t\t\tif (nextGridUnit && this.get(\"markUnitChange\") && $type.isNumber(previousValue)) {\n\n\t\t\t\t\tif ($time.checkChange(value, previousValue, nextGridUnit, this._root.utc)) {\n\t\t\t\t\t\tformat = this.get(\"periodChangeDateFormats\")![gridInterval.timeUnit];\n\n\t\t\t\t\t\tif (index - frequency * 0.5 < previousIndex) {\n\t\t\t\t\t\t\tselectedItems.pop();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tselectedItems.push({ format: format, dataItem: dataItem });\n\t\t\t\t\t\tchanged = true;\n\t\t\t\t\t\tadded = true;\n\t\t\t\t\t\tpreviousIndex = index;\n\t\t\t\t\t\tpreviousUnitValue = unitValue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet shouldAdd = false;\n\t\t\tif (gridInterval.timeUnit === \"day\" || gridInterval.timeUnit === \"week\") {\n\t\t\t\tif (index - previousIndex >= frequency) {\n\t\t\t\t\tshouldAdd = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (unitValue % gridInterval.count === 0) {\n\t\t\t\t\tif (unitValue != previousUnitValue) {\n\t\t\t\t\t\tshouldAdd = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!added && shouldAdd) {\n\t\t\t\tif (index - frequency * 0.7 < previousIndex) {\n\t\t\t\t\tif (changed) {\n\t\t\t\t\t\tskip = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!skip) {\n\t\t\t\t\tselectedItems.push({ format: format, dataItem: dataItem });\n\t\t\t\t\tpreviousIndex = index;\n\t\t\t\t\tpreviousUnitValue = unitValue;\n\t\t\t\t}\n\t\t\t\tchanged = false;\n\n\t\t\t}\n\n\t\t\tpreviousValue = value;\n\n\t\t}\n\n\t\tif (selectedItems.length > 0) {\n\t\t\tlet f = selectedItems[0].dataItem.get(\"index\", 0);\n\n\t\t\t$array.each(selectedItems, (item) => {\n\t\t\t\tconst dataItem = item.dataItem;\n\t\t\t\tconst format = item.format;\n\t\t\t\tthis._createAssets(dataItem, []);\n\n\t\t\t\tthis._toggleDataItem(dataItem, true);\n\n\t\t\t\tlet value = Number(dataItem.get(\"category\"));\n\t\t\t\tlet date = new Date(value);\n\n\t\t\t\tconst label = dataItem.get(\"label\");\n\t\t\t\tif (label) {\n\t\t\t\t\tlabel.set(\"text\", this._root.dateFormatter.format(date, format!));\n\t\t\t\t}\n\t\t\t\tf++;\n\t\t\t\tthis._prepareDataItem(dataItem, f, frequency);\n\t\t\t})\n\n\t\t}\n\t}\n\n\t/**\n\t * Returns a duration of currently active `baseInterval` in milliseconds.\n\t *\n\t * @return Duration\n\t */\n\tpublic baseDuration(): number {\n\t\treturn $time.getIntervalDuration(this.getPrivate(\"baseInterval\"));\n\t}\n\n\n\t/**\n\t * Returns text to be used in an axis tooltip for specific relative position.\n\t *\n\t * @param position Position\n\t * @return Tooltip text\n\t */\n\tpublic getTooltipText(position: number, _adjustPosition?: boolean): string | undefined {\n\t\t//@todo number formatter + tag\n\t\tlet dataItem = this.dataItems[this.axisPositionToIndex(position)];\n\n\t\tif (dataItem) {\n\t\t\tlet format = this.get(\"dateFormats\")![this.getPrivate(\"baseInterval\").timeUnit];\n\t\t\treturn this._root.dateFormatter.format(new Date(dataItem.get(\"category\", 0)), this.get(\"tooltipDateFormat\", format));\n\t\t}\n\t}\n\n\tprotected _updateTooltipText(tooltip: Tooltip, position: number) {\n\t\ttooltip.label.set(\"text\", this.getTooltipText(position));\n\t}\n\n}\n"]}