@amcharts/amcharts5 5.0.0-beta.3 → 5.0.0-beta.30

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 (1037) hide show
  1. package/.internal/charts/flow/Chord.d.ts +0 -12
  2. package/.internal/charts/flow/Chord.d.ts.map +1 -1
  3. package/.internal/charts/flow/Chord.js +6 -24
  4. package/.internal/charts/flow/Chord.js.map +1 -1
  5. package/.internal/charts/flow/ChordDirected.d.ts +0 -12
  6. package/.internal/charts/flow/ChordDirected.d.ts.map +1 -1
  7. package/.internal/charts/flow/ChordDirected.js +6 -24
  8. package/.internal/charts/flow/ChordDirected.js.map +1 -1
  9. package/.internal/charts/flow/ChordLink.d.ts +0 -12
  10. package/.internal/charts/flow/ChordLink.d.ts.map +1 -1
  11. package/.internal/charts/flow/ChordLink.js +1 -20
  12. package/.internal/charts/flow/ChordLink.js.map +1 -1
  13. package/.internal/charts/flow/ChordLinkDirected.d.ts +1 -12
  14. package/.internal/charts/flow/ChordLinkDirected.d.ts.map +1 -1
  15. package/.internal/charts/flow/ChordLinkDirected.js +4 -15
  16. package/.internal/charts/flow/ChordLinkDirected.js.map +1 -1
  17. package/.internal/charts/flow/ChordNodes.d.ts +0 -12
  18. package/.internal/charts/flow/ChordNodes.d.ts.map +1 -1
  19. package/.internal/charts/flow/ChordNodes.js +6 -22
  20. package/.internal/charts/flow/ChordNodes.js.map +1 -1
  21. package/.internal/charts/flow/ChordNonRibbon.d.ts +1 -12
  22. package/.internal/charts/flow/ChordNonRibbon.d.ts.map +1 -1
  23. package/.internal/charts/flow/ChordNonRibbon.js +5 -16
  24. package/.internal/charts/flow/ChordNonRibbon.js.map +1 -1
  25. package/.internal/charts/flow/Flow.d.ts +2 -1
  26. package/.internal/charts/flow/Flow.d.ts.map +1 -1
  27. package/.internal/charts/flow/Flow.js +78 -63
  28. package/.internal/charts/flow/Flow.js.map +1 -1
  29. package/.internal/charts/flow/FlowNode.d.ts +0 -12
  30. package/.internal/charts/flow/FlowNode.d.ts.map +1 -1
  31. package/.internal/charts/flow/FlowNode.js +0 -19
  32. package/.internal/charts/flow/FlowNode.js.map +1 -1
  33. package/.internal/charts/flow/FlowNodes.d.ts +19 -1
  34. package/.internal/charts/flow/FlowNodes.d.ts.map +1 -1
  35. package/.internal/charts/flow/FlowNodes.js +25 -13
  36. package/.internal/charts/flow/FlowNodes.js.map +1 -1
  37. package/.internal/charts/flow/Sankey.d.ts +2 -12
  38. package/.internal/charts/flow/Sankey.d.ts.map +1 -1
  39. package/.internal/charts/flow/Sankey.js +16 -21
  40. package/.internal/charts/flow/Sankey.js.map +1 -1
  41. package/.internal/charts/flow/SankeyLink.d.ts +0 -12
  42. package/.internal/charts/flow/SankeyLink.d.ts.map +1 -1
  43. package/.internal/charts/flow/SankeyLink.js +5 -24
  44. package/.internal/charts/flow/SankeyLink.js.map +1 -1
  45. package/.internal/charts/flow/SankeyNodes.d.ts +0 -12
  46. package/.internal/charts/flow/SankeyNodes.d.ts.map +1 -1
  47. package/.internal/charts/flow/SankeyNodes.js +6 -24
  48. package/.internal/charts/flow/SankeyNodes.js.map +1 -1
  49. package/.internal/charts/funnel/FunnelSeries.d.ts +0 -12
  50. package/.internal/charts/funnel/FunnelSeries.d.ts.map +1 -1
  51. package/.internal/charts/funnel/FunnelSeries.js +16 -35
  52. package/.internal/charts/funnel/FunnelSeries.js.map +1 -1
  53. package/.internal/charts/funnel/FunnelSlice.d.ts +0 -12
  54. package/.internal/charts/funnel/FunnelSlice.d.ts.map +1 -1
  55. package/.internal/charts/funnel/FunnelSlice.js +0 -21
  56. package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
  57. package/.internal/charts/funnel/PictorialStackedSeries.d.ts +1 -12
  58. package/.internal/charts/funnel/PictorialStackedSeries.d.ts.map +1 -1
  59. package/.internal/charts/funnel/PictorialStackedSeries.js +13 -20
  60. package/.internal/charts/funnel/PictorialStackedSeries.js.map +1 -1
  61. package/.internal/charts/funnel/PyramidSeries.d.ts +0 -12
  62. package/.internal/charts/funnel/PyramidSeries.d.ts.map +1 -1
  63. package/.internal/charts/funnel/PyramidSeries.js +0 -19
  64. package/.internal/charts/funnel/PyramidSeries.js.map +1 -1
  65. package/.internal/charts/funnel/SlicedChart.d.ts +0 -12
  66. package/.internal/charts/funnel/SlicedChart.d.ts.map +1 -1
  67. package/.internal/charts/funnel/SlicedChart.js +0 -19
  68. package/.internal/charts/funnel/SlicedChart.js.map +1 -1
  69. package/.internal/charts/hierarchy/BreadcrumbBar.d.ts +1 -12
  70. package/.internal/charts/hierarchy/BreadcrumbBar.d.ts.map +1 -1
  71. package/.internal/charts/hierarchy/BreadcrumbBar.js +7 -17
  72. package/.internal/charts/hierarchy/BreadcrumbBar.js.map +1 -1
  73. package/.internal/charts/hierarchy/ForceDirected.d.ts +2 -12
  74. package/.internal/charts/hierarchy/ForceDirected.d.ts.map +1 -1
  75. package/.internal/charts/hierarchy/ForceDirected.js +27 -22
  76. package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
  77. package/.internal/charts/hierarchy/Hierarchy.d.ts +7 -0
  78. package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
  79. package/.internal/charts/hierarchy/Hierarchy.js +38 -16
  80. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  81. package/.internal/charts/hierarchy/HierarchyLink.d.ts +1 -12
  82. package/.internal/charts/hierarchy/HierarchyLink.d.ts.map +1 -1
  83. package/.internal/charts/hierarchy/HierarchyLink.js +0 -19
  84. package/.internal/charts/hierarchy/HierarchyLink.js.map +1 -1
  85. package/.internal/charts/hierarchy/HierarchyNode.d.ts +0 -12
  86. package/.internal/charts/hierarchy/HierarchyNode.d.ts.map +1 -1
  87. package/.internal/charts/hierarchy/HierarchyNode.js +0 -19
  88. package/.internal/charts/hierarchy/HierarchyNode.js.map +1 -1
  89. package/.internal/charts/hierarchy/LinkedHierarchy.d.ts +14 -1
  90. package/.internal/charts/hierarchy/LinkedHierarchy.d.ts.map +1 -1
  91. package/.internal/charts/hierarchy/LinkedHierarchy.js +102 -19
  92. package/.internal/charts/hierarchy/LinkedHierarchy.js.map +1 -1
  93. package/.internal/charts/hierarchy/LinkedHierarchyNode.d.ts +0 -12
  94. package/.internal/charts/hierarchy/LinkedHierarchyNode.d.ts.map +1 -1
  95. package/.internal/charts/hierarchy/LinkedHierarchyNode.js +0 -19
  96. package/.internal/charts/hierarchy/LinkedHierarchyNode.js.map +1 -1
  97. package/.internal/charts/hierarchy/Pack.d.ts +0 -12
  98. package/.internal/charts/hierarchy/Pack.d.ts.map +1 -1
  99. package/.internal/charts/hierarchy/Pack.js +6 -24
  100. package/.internal/charts/hierarchy/Pack.js.map +1 -1
  101. package/.internal/charts/hierarchy/Partition.d.ts +0 -12
  102. package/.internal/charts/hierarchy/Partition.d.ts.map +1 -1
  103. package/.internal/charts/hierarchy/Partition.js +7 -24
  104. package/.internal/charts/hierarchy/Partition.js.map +1 -1
  105. package/.internal/charts/hierarchy/Sunburst.d.ts +0 -11
  106. package/.internal/charts/hierarchy/Sunburst.d.ts.map +1 -1
  107. package/.internal/charts/hierarchy/Sunburst.js +17 -27
  108. package/.internal/charts/hierarchy/Sunburst.js.map +1 -1
  109. package/.internal/charts/hierarchy/Tree.d.ts +0 -12
  110. package/.internal/charts/hierarchy/Tree.d.ts.map +1 -1
  111. package/.internal/charts/hierarchy/Tree.js +0 -19
  112. package/.internal/charts/hierarchy/Tree.js.map +1 -1
  113. package/.internal/charts/hierarchy/Treemap.d.ts +1 -12
  114. package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
  115. package/.internal/charts/hierarchy/Treemap.js +6 -24
  116. package/.internal/charts/hierarchy/Treemap.js.map +1 -1
  117. package/.internal/charts/map/GraticuleSeries.d.ts +0 -12
  118. package/.internal/charts/map/GraticuleSeries.d.ts.map +1 -1
  119. package/.internal/charts/map/GraticuleSeries.js +1 -20
  120. package/.internal/charts/map/GraticuleSeries.js.map +1 -1
  121. package/.internal/charts/map/MapChart.d.ts +8 -32
  122. package/.internal/charts/map/MapChart.d.ts.map +1 -1
  123. package/.internal/charts/map/MapChart.js +198 -180
  124. package/.internal/charts/map/MapChart.js.map +1 -1
  125. package/.internal/charts/map/MapLine.d.ts +1 -13
  126. package/.internal/charts/map/MapLine.d.ts.map +1 -1
  127. package/.internal/charts/map/MapLine.js +14 -25
  128. package/.internal/charts/map/MapLine.js.map +1 -1
  129. package/.internal/charts/map/MapLineSeries.d.ts +13 -14
  130. package/.internal/charts/map/MapLineSeries.d.ts.map +1 -1
  131. package/.internal/charts/map/MapLineSeries.js +34 -26
  132. package/.internal/charts/map/MapLineSeries.js.map +1 -1
  133. package/.internal/charts/map/MapPointSeries.d.ts +16 -14
  134. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  135. package/.internal/charts/map/MapPointSeries.js +28 -27
  136. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  137. package/.internal/charts/map/MapPolygon.d.ts +0 -12
  138. package/.internal/charts/map/MapPolygon.d.ts.map +1 -1
  139. package/.internal/charts/map/MapPolygon.js +0 -19
  140. package/.internal/charts/map/MapPolygon.js.map +1 -1
  141. package/.internal/charts/map/MapPolygonSeries.d.ts +1 -12
  142. package/.internal/charts/map/MapPolygonSeries.d.ts.map +1 -1
  143. package/.internal/charts/map/MapPolygonSeries.js +17 -20
  144. package/.internal/charts/map/MapPolygonSeries.js.map +1 -1
  145. package/.internal/charts/map/MapSeries.d.ts +3 -3
  146. package/.internal/charts/map/MapSeries.d.ts.map +1 -1
  147. package/.internal/charts/map/MapSeries.js +30 -8
  148. package/.internal/charts/map/MapSeries.js.map +1 -1
  149. package/.internal/charts/map/MapUtils.d.ts.map +1 -1
  150. package/.internal/charts/map/MapUtils.js +6 -1
  151. package/.internal/charts/map/MapUtils.js.map +1 -1
  152. package/.internal/charts/map/ZoomControl.d.ts +0 -12
  153. package/.internal/charts/map/ZoomControl.d.ts.map +1 -1
  154. package/.internal/charts/map/ZoomControl.js +0 -19
  155. package/.internal/charts/map/ZoomControl.js.map +1 -1
  156. package/.internal/charts/percent/PercentSeries.d.ts +29 -0
  157. package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
  158. package/.internal/charts/percent/PercentSeries.js +32 -6
  159. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  160. package/.internal/charts/pie/PieChart.d.ts +0 -12
  161. package/.internal/charts/pie/PieChart.d.ts.map +1 -1
  162. package/.internal/charts/pie/PieChart.js +0 -19
  163. package/.internal/charts/pie/PieChart.js.map +1 -1
  164. package/.internal/charts/pie/PieSeries.d.ts +1 -12
  165. package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
  166. package/.internal/charts/pie/PieSeries.js +27 -35
  167. package/.internal/charts/pie/PieSeries.js.map +1 -1
  168. package/.internal/charts/radar/AxisRendererCircular.d.ts +0 -12
  169. package/.internal/charts/radar/AxisRendererCircular.d.ts.map +1 -1
  170. package/.internal/charts/radar/AxisRendererCircular.js +37 -54
  171. package/.internal/charts/radar/AxisRendererCircular.js.map +1 -1
  172. package/.internal/charts/radar/AxisRendererRadial.d.ts +0 -12
  173. package/.internal/charts/radar/AxisRendererRadial.d.ts.map +1 -1
  174. package/.internal/charts/radar/AxisRendererRadial.js +4 -23
  175. package/.internal/charts/radar/AxisRendererRadial.js.map +1 -1
  176. package/.internal/charts/radar/ClockHand.d.ts +0 -12
  177. package/.internal/charts/radar/ClockHand.d.ts.map +1 -1
  178. package/.internal/charts/radar/ClockHand.js +10 -23
  179. package/.internal/charts/radar/ClockHand.js.map +1 -1
  180. package/.internal/charts/radar/RadarChart.d.ts +1 -12
  181. package/.internal/charts/radar/RadarChart.d.ts.map +1 -1
  182. package/.internal/charts/radar/RadarChart.js +12 -20
  183. package/.internal/charts/radar/RadarChart.js.map +1 -1
  184. package/.internal/charts/radar/RadarColumnSeries.d.ts +0 -13
  185. package/.internal/charts/radar/RadarColumnSeries.d.ts.map +1 -1
  186. package/.internal/charts/radar/RadarColumnSeries.js +28 -27
  187. package/.internal/charts/radar/RadarColumnSeries.js.map +1 -1
  188. package/.internal/charts/radar/RadarCursor.d.ts +1 -12
  189. package/.internal/charts/radar/RadarCursor.d.ts.map +1 -1
  190. package/.internal/charts/radar/RadarCursor.js +11 -19
  191. package/.internal/charts/radar/RadarCursor.js.map +1 -1
  192. package/.internal/charts/radar/RadarLineSeries.d.ts +0 -12
  193. package/.internal/charts/radar/RadarLineSeries.d.ts.map +1 -1
  194. package/.internal/charts/radar/RadarLineSeries.js +0 -19
  195. package/.internal/charts/radar/RadarLineSeries.js.map +1 -1
  196. package/.internal/charts/radar/SmoothedRadarLineSeries.d.ts +0 -12
  197. package/.internal/charts/radar/SmoothedRadarLineSeries.d.ts.map +1 -1
  198. package/.internal/charts/radar/SmoothedRadarLineSeries.js +0 -19
  199. package/.internal/charts/radar/SmoothedRadarLineSeries.js.map +1 -1
  200. package/.internal/charts/xy/XYChart.d.ts +27 -25
  201. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  202. package/.internal/charts/xy/XYChart.js +263 -245
  203. package/.internal/charts/xy/XYChart.js.map +1 -1
  204. package/.internal/charts/xy/XYChartScrollbar.d.ts +0 -12
  205. package/.internal/charts/xy/XYChartScrollbar.d.ts.map +1 -1
  206. package/.internal/charts/xy/XYChartScrollbar.js +18 -27
  207. package/.internal/charts/xy/XYChartScrollbar.js.map +1 -1
  208. package/.internal/charts/xy/XYCursor.d.ts +3 -14
  209. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  210. package/.internal/charts/xy/XYCursor.js +69 -43
  211. package/.internal/charts/xy/XYCursor.js.map +1 -1
  212. package/.internal/charts/xy/axes/Axis.d.ts +25 -4
  213. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  214. package/.internal/charts/xy/axes/Axis.js +70 -56
  215. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  216. package/.internal/charts/xy/axes/AxisBullet.d.ts +0 -12
  217. package/.internal/charts/xy/axes/AxisBullet.d.ts.map +1 -1
  218. package/.internal/charts/xy/axes/AxisBullet.js +4 -22
  219. package/.internal/charts/xy/axes/AxisBullet.js.map +1 -1
  220. package/.internal/charts/xy/axes/AxisLabel.d.ts +0 -12
  221. package/.internal/charts/xy/axes/AxisLabel.d.ts.map +1 -1
  222. package/.internal/charts/xy/axes/AxisLabel.js +0 -19
  223. package/.internal/charts/xy/axes/AxisLabel.js.map +1 -1
  224. package/.internal/charts/xy/axes/AxisLabelRadial.d.ts +0 -12
  225. package/.internal/charts/xy/axes/AxisLabelRadial.d.ts.map +1 -1
  226. package/.internal/charts/xy/axes/AxisLabelRadial.js +0 -19
  227. package/.internal/charts/xy/axes/AxisLabelRadial.js.map +1 -1
  228. package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
  229. package/.internal/charts/xy/axes/AxisRenderer.js +24 -15
  230. package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
  231. package/.internal/charts/xy/axes/AxisRendererX.d.ts +0 -11
  232. package/.internal/charts/xy/axes/AxisRendererX.d.ts.map +1 -1
  233. package/.internal/charts/xy/axes/AxisRendererX.js +20 -33
  234. package/.internal/charts/xy/axes/AxisRendererX.js.map +1 -1
  235. package/.internal/charts/xy/axes/AxisRendererY.d.ts +0 -11
  236. package/.internal/charts/xy/axes/AxisRendererY.d.ts.map +1 -1
  237. package/.internal/charts/xy/axes/AxisRendererY.js +34 -40
  238. package/.internal/charts/xy/axes/AxisRendererY.js.map +1 -1
  239. package/.internal/charts/xy/axes/AxisTick.d.ts +0 -12
  240. package/.internal/charts/xy/axes/AxisTick.d.ts.map +1 -1
  241. package/.internal/charts/xy/axes/AxisTick.js +0 -19
  242. package/.internal/charts/xy/axes/AxisTick.js.map +1 -1
  243. package/.internal/charts/xy/axes/CategoryAxis.d.ts +8 -12
  244. package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
  245. package/.internal/charts/xy/axes/CategoryAxis.js +11 -25
  246. package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
  247. package/.internal/charts/xy/axes/CategoryDateAxis.d.ts +0 -12
  248. package/.internal/charts/xy/axes/CategoryDateAxis.d.ts.map +1 -1
  249. package/.internal/charts/xy/axes/CategoryDateAxis.js +1 -20
  250. package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
  251. package/.internal/charts/xy/axes/DateAxis.d.ts +3 -15
  252. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  253. package/.internal/charts/xy/axes/DateAxis.js +14 -33
  254. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  255. package/.internal/charts/xy/axes/Grid.d.ts +0 -12
  256. package/.internal/charts/xy/axes/Grid.d.ts.map +1 -1
  257. package/.internal/charts/xy/axes/Grid.js +0 -19
  258. package/.internal/charts/xy/axes/Grid.js.map +1 -1
  259. package/.internal/charts/xy/axes/ValueAxis.d.ts +33 -13
  260. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  261. package/.internal/charts/xy/axes/ValueAxis.js +121 -22
  262. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  263. package/.internal/charts/xy/series/BaseColumnSeries.d.ts +20 -4
  264. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  265. package/.internal/charts/xy/series/BaseColumnSeries.js +100 -70
  266. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  267. package/.internal/charts/xy/series/Candlestick.d.ts +0 -12
  268. package/.internal/charts/xy/series/Candlestick.d.ts.map +1 -1
  269. package/.internal/charts/xy/series/Candlestick.js +0 -19
  270. package/.internal/charts/xy/series/Candlestick.js.map +1 -1
  271. package/.internal/charts/xy/series/CandlestickSeries.d.ts +0 -13
  272. package/.internal/charts/xy/series/CandlestickSeries.d.ts.map +1 -1
  273. package/.internal/charts/xy/series/CandlestickSeries.js +5 -22
  274. package/.internal/charts/xy/series/CandlestickSeries.js.map +1 -1
  275. package/.internal/charts/xy/series/ColumnSeries.d.ts +0 -13
  276. package/.internal/charts/xy/series/ColumnSeries.d.ts.map +1 -1
  277. package/.internal/charts/xy/series/ColumnSeries.js +6 -22
  278. package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
  279. package/.internal/charts/xy/series/LineSeries.d.ts +0 -11
  280. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  281. package/.internal/charts/xy/series/LineSeries.js +97 -105
  282. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  283. package/.internal/charts/xy/series/OHLC.d.ts +0 -12
  284. package/.internal/charts/xy/series/OHLC.d.ts.map +1 -1
  285. package/.internal/charts/xy/series/OHLC.js +0 -19
  286. package/.internal/charts/xy/series/OHLC.js.map +1 -1
  287. package/.internal/charts/xy/series/OHLCSeries.d.ts +0 -13
  288. package/.internal/charts/xy/series/OHLCSeries.d.ts.map +1 -1
  289. package/.internal/charts/xy/series/OHLCSeries.js +5 -22
  290. package/.internal/charts/xy/series/OHLCSeries.js.map +1 -1
  291. package/.internal/charts/xy/series/SmoothedXLineSeries.d.ts +0 -12
  292. package/.internal/charts/xy/series/SmoothedXLineSeries.d.ts.map +1 -1
  293. package/.internal/charts/xy/series/SmoothedXLineSeries.js +0 -19
  294. package/.internal/charts/xy/series/SmoothedXLineSeries.js.map +1 -1
  295. package/.internal/charts/xy/series/SmoothedXYLineSeries.d.ts +0 -12
  296. package/.internal/charts/xy/series/SmoothedXYLineSeries.d.ts.map +1 -1
  297. package/.internal/charts/xy/series/SmoothedXYLineSeries.js +0 -19
  298. package/.internal/charts/xy/series/SmoothedXYLineSeries.js.map +1 -1
  299. package/.internal/charts/xy/series/SmoothedYLineSeries.d.ts +0 -12
  300. package/.internal/charts/xy/series/SmoothedYLineSeries.d.ts.map +1 -1
  301. package/.internal/charts/xy/series/SmoothedYLineSeries.js +0 -19
  302. package/.internal/charts/xy/series/SmoothedYLineSeries.js.map +1 -1
  303. package/.internal/charts/xy/series/StepLineSeries.d.ts +1 -12
  304. package/.internal/charts/xy/series/StepLineSeries.d.ts.map +1 -1
  305. package/.internal/charts/xy/series/StepLineSeries.js +6 -14
  306. package/.internal/charts/xy/series/StepLineSeries.js.map +1 -1
  307. package/.internal/charts/xy/series/XYSeries.d.ts +8 -67
  308. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  309. package/.internal/charts/xy/series/XYSeries.js +97 -121
  310. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  311. package/.internal/core/Registry.d.ts +15 -1
  312. package/.internal/core/Registry.d.ts.map +1 -1
  313. package/.internal/core/Registry.js +28 -1
  314. package/.internal/core/Registry.js.map +1 -1
  315. package/.internal/core/Root.d.ts +18 -8
  316. package/.internal/core/Root.d.ts.map +1 -1
  317. package/.internal/core/Root.js +99 -48
  318. package/.internal/core/Root.js.map +1 -1
  319. package/.internal/core/Theme.d.ts +1 -2
  320. package/.internal/core/Theme.d.ts.map +1 -1
  321. package/.internal/core/Theme.js.map +1 -1
  322. package/.internal/core/render/Bullet.d.ts +22 -12
  323. package/.internal/core/render/Bullet.d.ts.map +1 -1
  324. package/.internal/core/render/Bullet.js +0 -19
  325. package/.internal/core/render/Bullet.js.map +1 -1
  326. package/.internal/core/render/Button.d.ts +1 -12
  327. package/.internal/core/render/Button.d.ts.map +1 -1
  328. package/.internal/core/render/Button.js +11 -32
  329. package/.internal/core/render/Button.js.map +1 -1
  330. package/.internal/core/render/Chart.d.ts +0 -15
  331. package/.internal/core/render/Chart.d.ts.map +1 -1
  332. package/.internal/core/render/Chart.js +0 -38
  333. package/.internal/core/render/Chart.js.map +1 -1
  334. package/.internal/core/render/Circle.d.ts +0 -12
  335. package/.internal/core/render/Circle.d.ts.map +1 -1
  336. package/.internal/core/render/Circle.js +0 -19
  337. package/.internal/core/render/Circle.js.map +1 -1
  338. package/.internal/core/render/Component.d.ts +7 -10
  339. package/.internal/core/render/Component.d.ts.map +1 -1
  340. package/.internal/core/render/Component.js +37 -65
  341. package/.internal/core/render/Component.js.map +1 -1
  342. package/.internal/core/render/Container.d.ts +5 -13
  343. package/.internal/core/render/Container.d.ts.map +1 -1
  344. package/.internal/core/render/Container.js +71 -52
  345. package/.internal/core/render/Container.js.map +1 -1
  346. package/.internal/core/render/Graphics.d.ts +40 -14
  347. package/.internal/core/render/Graphics.d.ts.map +1 -1
  348. package/.internal/core/render/Graphics.js +20 -28
  349. package/.internal/core/render/Graphics.js.map +1 -1
  350. package/.internal/core/render/GridLayout.d.ts +0 -12
  351. package/.internal/core/render/GridLayout.d.ts.map +1 -1
  352. package/.internal/core/render/GridLayout.js +0 -19
  353. package/.internal/core/render/GridLayout.js.map +1 -1
  354. package/.internal/core/render/HeatLegend.d.ts +0 -12
  355. package/.internal/core/render/HeatLegend.d.ts.map +1 -1
  356. package/.internal/core/render/HeatLegend.js +3 -22
  357. package/.internal/core/render/HeatLegend.js.map +1 -1
  358. package/.internal/core/render/HorizontalLayout.d.ts +0 -12
  359. package/.internal/core/render/HorizontalLayout.d.ts.map +1 -1
  360. package/.internal/core/render/HorizontalLayout.js +0 -19
  361. package/.internal/core/render/HorizontalLayout.js.map +1 -1
  362. package/.internal/core/render/Label.d.ts +47 -16
  363. package/.internal/core/render/Label.d.ts.map +1 -1
  364. package/.internal/core/render/Label.js +24 -26
  365. package/.internal/core/render/Label.js.map +1 -1
  366. package/.internal/core/render/Legend.d.ts +5 -13
  367. package/.internal/core/render/Legend.d.ts.map +1 -1
  368. package/.internal/core/render/Legend.js +44 -47
  369. package/.internal/core/render/Legend.js.map +1 -1
  370. package/.internal/core/render/Line.d.ts +0 -12
  371. package/.internal/core/render/Line.d.ts.map +1 -1
  372. package/.internal/core/render/Line.js +0 -19
  373. package/.internal/core/render/Line.js.map +1 -1
  374. package/.internal/core/render/MonotoneXTension.js.map +1 -1
  375. package/.internal/core/render/MonotoneYTension.js.map +1 -1
  376. package/.internal/core/render/Picture.d.ts +39 -13
  377. package/.internal/core/render/Picture.d.ts.map +1 -1
  378. package/.internal/core/render/Picture.js +21 -19
  379. package/.internal/core/render/Picture.js.map +1 -1
  380. package/.internal/core/render/PointedRectangle.d.ts +0 -12
  381. package/.internal/core/render/PointedRectangle.d.ts.map +1 -1
  382. package/.internal/core/render/PointedRectangle.js +0 -19
  383. package/.internal/core/render/PointedRectangle.js.map +1 -1
  384. package/.internal/core/render/RadialLabel.d.ts +0 -12
  385. package/.internal/core/render/RadialLabel.d.ts.map +1 -1
  386. package/.internal/core/render/RadialLabel.js +0 -19
  387. package/.internal/core/render/RadialLabel.js.map +1 -1
  388. package/.internal/core/render/RadialText.d.ts +0 -11
  389. package/.internal/core/render/RadialText.d.ts.map +1 -1
  390. package/.internal/core/render/RadialText.js +0 -19
  391. package/.internal/core/render/RadialText.js.map +1 -1
  392. package/.internal/core/render/Rectangle.d.ts +0 -12
  393. package/.internal/core/render/Rectangle.d.ts.map +1 -1
  394. package/.internal/core/render/Rectangle.js +0 -19
  395. package/.internal/core/render/Rectangle.js.map +1 -1
  396. package/.internal/core/render/RoundedRectangle.d.ts +0 -12
  397. package/.internal/core/render/RoundedRectangle.d.ts.map +1 -1
  398. package/.internal/core/render/RoundedRectangle.js +0 -19
  399. package/.internal/core/render/RoundedRectangle.js.map +1 -1
  400. package/.internal/core/render/Scrollbar.d.ts +6 -13
  401. package/.internal/core/render/Scrollbar.d.ts.map +1 -1
  402. package/.internal/core/render/Scrollbar.js +66 -56
  403. package/.internal/core/render/Scrollbar.js.map +1 -1
  404. package/.internal/core/render/SerialChart.d.ts +9 -2
  405. package/.internal/core/render/SerialChart.d.ts.map +1 -1
  406. package/.internal/core/render/SerialChart.js +19 -10
  407. package/.internal/core/render/SerialChart.js.map +1 -1
  408. package/.internal/core/render/Series.d.ts +27 -9
  409. package/.internal/core/render/Series.d.ts.map +1 -1
  410. package/.internal/core/render/Series.js +52 -9
  411. package/.internal/core/render/Series.js.map +1 -1
  412. package/.internal/core/render/Slice.d.ts +0 -12
  413. package/.internal/core/render/Slice.d.ts.map +1 -1
  414. package/.internal/core/render/Slice.js +0 -19
  415. package/.internal/core/render/Slice.js.map +1 -1
  416. package/.internal/core/render/Slider.d.ts +0 -12
  417. package/.internal/core/render/Slider.d.ts.map +1 -1
  418. package/.internal/core/render/Slider.js +2 -20
  419. package/.internal/core/render/Slider.js.map +1 -1
  420. package/.internal/core/render/Sprite.d.ts +37 -27
  421. package/.internal/core/render/Sprite.d.ts.map +1 -1
  422. package/.internal/core/render/Sprite.js +120 -83
  423. package/.internal/core/render/Sprite.js.map +1 -1
  424. package/.internal/core/render/Star.d.ts +2 -13
  425. package/.internal/core/render/Star.d.ts.map +1 -1
  426. package/.internal/core/render/Star.js +2 -21
  427. package/.internal/core/render/Star.js.map +1 -1
  428. package/.internal/core/render/Text.d.ts +9 -15
  429. package/.internal/core/render/Text.d.ts.map +1 -1
  430. package/.internal/core/render/Text.js +10 -26
  431. package/.internal/core/render/Text.js.map +1 -1
  432. package/.internal/core/render/Tick.d.ts +0 -12
  433. package/.internal/core/render/Tick.d.ts.map +1 -1
  434. package/.internal/core/render/Tick.js +0 -19
  435. package/.internal/core/render/Tick.js.map +1 -1
  436. package/.internal/core/render/Tooltip.d.ts +2 -12
  437. package/.internal/core/render/Tooltip.d.ts.map +1 -1
  438. package/.internal/core/render/Tooltip.js +33 -34
  439. package/.internal/core/render/Tooltip.js.map +1 -1
  440. package/.internal/core/render/VerticalLayout.d.ts +0 -12
  441. package/.internal/core/render/VerticalLayout.d.ts.map +1 -1
  442. package/.internal/core/render/VerticalLayout.js +0 -19
  443. package/.internal/core/render/VerticalLayout.js.map +1 -1
  444. package/.internal/core/render/backend/CanvasRenderer.d.ts +29 -4
  445. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  446. package/.internal/core/render/backend/CanvasRenderer.js +418 -93
  447. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  448. package/.internal/core/render/backend/Renderer.d.ts +12 -0
  449. package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
  450. package/.internal/core/render/backend/Renderer.js.map +1 -1
  451. package/.internal/core/render/gradients/LinearGradient.d.ts +0 -12
  452. package/.internal/core/render/gradients/LinearGradient.d.ts.map +1 -1
  453. package/.internal/core/render/gradients/LinearGradient.js +0 -19
  454. package/.internal/core/render/gradients/LinearGradient.js.map +1 -1
  455. package/.internal/core/render/gradients/RadialGradient.d.ts +0 -12
  456. package/.internal/core/render/gradients/RadialGradient.d.ts.map +1 -1
  457. package/.internal/core/render/gradients/RadialGradient.js +0 -19
  458. package/.internal/core/render/gradients/RadialGradient.js.map +1 -1
  459. package/.internal/core/render/patterns/CirclePattern.d.ts +0 -12
  460. package/.internal/core/render/patterns/CirclePattern.d.ts.map +1 -1
  461. package/.internal/core/render/patterns/CirclePattern.js +2 -21
  462. package/.internal/core/render/patterns/CirclePattern.js.map +1 -1
  463. package/.internal/core/render/patterns/LinePattern.d.ts +0 -12
  464. package/.internal/core/render/patterns/LinePattern.d.ts.map +1 -1
  465. package/.internal/core/render/patterns/LinePattern.js +17 -21
  466. package/.internal/core/render/patterns/LinePattern.js.map +1 -1
  467. package/.internal/core/render/patterns/Pattern.d.ts +15 -15
  468. package/.internal/core/render/patterns/Pattern.d.ts.map +1 -1
  469. package/.internal/core/render/patterns/Pattern.js +3 -22
  470. package/.internal/core/render/patterns/Pattern.js.map +1 -1
  471. package/.internal/core/render/patterns/RectanglePattern.d.ts +0 -12
  472. package/.internal/core/render/patterns/RectanglePattern.d.ts.map +1 -1
  473. package/.internal/core/render/patterns/RectanglePattern.js +2 -21
  474. package/.internal/core/render/patterns/RectanglePattern.js.map +1 -1
  475. package/.internal/core/util/Array.d.ts +11 -1
  476. package/.internal/core/util/Array.d.ts.map +1 -1
  477. package/.internal/core/util/Array.js +37 -1
  478. package/.internal/core/util/Array.js.map +1 -1
  479. package/.internal/core/util/Children.d.ts.map +1 -1
  480. package/.internal/core/util/Children.js +2 -0
  481. package/.internal/core/util/Children.js.map +1 -1
  482. package/.internal/core/util/ColorSet.d.ts +0 -12
  483. package/.internal/core/util/ColorSet.d.ts.map +1 -1
  484. package/.internal/core/util/ColorSet.js +2 -21
  485. package/.internal/core/util/ColorSet.js.map +1 -1
  486. package/.internal/core/util/DataProcessor.d.ts +0 -12
  487. package/.internal/core/util/DataProcessor.d.ts.map +1 -1
  488. package/.internal/core/util/DataProcessor.js +2 -21
  489. package/.internal/core/util/DataProcessor.js.map +1 -1
  490. package/.internal/core/util/DateFormatter.d.ts +23 -15
  491. package/.internal/core/util/DateFormatter.d.ts.map +1 -1
  492. package/.internal/core/util/DateFormatter.js +21 -21
  493. package/.internal/core/util/DateFormatter.js.map +1 -1
  494. package/.internal/core/util/Entity.d.ts +62 -17
  495. package/.internal/core/util/Entity.d.ts.map +1 -1
  496. package/.internal/core/util/Entity.js +247 -75
  497. package/.internal/core/util/Entity.js.map +1 -1
  498. package/.internal/core/util/InterfaceColors.d.ts +0 -12
  499. package/.internal/core/util/InterfaceColors.d.ts.map +1 -1
  500. package/.internal/core/util/InterfaceColors.js +0 -19
  501. package/.internal/core/util/InterfaceColors.js.map +1 -1
  502. package/.internal/core/util/Language.d.ts +0 -12
  503. package/.internal/core/util/Language.d.ts.map +1 -1
  504. package/.internal/core/util/Language.js +1 -20
  505. package/.internal/core/util/Language.js.map +1 -1
  506. package/.internal/core/util/List.d.ts +21 -2
  507. package/.internal/core/util/List.d.ts.map +1 -1
  508. package/.internal/core/util/List.js +89 -1
  509. package/.internal/core/util/List.js.map +1 -1
  510. package/.internal/core/util/NumberFormatter.d.ts +1 -22
  511. package/.internal/core/util/NumberFormatter.d.ts.map +1 -1
  512. package/.internal/core/util/NumberFormatter.js +0 -30
  513. package/.internal/core/util/NumberFormatter.js.map +1 -1
  514. package/.internal/core/util/PopulateString.js +0 -17
  515. package/.internal/core/util/PopulateString.js.map +1 -1
  516. package/.internal/core/util/States.d.ts +7 -4
  517. package/.internal/core/util/States.d.ts.map +1 -1
  518. package/.internal/core/util/States.js +32 -42
  519. package/.internal/core/util/States.js.map +1 -1
  520. package/.internal/core/util/Template.d.ts +18 -4
  521. package/.internal/core/util/Template.d.ts.map +1 -1
  522. package/.internal/core/util/Template.js +74 -14
  523. package/.internal/core/util/Template.js.map +1 -1
  524. package/.internal/core/util/TextFormatter.d.ts +19 -19
  525. package/.internal/core/util/TextFormatter.d.ts.map +1 -1
  526. package/.internal/core/util/TextFormatter.js +19 -19
  527. package/.internal/core/util/TextFormatter.js.map +1 -1
  528. package/.internal/core/util/Throttler.d.ts +3 -1
  529. package/.internal/core/util/Throttler.d.ts.map +1 -1
  530. package/.internal/core/util/Throttler.js +16 -9
  531. package/.internal/core/util/Throttler.js.map +1 -1
  532. package/.internal/core/util/Utils.d.ts +6 -1
  533. package/.internal/core/util/Utils.d.ts.map +1 -1
  534. package/.internal/core/util/Utils.js +24 -6
  535. package/.internal/core/util/Utils.js.map +1 -1
  536. package/.internal/plugins/exporting/Exporting.d.ts +2 -13
  537. package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
  538. package/.internal/plugins/exporting/Exporting.js +2 -21
  539. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  540. package/.internal/plugins/exporting/ExportingMenu.d.ts +0 -12
  541. package/.internal/plugins/exporting/ExportingMenu.d.ts.map +1 -1
  542. package/.internal/plugins/exporting/ExportingMenu.js +1 -20
  543. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  544. package/.internal/themes/AnimatedTheme.js.map +1 -1
  545. package/.internal/themes/DarkTheme.d.ts.map +1 -1
  546. package/.internal/themes/DarkTheme.js +21 -1
  547. package/.internal/themes/DarkTheme.js.map +1 -1
  548. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  549. package/.internal/themes/DefaultTheme.js +69 -30
  550. package/.internal/themes/DefaultTheme.js.map +1 -1
  551. package/.internal/themes/MicrochartTheme.d.ts.map +1 -1
  552. package/.internal/themes/MicrochartTheme.js +30 -0
  553. package/.internal/themes/MicrochartTheme.js.map +1 -1
  554. package/CHANGELOG.md +317 -0
  555. package/examples/javascript/flow-chord/index.js +22 -24
  556. package/examples/javascript/flow-chord/package.json +1 -1
  557. package/examples/javascript/flow-chord-directed/index.js +25 -27
  558. package/examples/javascript/flow-chord-directed/package.json +1 -1
  559. package/examples/javascript/flow-chord-non-ribbon/index.js +24 -26
  560. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  561. package/examples/javascript/flow-sankey/index.js +23 -25
  562. package/examples/javascript/flow-sankey/package.json +1 -1
  563. package/examples/javascript/gauge/index.js +34 -39
  564. package/examples/javascript/gauge/package.json +1 -1
  565. package/examples/javascript/gauge-bands/index.js +39 -47
  566. package/examples/javascript/gauge-bands/package.json +1 -1
  567. package/examples/javascript/hierarchy-force-directed/index.js +34 -39
  568. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  569. package/examples/javascript/hierarchy-pack/index.js +34 -39
  570. package/examples/javascript/hierarchy-pack/package.json +1 -1
  571. package/examples/javascript/hierarchy-partition/index.js +35 -40
  572. package/examples/javascript/hierarchy-partition/package.json +1 -1
  573. package/examples/javascript/hierarchy-sunburst/index.js +34 -39
  574. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  575. package/examples/javascript/hierarchy-tree/index.js +34 -39
  576. package/examples/javascript/hierarchy-tree/package.json +1 -1
  577. package/examples/javascript/hierarchy-treemap/index.js +33 -38
  578. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  579. package/examples/javascript/map-animating-along-lines/index.js +80 -66
  580. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  581. package/examples/javascript/map-day-and-night/index.js +154 -101
  582. package/examples/javascript/map-day-and-night/package.json +1 -1
  583. package/examples/javascript/map-globe-rotate-to-country/index.js +33 -45
  584. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  585. package/examples/javascript/map-globe-with-projected-circles/index.js +36 -48
  586. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  587. package/examples/javascript/map-with-bubbles/index.js +1094 -228
  588. package/examples/javascript/map-with-bubbles/package.json +1 -1
  589. package/examples/javascript/map-zoom-to-country/index.js +28 -31
  590. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  591. package/examples/javascript/{xy-100%stacked-column → misc-40-charts}/README.md +0 -0
  592. package/examples/javascript/{xy-100%stacked-column → misc-40-charts}/index.css +0 -0
  593. package/examples/javascript/{xy-100%stacked-column → misc-40-charts}/index.html +1 -1
  594. package/examples/javascript/misc-40-charts/index.js +167 -0
  595. package/examples/javascript/{xy-100%stacked-column → misc-40-charts}/package.json +2 -2
  596. package/examples/javascript/{xy-100%stacked-column → misc-40-charts}/webpack.config.js +0 -0
  597. package/examples/{typescript/xy-100%stacked-column → javascript/misc-microchart-grid}/README.md +0 -0
  598. package/examples/{typescript/xy-100%stacked-column → javascript/misc-microchart-grid}/index.css +0 -0
  599. package/examples/{typescript/xy-100%stacked-column → javascript/misc-microchart-grid}/index.html +1 -1
  600. package/examples/javascript/misc-microchart-grid/index.js +171 -0
  601. package/examples/javascript/misc-microchart-grid/package.json +16 -0
  602. package/examples/javascript/misc-microchart-grid/webpack.config.js +38 -0
  603. package/examples/javascript/pie-chart/index.js +30 -35
  604. package/examples/javascript/pie-chart/package.json +1 -1
  605. package/examples/javascript/pie-donut-chart/index.js +43 -46
  606. package/examples/javascript/pie-donut-chart/package.json +1 -1
  607. package/examples/javascript/pie-variable-radius/index.js +68 -68
  608. package/examples/javascript/pie-variable-radius/package.json +1 -1
  609. package/examples/javascript/radar-column-iwatch-style/README.md +6 -0
  610. package/examples/javascript/radar-column-iwatch-style/index.css +11 -0
  611. package/examples/javascript/radar-column-iwatch-style/index.html +12 -0
  612. package/examples/javascript/radar-column-iwatch-style/index.js +152 -0
  613. package/examples/javascript/radar-column-iwatch-style/package.json +16 -0
  614. package/examples/javascript/radar-column-iwatch-style/webpack.config.js +38 -0
  615. package/examples/javascript/radar-heat-map/index.js +36 -57
  616. package/examples/javascript/radar-heat-map/package.json +1 -1
  617. package/examples/javascript/radar-line/index.js +52 -67
  618. package/examples/javascript/radar-line/package.json +1 -1
  619. package/examples/javascript/radar-time-line/index.js +81 -111
  620. package/examples/javascript/radar-time-line/package.json +1 -1
  621. package/examples/javascript/sliced-funnel/index.js +45 -53
  622. package/examples/javascript/sliced-funnel/package.json +1 -1
  623. package/examples/javascript/sliced-pictorial-stacked/index.js +29 -39
  624. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  625. package/examples/javascript/sliced-pyramid/index.js +44 -56
  626. package/examples/javascript/sliced-pyramid/package.json +1 -1
  627. package/examples/javascript/xy-100-percent-stacked-column/README.md +6 -0
  628. package/examples/javascript/xy-100-percent-stacked-column/index.css +11 -0
  629. package/examples/javascript/xy-100-percent-stacked-column/index.html +12 -0
  630. package/examples/javascript/xy-100-percent-stacked-column/index.js +140 -0
  631. package/examples/javascript/xy-100-percent-stacked-column/package.json +16 -0
  632. package/examples/javascript/xy-100-percent-stacked-column/webpack.config.js +38 -0
  633. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/README.md +6 -0
  634. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/index.css +11 -0
  635. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/index.html +12 -0
  636. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/index.js +168 -0
  637. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +16 -0
  638. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/webpack.config.js +38 -0
  639. package/examples/javascript/xy-bubble/index.js +92 -65
  640. package/examples/javascript/xy-bubble/package.json +1 -1
  641. package/examples/javascript/xy-candlestick/index.js +112 -78
  642. package/examples/javascript/xy-candlestick/package.json +1 -1
  643. package/examples/javascript/xy-clustered-column/index.js +71 -47
  644. package/examples/javascript/xy-clustered-column/package.json +1 -1
  645. package/examples/javascript/xy-column/index.js +59 -48
  646. package/examples/javascript/xy-column/package.json +1 -1
  647. package/examples/javascript/xy-comparing-series-google-analytics-style/README.md +6 -0
  648. package/examples/javascript/xy-comparing-series-google-analytics-style/index.css +11 -0
  649. package/examples/javascript/xy-comparing-series-google-analytics-style/index.html +12 -0
  650. package/examples/javascript/xy-comparing-series-google-analytics-style/index.js +142 -0
  651. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +16 -0
  652. package/examples/javascript/xy-comparing-series-google-analytics-style/webpack.config.js +38 -0
  653. package/examples/javascript/xy-data-grouping/index.js +62 -49
  654. package/examples/javascript/xy-data-grouping/package.json +1 -1
  655. package/examples/javascript/xy-draggable-range/README.md +6 -0
  656. package/examples/javascript/xy-draggable-range/index.css +11 -0
  657. package/examples/javascript/xy-draggable-range/index.html +12 -0
  658. package/examples/javascript/xy-draggable-range/index.js +176 -0
  659. package/examples/javascript/xy-draggable-range/package.json +16 -0
  660. package/examples/javascript/xy-draggable-range/webpack.config.js +38 -0
  661. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/README.md +6 -0
  662. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/index.css +11 -0
  663. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/index.html +12 -0
  664. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/index.js +201 -0
  665. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +16 -0
  666. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/webpack.config.js +38 -0
  667. package/examples/javascript/xy-dumbbell plot/README.md +6 -0
  668. package/examples/javascript/xy-dumbbell plot/index.css +11 -0
  669. package/examples/javascript/xy-dumbbell plot/index.html +12 -0
  670. package/examples/javascript/xy-dumbbell plot/index.js +156 -0
  671. package/examples/javascript/xy-dumbbell plot/package.json +16 -0
  672. package/examples/javascript/xy-dumbbell plot/webpack.config.js +38 -0
  673. package/examples/javascript/xy-evenly-spaced-date-axis/index.js +58 -38
  674. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  675. package/examples/javascript/xy-line/index.js +70 -46
  676. package/examples/javascript/xy-line/package.json +1 -1
  677. package/examples/javascript/xy-line-highlight-on-legend-hover/README.md +6 -0
  678. package/examples/javascript/xy-line-highlight-on-legend-hover/index.css +11 -0
  679. package/examples/javascript/xy-line-highlight-on-legend-hover/index.html +12 -0
  680. package/examples/javascript/xy-line-highlight-on-legend-hover/index.js +183 -0
  681. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +16 -0
  682. package/examples/javascript/xy-line-highlight-on-legend-hover/webpack.config.js +38 -0
  683. package/examples/javascript/xy-live-data/index.js +91 -55
  684. package/examples/javascript/xy-live-data/package.json +1 -1
  685. package/examples/javascript/xy-multiple-synced-value-axes/README.md +6 -0
  686. package/examples/javascript/xy-multiple-synced-value-axes/index.css +11 -0
  687. package/examples/javascript/xy-multiple-synced-value-axes/index.html +12 -0
  688. package/examples/javascript/xy-multiple-synced-value-axes/index.js +168 -0
  689. package/examples/javascript/xy-multiple-synced-value-axes/package.json +16 -0
  690. package/examples/javascript/xy-multiple-synced-value-axes/webpack.config.js +38 -0
  691. package/examples/javascript/xy-ohlc/index.js +123 -59
  692. package/examples/javascript/xy-ohlc/package.json +1 -1
  693. package/examples/javascript/xy-real-time-data-sorting/README.md +6 -0
  694. package/examples/javascript/xy-real-time-data-sorting/index.css +11 -0
  695. package/examples/javascript/xy-real-time-data-sorting/index.html +12 -0
  696. package/examples/javascript/xy-real-time-data-sorting/index.js +220 -0
  697. package/examples/javascript/xy-real-time-data-sorting/package.json +16 -0
  698. package/examples/javascript/xy-real-time-data-sorting/webpack.config.js +38 -0
  699. package/examples/javascript/xy-smoothed-line/index.js +67 -37
  700. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  701. package/examples/javascript/xy-stacked-and-clustered-column/index.js +60 -33
  702. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  703. package/examples/javascript/xy-stacked-column/index.js +71 -55
  704. package/examples/javascript/xy-stacked-column/package.json +1 -1
  705. package/examples/javascript/xy-stacked-step/index.js +64 -48
  706. package/examples/javascript/xy-stacked-step/package.json +1 -1
  707. package/examples/javascript/xy-stock/index.js +147 -42
  708. package/examples/javascript/xy-stock/package.json +1 -1
  709. package/examples/javascript/xy-stock-comparing/index.js +198 -70
  710. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  711. package/examples/typescript/flow-chord/index.ts +22 -24
  712. package/examples/typescript/flow-chord/package.json +1 -1
  713. package/examples/typescript/flow-chord-directed/index.ts +25 -27
  714. package/examples/typescript/flow-chord-directed/package.json +1 -1
  715. package/examples/typescript/flow-chord-non-ribbon/index.ts +24 -26
  716. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  717. package/examples/typescript/flow-sankey/index.ts +23 -25
  718. package/examples/typescript/flow-sankey/package.json +1 -1
  719. package/examples/typescript/gauge/index.ts +34 -39
  720. package/examples/typescript/gauge/package.json +1 -1
  721. package/examples/typescript/gauge-bands/index.ts +39 -47
  722. package/examples/typescript/gauge-bands/package.json +1 -1
  723. package/examples/typescript/hierarchy-force-directed/index.ts +34 -39
  724. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  725. package/examples/typescript/hierarchy-pack/index.ts +34 -39
  726. package/examples/typescript/hierarchy-pack/package.json +1 -1
  727. package/examples/typescript/hierarchy-partition/index.ts +35 -40
  728. package/examples/typescript/hierarchy-partition/package.json +1 -1
  729. package/examples/typescript/hierarchy-sunburst/index.ts +34 -39
  730. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  731. package/examples/typescript/hierarchy-tree/index.ts +34 -39
  732. package/examples/typescript/hierarchy-tree/package.json +1 -1
  733. package/examples/typescript/hierarchy-treemap/index.ts +33 -38
  734. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  735. package/examples/typescript/map-animating-along-lines/index.ts +80 -66
  736. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  737. package/examples/typescript/map-day-and-night/index.ts +154 -101
  738. package/examples/typescript/map-day-and-night/package.json +1 -1
  739. package/examples/typescript/map-globe-rotate-to-country/index.ts +33 -45
  740. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  741. package/examples/typescript/map-globe-with-projected-circles/index.ts +36 -48
  742. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  743. package/examples/typescript/map-with-bubbles/index.ts +1095 -229
  744. package/examples/typescript/map-with-bubbles/package.json +1 -1
  745. package/examples/typescript/map-zoom-to-country/index.ts +28 -31
  746. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  747. package/examples/typescript/misc-40-charts/README.md +6 -0
  748. package/examples/typescript/misc-40-charts/index.css +11 -0
  749. package/examples/typescript/misc-40-charts/index.html +12 -0
  750. package/examples/typescript/misc-40-charts/index.ts +167 -0
  751. package/examples/typescript/{xy-100%stacked-column → misc-40-charts}/package.json +2 -2
  752. package/examples/typescript/{xy-100%stacked-column → misc-40-charts}/tsconfig.json +0 -0
  753. package/examples/typescript/{xy-100%stacked-column → misc-40-charts}/webpack.config.js +0 -0
  754. package/examples/typescript/misc-microchart-grid/README.md +6 -0
  755. package/examples/typescript/misc-microchart-grid/index.css +11 -0
  756. package/examples/typescript/misc-microchart-grid/index.html +12 -0
  757. package/examples/typescript/misc-microchart-grid/index.ts +171 -0
  758. package/examples/typescript/misc-microchart-grid/package.json +18 -0
  759. package/examples/typescript/misc-microchart-grid/tsconfig.json +12 -0
  760. package/examples/typescript/misc-microchart-grid/webpack.config.js +45 -0
  761. package/examples/typescript/pie-chart/index.ts +30 -35
  762. package/examples/typescript/pie-chart/package.json +1 -1
  763. package/examples/typescript/pie-donut-chart/index.ts +43 -46
  764. package/examples/typescript/pie-donut-chart/package.json +1 -1
  765. package/examples/typescript/pie-variable-radius/index.ts +69 -69
  766. package/examples/typescript/pie-variable-radius/package.json +1 -1
  767. package/examples/typescript/radar-column-iwatch-style/README.md +6 -0
  768. package/examples/typescript/radar-column-iwatch-style/index.css +11 -0
  769. package/examples/typescript/radar-column-iwatch-style/index.html +12 -0
  770. package/examples/typescript/radar-column-iwatch-style/index.ts +152 -0
  771. package/examples/typescript/radar-column-iwatch-style/package.json +18 -0
  772. package/examples/typescript/radar-column-iwatch-style/tsconfig.json +12 -0
  773. package/examples/typescript/radar-column-iwatch-style/webpack.config.js +45 -0
  774. package/examples/typescript/radar-heat-map/index.ts +36 -57
  775. package/examples/typescript/radar-heat-map/package.json +1 -1
  776. package/examples/typescript/radar-line/index.ts +52 -67
  777. package/examples/typescript/radar-line/package.json +1 -1
  778. package/examples/typescript/radar-time-line/index.ts +81 -111
  779. package/examples/typescript/radar-time-line/package.json +1 -1
  780. package/examples/typescript/sliced-funnel/index.ts +45 -53
  781. package/examples/typescript/sliced-funnel/package.json +1 -1
  782. package/examples/typescript/sliced-pictorial-stacked/index.ts +29 -39
  783. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  784. package/examples/typescript/sliced-pyramid/index.ts +44 -56
  785. package/examples/typescript/sliced-pyramid/package.json +1 -1
  786. package/examples/typescript/xy-100-percent-stacked-column/README.md +6 -0
  787. package/examples/typescript/xy-100-percent-stacked-column/index.css +11 -0
  788. package/examples/typescript/xy-100-percent-stacked-column/index.html +12 -0
  789. package/examples/typescript/xy-100-percent-stacked-column/index.ts +140 -0
  790. package/examples/typescript/xy-100-percent-stacked-column/package.json +18 -0
  791. package/examples/typescript/xy-100-percent-stacked-column/tsconfig.json +12 -0
  792. package/examples/typescript/xy-100-percent-stacked-column/webpack.config.js +45 -0
  793. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/README.md +6 -0
  794. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/index.css +11 -0
  795. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/index.html +12 -0
  796. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/index.ts +168 -0
  797. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +18 -0
  798. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/tsconfig.json +12 -0
  799. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/webpack.config.js +45 -0
  800. package/examples/typescript/xy-bubble/index.ts +92 -65
  801. package/examples/typescript/xy-bubble/package.json +1 -1
  802. package/examples/typescript/xy-candlestick/index.ts +112 -78
  803. package/examples/typescript/xy-candlestick/package.json +1 -1
  804. package/examples/typescript/xy-clustered-column/index.ts +71 -47
  805. package/examples/typescript/xy-clustered-column/package.json +1 -1
  806. package/examples/typescript/xy-column/index.ts +59 -48
  807. package/examples/typescript/xy-column/package.json +1 -1
  808. package/examples/typescript/xy-comparing-series-google-analytics-style/README.md +6 -0
  809. package/examples/typescript/xy-comparing-series-google-analytics-style/index.css +11 -0
  810. package/examples/typescript/xy-comparing-series-google-analytics-style/index.html +12 -0
  811. package/examples/typescript/xy-comparing-series-google-analytics-style/index.ts +142 -0
  812. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +18 -0
  813. package/examples/typescript/xy-comparing-series-google-analytics-style/tsconfig.json +12 -0
  814. package/examples/typescript/xy-comparing-series-google-analytics-style/webpack.config.js +45 -0
  815. package/examples/typescript/xy-data-grouping/index.ts +62 -49
  816. package/examples/typescript/xy-data-grouping/package.json +1 -1
  817. package/examples/typescript/xy-draggable-range/README.md +6 -0
  818. package/examples/typescript/xy-draggable-range/index.css +11 -0
  819. package/examples/typescript/xy-draggable-range/index.html +12 -0
  820. package/examples/typescript/xy-draggable-range/index.ts +176 -0
  821. package/examples/typescript/xy-draggable-range/package.json +18 -0
  822. package/examples/typescript/xy-draggable-range/tsconfig.json +12 -0
  823. package/examples/typescript/xy-draggable-range/webpack.config.js +45 -0
  824. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/README.md +6 -0
  825. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/index.css +11 -0
  826. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/index.html +12 -0
  827. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/index.ts +201 -0
  828. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +18 -0
  829. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/tsconfig.json +12 -0
  830. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/webpack.config.js +45 -0
  831. package/examples/typescript/xy-dumbbell plot/README.md +6 -0
  832. package/examples/typescript/xy-dumbbell plot/index.css +11 -0
  833. package/examples/typescript/xy-dumbbell plot/index.html +12 -0
  834. package/examples/typescript/xy-dumbbell plot/index.ts +156 -0
  835. package/examples/typescript/xy-dumbbell plot/package.json +18 -0
  836. package/examples/typescript/xy-dumbbell plot/tsconfig.json +12 -0
  837. package/examples/typescript/xy-dumbbell plot/webpack.config.js +45 -0
  838. package/examples/typescript/xy-evenly-spaced-date-axis/index.ts +58 -38
  839. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  840. package/examples/typescript/xy-line/index.ts +70 -46
  841. package/examples/typescript/xy-line/package.json +1 -1
  842. package/examples/typescript/xy-line-highlight-on-legend-hover/README.md +6 -0
  843. package/examples/typescript/xy-line-highlight-on-legend-hover/index.css +11 -0
  844. package/examples/typescript/xy-line-highlight-on-legend-hover/index.html +12 -0
  845. package/examples/typescript/xy-line-highlight-on-legend-hover/index.ts +183 -0
  846. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +18 -0
  847. package/examples/typescript/xy-line-highlight-on-legend-hover/tsconfig.json +12 -0
  848. package/examples/typescript/xy-line-highlight-on-legend-hover/webpack.config.js +45 -0
  849. package/examples/typescript/xy-live-data/index.ts +91 -55
  850. package/examples/typescript/xy-live-data/package.json +1 -1
  851. package/examples/typescript/xy-multiple-synced-value-axes/README.md +6 -0
  852. package/examples/typescript/xy-multiple-synced-value-axes/index.css +11 -0
  853. package/examples/typescript/xy-multiple-synced-value-axes/index.html +12 -0
  854. package/examples/typescript/xy-multiple-synced-value-axes/index.ts +168 -0
  855. package/examples/typescript/xy-multiple-synced-value-axes/package.json +18 -0
  856. package/examples/typescript/xy-multiple-synced-value-axes/tsconfig.json +12 -0
  857. package/examples/typescript/xy-multiple-synced-value-axes/webpack.config.js +45 -0
  858. package/examples/typescript/xy-ohlc/index.ts +124 -60
  859. package/examples/typescript/xy-ohlc/package.json +1 -1
  860. package/examples/typescript/xy-real-time-data-sorting/README.md +6 -0
  861. package/examples/typescript/xy-real-time-data-sorting/index.css +11 -0
  862. package/examples/typescript/xy-real-time-data-sorting/index.html +12 -0
  863. package/examples/typescript/xy-real-time-data-sorting/index.ts +220 -0
  864. package/examples/typescript/xy-real-time-data-sorting/package.json +18 -0
  865. package/examples/typescript/xy-real-time-data-sorting/tsconfig.json +12 -0
  866. package/examples/typescript/xy-real-time-data-sorting/webpack.config.js +45 -0
  867. package/examples/typescript/xy-smoothed-line/index.ts +67 -37
  868. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  869. package/examples/typescript/xy-stacked-and-clustered-column/index.ts +60 -33
  870. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  871. package/examples/typescript/xy-stacked-column/index.ts +71 -55
  872. package/examples/typescript/xy-stacked-column/package.json +1 -1
  873. package/examples/typescript/xy-stacked-step/index.ts +64 -48
  874. package/examples/typescript/xy-stacked-step/package.json +1 -1
  875. package/examples/typescript/xy-stock/index.ts +147 -42
  876. package/examples/typescript/xy-stock/package.json +1 -1
  877. package/examples/typescript/xy-stock-comparing/index.ts +198 -70
  878. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  879. package/index.d.ts +1 -2
  880. package/index.d.ts.map +1 -1
  881. package/index.js +1 -2
  882. package/index.js.map +1 -1
  883. package/locales/ar.d.ts +1 -1
  884. package/locales/ar.d.ts.map +1 -1
  885. package/locales/ar.js +2 -5
  886. package/locales/ar.js.map +1 -1
  887. package/locales/bs_BA.d.ts +1 -1
  888. package/locales/bs_BA.d.ts.map +1 -1
  889. package/locales/bs_BA.js +2 -5
  890. package/locales/bs_BA.js.map +1 -1
  891. package/locales/ca_ES.d.ts +1 -1
  892. package/locales/ca_ES.d.ts.map +1 -1
  893. package/locales/ca_ES.js +2 -5
  894. package/locales/ca_ES.js.map +1 -1
  895. package/locales/cs_CZ.d.ts +1 -1
  896. package/locales/cs_CZ.d.ts.map +1 -1
  897. package/locales/cs_CZ.js +2 -5
  898. package/locales/cs_CZ.js.map +1 -1
  899. package/locales/da_DK.d.ts +1 -1
  900. package/locales/da_DK.d.ts.map +1 -1
  901. package/locales/da_DK.js +2 -5
  902. package/locales/da_DK.js.map +1 -1
  903. package/locales/de_CH.d.ts +1 -1
  904. package/locales/de_CH.js +2 -2
  905. package/locales/de_CH.js.map +1 -1
  906. package/locales/de_DE.d.ts +1 -1
  907. package/locales/de_DE.js +2 -2
  908. package/locales/de_DE.js.map +1 -1
  909. package/locales/el_GR.d.ts +1 -1
  910. package/locales/el_GR.d.ts.map +1 -1
  911. package/locales/el_GR.js +2 -5
  912. package/locales/el_GR.js.map +1 -1
  913. package/locales/en.js +1 -1
  914. package/locales/en.js.map +1 -1
  915. package/locales/en_CA.d.ts +1 -1
  916. package/locales/en_CA.js +1 -1
  917. package/locales/en_CA.js.map +1 -1
  918. package/locales/en_US.d.ts +1 -1
  919. package/locales/en_US.js +1 -1
  920. package/locales/en_US.js.map +1 -1
  921. package/locales/es_ES.d.ts +1 -1
  922. package/locales/es_ES.js +1 -1
  923. package/locales/es_ES.js.map +1 -1
  924. package/locales/et_EE.d.ts +1 -1
  925. package/locales/et_EE.d.ts.map +1 -1
  926. package/locales/et_EE.js +2 -5
  927. package/locales/et_EE.js.map +1 -1
  928. package/locales/fi_FI.d.ts +1 -1
  929. package/locales/fi_FI.d.ts.map +1 -1
  930. package/locales/fi_FI.js +2 -5
  931. package/locales/fi_FI.js.map +1 -1
  932. package/locales/fr_FR.d.ts +1 -1
  933. package/locales/fr_FR.js +2 -2
  934. package/locales/fr_FR.js.map +1 -1
  935. package/locales/he_IL.d.ts +1 -1
  936. package/locales/he_IL.d.ts.map +1 -1
  937. package/locales/he_IL.js +2 -5
  938. package/locales/he_IL.js.map +1 -1
  939. package/locales/hi_IN.d.ts +1 -1
  940. package/locales/hi_IN.d.ts.map +1 -1
  941. package/locales/hi_IN.js +2 -5
  942. package/locales/hi_IN.js.map +1 -1
  943. package/locales/hr_HR.d.ts +1 -1
  944. package/locales/hr_HR.d.ts.map +1 -1
  945. package/locales/hr_HR.js +2 -5
  946. package/locales/hr_HR.js.map +1 -1
  947. package/locales/hu_HU.d.ts +1 -1
  948. package/locales/hu_HU.d.ts.map +1 -1
  949. package/locales/hu_HU.js +2 -5
  950. package/locales/hu_HU.js.map +1 -1
  951. package/locales/id_ID.d.ts +1 -1
  952. package/locales/id_ID.d.ts.map +1 -1
  953. package/locales/id_ID.js +2 -5
  954. package/locales/id_ID.js.map +1 -1
  955. package/locales/it_IT.d.ts +1 -1
  956. package/locales/it_IT.js +2 -2
  957. package/locales/it_IT.js.map +1 -1
  958. package/locales/ja_JP.d.ts +1 -1
  959. package/locales/ja_JP.d.ts.map +1 -1
  960. package/locales/ja_JP.js +2 -5
  961. package/locales/ja_JP.js.map +1 -1
  962. package/locales/ko_KR.d.ts +1 -1
  963. package/locales/ko_KR.d.ts.map +1 -1
  964. package/locales/ko_KR.js +2 -5
  965. package/locales/ko_KR.js.map +1 -1
  966. package/locales/lt_LT.d.ts +1 -1
  967. package/locales/lt_LT.js +1 -1
  968. package/locales/lt_LT.js.map +1 -1
  969. package/locales/lv_LV.d.ts +1 -1
  970. package/locales/lv_LV.d.ts.map +1 -1
  971. package/locales/lv_LV.js +2 -5
  972. package/locales/lv_LV.js.map +1 -1
  973. package/locales/nb_NO.d.ts +1 -1
  974. package/locales/nb_NO.d.ts.map +1 -1
  975. package/locales/nb_NO.js +2 -5
  976. package/locales/nb_NO.js.map +1 -1
  977. package/locales/nl_NL.d.ts +1 -1
  978. package/locales/nl_NL.js +2 -2
  979. package/locales/nl_NL.js.map +1 -1
  980. package/locales/pl_PL.d.ts +1 -1
  981. package/locales/pl_PL.d.ts.map +1 -1
  982. package/locales/pl_PL.js +2 -5
  983. package/locales/pl_PL.js.map +1 -1
  984. package/locales/pt_BR.d.ts +1 -1
  985. package/locales/pt_BR.js +2 -2
  986. package/locales/pt_BR.js.map +1 -1
  987. package/locales/pt_PT.d.ts +1 -1
  988. package/locales/pt_PT.js +2 -2
  989. package/locales/pt_PT.js.map +1 -1
  990. package/locales/ro_RO.d.ts +1 -1
  991. package/locales/ro_RO.d.ts.map +1 -1
  992. package/locales/ro_RO.js +2 -5
  993. package/locales/ro_RO.js.map +1 -1
  994. package/locales/ru_RU.d.ts +1 -1
  995. package/locales/ru_RU.js +1 -1
  996. package/locales/ru_RU.js.map +1 -1
  997. package/locales/sl_SL.d.ts +1 -1
  998. package/locales/sl_SL.js +2 -2
  999. package/locales/sl_SL.js.map +1 -1
  1000. package/locales/sr_RS.d.ts +1 -1
  1001. package/locales/sr_RS.d.ts.map +1 -1
  1002. package/locales/sr_RS.js +2 -5
  1003. package/locales/sr_RS.js.map +1 -1
  1004. package/locales/sv_SE.d.ts +1 -1
  1005. package/locales/sv_SE.js +2 -2
  1006. package/locales/sv_SE.js.map +1 -1
  1007. package/locales/th_TH.d.ts +1 -1
  1008. package/locales/th_TH.d.ts.map +1 -1
  1009. package/locales/th_TH.js +2 -5
  1010. package/locales/th_TH.js.map +1 -1
  1011. package/locales/tr_TR.d.ts +1 -1
  1012. package/locales/tr_TR.d.ts.map +1 -1
  1013. package/locales/tr_TR.js +2 -5
  1014. package/locales/tr_TR.js.map +1 -1
  1015. package/locales/uk_UA.d.ts +1 -1
  1016. package/locales/uk_UA.d.ts.map +1 -1
  1017. package/locales/uk_UA.js +2 -5
  1018. package/locales/uk_UA.js.map +1 -1
  1019. package/locales/vi_VN.d.ts +1 -1
  1020. package/locales/vi_VN.d.ts.map +1 -1
  1021. package/locales/vi_VN.js +2 -5
  1022. package/locales/vi_VN.js.map +1 -1
  1023. package/locales/zh_Hans.d.ts +1 -1
  1024. package/locales/zh_Hans.d.ts.map +1 -1
  1025. package/locales/zh_Hans.js +2 -5
  1026. package/locales/zh_Hans.js.map +1 -1
  1027. package/locales/zh_Hant.d.ts +1 -1
  1028. package/locales/zh_Hant.d.ts.map +1 -1
  1029. package/locales/zh_Hant.js +2 -5
  1030. package/locales/zh_Hant.js.map +1 -1
  1031. package/package.json +7 -1
  1032. package/.internal/core/util/DurationFormatter.d.ts +0 -131
  1033. package/.internal/core/util/DurationFormatter.d.ts.map +0 -1
  1034. package/.internal/core/util/DurationFormatter.js +0 -534
  1035. package/.internal/core/util/DurationFormatter.js.map +0 -1
  1036. package/examples/javascript/xy-100%stacked-column/index.js +0 -116
  1037. package/examples/typescript/xy-100%stacked-column/index.ts +0 -116
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { Entity } from "./Entity";
8
8
  import type { Template } from "./Template";
9
+ import type { IDisposer } from "./Disposer";
9
10
  import { EventDispatcher, Events } from "./EventDispatcher";
10
11
  import type { Optional } from "./Type";
11
12
  export interface IListEvents<A> {
@@ -36,7 +37,7 @@ export declare class List<T> {
36
37
  /**
37
38
  * List values.
38
39
  */
39
- private _values;
40
+ protected _values: Array<T>;
40
41
  events: EventDispatcher<Events<this, IListEvents<T>>>;
41
42
  /**
42
43
  * Constructor
@@ -202,13 +203,31 @@ export declare class List<T> {
202
203
  */
203
204
  each(f: (value: T, index: number) => void): void;
204
205
  }
206
+ /**
207
+ * A version of a [[List]] where the elements are disposed automatically when removed from the list, unless autoDispose is set to false.
208
+ * @todo review
209
+ */
210
+ export declare class ListAutoDispose<A extends IDisposer> extends List<A> implements IDisposer {
211
+ /**
212
+ * Automatically disposes elements that are removed from the list.
213
+ *
214
+ * @default true
215
+ */
216
+ autoDispose: boolean;
217
+ private _disposed;
218
+ protected _onSetIndex(index: number, oldValue: A, newValue: A): void;
219
+ protected _onRemoveIndex(index: number, oldValue: A): void;
220
+ protected _onClear(oldValues: Array<A>): void;
221
+ isDisposed(): boolean;
222
+ dispose(): void;
223
+ }
205
224
  /**
206
225
  * A version of a [[List]] that is able to create new elements as well as
207
226
  * apply additional settings to newly created items.
208
227
  *
209
228
  * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/list-templates/} for more info
210
229
  */
211
- export declare class ListTemplate<A extends Entity> extends List<A> {
230
+ export declare class ListTemplate<A extends Entity> extends ListAutoDispose<A> {
212
231
  template: Template<A>;
213
232
  make: () => A;
214
233
  constructor(template: Template<A>, make: () => A);
@@ -1 +1 @@
1
- {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/List.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/List.ts"],"names":[],"mappings":"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"}
@@ -505,6 +505,94 @@ var List = /** @class */ (function () {
505
505
  return List;
506
506
  }());
507
507
  export { List };
508
+ /**
509
+ * A version of a [[List]] where the elements are disposed automatically when removed from the list, unless autoDispose is set to false.
510
+ * @todo review
511
+ */
512
+ var ListAutoDispose = /** @class */ (function (_super) {
513
+ __extends(ListAutoDispose, _super);
514
+ function ListAutoDispose() {
515
+ var _this = _super !== null && _super.apply(this, arguments) || this;
516
+ /**
517
+ * Automatically disposes elements that are removed from the list.
518
+ *
519
+ * @default true
520
+ */
521
+ Object.defineProperty(_this, "autoDispose", {
522
+ enumerable: true,
523
+ configurable: true,
524
+ writable: true,
525
+ value: true
526
+ });
527
+ Object.defineProperty(_this, "_disposed", {
528
+ enumerable: true,
529
+ configurable: true,
530
+ writable: true,
531
+ value: false
532
+ });
533
+ return _this;
534
+ }
535
+ Object.defineProperty(ListAutoDispose.prototype, "_onSetIndex", {
536
+ enumerable: false,
537
+ configurable: true,
538
+ writable: true,
539
+ value: function (index, oldValue, newValue) {
540
+ if (this.autoDispose) {
541
+ oldValue.dispose();
542
+ }
543
+ _super.prototype._onSetIndex.call(this, index, oldValue, newValue);
544
+ }
545
+ });
546
+ Object.defineProperty(ListAutoDispose.prototype, "_onRemoveIndex", {
547
+ enumerable: false,
548
+ configurable: true,
549
+ writable: true,
550
+ value: function (index, oldValue) {
551
+ if (this.autoDispose) {
552
+ oldValue.dispose();
553
+ }
554
+ _super.prototype._onRemoveIndex.call(this, index, oldValue);
555
+ }
556
+ });
557
+ Object.defineProperty(ListAutoDispose.prototype, "_onClear", {
558
+ enumerable: false,
559
+ configurable: true,
560
+ writable: true,
561
+ value: function (oldValues) {
562
+ if (this.autoDispose) {
563
+ $array.each(oldValues, function (x) {
564
+ x.dispose();
565
+ });
566
+ }
567
+ _super.prototype._onClear.call(this, oldValues);
568
+ }
569
+ });
570
+ Object.defineProperty(ListAutoDispose.prototype, "isDisposed", {
571
+ enumerable: false,
572
+ configurable: true,
573
+ writable: true,
574
+ value: function () {
575
+ return this._disposed;
576
+ }
577
+ });
578
+ Object.defineProperty(ListAutoDispose.prototype, "dispose", {
579
+ enumerable: false,
580
+ configurable: true,
581
+ writable: true,
582
+ value: function () {
583
+ if (!this._disposed) {
584
+ this._disposed = true;
585
+ if (this.autoDispose) {
586
+ $array.each(this._values, function (x) {
587
+ x.dispose();
588
+ });
589
+ }
590
+ }
591
+ }
592
+ });
593
+ return ListAutoDispose;
594
+ }(List));
595
+ export { ListAutoDispose };
508
596
  /**
509
597
  * A version of a [[List]] that is able to create new elements as well as
510
598
  * apply additional settings to newly created items.
@@ -532,6 +620,6 @@ var ListTemplate = /** @class */ (function (_super) {
532
620
  return _this;
533
621
  }
534
622
  return ListTemplate;
535
- }(List));
623
+ }(ListAutoDispose));
536
624
  export { ListTemplate };
537
625
  //# sourceMappingURL=List.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/List.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ============================================================================\n * IMPORTS\n * ============================================================================\n * @hidden\n */\nimport type { Entity } from \"./Entity\";\nimport type { Template } from \"./Template\";\nimport { EventDispatcher, Events } from \"./EventDispatcher\";\nimport * as $array from \"./Array\";\nimport type { Optional } from \"./Type\";\n\n\n/**\n * Checks if specific index fits into length.\n *\n * @param index Index\n * @param len Length\n * @ignore\n */\nfunction checkBounds(index: number, len: number): void {\n\tif (!(index >= 0 && index < len)) {\n\t\tthrow new Error(\"Index out of bounds: \" + index);\n\t}\n}\n\n\nexport interface IListEvents<A> {\n\tclear: {\n\t\toldValues: Array<A>,\n\t};\n\tpush: {\n\t\tnewValue: A,\n\t};\n\tinsertIndex: {\n\t\tindex: number,\n\t\tnewValue: A,\n\t};\n\tsetIndex: {\n\t\tindex: number,\n\t\toldValue: A,\n\t\tnewValue: A,\n\t};\n\tremoveIndex: {\n\t\tindex: number,\n\t\toldValue: A,\n\t};\n}\n\n\n/**\n * A List class is used to hold a number of indexed items of the same type.\n */\nexport class List<T> {\n\n\t/**\n\t * List values.\n\t */\n\tprivate _values: Array<T>;\n\n\tpublic events = new EventDispatcher<Events<this, IListEvents<T>>>();\n\n\t/**\n\t * Constructor\n\t *\n\t * @param initial Inital list of values to add to list\n\t */\n\tconstructor(initial: Array<T> = []) {\n\t\tthis._values = initial;\n\t}\n\n\t/**\n\t * An array of values in the list.\n\t *\n\t * Do not use this property to add values. Rather use dedicated methods, like\n\t * `push()`, `removeIndex()`, etc.\n\t *\n\t * @readonly\n\t * @return List values\n\t */\n\tpublic get values(): Array<T> {\n\t\treturn this._values;\n\t}\n\n\t/**\n\t * Checks if list contains specific item reference.\n\t *\n\t * @param item Item to search for\n\t * @return `true` if found, `false` if not found\n\t */\n\tpublic contains(value: T): boolean {\n\t\treturn this._values.indexOf(value) !== -1;\n\t}\n\n\t/**\n\t * Removes specific item from the list.\n\t *\n\t * @param item An item to remove\n\t */\n\tpublic removeValue(value: T): void {\n\t\tlet i = 0;\n\t\tlet length = this._values.length;\n\n\t\twhile (i < length) {\n\t\t\t// TODO handle NaN\n\t\t\tif (this._values[i] === value) {\n\t\t\t\tthis.removeIndex(i);\n\t\t\t\t--length;\n\n\t\t\t} else {\n\t\t\t\t++i;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Searches the list for specific item and returns its index.\n\t *\n\t * @param item An item to search for\n\t * @return Index or -1 if not found\n\t */\n\tpublic indexOf(value: T): number {\n\t\treturn $array.indexOf(this._values, value);\n\t}\n\n\t/**\n\t * Number of items in list.\n\t *\n\t * @readonly\n\t * @return Number of items\n\t */\n\tpublic get length(): number {\n\t\treturn this._values.length;\n\t}\n\n\t/**\n\t * Checks if there's a value at specific index.\n\t *\n\t * @param index Index\n\t * @return Value exists?\n\t */\n\tpublic hasIndex(index: number): boolean {\n\t\treturn index >= 0 && index < this._values.length;\n\t}\n\n\t/**\n\t * Returns an item at specified index.\n\t *\n\t * @param index Index\n\t * @return List item\n\t */\n\tpublic getIndex(index: number): T | undefined {\n\t\treturn this._values[index];\n\t}\n\n\tprotected _onPush(newValue: T) {\n\t\tif (this.events.isEnabled(\"push\")) {\n\t\t\tthis.events.dispatch(\"push\", {\n\t\t\t\ttype: \"push\",\n\t\t\t\ttarget: this,\n\t\t\t\tnewValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onInsertIndex(index: number, newValue: T) {\n\t\tif (this.events.isEnabled(\"insertIndex\")) {\n\t\t\tthis.events.dispatch(\"insertIndex\", {\n\t\t\t\ttype: \"insertIndex\",\n\t\t\t\ttarget: this,\n\t\t\t\tindex,\n\t\t\t\tnewValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onSetIndex(index: number, oldValue: T, newValue: T) {\n\t\tif (this.events.isEnabled(\"setIndex\")) {\n\t\t\tthis.events.dispatch(\"setIndex\", {\n\t\t\t\ttype: \"setIndex\",\n\t\t\t\ttarget: this,\n\t\t\t\tindex,\n\t\t\t\toldValue,\n\t\t\t\tnewValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onRemoveIndex(index: number, oldValue: T) {\n\t\tif (this.events.isEnabled(\"removeIndex\")) {\n\t\t\tthis.events.dispatch(\"removeIndex\", {\n\t\t\t\ttype: \"removeIndex\",\n\t\t\t\ttarget: this,\n\t\t\t\tindex,\n\t\t\t\toldValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onClear(oldValues: Array<T>) {\n\t\tif (this.events.isEnabled(\"clear\")) {\n\t\t\tthis.events.dispatch(\"clear\", {\n\t\t\t\ttype: \"clear\",\n\t\t\t\ttarget: this,\n\t\t\t\toldValues\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Sets value at specific index.\n\t *\n\t * If there's already a value at the index, it is overwritten.\n\t *\n\t * @param index Index\n\t * @param value New value\n\t * @return New value\n\t */\n\tpublic setIndex(index: number, value: T): T {\n\t\tcheckBounds(index, this._values.length);\n\n\t\tconst oldValue = this._values[index];\n\n\t\t// Do nothing if the old value and the new value are the same\n\t\tif (oldValue !== value) {\n\t\t\tthis._values[index] = value;\n\t\t\tthis._onSetIndex(index, oldValue, value);\n\t\t}\n\n\t\treturn oldValue;\n\t}\n\n\t/**\n\t * Adds an item to the list at a specific index, which pushes all the other\n\t * items further down the list.\n\t *\n\t * @param index Index\n\t * @param item An item to add\n\t */\n\tpublic insertIndex<K extends T>(index: number, value: K): K {\n\t\tcheckBounds(index, this._values.length + 1);\n\n\t\t$array.insertIndex(this._values, index, value);\n\t\tthis._onInsertIndex(index, value);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Swaps indexes of two items in the list.\n\t *\n\t * @param a Item 1\n\t * @param b Item 2\n\t */\n\tpublic swap(a: number, b: number): void {\n\t\tconst len = this._values.length;\n\n\t\tcheckBounds(a, len);\n\t\tcheckBounds(b, len);\n\n\t\tif (a !== b) {\n\t\t\tconst value_a = this._values[a];\n\t\t\tconst value_b = this._values[b];\n\n\t\t\tthis._values[a] = value_b;\n\t\t\tthis._onSetIndex(a, value_a, value_b);\n\n\t\t\tthis._values[b] = value_a;\n\t\t\tthis._onSetIndex(b, value_b, value_a);\n\t\t}\n\t}\n\n\t/**\n\t * Removes a value at specific index.\n\t *\n\t * @param index Index of value to remove\n\t * @return Removed value\n\t */\n\tpublic removeIndex(index: number): T {\n\t\tcheckBounds(index, this._values.length);\n\n\t\tconst oldValue = this._values[index];\n\n\t\t$array.removeIndex(this._values, index);\n\t\tthis._onRemoveIndex(index, oldValue);\n\n\t\treturn oldValue;\n\t}\n\n\t/**\n\t * Moves an item to a specific index within the list.\n\t *\n\t * If the index is not specified it will move the item to the end of the\n\t * list.\n\t *\n\t * @param value Item to move\n\t * @param index Index to place item at\n\t */\n\tpublic moveValue<K extends T>(value: K, toIndex?: number): K {\n\t\t// TODO don't do anything if the desired index is the same as the current index\n\t\tlet index = this.indexOf(value);\n\n\t\t// TODO remove all old values rather than only the first ?\n\t\tif (index !== -1) {\n\t\t\tconst oldValue = this._values[index];\n\n\t\t\t$array.removeIndex(this._values, index);\n\t\t\tthis._onRemoveIndex(index, oldValue);\n\t\t}\n\n\t\tif (toIndex == null) {\n\t\t\tthis._values.push(value);\n\t\t\tthis._onPush(value);\n\n\t\t} else {\n\t\t\t$array.insertIndex(this._values, toIndex, value);\n\t\t\tthis._onInsertIndex(toIndex, value);\n\t\t}\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds an item to the end of the list.\n\t *\n\t * @param item An item to add\n\t */\n\tpublic push<K extends T>(value: K): K {\n\t\tthis._values.push(value);\n\t\tthis._onPush(value);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds an item as a first item in the list.\n\t *\n\t * @param item An item to add\n\t */\n\tpublic unshift<K extends T>(value: K): K {\n\t\tthis.insertIndex(0, value);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds multiple items to the list.\n\t *\n\t * @param items An Array of items to add\n\t */\n\tpublic pushAll(values: Array<T>): void {\n\t\t$array.each(values, (value) => {\n\t\t\tthis.push(value);\n\t\t});\n\t}\n\n\t/**\n\t * Copies and adds items from abother list.\n\t *\n\t * @param source A list top copy items from\n\t */\n\tpublic copyFrom(source: this): void {\n\t\tthis.pushAll(source._values);\n\t}\n\n\t/**\n\t * Returns the last item from the list, and removes it.\n\t *\n\t * @return Item\n\t */\n\tpublic pop(): Optional<T> {\n\t\tlet index = this._values.length - 1;\n\t\treturn index < 0 ? undefined : this.removeIndex(this._values.length - 1);\n\t}\n\n\t/**\n\t * Returns the first item from the list, and removes it.\n\t *\n\t * @return Item\n\t */\n\tpublic shift(): Optional<T> {\n\t\treturn this._values.length ? this.removeIndex(0) : undefined;\n\t}\n\n\t/**\n\t * Sets multiple items to the list.\n\t *\n\t * All current items are removed.\n\t *\n\t * @param newArray New items\n\t */\n\tpublic setAll(newArray: Array<T>): void {\n\t\tconst old = this._values;\n\t\tthis._values = [];\n\t\tthis._onClear(old);\n\n\t\t$array.each(newArray, (value) => {\n\t\t\tthis._values.push(value);\n\t\t\tthis._onPush(value);\n\t\t});\n\t}\n\n\t/**\n\t * Removes all items from the list.\n\t */\n\tpublic clear(): void {\n\t\tthis.setAll([]);\n\t}\n\n\t/**\n\t * Returns an ES6 iterator for the list.\n\t */\n\tpublic *[Symbol.iterator](): Iterator<T> {\n\t\tconst length = this._values.length;\n\n\t\tfor (let i = 0; i < length; ++i) {\n\t\t\tyield this._values[i];\n\t\t}\n\t}\n\n\t/**\n\t * Calls `f` for each element in the list.\n\t *\n\t * `f` should have at least one parameter defined which will get a current\n\t * item, with optional second argument - index.\n\t */\n\tpublic each(f: (value: T, index: number) => void): void {\n\t\t$array.each(this._values, f);\n\t}\n}\n\n/**\n * A version of a [[List]] that is able to create new elements as well as\n * apply additional settings to newly created items.\n * \n * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/list-templates/} for more info\n */\nexport class ListTemplate<A extends Entity> extends List<A> {\n\tpublic template: Template<A>;\n\tpublic make: () => A;\n\n\tconstructor(template: Template<A>, make: () => A) {\n\t\tsuper();\n\t\tthis.template = template;\n\t\tthis.make = make;\n\t}\n}\n"]}
1
+ {"version":3,"file":"List.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/List.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ============================================================================\n * IMPORTS\n * ============================================================================\n * @hidden\n */\nimport type { Entity } from \"./Entity\";\nimport type { Template } from \"./Template\";\nimport type { IDisposer } from \"./Disposer\";\nimport { EventDispatcher, Events } from \"./EventDispatcher\";\nimport * as $array from \"./Array\";\nimport type { Optional } from \"./Type\";\n\n\n/**\n * Checks if specific index fits into length.\n *\n * @param index Index\n * @param len Length\n * @ignore\n */\nfunction checkBounds(index: number, len: number): void {\n\tif (!(index >= 0 && index < len)) {\n\t\tthrow new Error(\"Index out of bounds: \" + index);\n\t}\n}\n\n\nexport interface IListEvents<A> {\n\tclear: {\n\t\toldValues: Array<A>,\n\t};\n\tpush: {\n\t\tnewValue: A,\n\t};\n\tinsertIndex: {\n\t\tindex: number,\n\t\tnewValue: A,\n\t};\n\tsetIndex: {\n\t\tindex: number,\n\t\toldValue: A,\n\t\tnewValue: A,\n\t};\n\tremoveIndex: {\n\t\tindex: number,\n\t\toldValue: A,\n\t};\n}\n\n\n/**\n * A List class is used to hold a number of indexed items of the same type.\n */\nexport class List<T> {\n\n\t/**\n\t * List values.\n\t */\n\tprotected _values: Array<T>;\n\n\tpublic events = new EventDispatcher<Events<this, IListEvents<T>>>();\n\n\t/**\n\t * Constructor\n\t *\n\t * @param initial Inital list of values to add to list\n\t */\n\tconstructor(initial: Array<T> = []) {\n\t\tthis._values = initial;\n\t}\n\n\t/**\n\t * An array of values in the list.\n\t *\n\t * Do not use this property to add values. Rather use dedicated methods, like\n\t * `push()`, `removeIndex()`, etc.\n\t *\n\t * @readonly\n\t * @return List values\n\t */\n\tpublic get values(): Array<T> {\n\t\treturn this._values;\n\t}\n\n\t/**\n\t * Checks if list contains specific item reference.\n\t *\n\t * @param item Item to search for\n\t * @return `true` if found, `false` if not found\n\t */\n\tpublic contains(value: T): boolean {\n\t\treturn this._values.indexOf(value) !== -1;\n\t}\n\n\t/**\n\t * Removes specific item from the list.\n\t *\n\t * @param item An item to remove\n\t */\n\tpublic removeValue(value: T): void {\n\t\tlet i = 0;\n\t\tlet length = this._values.length;\n\n\t\twhile (i < length) {\n\t\t\t// TODO handle NaN\n\t\t\tif (this._values[i] === value) {\n\t\t\t\tthis.removeIndex(i);\n\t\t\t\t--length;\n\n\t\t\t} else {\n\t\t\t\t++i;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Searches the list for specific item and returns its index.\n\t *\n\t * @param item An item to search for\n\t * @return Index or -1 if not found\n\t */\n\tpublic indexOf(value: T): number {\n\t\treturn $array.indexOf(this._values, value);\n\t}\n\n\t/**\n\t * Number of items in list.\n\t *\n\t * @readonly\n\t * @return Number of items\n\t */\n\tpublic get length(): number {\n\t\treturn this._values.length;\n\t}\n\n\t/**\n\t * Checks if there's a value at specific index.\n\t *\n\t * @param index Index\n\t * @return Value exists?\n\t */\n\tpublic hasIndex(index: number): boolean {\n\t\treturn index >= 0 && index < this._values.length;\n\t}\n\n\t/**\n\t * Returns an item at specified index.\n\t *\n\t * @param index Index\n\t * @return List item\n\t */\n\tpublic getIndex(index: number): T | undefined {\n\t\treturn this._values[index];\n\t}\n\n\tprotected _onPush(newValue: T) {\n\t\tif (this.events.isEnabled(\"push\")) {\n\t\t\tthis.events.dispatch(\"push\", {\n\t\t\t\ttype: \"push\",\n\t\t\t\ttarget: this,\n\t\t\t\tnewValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onInsertIndex(index: number, newValue: T) {\n\t\tif (this.events.isEnabled(\"insertIndex\")) {\n\t\t\tthis.events.dispatch(\"insertIndex\", {\n\t\t\t\ttype: \"insertIndex\",\n\t\t\t\ttarget: this,\n\t\t\t\tindex,\n\t\t\t\tnewValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onSetIndex(index: number, oldValue: T, newValue: T) {\n\t\tif (this.events.isEnabled(\"setIndex\")) {\n\t\t\tthis.events.dispatch(\"setIndex\", {\n\t\t\t\ttype: \"setIndex\",\n\t\t\t\ttarget: this,\n\t\t\t\tindex,\n\t\t\t\toldValue,\n\t\t\t\tnewValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onRemoveIndex(index: number, oldValue: T) {\n\t\tif (this.events.isEnabled(\"removeIndex\")) {\n\t\t\tthis.events.dispatch(\"removeIndex\", {\n\t\t\t\ttype: \"removeIndex\",\n\t\t\t\ttarget: this,\n\t\t\t\tindex,\n\t\t\t\toldValue\n\t\t\t});\n\t\t}\n\t}\n\n\tprotected _onClear(oldValues: Array<T>) {\n\t\tif (this.events.isEnabled(\"clear\")) {\n\t\t\tthis.events.dispatch(\"clear\", {\n\t\t\t\ttype: \"clear\",\n\t\t\t\ttarget: this,\n\t\t\t\toldValues\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Sets value at specific index.\n\t *\n\t * If there's already a value at the index, it is overwritten.\n\t *\n\t * @param index Index\n\t * @param value New value\n\t * @return New value\n\t */\n\tpublic setIndex(index: number, value: T): T {\n\t\tcheckBounds(index, this._values.length);\n\n\t\tconst oldValue = this._values[index];\n\n\t\t// Do nothing if the old value and the new value are the same\n\t\tif (oldValue !== value) {\n\t\t\tthis._values[index] = value;\n\t\t\tthis._onSetIndex(index, oldValue, value);\n\t\t}\n\n\t\treturn oldValue;\n\t}\n\n\t/**\n\t * Adds an item to the list at a specific index, which pushes all the other\n\t * items further down the list.\n\t *\n\t * @param index Index\n\t * @param item An item to add\n\t */\n\tpublic insertIndex<K extends T>(index: number, value: K): K {\n\t\tcheckBounds(index, this._values.length + 1);\n\n\t\t$array.insertIndex(this._values, index, value);\n\t\tthis._onInsertIndex(index, value);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Swaps indexes of two items in the list.\n\t *\n\t * @param a Item 1\n\t * @param b Item 2\n\t */\n\tpublic swap(a: number, b: number): void {\n\t\tconst len = this._values.length;\n\n\t\tcheckBounds(a, len);\n\t\tcheckBounds(b, len);\n\n\t\tif (a !== b) {\n\t\t\tconst value_a = this._values[a];\n\t\t\tconst value_b = this._values[b];\n\n\t\t\tthis._values[a] = value_b;\n\t\t\tthis._onSetIndex(a, value_a, value_b);\n\n\t\t\tthis._values[b] = value_a;\n\t\t\tthis._onSetIndex(b, value_b, value_a);\n\t\t}\n\t}\n\n\t/**\n\t * Removes a value at specific index.\n\t *\n\t * @param index Index of value to remove\n\t * @return Removed value\n\t */\n\tpublic removeIndex(index: number): T {\n\t\tcheckBounds(index, this._values.length);\n\n\t\tconst oldValue = this._values[index];\n\n\t\t$array.removeIndex(this._values, index);\n\t\tthis._onRemoveIndex(index, oldValue);\n\n\t\treturn oldValue;\n\t}\n\n\t/**\n\t * Moves an item to a specific index within the list.\n\t *\n\t * If the index is not specified it will move the item to the end of the\n\t * list.\n\t *\n\t * @param value Item to move\n\t * @param index Index to place item at\n\t */\n\tpublic moveValue<K extends T>(value: K, toIndex?: number): K {\n\t\t// TODO don't do anything if the desired index is the same as the current index\n\t\tlet index = this.indexOf(value);\n\n\t\t// TODO remove all old values rather than only the first ?\n\t\tif (index !== -1) {\n\t\t\tconst oldValue = this._values[index];\n\n\t\t\t$array.removeIndex(this._values, index);\n\t\t\tthis._onRemoveIndex(index, oldValue);\n\t\t}\n\n\t\tif (toIndex == null) {\n\t\t\tthis._values.push(value);\n\t\t\tthis._onPush(value);\n\n\t\t} else {\n\t\t\t$array.insertIndex(this._values, toIndex, value);\n\t\t\tthis._onInsertIndex(toIndex, value);\n\t\t}\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds an item to the end of the list.\n\t *\n\t * @param item An item to add\n\t */\n\tpublic push<K extends T>(value: K): K {\n\t\tthis._values.push(value);\n\t\tthis._onPush(value);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds an item as a first item in the list.\n\t *\n\t * @param item An item to add\n\t */\n\tpublic unshift<K extends T>(value: K): K {\n\t\tthis.insertIndex(0, value);\n\t\treturn value;\n\t}\n\n\t/**\n\t * Adds multiple items to the list.\n\t *\n\t * @param items An Array of items to add\n\t */\n\tpublic pushAll(values: Array<T>): void {\n\t\t$array.each(values, (value) => {\n\t\t\tthis.push(value);\n\t\t});\n\t}\n\n\t/**\n\t * Copies and adds items from abother list.\n\t *\n\t * @param source A list top copy items from\n\t */\n\tpublic copyFrom(source: this): void {\n\t\tthis.pushAll(source._values);\n\t}\n\n\t/**\n\t * Returns the last item from the list, and removes it.\n\t *\n\t * @return Item\n\t */\n\tpublic pop(): Optional<T> {\n\t\tlet index = this._values.length - 1;\n\t\treturn index < 0 ? undefined : this.removeIndex(this._values.length - 1);\n\t}\n\n\t/**\n\t * Returns the first item from the list, and removes it.\n\t *\n\t * @return Item\n\t */\n\tpublic shift(): Optional<T> {\n\t\treturn this._values.length ? this.removeIndex(0) : undefined;\n\t}\n\n\t/**\n\t * Sets multiple items to the list.\n\t *\n\t * All current items are removed.\n\t *\n\t * @param newArray New items\n\t */\n\tpublic setAll(newArray: Array<T>): void {\n\t\tconst old = this._values;\n\t\tthis._values = [];\n\t\tthis._onClear(old);\n\n\t\t$array.each(newArray, (value) => {\n\t\t\tthis._values.push(value);\n\t\t\tthis._onPush(value);\n\t\t});\n\t}\n\n\t/**\n\t * Removes all items from the list.\n\t */\n\tpublic clear(): void {\n\t\tthis.setAll([]);\n\t}\n\n\t/**\n\t * Returns an ES6 iterator for the list.\n\t */\n\tpublic *[Symbol.iterator](): Iterator<T> {\n\t\tconst length = this._values.length;\n\n\t\tfor (let i = 0; i < length; ++i) {\n\t\t\tyield this._values[i];\n\t\t}\n\t}\n\n\t/**\n\t * Calls `f` for each element in the list.\n\t *\n\t * `f` should have at least one parameter defined which will get a current\n\t * item, with optional second argument - index.\n\t */\n\tpublic each(f: (value: T, index: number) => void): void {\n\t\t$array.each(this._values, f);\n\t}\n}\n\n\n/**\n * A version of a [[List]] where the elements are disposed automatically when removed from the list, unless autoDispose is set to false.\n * @todo review\n */\nexport class ListAutoDispose<A extends IDisposer> extends List<A> implements IDisposer {\n\t/**\n\t * Automatically disposes elements that are removed from the list.\n\t *\n\t * @default true\n\t */\n\tpublic autoDispose: boolean = true;\n\n\tprivate _disposed: boolean = false;\n\n\tprotected _onSetIndex(index: number, oldValue: A, newValue: A) {\n\t\tif (this.autoDispose) {\n\t\t\toldValue.dispose();\n\t\t}\n\n\t\tsuper._onSetIndex(index, oldValue, newValue);\n\t}\n\n\tprotected _onRemoveIndex(index: number, oldValue: A) {\n\t\tif (this.autoDispose) {\n\t\t\toldValue.dispose();\n\t\t}\n\n\t\tsuper._onRemoveIndex(index, oldValue);\n\t}\n\n\tprotected _onClear(oldValues: Array<A>) {\n\t\tif (this.autoDispose) {\n\t\t\t$array.each(oldValues, (x) => {\n\t\t\t\tx.dispose();\n\t\t\t});\n\t\t}\n\n\t\tsuper._onClear(oldValues);\n\t}\n\n\tpublic isDisposed(): boolean {\n\t\treturn this._disposed;\n\t}\n\n\tpublic dispose(): void {\n\t\tif (!this._disposed) {\n\t\t\tthis._disposed = true;\n\n\t\t\tif (this.autoDispose) {\n\t\t\t\t$array.each(this._values, (x) => {\n\t\t\t\t\tx.dispose();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n/**\n * A version of a [[List]] that is able to create new elements as well as\n * apply additional settings to newly created items.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/list-templates/} for more info\n */\nexport class ListTemplate<A extends Entity> extends ListAutoDispose<A> {\n\tpublic template: Template<A>;\n\tpublic make: () => A;\n\n\tconstructor(template: Template<A>, make: () => A) {\n\t\tsuper();\n\t\tthis.template = template;\n\t\tthis.make = make;\n\t}\n}\n"]}
@@ -1,16 +1,5 @@
1
- /**
2
- * Number formatting-related functionality.
3
- */
4
- /**
5
- * ============================================================================
6
- * IMPORTS
7
- * ============================================================================
8
- * @hidden
9
- */
10
- import { Entity, IEntitySettings, IEntityPrivate } from "./Entity";
11
- import type { Root } from "../Root";
12
1
  import type { Language } from "./Language";
13
- import type { Template } from "./Template";
2
+ import { Entity, IEntitySettings, IEntityPrivate } from "./Entity";
14
3
  /**
15
4
  * @ignore
16
5
  */
@@ -78,16 +67,6 @@ export interface INumberFormatterPrivate extends IEntityPrivate {
78
67
  * @important
79
68
  */
80
69
  export declare class NumberFormatter extends Entity {
81
- /**
82
- * Use this method to create an instance of this class.
83
- *
84
- * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info
85
- * @param root Root element
86
- * @param settings Settings
87
- * @param template Template
88
- * @return Instantiated object
89
- */
90
- static new(root: Root, settings: NumberFormatter["_settings"], template?: Template<NumberFormatter>): NumberFormatter;
91
70
  _settings: INumberFormatterSettings;
92
71
  _privateSettings: INumberFormatterPrivate;
93
72
  protected _setDefaults(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"NumberFormatter.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAElE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAO3C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAEhE;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAEjD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEpC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEtC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAE/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CAErB;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;CAC9D;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,MAAM;IAE1C;;;;;;;;OAQG;WACW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,eAAe;IAM7G,SAAS,EAAE,wBAAwB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAEzD,SAAS,CAAC,YAAY;IAwCf,cAAc;IAIrB;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAgE7G;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IA6M9D;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM;IAmI1D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,GAAE,OAAe,GAAG,GAAG,EAAE;IA0CpF;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAInC;;;;;;OAMG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAIrC"}
1
+ {"version":3,"file":"NumberFormatter.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAOlE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAEhE;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAEjD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEpC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEtC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAE/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CAErB;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;CAC9D;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,MAAM;IAC3B,SAAS,EAAE,wBAAwB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAEzD,SAAS,CAAC,YAAY;IAwCf,cAAc;IAIrB;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAgE7G;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IA6M9D;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM;IAmI1D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,GAAE,OAAe,GAAG,GAAG,EAAE;IA0CpF;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAInC;;;;;;OAMG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAIrC"}
@@ -1,17 +1,6 @@
1
- /**
2
- * Number formatting-related functionality.
3
- */
4
1
  import { __extends } from "tslib";
5
- /**
6
- * ============================================================================
7
- * IMPORTS
8
- * ============================================================================
9
- * @hidden
10
- */
11
2
  import { Entity } from "./Entity";
12
3
  import { TextFormatter } from "./TextFormatter";
13
- // import { BaseObject } from "../Base";
14
- // import { registry } from "../Registry";
15
4
  import * as $object from "./Object";
16
5
  import * as $utils from "./Utils";
17
6
  import * as $type from "./Type";
@@ -26,25 +15,6 @@ var NumberFormatter = /** @class */ (function (_super) {
26
15
  function NumberFormatter() {
27
16
  return _super !== null && _super.apply(this, arguments) || this;
28
17
  }
29
- /**
30
- * Use this method to create an instance of this class.
31
- *
32
- * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info
33
- * @param root Root element
34
- * @param settings Settings
35
- * @param template Template
36
- * @return Instantiated object
37
- */
38
- Object.defineProperty(NumberFormatter, "new", {
39
- enumerable: false,
40
- configurable: true,
41
- writable: true,
42
- value: function (root, settings, template) {
43
- var x = new NumberFormatter(root, settings, true, template);
44
- x._afterNew();
45
- return x;
46
- }
47
- });
48
18
  Object.defineProperty(NumberFormatter.prototype, "_setDefaults", {
49
19
  enumerable: false,
50
20
  configurable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"NumberFormatter.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Number formatting-related functionality.\n */\n\n/**\n * ============================================================================\n * IMPORTS\n * ============================================================================\n * @hidden\n */\n\nimport { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport { TextFormatter } from \"./TextFormatter\";\nimport type { Root } from \"../Root\"\nimport type { Language } from \"./Language\";\nimport type { Template } from \"./Template\";\n// import { BaseObject } from \"../Base\";\n// import { registry } from \"../Registry\";\nimport * as $object from \"./Object\";\nimport * as $utils from \"./Utils\";\nimport * as $type from \"./Type\";\n\n/**\n * @ignore\n */\nexport interface INumberSuffix {\n\tnumber: number;\n\tsuffix: string;\n}\n\nexport interface INumberFormatterSettings extends IEntitySettings {\n\n\t/**\n\t * Number format to be used when formatting numbers.\n\t * \n\t * @default \"#,###.#####\"\n\t */\n\tnumberFormat?: string | Intl.NumberFormatOptions;\n\n\t/**\n\t * A threshold value for negative numbers.\n\t *\n\t * @default 0\n\t */\n\tnegativeBase?: number;\n\n\t/**\n\t * Prefixes and thresholds to group big numbers into, e.g. 1M.\n\t *\n\t * Used in conjunction with `a` modifier of the number format.\n\t */\n\tbigNumberPrefixes?: INumberSuffix[];\n\n\t/**\n\t * Prefixes and thresholds to group small numbers into, e.g. 1m.\n\t *\n\t * Used in conjunction with `a` modifier of the number format.\n\t */\n\tsmallNumberPrefixes?: INumberSuffix[];\n\n\t/**\n\t * All numbers below this value are considered small.\n\t * \n\t * @default 1\n\t */\n\tsmallNumberThreshold?: number;\n\n\t/**\n\t * Prefixes to and thresholds to use when grouping data size numbers, e.g. 1MB.\n\t *\n\t * Used in conjunction with `b` modifier of the number format.\n\t */\n\tbytePrefixes?: INumberSuffix[];\n\n\t/**\n\t * Indicates which fields in data should be considered numeric.\n\t *\n\t * It is used when formatting data placeholder values.\n\t */\n\tnumericFields?: string[];\n\n\t/**\n\t * Locales if you are using date formats in `Intl.NumberFormatOptions` syntax.\n\t *\n\t * @see (@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat) about using Intl for number formatting\n\t * @param value Locales\n\t */\n\tintlLocales?: string;\n\n}\n\nexport interface INumberFormatterPrivate extends IEntityPrivate {\n}\n\n/**\n * Number formatter\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-numbers/} for more info\n * @important\n */\nexport class NumberFormatter extends Entity {\n\n\t/**\n\t * Use this method to create an instance of this class.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @param root Root element\n\t * @param settings Settings\n\t * @param template Template\n\t * @return Instantiated object\n\t */\n\tpublic static new(root: Root, settings: NumberFormatter[\"_settings\"], template?: Template<NumberFormatter>): NumberFormatter {\n\t\tconst x = new NumberFormatter(root, settings, true, template);\n\t\tx._afterNew();\n\t\treturn x;\n\t}\n\n\tdeclare public _settings: INumberFormatterSettings;\n\tdeclare public _privateSettings: INumberFormatterPrivate;\n\n\tprotected _setDefaults() {\n\t\t// Defaults\n\t\tthis._setDefault(\"negativeBase\", 0);\n\t\tthis._setDefault(\"numberFormat\", \"#,###.#####\");\n\t\tthis._setDefault(\"smallNumberThreshold\", 1.00);\n\n\t\tthis._setDefault(\"bigNumberPrefixes\", [\n\t\t\t{ \"number\": 1e+3, \"suffix\": this._root.language.translate(\"_big_number_suffix_3\") },\n\t\t\t{ \"number\": 1e+6, \"suffix\": this._root.language.translate(\"_big_number_suffix_6\") },\n\t\t\t{ \"number\": 1e+9, \"suffix\": this._root.language.translate(\"_big_number_suffix_9\") },\n\t\t\t{ \"number\": 1e+12, \"suffix\": this._root.language.translate(\"_big_number_suffix_12\") },\n\t\t\t{ \"number\": 1e+15, \"suffix\": this._root.language.translate(\"_big_number_suffix_15\") },\n\t\t\t{ \"number\": 1e+18, \"suffix\": this._root.language.translate(\"_big_number_suffix_18\") },\n\t\t\t{ \"number\": 1e+21, \"suffix\": this._root.language.translate(\"_big_number_suffix_21\") },\n\t\t\t{ \"number\": 1e+24, \"suffix\": this._root.language.translate(\"_big_number_suffix_24\") }\n\t\t]);\n\n\t\tthis._setDefault(\"smallNumberPrefixes\", [\n\t\t\t{ \"number\": 1e-24, \"suffix\": this._root.language.translate(\"_small_number_suffix_24\") },\n\t\t\t{ \"number\": 1e-21, \"suffix\": this._root.language.translate(\"_small_number_suffix_21\") },\n\t\t\t{ \"number\": 1e-18, \"suffix\": this._root.language.translate(\"_small_number_suffix_18\") },\n\t\t\t{ \"number\": 1e-15, \"suffix\": this._root.language.translate(\"_small_number_suffix_15\") },\n\t\t\t{ \"number\": 1e-12, \"suffix\": this._root.language.translate(\"_small_number_suffix_12\") },\n\t\t\t{ \"number\": 1e-9, \"suffix\": this._root.language.translate(\"_small_number_suffix_9\") },\n\t\t\t{ \"number\": 1e-6, \"suffix\": this._root.language.translate(\"_small_number_suffix_6\") },\n\t\t\t{ \"number\": 1e-3, \"suffix\": this._root.language.translate(\"_small_number_suffix_3\") }\n\t\t]);\n\n\t\tthis._setDefault(\"bytePrefixes\", [\n\t\t\t{ \"number\": 1, suffix: this._root.language.translate(\"_byte_suffix_B\") },\n\t\t\t{ \"number\": 1024, suffix: this._root.language.translate(\"_byte_suffix_KB\") },\n\t\t\t{ \"number\": 1048576, suffix: this._root.language.translate(\"_byte_suffix_MB\") },\n\t\t\t{ \"number\": 1073741824, suffix: this._root.language.translate(\"_byte_suffix_GB\") },\n\t\t\t{ \"number\": 1099511627776, suffix: this._root.language.translate(\"_byte_suffix_TB\") },\n\t\t\t{ \"number\": 1125899906842624, suffix: this._root.language.translate(\"_byte_suffix_PB\") }\n\t\t]);\n\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\t}\n\n\t/**\n\t * Formats the number according to specific format.\n\t *\n\t * @param value Value to format\n\t * @param format Format to apply\n\t * @return Formatted number\n\t */\n\tpublic format(value: number | string, format?: string | Intl.NumberFormatOptions, precision?: number): string {\n\n\t\t// no format passed in or \"Number\"\n\t\tif (format == null || ($type.isString(format) && format.toLowerCase() === \"number\")) {\n\t\t\tformat = this.get(\"numberFormat\", \"\");\n\t\t}\n\n\t\t// Init return value\n\t\tlet formatted;\n\n\t\t// Cast to number just in case\n\t\t// TODO: maybe use better casting\n\t\tlet source: number = Number(value);\n\n\t\t// Is it a built-in format or Intl.NumberFormatOptions\n\t\tif ($type.isObject(format)) {\n\t\t\ttry {\n\t\t\t\tif (this.get(\"intlLocales\")) {\n\t\t\t\t\treturn new Intl.NumberFormat(this.get(\"intlLocales\"), <Intl.NumberFormatOptions>format).format(source);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn new Intl.NumberFormat(undefined, <Intl.NumberFormatOptions>format).format(source);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn \"Invalid\";\n\t\t\t}\n\n\t\t}\n\t\telse {\n\n\t\t\t// Clean format\n\t\t\tformat = $utils.cleanFormat(format!);\n\n\t\t\t// Get format info (it will also deal with parser caching)\n\t\t\tlet info = this.parseFormat(format, this._root.language);\n\n\n\t\t\t// format and replace the number\n\t\t\tlet details;\n\t\t\tif (source > this.get(\"negativeBase\")) {\n\t\t\t\tdetails = info.positive;\n\t\t\t}\n\t\t\telse if (source < this.get(\"negativeBase\")) {\n\t\t\t\tdetails = info.negative;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdetails = info.zero;\n\t\t\t}\n\n\t\t\t// Adjust precision\n\t\t\tif (precision != null && !details.mod) {\n\t\t\t\tdetails = $object.copy(details);\n\t\t\t\tdetails.decimals.active = source == 0 ? 0 : precision;\n\t\t\t}\n\n\t\t\t// Format\n\t\t\tformatted = details.template.split($type.PLACEHOLDER).join(this.applyFormat(source, details));\n\n\t\t}\n\n\t\treturn formatted;\n\t}\n\n\t/**\n\t * Parses supplied format into structured object which can be used to format\n\t * the number.\n\t *\n\t * @param format Format string, i.e. \"#,###.00\"\n\t * @param language Language\n\t * @ignore\n\t */\n\tprotected parseFormat(format: string, language: Language): any {\n\n\t\t// Check cache\n\t\t// TODO\n\t\t// let cached = this.getCache(format);\n\t\t// if (cached != null) {\n\t\t// \treturn cached;\n\t\t// }\n\n\t\t// init format parse info holder\n\t\tlet info: any = {\n\t\t\t\"positive\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_thousandSeparator\")\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_decimalSeparator\")\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t},\n\t\t\t\"negative\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_thousandSeparator\")\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_decimalSeparator\")\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t},\n\t\t\t\"zero\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_thousandSeparator\")\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_decimalSeparator\")\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t}\n\t\t};\n\n\t\t// Escape double vertical bars (that mean display one vertical bar)\n\t\tformat = format.replace(\"||\", $type.PLACEHOLDER2);\n\n\t\t// Split it up and deal with different formats\n\t\tlet parts = format.split(\"|\");\n\t\tinfo.positive.source = parts[0];\n\n\t\tif (typeof parts[2] === \"undefined\") {\n\t\t\tinfo.zero = info.positive;\n\t\t}\n\t\telse {\n\t\t\tinfo.zero.source = parts[2];\n\t\t}\n\n\t\tif (typeof parts[1] === \"undefined\") {\n\t\t\tinfo.negative = info.positive;\n\t\t}\n\t\telse {\n\t\t\tinfo.negative.source = parts[1];\n\t\t}\n\n\t\t// Parse each\n\t\t$object.each(info, (_part, item) => {\n\t\t\t// Already parsed\n\t\t\tif (item.parsed) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Check cached\n\t\t\t// TODO\n\t\t\t// if (typeof this.getCache(item.source) !== \"undefined\") {\n\t\t\t// \tinfo[part] = this.getCache(item.source);\n\t\t\t// \treturn;\n\t\t\t// }\n\n\t\t\t// Begin parsing\n\t\t\tlet partFormat = item.source;\n\n\t\t\t// Just \"Number\"?\n\t\t\tif (partFormat.toLowerCase() === \"number\") {\n\t\t\t\tpartFormat = this.get(\"numberFormat\", \"#,###.#####\");\n\t\t\t}\n\n\t\t\t// Let TextFormatter split into chunks\n\t\t\tlet chunks = TextFormatter.chunk(partFormat, true);\n\t\t\tfor (let i: number = 0; i < chunks.length; i++) {\n\t\t\t\tlet chunk = chunks[i];\n\n\t\t\t\t// replace back double vertical bar\n\t\t\t\tchunk.text = chunk.text.replace($type.PLACEHOLDER2, \"|\");\n\n\t\t\t\tif (chunk.type === \"value\") {\n\t\t\t\t\t// Parse format\n\n\t\t\t\t\t// Look for codes\n\t\t\t\t\tlet matches: string[] | null = chunk.text.match(/[#0.,]+[ ]?[abesABES%!]?[abesABES‰!]?/);\n\n\t\t\t\t\tif (matches) {\n\t\t\t\t\t\tif (matches === null || matches[0] === \"\") {\n\t\t\t\t\t\t\t// no codes here - assume string\n\t\t\t\t\t\t\t// nothing to do here\n\t\t\t\t\t\t\titem.template += chunk.text;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\n\t\t\t\t\t\t\t// look for the format modifiers at the end\n\t\t\t\t\t\t\tlet mods: string[] | null = matches[0].match(/[abesABES%‰!]{2}|[abesABES%‰]{1}$/);\n\n\t\t\t\t\t\t\tif (mods) {\n\t\t\t\t\t\t\t\titem.mod = mods[0].toLowerCase();\n\t\t\t\t\t\t\t\titem.modSpacing = matches[0].match(/[ ]{1}[abesABES%‰!]{1}$/) ? true : false;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// break the format up\n\t\t\t\t\t\t\tlet a = matches[0].split(\".\");\n\n\t\t\t\t\t\t\t// Deal with thousands\n\t\t\t\t\t\t\tif (a[0] === \"\") {\n\t\t\t\t\t\t\t\t// No directives for thousands\n\t\t\t\t\t\t\t\t// Leave default settings (no formatting)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// Counts\n\t\t\t\t\t\t\t\titem.thousands.active = (a[0].match(/0/g) || []).length;\n\t\t\t\t\t\t\t\titem.thousands.passive = (a[0].match(/\\#/g) || []).length + item.thousands.active;\n\n\t\t\t\t\t\t\t\t// Separator interval\n\t\t\t\t\t\t\t\tlet b = a[0].split(\",\");\n\t\t\t\t\t\t\t\tif (b.length === 1) {\n\t\t\t\t\t\t\t\t\t// No thousands separators\n\t\t\t\t\t\t\t\t\t// Do nothing\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t// Use length fo the last chunk as thousands length\n\t\t\t\t\t\t\t\t\titem.thousands.interval = (b.pop() || \"\").length;\n\n\t\t\t\t\t\t\t\t\tif (item.thousands.interval === 0) {\n\t\t\t\t\t\t\t\t\t\titem.thousands.interval = -1;\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}\n\n\t\t\t\t\t\t\t// Deal with decimals\n\t\t\t\t\t\t\tif (typeof (a[1]) === \"undefined\") {\n\t\t\t\t\t\t\t\t// No directives for decimals\n\t\t\t\t\t\t\t\t// Leave at defaults (no formatting)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// Counts\n\t\t\t\t\t\t\t\titem.decimals.active = (a[1].match(/0/g) || []).length;\n\t\t\t\t\t\t\t\titem.decimals.passive = (a[1].match(/\\#/g) || []).length + item.decimals.active;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Add special code to template\n\t\t\t\t\t\t\titem.template += chunk.text.split(matches[0]).join($type.PLACEHOLDER);\n\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Quoted string - take it as it is\n\t\t\t\t\titem.template += chunk.text;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Apply style formatting\n\t\t\t//item.template = getTextFormatter().format(item.template, this.outputFormat);\n\n\t\t\t// Save cache\n\t\t\t// TODO\n\t\t\t//this.setCache(item.source, item);\n\n\t\t\t// Mark this as parsed\n\t\t\titem.parsed = true;\n\n\t\t});\n\n\t\t// Save cache (the whole thing)\n\t\t// TODO\n\t\t//this.setCache(format, info);\n\n\t\treturn info;\n\t}\n\n\t/**\n\t * Applies parsed format to a numeric value.\n\t *\n\t * @param value Value\n\t * @param details Parsed format as returned by parseFormat()\n\t * @return Formatted number\n\t * @ignore\n\t */\n\tprotected applyFormat(value: number, details: any): string {\n\n\t\t// Use absolute values\n\t\tlet negative: boolean = value < 0;\n\t\tvalue = Math.abs(value);\n\n\t\t// Recalculate according to modifier\n\t\tlet prefix: string = \"\", suffix: string = \"\";\n\t\tlet mods: string[] = details.mod ? details.mod.split(\"\") : [];\n\t\tif (mods.indexOf(\"b\") !== -1) {\n\t\t\tlet a = this.applyPrefix(value, this.get(\"bytePrefixes\")!, mods.indexOf(\"!\") !== -1);\n\t\t\tvalue = a[0];\n\t\t\tprefix = a[1];\n\t\t\tsuffix = a[2];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"a\") !== -1) {\n\t\t\tlet a = this.applyPrefix(value, value < this.get(\"smallNumberThreshold\")! ? this.get(\"smallNumberPrefixes\")! : this.get(\"bigNumberPrefixes\")!, mods.indexOf(\"!\") !== -1);\n\t\t\tvalue = a[0];\n\t\t\tprefix = a[1];\n\t\t\tsuffix = a[2];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"%\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 2, 21);\n\t\t\tvalue *= 100;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tsuffix = \"%\";\n\t\t}\n\t\telse if (mods.indexOf(\"‰\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 3, 21);\n\t\t\tvalue *= 1000;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tsuffix = \"‰\";\n\t\t}\n\n\t\t// Round to passive\n\t\tif (mods.indexOf(\"e\") !== -1) {\n\t\t\t// convert the value to exponential\n\t\t\tlet exp: string[];\n\t\t\tif (details.decimals.passive >= 0) {\n\t\t\t\texp = value.toExponential(details.decimals.passive).split(\"e\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\texp = value.toExponential().split(\"e\");\n\t\t\t}\n\t\t\tvalue = Number(exp[0]);\n\t\t\tsuffix = \"e\" + exp[1];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (details.decimals.passive === 0) {\n\t\t\tvalue = Math.round(value);\n\t\t}\n\t\telse if (details.decimals.passive > 0) {\n\t\t\tlet d: number = Math.pow(10, details.decimals.passive);\n\t\t\tvalue = Math.round(value * d) / d;\n\t\t}\n\n\t\t// Init return value\n\t\tlet res: string = \"\";\n\n\t\t// Calc integer and decimal parts\n\t\tlet a = $type.numberToString(value).split(\".\");\n\n\t\t// Format integers\n\t\tlet ints = a[0];\n\n\t\t// Pad integers to active length\n\t\tif (ints.length < details.thousands.active) {\n\t\t\tints = Array(details.thousands.active - ints.length + 1).join(\"0\") + ints;\n\t\t}\n\n\t\t// Insert thousands separators\n\t\tif (details.thousands.interval > 0) {\n\t\t\tlet ip: string[] = [];\n\t\t\tlet intsr: string = ints.split(\"\").reverse().join(\"\");\n\t\t\tfor (let i = 0, len = ints.length; i <= len; i += details.thousands.interval) {\n\t\t\t\tlet c: string = intsr.substr(i, details.thousands.interval).split(\"\").reverse().join(\"\");\n\t\t\t\tif (c !== \"\") {\n\t\t\t\t\tip.unshift(c);\n\t\t\t\t}\n\t\t\t}\n\t\t\tints = ip.join(details.thousands.separator);\n\t\t}\n\n\t\t// Add integers\n\t\tres += ints;\n\n\t\t// Add decimals\n\t\tif (a.length === 1) {\n\t\t\ta.push(\"\");\n\t\t}\n\t\tlet decs: string = a[1];\n\n\t\t// Fill zeros?\n\t\tif (decs.length < details.decimals.active) {\n\t\t\tdecs += Array(details.decimals.active - decs.length + 1).join(\"0\");\n\t\t}\n\n\t\tif (decs !== \"\") {\n\t\t\tres += details.decimals.separator + decs;\n\t\t}\n\n\t\t// Can't have empty return value\n\t\tif (res === \"\") {\n\t\t\tres = \"0\";\n\t\t}\n\n\t\t// Add minus sign back\n\t\tif (value !== 0 && negative && (mods.indexOf(\"s\") === -1)) {\n\t\t\tres = \"-\" + res;\n\t\t}\n\n\t\t// Add suffixes/prefixes\n\t\tif (prefix) {\n\t\t\tres = prefix + res;\n\t\t}\n\t\tif (suffix) {\n\t\t\tres += suffix;\n\t\t}\n\n\t\treturn res;\n\t}\n\n\n\tprotected applyPrefix(value: number, prefixes: any[], force: boolean = false): any[] {\n\t\tlet newvalue = value;\n\t\tlet prefix = \"\";\n\t\tlet suffix = \"\";\n\t\tlet applied = false;\n\t\tlet k = 1;\n\n\t\tfor (let i = 0, len = prefixes.length; i < len; i++) {\n\t\t\tif (prefixes[i].number <= value) {\n\t\t\t\tif (prefixes[i].number === 0) {\n\t\t\t\t\tnewvalue = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewvalue = value / prefixes[i].number;\n\t\t\t\t\tk = prefixes[i].number;\n\t\t\t\t}\n\t\t\t\tprefix = prefixes[i].prefix;\n\t\t\t\tsuffix = prefixes[i].suffix;\n\t\t\t\tapplied = true;\n\t\t\t}\n\t\t}\n\n\n\t\tif (!applied && force && prefixes.length && value != 0) {\n\t\t\t// Prefix was not applied. Use the first prefix.\n\t\t\tnewvalue = value / prefixes[0].number;\n\t\t\tprefix = prefixes[0].prefix;\n\t\t\tsuffix = prefixes[0].suffix;\n\t\t\tapplied = true;\n\t\t}\n\n\t\tif (applied) {\n\t\t\tnewvalue = parseFloat(\n\t\t\t\tnewvalue.toPrecision(\n\t\t\t\t\tMath.min(k.toString().length + Math.floor(newvalue).toString().replace(/[^0-9]*/g, \"\").length, 21)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\treturn [newvalue, prefix, suffix];\n\t}\n\n\t/**\n\t * Replaces brackets with temporary placeholders.\n\t *\n\t * @ignore Exclude from docs\n\t * @param text Input text\n\t * @return Escaped text\n\t */\n\tpublic escape(text: string): string {\n\t\treturn text.replace(\"||\", $type.PLACEHOLDER2);\n\t}\n\n\t/**\n\t * Replaces placeholders back to brackets.\n\t *\n\t * @ignore Exclude from docs\n\t * @param text Escaped text\n\t * @return Unescaped text\n\t */\n\tpublic unescape(text: string): string {\n\t\treturn text.replace($type.PLACEHOLDER2, \"|\");\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"NumberFormatter.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Language } from \"./Language\";\n\nimport { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport { TextFormatter } from \"./TextFormatter\";\n\nimport * as $object from \"./Object\";\nimport * as $utils from \"./Utils\";\nimport * as $type from \"./Type\";\n\n/**\n * @ignore\n */\nexport interface INumberSuffix {\n\tnumber: number;\n\tsuffix: string;\n}\n\nexport interface INumberFormatterSettings extends IEntitySettings {\n\n\t/**\n\t * Number format to be used when formatting numbers.\n\t *\n\t * @default \"#,###.#####\"\n\t */\n\tnumberFormat?: string | Intl.NumberFormatOptions;\n\n\t/**\n\t * A threshold value for negative numbers.\n\t *\n\t * @default 0\n\t */\n\tnegativeBase?: number;\n\n\t/**\n\t * Prefixes and thresholds to group big numbers into, e.g. 1M.\n\t *\n\t * Used in conjunction with `a` modifier of the number format.\n\t */\n\tbigNumberPrefixes?: INumberSuffix[];\n\n\t/**\n\t * Prefixes and thresholds to group small numbers into, e.g. 1m.\n\t *\n\t * Used in conjunction with `a` modifier of the number format.\n\t */\n\tsmallNumberPrefixes?: INumberSuffix[];\n\n\t/**\n\t * All numbers below this value are considered small.\n\t *\n\t * @default 1\n\t */\n\tsmallNumberThreshold?: number;\n\n\t/**\n\t * Prefixes to and thresholds to use when grouping data size numbers, e.g. 1MB.\n\t *\n\t * Used in conjunction with `b` modifier of the number format.\n\t */\n\tbytePrefixes?: INumberSuffix[];\n\n\t/**\n\t * Indicates which fields in data should be considered numeric.\n\t *\n\t * It is used when formatting data placeholder values.\n\t */\n\tnumericFields?: string[];\n\n\t/**\n\t * Locales if you are using date formats in `Intl.NumberFormatOptions` syntax.\n\t *\n\t * @see (@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat) about using Intl for number formatting\n\t * @param value Locales\n\t */\n\tintlLocales?: string;\n\n}\n\nexport interface INumberFormatterPrivate extends IEntityPrivate {\n}\n\n/**\n * Number formatter\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-numbers/} for more info\n * @important\n */\nexport class NumberFormatter extends Entity {\n\tdeclare public _settings: INumberFormatterSettings;\n\tdeclare public _privateSettings: INumberFormatterPrivate;\n\n\tprotected _setDefaults() {\n\t\t// Defaults\n\t\tthis._setDefault(\"negativeBase\", 0);\n\t\tthis._setDefault(\"numberFormat\", \"#,###.#####\");\n\t\tthis._setDefault(\"smallNumberThreshold\", 1.00);\n\n\t\tthis._setDefault(\"bigNumberPrefixes\", [\n\t\t\t{ \"number\": 1e+3, \"suffix\": this._root.language.translate(\"_big_number_suffix_3\") },\n\t\t\t{ \"number\": 1e+6, \"suffix\": this._root.language.translate(\"_big_number_suffix_6\") },\n\t\t\t{ \"number\": 1e+9, \"suffix\": this._root.language.translate(\"_big_number_suffix_9\") },\n\t\t\t{ \"number\": 1e+12, \"suffix\": this._root.language.translate(\"_big_number_suffix_12\") },\n\t\t\t{ \"number\": 1e+15, \"suffix\": this._root.language.translate(\"_big_number_suffix_15\") },\n\t\t\t{ \"number\": 1e+18, \"suffix\": this._root.language.translate(\"_big_number_suffix_18\") },\n\t\t\t{ \"number\": 1e+21, \"suffix\": this._root.language.translate(\"_big_number_suffix_21\") },\n\t\t\t{ \"number\": 1e+24, \"suffix\": this._root.language.translate(\"_big_number_suffix_24\") }\n\t\t]);\n\n\t\tthis._setDefault(\"smallNumberPrefixes\", [\n\t\t\t{ \"number\": 1e-24, \"suffix\": this._root.language.translate(\"_small_number_suffix_24\") },\n\t\t\t{ \"number\": 1e-21, \"suffix\": this._root.language.translate(\"_small_number_suffix_21\") },\n\t\t\t{ \"number\": 1e-18, \"suffix\": this._root.language.translate(\"_small_number_suffix_18\") },\n\t\t\t{ \"number\": 1e-15, \"suffix\": this._root.language.translate(\"_small_number_suffix_15\") },\n\t\t\t{ \"number\": 1e-12, \"suffix\": this._root.language.translate(\"_small_number_suffix_12\") },\n\t\t\t{ \"number\": 1e-9, \"suffix\": this._root.language.translate(\"_small_number_suffix_9\") },\n\t\t\t{ \"number\": 1e-6, \"suffix\": this._root.language.translate(\"_small_number_suffix_6\") },\n\t\t\t{ \"number\": 1e-3, \"suffix\": this._root.language.translate(\"_small_number_suffix_3\") }\n\t\t]);\n\n\t\tthis._setDefault(\"bytePrefixes\", [\n\t\t\t{ \"number\": 1, suffix: this._root.language.translate(\"_byte_suffix_B\") },\n\t\t\t{ \"number\": 1024, suffix: this._root.language.translate(\"_byte_suffix_KB\") },\n\t\t\t{ \"number\": 1048576, suffix: this._root.language.translate(\"_byte_suffix_MB\") },\n\t\t\t{ \"number\": 1073741824, suffix: this._root.language.translate(\"_byte_suffix_GB\") },\n\t\t\t{ \"number\": 1099511627776, suffix: this._root.language.translate(\"_byte_suffix_TB\") },\n\t\t\t{ \"number\": 1125899906842624, suffix: this._root.language.translate(\"_byte_suffix_PB\") }\n\t\t]);\n\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\t}\n\n\t/**\n\t * Formats the number according to specific format.\n\t *\n\t * @param value Value to format\n\t * @param format Format to apply\n\t * @return Formatted number\n\t */\n\tpublic format(value: number | string, format?: string | Intl.NumberFormatOptions, precision?: number): string {\n\n\t\t// no format passed in or \"Number\"\n\t\tif (format == null || ($type.isString(format) && format.toLowerCase() === \"number\")) {\n\t\t\tformat = this.get(\"numberFormat\", \"\");\n\t\t}\n\n\t\t// Init return value\n\t\tlet formatted;\n\n\t\t// Cast to number just in case\n\t\t// TODO: maybe use better casting\n\t\tlet source: number = Number(value);\n\n\t\t// Is it a built-in format or Intl.NumberFormatOptions\n\t\tif ($type.isObject(format)) {\n\t\t\ttry {\n\t\t\t\tif (this.get(\"intlLocales\")) {\n\t\t\t\t\treturn new Intl.NumberFormat(this.get(\"intlLocales\"), <Intl.NumberFormatOptions>format).format(source);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn new Intl.NumberFormat(undefined, <Intl.NumberFormatOptions>format).format(source);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn \"Invalid\";\n\t\t\t}\n\n\t\t}\n\t\telse {\n\n\t\t\t// Clean format\n\t\t\tformat = $utils.cleanFormat(format!);\n\n\t\t\t// Get format info (it will also deal with parser caching)\n\t\t\tlet info = this.parseFormat(format, this._root.language);\n\n\n\t\t\t// format and replace the number\n\t\t\tlet details;\n\t\t\tif (source > this.get(\"negativeBase\")) {\n\t\t\t\tdetails = info.positive;\n\t\t\t}\n\t\t\telse if (source < this.get(\"negativeBase\")) {\n\t\t\t\tdetails = info.negative;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdetails = info.zero;\n\t\t\t}\n\n\t\t\t// Adjust precision\n\t\t\tif (precision != null && !details.mod) {\n\t\t\t\tdetails = $object.copy(details);\n\t\t\t\tdetails.decimals.active = source == 0 ? 0 : precision;\n\t\t\t}\n\n\t\t\t// Format\n\t\t\tformatted = details.template.split($type.PLACEHOLDER).join(this.applyFormat(source, details));\n\n\t\t}\n\n\t\treturn formatted;\n\t}\n\n\t/**\n\t * Parses supplied format into structured object which can be used to format\n\t * the number.\n\t *\n\t * @param format Format string, i.e. \"#,###.00\"\n\t * @param language Language\n\t * @ignore\n\t */\n\tprotected parseFormat(format: string, language: Language): any {\n\n\t\t// Check cache\n\t\t// TODO\n\t\t// let cached = this.getCache(format);\n\t\t// if (cached != null) {\n\t\t// \treturn cached;\n\t\t// }\n\n\t\t// init format parse info holder\n\t\tlet info: any = {\n\t\t\t\"positive\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_thousandSeparator\")\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_decimalSeparator\")\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t},\n\t\t\t\"negative\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_thousandSeparator\")\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_decimalSeparator\")\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t},\n\t\t\t\"zero\": {\n\t\t\t\t\"thousands\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"interval\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_thousandSeparator\")\n\t\t\t\t},\n\t\t\t\t\"decimals\": {\n\t\t\t\t\t\"active\": -1,\n\t\t\t\t\t\"passive\": -1,\n\t\t\t\t\t\"separator\": language.translateEmpty(\"_decimalSeparator\")\n\t\t\t\t},\n\t\t\t\t\"template\": \"\",\n\t\t\t\t\"source\": \"\",\n\t\t\t\t\"parsed\": false\n\t\t\t}\n\t\t};\n\n\t\t// Escape double vertical bars (that mean display one vertical bar)\n\t\tformat = format.replace(\"||\", $type.PLACEHOLDER2);\n\n\t\t// Split it up and deal with different formats\n\t\tlet parts = format.split(\"|\");\n\t\tinfo.positive.source = parts[0];\n\n\t\tif (typeof parts[2] === \"undefined\") {\n\t\t\tinfo.zero = info.positive;\n\t\t}\n\t\telse {\n\t\t\tinfo.zero.source = parts[2];\n\t\t}\n\n\t\tif (typeof parts[1] === \"undefined\") {\n\t\t\tinfo.negative = info.positive;\n\t\t}\n\t\telse {\n\t\t\tinfo.negative.source = parts[1];\n\t\t}\n\n\t\t// Parse each\n\t\t$object.each(info, (_part, item) => {\n\t\t\t// Already parsed\n\t\t\tif (item.parsed) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Check cached\n\t\t\t// TODO\n\t\t\t// if (typeof this.getCache(item.source) !== \"undefined\") {\n\t\t\t// \tinfo[part] = this.getCache(item.source);\n\t\t\t// \treturn;\n\t\t\t// }\n\n\t\t\t// Begin parsing\n\t\t\tlet partFormat = item.source;\n\n\t\t\t// Just \"Number\"?\n\t\t\tif (partFormat.toLowerCase() === \"number\") {\n\t\t\t\tpartFormat = this.get(\"numberFormat\", \"#,###.#####\");\n\t\t\t}\n\n\t\t\t// Let TextFormatter split into chunks\n\t\t\tlet chunks = TextFormatter.chunk(partFormat, true);\n\t\t\tfor (let i: number = 0; i < chunks.length; i++) {\n\t\t\t\tlet chunk = chunks[i];\n\n\t\t\t\t// replace back double vertical bar\n\t\t\t\tchunk.text = chunk.text.replace($type.PLACEHOLDER2, \"|\");\n\n\t\t\t\tif (chunk.type === \"value\") {\n\t\t\t\t\t// Parse format\n\n\t\t\t\t\t// Look for codes\n\t\t\t\t\tlet matches: string[] | null = chunk.text.match(/[#0.,]+[ ]?[abesABES%!]?[abesABES‰!]?/);\n\n\t\t\t\t\tif (matches) {\n\t\t\t\t\t\tif (matches === null || matches[0] === \"\") {\n\t\t\t\t\t\t\t// no codes here - assume string\n\t\t\t\t\t\t\t// nothing to do here\n\t\t\t\t\t\t\titem.template += chunk.text;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\n\t\t\t\t\t\t\t// look for the format modifiers at the end\n\t\t\t\t\t\t\tlet mods: string[] | null = matches[0].match(/[abesABES%‰!]{2}|[abesABES%‰]{1}$/);\n\n\t\t\t\t\t\t\tif (mods) {\n\t\t\t\t\t\t\t\titem.mod = mods[0].toLowerCase();\n\t\t\t\t\t\t\t\titem.modSpacing = matches[0].match(/[ ]{1}[abesABES%‰!]{1}$/) ? true : false;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// break the format up\n\t\t\t\t\t\t\tlet a = matches[0].split(\".\");\n\n\t\t\t\t\t\t\t// Deal with thousands\n\t\t\t\t\t\t\tif (a[0] === \"\") {\n\t\t\t\t\t\t\t\t// No directives for thousands\n\t\t\t\t\t\t\t\t// Leave default settings (no formatting)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// Counts\n\t\t\t\t\t\t\t\titem.thousands.active = (a[0].match(/0/g) || []).length;\n\t\t\t\t\t\t\t\titem.thousands.passive = (a[0].match(/\\#/g) || []).length + item.thousands.active;\n\n\t\t\t\t\t\t\t\t// Separator interval\n\t\t\t\t\t\t\t\tlet b = a[0].split(\",\");\n\t\t\t\t\t\t\t\tif (b.length === 1) {\n\t\t\t\t\t\t\t\t\t// No thousands separators\n\t\t\t\t\t\t\t\t\t// Do nothing\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t// Use length fo the last chunk as thousands length\n\t\t\t\t\t\t\t\t\titem.thousands.interval = (b.pop() || \"\").length;\n\n\t\t\t\t\t\t\t\t\tif (item.thousands.interval === 0) {\n\t\t\t\t\t\t\t\t\t\titem.thousands.interval = -1;\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}\n\n\t\t\t\t\t\t\t// Deal with decimals\n\t\t\t\t\t\t\tif (typeof (a[1]) === \"undefined\") {\n\t\t\t\t\t\t\t\t// No directives for decimals\n\t\t\t\t\t\t\t\t// Leave at defaults (no formatting)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t// Counts\n\t\t\t\t\t\t\t\titem.decimals.active = (a[1].match(/0/g) || []).length;\n\t\t\t\t\t\t\t\titem.decimals.passive = (a[1].match(/\\#/g) || []).length + item.decimals.active;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Add special code to template\n\t\t\t\t\t\t\titem.template += chunk.text.split(matches[0]).join($type.PLACEHOLDER);\n\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t// Quoted string - take it as it is\n\t\t\t\t\titem.template += chunk.text;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Apply style formatting\n\t\t\t//item.template = getTextFormatter().format(item.template, this.outputFormat);\n\n\t\t\t// Save cache\n\t\t\t// TODO\n\t\t\t//this.setCache(item.source, item);\n\n\t\t\t// Mark this as parsed\n\t\t\titem.parsed = true;\n\n\t\t});\n\n\t\t// Save cache (the whole thing)\n\t\t// TODO\n\t\t//this.setCache(format, info);\n\n\t\treturn info;\n\t}\n\n\t/**\n\t * Applies parsed format to a numeric value.\n\t *\n\t * @param value Value\n\t * @param details Parsed format as returned by parseFormat()\n\t * @return Formatted number\n\t * @ignore\n\t */\n\tprotected applyFormat(value: number, details: any): string {\n\n\t\t// Use absolute values\n\t\tlet negative: boolean = value < 0;\n\t\tvalue = Math.abs(value);\n\n\t\t// Recalculate according to modifier\n\t\tlet prefix: string = \"\", suffix: string = \"\";\n\t\tlet mods: string[] = details.mod ? details.mod.split(\"\") : [];\n\t\tif (mods.indexOf(\"b\") !== -1) {\n\t\t\tlet a = this.applyPrefix(value, this.get(\"bytePrefixes\")!, mods.indexOf(\"!\") !== -1);\n\t\t\tvalue = a[0];\n\t\t\tprefix = a[1];\n\t\t\tsuffix = a[2];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"a\") !== -1) {\n\t\t\tlet a = this.applyPrefix(value, value < this.get(\"smallNumberThreshold\")! ? this.get(\"smallNumberPrefixes\")! : this.get(\"bigNumberPrefixes\")!, mods.indexOf(\"!\") !== -1);\n\t\t\tvalue = a[0];\n\t\t\tprefix = a[1];\n\t\t\tsuffix = a[2];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (mods.indexOf(\"%\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 2, 21);\n\t\t\tvalue *= 100;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tsuffix = \"%\";\n\t\t}\n\t\telse if (mods.indexOf(\"‰\") !== -1) {\n\t\t\tlet ol = Math.min(value.toString().length + 3, 21);\n\t\t\tvalue *= 1000;\n\t\t\tvalue = parseFloat(value.toPrecision(ol));\n\t\t\tsuffix = \"‰\";\n\t\t}\n\n\t\t// Round to passive\n\t\tif (mods.indexOf(\"e\") !== -1) {\n\t\t\t// convert the value to exponential\n\t\t\tlet exp: string[];\n\t\t\tif (details.decimals.passive >= 0) {\n\t\t\t\texp = value.toExponential(details.decimals.passive).split(\"e\");\n\t\t\t}\n\t\t\telse {\n\t\t\t\texp = value.toExponential().split(\"e\");\n\t\t\t}\n\t\t\tvalue = Number(exp[0]);\n\t\t\tsuffix = \"e\" + exp[1];\n\t\t\tif (details.modSpacing) {\n\t\t\t\tsuffix = \" \" + suffix;\n\t\t\t}\n\t\t}\n\t\telse if (details.decimals.passive === 0) {\n\t\t\tvalue = Math.round(value);\n\t\t}\n\t\telse if (details.decimals.passive > 0) {\n\t\t\tlet d: number = Math.pow(10, details.decimals.passive);\n\t\t\tvalue = Math.round(value * d) / d;\n\t\t}\n\n\t\t// Init return value\n\t\tlet res: string = \"\";\n\n\t\t// Calc integer and decimal parts\n\t\tlet a = $type.numberToString(value).split(\".\");\n\n\t\t// Format integers\n\t\tlet ints = a[0];\n\n\t\t// Pad integers to active length\n\t\tif (ints.length < details.thousands.active) {\n\t\t\tints = Array(details.thousands.active - ints.length + 1).join(\"0\") + ints;\n\t\t}\n\n\t\t// Insert thousands separators\n\t\tif (details.thousands.interval > 0) {\n\t\t\tlet ip: string[] = [];\n\t\t\tlet intsr: string = ints.split(\"\").reverse().join(\"\");\n\t\t\tfor (let i = 0, len = ints.length; i <= len; i += details.thousands.interval) {\n\t\t\t\tlet c: string = intsr.substr(i, details.thousands.interval).split(\"\").reverse().join(\"\");\n\t\t\t\tif (c !== \"\") {\n\t\t\t\t\tip.unshift(c);\n\t\t\t\t}\n\t\t\t}\n\t\t\tints = ip.join(details.thousands.separator);\n\t\t}\n\n\t\t// Add integers\n\t\tres += ints;\n\n\t\t// Add decimals\n\t\tif (a.length === 1) {\n\t\t\ta.push(\"\");\n\t\t}\n\t\tlet decs: string = a[1];\n\n\t\t// Fill zeros?\n\t\tif (decs.length < details.decimals.active) {\n\t\t\tdecs += Array(details.decimals.active - decs.length + 1).join(\"0\");\n\t\t}\n\n\t\tif (decs !== \"\") {\n\t\t\tres += details.decimals.separator + decs;\n\t\t}\n\n\t\t// Can't have empty return value\n\t\tif (res === \"\") {\n\t\t\tres = \"0\";\n\t\t}\n\n\t\t// Add minus sign back\n\t\tif (value !== 0 && negative && (mods.indexOf(\"s\") === -1)) {\n\t\t\tres = \"-\" + res;\n\t\t}\n\n\t\t// Add suffixes/prefixes\n\t\tif (prefix) {\n\t\t\tres = prefix + res;\n\t\t}\n\t\tif (suffix) {\n\t\t\tres += suffix;\n\t\t}\n\n\t\treturn res;\n\t}\n\n\n\tprotected applyPrefix(value: number, prefixes: any[], force: boolean = false): any[] {\n\t\tlet newvalue = value;\n\t\tlet prefix = \"\";\n\t\tlet suffix = \"\";\n\t\tlet applied = false;\n\t\tlet k = 1;\n\n\t\tfor (let i = 0, len = prefixes.length; i < len; i++) {\n\t\t\tif (prefixes[i].number <= value) {\n\t\t\t\tif (prefixes[i].number === 0) {\n\t\t\t\t\tnewvalue = 0;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewvalue = value / prefixes[i].number;\n\t\t\t\t\tk = prefixes[i].number;\n\t\t\t\t}\n\t\t\t\tprefix = prefixes[i].prefix;\n\t\t\t\tsuffix = prefixes[i].suffix;\n\t\t\t\tapplied = true;\n\t\t\t}\n\t\t}\n\n\n\t\tif (!applied && force && prefixes.length && value != 0) {\n\t\t\t// Prefix was not applied. Use the first prefix.\n\t\t\tnewvalue = value / prefixes[0].number;\n\t\t\tprefix = prefixes[0].prefix;\n\t\t\tsuffix = prefixes[0].suffix;\n\t\t\tapplied = true;\n\t\t}\n\n\t\tif (applied) {\n\t\t\tnewvalue = parseFloat(\n\t\t\t\tnewvalue.toPrecision(\n\t\t\t\t\tMath.min(k.toString().length + Math.floor(newvalue).toString().replace(/[^0-9]*/g, \"\").length, 21)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\treturn [newvalue, prefix, suffix];\n\t}\n\n\t/**\n\t * Replaces brackets with temporary placeholders.\n\t *\n\t * @ignore Exclude from docs\n\t * @param text Input text\n\t * @return Escaped text\n\t */\n\tpublic escape(text: string): string {\n\t\treturn text.replace(\"||\", $type.PLACEHOLDER2);\n\t}\n\n\t/**\n\t * Replaces placeholders back to brackets.\n\t *\n\t * @ignore Exclude from docs\n\t * @param text Escaped text\n\t * @return Unescaped text\n\t */\n\tpublic unescape(text: string): string {\n\t\treturn text.replace($type.PLACEHOLDER2, \"|\");\n\t}\n\n}\n"]}
@@ -54,7 +54,6 @@ function getTagValue(target, tagName, format) {
54
54
  // Check if maybe we should force a formatter on this value
55
55
  var dateFields = target.getDateFormatter().get("dateFields", []);
56
56
  var numericFields = target.getNumberFormatter().get("numericFields", []);
57
- var durationFields = target.getDurationFormatter().get("durationFields", []);
58
57
  if (dateFields.indexOf(matches[3]) !== -1) {
59
58
  parts.push({
60
59
  method: "formatDate",
@@ -67,12 +66,6 @@ function getTagValue(target, tagName, format) {
67
66
  params: []
68
67
  });
69
68
  }
70
- else if (durationFields.indexOf(matches[3]) !== -1) {
71
- parts.push({
72
- method: "formatDuration",
73
- params: []
74
- });
75
- }
76
69
  }
77
70
  else {
78
71
  // Method
@@ -179,13 +172,6 @@ function getTagValueFromObject(target, parts, object, format) {
179
172
  formatApplied = true;
180
173
  }
181
174
  break;
182
- case "formatDuration":
183
- var durationValue = $type.toNumber(current);
184
- if (durationValue != null) {
185
- current = target.getDurationFormatter().format(durationValue, format || part.params[0] || undefined, part.params[1] || undefined);
186
- formatApplied = true;
187
- }
188
- break;
189
175
  case "urlEncode":
190
176
  case "encodeURIComponent":
191
177
  current = encodeURIComponent(current);
@@ -227,9 +213,6 @@ function getTagValueFromObject(target, parts, object, format) {
227
213
  else if (formatterType === "date") {
228
214
  formatParts[0].method = "formatDate";
229
215
  }
230
- else if (formatterType === "duration") {
231
- formatParts[0].method = "formatDuration";
232
- }
233
216
  }
234
217
  // Apply format
235
218
  if (formatParts[0].method) {