@amcharts/amcharts5 5.0.16 → 5.0.20

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 (203) hide show
  1. package/.internal/charts/map/MapUtils.js +2 -2
  2. package/.internal/charts/map/MapUtils.js.map +1 -1
  3. package/.internal/charts/percent/PercentSeries.d.ts +2 -0
  4. package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
  5. package/.internal/charts/percent/PercentSeries.js +21 -0
  6. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  7. package/.internal/charts/wordcloud/WordCloud.d.ts.map +1 -1
  8. package/.internal/charts/wordcloud/WordCloud.js +6 -1
  9. package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
  10. package/.internal/charts/xy/XYChart.d.ts +4 -0
  11. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  12. package/.internal/charts/xy/XYChart.js +7 -0
  13. package/.internal/charts/xy/XYChart.js.map +1 -1
  14. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  15. package/.internal/charts/xy/axes/Axis.js +3 -0
  16. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  17. package/.internal/charts/xy/axes/CategoryDateAxis.d.ts.map +1 -1
  18. package/.internal/charts/xy/axes/CategoryDateAxis.js +4 -1
  19. package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
  20. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  21. package/.internal/charts/xy/axes/DateAxis.js +3 -1
  22. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  23. package/.internal/charts/xy/series/XYSeries.d.ts +4 -0
  24. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  25. package/.internal/charts/xy/series/XYSeries.js +7 -1
  26. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  27. package/.internal/core/render/Component.d.ts.map +1 -1
  28. package/.internal/core/render/Component.js +5 -1
  29. package/.internal/core/render/Component.js.map +1 -1
  30. package/.internal/core/render/Container.d.ts.map +1 -1
  31. package/.internal/core/render/Container.js +5 -0
  32. package/.internal/core/render/Container.js.map +1 -1
  33. package/.internal/core/render/GridLayout.d.ts.map +1 -1
  34. package/.internal/core/render/GridLayout.js +2 -2
  35. package/.internal/core/render/GridLayout.js.map +1 -1
  36. package/.internal/core/render/Legend.d.ts +3 -2
  37. package/.internal/core/render/Legend.d.ts.map +1 -1
  38. package/.internal/core/render/Legend.js +13 -5
  39. package/.internal/core/render/Legend.js.map +1 -1
  40. package/.internal/core/render/Scrollbar.d.ts.map +1 -1
  41. package/.internal/core/render/Scrollbar.js +8 -2
  42. package/.internal/core/render/Scrollbar.js.map +1 -1
  43. package/.internal/core/render/SerialChart.d.ts.map +1 -1
  44. package/.internal/core/render/SerialChart.js +4 -0
  45. package/.internal/core/render/SerialChart.js.map +1 -1
  46. package/.internal/core/render/Series.d.ts +1 -1
  47. package/.internal/core/render/Series.d.ts.map +1 -1
  48. package/.internal/core/render/Series.js +6 -2
  49. package/.internal/core/render/Series.js.map +1 -1
  50. package/.internal/core/render/Sprite.d.ts +2 -2
  51. package/.internal/core/render/Sprite.d.ts.map +1 -1
  52. package/.internal/core/render/Sprite.js +22 -15
  53. package/.internal/core/render/Sprite.js.map +1 -1
  54. package/.internal/core/render/backend/CanvasRenderer.d.ts +7 -4
  55. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  56. package/.internal/core/render/backend/CanvasRenderer.js +80 -42
  57. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  58. package/.internal/core/util/Children.d.ts.map +1 -1
  59. package/.internal/core/util/Children.js +4 -0
  60. package/.internal/core/util/Children.js.map +1 -1
  61. package/.internal/core/util/ColorSet.d.ts +0 -1
  62. package/.internal/core/util/ColorSet.d.ts.map +1 -1
  63. package/.internal/core/util/ColorSet.js +1 -12
  64. package/.internal/core/util/ColorSet.js.map +1 -1
  65. package/.internal/core/util/List.d.ts +6 -0
  66. package/.internal/core/util/List.d.ts.map +1 -1
  67. package/.internal/core/util/List.js +26 -3
  68. package/.internal/core/util/List.js.map +1 -1
  69. package/.internal/core/util/TextFormatter.js +2 -2
  70. package/.internal/core/util/TextFormatter.js.map +1 -1
  71. package/.internal/core/util/Time.d.ts +7 -6
  72. package/.internal/core/util/Time.d.ts.map +1 -1
  73. package/.internal/core/util/Time.js +7 -6
  74. package/.internal/core/util/Time.js.map +1 -1
  75. package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
  76. package/.internal/plugins/exporting/Exporting.js +0 -4
  77. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  78. package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts +76 -0
  79. package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts.map +1 -0
  80. package/.internal/plugins/sliceGrouper/SliceGrouper.js +239 -0
  81. package/.internal/plugins/sliceGrouper/SliceGrouper.js.map +1 -0
  82. package/.internal/themes/ResponsiveTheme.js +4 -4
  83. package/.internal/themes/ResponsiveTheme.js.map +1 -1
  84. package/CHANGELOG.md +48 -0
  85. package/examples/javascript/flow-chord/package.json +1 -1
  86. package/examples/javascript/flow-chord-directed/package.json +1 -1
  87. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  88. package/examples/javascript/flow-sankey/package.json +1 -1
  89. package/examples/javascript/gauge/package.json +1 -1
  90. package/examples/javascript/gauge-bands/package.json +1 -1
  91. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  92. package/examples/javascript/hierarchy-pack/package.json +1 -1
  93. package/examples/javascript/hierarchy-partition/package.json +1 -1
  94. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  95. package/examples/javascript/hierarchy-tree/package.json +1 -1
  96. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  97. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  98. package/examples/javascript/map-day-and-night/package.json +1 -1
  99. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  100. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  101. package/examples/javascript/map-with-bubbles/package.json +1 -1
  102. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  103. package/examples/javascript/misc-40-charts/package.json +1 -1
  104. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  105. package/examples/javascript/pie-chart/package.json +1 -1
  106. package/examples/javascript/pie-donut-chart/package.json +1 -1
  107. package/examples/javascript/pie-variable-radius/package.json +1 -1
  108. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  109. package/examples/javascript/radar-heat-map/package.json +1 -1
  110. package/examples/javascript/radar-line/package.json +1 -1
  111. package/examples/javascript/radar-time-line/package.json +1 -1
  112. package/examples/javascript/sliced-funnel/package.json +1 -1
  113. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  114. package/examples/javascript/sliced-pyramid/package.json +1 -1
  115. package/examples/javascript/venn-diagram/package.json +1 -1
  116. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  117. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  118. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  119. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  120. package/examples/javascript/xy-bubble/package.json +1 -1
  121. package/examples/javascript/xy-candlestick/package.json +1 -1
  122. package/examples/javascript/xy-clustered-column/package.json +1 -1
  123. package/examples/javascript/xy-column/package.json +1 -1
  124. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  125. package/examples/javascript/xy-data-grouping/package.json +1 -1
  126. package/examples/javascript/xy-draggable-range/package.json +1 -1
  127. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  128. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  129. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  130. package/examples/javascript/xy-line/package.json +1 -1
  131. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  132. package/examples/javascript/xy-live-data/package.json +1 -1
  133. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  134. package/examples/javascript/xy-ohlc/package.json +1 -1
  135. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  136. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  137. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  138. package/examples/javascript/xy-stacked-column/package.json +1 -1
  139. package/examples/javascript/xy-stacked-step/package.json +1 -1
  140. package/examples/javascript/xy-stock/package.json +1 -1
  141. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  142. package/examples/typescript/flow-chord/package.json +1 -1
  143. package/examples/typescript/flow-chord-directed/package.json +1 -1
  144. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  145. package/examples/typescript/flow-sankey/package.json +1 -1
  146. package/examples/typescript/gauge/package.json +1 -1
  147. package/examples/typescript/gauge-bands/package.json +1 -1
  148. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  149. package/examples/typescript/hierarchy-pack/package.json +1 -1
  150. package/examples/typescript/hierarchy-partition/package.json +1 -1
  151. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  152. package/examples/typescript/hierarchy-tree/package.json +1 -1
  153. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  154. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  155. package/examples/typescript/map-day-and-night/package.json +1 -1
  156. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  157. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  158. package/examples/typescript/map-with-bubbles/package.json +1 -1
  159. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  160. package/examples/typescript/misc-40-charts/package.json +1 -1
  161. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  162. package/examples/typescript/pie-chart/package.json +1 -1
  163. package/examples/typescript/pie-donut-chart/package.json +1 -1
  164. package/examples/typescript/pie-variable-radius/package.json +1 -1
  165. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  166. package/examples/typescript/radar-heat-map/package.json +1 -1
  167. package/examples/typescript/radar-line/package.json +1 -1
  168. package/examples/typescript/radar-time-line/package.json +1 -1
  169. package/examples/typescript/sliced-funnel/package.json +1 -1
  170. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  171. package/examples/typescript/sliced-pyramid/package.json +1 -1
  172. package/examples/typescript/venn-diagram/package.json +1 -1
  173. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  174. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  175. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  176. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  177. package/examples/typescript/xy-bubble/package.json +1 -1
  178. package/examples/typescript/xy-candlestick/package.json +1 -1
  179. package/examples/typescript/xy-clustered-column/package.json +1 -1
  180. package/examples/typescript/xy-column/package.json +1 -1
  181. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  182. package/examples/typescript/xy-data-grouping/package.json +1 -1
  183. package/examples/typescript/xy-draggable-range/package.json +1 -1
  184. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  185. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  186. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  187. package/examples/typescript/xy-line/package.json +1 -1
  188. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  189. package/examples/typescript/xy-live-data/package.json +1 -1
  190. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  191. package/examples/typescript/xy-ohlc/package.json +1 -1
  192. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  193. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  194. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  195. package/examples/typescript/xy-stacked-column/package.json +1 -1
  196. package/examples/typescript/xy-stacked-step/package.json +1 -1
  197. package/examples/typescript/xy-stock/package.json +1 -1
  198. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  199. package/package.json +2 -1
  200. package/plugins/sliceGrouper.d.ts +2 -0
  201. package/plugins/sliceGrouper.d.ts.map +1 -0
  202. package/plugins/sliceGrouper.js +2 -0
  203. package/plugins/sliceGrouper.js.map +1 -0
@@ -0,0 +1,76 @@
1
+ import type { DataItem } from "../../core/render/Component";
2
+ import type { PercentSeries, IPercentSeriesDataItem } from "../../charts/percent/PercentSeries";
3
+ import type { Legend } from "../../core/render/Legend";
4
+ import { Button } from "../../core/render/Button";
5
+ import { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from "../../core/util/Entity";
6
+ export interface ISliceGrouperSettings extends IEntitySettings {
7
+ /**
8
+ * A series that will be used to group slices on.
9
+ */
10
+ series?: PercentSeries;
11
+ /**
12
+ * If set, plugin will try to manipulate the items in legend, such as
13
+ * adding group slice, hiding items for small slices, etc.
14
+ */
15
+ legend?: Legend;
16
+ /**
17
+ * Any slice which has percent value less than this setting will be grouped.
18
+ *
19
+ * @default 5
20
+ */
21
+ threshold?: number;
22
+ /**
23
+ * If set, only X first slices will be left as they are. The rest of the
24
+ * slices will be grouped.
25
+ */
26
+ limit?: number;
27
+ /**
28
+ * Name (category) of the group slice.
29
+ *
30
+ * @default "Other"
31
+ */
32
+ groupName?: string;
33
+ /**
34
+ * What happens when group slice is clicked.
35
+ *
36
+ * * `"none"` (default) - nothing.
37
+ * * `"break"` - underlying small slices are shown.
38
+ * * `"zoom"` - series shows only small slies (big ones are hidden).
39
+ */
40
+ clickBehavior?: "none" | "break" | "zoom";
41
+ }
42
+ export interface ISliceGrouperPrivate extends IEntityPrivate {
43
+ groupDataItem?: DataItem<IPercentSeriesDataItem>;
44
+ normalDataItems?: DataItem<IPercentSeriesDataItem>[];
45
+ smallDataItems?: DataItem<IPercentSeriesDataItem>[];
46
+ }
47
+ export interface ISliceGrouperEvents extends IEntityEvents {
48
+ }
49
+ /**
50
+ * A plugin that can be used to automatically group small slices on percent
51
+ * charts into a single slice.
52
+ *
53
+ * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/grouping-slices/} for more info
54
+ */
55
+ export declare class SliceGrouper extends Entity {
56
+ static className: string;
57
+ static classNames: Array<string>;
58
+ _settings: ISliceGrouperSettings;
59
+ _privateSettings: ISliceGrouperPrivate;
60
+ _events: ISliceGrouperEvents;
61
+ /**
62
+ * A button that is shown when chart small buttons are visible.
63
+ */
64
+ zoomOutButton?: Button;
65
+ protected _afterNew(): void;
66
+ private initZoomButton;
67
+ private handleData;
68
+ /**
69
+ * Resets slice setup to original grouping state.
70
+ */
71
+ zoomOut(): void;
72
+ private updateGroupDataItem;
73
+ private handleClick;
74
+ _beforeChanged(): void;
75
+ }
76
+ //# sourceMappingURL=SliceGrouper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliceGrouper.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/plugins/sliceGrouper/SliceGrouper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAK/F,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAE7D;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CAE1C;AAED,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC3D,aAAa,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC;IACjD,eAAe,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACrD,cAAc,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;CACzD;AAGD;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,MAAM;IACvC,OAAc,SAAS,EAAE,MAAM,CAAkB;IACjD,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAsD;IAE9E,SAAS,EAAE,qBAAqB,CAAC;IACjC,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,OAAO,EAAE,mBAAmB,CAAC;IAE5C;;OAEG;IACI,aAAa,CAAC,EAAE,MAAM,CAAC;IAG9B,SAAS,CAAC,SAAS,IAAI,IAAI;IAS3B,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,UAAU;IA0ElB;;OAEG;IACI,OAAO,IAAI,IAAI;IAwBtB,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,WAAW;IA2BZ,cAAc;CAcrB"}
@@ -0,0 +1,239 @@
1
+ import { __extends } from "tslib";
2
+ import { Button } from "../../core/render/Button";
3
+ import { Graphics } from "../../core/render/Graphics";
4
+ import { Entity } from "../../core/util/Entity";
5
+ import * as $array from "../../core/util/Array";
6
+ /**
7
+ * A plugin that can be used to automatically group small slices on percent
8
+ * charts into a single slice.
9
+ *
10
+ * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/grouping-slices/} for more info
11
+ */
12
+ var SliceGrouper = /** @class */ (function (_super) {
13
+ __extends(SliceGrouper, _super);
14
+ function SliceGrouper() {
15
+ var _this = _super !== null && _super.apply(this, arguments) || this;
16
+ /**
17
+ * A button that is shown when chart small buttons are visible.
18
+ */
19
+ Object.defineProperty(_this, "zoomOutButton", {
20
+ enumerable: true,
21
+ configurable: true,
22
+ writable: true,
23
+ value: void 0
24
+ });
25
+ return _this;
26
+ }
27
+ Object.defineProperty(SliceGrouper.prototype, "_afterNew", {
28
+ enumerable: false,
29
+ configurable: true,
30
+ writable: true,
31
+ value: function () {
32
+ _super.prototype._afterNew.call(this);
33
+ this._setRawDefault("threshold", 5);
34
+ this._setRawDefault("groupName", "Other");
35
+ this._setRawDefault("clickBehavior", "none");
36
+ this.initZoomButton();
37
+ this._root.addDisposer(this);
38
+ }
39
+ });
40
+ Object.defineProperty(SliceGrouper.prototype, "initZoomButton", {
41
+ enumerable: false,
42
+ configurable: true,
43
+ writable: true,
44
+ value: function () {
45
+ var _this = this;
46
+ var clickBehavior = this.get("clickBehavior");
47
+ if (clickBehavior !== "none") {
48
+ var container = this.root.tooltipContainer;
49
+ this.zoomOutButton = container.children.push(Button.new(this._root, {
50
+ themeTags: ["zoom"],
51
+ icon: Graphics.new(this._root, {
52
+ themeTags: ["button", "icon"]
53
+ })
54
+ }));
55
+ this.zoomOutButton.hide();
56
+ this.zoomOutButton.events.on("click", function () {
57
+ _this.zoomOut();
58
+ });
59
+ }
60
+ }
61
+ });
62
+ Object.defineProperty(SliceGrouper.prototype, "handleData", {
63
+ enumerable: false,
64
+ configurable: true,
65
+ writable: true,
66
+ value: function () {
67
+ var _this = this;
68
+ var series = this.get("series");
69
+ if (series) {
70
+ // Create group data item if not yet available
71
+ var groupDataItem_1 = this.getPrivate("groupDataItem");
72
+ if (!groupDataItem_1) {
73
+ var legend = this.get("legend");
74
+ var categoryField = series.get("categoryField", "category");
75
+ var valueField = series.get("valueField", "value");
76
+ // Add slice
77
+ var groupSliceData = {};
78
+ groupSliceData[categoryField] = this.get("groupName", "");
79
+ groupSliceData[valueField] = 0;
80
+ series.data.push(groupSliceData);
81
+ groupDataItem_1 = series.dataItems[series.dataItems.length - 1];
82
+ groupDataItem_1.get("slice").events.on("click", function () {
83
+ _this.handleClick();
84
+ });
85
+ this.setPrivate("groupDataItem", groupDataItem_1);
86
+ // Add to legend
87
+ if (legend) {
88
+ legend.data.push(groupDataItem_1);
89
+ //const legendDataItem = groupDataItem.get("legendDataItem");
90
+ groupDataItem_1.on("visible", function (visible) {
91
+ if (visible) {
92
+ _this.zoomOut();
93
+ }
94
+ });
95
+ }
96
+ }
97
+ // Recalculate group value and decorate small slices as necessary
98
+ var threshold_1 = this.get("threshold", 0);
99
+ var limit_1 = this.get("limit", 1000);
100
+ var normalDataItems_1 = [];
101
+ var smallDataItems_1 = [];
102
+ var groupValue_1 = 0;
103
+ if (threshold_1 || limit_1) {
104
+ $array.each(series.dataItems, function (item, index) {
105
+ var legendDataItem = item.get("legendDataItem");
106
+ if (((item.get("valuePercentTotal") <= threshold_1) || (index > (limit_1 - 1))) && groupDataItem_1 !== item) {
107
+ groupValue_1 += item.get("value", 0);
108
+ smallDataItems_1.push(item);
109
+ item.hide(0);
110
+ if (legendDataItem) {
111
+ legendDataItem.get("itemContainer").hide(0);
112
+ }
113
+ }
114
+ else if (legendDataItem) {
115
+ normalDataItems_1.push(item);
116
+ legendDataItem.get("itemContainer").show(0);
117
+ }
118
+ });
119
+ this.setPrivate("normalDataItems", normalDataItems_1);
120
+ this.setPrivate("smallDataItems", smallDataItems_1);
121
+ this.updateGroupDataItem(groupValue_1);
122
+ }
123
+ }
124
+ }
125
+ });
126
+ /**
127
+ * Resets slice setup to original grouping state.
128
+ */
129
+ Object.defineProperty(SliceGrouper.prototype, "zoomOut", {
130
+ enumerable: false,
131
+ configurable: true,
132
+ writable: true,
133
+ value: function () {
134
+ var groupDataItem = this.getPrivate("groupDataItem");
135
+ if (groupDataItem) {
136
+ groupDataItem.show();
137
+ }
138
+ var clickBehavior = this.get("clickBehavior");
139
+ if (clickBehavior == "zoom") {
140
+ var normalDataItems = this.getPrivate("normalDataItems", []);
141
+ $array.each(normalDataItems, function (item, _index) {
142
+ item.show();
143
+ });
144
+ }
145
+ var smallDataItems = this.getPrivate("smallDataItems", []);
146
+ $array.each(smallDataItems, function (item, _index) {
147
+ item.hide();
148
+ });
149
+ if (this.zoomOutButton) {
150
+ this.zoomOutButton.hide();
151
+ }
152
+ }
153
+ });
154
+ Object.defineProperty(SliceGrouper.prototype, "updateGroupDataItem", {
155
+ enumerable: false,
156
+ configurable: true,
157
+ writable: true,
158
+ value: function (groupValue) {
159
+ var series = this.get("series");
160
+ if (series) {
161
+ var groupSliceData = {};
162
+ var categoryField = series.get("categoryField", "category");
163
+ var valueField = series.get("valueField", "value");
164
+ groupSliceData[categoryField] = this.get("groupName", "");
165
+ groupSliceData[valueField] = groupValue;
166
+ series.data.setIndex(series.data.length - 1, groupSliceData);
167
+ var groupDataItem = this.getPrivate("groupDataItem");
168
+ if (groupValue == 0) {
169
+ groupDataItem.hide(0);
170
+ }
171
+ else if (groupDataItem.isHidden()) {
172
+ groupDataItem.show();
173
+ }
174
+ var clickBehavior = this.get("clickBehavior");
175
+ if (clickBehavior != "none") {
176
+ groupDataItem.get("slice").set("toggleKey", "none");
177
+ }
178
+ }
179
+ }
180
+ });
181
+ Object.defineProperty(SliceGrouper.prototype, "handleClick", {
182
+ enumerable: false,
183
+ configurable: true,
184
+ writable: true,
185
+ value: function () {
186
+ var clickBehavior = this.get("clickBehavior");
187
+ var smallDataItems = this.getPrivate("smallDataItems");
188
+ if (clickBehavior == "none" || (smallDataItems && smallDataItems.length == 0)) {
189
+ return;
190
+ }
191
+ var series = this.get("series");
192
+ var groupDataItem = this.getPrivate("groupDataItem");
193
+ // Hide group slice
194
+ groupDataItem.hide();
195
+ // Reveal small slices
196
+ $array.each(series.dataItems, function (item) {
197
+ if (smallDataItems.indexOf(item) !== -1) {
198
+ item.show();
199
+ }
200
+ else if (clickBehavior == "zoom") {
201
+ item.hide();
202
+ }
203
+ });
204
+ this.zoomOutButton.show();
205
+ }
206
+ });
207
+ Object.defineProperty(SliceGrouper.prototype, "_beforeChanged", {
208
+ enumerable: false,
209
+ configurable: true,
210
+ writable: true,
211
+ value: function () {
212
+ var _this = this;
213
+ _super.prototype._beforeChanged.call(this);
214
+ if (this.isDirty("series")) {
215
+ var series = this.get("series");
216
+ if (series) {
217
+ series.events.on("datavalidated", function (_ev) {
218
+ _this.handleData();
219
+ });
220
+ }
221
+ }
222
+ }
223
+ });
224
+ Object.defineProperty(SliceGrouper, "className", {
225
+ enumerable: true,
226
+ configurable: true,
227
+ writable: true,
228
+ value: "SliceGrouper"
229
+ });
230
+ Object.defineProperty(SliceGrouper, "classNames", {
231
+ enumerable: true,
232
+ configurable: true,
233
+ writable: true,
234
+ value: Entity.classNames.concat([SliceGrouper.className])
235
+ });
236
+ return SliceGrouper;
237
+ }(Entity));
238
+ export { SliceGrouper };
239
+ //# sourceMappingURL=SliceGrouper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliceGrouper.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/sliceGrouper/SliceGrouper.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataItem } from \"../../core/render/Component\";\nimport type { PercentSeries, IPercentSeriesDataItem } from \"../../charts/percent/PercentSeries\";\nimport type { Legend } from \"../../core/render/Legend\";\n\nimport { Button } from \"../../core/render/Button\";\nimport { Graphics } from \"../../core/render/Graphics\";\nimport { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from \"../../core/util/Entity\"\n\nimport * as $array from \"../../core/util/Array\";\n\n\nexport interface ISliceGrouperSettings extends IEntitySettings {\n\n\t/**\n\t * A series that will be used to group slices on.\n\t */\n\tseries?: PercentSeries;\n\n\t/**\n\t * If set, plugin will try to manipulate the items in legend, such as\n\t * adding group slice, hiding items for small slices, etc.\n\t */\n\tlegend?: Legend;\n\n\t/**\n\t * Any slice which has percent value less than this setting will be grouped.\n\t * \n\t * @default 5\n\t */\n\tthreshold?: number;\n\n\t/**\n\t * If set, only X first slices will be left as they are. The rest of the\n\t * slices will be grouped.\n\t */\n\tlimit?: number;\n\n\t/**\n\t * Name (category) of the group slice.\n\t *\n\t * @default \"Other\"\n\t */\n\tgroupName?: string;\n\n\t/**\n\t * What happens when group slice is clicked.\n\t *\n\t * * `\"none\"` (default) - nothing.\n\t * * `\"break\"` - underlying small slices are shown.\n\t * * `\"zoom\"` - series shows only small slies (big ones are hidden).\n\t */\n\tclickBehavior?: \"none\" | \"break\" | \"zoom\";\n\n}\n\nexport interface ISliceGrouperPrivate extends IEntityPrivate {\n\tgroupDataItem?: DataItem<IPercentSeriesDataItem>;\n\tnormalDataItems?: DataItem<IPercentSeriesDataItem>[];\n\tsmallDataItems?: DataItem<IPercentSeriesDataItem>[];\n}\n\nexport interface ISliceGrouperEvents extends IEntityEvents {\n}\n\n\n/**\n * A plugin that can be used to automatically group small slices on percent\n * charts into a single slice.\n *\n * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/grouping-slices/} for more info\n */\nexport class SliceGrouper extends Entity {\n\tpublic static className: string = \"SliceGrouper\";\n\tpublic static classNames: Array<string> = Entity.classNames.concat([SliceGrouper.className]);\n\n\tdeclare public _settings: ISliceGrouperSettings;\n\tdeclare public _privateSettings: ISliceGrouperPrivate;\n\tdeclare public _events: ISliceGrouperEvents;\n\n\t/**\n\t * A button that is shown when chart small buttons are visible.\n\t */\n\tpublic zoomOutButton?: Button;\n\n\n\tprotected _afterNew(): void {\n\t\tsuper._afterNew();\n\t\tthis._setRawDefault(\"threshold\", 5);\n\t\tthis._setRawDefault(\"groupName\", \"Other\");\n\t\tthis._setRawDefault(\"clickBehavior\", \"none\");\n\t\tthis.initZoomButton();\n\t\tthis._root.addDisposer(this);\n\t}\n\n\tprivate initZoomButton(): void {\n\t\tconst clickBehavior = this.get(\"clickBehavior\");\n\t\tif (clickBehavior !== \"none\") {\n\t\t\tconst container = this.root.tooltipContainer;\n\t\t\tthis.zoomOutButton = container.children.push(Button.new(this._root, {\n\t\t\t\tthemeTags: [\"zoom\"],\n\t\t\t\ticon: Graphics.new(this._root, {\n\t\t\t\t\tthemeTags: [\"button\", \"icon\"]\n\t\t\t\t})\n\t\t\t}));\n\t\t\tthis.zoomOutButton.hide();\n\t\t\tthis.zoomOutButton.events.on(\"click\", () => {\n\t\t\t\tthis.zoomOut();\n\t\t\t});\n\t\t}\n\n\t}\n\n\tprivate handleData(): void {\n\t\tconst series = this.get(\"series\");\n\n\t\tif (series) {\n\n\t\t\t// Create group data item if not yet available\n\t\t\tlet groupDataItem = this.getPrivate(\"groupDataItem\");\n\t\t\tif (!groupDataItem) {\n\n\t\t\t\tconst legend = this.get(\"legend\");\n\t\t\t\tconst categoryField = series.get(\"categoryField\", \"category\");\n\t\t\t\tconst valueField = series.get(\"valueField\", \"value\");\n\n\t\t\t\t// Add slice\n\t\t\t\tconst groupSliceData: any = {};\n\t\t\t\tgroupSliceData[categoryField] = this.get(\"groupName\", \"\");\n\t\t\t\tgroupSliceData[valueField] = 0;\n\t\t\t\tseries.data.push(groupSliceData);\n\n\t\t\t\tgroupDataItem = series.dataItems[series.dataItems.length - 1];\n\n\t\t\t\tgroupDataItem.get(\"slice\").events.on(\"click\", () => {\n\t\t\t\t\tthis.handleClick();\n\t\t\t\t});\n\n\t\t\t\tthis.setPrivate(\"groupDataItem\", groupDataItem);\n\n\t\t\t\t// Add to legend\n\t\t\t\tif (legend) {\n\t\t\t\t\tlegend.data.push(groupDataItem);\n\n\t\t\t\t\t//const legendDataItem = groupDataItem.get(\"legendDataItem\");\n\t\t\t\t\tgroupDataItem.on(\"visible\", (visible) => {\n\t\t\t\t\t\tif (visible) {\n\t\t\t\t\t\t\tthis.zoomOut();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// Recalculate group value and decorate small slices as necessary\n\t\t\tconst threshold = this.get(\"threshold\", 0);\n\t\t\tconst limit = this.get(\"limit\", 1000);\n\t\t\tconst normalDataItems: any = [];\n\t\t\tconst smallDataItems: any = [];\n\t\t\tlet groupValue = 0;\n\t\t\tif (threshold || limit) {\n\n\t\t\t\t$array.each(series.dataItems, (item, index) => {\n\t\t\t\t\tconst legendDataItem = item.get(\"legendDataItem\");\n\t\t\t\t\tif (((item.get(\"valuePercentTotal\") <= threshold) || (index > (limit - 1))) && groupDataItem !== item) {\n\t\t\t\t\t\tgroupValue += item.get(\"value\", 0);\n\t\t\t\t\t\tsmallDataItems.push(item);\n\t\t\t\t\t\titem.hide(0);\n\t\t\t\t\t\tif (legendDataItem) {\n\t\t\t\t\t\t\tlegendDataItem.get(\"itemContainer\").hide(0);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (legendDataItem) {\n\t\t\t\t\t\tnormalDataItems.push(item);\n\t\t\t\t\t\tlegendDataItem.get(\"itemContainer\").show(0);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tthis.setPrivate(\"normalDataItems\", normalDataItems);\n\t\t\t\tthis.setPrivate(\"smallDataItems\", smallDataItems);\n\t\t\t\tthis.updateGroupDataItem(groupValue);\n\n\t\t\t}\n\n\t\t}\n\t}\n\n\t/**\n\t * Resets slice setup to original grouping state.\n\t */\n\tpublic zoomOut(): void {\n\t\tconst groupDataItem = this.getPrivate(\"groupDataItem\");\n\t\tif (groupDataItem) {\n\t\t\tgroupDataItem.show();\n\t\t}\n\n\t\tconst clickBehavior = this.get(\"clickBehavior\");\n\t\tif (clickBehavior == \"zoom\") {\n\t\t\tconst normalDataItems: any = this.getPrivate(\"normalDataItems\", []);\n\t\t\t$array.each(normalDataItems, (item: any, _index) => {\n\t\t\t\titem.show();\n\t\t\t});\n\t\t}\n\n\t\tconst smallDataItems: any = this.getPrivate(\"smallDataItems\", []);\n\t\t$array.each(smallDataItems, (item: any, _index) => {\n\t\t\titem.hide();\n\t\t});\n\n\t\tif (this.zoomOutButton) {\n\t\t\tthis.zoomOutButton.hide();\n\t\t}\n\t}\n\n\tprivate updateGroupDataItem(groupValue: number): void {\n\t\tconst series = this.get(\"series\");\n\t\tif (series) {\n\t\t\tconst groupSliceData: any = {};\n\t\t\tconst categoryField = series.get(\"categoryField\", \"category\");\n\t\t\tconst valueField = series.get(\"valueField\", \"value\");\n\t\t\tgroupSliceData[categoryField] = this.get(\"groupName\", \"\");\n\t\t\tgroupSliceData[valueField] = groupValue;\n\t\t\tseries.data.setIndex(series.data.length - 1, groupSliceData);\n\n\t\t\tconst groupDataItem = this.getPrivate(\"groupDataItem\");\n\t\t\tif (groupValue == 0) {\n\t\t\t\tgroupDataItem!.hide(0);\n\t\t\t}\n\t\t\telse if (groupDataItem!.isHidden()) {\n\t\t\t\tgroupDataItem!.show();\n\t\t\t}\n\n\t\t\tconst clickBehavior = this.get(\"clickBehavior\");\n\t\t\tif (clickBehavior != \"none\") {\n\t\t\t\tgroupDataItem!.get(\"slice\").set(\"toggleKey\", \"none\");\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate handleClick(): void {\n\t\tconst clickBehavior = this.get(\"clickBehavior\");\n\t\tconst smallDataItems = this.getPrivate(\"smallDataItems\");\n\n\t\tif (clickBehavior == \"none\" || (smallDataItems && smallDataItems.length == 0)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst series = this.get(\"series\");\n\t\tconst groupDataItem = this.getPrivate(\"groupDataItem\");\n\n\t\t// Hide group slice\n\t\tgroupDataItem!.hide();\n\n\t\t// Reveal small slices\n\t\t$array.each(series!.dataItems, (item) => {\n\t\t\tif (smallDataItems!.indexOf(item) !== -1) {\n\t\t\t\titem.show();\n\t\t\t}\n\t\t\telse if (clickBehavior == \"zoom\") {\n\t\t\t\titem.hide();\n\t\t\t}\n\t\t});\n\n\t\tthis.zoomOutButton!.show();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\n\t\tif (this.isDirty(\"series\")) {\n\t\t\tconst series = this.get(\"series\");\n\t\t\tif (series) {\n\t\t\t\tseries.events.on(\"datavalidated\", (_ev) => {\n\t\t\t\t\tthis.handleData();\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t}\n\n}"]}
@@ -277,10 +277,10 @@ var ResponsiveTheme = /** @class */ (function (_super) {
277
277
  rule.template = this.rule(rule.name, rule.tags);
278
278
  }
279
279
  rule._dp = new MultiDisposer([
280
- this._root._rootContainer.on("width", function (_width) { if (_this._isUsed()) {
280
+ this._root._rootContainer.onPrivate("width", function (_width) { if (_this._isUsed()) {
281
281
  _this._applyRule(rule);
282
282
  } }),
283
- this._root._rootContainer.on("height", function (_height) { if (_this._isUsed()) {
283
+ this._root._rootContainer.onPrivate("height", function (_height) { if (_this._isUsed()) {
284
284
  _this._applyRule(rule);
285
285
  } })
286
286
  ]);
@@ -318,8 +318,8 @@ var ResponsiveTheme = /** @class */ (function (_super) {
318
318
  configurable: true,
319
319
  writable: true,
320
320
  value: function (rule) {
321
- var w = this._root._rootContainer.get("width");
322
- var h = this._root._rootContainer.get("height");
321
+ var w = this._root._rootContainer.getPrivate("width");
322
+ var h = this._root._rootContainer.getPrivate("height");
323
323
  var relevant = rule.relevant.call(rule, w, h);
324
324
  var applied = rule.applied;
325
325
  if (relevant) {
@@ -1 +1 @@
1
- {"version":3,"file":"ResponsiveTheme.js","sourceRoot":"","sources":["../../../../src/.internal/themes/ResponsiveTheme.ts"],"names":[],"mappings":"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","sourcesContent":["import { Theme } from \"../core/Theme\";\nimport type { Root } from \"../core/Root\";\nimport { MultiDisposer } from \"../core/util/Disposer\";\nimport { p100, percent } from \"../core/util/Percent\";\nimport type { Template } from \"../core/util/Template\";\nimport * as $array from \"../core/util/Array\";\n\n/**\n * An interface describing resonsive rule.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/responsive/} for more info\n * @important\n */\nexport interface IResponsiveRule {\n\n\t/**\n\t * A class name of the elements to apply rule to.\n\t */\n\tname?: string;\n\n\t/**\n\t * A class group of the elements to apply rule to.\n\t */\n\ttags?: string | string[];\n\n\t/**\n\t * Settings to apply when activating the responsive rule.\n\t */\n\tsettings?: any;\n\n\t/**\n\t * A callback function which should check and return `true` if rule is\n\t * applicable for current situation.\n\t */\n\trelevant: (width: number, height: number) => boolean;\n\n\t/**\n\t * A custom callback function which is called when applying the rule.\n\t */\n\tapplying?: () => void;\n\n\t/**\n\t * A custom callback function which is called when removing the rule.\n\t */\n\tremoving?: () => void;\n\n\t/**\n\t * Indicates if rule is currently applied.\n\t * @readonly\n\t */\n\tapplied?: boolean;\n\n\t/**\n\t * Reference to [[Template]] object associated with the rule.\n\t * @readonly\n\t */\n\ttemplate?: Template<any>;\n\n\t/**\n\t * @ignore\n\t */\n\t_dp?: MultiDisposer;\n\n}\n\n/**\n * A configurable theme that dynamically adapts chart settings for best fit\n * in available space.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/responsive/} for more info\n */\nexport class ResponsiveTheme extends Theme {\n\n\t// Named pixel breakpoints\n\tstatic XXS = 100;\n\tstatic XS = 200;\n\tstatic S = 300;\n\tstatic M = 400;\n\tstatic L = 600;\n\tstatic XL = 800;\n\tstatic XXL = 1000;\n\n\t// Breakpoint functions (for use in `relevant` clause of the responsive rules)\n\n\tstatic widthXXS(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.XXS;\n\t}\n\n\tstatic widthXS(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.XS;\n\t}\n\n\tstatic widthS(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.S;\n\t}\n\n\tstatic widthM(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.M;\n\t}\n\n\tstatic widthL(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.L;\n\t}\n\n\tstatic widthXL(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.XL;\n\t}\n\n\tstatic widthXXL(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.XXL;\n\t}\n\n\n\tstatic heightXXS(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.XXS;\n\t}\n\n\tstatic heightXS(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.XS;\n\t}\n\n\tstatic heightS(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.S;\n\t}\n\n\tstatic heightM(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.M;\n\t}\n\n\tstatic heightL(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.L;\n\t}\n\n\tstatic heightXL(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.XL;\n\t}\n\n\tstatic heightXXL(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.XXL;\n\t}\n\n\n\tstatic isXXS(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XXS) && (height <= ResponsiveTheme.XXS);\n\t}\n\n\tstatic isXS(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XS) && (height <= ResponsiveTheme.XS);\n\t}\n\n\tstatic isS(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.S) && (height <= ResponsiveTheme.S);\n\t}\n\n\tstatic isM(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.M) && (height <= ResponsiveTheme.M);\n\t}\n\n\tstatic isL(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.L) && (height <= ResponsiveTheme.L);\n\t}\n\n\tstatic isXL(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XL) && (height <= ResponsiveTheme.XL);\n\t}\n\n\tstatic isXXL(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XXL) && (height <= ResponsiveTheme.XXL);\n\t}\n\n\n\tstatic maybeXXS(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XXS) || (height <= ResponsiveTheme.XXS);\n\t}\n\n\tstatic maybeXS(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XS) || (height <= ResponsiveTheme.XS);\n\t}\n\n\tstatic maybeS(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.S) || (height <= ResponsiveTheme.S);\n\t}\n\n\tstatic maybeM(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.M) || (height <= ResponsiveTheme.M);\n\t}\n\n\tstatic maybeL(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.L) || (height <= ResponsiveTheme.L);\n\t}\n\n\tstatic maybeXL(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XL) || (height <= ResponsiveTheme.XL);\n\t}\n\n\tstatic maybeXXL(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XXL) || (height <= ResponsiveTheme.XXL);\n\t}\n\n\t/**\n\t * Currently added rules.\n\t */\n\tpublic responsiveRules: IResponsiveRule[] = [];\n\n\t/**\n\t * Instantiates the theme without adding default respomsive rules.\n\t */\n\tstatic newEmpty<T extends typeof ResponsiveTheme>(this: T, root: Root): InstanceType<T> {\n\t\treturn (new this(root, true)) as InstanceType<T>;\n\t}\n\n\t/**\n\t * Adds a responsive rule as well as retuns it.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/responsive/} for more info\n\t * @param rule Responsive rule\n\t * @return Responsive rule\n\t */\n\tpublic addRule(rule: IResponsiveRule): IResponsiveRule {\n\t\tif (rule.name && !rule.template) {\n\t\t\trule.template = (<any>this).rule(rule.name, rule.tags);\n\t\t}\n\n\t\trule._dp = new MultiDisposer([\n\t\t\tthis._root._rootContainer.on(\"width\", (_width) => { if (this._isUsed()) { this._applyRule(rule); } }),\n\t\t\tthis._root._rootContainer.on(\"height\", (_height) => { if (this._isUsed()) { this._applyRule(rule); } })\n\t\t]);\n\n\t\tthis.responsiveRules.push(rule);\n\t\tthis._applyRule(rule);\n\t\treturn rule;\n\t}\n\n\t/**\n\t * Removes the responsive rule.\n\t *\n\t * @param rule Responsive rule\n\t */\n\tpublic removeRule(rule: IResponsiveRule): void {\n\t\t$array.remove(this.responsiveRules, rule);\n\t\tif (rule._dp) {\n\t\t\trule._dp.dispose();\n\t\t}\n\t}\n\n\tprotected _isUsed(): boolean {\n\t\treturn this._root._rootContainer.get(\"themes\")!.indexOf(this) !== -1;\n\t}\n\n\tprotected _applyRule(rule: IResponsiveRule): void {\n\t\tconst w = this._root._rootContainer.get(\"width\");\n\t\tconst h = this._root._rootContainer.get(\"height\");\n\t\tconst relevant = rule.relevant.call(rule, <number>w, <number>h);\n\t\tconst applied = rule.applied;\n\t\tif (relevant) {\n\t\t\tif (!applied) {\n\t\t\t\trule.applied = true;\n\t\t\t\tif (rule.template && rule.settings) {\n\t\t\t\t\trule.template.setAll(rule.settings);\n\t\t\t\t}\n\t\t\t\tif (rule.applying) {\n\t\t\t\t\trule.applying.call(rule);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (applied) {\n\t\t\trule.applied = false;\n\t\t\tif (rule.template) {\n\t\t\t\trule.template.removeAll();\n\t\t\t}\n\t\t\tif (rule.removing) {\n\t\t\t\trule.removing.call(rule);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Adds default rules for various chart types and most standard scenarios.\n\t */\n\tprotected setupDefaultRules(): void {\n\t\tsuper.setupDefaultRules();\n\n\t\tconst addRule = (rule: IResponsiveRule) => this.addRule(rule);\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Universal\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"Chart\",\n\t\t\trelevant: ResponsiveTheme.widthXXS,\n\t\t\tsettings: {\n\t\t\t\tpaddingLeft: 0,\n\t\t\t\tpaddingRight: 0\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Chart\",\n\t\t\trelevant: ResponsiveTheme.heightXXS,\n\t\t\tsettings: {\n\t\t\t\tpaddingTop: 0,\n\t\t\t\tpaddingBottom: 0\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Bullet\",\n\t\t\trelevant: ResponsiveTheme.isXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Legend\",\n\t\t\trelevant: ResponsiveTheme.isXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"HeatLegend\",\n\t\t\ttags: [\"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"HeatLegend\",\n\t\t\ttags: [\"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"heatlegend\", \"start\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"heatlegend\", \"end\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Button\",\n\t\t\ttags: [\"resize\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * XY\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"AxisRendererX\",\n\t\t\trelevant: ResponsiveTheme.heightXS,\n\t\t\tsettings: {\n\t\t\t\tinside: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisRendererY\",\n\t\t\trelevant: ResponsiveTheme.widthXS,\n\t\t\tsettings: {\n\t\t\t\tinside: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisRendererXLabel\",\n\t\t\trelevant: ResponsiveTheme.heightXS,\n\t\t\tsettings: {\n\t\t\t\tminPosition: 0.1,\n\t\t\t\tmaxPosition: 0.9\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisLabel\",\n\t\t\ttags: [\"y\"],\n\t\t\trelevant: ResponsiveTheme.widthXS,\n\t\t\tsettings: {\n\t\t\t\tcenterY: p100,\n\t\t\t\tmaxPosition: 0.9\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisLabel\",\n\t\t\ttags: [\"x\"],\n\t\t\trelevant: ResponsiveTheme.heightXXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisLabel\",\n\t\t\ttags: [\"y\"],\n\t\t\trelevant: ResponsiveTheme.widthXXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisTick\",\n\t\t\ttags: [\"x\"],\n\t\t\trelevant: ResponsiveTheme.heightXS,\n\t\t\tsettings: {\n\t\t\t\tinside: true,\n\t\t\t\tminPosition: 0.1,\n\t\t\t\tmaxPosition: 0.9\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisTick\",\n\t\t\ttags: [\"y\"],\n\t\t\trelevant: ResponsiveTheme.widthXXS,\n\t\t\tsettings: {\n\t\t\t\tinside: true,\n\t\t\t\tminPosition: 0.1,\n\t\t\t\tmaxPosition: 0.9\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Grid\",\n\t\t\trelevant: ResponsiveTheme.maybeXXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Radar\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"RadialLabel\",\n\t\t\ttags: [\"radial\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"RadialLabel\",\n\t\t\ttags: [\"circular\"],\n\t\t\trelevant: ResponsiveTheme.maybeS,\n\t\t\tsettings: {\n\t\t\t\tinside: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisTick\",\n\t\t\trelevant: ResponsiveTheme.maybeS,\n\t\t\tsettings: {\n\t\t\t\tinside: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"RadialLabel\",\n\t\t\ttags: [\"circular\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisTick\",\n\t\t\ttags: [\"circular\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tinside: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Pie\n\t\t * ========================================================================\n\t\t */\n\t\taddRule({\n\t\t\tname: \"PieChart\",\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tradius: percent(99)\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"PieChart\",\n\t\t\trelevant: ResponsiveTheme.widthM,\n\t\t\tsettings: {\n\t\t\t\tradius: percent(99)\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"RadialLabel\",\n\t\t\ttags: [\"pie\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"RadialLabel\",\n\t\t\ttags: [\"pie\"],\n\t\t\trelevant: ResponsiveTheme.widthM,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"pie\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"pie\"],\n\t\t\trelevant: ResponsiveTheme.widthM,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Funnel\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"FunnelSeries\",\n\t\t\trelevant: ResponsiveTheme.widthM,\n\t\t\tsettings: {\n\t\t\t\talignLabels: false\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"funnel\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthL,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"funnel\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthL,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"funnel\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"funnel\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Pyramid\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"PyramidSeries\",\n\t\t\trelevant: ResponsiveTheme.widthM,\n\t\t\tsettings: {\n\t\t\t\talignLabels: false\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"pyramid\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthL,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"pyramid\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthL,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"pyramid\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"pyramid\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Pictorial\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"PictorialStackedSeries\",\n\t\t\trelevant: ResponsiveTheme.widthM,\n\t\t\tsettings: {\n\t\t\t\talignLabels: false\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"pictorial\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthL,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"pictorial\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthL,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"pictorial\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"pictorial\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Map\n\t\t * ========================================================================\n\t\t */\n\n\t\t// Nothing to do here\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Flow (Sankey+Chord)\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"flow\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.widthS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"flow\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Chord\",\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tradius: percent(99)\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Hierarchy (Treemap, Partition, Sunburst, Pack, ForceDirected)\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"hierarchy\", \"node\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t}\n}\n"]}
1
+ {"version":3,"file":"ResponsiveTheme.js","sourceRoot":"","sources":["../../../../src/.internal/themes/ResponsiveTheme.ts"],"names":[],"mappings":"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","sourcesContent":["import { Theme } from \"../core/Theme\";\nimport type { Root } from \"../core/Root\";\nimport { MultiDisposer } from \"../core/util/Disposer\";\nimport { p100, percent } from \"../core/util/Percent\";\nimport type { Template } from \"../core/util/Template\";\nimport * as $array from \"../core/util/Array\";\n\n/**\n * An interface describing resonsive rule.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/responsive/} for more info\n * @important\n */\nexport interface IResponsiveRule {\n\n\t/**\n\t * A class name of the elements to apply rule to.\n\t */\n\tname?: string;\n\n\t/**\n\t * A class group of the elements to apply rule to.\n\t */\n\ttags?: string | string[];\n\n\t/**\n\t * Settings to apply when activating the responsive rule.\n\t */\n\tsettings?: any;\n\n\t/**\n\t * A callback function which should check and return `true` if rule is\n\t * applicable for current situation.\n\t */\n\trelevant: (width: number, height: number) => boolean;\n\n\t/**\n\t * A custom callback function which is called when applying the rule.\n\t */\n\tapplying?: () => void;\n\n\t/**\n\t * A custom callback function which is called when removing the rule.\n\t */\n\tremoving?: () => void;\n\n\t/**\n\t * Indicates if rule is currently applied.\n\t * @readonly\n\t */\n\tapplied?: boolean;\n\n\t/**\n\t * Reference to [[Template]] object associated with the rule.\n\t * @readonly\n\t */\n\ttemplate?: Template<any>;\n\n\t/**\n\t * @ignore\n\t */\n\t_dp?: MultiDisposer;\n\n}\n\n/**\n * A configurable theme that dynamically adapts chart settings for best fit\n * in available space.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/responsive/} for more info\n */\nexport class ResponsiveTheme extends Theme {\n\n\t// Named pixel breakpoints\n\tstatic XXS = 100;\n\tstatic XS = 200;\n\tstatic S = 300;\n\tstatic M = 400;\n\tstatic L = 600;\n\tstatic XL = 800;\n\tstatic XXL = 1000;\n\n\t// Breakpoint functions (for use in `relevant` clause of the responsive rules)\n\n\tstatic widthXXS(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.XXS;\n\t}\n\n\tstatic widthXS(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.XS;\n\t}\n\n\tstatic widthS(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.S;\n\t}\n\n\tstatic widthM(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.M;\n\t}\n\n\tstatic widthL(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.L;\n\t}\n\n\tstatic widthXL(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.XL;\n\t}\n\n\tstatic widthXXL(width: number, _height: number): boolean {\n\t\treturn width <= ResponsiveTheme.XXL;\n\t}\n\n\n\tstatic heightXXS(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.XXS;\n\t}\n\n\tstatic heightXS(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.XS;\n\t}\n\n\tstatic heightS(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.S;\n\t}\n\n\tstatic heightM(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.M;\n\t}\n\n\tstatic heightL(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.L;\n\t}\n\n\tstatic heightXL(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.XL;\n\t}\n\n\tstatic heightXXL(_width: number, height: number): boolean {\n\t\treturn height <= ResponsiveTheme.XXL;\n\t}\n\n\n\tstatic isXXS(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XXS) && (height <= ResponsiveTheme.XXS);\n\t}\n\n\tstatic isXS(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XS) && (height <= ResponsiveTheme.XS);\n\t}\n\n\tstatic isS(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.S) && (height <= ResponsiveTheme.S);\n\t}\n\n\tstatic isM(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.M) && (height <= ResponsiveTheme.M);\n\t}\n\n\tstatic isL(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.L) && (height <= ResponsiveTheme.L);\n\t}\n\n\tstatic isXL(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XL) && (height <= ResponsiveTheme.XL);\n\t}\n\n\tstatic isXXL(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XXL) && (height <= ResponsiveTheme.XXL);\n\t}\n\n\n\tstatic maybeXXS(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XXS) || (height <= ResponsiveTheme.XXS);\n\t}\n\n\tstatic maybeXS(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XS) || (height <= ResponsiveTheme.XS);\n\t}\n\n\tstatic maybeS(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.S) || (height <= ResponsiveTheme.S);\n\t}\n\n\tstatic maybeM(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.M) || (height <= ResponsiveTheme.M);\n\t}\n\n\tstatic maybeL(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.L) || (height <= ResponsiveTheme.L);\n\t}\n\n\tstatic maybeXL(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XL) || (height <= ResponsiveTheme.XL);\n\t}\n\n\tstatic maybeXXL(width: number, height: number): boolean {\n\t\treturn (width <= ResponsiveTheme.XXL) || (height <= ResponsiveTheme.XXL);\n\t}\n\n\t/**\n\t * Currently added rules.\n\t */\n\tpublic responsiveRules: IResponsiveRule[] = [];\n\n\t/**\n\t * Instantiates the theme without adding default respomsive rules.\n\t */\n\tstatic newEmpty<T extends typeof ResponsiveTheme>(this: T, root: Root): InstanceType<T> {\n\t\treturn (new this(root, true)) as InstanceType<T>;\n\t}\n\n\t/**\n\t * Adds a responsive rule as well as retuns it.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/responsive/} for more info\n\t * @param rule Responsive rule\n\t * @return Responsive rule\n\t */\n\tpublic addRule(rule: IResponsiveRule): IResponsiveRule {\n\t\tif (rule.name && !rule.template) {\n\t\t\trule.template = (<any>this).rule(rule.name, rule.tags);\n\t\t}\n\n\t\trule._dp = new MultiDisposer([\n\t\t\tthis._root._rootContainer.onPrivate(\"width\", (_width) => { if (this._isUsed()) { this._applyRule(rule); } }),\n\t\t\tthis._root._rootContainer.onPrivate(\"height\", (_height) => { if (this._isUsed()) { this._applyRule(rule); } })\n\t\t]);\n\n\t\tthis.responsiveRules.push(rule);\n\t\tthis._applyRule(rule);\n\t\treturn rule;\n\t}\n\n\t/**\n\t * Removes the responsive rule.\n\t *\n\t * @param rule Responsive rule\n\t */\n\tpublic removeRule(rule: IResponsiveRule): void {\n\t\t$array.remove(this.responsiveRules, rule);\n\t\tif (rule._dp) {\n\t\t\trule._dp.dispose();\n\t\t}\n\t}\n\n\tprotected _isUsed(): boolean {\n\t\treturn this._root._rootContainer.get(\"themes\")!.indexOf(this) !== -1;\n\t}\n\n\tprotected _applyRule(rule: IResponsiveRule): void {\n\t\tconst w = this._root._rootContainer.getPrivate(\"width\");\n\t\tconst h = this._root._rootContainer.getPrivate(\"height\");\n\t\tconst relevant = rule.relevant.call(rule, <number>w, <number>h);\n\t\tconst applied = rule.applied;\n\t\tif (relevant) {\n\t\t\tif (!applied) {\n\t\t\t\trule.applied = true;\n\t\t\t\tif (rule.template && rule.settings) {\n\t\t\t\t\trule.template.setAll(rule.settings);\n\t\t\t\t}\n\t\t\t\tif (rule.applying) {\n\t\t\t\t\trule.applying.call(rule);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (applied) {\n\t\t\trule.applied = false;\n\t\t\tif (rule.template) {\n\t\t\t\trule.template.removeAll();\n\t\t\t}\n\t\t\tif (rule.removing) {\n\t\t\t\trule.removing.call(rule);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Adds default rules for various chart types and most standard scenarios.\n\t */\n\tprotected setupDefaultRules(): void {\n\t\tsuper.setupDefaultRules();\n\n\t\tconst addRule = (rule: IResponsiveRule) => this.addRule(rule);\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Universal\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"Chart\",\n\t\t\trelevant: ResponsiveTheme.widthXXS,\n\t\t\tsettings: {\n\t\t\t\tpaddingLeft: 0,\n\t\t\t\tpaddingRight: 0\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Chart\",\n\t\t\trelevant: ResponsiveTheme.heightXXS,\n\t\t\tsettings: {\n\t\t\t\tpaddingTop: 0,\n\t\t\t\tpaddingBottom: 0\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Bullet\",\n\t\t\trelevant: ResponsiveTheme.isXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Legend\",\n\t\t\trelevant: ResponsiveTheme.isXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"HeatLegend\",\n\t\t\ttags: [\"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"HeatLegend\",\n\t\t\ttags: [\"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"heatlegend\", \"start\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"heatlegend\", \"end\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Button\",\n\t\t\ttags: [\"resize\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * XY\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"AxisRendererX\",\n\t\t\trelevant: ResponsiveTheme.heightXS,\n\t\t\tsettings: {\n\t\t\t\tinside: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisRendererY\",\n\t\t\trelevant: ResponsiveTheme.widthXS,\n\t\t\tsettings: {\n\t\t\t\tinside: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisRendererXLabel\",\n\t\t\trelevant: ResponsiveTheme.heightXS,\n\t\t\tsettings: {\n\t\t\t\tminPosition: 0.1,\n\t\t\t\tmaxPosition: 0.9\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisLabel\",\n\t\t\ttags: [\"y\"],\n\t\t\trelevant: ResponsiveTheme.widthXS,\n\t\t\tsettings: {\n\t\t\t\tcenterY: p100,\n\t\t\t\tmaxPosition: 0.9\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisLabel\",\n\t\t\ttags: [\"x\"],\n\t\t\trelevant: ResponsiveTheme.heightXXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisLabel\",\n\t\t\ttags: [\"y\"],\n\t\t\trelevant: ResponsiveTheme.widthXXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisTick\",\n\t\t\ttags: [\"x\"],\n\t\t\trelevant: ResponsiveTheme.heightXS,\n\t\t\tsettings: {\n\t\t\t\tinside: true,\n\t\t\t\tminPosition: 0.1,\n\t\t\t\tmaxPosition: 0.9\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisTick\",\n\t\t\ttags: [\"y\"],\n\t\t\trelevant: ResponsiveTheme.widthXXS,\n\t\t\tsettings: {\n\t\t\t\tinside: true,\n\t\t\t\tminPosition: 0.1,\n\t\t\t\tmaxPosition: 0.9\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Grid\",\n\t\t\trelevant: ResponsiveTheme.maybeXXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Radar\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"RadialLabel\",\n\t\t\ttags: [\"radial\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"RadialLabel\",\n\t\t\ttags: [\"circular\"],\n\t\t\trelevant: ResponsiveTheme.maybeS,\n\t\t\tsettings: {\n\t\t\t\tinside: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisTick\",\n\t\t\trelevant: ResponsiveTheme.maybeS,\n\t\t\tsettings: {\n\t\t\t\tinside: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"RadialLabel\",\n\t\t\ttags: [\"circular\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"AxisTick\",\n\t\t\ttags: [\"circular\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tinside: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Pie\n\t\t * ========================================================================\n\t\t */\n\t\taddRule({\n\t\t\tname: \"PieChart\",\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tradius: percent(99)\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"PieChart\",\n\t\t\trelevant: ResponsiveTheme.widthM,\n\t\t\tsettings: {\n\t\t\t\tradius: percent(99)\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"RadialLabel\",\n\t\t\ttags: [\"pie\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"RadialLabel\",\n\t\t\ttags: [\"pie\"],\n\t\t\trelevant: ResponsiveTheme.widthM,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"pie\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"pie\"],\n\t\t\trelevant: ResponsiveTheme.widthM,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Funnel\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"FunnelSeries\",\n\t\t\trelevant: ResponsiveTheme.widthM,\n\t\t\tsettings: {\n\t\t\t\talignLabels: false\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"funnel\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthL,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"funnel\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthL,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"funnel\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"funnel\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Pyramid\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"PyramidSeries\",\n\t\t\trelevant: ResponsiveTheme.widthM,\n\t\t\tsettings: {\n\t\t\t\talignLabels: false\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"pyramid\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthL,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"pyramid\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthL,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"pyramid\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"pyramid\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Pictorial\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"PictorialStackedSeries\",\n\t\t\trelevant: ResponsiveTheme.widthM,\n\t\t\tsettings: {\n\t\t\t\talignLabels: false\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"pictorial\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthL,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"pictorial\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.widthL,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"pictorial\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Tick\",\n\t\t\ttags: [\"pictorial\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Map\n\t\t * ========================================================================\n\t\t */\n\n\t\t// Nothing to do here\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Flow (Sankey+Chord)\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"flow\", \"horizontal\"],\n\t\t\trelevant: ResponsiveTheme.widthS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"flow\", \"vertical\"],\n\t\t\trelevant: ResponsiveTheme.heightS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t\taddRule({\n\t\t\tname: \"Chord\",\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tradius: percent(99)\n\t\t\t}\n\t\t});\n\n\n\t\t/**\n\t\t * ========================================================================\n\t\t * Hierarchy (Treemap, Partition, Sunburst, Pack, ForceDirected)\n\t\t * ========================================================================\n\t\t */\n\n\t\taddRule({\n\t\t\tname: \"Label\",\n\t\t\ttags: [\"hierarchy\", \"node\"],\n\t\t\trelevant: ResponsiveTheme.maybeXS,\n\t\t\tsettings: {\n\t\t\t\tforceHidden: true\n\t\t\t}\n\t\t});\n\n\t}\n}\n"]}
package/CHANGELOG.md CHANGED
@@ -5,6 +5,54 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
5
5
  Please note, that this project, while following numbering syntax, it DOES NOT
6
6
  adhere to [Semantic Versioning](http://semver.org/spec/v2.0.0.html) rules.
7
7
 
8
+ ## [5.0.20] - 2021-12-30
9
+
10
+ ### Fixed
11
+ - `SliceGrouper` with `clickBehavior = "zoom"` was not zooming out properly.
12
+ - `GridLayout` could leave empty gaps if some of the items in it were hidden.
13
+ - dragging sprites within rotated containers was not working properly.
14
+ - Null value was breaking stacking of columns in some cases.
15
+ - Fixing tooltips being broken inside of shadow DOM. ([Issue 166](https://github.com/amcharts/amcharts5/issues/166))
16
+
17
+
18
+ ## [5.0.19] - 2021-12-27
19
+
20
+ ### Added
21
+ - `groupDataDisabled` setting added to XYSeries. If set to `false` will exclude series from data grouping mechanism, even if it is enabled on related `DateSeries`.
22
+ - New plugin `SliceGrouper`. Can be used to automatically group small slices on percent charts like Pie, Funnel, etc. [More info](https://www.amcharts.com/docs/v5/charts/percent-charts/grouping-slices/).
23
+
24
+ ### Fixed
25
+ - If data was added to percent series after initial data was already processed, the bew slices would get colors from the start of the color set.
26
+ - Multiple square bracket and apostrophe escaping was not working properly.
27
+ - A JS error could occur when changing `XYSeries` data with less data items then there were before.
28
+ - `PieSeries` were not arranging its labels properly in some cases.
29
+ - `XYCursor` taps were not working properly after chart zoom on touch devices.
30
+
31
+
32
+ ## [5.0.18] - 2021-12-19
33
+
34
+ ### Changed
35
+ - When auto-wrapping labels, text will no longer break on dots to prevent fractional numbers from wrapping.
36
+ - Scrollable `Container`'s scrollbar will auto-hide if contents fit in it without scrolling.
37
+
38
+ ### Fixed
39
+ - Disabling click-toggling of legend, was disabling hover events, too.
40
+ - `ResponsiveTheme`'s custom rules were not working properly.
41
+ - `Exporting` was not applying proper background color to exported images.
42
+ - `CategoryDateAxis` grid and labels placing algorithm improved.
43
+ - Sometimes bullets of XYChart were not being properly clipped by the bounds of the plot area.
44
+ - Memory leak related to: https://bugs.chromium.org/p/chromium/issues/detail?id=1279394 was fixed.
45
+
46
+
47
+ ## [5.0.17] - 2021-12-15
48
+
49
+ ### Fixed
50
+ - `WordCloud` was not coloring words even if colors ColorSet was set or data with colors was used.
51
+ - `WordCloud` was not showing anything if all words had the same weight.
52
+ - Adding `type` and `main` fields to `package.json`.
53
+ - Fixed scrollbar issue with non-animated theme where clicking on a background of a scrollbar would not move to target position.
54
+
55
+
8
56
  ## [5.0.16] - 2021-12-10
9
57
 
10
58
  ### Added
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-chord",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.0.16",
6
+ "@amcharts/amcharts5": "^5.0.20",
7
7
  "source-map-loader": "^3.0.0",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^4.1.0",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-chord-directed",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.0.16",
6
+ "@amcharts/amcharts5": "^5.0.20",
7
7
  "source-map-loader": "^3.0.0",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^4.1.0",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-chord-non-ribbon",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.0.16",
6
+ "@amcharts/amcharts5": "^5.0.20",
7
7
  "source-map-loader": "^3.0.0",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^4.1.0",
@@ -3,7 +3,7 @@
3
3
  "name": "amcharts5-example-flow-sankey",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.0.16",
6
+ "@amcharts/amcharts5": "^5.0.20",
7
7
  "source-map-loader": "^3.0.0",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^4.1.0",