@amcharts/amcharts5 5.3.17 → 5.4.1

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 (271) hide show
  1. package/.internal/charts/flow/ArcDiagram.d.ts +86 -0
  2. package/.internal/charts/flow/ArcDiagram.d.ts.map +1 -0
  3. package/.internal/charts/flow/ArcDiagram.js +161 -0
  4. package/.internal/charts/flow/ArcDiagram.js.map +1 -0
  5. package/.internal/charts/flow/ArcDiagramLink.d.ts +40 -0
  6. package/.internal/charts/flow/ArcDiagramLink.d.ts.map +1 -0
  7. package/.internal/charts/flow/ArcDiagramLink.js +130 -0
  8. package/.internal/charts/flow/ArcDiagramLink.js.map +1 -0
  9. package/.internal/charts/flow/ArcDiagramNodes.d.ts +60 -0
  10. package/.internal/charts/flow/ArcDiagramNodes.d.ts.map +1 -0
  11. package/.internal/charts/flow/ArcDiagramNodes.js +96 -0
  12. package/.internal/charts/flow/ArcDiagramNodes.js.map +1 -0
  13. package/.internal/charts/flow/Chord.d.ts +0 -9
  14. package/.internal/charts/flow/Chord.d.ts.map +1 -1
  15. package/.internal/charts/flow/Chord.js +0 -10
  16. package/.internal/charts/flow/Chord.js.map +1 -1
  17. package/.internal/charts/flow/ChordNodes.d.ts +9 -0
  18. package/.internal/charts/flow/ChordNodes.d.ts.map +1 -1
  19. package/.internal/charts/flow/ChordNodes.js +23 -2
  20. package/.internal/charts/flow/ChordNodes.js.map +1 -1
  21. package/.internal/charts/flow/Flow.d.ts +27 -1
  22. package/.internal/charts/flow/Flow.d.ts.map +1 -1
  23. package/.internal/charts/flow/Flow.js +7 -1
  24. package/.internal/charts/flow/Flow.js.map +1 -1
  25. package/.internal/charts/flow/FlowDefaultTheme.d.ts.map +1 -1
  26. package/.internal/charts/flow/FlowDefaultTheme.js +74 -3
  27. package/.internal/charts/flow/FlowDefaultTheme.js.map +1 -1
  28. package/.internal/charts/flow/FlowNodes.d.ts +16 -0
  29. package/.internal/charts/flow/FlowNodes.d.ts.map +1 -1
  30. package/.internal/charts/flow/FlowNodes.js +93 -1
  31. package/.internal/charts/flow/FlowNodes.js.map +1 -1
  32. package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
  33. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  34. package/.internal/charts/hierarchy/HierarchyDefaultTheme.d.ts.map +1 -1
  35. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js +45 -0
  36. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
  37. package/.internal/charts/hierarchy/Partition.d.ts +1 -1
  38. package/.internal/charts/hierarchy/Partition.js +1 -1
  39. package/.internal/charts/hierarchy/Partition.js.map +1 -1
  40. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts +117 -0
  41. package/.internal/charts/hierarchy/VoronoiTreemap.d.ts.map +1 -0
  42. package/.internal/charts/hierarchy/VoronoiTreemap.js +176 -0
  43. package/.internal/charts/hierarchy/VoronoiTreemap.js.map +1 -0
  44. package/.internal/charts/map/MapSeries.d.ts.map +1 -1
  45. package/.internal/charts/map/MapSeries.js +1 -0
  46. package/.internal/charts/map/MapSeries.js.map +1 -1
  47. package/.internal/charts/stock/indicators/BollingerBands.d.ts +1 -0
  48. package/.internal/charts/stock/indicators/BollingerBands.d.ts.map +1 -1
  49. package/.internal/charts/stock/indicators/BollingerBands.js +10 -0
  50. package/.internal/charts/stock/indicators/BollingerBands.js.map +1 -1
  51. package/.internal/charts/xy/XYChart.d.ts +1 -1
  52. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  53. package/.internal/charts/xy/XYChart.js +12 -3
  54. package/.internal/charts/xy/XYChart.js.map +1 -1
  55. package/.internal/charts/xy/XYCursor.d.ts +1 -0
  56. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  57. package/.internal/charts/xy/XYCursor.js +7 -4
  58. package/.internal/charts/xy/XYCursor.js.map +1 -1
  59. package/.internal/charts/xy/axes/DateAxis.js +1 -1
  60. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  61. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  62. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  63. package/.internal/core/Classes.d.ts +10 -0
  64. package/.internal/core/Classes.d.ts.map +1 -1
  65. package/.internal/core/Classes.js.map +1 -1
  66. package/.internal/core/Registry.d.ts.map +1 -1
  67. package/.internal/core/Registry.js +1 -1
  68. package/.internal/core/Registry.js.map +1 -1
  69. package/.internal/core/render/Polygon.d.ts +52 -0
  70. package/.internal/core/render/Polygon.d.ts.map +1 -0
  71. package/.internal/core/render/Polygon.js +133 -0
  72. package/.internal/core/render/Polygon.js.map +1 -0
  73. package/.internal/core/render/Sprite.js +1 -1
  74. package/.internal/core/render/Sprite.js.map +1 -1
  75. package/.internal/core/render/backend/CanvasRenderer.js +2 -2
  76. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  77. package/.internal/themes/AnimatedTheme.d.ts.map +1 -1
  78. package/.internal/themes/AnimatedTheme.js +2 -0
  79. package/.internal/themes/AnimatedTheme.js.map +1 -1
  80. package/.internal/themes/DefaultTheme.d.ts.map +1 -1
  81. package/.internal/themes/DefaultTheme.js +3 -0
  82. package/.internal/themes/DefaultTheme.js.map +1 -1
  83. package/CHANGELOG.md +26 -0
  84. package/examples/javascript/flow-arc-horizontal/README.md +6 -0
  85. package/examples/javascript/flow-arc-horizontal/index.css +11 -0
  86. package/examples/javascript/flow-arc-horizontal/index.html +12 -0
  87. package/examples/javascript/flow-arc-horizontal/index.js +116 -0
  88. package/examples/javascript/flow-arc-horizontal/package.json +16 -0
  89. package/examples/javascript/flow-arc-horizontal/webpack.config.js +38 -0
  90. package/examples/javascript/flow-arc-vertical/README.md +6 -0
  91. package/examples/javascript/flow-arc-vertical/index.css +11 -0
  92. package/examples/javascript/flow-arc-vertical/index.html +12 -0
  93. package/examples/javascript/flow-arc-vertical/index.js +91 -0
  94. package/examples/javascript/flow-arc-vertical/package.json +16 -0
  95. package/examples/javascript/flow-arc-vertical/webpack.config.js +38 -0
  96. package/examples/javascript/flow-chord/package.json +1 -1
  97. package/examples/javascript/flow-chord-directed/package.json +1 -1
  98. package/examples/javascript/flow-chord-non-ribbon/index.js +11 -5
  99. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  100. package/examples/javascript/flow-sankey/package.json +1 -1
  101. package/examples/javascript/gauge/package.json +1 -1
  102. package/examples/javascript/gauge-bands/package.json +1 -1
  103. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  104. package/examples/javascript/hierarchy-pack/package.json +1 -1
  105. package/examples/javascript/hierarchy-partition/package.json +1 -1
  106. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  107. package/examples/javascript/hierarchy-tree/package.json +1 -1
  108. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  109. package/examples/javascript/hierarchy-voronoi-treemap/README.md +6 -0
  110. package/examples/javascript/hierarchy-voronoi-treemap/index.css +11 -0
  111. package/examples/javascript/hierarchy-voronoi-treemap/index.html +12 -0
  112. package/examples/javascript/hierarchy-voronoi-treemap/index.js +1298 -0
  113. package/examples/javascript/hierarchy-voronoi-treemap/package.json +16 -0
  114. package/examples/javascript/hierarchy-voronoi-treemap/webpack.config.js +38 -0
  115. package/examples/javascript/jest/package.json +1 -1
  116. package/examples/javascript/json-pie/package.json +1 -1
  117. package/examples/javascript/json-xy/package.json +1 -1
  118. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  119. package/examples/javascript/map-day-and-night/package.json +1 -1
  120. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  121. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  122. package/examples/javascript/map-with-bubbles/package.json +1 -1
  123. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  124. package/examples/javascript/misc-40-charts/package.json +1 -1
  125. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  126. package/examples/javascript/pie-chart/package.json +1 -1
  127. package/examples/javascript/pie-donut-chart/package.json +1 -1
  128. package/examples/javascript/pie-variable-radius/package.json +1 -1
  129. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  130. package/examples/javascript/radar-heat-map/package.json +1 -1
  131. package/examples/javascript/radar-line/package.json +1 -1
  132. package/examples/javascript/radar-time-line/package.json +1 -1
  133. package/examples/javascript/sliced-funnel/package.json +1 -1
  134. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  135. package/examples/javascript/sliced-pyramid/package.json +1 -1
  136. package/examples/javascript/stock-chart/package.json +1 -1
  137. package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
  138. package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
  139. package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
  140. package/examples/javascript/stock-chart-intraday/package.json +1 -1
  141. package/examples/javascript/stock-chart-live/package.json +1 -1
  142. package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
  143. package/examples/javascript/venn-diagram/package.json +1 -1
  144. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  145. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  146. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  147. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  148. package/examples/javascript/xy-bubble/package.json +1 -1
  149. package/examples/javascript/xy-candlestick/package.json +1 -1
  150. package/examples/javascript/xy-clustered-column/package.json +1 -1
  151. package/examples/javascript/xy-column/package.json +1 -1
  152. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  153. package/examples/javascript/xy-data-grouping/package.json +1 -1
  154. package/examples/javascript/xy-draggable-range/package.json +1 -1
  155. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  156. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  157. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  158. package/examples/javascript/xy-line/package.json +1 -1
  159. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  160. package/examples/javascript/xy-live-data/package.json +1 -1
  161. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  162. package/examples/javascript/xy-ohlc/package.json +1 -1
  163. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  164. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  165. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  166. package/examples/javascript/xy-stacked-column/package.json +1 -1
  167. package/examples/javascript/xy-stacked-step/package.json +1 -1
  168. package/examples/javascript/xy-stock/package.json +1 -1
  169. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  170. package/examples/typescript/flow-arc-horizontal/README.md +6 -0
  171. package/examples/typescript/flow-arc-horizontal/index.css +11 -0
  172. package/examples/typescript/flow-arc-horizontal/index.html +12 -0
  173. package/examples/typescript/flow-arc-horizontal/index.ts +116 -0
  174. package/examples/typescript/flow-arc-horizontal/package.json +18 -0
  175. package/examples/typescript/flow-arc-horizontal/tsconfig.json +12 -0
  176. package/examples/typescript/flow-arc-horizontal/webpack.config.js +45 -0
  177. package/examples/typescript/flow-arc-vertical/README.md +6 -0
  178. package/examples/typescript/flow-arc-vertical/index.css +11 -0
  179. package/examples/typescript/flow-arc-vertical/index.html +12 -0
  180. package/examples/typescript/flow-arc-vertical/index.ts +91 -0
  181. package/examples/typescript/flow-arc-vertical/package.json +18 -0
  182. package/examples/typescript/flow-arc-vertical/tsconfig.json +12 -0
  183. package/examples/typescript/flow-arc-vertical/webpack.config.js +45 -0
  184. package/examples/typescript/flow-chord/package.json +1 -1
  185. package/examples/typescript/flow-chord-directed/package.json +1 -1
  186. package/examples/typescript/flow-chord-non-ribbon/index.ts +11 -5
  187. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  188. package/examples/typescript/flow-sankey/package.json +1 -1
  189. package/examples/typescript/gauge/package.json +1 -1
  190. package/examples/typescript/gauge-bands/package.json +1 -1
  191. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  192. package/examples/typescript/hierarchy-pack/package.json +1 -1
  193. package/examples/typescript/hierarchy-partition/package.json +1 -1
  194. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  195. package/examples/typescript/hierarchy-tree/package.json +1 -1
  196. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  197. package/examples/typescript/hierarchy-voronoi-treemap/README.md +6 -0
  198. package/examples/typescript/hierarchy-voronoi-treemap/index.css +11 -0
  199. package/examples/typescript/hierarchy-voronoi-treemap/index.html +12 -0
  200. package/examples/typescript/hierarchy-voronoi-treemap/index.ts +1298 -0
  201. package/examples/typescript/hierarchy-voronoi-treemap/package.json +18 -0
  202. package/examples/typescript/hierarchy-voronoi-treemap/tsconfig.json +12 -0
  203. package/examples/typescript/hierarchy-voronoi-treemap/webpack.config.js +45 -0
  204. package/examples/typescript/jest/package.json +1 -1
  205. package/examples/typescript/json-pie/package.json +1 -1
  206. package/examples/typescript/json-xy/package.json +1 -1
  207. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  208. package/examples/typescript/map-day-and-night/package.json +1 -1
  209. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  210. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  211. package/examples/typescript/map-with-bubbles/package.json +1 -1
  212. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  213. package/examples/typescript/misc-40-charts/package.json +1 -1
  214. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  215. package/examples/typescript/pie-chart/package.json +1 -1
  216. package/examples/typescript/pie-donut-chart/package.json +1 -1
  217. package/examples/typescript/pie-variable-radius/package.json +1 -1
  218. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  219. package/examples/typescript/radar-heat-map/package.json +1 -1
  220. package/examples/typescript/radar-line/package.json +1 -1
  221. package/examples/typescript/radar-time-line/package.json +1 -1
  222. package/examples/typescript/sliced-funnel/package.json +1 -1
  223. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  224. package/examples/typescript/sliced-pyramid/package.json +1 -1
  225. package/examples/typescript/stock-chart/package.json +1 -1
  226. package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
  227. package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
  228. package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
  229. package/examples/typescript/stock-chart-intraday/package.json +1 -1
  230. package/examples/typescript/stock-chart-live/package.json +1 -1
  231. package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
  232. package/examples/typescript/venn-diagram/package.json +1 -1
  233. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  234. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  235. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  236. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  237. package/examples/typescript/xy-bubble/package.json +1 -1
  238. package/examples/typescript/xy-candlestick/package.json +1 -1
  239. package/examples/typescript/xy-clustered-column/package.json +1 -1
  240. package/examples/typescript/xy-column/package.json +1 -1
  241. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  242. package/examples/typescript/xy-data-grouping/package.json +1 -1
  243. package/examples/typescript/xy-draggable-range/package.json +1 -1
  244. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  245. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  246. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  247. package/examples/typescript/xy-line/package.json +1 -1
  248. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  249. package/examples/typescript/xy-live-data/package.json +1 -1
  250. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  251. package/examples/typescript/xy-ohlc/package.json +1 -1
  252. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  253. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  254. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  255. package/examples/typescript/xy-stacked-column/package.json +1 -1
  256. package/examples/typescript/xy-stacked-step/package.json +1 -1
  257. package/examples/typescript/xy-stock/package.json +1 -1
  258. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  259. package/flow.d.ts +3 -0
  260. package/flow.d.ts.map +1 -1
  261. package/flow.js +3 -0
  262. package/flow.js.map +1 -1
  263. package/hierarchy.d.ts +1 -0
  264. package/hierarchy.d.ts.map +1 -1
  265. package/hierarchy.js +1 -0
  266. package/hierarchy.js.map +1 -1
  267. package/index.d.ts +1 -0
  268. package/index.d.ts.map +1 -1
  269. package/index.js +1 -0
  270. package/index.js.map +1 -1
  271. package/package.json +4 -2
@@ -0,0 +1,133 @@
1
+ import { Graphics } from "./Graphics";
2
+ import * as $array from "../util/Array";
3
+ /**
4
+ * Draws a polygon.
5
+ *
6
+ * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/polygon/} for more info
7
+ * @important
8
+ * @since 5.4.0
9
+ */
10
+ export class Polygon extends Graphics {
11
+ constructor() {
12
+ super(...arguments);
13
+ Object.defineProperty(this, "morphAnimation", {
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true,
17
+ value: void 0
18
+ });
19
+ }
20
+ _beforeChanged() {
21
+ super._beforeChanged();
22
+ if (this.isDirty("coordinates")) {
23
+ const points = [];
24
+ const coordinates = this.get("coordinates");
25
+ if (coordinates) {
26
+ $array.each(coordinates, (coord) => {
27
+ points.push({ x: coord[0], y: coord[1] });
28
+ });
29
+ }
30
+ this.set("points", points);
31
+ }
32
+ if (this.isPrivateDirty("points")) {
33
+ this._clear = true;
34
+ }
35
+ if (this.isDirty("points")) {
36
+ this._clear = true;
37
+ const points = this.get("points");
38
+ const prevPoints = this._prevSettings.points;
39
+ if (prevPoints) {
40
+ if (points) {
41
+ let copy = $array.copy(points);
42
+ let prevCopy = $array.copy(prevPoints);
43
+ let cl = copy.length;
44
+ let pl = prevCopy.length;
45
+ if (cl > pl) {
46
+ let newCopy = $array.copy(copy);
47
+ for (let i = 0; i < cl; i++) {
48
+ let index = Math.floor(i / cl * pl);
49
+ newCopy[i] = { x: prevCopy[index].x, y: prevCopy[index].y };
50
+ }
51
+ prevCopy = newCopy;
52
+ }
53
+ else if (pl > cl) {
54
+ let newCopy = $array.copy(prevCopy);
55
+ for (let i = 0; i < pl; i++) {
56
+ let index = Math.floor(i / pl * cl);
57
+ newCopy[i] = { x: copy[index].x, y: copy[index].y };
58
+ }
59
+ copy = newCopy;
60
+ }
61
+ this.setPrivateRaw("previousPoints", prevCopy);
62
+ this.setPrivateRaw("points", copy);
63
+ this.morphAnimation = this.animatePrivate({ key: "morphProgress", from: 0, to: 1, duration: this.get("animationDuration", 0), easing: this.get("animationEasing") });
64
+ }
65
+ }
66
+ else {
67
+ this.setPrivateRaw("previousPoints", points);
68
+ this.setPrivateRaw("points", points);
69
+ }
70
+ let minX = Infinity;
71
+ let maxX = -Infinity;
72
+ let minY = Infinity;
73
+ let maxY = -Infinity;
74
+ if (points) {
75
+ for (let i = 1, len = points.length; i < len; i++) {
76
+ const point = points[i];
77
+ minX = Math.min(minX, point.x);
78
+ maxX = Math.max(maxX, point.x);
79
+ minY = Math.min(minY, point.y);
80
+ maxY = Math.max(maxY, point.y);
81
+ }
82
+ }
83
+ this.setPrivate("minX", minX);
84
+ this.setPrivate("maxX", maxX);
85
+ this.setPrivate("minY", minY);
86
+ this.setPrivate("maxY", minY);
87
+ }
88
+ if (this.isPrivateDirty("morphProgress")) {
89
+ this._clear = true;
90
+ }
91
+ }
92
+ _changed() {
93
+ super._changed();
94
+ if (this._clear) {
95
+ this._draw();
96
+ }
97
+ }
98
+ _draw() {
99
+ const previousPoints = this.getPrivate("previousPoints");
100
+ const points = this.getPrivate("points");
101
+ const morphProgress = this.getPrivate("morphProgress", 1);
102
+ if (points && previousPoints) {
103
+ const first = points[0];
104
+ const prevFirst = previousPoints[0];
105
+ if (first) {
106
+ this._display.moveTo(prevFirst.x + (first.x - prevFirst.x) * morphProgress, prevFirst.y + (first.y - prevFirst.y) * morphProgress);
107
+ }
108
+ for (let i = 1, len = points.length; i < len; i++) {
109
+ const point = points[i];
110
+ const prevPoint = previousPoints[i];
111
+ this._display.lineTo(prevPoint.x + (point.x - prevPoint.x) * morphProgress, prevPoint.y + (point.y - prevPoint.y) * morphProgress);
112
+ }
113
+ this._display.closePath();
114
+ }
115
+ }
116
+ _updateSize() {
117
+ this.markDirty();
118
+ this._clear = true;
119
+ }
120
+ }
121
+ Object.defineProperty(Polygon, "className", {
122
+ enumerable: true,
123
+ configurable: true,
124
+ writable: true,
125
+ value: "Polygon"
126
+ });
127
+ Object.defineProperty(Polygon, "classNames", {
128
+ enumerable: true,
129
+ configurable: true,
130
+ writable: true,
131
+ value: Graphics.classNames.concat([Polygon.className])
132
+ });
133
+ //# sourceMappingURL=Polygon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Polygon.js","sourceRoot":"","sources":["../../../../../src/.internal/core/render/Polygon.ts"],"names":[],"mappings":"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","sourcesContent":["import { Graphics, IGraphicsSettings, IGraphicsPrivate } from \"./Graphics\";\r\nimport type { IPoint } from \"../util/IPoint\";\r\nimport * as $array from \"../util/Array\";\r\n\r\nimport type { Time } from \"../util/Animation\";\r\nimport type { Animation } from \"../util/Entity\";\r\n\r\nexport interface IPolygonSettings extends IGraphicsSettings {\r\n\r\n\t/**\r\n\t * An array of polygon corner coordinates.\r\n\t */\r\n\tpoints?: Array<IPoint>;\r\n\r\n\t/**\r\n\t * Corodinates.\r\n\t */\r\n\tcoordinates?: Array<Array<number>>;\r\n\r\n\t/**\r\n\t * Number of milliseconds to play morph animation.\r\n\t */\r\n\tanimationDuration?: number;\r\n\r\n\t/**\r\n\t * Easing function to use for animations.\r\n\t *\r\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/animations/#Easing_functions} for more info\r\n\t */\r\n\tanimationEasing?: (t: Time) => Time;\r\n\r\n}\r\n\r\nexport interface IPolygonPrivate extends IGraphicsPrivate {\r\n\tpoints?: Array<IPoint>;\r\n\r\n\tpreviousPoints?: Array<IPoint>;\r\n\r\n\tmorphProgress?: number;\r\n\r\n\tminX?: number;\r\n\r\n\tmaxX?: number;\r\n\r\n\tminY?: number;\r\n\r\n\tmaxY?: number;\r\n}\r\n\r\n/**\r\n * Draws a polygon.\r\n *\r\n * @see {@link https://www.amcharts.com/docs/v5/concepts/common-elements/polygon/} for more info\r\n * @important\r\n * @since 5.4.0\r\n */\r\nexport class Polygon extends Graphics {\r\n\r\n\tdeclare public _settings: IPolygonSettings;\r\n\tdeclare public _privateSettings: IPolygonPrivate;\r\n\r\n\tpublic static className: string = \"Polygon\";\r\n\tpublic static classNames: Array<string> = Graphics.classNames.concat([Polygon.className]);\r\n\r\n\tpublic morphAnimation?: Animation<this[\"_privateSettings\"][\"morphProgress\"]>;\r\n\r\n\tpublic _beforeChanged() {\r\n\t\tsuper._beforeChanged();\r\n\t\tif (this.isDirty(\"coordinates\")) {\r\n\t\t\tconst points: Array<IPoint> = [];\r\n\t\t\tconst coordinates = this.get(\"coordinates\");\r\n\t\t\tif (coordinates) {\r\n\t\t\t\t$array.each(coordinates, (coord) => {\r\n\t\t\t\t\tpoints.push({ x: coord[0], y: coord[1] });\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t\tthis.set(\"points\", points);\r\n\t\t}\r\n\t\tif (this.isPrivateDirty(\"points\")) {\r\n\t\t\tthis._clear = true;\r\n\t\t}\r\n\r\n\t\tif (this.isDirty(\"points\")) {\r\n\t\t\tthis._clear = true;\r\n\r\n\t\t\tconst points = this.get(\"points\");\r\n\t\t\tconst prevPoints = this._prevSettings.points;\r\n\t\t\tif (prevPoints) {\r\n\t\t\t\tif (points) {\r\n\t\t\t\t\tlet copy = $array.copy(points);\r\n\t\t\t\t\tlet prevCopy = $array.copy(prevPoints);\r\n\t\t\t\t\tlet cl = copy.length;\r\n\t\t\t\t\tlet pl = prevCopy.length;\r\n\r\n\t\t\t\t\tif (cl > pl) {\r\n\t\t\t\t\t\tlet newCopy = $array.copy(copy);\r\n\t\t\t\t\t\tfor (let i = 0; i < cl; i++) {\r\n\t\t\t\t\t\t\tlet index = Math.floor(i / cl * pl);\r\n\t\t\t\t\t\t\tnewCopy[i] = { x: prevCopy[index].x, y: prevCopy[index].y };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tprevCopy = newCopy;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (pl > cl) {\r\n\t\t\t\t\t\tlet newCopy = $array.copy(prevCopy);\r\n\t\t\t\t\t\tfor (let i = 0; i < pl; i++) {\r\n\t\t\t\t\t\t\tlet index = Math.floor(i / pl * cl);\r\n\t\t\t\t\t\t\tnewCopy[i] = { x: copy[index].x, y: copy[index].y };\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcopy = newCopy;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.setPrivateRaw(\"previousPoints\", prevCopy);\r\n\t\t\t\t\tthis.setPrivateRaw(\"points\", copy);\r\n\t\t\t\t\tthis.morphAnimation = this.animatePrivate({ key: \"morphProgress\", from: 0, to: 1, duration: this.get(\"animationDuration\", 0), easing: this.get(\"animationEasing\") });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.setPrivateRaw(\"previousPoints\", points);\r\n\t\t\t\tthis.setPrivateRaw(\"points\", points);\r\n\t\t\t}\r\n\t\t\tlet minX = Infinity;\r\n\t\t\tlet maxX = -Infinity;\r\n\t\t\tlet minY = Infinity;\r\n\t\t\tlet maxY = -Infinity;\r\n\r\n\t\t\tif (points) {\r\n\t\t\t\tfor (let i = 1, len = points.length; i < len; i++) {\r\n\t\t\t\t\tconst point = points[i];\r\n\t\t\t\t\tminX = Math.min(minX, point.x);\r\n\t\t\t\t\tmaxX = Math.max(maxX, point.x);\r\n\r\n\t\t\t\t\tminY = Math.min(minY, point.y);\r\n\t\t\t\t\tmaxY = Math.max(maxY, point.y);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.setPrivate(\"minX\", minX);\r\n\t\t\tthis.setPrivate(\"maxX\", maxX);\r\n\t\t\tthis.setPrivate(\"minY\", minY);\r\n\t\t\tthis.setPrivate(\"maxY\", minY);\r\n\t\t}\r\n\r\n\r\n\r\n\t\tif (this.isPrivateDirty(\"morphProgress\")) {\r\n\t\t\tthis._clear = true;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _changed() {\r\n\t\tsuper._changed();\r\n\r\n\t\tif (this._clear) {\r\n\t\t\tthis._draw();\r\n\t\t}\r\n\t}\r\n\r\n\tprotected _draw() {\r\n\t\tconst previousPoints = this.getPrivate(\"previousPoints\");\r\n\t\tconst points = this.getPrivate(\"points\");\r\n\t\tconst morphProgress = this.getPrivate(\"morphProgress\", 1);\r\n\r\n\t\tif (points && previousPoints) {\r\n\t\t\tconst first = points[0];\r\n\t\t\tconst prevFirst = previousPoints[0];\r\n\t\t\tif (first) {\r\n\t\t\t\tthis._display.moveTo(prevFirst.x + (first.x - prevFirst.x) * morphProgress, prevFirst.y + (first.y - prevFirst.y) * morphProgress);\r\n\t\t\t}\r\n\t\t\tfor (let i = 1, len = points.length; i < len; i++) {\r\n\t\t\t\tconst point = points[i];\r\n\t\t\t\tconst prevPoint = previousPoints[i];\r\n\t\t\t\tthis._display.lineTo(prevPoint.x + (point.x - prevPoint.x) * morphProgress, prevPoint.y + (point.y - prevPoint.y) * morphProgress);\r\n\t\t\t}\r\n\t\t\tthis._display.closePath();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic _updateSize() {\r\n\t\tthis.markDirty()\r\n\t\tthis._clear = true;\r\n\t}\r\n}\r\n"]}
@@ -1047,8 +1047,8 @@ export class Sprite extends Entity {
1047
1047
  * @ignore
1048
1048
  */
1049
1049
  markDirtyBounds() {
1050
+ const display = this._display;
1050
1051
  if (this.get("isMeasured")) {
1051
- const display = this._display;
1052
1052
  this._root._addDirtyBounds(this);
1053
1053
  display.isMeasured = true;
1054
1054
  display.invalidateBounds();