@amcharts/amcharts5 5.17.0 → 5.17.2

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 (317) hide show
  1. package/.internal/charts/flow/ArcDiagram.d.ts +2 -2
  2. package/.internal/charts/flow/ArcDiagram.js.map +1 -1
  3. package/.internal/charts/flow/ChordNonRibbon.d.ts +1 -1
  4. package/.internal/charts/flow/ChordNonRibbon.js +1 -1
  5. package/.internal/charts/flow/ChordNonRibbon.js.map +1 -1
  6. package/.internal/charts/flow/SankeyLink.d.ts +1 -1
  7. package/.internal/charts/flow/SankeyLink.js.map +1 -1
  8. package/.internal/charts/funnel/FunnelSlice.d.ts +1 -1
  9. package/.internal/charts/funnel/FunnelSlice.js.map +1 -1
  10. package/.internal/charts/funnel/SlicedChart.d.ts +1 -1
  11. package/.internal/charts/funnel/SlicedChart.js +1 -1
  12. package/.internal/charts/funnel/SlicedChart.js.map +1 -1
  13. package/.internal/charts/hierarchy/ForceDirected.d.ts +2 -2
  14. package/.internal/charts/hierarchy/ForceDirected.js.map +1 -1
  15. package/.internal/charts/hierarchy/Hierarchy.d.ts +1 -1
  16. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  17. package/.internal/charts/hierarchy/Partition.d.ts +1 -1
  18. package/.internal/charts/hierarchy/Partition.js.map +1 -1
  19. package/.internal/charts/hierarchy/Treemap.d.ts +1 -2
  20. package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
  21. package/.internal/charts/hierarchy/Treemap.js.map +1 -1
  22. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts +3 -3
  23. package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -1
  24. package/.internal/charts/map/ClusteredPointSeries.d.ts +2 -2
  25. package/.internal/charts/map/ClusteredPointSeries.js.map +1 -1
  26. package/.internal/charts/map/MapChart.d.ts +2 -2
  27. package/.internal/charts/map/MapChart.js.map +1 -1
  28. package/.internal/charts/map/MapPointSeries.d.ts +3 -1
  29. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  30. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  31. package/.internal/charts/map/MapSankeySeries.d.ts +29 -0
  32. package/.internal/charts/map/MapSankeySeries.d.ts.map +1 -1
  33. package/.internal/charts/map/MapSankeySeries.js +126 -52
  34. package/.internal/charts/map/MapSankeySeries.js.map +1 -1
  35. package/.internal/charts/percent/PercentSeries.d.ts +2 -2
  36. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  37. package/.internal/charts/radar/RadarChart.d.ts +2 -2
  38. package/.internal/charts/radar/RadarChart.js.map +1 -1
  39. package/.internal/charts/radar/RadarLineSeries.d.ts +1 -1
  40. package/.internal/charts/radar/RadarLineSeries.js.map +1 -1
  41. package/.internal/charts/stock/StockChart.d.ts +3 -3
  42. package/.internal/charts/stock/StockChart.js +3 -3
  43. package/.internal/charts/stock/StockChart.js.map +1 -1
  44. package/.internal/charts/stock/StockPanel.d.ts +1 -1
  45. package/.internal/charts/stock/StockPanel.js.map +1 -1
  46. package/.internal/charts/stock/drawing/DrawingSeries.d.ts +1 -1
  47. package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
  48. package/.internal/charts/stock/drawing/LabelSeries.d.ts +1 -1
  49. package/.internal/charts/stock/drawing/LabelSeries.js.map +1 -1
  50. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.d.ts +1 -1
  51. package/.internal/charts/stock/indicators/ChaikinMoneyFlow.js.map +1 -1
  52. package/.internal/charts/stock/indicators/Indicator.d.ts +2 -2
  53. package/.internal/charts/stock/indicators/Indicator.js.map +1 -1
  54. package/.internal/charts/stock/toolbar/DateRangeSelector.d.ts +1 -1
  55. package/.internal/charts/stock/toolbar/DateRangeSelector.js.map +1 -1
  56. package/.internal/charts/stock/toolbar/DropdownList.d.ts +1 -1
  57. package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
  58. package/.internal/charts/stock/toolbar/DropdownListControl.d.ts +1 -1
  59. package/.internal/charts/stock/toolbar/DropdownListControl.js.map +1 -1
  60. package/.internal/charts/stock/toolbar/PeriodSelector.d.ts +1 -1
  61. package/.internal/charts/stock/toolbar/PeriodSelector.js.map +1 -1
  62. package/.internal/charts/stock/toolbar/StockControl.d.ts +2 -2
  63. package/.internal/charts/stock/toolbar/StockControl.js.map +1 -1
  64. package/.internal/charts/timeline/SerpentineChart.d.ts +3 -3
  65. package/.internal/charts/timeline/SerpentineChart.js.map +1 -1
  66. package/.internal/charts/timeline/SpiralChart.d.ts +3 -3
  67. package/.internal/charts/timeline/SpiralChart.js.map +1 -1
  68. package/.internal/charts/venn/Venn.d.ts +1 -1
  69. package/.internal/charts/venn/Venn.js.map +1 -1
  70. package/.internal/charts/wordcloud/WordCloud.d.ts +1 -1
  71. package/.internal/charts/wordcloud/WordCloud.js +1 -1
  72. package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
  73. package/.internal/charts/xy/XYChart.d.ts +1 -1
  74. package/.internal/charts/xy/XYChart.js.map +1 -1
  75. package/.internal/charts/xy/axes/Axis.d.ts +8 -8
  76. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  77. package/.internal/charts/xy/axes/AxisLabel.d.ts +1 -1
  78. package/.internal/charts/xy/axes/AxisLabel.js.map +1 -1
  79. package/.internal/charts/xy/axes/DateAxis.d.ts +1 -1
  80. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  81. package/.internal/charts/xy/series/BaseColumnSeries.d.ts +1 -1
  82. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  83. package/.internal/charts/xy/series/ColumnSeries.d.ts +1 -1
  84. package/.internal/charts/xy/series/ColumnSeries.js.map +1 -1
  85. package/.internal/charts/xy/series/XYSeries.d.ts +3 -3
  86. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  87. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  88. package/.internal/core/Registry.js +1 -1
  89. package/.internal/core/Registry.js.map +1 -1
  90. package/.internal/core/render/Bullet.d.ts +2 -3
  91. package/.internal/core/render/Bullet.d.ts.map +1 -1
  92. package/.internal/core/render/Bullet.js.map +1 -1
  93. package/.internal/core/render/Container.d.ts +5 -1
  94. package/.internal/core/render/Container.d.ts.map +1 -1
  95. package/.internal/core/render/Container.js.map +1 -1
  96. package/.internal/core/render/Graphics.d.ts +3 -1
  97. package/.internal/core/render/Graphics.d.ts.map +1 -1
  98. package/.internal/core/render/Graphics.js.map +1 -1
  99. package/.internal/core/render/HeatLegend.d.ts +1 -1
  100. package/.internal/core/render/HeatLegend.js.map +1 -1
  101. package/.internal/core/render/Label.d.ts +5 -3
  102. package/.internal/core/render/Label.d.ts.map +1 -1
  103. package/.internal/core/render/Label.js.map +1 -1
  104. package/.internal/core/render/Legend.d.ts +3 -0
  105. package/.internal/core/render/Legend.d.ts.map +1 -1
  106. package/.internal/core/render/Legend.js.map +1 -1
  107. package/.internal/core/render/PointedRectangle.d.ts +2 -2
  108. package/.internal/core/render/PointedRectangle.js.map +1 -1
  109. package/.internal/core/render/Polygon.d.ts +1 -1
  110. package/.internal/core/render/Polygon.js.map +1 -1
  111. package/.internal/core/render/RadialLabel.d.ts +3 -3
  112. package/.internal/core/render/RadialLabel.js.map +1 -1
  113. package/.internal/core/render/RoundedRectangle.d.ts +1 -1
  114. package/.internal/core/render/RoundedRectangle.js.map +1 -1
  115. package/.internal/core/render/Sprite.d.ts +28 -8
  116. package/.internal/core/render/Sprite.d.ts.map +1 -1
  117. package/.internal/core/render/Sprite.js.map +1 -1
  118. package/.internal/core/render/Tooltip.d.ts +5 -4
  119. package/.internal/core/render/Tooltip.d.ts.map +1 -1
  120. package/.internal/core/render/Tooltip.js.map +1 -1
  121. package/.internal/core/render/ZoomableContainer.d.ts +1 -1
  122. package/.internal/core/render/ZoomableContainer.js.map +1 -1
  123. package/.internal/core/render/patterns/CirclePattern.d.ts +2 -2
  124. package/.internal/core/render/patterns/CirclePattern.js.map +1 -1
  125. package/.internal/core/render/patterns/GrainPattern.d.ts +1 -1
  126. package/.internal/core/render/patterns/GrainPattern.js.map +1 -1
  127. package/.internal/core/render/patterns/LinePattern.d.ts +2 -2
  128. package/.internal/core/render/patterns/LinePattern.js.map +1 -1
  129. package/.internal/core/render/patterns/Pattern.d.ts +6 -2
  130. package/.internal/core/render/patterns/Pattern.d.ts.map +1 -1
  131. package/.internal/core/render/patterns/Pattern.js.map +1 -1
  132. package/.internal/core/render/patterns/PicturePattern.d.ts +1 -1
  133. package/.internal/core/render/patterns/PicturePattern.js.map +1 -1
  134. package/.internal/core/util/ColorSet.d.ts +4 -3
  135. package/.internal/core/util/ColorSet.d.ts.map +1 -1
  136. package/.internal/core/util/ColorSet.js.map +1 -1
  137. package/.internal/core/util/DateFormatter.d.ts +1 -0
  138. package/.internal/core/util/DateFormatter.d.ts.map +1 -1
  139. package/.internal/core/util/DateFormatter.js.map +1 -1
  140. package/.internal/core/util/Entity.d.ts +4 -0
  141. package/.internal/core/util/Entity.d.ts.map +1 -1
  142. package/.internal/core/util/Entity.js.map +1 -1
  143. package/.internal/core/util/NumberFormatter.d.ts +2 -3
  144. package/.internal/core/util/NumberFormatter.d.ts.map +1 -1
  145. package/.internal/core/util/NumberFormatter.js.map +1 -1
  146. package/.internal/plugins/exporting/Annotator.d.ts +1 -1
  147. package/.internal/plugins/exporting/Annotator.js.map +1 -1
  148. package/.internal/plugins/exporting/Exporting.d.ts +2 -2
  149. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  150. package/.internal/plugins/exporting/ExportingMenu.d.ts +1 -1
  151. package/.internal/plugins/exporting/ExportingMenu.js.map +1 -1
  152. package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts +1 -1
  153. package/.internal/plugins/sliceGrouper/SliceGrouper.js.map +1 -1
  154. package/CHANGELOG.md +12 -0
  155. package/examples/javascript/flow-arc-horizontal/package.json +1 -1
  156. package/examples/javascript/flow-arc-vertical/package.json +1 -1
  157. package/examples/javascript/flow-chord/package.json +1 -1
  158. package/examples/javascript/flow-chord-directed/package.json +1 -1
  159. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  160. package/examples/javascript/flow-sankey/package.json +1 -1
  161. package/examples/javascript/gantt/package.json +1 -1
  162. package/examples/javascript/gantt-multilevel/package.json +1 -1
  163. package/examples/javascript/gantt-simple/package.json +1 -1
  164. package/examples/javascript/gauge/package.json +1 -1
  165. package/examples/javascript/gauge-bands/package.json +1 -1
  166. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  167. package/examples/javascript/hierarchy-pack/package.json +1 -1
  168. package/examples/javascript/hierarchy-partition/package.json +1 -1
  169. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  170. package/examples/javascript/hierarchy-tree/package.json +1 -1
  171. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  172. package/examples/javascript/hierarchy-voronoi-treemap/package.json +1 -1
  173. package/examples/javascript/jest/package.json +1 -1
  174. package/examples/javascript/json-pie/package.json +1 -1
  175. package/examples/javascript/json-xy/package.json +1 -1
  176. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  177. package/examples/javascript/map-clustered-points/package.json +1 -1
  178. package/examples/javascript/map-day-and-night/package.json +1 -1
  179. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  180. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  181. package/examples/javascript/map-sankey/index.js +48 -55
  182. package/examples/javascript/map-sankey/package.json +1 -1
  183. package/examples/javascript/map-sankey-waypoints/package.json +1 -1
  184. package/examples/javascript/map-with-bubbles/package.json +1 -1
  185. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  186. package/examples/javascript/misc-40-charts/package.json +1 -1
  187. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  188. package/examples/javascript/pie-chart/package.json +1 -1
  189. package/examples/javascript/pie-donut-chart/package.json +1 -1
  190. package/examples/javascript/pie-variable-radius/package.json +1 -1
  191. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  192. package/examples/javascript/radar-heat-map/package.json +1 -1
  193. package/examples/javascript/radar-line/package.json +1 -1
  194. package/examples/javascript/radar-time-line/package.json +1 -1
  195. package/examples/javascript/sliced-funnel/package.json +1 -1
  196. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  197. package/examples/javascript/sliced-pyramid/package.json +1 -1
  198. package/examples/javascript/stock-chart/package.json +1 -1
  199. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  200. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  201. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  202. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  203. package/examples/javascript/stock-chart-live/package.json +1 -1
  204. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  205. package/examples/javascript/timeline-horizontal-serpentine-chart/package.json +1 -1
  206. package/examples/javascript/timeline-linear-process-diagram/package.json +1 -1
  207. package/examples/javascript/timeline-serpentine-chart/package.json +1 -1
  208. package/examples/javascript/timeline-spiral-chart/package.json +1 -1
  209. package/examples/javascript/venn-diagram/package.json +1 -1
  210. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  211. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  212. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  213. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  214. package/examples/javascript/xy-bubble/package.json +1 -1
  215. package/examples/javascript/xy-candlestick/package.json +1 -1
  216. package/examples/javascript/xy-clustered-column/package.json +1 -1
  217. package/examples/javascript/xy-column/package.json +1 -1
  218. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  219. package/examples/javascript/xy-data-grouping/package.json +1 -1
  220. package/examples/javascript/xy-draggable-range/package.json +1 -1
  221. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  222. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  223. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  224. package/examples/javascript/xy-line/package.json +1 -1
  225. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  226. package/examples/javascript/xy-live-data/package.json +1 -1
  227. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  228. package/examples/javascript/xy-ohlc/package.json +1 -1
  229. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  230. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  231. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  232. package/examples/javascript/xy-stacked-column/package.json +1 -1
  233. package/examples/javascript/xy-stacked-step/package.json +1 -1
  234. package/examples/javascript/xy-stock/package.json +1 -1
  235. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  236. package/examples/typescript/flow-arc-horizontal/package.json +1 -1
  237. package/examples/typescript/flow-arc-vertical/package.json +1 -1
  238. package/examples/typescript/flow-chord/package.json +1 -1
  239. package/examples/typescript/flow-chord-directed/package.json +1 -1
  240. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  241. package/examples/typescript/flow-sankey/package.json +1 -1
  242. package/examples/typescript/gantt/package.json +1 -1
  243. package/examples/typescript/gantt-multilevel/package.json +1 -1
  244. package/examples/typescript/gantt-simple/package.json +1 -1
  245. package/examples/typescript/gauge/package.json +1 -1
  246. package/examples/typescript/gauge-bands/package.json +1 -1
  247. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  248. package/examples/typescript/hierarchy-pack/package.json +1 -1
  249. package/examples/typescript/hierarchy-partition/package.json +1 -1
  250. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  251. package/examples/typescript/hierarchy-tree/package.json +1 -1
  252. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  253. package/examples/typescript/hierarchy-voronoi-treemap/package.json +1 -1
  254. package/examples/typescript/jest/package.json +1 -1
  255. package/examples/typescript/json-pie/package.json +1 -1
  256. package/examples/typescript/json-xy/package.json +1 -1
  257. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  258. package/examples/typescript/map-clustered-points/package.json +1 -1
  259. package/examples/typescript/map-day-and-night/package.json +1 -1
  260. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  261. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  262. package/examples/typescript/map-sankey/index.ts +48 -55
  263. package/examples/typescript/map-sankey/package.json +1 -1
  264. package/examples/typescript/map-sankey-waypoints/package.json +1 -1
  265. package/examples/typescript/map-with-bubbles/package.json +1 -1
  266. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  267. package/examples/typescript/misc-40-charts/package.json +1 -1
  268. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  269. package/examples/typescript/pie-chart/package.json +1 -1
  270. package/examples/typescript/pie-donut-chart/package.json +1 -1
  271. package/examples/typescript/pie-variable-radius/package.json +1 -1
  272. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  273. package/examples/typescript/radar-heat-map/package.json +1 -1
  274. package/examples/typescript/radar-line/package.json +1 -1
  275. package/examples/typescript/radar-time-line/package.json +1 -1
  276. package/examples/typescript/sliced-funnel/package.json +1 -1
  277. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  278. package/examples/typescript/sliced-pyramid/package.json +1 -1
  279. package/examples/typescript/stock-chart/package.json +1 -1
  280. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  281. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  282. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  283. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  284. package/examples/typescript/stock-chart-live/package.json +1 -1
  285. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  286. package/examples/typescript/timeline-horizontal-serpentine-chart/package.json +1 -1
  287. package/examples/typescript/timeline-linear-process-diagram/package.json +1 -1
  288. package/examples/typescript/timeline-serpentine-chart/package.json +1 -1
  289. package/examples/typescript/timeline-spiral-chart/package.json +1 -1
  290. package/examples/typescript/venn-diagram/package.json +1 -1
  291. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  292. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  293. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  294. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  295. package/examples/typescript/xy-bubble/package.json +1 -1
  296. package/examples/typescript/xy-candlestick/package.json +1 -1
  297. package/examples/typescript/xy-clustered-column/package.json +1 -1
  298. package/examples/typescript/xy-column/package.json +1 -1
  299. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  300. package/examples/typescript/xy-data-grouping/package.json +1 -1
  301. package/examples/typescript/xy-draggable-range/package.json +1 -1
  302. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  303. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  304. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  305. package/examples/typescript/xy-line/package.json +1 -1
  306. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  307. package/examples/typescript/xy-live-data/package.json +1 -1
  308. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  309. package/examples/typescript/xy-ohlc/package.json +1 -1
  310. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  311. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  312. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  313. package/examples/typescript/xy-stacked-column/package.json +1 -1
  314. package/examples/typescript/xy-stacked-step/package.json +1 -1
  315. package/examples/typescript/xy-stock/package.json +1 -1
  316. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  317. package/package.json +1 -1
@@ -32,8 +32,8 @@ export interface IArcDiagramSettings extends IFlowSettings {
32
32
  */
33
33
  minRadius?: number;
34
34
  /**
35
- * Defines Which value should be used when calculating circle radius. Use "none" if you want all circles to be the same.
36
- * @martynas: gal cia reik naudot radiusField, biski no idea.
35
+ * Defines which value should be used when calculating circle radius. Use "none" if you want all circles to be the same.
36
+ *
37
37
  * @default "sum"
38
38
  */
39
39
  radiusKey?: "sum" | "sumIncoming" | "sumOutgoing" | "none";
@@ -1 +1 @@
1
- {"version":3,"file":"ArcDiagram.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/ArcDiagram.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\r\n\r\nimport { Flow, IFlowSettings, IFlowDataItem, IFlowPrivate, IFlowEvents } from \"./Flow\";\r\nimport { Template } from \"../../core/util/Template\";\r\nimport { ListTemplate } from \"../../core/util/List\";\r\nimport { ArcDiagramNodes, IArcDiagramNodesDataItem } from \"./ArcDiagramNodes\";\r\nimport { ArcDiagramLink } from \"./ArcDiagramLink\";\r\nimport type { Easing } from \"../../core/util/Ease\";\r\n\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $array from \"../../core/util/Array\";\r\n\r\n\r\n\r\nexport interface IArcDiagramDataItem extends IFlowDataItem {\r\n\r\n\t/**\r\n\t * A link element.\r\n\t */\r\n\tlink: ArcDiagramLink;\r\n\r\n\t/**\r\n\t * Source node data item.\r\n\t */\r\n\tsource: DataItem<IArcDiagramNodesDataItem>;\r\n\r\n\t/**\r\n\t * Target node data item.\r\n\t */\r\n\ttarget: DataItem<IArcDiagramNodesDataItem>;\r\n\r\n}\r\n\r\nexport interface IArcDiagramSettings extends IFlowSettings {\r\n\t/**\r\n\t * Orientation of the series. This setting can not be changed after the chart is initialized.\r\n\t *\r\n\t * @default \"horizontal\"\r\n\t */\r\n\torientation: \"horizontal\" | \"vertical\";\r\n\r\n\t/**\r\n\t * Minimum radius of a nodes circle.\r\n\t * Maximum radius is computed based on available space\r\n\t * @default 5\r\n\t */\r\n\tminRadius?: number;\r\n\r\n\t/**\r\n\t * Defines Which value should be used when calculating circle radius. Use \"none\" if you want all circles to be the same.\r\n\t * @martynas: gal cia reik naudot radiusField, biski no idea.\r\n\t * @default \"sum\"\r\n\t */\r\n\tradiusKey?: \"sum\" | \"sumIncoming\" | \"sumOutgoing\" | \"none\";\r\n\r\n\t/**\r\n\t * Duration for all drill animations in milliseconds.\r\n\t */\r\n\tanimationDuration?: number;\r\n\r\n\t/**\r\n\t * An easing function to use for drill animations.\r\n\t */\r\n\tanimationEasing?: Easing;\r\n}\r\n\r\nexport interface IArcDiagramPrivate extends IFlowPrivate {\r\n}\r\n\r\nexport interface IArcDiagramEvents extends IFlowEvents {\r\n}\r\n\r\n/**\r\n * Regular ArcDiagram series.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more information\r\n * @important\r\n */\r\nexport class ArcDiagram extends Flow {\r\n\r\n\tpublic static className: string = \"ArcDiagram\";\r\n\tpublic static classNames: Array<string> = Flow.classNames.concat([ArcDiagram.className]);\r\n\r\n\t/**\r\n\t * List of link elements.\r\n\t *\r\n\t * @default new ListTemplate<ArcDiagramLink>\r\n\t */\r\n\tpublic readonly links: ListTemplate<ArcDiagramLink> = this.addDisposer(new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => ArcDiagramLink._new(this._root, { themeTags: [\"link\", \"shape\"] }, [this.links.template])\r\n\t));\r\n\r\n\t/**\r\n\t * A series for all ArcDiagram nodes.\r\n\t *\r\n\t * @default ArcDiagramNodes.new()\r\n\t */\r\n\tpublic readonly nodes: ArcDiagramNodes = this.children.push(ArcDiagramNodes.new(this._root, {}));\r\n\r\n\tdeclare public _settings: IArcDiagramSettings;\r\n\tdeclare public _privateSettings: IArcDiagramPrivate;\r\n\tdeclare public _dataItemSettings: IArcDiagramDataItem;\r\n\tdeclare public _events: IArcDiagramEvents;\r\n\r\n\tprotected _afterNew() {\r\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"arcdiagram\", this._settings.orientation || \"horizontal\"]);\r\n\r\n\t\tsuper._afterNew();\r\n\t\tthis.nodes.children.push(this.bulletsContainer);\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeLink(dataItem: DataItem<this[\"_dataItemSettings\"]>): ArcDiagramLink {\r\n\t\tconst link = this.nodes.children.moveValue(this.links.make(), 0);\r\n\t\tthis.links.push(link);\r\n\t\tlink._setDataItem(dataItem);\r\n\t\tlink.set(\"source\", dataItem.get(\"source\"));\r\n\t\tlink.set(\"target\", dataItem.get(\"target\"));\r\n\t\tlink.series = this;\r\n\t\treturn link;\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tif (this._valuesDirty || this._sizeDirty || this.isDirty(\"orientation\")) {\r\n\t\t\tlet width = 1;\r\n\t\t\tconst orientation = this.get(\"orientation\");\r\n\r\n\t\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\t\tconst link = dataItem.get(\"link\");\r\n\t\t\t\tlink.setPrivate(\"orientation\", this.get(\"orientation\"));\r\n\t\t\t})\r\n\r\n\t\t\tif (orientation == \"vertical\") {\r\n\t\t\t\twidth = this.innerHeight();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\twidth = this.innerWidth();\r\n\t\t\t}\r\n\r\n\t\t\tlet sum = 0;\r\n\t\t\tlet low = Infinity;\r\n\t\t\tlet radiusKey = this.get(\"radiusKey\");\r\n\r\n\t\t\tif (radiusKey != \"none\") {\r\n\t\t\t\t$array.each(this.nodes.dataItems, (dataItem) => {\r\n\t\t\t\t\tlet value = dataItem.get(radiusKey + \"Working\" as any);\r\n\t\t\t\t\tsum += value;\r\n\t\t\t\t\tlow = Math.min(low, value);\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tconst count = this.nodes.dataItems.length;\r\n\t\t\tconst nodePadding = this.get(\"nodePadding\", 10);\r\n\t\t\tconst minRadius = this.get(\"minRadius\", 5);\r\n\r\n\t\t\twidth = width - count * (nodePadding + minRadius * 2);\r\n\r\n\t\t\tif (width <= 0) {\r\n\t\t\t\twidth = 0;\r\n\t\t\t}\r\n\r\n\t\t\tlet sumNoLow = sum - count * low;\r\n\t\t\tlet c = width / sumNoLow;\r\n\r\n\t\t\tlet prevCoord = 0;\r\n\t\t\tconst animationDuration = this.get(\"animationDuration\", 0);\r\n\t\t\tconst animationEasing = this.get(\"animationEasing\");\r\n\r\n\t\t\t$array.each(this.nodes.dataItems, (dataItem) => {\r\n\t\t\t\tlet value = dataItem.get(radiusKey + \"Working\" as any);\r\n\r\n\t\t\t\tconst node = dataItem.get(\"node\");\r\n\t\t\t\tlet radius = minRadius + c * (value - low) / 2;\r\n\r\n\t\t\t\tif (radiusKey == \"none\") {\r\n\t\t\t\t\tradius = minRadius + width / count / 2;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (orientation == \"vertical\") {\r\n\t\t\t\t\tnode.set(\"x\", 0);\r\n\r\n\t\t\t\t\tconst y = prevCoord + nodePadding + radius;\r\n\t\t\t\t\tif (node.y() == 0) {\r\n\t\t\t\t\t\tnode.set(\"y\", y);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tnode.animate({ key: \"y\", to: y, duration: animationDuration, easing: animationEasing });\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tnode.set(\"y\", 0);\r\n\t\t\t\t\tconst x = prevCoord + nodePadding + radius;\r\n\t\t\t\t\tif (node.x() == 0) {\r\n\t\t\t\t\t\tnode.set(\"x\", x);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tnode.animate({ key: \"x\", to: x, duration: animationDuration, easing: animationEasing });\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tprevCoord = prevCoord + nodePadding + radius * 2;\r\n\t\t\t\tdataItem.get(\"circle\").set(\"radius\", radius);\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateLinkColor(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tsuper._updateLinkColor(dataItem);\r\n\t\tconst orientation = this.get(\"orientation\");\r\n\t\tconst fillGradient = dataItem.get(\"link\")._fillGradient;\r\n\t\tconst strokeGradient = dataItem.get(\"link\")._strokeGradient;\r\n\r\n\t\tif (orientation == \"vertical\") {\r\n\t\t\tif (fillGradient) {\r\n\t\t\t\tfillGradient.set(\"rotation\", 90);\r\n\t\t\t}\r\n\t\t\tif (strokeGradient) {\r\n\t\t\t\tstrokeGradient.set(\"rotation\", 90);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (fillGradient) {\r\n\t\t\t\tfillGradient.set(\"rotation\", 0);\r\n\t\t\t}\r\n\t\t\tif (strokeGradient) {\r\n\t\t\t\tstrokeGradient.set(\"rotation\", 0);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n"]}
1
+ {"version":3,"file":"ArcDiagram.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/ArcDiagram.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\r\n\r\nimport { Flow, IFlowSettings, IFlowDataItem, IFlowPrivate, IFlowEvents } from \"./Flow\";\r\nimport { Template } from \"../../core/util/Template\";\r\nimport { ListTemplate } from \"../../core/util/List\";\r\nimport { ArcDiagramNodes, IArcDiagramNodesDataItem } from \"./ArcDiagramNodes\";\r\nimport { ArcDiagramLink } from \"./ArcDiagramLink\";\r\nimport type { Easing } from \"../../core/util/Ease\";\r\n\r\nimport * as $utils from \"../../core/util/Utils\";\r\nimport * as $array from \"../../core/util/Array\";\r\n\r\n\r\n\r\nexport interface IArcDiagramDataItem extends IFlowDataItem {\r\n\r\n\t/**\r\n\t * A link element.\r\n\t */\r\n\tlink: ArcDiagramLink;\r\n\r\n\t/**\r\n\t * Source node data item.\r\n\t */\r\n\tsource: DataItem<IArcDiagramNodesDataItem>;\r\n\r\n\t/**\r\n\t * Target node data item.\r\n\t */\r\n\ttarget: DataItem<IArcDiagramNodesDataItem>;\r\n\r\n}\r\n\r\nexport interface IArcDiagramSettings extends IFlowSettings {\r\n\t/**\r\n\t * Orientation of the series. This setting can not be changed after the chart is initialized.\r\n\t *\r\n\t * @default \"horizontal\"\r\n\t */\r\n\torientation: \"horizontal\" | \"vertical\";\r\n\r\n\t/**\r\n\t * Minimum radius of a nodes circle.\r\n\t * Maximum radius is computed based on available space\r\n\t * @default 5\r\n\t */\r\n\tminRadius?: number;\r\n\r\n\t/**\r\n\t * Defines which value should be used when calculating circle radius. Use \"none\" if you want all circles to be the same.\r\n\t *\r\n\t * @default \"sum\"\r\n\t */\r\n\tradiusKey?: \"sum\" | \"sumIncoming\" | \"sumOutgoing\" | \"none\";\r\n\r\n\t/**\r\n\t * Duration for all drill animations in milliseconds.\r\n\t */\r\n\tanimationDuration?: number;\r\n\r\n\t/**\r\n\t * An easing function to use for drill animations.\r\n\t */\r\n\tanimationEasing?: Easing;\r\n}\r\n\r\nexport interface IArcDiagramPrivate extends IFlowPrivate {\r\n}\r\n\r\nexport interface IArcDiagramEvents extends IFlowEvents {\r\n}\r\n\r\n/**\r\n * Regular ArcDiagram series.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more information\r\n * @important\r\n */\r\nexport class ArcDiagram extends Flow {\r\n\r\n\tpublic static className: string = \"ArcDiagram\";\r\n\tpublic static classNames: Array<string> = Flow.classNames.concat([ArcDiagram.className]);\r\n\r\n\t/**\r\n\t * List of link elements.\r\n\t *\r\n\t * @default new ListTemplate<ArcDiagramLink>\r\n\t */\r\n\tpublic readonly links: ListTemplate<ArcDiagramLink> = this.addDisposer(new ListTemplate(\r\n\t\tTemplate.new({}),\r\n\t\t() => ArcDiagramLink._new(this._root, { themeTags: [\"link\", \"shape\"] }, [this.links.template])\r\n\t));\r\n\r\n\t/**\r\n\t * A series for all ArcDiagram nodes.\r\n\t *\r\n\t * @default ArcDiagramNodes.new()\r\n\t */\r\n\tpublic readonly nodes: ArcDiagramNodes = this.children.push(ArcDiagramNodes.new(this._root, {}));\r\n\r\n\tdeclare public _settings: IArcDiagramSettings;\r\n\tdeclare public _privateSettings: IArcDiagramPrivate;\r\n\tdeclare public _dataItemSettings: IArcDiagramDataItem;\r\n\tdeclare public _events: IArcDiagramEvents;\r\n\r\n\tprotected _afterNew() {\r\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"arcdiagram\", this._settings.orientation || \"horizontal\"]);\r\n\r\n\t\tsuper._afterNew();\r\n\t\tthis.nodes.children.push(this.bulletsContainer);\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * @ignore\r\n\t */\r\n\tpublic makeLink(dataItem: DataItem<this[\"_dataItemSettings\"]>): ArcDiagramLink {\r\n\t\tconst link = this.nodes.children.moveValue(this.links.make(), 0);\r\n\t\tthis.links.push(link);\r\n\t\tlink._setDataItem(dataItem);\r\n\t\tlink.set(\"source\", dataItem.get(\"source\"));\r\n\t\tlink.set(\"target\", dataItem.get(\"target\"));\r\n\t\tlink.series = this;\r\n\t\treturn link;\r\n\t}\r\n\r\n\tpublic _prepareChildren() {\r\n\t\tsuper._prepareChildren();\r\n\r\n\t\tif (this._valuesDirty || this._sizeDirty || this.isDirty(\"orientation\")) {\r\n\t\t\tlet width = 1;\r\n\t\t\tconst orientation = this.get(\"orientation\");\r\n\r\n\t\t\t$array.each(this.dataItems, (dataItem) => {\r\n\t\t\t\tconst link = dataItem.get(\"link\");\r\n\t\t\t\tlink.setPrivate(\"orientation\", this.get(\"orientation\"));\r\n\t\t\t})\r\n\r\n\t\t\tif (orientation == \"vertical\") {\r\n\t\t\t\twidth = this.innerHeight();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\twidth = this.innerWidth();\r\n\t\t\t}\r\n\r\n\t\t\tlet sum = 0;\r\n\t\t\tlet low = Infinity;\r\n\t\t\tlet radiusKey = this.get(\"radiusKey\");\r\n\r\n\t\t\tif (radiusKey != \"none\") {\r\n\t\t\t\t$array.each(this.nodes.dataItems, (dataItem) => {\r\n\t\t\t\t\tlet value = dataItem.get(radiusKey + \"Working\" as any);\r\n\t\t\t\t\tsum += value;\r\n\t\t\t\t\tlow = Math.min(low, value);\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\tconst count = this.nodes.dataItems.length;\r\n\t\t\tconst nodePadding = this.get(\"nodePadding\", 10);\r\n\t\t\tconst minRadius = this.get(\"minRadius\", 5);\r\n\r\n\t\t\twidth = width - count * (nodePadding + minRadius * 2);\r\n\r\n\t\t\tif (width <= 0) {\r\n\t\t\t\twidth = 0;\r\n\t\t\t}\r\n\r\n\t\t\tlet sumNoLow = sum - count * low;\r\n\t\t\tlet c = width / sumNoLow;\r\n\r\n\t\t\tlet prevCoord = 0;\r\n\t\t\tconst animationDuration = this.get(\"animationDuration\", 0);\r\n\t\t\tconst animationEasing = this.get(\"animationEasing\");\r\n\r\n\t\t\t$array.each(this.nodes.dataItems, (dataItem) => {\r\n\t\t\t\tlet value = dataItem.get(radiusKey + \"Working\" as any);\r\n\r\n\t\t\t\tconst node = dataItem.get(\"node\");\r\n\t\t\t\tlet radius = minRadius + c * (value - low) / 2;\r\n\r\n\t\t\t\tif (radiusKey == \"none\") {\r\n\t\t\t\t\tradius = minRadius + width / count / 2;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (orientation == \"vertical\") {\r\n\t\t\t\t\tnode.set(\"x\", 0);\r\n\r\n\t\t\t\t\tconst y = prevCoord + nodePadding + radius;\r\n\t\t\t\t\tif (node.y() == 0) {\r\n\t\t\t\t\t\tnode.set(\"y\", y);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tnode.animate({ key: \"y\", to: y, duration: animationDuration, easing: animationEasing });\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tnode.set(\"y\", 0);\r\n\t\t\t\t\tconst x = prevCoord + nodePadding + radius;\r\n\t\t\t\t\tif (node.x() == 0) {\r\n\t\t\t\t\t\tnode.set(\"x\", x);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tnode.animate({ key: \"x\", to: x, duration: animationDuration, easing: animationEasing });\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tprevCoord = prevCoord + nodePadding + radius * 2;\r\n\t\t\t\tdataItem.get(\"circle\").set(\"radius\", radius);\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateLinkColor(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\r\n\t\tsuper._updateLinkColor(dataItem);\r\n\t\tconst orientation = this.get(\"orientation\");\r\n\t\tconst fillGradient = dataItem.get(\"link\")._fillGradient;\r\n\t\tconst strokeGradient = dataItem.get(\"link\")._strokeGradient;\r\n\r\n\t\tif (orientation == \"vertical\") {\r\n\t\t\tif (fillGradient) {\r\n\t\t\t\tfillGradient.set(\"rotation\", 90);\r\n\t\t\t}\r\n\t\t\tif (strokeGradient) {\r\n\t\t\t\tstrokeGradient.set(\"rotation\", 90);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (fillGradient) {\r\n\t\t\t\tfillGradient.set(\"rotation\", 0);\r\n\t\t\t}\r\n\t\t\tif (strokeGradient) {\r\n\t\t\t\tstrokeGradient.set(\"rotation\", 0);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n"]}
@@ -19,7 +19,7 @@ export interface IChordNonRibbonPrivate extends IChordPrivate {
19
19
  export interface IChordNonRibbonEvents extends IChordEvents {
20
20
  }
21
21
  /**
22
- * Chord series with think line links.
22
+ * Chord series with thin line links.
23
23
  *
24
24
  * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more information
25
25
  * @important
@@ -3,7 +3,7 @@ import * as $array from "../../core/util/Array";
3
3
  import * as $math from "../../core/util/Math";
4
4
  import * as $utils from "../../core/util/Utils";
5
5
  /**
6
- * Chord series with think line links.
6
+ * Chord series with thin line links.
7
7
  *
8
8
  * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more information
9
9
  * @important
@@ -1 +1 @@
1
- {"version":3,"file":"ChordNonRibbon.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/ChordNonRibbon.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ChordLink } from \"./ChordLink\";\nimport type { RibbonGenerator, RibbonSubgroup, Ribbon } from \"d3-chord\";\n\nimport { Chord, IChordSettings, IChordDataItem, IChordPrivate, IChordEvents } from \"./Chord\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IChordNonRibbonDataItem extends IChordDataItem {\n\n}\n\nexport interface IChordNonRibbonSettings extends IChordSettings {\n\n\t/**\n\t * Type of the link:\n\t *\n\t * `\"curve\"` (default) will display link as a curved line.\n\t * `\"line\"` will display link as a straight line.\n\t *\n\t * @default \"curve\"\n\t */\n\tlinkType?: \"curve\" | \"line\"\n\n}\n\nexport interface IChordNonRibbonPrivate extends IChordPrivate {\n}\n\nexport interface IChordNonRibbonEvents extends IChordEvents {\n}\n\n/**\n * Chord series with think line links.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more information\n * @important\n */\nexport class ChordNonRibbon extends Chord {\n\n\tpublic static className: string = \"ChordNonRibbon\";\n\tpublic static classNames: Array<string> = Chord.classNames.concat([ChordNonRibbon.className]);\n\n\tdeclare public _settings: IChordNonRibbonSettings;\n\tdeclare public _privateSettings: IChordNonRibbonPrivate;\n\tdeclare public _dataItemSettings: IChordNonRibbonDataItem;\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"chord\", \"basic\"]);\n\n\t\tsuper._afterNew();\n\t}\n\n\tprotected _makeMatrix(): number[][] {\n\t\tconst matrix: number[][] = [];\n\t\t$array.each(this.nodes.dataItems, (sourceDataItem) => {\n\t\t\tconst group: number[] = [];\n\t\t\tmatrix.push(group);\n\n\t\t\t$array.each(this.nodes.dataItems, (targetDataItem) => {\n\t\t\t\tlet value = 1;\n\n\t\t\t\tif (sourceDataItem === targetDataItem) {\n\t\t\t\t\tvalue = 0;\n\t\t\t\t}\n\n\t\t\t\tgroup.push(value);\n\t\t\t})\n\t\t})\n\t\treturn matrix;\n\t}\n\n\tprotected _updateLink(_ribbon: RibbonGenerator<any, Ribbon, RibbonSubgroup>, link: ChordLink, _linkRadius: number, chordLayoutItem: any) {\n\t\tlink._type = this.get(\"linkType\");\n\t\tif (chordLayoutItem) {\n\t\t\tconst linkType = this.get(\"linkType\");\n\n\t\t\tlink.set(\"draw\", (display) => {\n\t\t\t\tlet p0 = link._p0;\n\t\t\t\tlet p1 = link._p1;\n\t\t\t\tif (p0 && p1) {\n\t\t\t\t\tdisplay.moveTo(p0.x, p0.y);\n\t\t\t\t\tif (linkType == \"line\") {\n\t\t\t\t\t\tdisplay.lineTo(p1.x, p1.y);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tdisplay.quadraticCurveTo(0, 0, p1.x, p1.y);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _getLinkPoints(link: ChordLink, linkRadius: number, _chordLayoutItem: any) {\n\t\tconst source = link.get(\"source\");\n\t\tconst target = link.get(\"target\");\n\n\t\tif (source && target) {\n\n\t\t\tconst sourceSlice = source.get(\"slice\");\n\t\t\tconst targetSlice = target.get(\"slice\");\n\n\t\t\tconst startAngle0 = sourceSlice.get(\"startAngle\", 0);\n\t\t\tconst arc0 = sourceSlice.get(\"arc\", 0)\n\t\t\tconst angle0 = startAngle0 + arc0 / 2;\n\n\t\t\tconst startAngle1 = targetSlice.get(\"startAngle\", 0);\n\t\t\tconst arc1 = targetSlice.get(\"arc\", 0)\n\t\t\tconst angle1 = startAngle1 + arc1 / 2;\n\n\t\t\tlink._p0 = { x: linkRadius * $math.cos(angle0), y: linkRadius * $math.sin(angle0) };\n\t\t\tlink._p1 = { x: linkRadius * $math.cos(angle1), y: linkRadius * $math.sin(angle1) };\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"ChordNonRibbon.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/ChordNonRibbon.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ChordLink } from \"./ChordLink\";\nimport type { RibbonGenerator, RibbonSubgroup, Ribbon } from \"d3-chord\";\n\nimport { Chord, IChordSettings, IChordDataItem, IChordPrivate, IChordEvents } from \"./Chord\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IChordNonRibbonDataItem extends IChordDataItem {\n\n}\n\nexport interface IChordNonRibbonSettings extends IChordSettings {\n\n\t/**\n\t * Type of the link:\n\t *\n\t * `\"curve\"` (default) will display link as a curved line.\n\t * `\"line\"` will display link as a straight line.\n\t *\n\t * @default \"curve\"\n\t */\n\tlinkType?: \"curve\" | \"line\"\n\n}\n\nexport interface IChordNonRibbonPrivate extends IChordPrivate {\n}\n\nexport interface IChordNonRibbonEvents extends IChordEvents {\n}\n\n/**\n * Chord series with thin line links.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/} for more information\n * @important\n */\nexport class ChordNonRibbon extends Chord {\n\n\tpublic static className: string = \"ChordNonRibbon\";\n\tpublic static classNames: Array<string> = Chord.classNames.concat([ChordNonRibbon.className]);\n\n\tdeclare public _settings: IChordNonRibbonSettings;\n\tdeclare public _privateSettings: IChordNonRibbonPrivate;\n\tdeclare public _dataItemSettings: IChordNonRibbonDataItem;\n\n\tprotected _afterNew() {\n\t\tthis._settings.themeTags = $utils.mergeTags(this._settings.themeTags, [\"chord\", \"basic\"]);\n\n\t\tsuper._afterNew();\n\t}\n\n\tprotected _makeMatrix(): number[][] {\n\t\tconst matrix: number[][] = [];\n\t\t$array.each(this.nodes.dataItems, (sourceDataItem) => {\n\t\t\tconst group: number[] = [];\n\t\t\tmatrix.push(group);\n\n\t\t\t$array.each(this.nodes.dataItems, (targetDataItem) => {\n\t\t\t\tlet value = 1;\n\n\t\t\t\tif (sourceDataItem === targetDataItem) {\n\t\t\t\t\tvalue = 0;\n\t\t\t\t}\n\n\t\t\t\tgroup.push(value);\n\t\t\t})\n\t\t})\n\t\treturn matrix;\n\t}\n\n\tprotected _updateLink(_ribbon: RibbonGenerator<any, Ribbon, RibbonSubgroup>, link: ChordLink, _linkRadius: number, chordLayoutItem: any) {\n\t\tlink._type = this.get(\"linkType\");\n\t\tif (chordLayoutItem) {\n\t\t\tconst linkType = this.get(\"linkType\");\n\n\t\t\tlink.set(\"draw\", (display) => {\n\t\t\t\tlet p0 = link._p0;\n\t\t\t\tlet p1 = link._p1;\n\t\t\t\tif (p0 && p1) {\n\t\t\t\t\tdisplay.moveTo(p0.x, p0.y);\n\t\t\t\t\tif (linkType == \"line\") {\n\t\t\t\t\t\tdisplay.lineTo(p1.x, p1.y);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tdisplay.quadraticCurveTo(0, 0, p1.x, p1.y);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tprotected _getLinkPoints(link: ChordLink, linkRadius: number, _chordLayoutItem: any) {\n\t\tconst source = link.get(\"source\");\n\t\tconst target = link.get(\"target\");\n\n\t\tif (source && target) {\n\n\t\t\tconst sourceSlice = source.get(\"slice\");\n\t\t\tconst targetSlice = target.get(\"slice\");\n\n\t\t\tconst startAngle0 = sourceSlice.get(\"startAngle\", 0);\n\t\t\tconst arc0 = sourceSlice.get(\"arc\", 0)\n\t\t\tconst angle0 = startAngle0 + arc0 / 2;\n\n\t\t\tconst startAngle1 = targetSlice.get(\"startAngle\", 0);\n\t\t\tconst arc1 = targetSlice.get(\"arc\", 0)\n\t\t\tconst angle1 = startAngle1 + arc1 / 2;\n\n\t\t\tlink._p0 = { x: linkRadius * $math.cos(angle0), y: linkRadius * $math.sin(angle0) };\n\t\t\tlink._p1 = { x: linkRadius * $math.cos(angle1), y: linkRadius * $math.sin(angle1) };\n\t\t}\n\t}\n}\n"]}
@@ -10,7 +10,7 @@ export interface ISankeyLinkSettings extends IFlowLinkSettings {
10
10
  */
11
11
  source?: DataItem<ISankeyNodesDataItem>;
12
12
  /**
13
- * Source node data item.
13
+ * Target node data item.
14
14
  */
15
15
  target?: DataItem<ISankeyNodesDataItem>;
16
16
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SankeyLink.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/SankeyLink.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { FlowNode } from \"./FlowNode\";\nimport type { Sankey, ISankeyDataItem } from \"./Sankey\";\nimport type { ISankeyNodesDataItem } from \"./SankeyNodes\";\nimport type { IOrientationPoint } from \"../../core/util/IPoint\";\n\nimport { FlowLink, IFlowLinkPrivate, IFlowLinkSettings } from \"./FlowLink\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport * as $math from \"../../core/util/Math\";\n\n\nexport interface ISankeyLinkSettings extends IFlowLinkSettings {\n\n\t/**\n\t * Source node data item.\n\t */\n\tsource?: DataItem<ISankeyNodesDataItem>;\n\n\t/**\n\t * Source node data item.\n\t */\n\ttarget?: DataItem<ISankeyNodesDataItem>;\n\n\t/**\n\t * Type of fill to use for links.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/sankey-diagram/#Color_mode} for more info\n\t * @default \"gradient\"\n\t */\n\tfillStyle?: \"solid\" | \"gradient\" | \"source\" | \"target\";\n\n\t/**\n\t * A relative distance from node for link \"elbow\" (bend point).\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/sankey-diagram/#Bend_point} for more info\n\t * @default 0.2\n\t */\n\tcontrolPointDistance?: number;\n\n}\n\nexport interface ISankeyLinkPrivate extends IFlowLinkPrivate {\n\n\t/**\n\t * Link orientation.\n\t */\n\torientation?: \"horizontal\" | \"vertical\";\n\n}\n\nexport class SankeyLink extends FlowLink {\n\tdeclare public _settings: ISankeyLinkSettings;\n\tdeclare public _privateSettings: ISankeyLinkPrivate;\n\n\tpublic static className: string = \"SankeyLink\";\n\tpublic static classNames: Array<string> = FlowLink.classNames.concat([SankeyLink.className]);\n\n\tdeclare protected _dataItem: DataItem<ISankeyDataItem> | undefined;\n\n\tdeclare public series: Sankey | undefined;\n\n\tprotected _svgPath: SVGPathElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n\tprotected _totalLength: number = 0;\n\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"source\")) {\n\t\t\tconst source = this.get(\"source\");\n\t\t\tif (source) {\n\t\t\t\tconst sourceNode = source.get(\"node\");\n\t\t\t\tthis._disposers.push(sourceNode.events.on(\"positionchanged\", () => {\n\t\t\t\t\tthis.markDirty();\n\t\t\t\t}))\n\t\t\t}\n\t\t}\n\t\tif (this.isDirty(\"target\")) {\n\t\t\tconst target = this.get(\"target\");\n\t\t\tif (target) {\n\t\t\t\tconst targetNode = target.get(\"node\");\n\t\t\t\tthis._disposers.push(targetNode.events.on(\"positionchanged\", () => {\n\t\t\t\t\tthis.markDirty();\n\t\t\t\t}))\n\t\t\t}\n\t\t}\n\n\t\tif (this.isPrivateDirty(\"orientation\")) {\n\t\t\tconst series = this.series;\n\t\t\tconst dataItem = this.dataItem as DataItem<ISankeyDataItem>;\n\t\t\tif (dataItem && series) {\n\t\t\t\tseries._updateLinkColor(dataItem);\n\t\t\t}\n\t\t}\n\n\t\tconst target = this.get(\"target\");\n\t\tconst source = this.get(\"source\");\n\n\t\tlet sourceNode: FlowNode | undefined;\n\t\tlet targetNode: FlowNode | undefined;\n\n\t\tif (source && target) {\n\t\t\tthis._clear = true;\n\t\t\tsourceNode = source.get(\"node\");\n\t\t\ttargetNode = target.get(\"node\");\n\n\t\t\tlet x0 = 0;\n\t\t\tlet x1 = 0;\n\t\t\tlet y0 = 0;\n\t\t\tlet y1 = 0;\n\n\t\t\tlet xt0 = 0;\n\t\t\tlet yt0 = 0;\n\n\t\t\tlet xt1 = 0;\n\t\t\tlet yt1 = 0;\n\n\t\t\tlet xb0 = 0;\n\t\t\tlet xb1 = 0;\n\n\t\t\tlet yb0 = 0;\n\t\t\tlet yb1 = 0;\n\n\t\t\tlet xm0 = 0;\n\t\t\tlet xm1 = 0;\n\n\t\t\tlet ym0 = 0;\n\t\t\tlet ym1 = 0;\n\n\t\t\tlet angle0 = 0;\n\t\t\tlet angle1 = 0;\n\n\n\t\t\tconst dataItem = this.dataItem as DataItem<ISankeyDataItem>;\n\t\t\tif (dataItem) {\n\t\t\t\tconst d3SankeyLink = dataItem.get(\"d3SankeyLink\");\n\t\t\t\tif (d3SankeyLink) {\n\n\t\t\t\t\tlet w = d3SankeyLink.width || 0;\n\n\t\t\t\t\tlet orientation = this.getPrivate(\"orientation\");\n\n\t\t\t\t\tif (orientation == \"vertical\") {\n\t\t\t\t\t\tif (sourceNode) {\n\t\t\t\t\t\t\ty0 = sourceNode.y() + sourceNode.get(\"dy\", 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (targetNode) {\n\t\t\t\t\t\t\ty1 = targetNode.y() + targetNode.get(\"dy\", 0);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tangle0 = 90;\n\t\t\t\t\t\tangle1 = 90;\n\n\t\t\t\t\t\tx0 = d3SankeyLink.y0 || 0;\n\t\t\t\t\t\tx1 = d3SankeyLink.y1 || 0;\n\n\t\t\t\t\t\tx0 += sourceNode.get(\"dx\", 0);\n\t\t\t\t\t\tx1 += targetNode.get(\"dx\", 0);\n\n\t\t\t\t\t\tif (y1 < y0) {\n\t\t\t\t\t\t\t[x0, x1] = [x1, x0];\n\t\t\t\t\t\t\t[y0, y1] = [y1, y0];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (source.get(\"unknown\")) {\n\t\t\t\t\t\t\tx0 = x1;\n\t\t\t\t\t\t\ty0 = y0 + (y1 - y0) / 2;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (target.get(\"unknown\")) {\n\t\t\t\t\t\t\tx1 = x0;\n\t\t\t\t\t\t\ty1 = y0 + (y1 - y0) / 2;\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\txt0 = x0 - w / 2;\n\t\t\t\t\t\tyt0 = y0;\n\n\t\t\t\t\t\txt1 = x1 - w / 2;\n\t\t\t\t\t\tyt1 = y1;\n\n\t\t\t\t\t\txb0 = x0 + w / 2;\n\t\t\t\t\t\txb1 = x1 + w / 2;\n\n\t\t\t\t\t\tyb0 = y0;\n\t\t\t\t\t\tyb1 = y1;\n\n\t\t\t\t\t\txm0 = x0;\n\t\t\t\t\t\txm1 = x1;\n\n\t\t\t\t\t\tym0 = y0;\n\t\t\t\t\t\tym1 = y1;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (sourceNode) {\n\t\t\t\t\t\t\tx0 = sourceNode.x() + sourceNode.get(\"dx\", 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (targetNode) {\n\t\t\t\t\t\t\tx1 = targetNode.x() + targetNode.get(\"dx\", 0);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ty0 = d3SankeyLink.y0 || 0;\n\t\t\t\t\t\ty1 = d3SankeyLink.y1 || 0;\n\n\t\t\t\t\t\ty0 += sourceNode.get(\"dy\", 0);\n\t\t\t\t\t\ty1 += targetNode.get(\"dy\", 0);\n\n\t\t\t\t\t\tif (x1 < x0) {\n\t\t\t\t\t\t\t[x0, x1] = [x1, x0];\n\t\t\t\t\t\t\t[y0, y1] = [y1, y0];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (source.get(\"unknown\")) {\n\t\t\t\t\t\t\ty0 = y1;\n\t\t\t\t\t\t\tx0 = x0 + (x1 - x0) / 2;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (target.get(\"unknown\")) {\n\t\t\t\t\t\t\ty1 = y0;\n\t\t\t\t\t\t\tx1 = x0 + (x1 - x0) / 2;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\txt0 = x0;\n\t\t\t\t\t\tyt0 = y0 - w / 2;\n\n\t\t\t\t\t\txt1 = x1;\n\t\t\t\t\t\tyt1 = y1 - w / 2;\n\n\t\t\t\t\t\txb0 = x0;\n\t\t\t\t\t\txb1 = x1;\n\n\t\t\t\t\t\tyb0 = y0 + w / 2;\n\t\t\t\t\t\tyb1 = y1 + w / 2;\n\n\t\t\t\t\t\txm0 = x0;\n\t\t\t\t\t\txm1 = x1;\n\n\t\t\t\t\t\tym0 = y0;\n\t\t\t\t\t\tym1 = y1;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($math.round(xt0, 3) == $math.round(xt1, 3)) {\n\t\t\t\t\t\txt1 += 0.01;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($math.round(yt0, 3) == $math.round(yt1, 3)) {\n\t\t\t\t\t\tyt1 += 0.01;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($math.round(xb0, 3) == $math.round(xb1, 3)) {\n\t\t\t\t\t\txb1 += 0.01;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($math.round(yb0, 3) == $math.round(yb1, 3)) {\n\t\t\t\t\t\tyb1 += 0.01;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet cpd = this.get(\"controlPointDistance\", 0.2);\n\t\t\t\t\tcpd = Math.min(0.4999, cpd);\n\n\t\t\t\t\tlet kxt0 = xt0 + (xt1 - xt0) * cpd * $math.cos(angle0);\n\t\t\t\t\tlet kyt0 = yt0 + (yt1 - yt0) * cpd * $math.sin(angle0);\n\n\t\t\t\t\tlet kxt1 = xt1 - (xt1 - xt0) * cpd * $math.cos(angle1);\n\t\t\t\t\tlet kyt1 = yt1 - (yt1 - yt0) * cpd * $math.sin(angle1);\n\n\t\t\t\t\tlet kxm0 = xm0 + (xm1 - xm0) * cpd * $math.cos(angle0);\n\t\t\t\t\tlet kym0 = ym0 + (ym1 - ym0) * cpd * $math.sin(angle0);\n\n\t\t\t\t\tlet kxm1 = xm1 - (xm1 - xm0) * cpd * $math.cos(angle1);\n\t\t\t\t\tlet kym1 = ym1 - (ym1 - ym0) * cpd * $math.sin(angle1);\n\n\t\t\t\t\tlet angle = $math.getAngle({ x: kxt0, y: kyt0 }, { x: kxt1, y: kyt1 });\n\n\t\t\t\t\tlet dx = (w / $math.cos(angle) - w) / $math.tan(angle) * $math.cos(angle0);\n\t\t\t\t\tlet dy = (w / $math.sin(angle) - w) * $math.tan(angle) * $math.sin(angle0);\n\n\t\t\t\t\tlet kxb0 = -dx / 2 + xb0 + (xb1 - xb0) * cpd * $math.cos(angle0);\n\t\t\t\t\tlet kyb0 = -dy / 2 + yb0 + (yb1 - yb0) * cpd * $math.sin(angle0);\n\n\t\t\t\t\tlet kxb1 = -dx / 2 + xb1 - (xb1 - xb0) * cpd * $math.cos(angle1);\n\t\t\t\t\tlet kyb1 = -dy / 2 + yb1 - (yb1 - yb0) * cpd * $math.sin(angle1);\n\n\t\t\t\t\tkxt0 += dx / 2;\n\t\t\t\t\tkyt0 += dy / 2;\n\n\t\t\t\t\tkxt1 += dx / 2;\n\t\t\t\t\tkyt1 += dy / 2;\n\n\t\t\t\t\tif (orientation == \"vertical\") {\n\t\t\t\t\t\tkyt0 = Math.min(yt1, Math.max(yt0 + 1, kyt0));\n\t\t\t\t\t\tkyb0 = Math.min(yb1, Math.max(yb0 + 1, kyb0));\n\n\t\t\t\t\t\tkyt1 = Math.max(yt0, Math.min(yt1 - 1, kyt1));\n\t\t\t\t\t\tkyb1 = Math.max(yb0, Math.min(yb1 - 1, kyb1));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tkxt0 = Math.min(xt1, Math.max(xt0 + 1, kxt0));\n\t\t\t\t\t\tkxb0 = Math.min(xb1, Math.max(xb0 + 1, kxb0));\n\n\t\t\t\t\t\tkxt1 = Math.max(xt0, Math.min(xt1 - 1, kxt1));\n\t\t\t\t\t\tkxb1 = Math.max(xb0, Math.min(xb1 - 1, kxb1));\n\t\t\t\t\t}\n\n\t\t\t\t\tlet segment = [[xt0, yt0, xb0, yb0], [kxt0, kyt0, kxb0, kyb0], [kxt1, kyt1, kxb1, kyb1], [xt1, yt1, xb1, yb1]];\n\n\t\t\t\t\tthis.set(\"draw\", (display) => {\n\t\t\t\t\t\tconst series = this.series!;\n\t\t\t\t\t\tseries._fillGenerator.context(display as any);\n\t\t\t\t\t\tseries._fillGenerator(segment as [number, number][]);\n\t\t\t\t\t})\n\n\t\t\t\t\tlet middleSegment = [[xm0, ym0], [kxm0, kym0], [kxm1, kym1], [xm1, ym1]];\n\n\t\t\t\t\tconst path = this.series!._strokeGenerator(middleSegment as [number, number][]);\n\n\t\t\t\t\tif (path) {\n\t\t\t\t\t\tthis._svgPath.setAttribute(\"d\", path);\n\t\t\t\t\t\tthis._totalLength = this._svgPath.getTotalLength();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (this.series && this.dataItem) {\n\t\t\tthis.series._positionBullets(this.dataItem as any);\n\t\t}\n\t}\n\n\tpublic getPoint(location: number): IOrientationPoint {\n\t\tif (this._svgPath) {\n\t\t\tif (this._svgPath.getAttribute(\"d\")) {\n\t\t\t\tlet p0 = this._svgPath.getPointAtLength(location * this._totalLength - 0.1);\n\t\t\t\tlet p1 = this._svgPath.getPointAtLength(location * this._totalLength + 0.1);\n\t\t\t\tlet p = this.toGlobal(this._svgPath.getPointAtLength(location * this._totalLength));\n\t\t\t\treturn { x: p.x, y: p.y, angle: $math.getAngle(p0, p1) };\n\t\t\t}\n\t\t}\n\t\treturn { x: 0, y: 0, angle: 0 }\n\t}\n\n\tpublic _getTooltipPoint(): IPoint {\n\t\treturn this.toLocal(super._getTooltipPoint());\n\t}\n}\n"]}
1
+ {"version":3,"file":"SankeyLink.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/flow/SankeyLink.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { FlowNode } from \"./FlowNode\";\nimport type { Sankey, ISankeyDataItem } from \"./Sankey\";\nimport type { ISankeyNodesDataItem } from \"./SankeyNodes\";\nimport type { IOrientationPoint } from \"../../core/util/IPoint\";\n\nimport { FlowLink, IFlowLinkPrivate, IFlowLinkSettings } from \"./FlowLink\";\nimport type { IPoint } from \"../../core/util/IPoint\";\nimport * as $math from \"../../core/util/Math\";\n\n\nexport interface ISankeyLinkSettings extends IFlowLinkSettings {\n\n\t/**\n\t * Source node data item.\n\t */\n\tsource?: DataItem<ISankeyNodesDataItem>;\n\n\t/**\n\t * Target node data item.\n\t */\n\ttarget?: DataItem<ISankeyNodesDataItem>;\n\n\t/**\n\t * Type of fill to use for links.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/sankey-diagram/#Color_mode} for more info\n\t * @default \"gradient\"\n\t */\n\tfillStyle?: \"solid\" | \"gradient\" | \"source\" | \"target\";\n\n\t/**\n\t * A relative distance from node for link \"elbow\" (bend point).\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/flow-charts/sankey-diagram/#Bend_point} for more info\n\t * @default 0.2\n\t */\n\tcontrolPointDistance?: number;\n\n}\n\nexport interface ISankeyLinkPrivate extends IFlowLinkPrivate {\n\n\t/**\n\t * Link orientation.\n\t */\n\torientation?: \"horizontal\" | \"vertical\";\n\n}\n\nexport class SankeyLink extends FlowLink {\n\tdeclare public _settings: ISankeyLinkSettings;\n\tdeclare public _privateSettings: ISankeyLinkPrivate;\n\n\tpublic static className: string = \"SankeyLink\";\n\tpublic static classNames: Array<string> = FlowLink.classNames.concat([SankeyLink.className]);\n\n\tdeclare protected _dataItem: DataItem<ISankeyDataItem> | undefined;\n\n\tdeclare public series: Sankey | undefined;\n\n\tprotected _svgPath: SVGPathElement = document.createElementNS(\"http://www.w3.org/2000/svg\", \"path\");\n\tprotected _totalLength: number = 0;\n\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"source\")) {\n\t\t\tconst source = this.get(\"source\");\n\t\t\tif (source) {\n\t\t\t\tconst sourceNode = source.get(\"node\");\n\t\t\t\tthis._disposers.push(sourceNode.events.on(\"positionchanged\", () => {\n\t\t\t\t\tthis.markDirty();\n\t\t\t\t}))\n\t\t\t}\n\t\t}\n\t\tif (this.isDirty(\"target\")) {\n\t\t\tconst target = this.get(\"target\");\n\t\t\tif (target) {\n\t\t\t\tconst targetNode = target.get(\"node\");\n\t\t\t\tthis._disposers.push(targetNode.events.on(\"positionchanged\", () => {\n\t\t\t\t\tthis.markDirty();\n\t\t\t\t}))\n\t\t\t}\n\t\t}\n\n\t\tif (this.isPrivateDirty(\"orientation\")) {\n\t\t\tconst series = this.series;\n\t\t\tconst dataItem = this.dataItem as DataItem<ISankeyDataItem>;\n\t\t\tif (dataItem && series) {\n\t\t\t\tseries._updateLinkColor(dataItem);\n\t\t\t}\n\t\t}\n\n\t\tconst target = this.get(\"target\");\n\t\tconst source = this.get(\"source\");\n\n\t\tlet sourceNode: FlowNode | undefined;\n\t\tlet targetNode: FlowNode | undefined;\n\n\t\tif (source && target) {\n\t\t\tthis._clear = true;\n\t\t\tsourceNode = source.get(\"node\");\n\t\t\ttargetNode = target.get(\"node\");\n\n\t\t\tlet x0 = 0;\n\t\t\tlet x1 = 0;\n\t\t\tlet y0 = 0;\n\t\t\tlet y1 = 0;\n\n\t\t\tlet xt0 = 0;\n\t\t\tlet yt0 = 0;\n\n\t\t\tlet xt1 = 0;\n\t\t\tlet yt1 = 0;\n\n\t\t\tlet xb0 = 0;\n\t\t\tlet xb1 = 0;\n\n\t\t\tlet yb0 = 0;\n\t\t\tlet yb1 = 0;\n\n\t\t\tlet xm0 = 0;\n\t\t\tlet xm1 = 0;\n\n\t\t\tlet ym0 = 0;\n\t\t\tlet ym1 = 0;\n\n\t\t\tlet angle0 = 0;\n\t\t\tlet angle1 = 0;\n\n\n\t\t\tconst dataItem = this.dataItem as DataItem<ISankeyDataItem>;\n\t\t\tif (dataItem) {\n\t\t\t\tconst d3SankeyLink = dataItem.get(\"d3SankeyLink\");\n\t\t\t\tif (d3SankeyLink) {\n\n\t\t\t\t\tlet w = d3SankeyLink.width || 0;\n\n\t\t\t\t\tlet orientation = this.getPrivate(\"orientation\");\n\n\t\t\t\t\tif (orientation == \"vertical\") {\n\t\t\t\t\t\tif (sourceNode) {\n\t\t\t\t\t\t\ty0 = sourceNode.y() + sourceNode.get(\"dy\", 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (targetNode) {\n\t\t\t\t\t\t\ty1 = targetNode.y() + targetNode.get(\"dy\", 0);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tangle0 = 90;\n\t\t\t\t\t\tangle1 = 90;\n\n\t\t\t\t\t\tx0 = d3SankeyLink.y0 || 0;\n\t\t\t\t\t\tx1 = d3SankeyLink.y1 || 0;\n\n\t\t\t\t\t\tx0 += sourceNode.get(\"dx\", 0);\n\t\t\t\t\t\tx1 += targetNode.get(\"dx\", 0);\n\n\t\t\t\t\t\tif (y1 < y0) {\n\t\t\t\t\t\t\t[x0, x1] = [x1, x0];\n\t\t\t\t\t\t\t[y0, y1] = [y1, y0];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (source.get(\"unknown\")) {\n\t\t\t\t\t\t\tx0 = x1;\n\t\t\t\t\t\t\ty0 = y0 + (y1 - y0) / 2;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (target.get(\"unknown\")) {\n\t\t\t\t\t\t\tx1 = x0;\n\t\t\t\t\t\t\ty1 = y0 + (y1 - y0) / 2;\n\t\t\t\t\t\t}\n\n\n\t\t\t\t\t\txt0 = x0 - w / 2;\n\t\t\t\t\t\tyt0 = y0;\n\n\t\t\t\t\t\txt1 = x1 - w / 2;\n\t\t\t\t\t\tyt1 = y1;\n\n\t\t\t\t\t\txb0 = x0 + w / 2;\n\t\t\t\t\t\txb1 = x1 + w / 2;\n\n\t\t\t\t\t\tyb0 = y0;\n\t\t\t\t\t\tyb1 = y1;\n\n\t\t\t\t\t\txm0 = x0;\n\t\t\t\t\t\txm1 = x1;\n\n\t\t\t\t\t\tym0 = y0;\n\t\t\t\t\t\tym1 = y1;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (sourceNode) {\n\t\t\t\t\t\t\tx0 = sourceNode.x() + sourceNode.get(\"dx\", 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (targetNode) {\n\t\t\t\t\t\t\tx1 = targetNode.x() + targetNode.get(\"dx\", 0);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\ty0 = d3SankeyLink.y0 || 0;\n\t\t\t\t\t\ty1 = d3SankeyLink.y1 || 0;\n\n\t\t\t\t\t\ty0 += sourceNode.get(\"dy\", 0);\n\t\t\t\t\t\ty1 += targetNode.get(\"dy\", 0);\n\n\t\t\t\t\t\tif (x1 < x0) {\n\t\t\t\t\t\t\t[x0, x1] = [x1, x0];\n\t\t\t\t\t\t\t[y0, y1] = [y1, y0];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (source.get(\"unknown\")) {\n\t\t\t\t\t\t\ty0 = y1;\n\t\t\t\t\t\t\tx0 = x0 + (x1 - x0) / 2;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (target.get(\"unknown\")) {\n\t\t\t\t\t\t\ty1 = y0;\n\t\t\t\t\t\t\tx1 = x0 + (x1 - x0) / 2;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\txt0 = x0;\n\t\t\t\t\t\tyt0 = y0 - w / 2;\n\n\t\t\t\t\t\txt1 = x1;\n\t\t\t\t\t\tyt1 = y1 - w / 2;\n\n\t\t\t\t\t\txb0 = x0;\n\t\t\t\t\t\txb1 = x1;\n\n\t\t\t\t\t\tyb0 = y0 + w / 2;\n\t\t\t\t\t\tyb1 = y1 + w / 2;\n\n\t\t\t\t\t\txm0 = x0;\n\t\t\t\t\t\txm1 = x1;\n\n\t\t\t\t\t\tym0 = y0;\n\t\t\t\t\t\tym1 = y1;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($math.round(xt0, 3) == $math.round(xt1, 3)) {\n\t\t\t\t\t\txt1 += 0.01;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($math.round(yt0, 3) == $math.round(yt1, 3)) {\n\t\t\t\t\t\tyt1 += 0.01;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($math.round(xb0, 3) == $math.round(xb1, 3)) {\n\t\t\t\t\t\txb1 += 0.01;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ($math.round(yb0, 3) == $math.round(yb1, 3)) {\n\t\t\t\t\t\tyb1 += 0.01;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet cpd = this.get(\"controlPointDistance\", 0.2);\n\t\t\t\t\tcpd = Math.min(0.4999, cpd);\n\n\t\t\t\t\tlet kxt0 = xt0 + (xt1 - xt0) * cpd * $math.cos(angle0);\n\t\t\t\t\tlet kyt0 = yt0 + (yt1 - yt0) * cpd * $math.sin(angle0);\n\n\t\t\t\t\tlet kxt1 = xt1 - (xt1 - xt0) * cpd * $math.cos(angle1);\n\t\t\t\t\tlet kyt1 = yt1 - (yt1 - yt0) * cpd * $math.sin(angle1);\n\n\t\t\t\t\tlet kxm0 = xm0 + (xm1 - xm0) * cpd * $math.cos(angle0);\n\t\t\t\t\tlet kym0 = ym0 + (ym1 - ym0) * cpd * $math.sin(angle0);\n\n\t\t\t\t\tlet kxm1 = xm1 - (xm1 - xm0) * cpd * $math.cos(angle1);\n\t\t\t\t\tlet kym1 = ym1 - (ym1 - ym0) * cpd * $math.sin(angle1);\n\n\t\t\t\t\tlet angle = $math.getAngle({ x: kxt0, y: kyt0 }, { x: kxt1, y: kyt1 });\n\n\t\t\t\t\tlet dx = (w / $math.cos(angle) - w) / $math.tan(angle) * $math.cos(angle0);\n\t\t\t\t\tlet dy = (w / $math.sin(angle) - w) * $math.tan(angle) * $math.sin(angle0);\n\n\t\t\t\t\tlet kxb0 = -dx / 2 + xb0 + (xb1 - xb0) * cpd * $math.cos(angle0);\n\t\t\t\t\tlet kyb0 = -dy / 2 + yb0 + (yb1 - yb0) * cpd * $math.sin(angle0);\n\n\t\t\t\t\tlet kxb1 = -dx / 2 + xb1 - (xb1 - xb0) * cpd * $math.cos(angle1);\n\t\t\t\t\tlet kyb1 = -dy / 2 + yb1 - (yb1 - yb0) * cpd * $math.sin(angle1);\n\n\t\t\t\t\tkxt0 += dx / 2;\n\t\t\t\t\tkyt0 += dy / 2;\n\n\t\t\t\t\tkxt1 += dx / 2;\n\t\t\t\t\tkyt1 += dy / 2;\n\n\t\t\t\t\tif (orientation == \"vertical\") {\n\t\t\t\t\t\tkyt0 = Math.min(yt1, Math.max(yt0 + 1, kyt0));\n\t\t\t\t\t\tkyb0 = Math.min(yb1, Math.max(yb0 + 1, kyb0));\n\n\t\t\t\t\t\tkyt1 = Math.max(yt0, Math.min(yt1 - 1, kyt1));\n\t\t\t\t\t\tkyb1 = Math.max(yb0, Math.min(yb1 - 1, kyb1));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tkxt0 = Math.min(xt1, Math.max(xt0 + 1, kxt0));\n\t\t\t\t\t\tkxb0 = Math.min(xb1, Math.max(xb0 + 1, kxb0));\n\n\t\t\t\t\t\tkxt1 = Math.max(xt0, Math.min(xt1 - 1, kxt1));\n\t\t\t\t\t\tkxb1 = Math.max(xb0, Math.min(xb1 - 1, kxb1));\n\t\t\t\t\t}\n\n\t\t\t\t\tlet segment = [[xt0, yt0, xb0, yb0], [kxt0, kyt0, kxb0, kyb0], [kxt1, kyt1, kxb1, kyb1], [xt1, yt1, xb1, yb1]];\n\n\t\t\t\t\tthis.set(\"draw\", (display) => {\n\t\t\t\t\t\tconst series = this.series!;\n\t\t\t\t\t\tseries._fillGenerator.context(display as any);\n\t\t\t\t\t\tseries._fillGenerator(segment as [number, number][]);\n\t\t\t\t\t})\n\n\t\t\t\t\tlet middleSegment = [[xm0, ym0], [kxm0, kym0], [kxm1, kym1], [xm1, ym1]];\n\n\t\t\t\t\tconst path = this.series!._strokeGenerator(middleSegment as [number, number][]);\n\n\t\t\t\t\tif (path) {\n\t\t\t\t\t\tthis._svgPath.setAttribute(\"d\", path);\n\t\t\t\t\t\tthis._totalLength = this._svgPath.getTotalLength();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (this.series && this.dataItem) {\n\t\t\tthis.series._positionBullets(this.dataItem as any);\n\t\t}\n\t}\n\n\tpublic getPoint(location: number): IOrientationPoint {\n\t\tif (this._svgPath) {\n\t\t\tif (this._svgPath.getAttribute(\"d\")) {\n\t\t\t\tlet p0 = this._svgPath.getPointAtLength(location * this._totalLength - 0.1);\n\t\t\t\tlet p1 = this._svgPath.getPointAtLength(location * this._totalLength + 0.1);\n\t\t\t\tlet p = this.toGlobal(this._svgPath.getPointAtLength(location * this._totalLength));\n\t\t\t\treturn { x: p.x, y: p.y, angle: $math.getAngle(p0, p1) };\n\t\t\t}\n\t\t}\n\t\treturn { x: 0, y: 0, angle: 0 }\n\t}\n\n\tpublic _getTooltipPoint(): IPoint {\n\t\treturn this.toLocal(super._getTooltipPoint());\n\t}\n}\n"]}
@@ -32,7 +32,7 @@ export interface IFunnelSliceSettings extends IGraphicsSettings {
32
32
  */
33
33
  cornerRadiusTR?: number;
34
34
  /**
35
- * Radius of the botttom-right corner in pixels.
35
+ * Radius of the bottom-right corner in pixels.
36
36
  *
37
37
  * @since 5.11.2
38
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"FunnelSlice.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/funnel/FunnelSlice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAuC,MAAM,4BAA4B,CAAC;AAE3F,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AA2DhD;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,QAAQ;IAAzC;;QAMW,qBAAgB,GAAY,KAAK,CAAC;QAElC,SAAI,GAAW,CAAC,CAAC;QACjB,SAAI,GAAW,CAAC,CAAC;QAEjB,SAAI,GAAW,CAAC,CAAC;QACjB,SAAI,GAAW,CAAC,CAAC;QAEjB,SAAI,GAAW,CAAC,CAAC;QACjB,SAAI,GAAW,CAAC,CAAC;QAEjB,SAAI,GAAW,CAAC,CAAC;QACjB,SAAI,GAAW,CAAC,CAAC;QAEjB,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;IA8K7B,CAAC;IA5KU,SAAS;QAClB,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAExB,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;YAEjC,IAAI,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1E,IAAI,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1E,IAAI,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1E,IAAI,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAE1E,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YAEpB,IAAI,GAAG,IAAI,GAAG,EAAE;gBACf,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;aACjB;YAED,IAAI,GAAG,IAAI,GAAG,EAAE;gBACf,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;aACjB;YAED,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YACrE,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAErE,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,YAAY,EAAE;gBAC5C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/C;iBACI;gBACJ,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/C;YAED,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KA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","sourcesContent":["import type { IPoint } from \"../../core/util/IPoint\";\n\nimport { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"../../core/render/Graphics\";\n\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IFunnelSliceSettings extends IGraphicsSettings {\n\n\t/**\n\t * Top width in pixels.\n\t */\n\ttopWidth?: number;\n\n\t/**\n\t * Bottom width in pixels.\n\t */\n\tbottomWidth?: number;\n\n\t/**\n\t * Orientation.\n\t */\n\torientation?: \"vertical\" | \"horizontal\";\n\n\t/**\n\t * A distance in pixels the slice should \"puff up\".\n\t *\n\t * Any non-zero value will make sides of the slide curved.\n\t */\n\texpandDistance?: number;\n\n\t/**\n\t * Radius of the top-left corner in pixels.\n\t *\n\t * @since 5.11.2\n\t */\n\tcornerRadiusTL?: number;\n\n\t/**\n\t * Radius of the top-right corner in pixels.\n\t * \n\t * @since 5.11.2\n\t */\n\tcornerRadiusTR?: number;\n\n\t/**\n\t * Radius of the botttom-right corner in pixels.\n\t * \n\t * @since 5.11.2\n\t */\n\tcornerRadiusBR?: number;\n\n\t/**\n\t * Radius of the bottom-left corner in pixels.\n\t * \n\t * @since 5.11.2\n\t */\n\tcornerRadiusBL?: number;\n\n}\n\nexport interface IFunnelSlicePrivate extends IGraphicsPrivate {\n}\n\n/**\n * Draws a slice for [[FunnelSeries]].\n */\nexport class FunnelSlice extends Graphics {\n\tdeclare public _settings: IFunnelSliceSettings;\n\tdeclare public _privateSettings: IFunnelSlicePrivate;\n\n\tpublic static className: string = \"FunnelSlice\";\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([FunnelSlice.className]);\n\tprotected _projectionDirty: boolean = false;\n\n\tprotected _tlx: number = 0;\n\tprotected _tly: number = 0;\n\n\tprotected _trx: number = 0;\n\tprotected _try: number = 0;\n\n\tprotected _blx: number = 0;\n\tprotected _bly: number = 0;\n\n\tprotected _brx: number = 0;\n\tprotected _bry: number = 0;\n\n\tprotected _cprx: number = 0;\n\tprotected _cplx: number = 0;\n\tprotected _cpry: number = 0;\n\tprotected _cply: number = 0;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.set(\"draw\", (display) => {\n\t\t\tconst w = this.width();\n\t\t\tconst h = this.height();\n\n\t\t\tlet minSide = Math.min(w, h) / 2;\n\n\t\t\tlet crtl = $utils.relativeToValue(this.get(\"cornerRadiusTL\", 0), minSide);\n\t\t\tlet crtr = $utils.relativeToValue(this.get(\"cornerRadiusTR\", 0), minSide);\n\t\t\tlet crbr = $utils.relativeToValue(this.get(\"cornerRadiusBR\", 0), minSide);\n\t\t\tlet crbl = $utils.relativeToValue(this.get(\"cornerRadiusBL\", 0), minSide);\n\n\t\t\tlet trX = this._trx;\n\t\t\tlet trY = this._try;\n\t\t\tlet tlX = this._tlx;\n\t\t\tlet tlY = this._tly;\n\t\t\tlet brX = this._brx;\n\t\t\tlet brY = this._bry;\n\t\t\tlet blX = this._blx;\n\t\t\tlet blY = this._bly;\n\n\t\t\tif (trY == tlY) {\n\t\t\t\ttrY = trY - 0.01;\n\t\t\t}\n\n\t\t\tif (brY == blY) {\n\t\t\t\tbrY = brY - 0.01;\n\t\t\t}\n\n\t\t\tlet tlAngle = $math.getAngle({ x: tlX, y: tlY }, { x: trX, y: trY });\n\t\t\tlet trAngle = $math.getAngle({ x: trX, y: trY }, { x: brX, y: brY });\n\t\t\tlet brAngle = $math.getAngle({ x: brX, y: brY }, { x: blX, y: blY });\n\t\t\tlet blAngle = $math.getAngle({ x: blX, y: blY }, { x: tlX, y: tlY });\n\n\t\t\tif (this.get(\"orientation\") == \"horizontal\") {\n\t\t\t\tcrtl = Math.min(crtl, Math.abs(tlY - trY) / 2);\n\t\t\t\tcrtr = Math.min(crtr, Math.abs(tlY - trY) / 2);\n\t\t\t\tcrbr = Math.min(crbr, Math.abs(blY - brY) / 2);\n\t\t\t\tcrbl = Math.min(crbl, Math.abs(blY - brY) / 2);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcrtl = Math.min(crtl, Math.abs(tlX - trX) / 2);\n\t\t\t\tcrtr = Math.min(crtr, Math.abs(tlX - trX) / 2);\n\t\t\t\tcrbr = Math.min(crbr, Math.abs(blX - brX) / 2);\n\t\t\t\tcrbl = Math.min(crbl, Math.abs(blX - brX) / 2);\n\t\t\t}\n\n\t\t\tconst tlX1 = tlX - crtl * $math.tan((tlAngle - blAngle) / 2) * $math.cos((blAngle));\n\t\t\tconst tlY1 = tlY - crtl * $math.tan((tlAngle - blAngle) / 2) * $math.sin((blAngle));\n\n\t\t\tconst tlX2 = tlX - crtl * $math.tan((blAngle - tlAngle) / 2) * $math.cos((tlAngle));\n\t\t\tconst tlY2 = tlY - crtl * $math.tan((blAngle - tlAngle) / 2) * $math.sin((tlAngle));\n\n\t\t\tconst trX1 = trX - crtr * $math.tan((trAngle - tlAngle) / 2) * $math.cos((tlAngle));\n\t\t\tconst trY1 = trY - crtr * $math.tan((trAngle - tlAngle) / 2) * $math.sin((tlAngle));\n\n\t\t\tconst trX2 = trX - crtr * $math.tan((tlAngle - trAngle) / 2) * $math.cos((trAngle));\n\t\t\tconst trY2 = trY - crtr * $math.tan((tlAngle - trAngle) / 2) * $math.sin((trAngle));\n\n\t\t\tconst brX1 = brX - crbr * $math.tan((brAngle - trAngle) / 2) * $math.cos((trAngle));\n\t\t\tconst brY1 = brY - crbr * $math.tan((brAngle - trAngle) / 2) * $math.sin((trAngle));\n\n\t\t\tconst brX2 = brX - crbr * $math.tan((trAngle - brAngle) / 2) * $math.cos((brAngle));\n\t\t\tconst brY2 = brY - crbr * $math.tan((trAngle - brAngle) / 2) * $math.sin((brAngle));\n\n\t\t\tconst blX1 = blX - crbl * $math.tan((blAngle - brAngle) / 2) * $math.cos((brAngle));\n\t\t\tconst blY1 = blY - crbl * $math.tan((blAngle - brAngle) / 2) * $math.sin((brAngle));\n\n\t\t\tconst blX2 = blX - crbl * $math.tan((brAngle - blAngle) / 2) * $math.cos((blAngle));\n\t\t\tconst blY2 = blY - crbl * $math.tan((brAngle - blAngle) / 2) * $math.sin((blAngle));\n\n\t\t\tdisplay.moveTo(tlX2, tlY2);\n\t\t\tdisplay.lineTo(trX1, trY1);\n\n\t\t\tdisplay.arcTo(trX, trY, trX2, trY2, crtr);\n\t\t\tdisplay.quadraticCurveTo(this._cprx, this._cpry, brX1, brY1);\n\t\t\tdisplay.arcTo(brX, brY, brX2, brY2, crbr);\n\t\t\tdisplay.lineTo(blX1, blY1);\n\t\t\tdisplay.arcTo(blX, blY, blX2, blY2, crbl);\n\t\t\tdisplay.quadraticCurveTo(this._cplx, this._cply, tlX1, tlY1);\n\t\t\tdisplay.arcTo(tlX, tlY, tlX2, tlY2, crtl);\n\t\t})\n\t}\n\n\tpublic getPoint(locationX: number, locationY: number): IPoint {\n\t\tlet w = this.width();\n\t\tlet h = this.height();\n\n\t\tconst tw = this.get(\"topWidth\", 0);\n\t\tconst bw = this.get(\"bottomWidth\", 0);\n\n\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\tlet tlx = -tw / 2;\n\t\t\tlet trx = tw / 2;\n\n\t\t\tlet brx = bw / 2;\n\t\t\tlet blx = - bw / 2;\n\n\t\t\tlet mlx = tlx + (blx - tlx) * locationY;\n\t\t\tlet mrx = trx + (brx - trx) * locationY;\n\n\t\t\treturn { x: mlx + (mrx - mlx) * locationX, y: h * locationY };\n\t\t}\n\t\telse {\n\t\t\tlet tlx = -tw / 2;\n\t\t\tlet trx = tw / 2;\n\n\t\t\tlet brx = bw / 2;\n\t\t\tlet blx = - bw / 2;\n\n\t\t\tlet mlx = tlx + (blx - tlx) * locationX;\n\t\t\tlet mrx = trx + (brx - trx) * locationX;\n\n\t\t\treturn { x: w * locationX, y: mlx + (mrx - mlx) * locationY };\n\t\t}\n\n\t}\n\n\tpublic _changed() {\n\n\t\tif (this.isDirty(\"topWidth\") || this.isDirty(\"bottomWidth\") || this.isDirty(\"expandDistance\") || this.isDirty(\"orientation\") || this.isDirty(\"width\") || this.isDirty(\"height\")) {\n\t\t\tconst w = this.width();\n\t\t\tconst h = this.height();\n\t\t\tconst tw = this.get(\"topWidth\", 0);\n\t\t\tconst bw = this.get(\"bottomWidth\", 0);\n\t\t\tthis._clear = true;\n\n\t\t\tlet ed = this.get(\"expandDistance\", 0);\n\n\t\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\t\tthis._tlx = -tw / 2;\n\t\t\t\tthis._tly = 0;\n\n\t\t\t\tthis._trx = tw / 2;\n\t\t\t\tthis._try = 0;\n\n\t\t\t\tthis._brx = bw / 2;\n\t\t\t\tthis._bry = h;\n\n\t\t\t\tthis._blx = -bw / 2;\n\t\t\t\tthis._bly = h;\n\n\t\t\t\tthis._cprx = this._trx + (this._brx - this._trx) / 2 + ed * h,\n\t\t\t\t\tthis._cpry = this._try + 0.5 * h;\n\n\t\t\t\tthis._cplx = this._tlx + (this._blx - this._tlx) / 2 - ed * h;\n\t\t\t\tthis._cply = this._tly + 0.5 * h;\n\t\t\t}\n\t\t\telse {\n\n\t\t\t\tthis._tly = tw / 2;\n\t\t\t\tthis._tlx = 0;\n\n\t\t\t\tthis._try = -tw / 2;\n\t\t\t\tthis._trx = 0;\n\n\t\t\t\tthis._bry = -bw / 2;\n\t\t\t\tthis._brx = w;\n\n\t\t\t\tthis._bly = bw / 2;\n\t\t\t\tthis._blx = w;\n\n\t\t\t\tthis._cpry = this._try + (this._bry - this._try) / 2 - ed * w,\n\t\t\t\t\tthis._cprx = this._trx + 0.5 * w;\n\n\t\t\t\tthis._cply = this._tly + (this._bly - this._tly) / 2 + ed * w;\n\t\t\t\tthis._cplx = this._tlx + 0.5 * w;\n\t\t\t}\n\t\t}\n\t\tsuper._changed();\n\t}\n}\n"]}
1
+ {"version":3,"file":"FunnelSlice.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/funnel/FunnelSlice.ts"],"names":[],"mappings":"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GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAEpF,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KA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","sourcesContent":["import type { IPoint } from \"../../core/util/IPoint\";\n\nimport { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"../../core/render/Graphics\";\n\nimport * as $math from \"../../core/util/Math\";\nimport * as $utils from \"../../core/util/Utils\";\n\nexport interface IFunnelSliceSettings extends IGraphicsSettings {\n\n\t/**\n\t * Top width in pixels.\n\t */\n\ttopWidth?: number;\n\n\t/**\n\t * Bottom width in pixels.\n\t */\n\tbottomWidth?: number;\n\n\t/**\n\t * Orientation.\n\t */\n\torientation?: \"vertical\" | \"horizontal\";\n\n\t/**\n\t * A distance in pixels the slice should \"puff up\".\n\t *\n\t * Any non-zero value will make sides of the slide curved.\n\t */\n\texpandDistance?: number;\n\n\t/**\n\t * Radius of the top-left corner in pixels.\n\t *\n\t * @since 5.11.2\n\t */\n\tcornerRadiusTL?: number;\n\n\t/**\n\t * Radius of the top-right corner in pixels.\n\t * \n\t * @since 5.11.2\n\t */\n\tcornerRadiusTR?: number;\n\n\t/**\n\t * Radius of the bottom-right corner in pixels.\n\t * \n\t * @since 5.11.2\n\t */\n\tcornerRadiusBR?: number;\n\n\t/**\n\t * Radius of the bottom-left corner in pixels.\n\t * \n\t * @since 5.11.2\n\t */\n\tcornerRadiusBL?: number;\n\n}\n\nexport interface IFunnelSlicePrivate extends IGraphicsPrivate {\n}\n\n/**\n * Draws a slice for [[FunnelSeries]].\n */\nexport class FunnelSlice extends Graphics {\n\tdeclare public _settings: IFunnelSliceSettings;\n\tdeclare public _privateSettings: IFunnelSlicePrivate;\n\n\tpublic static className: string = \"FunnelSlice\";\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([FunnelSlice.className]);\n\tprotected _projectionDirty: boolean = false;\n\n\tprotected _tlx: number = 0;\n\tprotected _tly: number = 0;\n\n\tprotected _trx: number = 0;\n\tprotected _try: number = 0;\n\n\tprotected _blx: number = 0;\n\tprotected _bly: number = 0;\n\n\tprotected _brx: number = 0;\n\tprotected _bry: number = 0;\n\n\tprotected _cprx: number = 0;\n\tprotected _cplx: number = 0;\n\tprotected _cpry: number = 0;\n\tprotected _cply: number = 0;\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\t\tthis.set(\"draw\", (display) => {\n\t\t\tconst w = this.width();\n\t\t\tconst h = this.height();\n\n\t\t\tlet minSide = Math.min(w, h) / 2;\n\n\t\t\tlet crtl = $utils.relativeToValue(this.get(\"cornerRadiusTL\", 0), minSide);\n\t\t\tlet crtr = $utils.relativeToValue(this.get(\"cornerRadiusTR\", 0), minSide);\n\t\t\tlet crbr = $utils.relativeToValue(this.get(\"cornerRadiusBR\", 0), minSide);\n\t\t\tlet crbl = $utils.relativeToValue(this.get(\"cornerRadiusBL\", 0), minSide);\n\n\t\t\tlet trX = this._trx;\n\t\t\tlet trY = this._try;\n\t\t\tlet tlX = this._tlx;\n\t\t\tlet tlY = this._tly;\n\t\t\tlet brX = this._brx;\n\t\t\tlet brY = this._bry;\n\t\t\tlet blX = this._blx;\n\t\t\tlet blY = this._bly;\n\n\t\t\tif (trY == tlY) {\n\t\t\t\ttrY = trY - 0.01;\n\t\t\t}\n\n\t\t\tif (brY == blY) {\n\t\t\t\tbrY = brY - 0.01;\n\t\t\t}\n\n\t\t\tlet tlAngle = $math.getAngle({ x: tlX, y: tlY }, { x: trX, y: trY });\n\t\t\tlet trAngle = $math.getAngle({ x: trX, y: trY }, { x: brX, y: brY });\n\t\t\tlet brAngle = $math.getAngle({ x: brX, y: brY }, { x: blX, y: blY });\n\t\t\tlet blAngle = $math.getAngle({ x: blX, y: blY }, { x: tlX, y: tlY });\n\n\t\t\tif (this.get(\"orientation\") == \"horizontal\") {\n\t\t\t\tcrtl = Math.min(crtl, Math.abs(tlY - trY) / 2);\n\t\t\t\tcrtr = Math.min(crtr, Math.abs(tlY - trY) / 2);\n\t\t\t\tcrbr = Math.min(crbr, Math.abs(blY - brY) / 2);\n\t\t\t\tcrbl = Math.min(crbl, Math.abs(blY - brY) / 2);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcrtl = Math.min(crtl, Math.abs(tlX - trX) / 2);\n\t\t\t\tcrtr = Math.min(crtr, Math.abs(tlX - trX) / 2);\n\t\t\t\tcrbr = Math.min(crbr, Math.abs(blX - brX) / 2);\n\t\t\t\tcrbl = Math.min(crbl, Math.abs(blX - brX) / 2);\n\t\t\t}\n\n\t\t\tconst tlX1 = tlX - crtl * $math.tan((tlAngle - blAngle) / 2) * $math.cos((blAngle));\n\t\t\tconst tlY1 = tlY - crtl * $math.tan((tlAngle - blAngle) / 2) * $math.sin((blAngle));\n\n\t\t\tconst tlX2 = tlX - crtl * $math.tan((blAngle - tlAngle) / 2) * $math.cos((tlAngle));\n\t\t\tconst tlY2 = tlY - crtl * $math.tan((blAngle - tlAngle) / 2) * $math.sin((tlAngle));\n\n\t\t\tconst trX1 = trX - crtr * $math.tan((trAngle - tlAngle) / 2) * $math.cos((tlAngle));\n\t\t\tconst trY1 = trY - crtr * $math.tan((trAngle - tlAngle) / 2) * $math.sin((tlAngle));\n\n\t\t\tconst trX2 = trX - crtr * $math.tan((tlAngle - trAngle) / 2) * $math.cos((trAngle));\n\t\t\tconst trY2 = trY - crtr * $math.tan((tlAngle - trAngle) / 2) * $math.sin((trAngle));\n\n\t\t\tconst brX1 = brX - crbr * $math.tan((brAngle - trAngle) / 2) * $math.cos((trAngle));\n\t\t\tconst brY1 = brY - crbr * $math.tan((brAngle - trAngle) / 2) * $math.sin((trAngle));\n\n\t\t\tconst brX2 = brX - crbr * $math.tan((trAngle - brAngle) / 2) * $math.cos((brAngle));\n\t\t\tconst brY2 = brY - crbr * $math.tan((trAngle - brAngle) / 2) * $math.sin((brAngle));\n\n\t\t\tconst blX1 = blX - crbl * $math.tan((blAngle - brAngle) / 2) * $math.cos((brAngle));\n\t\t\tconst blY1 = blY - crbl * $math.tan((blAngle - brAngle) / 2) * $math.sin((brAngle));\n\n\t\t\tconst blX2 = blX - crbl * $math.tan((brAngle - blAngle) / 2) * $math.cos((blAngle));\n\t\t\tconst blY2 = blY - crbl * $math.tan((brAngle - blAngle) / 2) * $math.sin((blAngle));\n\n\t\t\tdisplay.moveTo(tlX2, tlY2);\n\t\t\tdisplay.lineTo(trX1, trY1);\n\n\t\t\tdisplay.arcTo(trX, trY, trX2, trY2, crtr);\n\t\t\tdisplay.quadraticCurveTo(this._cprx, this._cpry, brX1, brY1);\n\t\t\tdisplay.arcTo(brX, brY, brX2, brY2, crbr);\n\t\t\tdisplay.lineTo(blX1, blY1);\n\t\t\tdisplay.arcTo(blX, blY, blX2, blY2, crbl);\n\t\t\tdisplay.quadraticCurveTo(this._cplx, this._cply, tlX1, tlY1);\n\t\t\tdisplay.arcTo(tlX, tlY, tlX2, tlY2, crtl);\n\t\t})\n\t}\n\n\tpublic getPoint(locationX: number, locationY: number): IPoint {\n\t\tlet w = this.width();\n\t\tlet h = this.height();\n\n\t\tconst tw = this.get(\"topWidth\", 0);\n\t\tconst bw = this.get(\"bottomWidth\", 0);\n\n\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\tlet tlx = -tw / 2;\n\t\t\tlet trx = tw / 2;\n\n\t\t\tlet brx = bw / 2;\n\t\t\tlet blx = - bw / 2;\n\n\t\t\tlet mlx = tlx + (blx - tlx) * locationY;\n\t\t\tlet mrx = trx + (brx - trx) * locationY;\n\n\t\t\treturn { x: mlx + (mrx - mlx) * locationX, y: h * locationY };\n\t\t}\n\t\telse {\n\t\t\tlet tlx = -tw / 2;\n\t\t\tlet trx = tw / 2;\n\n\t\t\tlet brx = bw / 2;\n\t\t\tlet blx = - bw / 2;\n\n\t\t\tlet mlx = tlx + (blx - tlx) * locationX;\n\t\t\tlet mrx = trx + (brx - trx) * locationX;\n\n\t\t\treturn { x: w * locationX, y: mlx + (mrx - mlx) * locationY };\n\t\t}\n\n\t}\n\n\tpublic _changed() {\n\n\t\tif (this.isDirty(\"topWidth\") || this.isDirty(\"bottomWidth\") || this.isDirty(\"expandDistance\") || this.isDirty(\"orientation\") || this.isDirty(\"width\") || this.isDirty(\"height\")) {\n\t\t\tconst w = this.width();\n\t\t\tconst h = this.height();\n\t\t\tconst tw = this.get(\"topWidth\", 0);\n\t\t\tconst bw = this.get(\"bottomWidth\", 0);\n\t\t\tthis._clear = true;\n\n\t\t\tlet ed = this.get(\"expandDistance\", 0);\n\n\t\t\tif (this.get(\"orientation\") == \"vertical\") {\n\t\t\t\tthis._tlx = -tw / 2;\n\t\t\t\tthis._tly = 0;\n\n\t\t\t\tthis._trx = tw / 2;\n\t\t\t\tthis._try = 0;\n\n\t\t\t\tthis._brx = bw / 2;\n\t\t\t\tthis._bry = h;\n\n\t\t\t\tthis._blx = -bw / 2;\n\t\t\t\tthis._bly = h;\n\n\t\t\t\tthis._cprx = this._trx + (this._brx - this._trx) / 2 + ed * h,\n\t\t\t\t\tthis._cpry = this._try + 0.5 * h;\n\n\t\t\t\tthis._cplx = this._tlx + (this._blx - this._tlx) / 2 - ed * h;\n\t\t\t\tthis._cply = this._tly + 0.5 * h;\n\t\t\t}\n\t\t\telse {\n\n\t\t\t\tthis._tly = tw / 2;\n\t\t\t\tthis._tlx = 0;\n\n\t\t\t\tthis._try = -tw / 2;\n\t\t\t\tthis._trx = 0;\n\n\t\t\t\tthis._bry = -bw / 2;\n\t\t\t\tthis._brx = w;\n\n\t\t\t\tthis._bly = bw / 2;\n\t\t\t\tthis._blx = w;\n\n\t\t\t\tthis._cpry = this._try + (this._bry - this._try) / 2 - ed * w,\n\t\t\t\t\tthis._cprx = this._trx + 0.5 * w;\n\n\t\t\t\tthis._cply = this._tly + (this._bly - this._tly) / 2 + ed * w;\n\t\t\t\tthis._cplx = this._tlx + 0.5 * w;\n\t\t\t}\n\t\t}\n\t\tsuper._changed();\n\t}\n}\n"]}
@@ -7,7 +7,7 @@ export interface ISlicedChartPrivate extends IPercentChartPrivate {
7
7
  /**
8
8
  * Creates a sliced chart for use with [[FunnelSeries]], [[PyramidSeries]], or [[PictorialStackedSeries]].
9
9
  *
10
- * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info
10
+ * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/} for more info
11
11
  * @important
12
12
  */
13
13
  export declare class SlicedChart extends PercentChart {
@@ -2,7 +2,7 @@ import { PercentChart } from "../percent/PercentChart";
2
2
  /**
3
3
  * Creates a sliced chart for use with [[FunnelSeries]], [[PyramidSeries]], or [[PictorialStackedSeries]].
4
4
  *
5
- * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info
5
+ * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/} for more info
6
6
  * @important
7
7
  */
8
8
  export class SlicedChart extends PercentChart {
@@ -1 +1 @@
1
- {"version":3,"file":"SlicedChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/funnel/SlicedChart.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA+C,MAAM,yBAAyB,CAAC;AASpG;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IAClC,SAAS;QAClB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACxF,CAAC;;AAEa,qBAAS,GAAW,aAAa,CAAC;AAClC,sBAAU,GAAkB,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import type { PercentSeries } from \"../percent/PercentSeries\";\n\nimport { PercentChart, IPercentChartPrivate, IPercentChartSettings } from \"../percent/PercentChart\";\n\n\nexport interface ISlicedChartSettings extends IPercentChartSettings {\n}\n\nexport interface ISlicedChartPrivate extends IPercentChartPrivate {\n}\n\n/**\n * Creates a sliced chart for use with [[FunnelSeries]], [[PyramidSeries]], or [[PictorialStackedSeries]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/pie-chart/} for more info\n * @important\n */\nexport class SlicedChart extends PercentChart {\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis.seriesContainer.setAll({ isMeasured: true, layout: this._root.horizontalLayout });\n\t}\n\n\tpublic static className: string = \"SlicedChart\";\n\tpublic static classNames: Array<string> = PercentChart.classNames.concat([SlicedChart.className]);\n\n\tdeclare public _settings: ISlicedChartSettings;\n\tdeclare public _privateSettings: ISlicedChartPrivate;\n\tdeclare public _seriesType: PercentSeries;\n}\n"]}
1
+ {"version":3,"file":"SlicedChart.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/funnel/SlicedChart.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA+C,MAAM,yBAAyB,CAAC;AASpG;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,YAAY;IAClC,SAAS;QAClB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACxF,CAAC;;AAEa,qBAAS,GAAW,aAAa,CAAC;AAClC,sBAAU,GAAkB,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import type { PercentSeries } from \"../percent/PercentSeries\";\n\nimport { PercentChart, IPercentChartPrivate, IPercentChartSettings } from \"../percent/PercentChart\";\n\n\nexport interface ISlicedChartSettings extends IPercentChartSettings {\n}\n\nexport interface ISlicedChartPrivate extends IPercentChartPrivate {\n}\n\n/**\n * Creates a sliced chart for use with [[FunnelSeries]], [[PyramidSeries]], or [[PictorialStackedSeries]].\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/} for more info\n * @important\n */\nexport class SlicedChart extends PercentChart {\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis.seriesContainer.setAll({ isMeasured: true, layout: this._root.horizontalLayout });\n\t}\n\n\tpublic static className: string = \"SlicedChart\";\n\tpublic static classNames: Array<string> = PercentChart.classNames.concat([SlicedChart.className]);\n\n\tdeclare public _settings: ISlicedChartSettings;\n\tdeclare public _privateSettings: ISlicedChartPrivate;\n\tdeclare public _seriesType: PercentSeries;\n}\n"]}
@@ -64,7 +64,7 @@ export interface IForceDirectedSettings extends ILinkedHierarchySettings {
64
64
  */
65
65
  linkWithStrength?: number | undefined;
66
66
  /**
67
- * Resistance acting agains node speed.
67
+ * Resistance acting against node speed.
68
68
  *
69
69
  * The greater the value, the more "sluggish" the nodes will be.
70
70
  *
@@ -115,7 +115,7 @@ export interface IForceDirectedSettings extends ILinkedHierarchySettings {
115
115
  */
116
116
  xField?: string;
117
117
  /**
118
- * Field in data that holds X coordinate of the node.
118
+ * Field in data that holds Y coordinate of the node.
119
119
  *
120
120
  * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info
121
121
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ForceDirected.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/ForceDirected.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAuG,MAAM,mBAAmB,CAAC;AAEzJ,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAUnC,CAAC;AAuIF;;;;;GAKG;AACH,MAAM,OAAO,aAAc,SAAQ,eAAe;IAAlD;;QAEW,SAAI,GAAW,eAAe,CAAC;QAEzC;;WAEG;QACa,sBAAiB,GAAqF,OAAO,CAAC,eAAe,EAAE,CAAC;QAEhJ;;WAEG;QACa,mBAAc,GAAsD,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAE7G;;WAEG;QACI,cAAS,GAA6G,OAAO,CAAC,SAAS,EAAE,CAAC;QAUvI,WAAM,GAAe,EAAE,CAAC;QACxB,WAAM,GAAe,EAAE,CAAC;QAWxB,UAAK,GAAW,CAAC,CAAC;QAClB,gBAAW,GAAY,KAAK,CAAC;IA4UxC,CAAC;IAtVU,SAAS;QAClB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC;IAKM,gBAAgB;QACtB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC5C,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE;gBAC7B,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACjD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;aACjD;SACD;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEjD,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YAClC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;SAC9D;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YAClC,iBAAiB,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;SACtF;IACF,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,KAAa;QACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,IAAI,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,EAAE;YACpC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,iBAAiB,CAAC,OAAO,EAAE,CAAC;SAC5B;IACF,CAAC;IAEM,mBAAmB;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACtB,CAAC;IAES,eAAe,CAAC,QAA6C;QACtE,MAAM,WAAW,GAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACzH,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAChD,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;QAE1B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1C,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACzC,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEhC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;QACtB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC9B,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACtB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE;YAC/B,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;gBAC9B,WAAW,CAAC,EAAE,GAAG,SAAS,CAAC;aAC3B;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;gBAC9B,WAAW,CAAC,EAAE,GAAG,SAAS,CAAC;aAC3B;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAES,aAAa,CAAC,eAAoE;QAC3F,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAErC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,iBAAiB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1D,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAES,cAAc;QACvB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAEM,eAAe;QACrB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAEjD,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;YAEpC,IAAI,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YAEnD,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAChG,iBAAiB,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAChG;QAED,IAAI,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,aAAa,EAAE,CAAC;SACrB;IACF,CAAC;IAEM,aAAa;QACnB,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACjD,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/E,IAAI,QAAQ,GAAI,MAAc,CAAC,QAAQ,CAAC;YACxC,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAwB,CAAC;YACvD,IAAI,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;YAEzD,IAAI,MAAM,EAAE;gBACX,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC;aACzE;YACD,OAAO,CAAC,CAAC;QACV,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YACrC,IAAI,QAAQ,GAAI,MAAc,CAAC,QAAQ,CAAC;YACxC,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAwB,CAAC;YACvD,IAAI,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC9C,IAAI,MAAM,IAAI,WAAW,EAAE;gBAC1B,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAErC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE;oBAC5B,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;iBAChD;gBAED,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAE/B,OAAO,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;aAC3C;QACF,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAES,iBAAiB,CAAC,SAA8C;QACzE,sBAAsB;IACvB,CAAC;IAEM,WAAW;QACjB,KAAK,CAAC,WAAW,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,mBAAmB;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,SAAS,EAAE;YACd,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE;gBAChC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC,CAAC,CAAC;YACH,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE;gBAChC,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;YACnC,CAAC,CAAC,CAAC;SACH;QACD,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YAC1C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SAChD;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAE7C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAW,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA+C,CAAC;YACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAElC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC,CAAA;IAEH,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,SAAqD;QAC1E,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE;YACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,QAAQ,EAAE;gBACb,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;oBAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBAEnE,IAAI,gBAAgB,EAAE;wBACrB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;qBAC7E;gBACF,CAAC,CAAC,CAAA;aACF;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,QAAQ,EAAE;gBACb,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;aAC9B;QACF,CAAC,CAAC,CAAA;IACH,CAAC;IAED;;OAEG;IACO,WAAW,CAAC,SAAc;QACnC,IAAI,cAAc,GAA6E,SAAS,CAAC,cAAc,CAAC;QACxH,IAAI,cAAc,GAA6E,SAAS,CAAC,cAAc,CAAC;QAExH,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,IAAI,cAAc,IAAI,cAAc,EAAE;YAErC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAE;gBAC1B,OAAO,CAAC,CAAC;aACT;YAED,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;YAC1B,IAAI,IAAI,EAAE;gBACT,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;aACnC;YAED,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAE9C,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAE;gBAC1B,QAAQ,GAAG,CAAC,CAAC;aACb;YAED,OAAO,CAAC,QAAQ,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9K;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;OAEG;IACO,WAAW,CAAC,SAAc;QACnC,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC1B,IAAI,IAAI,EAAE;YACT,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;SACnC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;QAChD,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAES,WAAW,CAAC,QAA6C;QAClE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAE7B,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,MAAc,CAAC,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;SAClE;aACI;YACH,MAAc,CAAC,EAAE,GAAG,SAAS,CAAC;SAC/B;QAED,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,MAAc,CAAC,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SACnE;aACI;YACH,MAAc,CAAC,EAAE,GAAG,SAAS,CAAC;SAC/B;IACF,CAAC;IAES,aAAa,CAAC,QAA6C;QACpE,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;QAExD,IAAI,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvE,IAAI,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAEvE,IAAI,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,MAAM,GAAG,SAAS,CAAC;QAEvB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAE5C,IAAI,GAAG,GAAG,CAAC,EAAE;YACZ,MAAM,GAAG,SAAS,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;SAClF;QAED,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC5B,MAAM,GAAG,SAAS,CAAC;SACnB;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE3C,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACnG,CAAC;IAES,YAAY,CAAC,IAAmB,EAAE,MAA2C,EAAE,MAA2C;QACnI,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAChK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAElC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAES,YAAY,CAAC,IAAmB;QACzC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvD,CAAC;IAES,aAAa;QACtB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAES,YAAY;QAErB,KAAK,CAAC,YAAY,EAAE,CAAC;QAErB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IAClB,CAAC;;AAhWa,uBAAS,GAAW,eAAe,CAAC;AACpC,wBAAU,GAAkB,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Percent } from \"../../core/util/Percent\";\nimport type { LinkedHierarchyNode } from \"./LinkedHierarchyNode\";\nimport type { HierarchyLink } from \"./HierarchyLink\";\nimport type * as d3Hierarchy from \"d3-hierarchy\";\n\nimport { LinkedHierarchy, ILinkedHierarchySettings, ILinkedHierarchyDataItem, ILinkedHierarchyPrivate, ILinkedHierarchyEvents } from \"./LinkedHierarchy\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $type from \"../../core/util/Type\";\nimport * as d3Force from \"d3-force\";\n\n/**\n * @ignore\n */\nexport interface IForceDirectedDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: IForceDirectedDataObject[],\n\tdataItem?: DataItem<IForceDirectedDataItem>\n};\n\nexport interface IForceDirectedDataItem extends ILinkedHierarchyDataItem {\n\n\t/**\n\t * An array of data items of child nodes.\n\t */\n\tchildren: Array<DataItem<IForceDirectedDataItem>>;\n\n\t/**\n\t * Data item of a parent node.\n\t */\n\tparent: DataItem<IForceDirectedDataItem>;\n\n\t/**\n\t * @ignore\n\t */\n\td3ForceNode: d3Force.SimulationNodeDatum;\n\n\t/**\n\t * X coordinate.\n\t */\n\tx: number | undefined;\n\n\t/**\n\t * Y coordinate.\n\t */\n\ty: number | undefined;\n}\n\nexport interface IForceDirectedSettings extends ILinkedHierarchySettings {\n\n\t/**\n\t * Minimum gap in pixels between the nodes.\n\t */\n\tnodePadding?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) all nodes to the center of the\n\t * chart.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tcenterStrength?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) all nodes to each other.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default -15\n\t */\n\tmanyBodyStrength?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) nodes that are linked together\n\t * via `linkWithField`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tlinkWithStrength?: number | undefined;\n\n\t/**\n\t * Resistance acting agains node speed.\n\t *\n\t * The greater the value, the more \"sluggish\" the nodes will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tvelocityDecay?: number;\n\n\t/**\n\t * Length of how long initial force simulation would run in frames.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 500\n\t */\n\tinitialFrames?: number;\n\n\t/**\n\t * If set to a number will wait X number of frames before revealing\n\t * the tree.\n\t *\n\t * Can be used to hide initial animations where nodes settle into their\n\t * places.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 10\n\t */\n\tshowOnFrame?: number;\n\n\t/**\n\t * Smallest possible radius for a node circle.\n\t *\n\t * Can be a fixed pixel value or percent relative to chart size.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Sizing_nodes} for more info\n\t * @default 1%\n\t */\n\tminRadius?: number | Percent;\n\n\t/**\n\t * Biggest possible radius for a node circle.\n\t *\n\t * Can be a fixed pixel value or percent relative to chart size.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Sizing_nodes} for more info\n\t * @default 8%\n\t */\n\tmaxRadius?: number | Percent;\n\n\t/**\n\t * Field in data that holds X coordinate of the node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info\n\t */\n\txField?: string;\n\n\t/**\n\t * Field in data that holds X coordinate of the node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info\n\t */\n\tyField?: string;\n\n}\n\nexport interface IForceDirectedPrivate extends ILinkedHierarchyPrivate {\n}\n\nexport interface IForceDirectedEvents extends ILinkedHierarchyEvents {\n}\n\n/**\n * Creates a force-directed tree.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/} for more info\n * @important\n */\nexport class ForceDirected extends LinkedHierarchy {\n\n\tprotected _tag: string = \"forcedirected\";\n\n\t/**\n\t * @ignore\n\t */\n\tpublic readonly d3forceSimulation: d3Force.Simulation<{}, d3Force.SimulationLinkDatum<d3Force.SimulationNodeDatum>> = d3Force.forceSimulation();\n\n\t/**\n\t * @ignore\n\t */\n\tpublic readonly collisionForce: d3Force.ForceCollide<d3Force.SimulationNodeDatum> = d3Force.forceCollide(20);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic linkForce: d3Force.ForceLink<d3Force.SimulationNodeDatum, d3Force.SimulationLinkDatum<d3Force.SimulationNodeDatum>> = d3Force.forceLink();\n\n\tpublic static className: string = \"ForceDirected\";\n\tpublic static classNames: Array<string> = LinkedHierarchy.classNames.concat([ForceDirected.className]);\n\n\tdeclare public _settings: IForceDirectedSettings;\n\tdeclare public _privateSettings: IForceDirectedPrivate;\n\tdeclare public _dataItemSettings: IForceDirectedDataItem;\n\tdeclare public _events: IForceDirectedEvents;\n\n\tprotected _nodes: Array<any> = [];\n\tprotected _links: Array<any> = [];\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis.d3forceSimulation.on(\"tick\", () => {\n\t\t\tthis._tick++;\n\t\t\tthis.updateNodePositions();\n\t\t});\n\t}\n\n\tprotected _tick: number = 0;\n\tprotected _nodesDirty: boolean = false;\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tif (this.isDirty(\"showOnFrame\")) {\n\t\t\tconst showOnFrame = this.get(\"showOnFrame\");\n\t\t\tif (showOnFrame > this._tick) {\n\t\t\t\tthis.nodesContainer.setPrivate(\"visible\", false);\n\t\t\t\tthis.linksContainer.setPrivate(\"visible\", false);\n\t\t\t}\n\t\t}\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\n\t\tif (this.isDirty(\"velocityDecay\")) {\n\t\t\td3forceSimulation.velocityDecay(this.get(\"velocityDecay\", 0));\n\t\t}\n\n\t\tif (this.isDirty(\"initialFrames\")) {\n\t\t\td3forceSimulation.alphaDecay(1 - Math.pow(0.001, 1 / this.get(\"initialFrames\", 500)));\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic restartSimulation(alpha: number): void {\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\tif (d3forceSimulation.alpha() < .25) {\n\t\t\td3forceSimulation.alpha(alpha);\n\t\t\td3forceSimulation.restart();\n\t\t}\n\t}\n\n\tpublic _handleRadiusChange() {\n\t\tthis._updateForces();\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst d3ForceNode: any = { index: this._index, x: this.innerWidth() / 2, y: this.innerHeight() / 2, dataItem: dataItem };\n\t\tconst index = this._nodes.push(d3ForceNode) - 1;\n\t\td3ForceNode.index = index;\n\n\t\tthis.d3forceSimulation.nodes(this._nodes);\n\n\t\tdataItem.set(\"d3ForceNode\", d3ForceNode);\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.set(\"x\", -10000);\n\t\tnode.on(\"scale\", () => {\n\t\t\tthis._updateForces();\n\t\t})\n\n\t\tnode.events.on(\"dragged\", () => {\n\t\t\td3ForceNode.fx = node.x();\n\t\t\td3ForceNode.fy = node.y();\n\t\t\tthis._updateForces();\n\t\t})\n\n\t\tnode.events.on(\"dragstop\", () => {\n\t\t\tif (dataItem.get(\"x\") == null) {\n\t\t\t\td3ForceNode.fx = undefined;\n\t\t\t}\n\t\t\tif (dataItem.get(\"y\") == null) {\n\t\t\t\td3ForceNode.fy = undefined;\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _updateValues(d3HierarchyNode: d3Hierarchy.HierarchyNode<IForceDirectedDataObject>) {\n\t\tsuper._updateValues(d3HierarchyNode);\n\n\t\tthis._nodesDirty = true;\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\td3forceSimulation.force(\"collision\", this.collisionForce);\n\t\td3forceSimulation.nodes(this._nodes);\n\n\t\tthis.linkForce = d3Force.forceLink(this._links);\n\t\td3forceSimulation.force(\"link\", this.linkForce);\n\t}\n\n\tprotected _updateVisuals() {\n\t\tsuper._updateVisuals();\n\t\tthis.restartSimulation(.3);\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\n\t\tif (this._sizeDirty) {\n\t\t\tlet w = Math.max(50, this.innerWidth());\n\t\t\tlet h = Math.max(50, this.innerHeight());\n\t\t\tlet pt = this.get(\"paddingTop\", 0);\n\t\t\tlet pl = this.get(\"paddingLeft\", 0);\n\n\t\t\tlet centerStrength = this.get(\"centerStrength\", 1);\n\n\t\t\td3forceSimulation.force(\"x\", d3Force.forceX().x(w / 2 + pl).strength(centerStrength * 100 / w));\n\t\t\td3forceSimulation.force(\"y\", d3Force.forceY().y(h / 2 + pt).strength(centerStrength * 100 / h));\n\t\t}\n\n\t\tif (this._nodesDirty) {\n\t\t\tthis._updateForces();\n\t\t}\n\t}\n\n\tpublic _updateForces() {\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\td3forceSimulation.force(\"manybody\", d3Force.forceManyBody().strength((d3node) => {\n\t\t\tlet dataItem = (d3node as any).dataItem;\n\t\t\tlet node = dataItem.get(\"node\") as LinkedHierarchyNode;\n\t\t\tlet circle = dataItem.get(\"circle\");\n\t\t\tlet manyBodyStrength = this.get(\"manyBodyStrength\", -15);\n\n\t\t\tif (circle) {\n\t\t\t\treturn circle.get(\"radius\", 1) * node.get(\"scale\", 1) * manyBodyStrength;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}));\n\n\t\tthis.collisionForce.radius((d3node) => {\n\t\t\tlet dataItem = (d3node as any).dataItem;\n\t\t\tlet node = dataItem.get(\"node\") as LinkedHierarchyNode;\n\t\t\tlet circle = dataItem.get(\"circle\");\n\t\t\tlet outerCircle = dataItem.get(\"outerCircle\");\n\t\t\tif (circle && outerCircle) {\n\t\t\t\tlet radius = circle.get(\"radius\", 1);\n\n\t\t\t\tif (!outerCircle.isHidden()) {\n\t\t\t\t\tradius = radius * outerCircle.get(\"scale\", 1.1);\n\t\t\t\t}\n\n\t\t\t\tradius *= node.get(\"scale\", 1);\n\n\t\t\t\treturn radius + this.get(\"nodePadding\", 0);\n\t\t\t}\n\t\t})\n\t\tthis.restartSimulation(0.3);\n\t}\n\n\tprotected _animatePositions(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\t// void, do not remove\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._nodesDirty = false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateNodePositions() {\n\t\tconst linkForce = this.linkForce;\n\t\tif (linkForce) {\n\t\t\tlinkForce.distance((linkDatum) => {\n\t\t\t\treturn this.getDistance(linkDatum)\n\t\t\t});\n\t\t\tlinkForce.strength((linkDatum) => {\n\t\t\t\treturn this.getStrength(linkDatum)\n\t\t\t});\n\t\t}\n\t\tif (this._tick == this.get(\"showOnFrame\")) {\n\t\t\tthis.nodesContainer.setPrivate(\"visible\", true);\n\t\t\tthis.linksContainer.setPrivate(\"visible\", true);\n\t\t}\n\n\t\tlet d3Nodes = this.d3forceSimulation.nodes();\n\n\t\t$array.each(d3Nodes, (d3Node: any) => {\n\t\t\tconst dataItem = d3Node.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tconst node = dataItem.get(\"node\");\n\n\t\t\tnode.set(\"x\", d3Node.x);\n\t\t\tnode.set(\"y\", d3Node.y);\n\t\t})\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLinkWith(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>) {\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst linkWith = dataItem.get(\"linkWith\");\n\t\t\tif (linkWith) {\n\t\t\t\t$array.each(linkWith, (id) => {\n\t\t\t\t\tconst linkWithDataItem = this._getDataItemById(this.dataItems, id);\n\n\t\t\t\t\tif (linkWithDataItem) {\n\t\t\t\t\t\tthis.linkDataItems(dataItem, linkWithDataItem, this.get(\"linkWithStrength\"));\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\tthis.updateLinkWith(children);\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected getDistance(linkDatum: any) {\n\t\tlet sourceDataItem: DataItem<this[\"_dataItemSettings\"]> = <DataItem<this[\"_dataItemSettings\"]>>linkDatum.sourceDataItem;\n\t\tlet targetDataItem: DataItem<this[\"_dataItemSettings\"]> = <DataItem<this[\"_dataItemSettings\"]>>linkDatum.targetDataItem;\n\n\t\tlet distance = 0;\n\n\t\tif (sourceDataItem && targetDataItem) {\n\n\t\t\tconst targetNode = targetDataItem.get(\"node\");\n\t\t\tif (targetNode.isHidden()) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tlet link = linkDatum.link;\n\t\t\tif (link) {\n\t\t\t\tdistance = link.get(\"distance\", 1);\n\t\t\t}\n\n\t\t\tconst sourceNode = sourceDataItem.get(\"node\");\n\n\t\t\tif (targetNode.isHidden()) {\n\t\t\t\tdistance = 1;\n\t\t\t}\n\n\t\t\treturn (distance * (sourceDataItem.get(\"circle\").get(\"radius\", 1) * sourceNode.get(\"scale\", 1) + targetDataItem.get(\"circle\").get(\"radius\", 1) * targetNode.get(\"scale\", 1)));\n\t\t}\n\t\treturn distance;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected getStrength(linkDatum: any) {\n\t\tlet strength = 0;\n\n\t\tlet link = linkDatum.link;\n\t\tif (link) {\n\t\t\tstrength = link.get(\"strength\", 1);\n\t\t}\n\n\t\tconst targetDataItem = linkDatum.targetDataItem;\n\t\tstrength *= targetDataItem.get(\"node\").get(\"scale\");\n\n\t\treturn strength;\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\t\tthis._updateRadius(dataItem);\n\n\t\tconst x = dataItem.get(\"x\");\n\t\tconst y = dataItem.get(\"y\");\n\n\t\tconst d3Node = dataItem.get(\"d3ForceNode\");\n\n\t\tif (x != null) {\n\t\t\t(d3Node as any).fx = $utils.relativeToValue(x, this.innerWidth());\n\t\t}\n\t\telse {\n\t\t\t(d3Node as any).fx = undefined;\n\t\t}\n\n\t\tif (y != null) {\n\t\t\t(d3Node as any).fy = $utils.relativeToValue(y, this.innerHeight());\n\t\t}\n\t\telse {\n\t\t\t(d3Node as any).fx = undefined;\n\t\t}\n\t}\n\n\tprotected _updateRadius(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet size = (this.innerWidth() + this.innerHeight()) / 2;\n\n\t\tlet minRadius = $utils.relativeToValue(this.get(\"minRadius\", 1), size);\n\t\tlet maxRadius = $utils.relativeToValue(this.get(\"maxRadius\", 5), size);\n\n\t\tlet valueWorking = dataItem.get(\"sum\");\n\n\t\tlet radius = maxRadius;\n\n\t\tconst min = this.getPrivate(\"valueLow\", 0);\n\t\tconst max = this.getPrivate(\"valueHigh\", 0);\n\n\t\tif (max > 0) {\n\t\t\tradius = minRadius + (valueWorking - min) / (max - min) * (maxRadius - minRadius);\n\t\t}\n\n\t\tif (!$type.isNumber(radius)) {\n\t\t\tradius = minRadius;\n\t\t}\n\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tdataItem.get(\"circle\").animate({ key: \"radius\", to: radius, duration: duration, easing: easing });\n\t}\n\n\tprotected _processLink(link: HierarchyLink, source: DataItem<this[\"_dataItemSettings\"]>, target: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst d3Link = { link: link, source: source.get(\"d3ForceNode\").index, target: target.get(\"d3ForceNode\").index, sourceDataItem: source, targetDataItem: target };\n\t\tthis._links.push(d3Link);\n\t\tlink.setPrivate(\"d3Link\", d3Link);\n\n\t\tthis.linkForce = d3Force.forceLink(this._links);\n\t\tthis.d3forceSimulation.force(\"link\", this.linkForce);\n\t\tthis.restartSimulation(0.5);\n\t}\n\n\tprotected _disposeLink(link: HierarchyLink) {\n\t\tsuper._disposeLink(link);\n\t\t$array.remove(this._links, link.getPrivate(\"d3Link\"));\n\t}\n\n\tprotected _handleUnlink() {\n\t\tthis.restartSimulation(0.5);\n\t}\n\n\tprotected _onDataClear() {\n\n\t\tsuper._onDataClear();\n\n\t\tthis._nodes = [];\n\t\tthis._links = [];\n\t}\n}\n"]}
1
+ {"version":3,"file":"ForceDirected.js","sourceRoot":"","sources":["../../../../../src/.internal/charts/hierarchy/ForceDirected.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { Percent } from \"../../core/util/Percent\";\nimport type { LinkedHierarchyNode } from \"./LinkedHierarchyNode\";\nimport type { HierarchyLink } from \"./HierarchyLink\";\nimport type * as d3Hierarchy from \"d3-hierarchy\";\n\nimport { LinkedHierarchy, ILinkedHierarchySettings, ILinkedHierarchyDataItem, ILinkedHierarchyPrivate, ILinkedHierarchyEvents } from \"./LinkedHierarchy\";\n\nimport * as $array from \"../../core/util/Array\";\nimport * as $utils from \"../../core/util/Utils\";\nimport * as $type from \"../../core/util/Type\";\nimport * as d3Force from \"d3-force\";\n\n/**\n * @ignore\n */\nexport interface IForceDirectedDataObject {\n\tname?: string,\n\tvalue?: number,\n\tchildren?: IForceDirectedDataObject[],\n\tdataItem?: DataItem<IForceDirectedDataItem>\n};\n\nexport interface IForceDirectedDataItem extends ILinkedHierarchyDataItem {\n\n\t/**\n\t * An array of data items of child nodes.\n\t */\n\tchildren: Array<DataItem<IForceDirectedDataItem>>;\n\n\t/**\n\t * Data item of a parent node.\n\t */\n\tparent: DataItem<IForceDirectedDataItem>;\n\n\t/**\n\t * @ignore\n\t */\n\td3ForceNode: d3Force.SimulationNodeDatum;\n\n\t/**\n\t * X coordinate.\n\t */\n\tx: number | undefined;\n\n\t/**\n\t * Y coordinate.\n\t */\n\ty: number | undefined;\n}\n\nexport interface IForceDirectedSettings extends ILinkedHierarchySettings {\n\n\t/**\n\t * Minimum gap in pixels between the nodes.\n\t */\n\tnodePadding?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) all nodes to the center of the\n\t * chart.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tcenterStrength?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) all nodes to each other.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default -15\n\t */\n\tmanyBodyStrength?: number;\n\n\t/**\n\t * A force that attracts (or pushes back) nodes that are linked together\n\t * via `linkWithField`.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tlinkWithStrength?: number | undefined;\n\n\t/**\n\t * Resistance acting against node speed.\n\t *\n\t * The greater the value, the more \"sluggish\" the nodes will be.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 0.5\n\t */\n\tvelocityDecay?: number;\n\n\t/**\n\t * Length of how long initial force simulation would run in frames.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 500\n\t */\n\tinitialFrames?: number;\n\n\t/**\n\t * If set to a number will wait X number of frames before revealing\n\t * the tree.\n\t *\n\t * Can be used to hide initial animations where nodes settle into their\n\t * places.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Layout_and_force_simulation} for more info\n\t * @default 10\n\t */\n\tshowOnFrame?: number;\n\n\t/**\n\t * Smallest possible radius for a node circle.\n\t *\n\t * Can be a fixed pixel value or percent relative to chart size.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Sizing_nodes} for more info\n\t * @default 1%\n\t */\n\tminRadius?: number | Percent;\n\n\t/**\n\t * Biggest possible radius for a node circle.\n\t *\n\t * Can be a fixed pixel value or percent relative to chart size.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Sizing_nodes} for more info\n\t * @default 8%\n\t */\n\tmaxRadius?: number | Percent;\n\n\t/**\n\t * Field in data that holds X coordinate of the node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info\n\t */\n\txField?: string;\n\n\t/**\n\t * Field in data that holds Y coordinate of the node.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/#Fixed_nodes} for more info\n\t */\n\tyField?: string;\n\n}\n\nexport interface IForceDirectedPrivate extends ILinkedHierarchyPrivate {\n}\n\nexport interface IForceDirectedEvents extends ILinkedHierarchyEvents {\n}\n\n/**\n * Creates a force-directed tree.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/force-directed/} for more info\n * @important\n */\nexport class ForceDirected extends LinkedHierarchy {\n\n\tprotected _tag: string = \"forcedirected\";\n\n\t/**\n\t * @ignore\n\t */\n\tpublic readonly d3forceSimulation: d3Force.Simulation<{}, d3Force.SimulationLinkDatum<d3Force.SimulationNodeDatum>> = d3Force.forceSimulation();\n\n\t/**\n\t * @ignore\n\t */\n\tpublic readonly collisionForce: d3Force.ForceCollide<d3Force.SimulationNodeDatum> = d3Force.forceCollide(20);\n\n\t/**\n\t * @ignore\n\t */\n\tpublic linkForce: d3Force.ForceLink<d3Force.SimulationNodeDatum, d3Force.SimulationLinkDatum<d3Force.SimulationNodeDatum>> = d3Force.forceLink();\n\n\tpublic static className: string = \"ForceDirected\";\n\tpublic static classNames: Array<string> = LinkedHierarchy.classNames.concat([ForceDirected.className]);\n\n\tdeclare public _settings: IForceDirectedSettings;\n\tdeclare public _privateSettings: IForceDirectedPrivate;\n\tdeclare public _dataItemSettings: IForceDirectedDataItem;\n\tdeclare public _events: IForceDirectedEvents;\n\n\tprotected _nodes: Array<any> = [];\n\tprotected _links: Array<any> = [];\n\n\tprotected _afterNew() {\n\t\tsuper._afterNew();\n\n\t\tthis.d3forceSimulation.on(\"tick\", () => {\n\t\t\tthis._tick++;\n\t\t\tthis.updateNodePositions();\n\t\t});\n\t}\n\n\tprotected _tick: number = 0;\n\tprotected _nodesDirty: boolean = false;\n\n\tpublic _prepareChildren() {\n\t\tsuper._prepareChildren();\n\t\tif (this.isDirty(\"showOnFrame\")) {\n\t\t\tconst showOnFrame = this.get(\"showOnFrame\");\n\t\t\tif (showOnFrame > this._tick) {\n\t\t\t\tthis.nodesContainer.setPrivate(\"visible\", false);\n\t\t\t\tthis.linksContainer.setPrivate(\"visible\", false);\n\t\t\t}\n\t\t}\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\n\t\tif (this.isDirty(\"velocityDecay\")) {\n\t\t\td3forceSimulation.velocityDecay(this.get(\"velocityDecay\", 0));\n\t\t}\n\n\t\tif (this.isDirty(\"initialFrames\")) {\n\t\t\td3forceSimulation.alphaDecay(1 - Math.pow(0.001, 1 / this.get(\"initialFrames\", 500)));\n\t\t}\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic restartSimulation(alpha: number): void {\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\tif (d3forceSimulation.alpha() < .25) {\n\t\t\td3forceSimulation.alpha(alpha);\n\t\t\td3forceSimulation.restart();\n\t\t}\n\t}\n\n\tpublic _handleRadiusChange() {\n\t\tthis._updateForces();\n\t}\n\n\tprotected processDataItem(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst d3ForceNode: any = { index: this._index, x: this.innerWidth() / 2, y: this.innerHeight() / 2, dataItem: dataItem };\n\t\tconst index = this._nodes.push(d3ForceNode) - 1;\n\t\td3ForceNode.index = index;\n\n\t\tthis.d3forceSimulation.nodes(this._nodes);\n\n\t\tdataItem.set(\"d3ForceNode\", d3ForceNode);\n\t\tsuper.processDataItem(dataItem);\n\n\t\tconst node = dataItem.get(\"node\");\n\t\tnode.set(\"x\", -10000);\n\t\tnode.on(\"scale\", () => {\n\t\t\tthis._updateForces();\n\t\t})\n\n\t\tnode.events.on(\"dragged\", () => {\n\t\t\td3ForceNode.fx = node.x();\n\t\t\td3ForceNode.fy = node.y();\n\t\t\tthis._updateForces();\n\t\t})\n\n\t\tnode.events.on(\"dragstop\", () => {\n\t\t\tif (dataItem.get(\"x\") == null) {\n\t\t\t\td3ForceNode.fx = undefined;\n\t\t\t}\n\t\t\tif (dataItem.get(\"y\") == null) {\n\t\t\t\td3ForceNode.fy = undefined;\n\t\t\t}\n\t\t})\n\t}\n\n\tprotected _updateValues(d3HierarchyNode: d3Hierarchy.HierarchyNode<IForceDirectedDataObject>) {\n\t\tsuper._updateValues(d3HierarchyNode);\n\n\t\tthis._nodesDirty = true;\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\td3forceSimulation.force(\"collision\", this.collisionForce);\n\t\td3forceSimulation.nodes(this._nodes);\n\n\t\tthis.linkForce = d3Force.forceLink(this._links);\n\t\td3forceSimulation.force(\"link\", this.linkForce);\n\t}\n\n\tprotected _updateVisuals() {\n\t\tsuper._updateVisuals();\n\t\tthis.restartSimulation(.3);\n\t}\n\n\tpublic _updateChildren() {\n\t\tsuper._updateChildren();\n\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\n\t\tif (this._sizeDirty) {\n\t\t\tlet w = Math.max(50, this.innerWidth());\n\t\t\tlet h = Math.max(50, this.innerHeight());\n\t\t\tlet pt = this.get(\"paddingTop\", 0);\n\t\t\tlet pl = this.get(\"paddingLeft\", 0);\n\n\t\t\tlet centerStrength = this.get(\"centerStrength\", 1);\n\n\t\t\td3forceSimulation.force(\"x\", d3Force.forceX().x(w / 2 + pl).strength(centerStrength * 100 / w));\n\t\t\td3forceSimulation.force(\"y\", d3Force.forceY().y(h / 2 + pt).strength(centerStrength * 100 / h));\n\t\t}\n\n\t\tif (this._nodesDirty) {\n\t\t\tthis._updateForces();\n\t\t}\n\t}\n\n\tpublic _updateForces() {\n\t\tconst d3forceSimulation = this.d3forceSimulation;\n\t\td3forceSimulation.force(\"manybody\", d3Force.forceManyBody().strength((d3node) => {\n\t\t\tlet dataItem = (d3node as any).dataItem;\n\t\t\tlet node = dataItem.get(\"node\") as LinkedHierarchyNode;\n\t\t\tlet circle = dataItem.get(\"circle\");\n\t\t\tlet manyBodyStrength = this.get(\"manyBodyStrength\", -15);\n\n\t\t\tif (circle) {\n\t\t\t\treturn circle.get(\"radius\", 1) * node.get(\"scale\", 1) * manyBodyStrength;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}));\n\n\t\tthis.collisionForce.radius((d3node) => {\n\t\t\tlet dataItem = (d3node as any).dataItem;\n\t\t\tlet node = dataItem.get(\"node\") as LinkedHierarchyNode;\n\t\t\tlet circle = dataItem.get(\"circle\");\n\t\t\tlet outerCircle = dataItem.get(\"outerCircle\");\n\t\t\tif (circle && outerCircle) {\n\t\t\t\tlet radius = circle.get(\"radius\", 1);\n\n\t\t\t\tif (!outerCircle.isHidden()) {\n\t\t\t\t\tradius = radius * outerCircle.get(\"scale\", 1.1);\n\t\t\t\t}\n\n\t\t\t\tradius *= node.get(\"scale\", 1);\n\n\t\t\t\treturn radius + this.get(\"nodePadding\", 0);\n\t\t\t}\n\t\t})\n\t\tthis.restartSimulation(0.3);\n\t}\n\n\tprotected _animatePositions(_dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\t// void, do not remove\n\t}\n\n\tpublic _clearDirty() {\n\t\tsuper._clearDirty();\n\t\tthis._nodesDirty = false;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateNodePositions() {\n\t\tconst linkForce = this.linkForce;\n\t\tif (linkForce) {\n\t\t\tlinkForce.distance((linkDatum) => {\n\t\t\t\treturn this.getDistance(linkDatum)\n\t\t\t});\n\t\t\tlinkForce.strength((linkDatum) => {\n\t\t\t\treturn this.getStrength(linkDatum)\n\t\t\t});\n\t\t}\n\t\tif (this._tick == this.get(\"showOnFrame\")) {\n\t\t\tthis.nodesContainer.setPrivate(\"visible\", true);\n\t\t\tthis.linksContainer.setPrivate(\"visible\", true);\n\t\t}\n\n\t\tlet d3Nodes = this.d3forceSimulation.nodes();\n\n\t\t$array.each(d3Nodes, (d3Node: any) => {\n\t\t\tconst dataItem = d3Node.dataItem as DataItem<this[\"_dataItemSettings\"]>;\n\t\t\tconst node = dataItem.get(\"node\");\n\n\t\t\tnode.set(\"x\", d3Node.x);\n\t\t\tnode.set(\"y\", d3Node.y);\n\t\t})\n\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tpublic updateLinkWith(dataItems: Array<DataItem<this[\"_dataItemSettings\"]>>) {\n\t\t$array.each(dataItems, (dataItem) => {\n\t\t\tconst linkWith = dataItem.get(\"linkWith\");\n\t\t\tif (linkWith) {\n\t\t\t\t$array.each(linkWith, (id) => {\n\t\t\t\t\tconst linkWithDataItem = this._getDataItemById(this.dataItems, id);\n\n\t\t\t\t\tif (linkWithDataItem) {\n\t\t\t\t\t\tthis.linkDataItems(dataItem, linkWithDataItem, this.get(\"linkWithStrength\"));\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst children = dataItem.get(\"children\");\n\t\t\tif (children) {\n\t\t\t\tthis.updateLinkWith(children);\n\t\t\t}\n\t\t})\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected getDistance(linkDatum: any) {\n\t\tlet sourceDataItem: DataItem<this[\"_dataItemSettings\"]> = <DataItem<this[\"_dataItemSettings\"]>>linkDatum.sourceDataItem;\n\t\tlet targetDataItem: DataItem<this[\"_dataItemSettings\"]> = <DataItem<this[\"_dataItemSettings\"]>>linkDatum.targetDataItem;\n\n\t\tlet distance = 0;\n\n\t\tif (sourceDataItem && targetDataItem) {\n\n\t\t\tconst targetNode = targetDataItem.get(\"node\");\n\t\t\tif (targetNode.isHidden()) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\tlet link = linkDatum.link;\n\t\t\tif (link) {\n\t\t\t\tdistance = link.get(\"distance\", 1);\n\t\t\t}\n\n\t\t\tconst sourceNode = sourceDataItem.get(\"node\");\n\n\t\t\tif (targetNode.isHidden()) {\n\t\t\t\tdistance = 1;\n\t\t\t}\n\n\t\t\treturn (distance * (sourceDataItem.get(\"circle\").get(\"radius\", 1) * sourceNode.get(\"scale\", 1) + targetDataItem.get(\"circle\").get(\"radius\", 1) * targetNode.get(\"scale\", 1)));\n\t\t}\n\t\treturn distance;\n\t}\n\n\t/**\n\t * @ignore\n\t */\n\tprotected getStrength(linkDatum: any) {\n\t\tlet strength = 0;\n\n\t\tlet link = linkDatum.link;\n\t\tif (link) {\n\t\t\tstrength = link.get(\"strength\", 1);\n\t\t}\n\n\t\tconst targetDataItem = linkDatum.targetDataItem;\n\t\tstrength *= targetDataItem.get(\"node\").get(\"scale\");\n\n\t\treturn strength;\n\t}\n\n\tprotected _updateNode(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tsuper._updateNode(dataItem);\n\t\tthis._updateRadius(dataItem);\n\n\t\tconst x = dataItem.get(\"x\");\n\t\tconst y = dataItem.get(\"y\");\n\n\t\tconst d3Node = dataItem.get(\"d3ForceNode\");\n\n\t\tif (x != null) {\n\t\t\t(d3Node as any).fx = $utils.relativeToValue(x, this.innerWidth());\n\t\t}\n\t\telse {\n\t\t\t(d3Node as any).fx = undefined;\n\t\t}\n\n\t\tif (y != null) {\n\t\t\t(d3Node as any).fy = $utils.relativeToValue(y, this.innerHeight());\n\t\t}\n\t\telse {\n\t\t\t(d3Node as any).fx = undefined;\n\t\t}\n\t}\n\n\tprotected _updateRadius(dataItem: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tlet size = (this.innerWidth() + this.innerHeight()) / 2;\n\n\t\tlet minRadius = $utils.relativeToValue(this.get(\"minRadius\", 1), size);\n\t\tlet maxRadius = $utils.relativeToValue(this.get(\"maxRadius\", 5), size);\n\n\t\tlet valueWorking = dataItem.get(\"sum\");\n\n\t\tlet radius = maxRadius;\n\n\t\tconst min = this.getPrivate(\"valueLow\", 0);\n\t\tconst max = this.getPrivate(\"valueHigh\", 0);\n\n\t\tif (max > 0) {\n\t\t\tradius = minRadius + (valueWorking - min) / (max - min) * (maxRadius - minRadius);\n\t\t}\n\n\t\tif (!$type.isNumber(radius)) {\n\t\t\tradius = minRadius;\n\t\t}\n\n\t\tconst duration = this.get(\"animationDuration\", 0);\n\t\tconst easing = this.get(\"animationEasing\");\n\n\t\tdataItem.get(\"circle\").animate({ key: \"radius\", to: radius, duration: duration, easing: easing });\n\t}\n\n\tprotected _processLink(link: HierarchyLink, source: DataItem<this[\"_dataItemSettings\"]>, target: DataItem<this[\"_dataItemSettings\"]>) {\n\t\tconst d3Link = { link: link, source: source.get(\"d3ForceNode\").index, target: target.get(\"d3ForceNode\").index, sourceDataItem: source, targetDataItem: target };\n\t\tthis._links.push(d3Link);\n\t\tlink.setPrivate(\"d3Link\", d3Link);\n\n\t\tthis.linkForce = d3Force.forceLink(this._links);\n\t\tthis.d3forceSimulation.force(\"link\", this.linkForce);\n\t\tthis.restartSimulation(0.5);\n\t}\n\n\tprotected _disposeLink(link: HierarchyLink) {\n\t\tsuper._disposeLink(link);\n\t\t$array.remove(this._links, link.getPrivate(\"d3Link\"));\n\t}\n\n\tprotected _handleUnlink() {\n\t\tthis.restartSimulation(0.5);\n\t}\n\n\tprotected _onDataClear() {\n\n\t\tsuper._onDataClear();\n\n\t\tthis._nodes = [];\n\t\tthis._links = [];\n\t}\n}\n"]}
@@ -150,7 +150,7 @@ export interface IHierarchySettings extends ISeriesSettings {
150
150
  */
151
151
  downDepth?: number;
152
152
  /**
153
- * Number of levels parent levels to show from currently selected node.
153
+ * Number of parent levels to show from currently selected node.
154
154
  *
155
155
  * @see {@link https://www.amcharts.com/docs/v5/charts/hierarchy/#Drill_down} for more info
156
156
  */