@amcharts/amcharts5 5.0.15 → 5.0.19

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 (217) hide show
  1. package/.internal/charts/hierarchy/Hierarchy.js +1 -1
  2. package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
  3. package/.internal/charts/hierarchy/HierarchyDefaultTheme.d.ts.map +1 -1
  4. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js +3 -0
  5. package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
  6. package/.internal/charts/map/MapChart.d.ts +9 -2
  7. package/.internal/charts/map/MapChart.d.ts.map +1 -1
  8. package/.internal/charts/map/MapChart.js +9 -2
  9. package/.internal/charts/map/MapChart.js.map +1 -1
  10. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  11. package/.internal/charts/map/MapPointSeries.js +1 -2
  12. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  13. package/.internal/charts/map/MapUtils.js +2 -2
  14. package/.internal/charts/map/MapUtils.js.map +1 -1
  15. package/.internal/charts/percent/PercentSeries.d.ts +2 -0
  16. package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
  17. package/.internal/charts/percent/PercentSeries.js +24 -1
  18. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  19. package/.internal/charts/wordcloud/WordCloud.d.ts.map +1 -1
  20. package/.internal/charts/wordcloud/WordCloud.js +6 -1
  21. package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
  22. package/.internal/charts/xy/XYChart.d.ts +4 -0
  23. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  24. package/.internal/charts/xy/XYChart.js +7 -0
  25. package/.internal/charts/xy/XYChart.js.map +1 -1
  26. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  27. package/.internal/charts/xy/axes/Axis.js +3 -0
  28. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  29. package/.internal/charts/xy/axes/CategoryDateAxis.d.ts.map +1 -1
  30. package/.internal/charts/xy/axes/CategoryDateAxis.js +4 -1
  31. package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
  32. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  33. package/.internal/charts/xy/axes/DateAxis.js +3 -1
  34. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  35. package/.internal/charts/xy/axes/ValueAxis.js +2 -2
  36. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  37. package/.internal/charts/xy/series/BaseColumnSeries.d.ts +2 -0
  38. package/.internal/charts/xy/series/BaseColumnSeries.d.ts.map +1 -1
  39. package/.internal/charts/xy/series/BaseColumnSeries.js +34 -2
  40. package/.internal/charts/xy/series/BaseColumnSeries.js.map +1 -1
  41. package/.internal/charts/xy/series/XYSeries.d.ts +20 -0
  42. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  43. package/.internal/charts/xy/series/XYSeries.js +52 -2
  44. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  45. package/.internal/core/render/Component.d.ts.map +1 -1
  46. package/.internal/core/render/Component.js +5 -1
  47. package/.internal/core/render/Component.js.map +1 -1
  48. package/.internal/core/render/Container.d.ts.map +1 -1
  49. package/.internal/core/render/Container.js +7 -0
  50. package/.internal/core/render/Container.js.map +1 -1
  51. package/.internal/core/render/Legend.d.ts +3 -2
  52. package/.internal/core/render/Legend.d.ts.map +1 -1
  53. package/.internal/core/render/Legend.js +18 -5
  54. package/.internal/core/render/Legend.js.map +1 -1
  55. package/.internal/core/render/Scrollbar.d.ts.map +1 -1
  56. package/.internal/core/render/Scrollbar.js +8 -2
  57. package/.internal/core/render/Scrollbar.js.map +1 -1
  58. package/.internal/core/render/SerialChart.d.ts.map +1 -1
  59. package/.internal/core/render/SerialChart.js +4 -0
  60. package/.internal/core/render/SerialChart.js.map +1 -1
  61. package/.internal/core/render/Series.d.ts +1 -1
  62. package/.internal/core/render/Series.d.ts.map +1 -1
  63. package/.internal/core/render/Series.js +28 -23
  64. package/.internal/core/render/Series.js.map +1 -1
  65. package/.internal/core/render/Sprite.d.ts +13 -1
  66. package/.internal/core/render/Sprite.d.ts.map +1 -1
  67. package/.internal/core/render/Sprite.js +17 -7
  68. package/.internal/core/render/Sprite.js.map +1 -1
  69. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  70. package/.internal/core/render/backend/CanvasRenderer.js +39 -15
  71. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  72. package/.internal/core/render/backend/Renderer.d.ts +1 -0
  73. package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
  74. package/.internal/core/render/backend/Renderer.js.map +1 -1
  75. package/.internal/core/util/Children.d.ts.map +1 -1
  76. package/.internal/core/util/Children.js +4 -0
  77. package/.internal/core/util/Children.js.map +1 -1
  78. package/.internal/core/util/ColorSet.d.ts +0 -1
  79. package/.internal/core/util/ColorSet.d.ts.map +1 -1
  80. package/.internal/core/util/ColorSet.js +1 -12
  81. package/.internal/core/util/ColorSet.js.map +1 -1
  82. package/.internal/core/util/List.d.ts +6 -0
  83. package/.internal/core/util/List.d.ts.map +1 -1
  84. package/.internal/core/util/List.js +26 -3
  85. package/.internal/core/util/List.js.map +1 -1
  86. package/.internal/core/util/TextFormatter.js +2 -2
  87. package/.internal/core/util/TextFormatter.js.map +1 -1
  88. package/.internal/plugins/exporting/Exporting.d.ts +29 -0
  89. package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
  90. package/.internal/plugins/exporting/Exporting.js +15 -4
  91. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  92. package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts +75 -0
  93. package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts.map +1 -0
  94. package/.internal/plugins/sliceGrouper/SliceGrouper.js +229 -0
  95. package/.internal/plugins/sliceGrouper/SliceGrouper.js.map +1 -0
  96. package/.internal/themes/ResponsiveTheme.js +4 -4
  97. package/.internal/themes/ResponsiveTheme.js.map +1 -1
  98. package/CHANGELOG.md +57 -0
  99. package/examples/javascript/flow-chord/package.json +1 -1
  100. package/examples/javascript/flow-chord-directed/package.json +1 -1
  101. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  102. package/examples/javascript/flow-sankey/package.json +1 -1
  103. package/examples/javascript/gauge/package.json +1 -1
  104. package/examples/javascript/gauge-bands/package.json +1 -1
  105. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  106. package/examples/javascript/hierarchy-pack/package.json +1 -1
  107. package/examples/javascript/hierarchy-partition/package.json +1 -1
  108. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  109. package/examples/javascript/hierarchy-tree/package.json +1 -1
  110. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  111. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  112. package/examples/javascript/map-day-and-night/package.json +1 -1
  113. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  114. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  115. package/examples/javascript/map-with-bubbles/package.json +1 -1
  116. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  117. package/examples/javascript/misc-40-charts/package.json +1 -1
  118. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  119. package/examples/javascript/pie-chart/package.json +1 -1
  120. package/examples/javascript/pie-donut-chart/package.json +1 -1
  121. package/examples/javascript/pie-variable-radius/package.json +1 -1
  122. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  123. package/examples/javascript/radar-heat-map/package.json +1 -1
  124. package/examples/javascript/radar-line/package.json +1 -1
  125. package/examples/javascript/radar-time-line/package.json +1 -1
  126. package/examples/javascript/sliced-funnel/package.json +1 -1
  127. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  128. package/examples/javascript/sliced-pyramid/package.json +1 -1
  129. package/examples/javascript/venn-diagram/package.json +1 -1
  130. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  131. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  132. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  133. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  134. package/examples/javascript/xy-bubble/package.json +1 -1
  135. package/examples/javascript/xy-candlestick/package.json +1 -1
  136. package/examples/javascript/xy-clustered-column/package.json +1 -1
  137. package/examples/javascript/xy-column/package.json +1 -1
  138. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  139. package/examples/javascript/xy-data-grouping/package.json +1 -1
  140. package/examples/javascript/xy-draggable-range/package.json +1 -1
  141. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  142. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  143. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  144. package/examples/javascript/xy-line/package.json +1 -1
  145. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  146. package/examples/javascript/xy-live-data/package.json +1 -1
  147. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  148. package/examples/javascript/xy-ohlc/package.json +1 -1
  149. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  150. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  151. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  152. package/examples/javascript/xy-stacked-column/package.json +1 -1
  153. package/examples/javascript/xy-stacked-step/package.json +1 -1
  154. package/examples/javascript/xy-stock/package.json +1 -1
  155. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  156. package/examples/typescript/flow-chord/package.json +1 -1
  157. package/examples/typescript/flow-chord-directed/package.json +1 -1
  158. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  159. package/examples/typescript/flow-sankey/package.json +1 -1
  160. package/examples/typescript/gauge/package.json +1 -1
  161. package/examples/typescript/gauge-bands/package.json +1 -1
  162. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  163. package/examples/typescript/hierarchy-pack/package.json +1 -1
  164. package/examples/typescript/hierarchy-partition/package.json +1 -1
  165. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  166. package/examples/typescript/hierarchy-tree/package.json +1 -1
  167. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  168. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  169. package/examples/typescript/map-day-and-night/package.json +1 -1
  170. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  171. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  172. package/examples/typescript/map-with-bubbles/package.json +1 -1
  173. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  174. package/examples/typescript/misc-40-charts/package.json +1 -1
  175. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  176. package/examples/typescript/pie-chart/package.json +1 -1
  177. package/examples/typescript/pie-donut-chart/package.json +1 -1
  178. package/examples/typescript/pie-variable-radius/package.json +1 -1
  179. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  180. package/examples/typescript/radar-heat-map/package.json +1 -1
  181. package/examples/typescript/radar-line/package.json +1 -1
  182. package/examples/typescript/radar-time-line/package.json +1 -1
  183. package/examples/typescript/sliced-funnel/package.json +1 -1
  184. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  185. package/examples/typescript/sliced-pyramid/package.json +1 -1
  186. package/examples/typescript/venn-diagram/package.json +1 -1
  187. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  188. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  189. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  190. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  191. package/examples/typescript/xy-bubble/package.json +1 -1
  192. package/examples/typescript/xy-candlestick/package.json +1 -1
  193. package/examples/typescript/xy-clustered-column/package.json +1 -1
  194. package/examples/typescript/xy-column/package.json +1 -1
  195. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  196. package/examples/typescript/xy-data-grouping/package.json +1 -1
  197. package/examples/typescript/xy-draggable-range/package.json +1 -1
  198. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  199. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  200. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  201. package/examples/typescript/xy-line/package.json +1 -1
  202. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  203. package/examples/typescript/xy-live-data/package.json +1 -1
  204. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  205. package/examples/typescript/xy-ohlc/package.json +1 -1
  206. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  207. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  208. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  209. package/examples/typescript/xy-stacked-column/package.json +1 -1
  210. package/examples/typescript/xy-stacked-step/package.json +1 -1
  211. package/examples/typescript/xy-stock/package.json +1 -1
  212. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  213. package/package.json +2 -1
  214. package/plugins/sliceGrouper.d.ts +2 -0
  215. package/plugins/sliceGrouper.d.ts.map +1 -0
  216. package/plugins/sliceGrouper.js +2 -0
  217. package/plugins/sliceGrouper.js.map +1 -0
@@ -0,0 +1,75 @@
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
+ smallDataItems?: DataItem<IPercentSeriesDataItem>[];
45
+ }
46
+ export interface ISliceGrouperEvents extends IEntityEvents {
47
+ }
48
+ /**
49
+ * A plugin that can be used to automatically group small slices on percent
50
+ * charts into a single slice.
51
+ *
52
+ * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/grouping-slices/} for more info
53
+ */
54
+ export declare class SliceGrouper extends Entity {
55
+ static className: string;
56
+ static classNames: Array<string>;
57
+ _settings: ISliceGrouperSettings;
58
+ _privateSettings: ISliceGrouperPrivate;
59
+ _events: ISliceGrouperEvents;
60
+ /**
61
+ * A button that is shown when chart small buttons are visible.
62
+ */
63
+ zoomOutButton?: Button;
64
+ protected _afterNew(): void;
65
+ private initZoomButton;
66
+ private handleData;
67
+ /**
68
+ * Resets slice setup to original grouping state.
69
+ */
70
+ zoomOut(): void;
71
+ private updateGroupDataItem;
72
+ private handleClick;
73
+ _beforeChanged(): void;
74
+ }
75
+ //# 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,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;IAuElB;;OAEG;IACI,OAAO,IAAI,IAAI;IAgBtB,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,WAAW;IA2BZ,cAAc;CAcrB"}
@@ -0,0 +1,229 @@
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 smallDataItems_1 = [];
101
+ var groupValue_1 = 0;
102
+ if (threshold_1 || limit_1) {
103
+ $array.each(series.dataItems, function (item, index) {
104
+ var legendDataItem = item.get("legendDataItem");
105
+ if (((item.get("valuePercentTotal") <= threshold_1) || (index > (limit_1 - 1))) && groupDataItem_1 !== item) {
106
+ groupValue_1 += item.get("value", 0);
107
+ smallDataItems_1.push(item);
108
+ item.hide(0);
109
+ if (legendDataItem) {
110
+ legendDataItem.get("itemContainer").hide(0);
111
+ }
112
+ }
113
+ else if (legendDataItem) {
114
+ legendDataItem.get("itemContainer").show(0);
115
+ }
116
+ });
117
+ this.setPrivate("smallDataItems", smallDataItems_1);
118
+ this.updateGroupDataItem(groupValue_1);
119
+ }
120
+ }
121
+ }
122
+ });
123
+ /**
124
+ * Resets slice setup to original grouping state.
125
+ */
126
+ Object.defineProperty(SliceGrouper.prototype, "zoomOut", {
127
+ enumerable: false,
128
+ configurable: true,
129
+ writable: true,
130
+ value: function () {
131
+ var groupDataItem = this.getPrivate("groupDataItem");
132
+ if (groupDataItem) {
133
+ groupDataItem.show();
134
+ }
135
+ var smallDataItems = this.getPrivate("smallDataItems", []);
136
+ $array.each(smallDataItems, function (item) {
137
+ item.hide();
138
+ });
139
+ if (this.zoomOutButton) {
140
+ this.zoomOutButton.hide();
141
+ }
142
+ }
143
+ });
144
+ Object.defineProperty(SliceGrouper.prototype, "updateGroupDataItem", {
145
+ enumerable: false,
146
+ configurable: true,
147
+ writable: true,
148
+ value: function (groupValue) {
149
+ var series = this.get("series");
150
+ if (series) {
151
+ var groupSliceData = {};
152
+ var categoryField = series.get("categoryField", "category");
153
+ var valueField = series.get("valueField", "value");
154
+ groupSliceData[categoryField] = this.get("groupName", "");
155
+ groupSliceData[valueField] = groupValue;
156
+ series.data.setIndex(series.data.length - 1, groupSliceData);
157
+ var groupDataItem = this.getPrivate("groupDataItem");
158
+ if (groupValue == 0) {
159
+ groupDataItem.hide(0);
160
+ }
161
+ else if (groupDataItem.isHidden()) {
162
+ groupDataItem.show();
163
+ }
164
+ var clickBehavior = this.get("clickBehavior");
165
+ if (clickBehavior != "none") {
166
+ groupDataItem.get("slice").set("toggleKey", "none");
167
+ }
168
+ }
169
+ }
170
+ });
171
+ Object.defineProperty(SliceGrouper.prototype, "handleClick", {
172
+ enumerable: false,
173
+ configurable: true,
174
+ writable: true,
175
+ value: function () {
176
+ var clickBehavior = this.get("clickBehavior");
177
+ var smallDataItems = this.getPrivate("smallDataItems");
178
+ if (clickBehavior == "none" || (smallDataItems && smallDataItems.length == 0)) {
179
+ return;
180
+ }
181
+ var series = this.get("series");
182
+ var groupDataItem = this.getPrivate("groupDataItem");
183
+ // Hide group slice
184
+ groupDataItem.hide();
185
+ // Reveal small slices
186
+ $array.each(series.dataItems, function (item) {
187
+ if (smallDataItems.indexOf(item) !== -1) {
188
+ item.show();
189
+ }
190
+ else if (clickBehavior == "zoom") {
191
+ item.hide();
192
+ }
193
+ });
194
+ this.zoomOutButton.show();
195
+ }
196
+ });
197
+ Object.defineProperty(SliceGrouper.prototype, "_beforeChanged", {
198
+ enumerable: false,
199
+ configurable: true,
200
+ writable: true,
201
+ value: function () {
202
+ var _this = this;
203
+ _super.prototype._beforeChanged.call(this);
204
+ if (this.isDirty("series")) {
205
+ var series = this.get("series");
206
+ if (series) {
207
+ series.events.on("datavalidated", function (_ev) {
208
+ _this.handleData();
209
+ });
210
+ }
211
+ }
212
+ }
213
+ });
214
+ Object.defineProperty(SliceGrouper, "className", {
215
+ enumerable: true,
216
+ configurable: true,
217
+ writable: true,
218
+ value: "SliceGrouper"
219
+ });
220
+ Object.defineProperty(SliceGrouper, "classNames", {
221
+ enumerable: true,
222
+ configurable: true,
223
+ writable: true,
224
+ value: Entity.classNames.concat([SliceGrouper.className])
225
+ });
226
+ return SliceGrouper;
227
+ }(Entity));
228
+ export { SliceGrouper };
229
+ //# 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\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 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\tlegendDataItem.get(\"itemContainer\").show(0);\n\t\t\t\t\t}\n\t\t\t\t});\n\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 smallDataItems = this.getPrivate(\"smallDataItems\", []);\n\t\t$array.each(smallDataItems, (item) => {\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,63 @@ 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.19] - 2021-12-27
9
+
10
+ ### Added
11
+ - `groupDataDisabled` setting added to XYSeries. If set to `false` will exclude series from data grouping mechanism, even if it is enabled on related `DateSeries`.
12
+ - 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/).
13
+
14
+ ### Fixed
15
+ - 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.
16
+ - Multiple square bracket and apostrophe escaping was not working properly.
17
+ - A JS error could occur when changing `XYSeries` data with less data items then there were before.
18
+ - `PieSeries` were not arranging its labels properly in some cases.
19
+ - `XYCursor` taps were not working properly after chart zoom on touch devices.
20
+
21
+
22
+ ## [5.0.18] - 2021-12-19
23
+
24
+ ### Changed
25
+ - When auto-wrapping labels, text will no longer break on dots to prevent fractional numbers from wrapping.
26
+ - Scrollable `Container`'s scrollbar will auto-hide if contents fit in it without scrolling.
27
+
28
+ ### Fixed
29
+ - Disabling click-toggling of legend, was disabling hover events, too.
30
+ - `ResponsiveTheme`'s custom rules were not working properly.
31
+ - `Exporting` was not applying proper background color to exported images.
32
+ - `CategoryDateAxis` grid and labels placing algorithm improved.
33
+ - Sometimes bullets of XYChart were not being properly clipped by the bounds of the plot area.
34
+ - Memory leak related to: https://bugs.chromium.org/p/chromium/issues/detail?id=1279394 was fixed.
35
+
36
+
37
+ ## [5.0.17] - 2021-12-15
38
+
39
+ ### Fixed
40
+ - `WordCloud` was not coloring words even if colors ColorSet was set or data with colors was used.
41
+ - `WordCloud` was not showing anything if all words had the same weight.
42
+ - Adding `type` and `main` fields to `package.json`.
43
+ - Fixed scrollbar issue with non-animated theme where clicking on a background of a scrollbar would not move to target position.
44
+
45
+
46
+ ## [5.0.16] - 2021-12-10
47
+
48
+ ### Added
49
+ - `tooltipPositionX` and `tooltipPositionY` added to `XYSeries` (possible values: `"value"`, `"open"`, `"low"`, and `"high"`). Indicates which data item value tooltip should be anchored to.
50
+ - New settings added to `Exporting` for formatting durations: `durationFields`, `durationFormat`, and `durationUnit`.
51
+ - `showTooltipOn` (default: `"hover"`) added to `Sprite`. Another option is `"always"` which will show tooltip without any interaction with the element. [More info](https://www.amcharts.com/docs/v5/concepts/common-elements/tooltips/#Sticky_tooltips).
52
+
53
+ ### Changed
54
+ - `Hierarchy` will now set bottom-level node's `cursorOverStyle: "default"` via theme, instead of hardocding it, so that it can be overridden via node templates.
55
+
56
+ ### Fixed
57
+ - Stacked `XYSeries` with missing values and `valueYShow` set to `"valueYTotalPercent"` or `valueXShow` set to `"valueXTotalPercent"` were not showing columns/lines.
58
+ - Changing legend position from bottom/top to right/left was not arranging elements properly.
59
+ - If `Slice` of a `PieSeries` had a `templateField` set, legend marker was not using all the settings of that slice properly.
60
+ - Bullets were causing performance issues when data grouping was turned on.
61
+ - `Label` underline was not inheriting label's color properly.
62
+ - `Label` underline was not beign placed properly on center/right-aligned labels.
63
+
64
+
8
65
  ## [5.0.15] - 2021-12-07
9
66
 
10
67
  ### 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.15",
6
+ "@amcharts/amcharts5": "^5.0.19",
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.15",
6
+ "@amcharts/amcharts5": "^5.0.19",
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.15",
6
+ "@amcharts/amcharts5": "^5.0.19",
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.15",
6
+ "@amcharts/amcharts5": "^5.0.19",
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-gauge",
4
4
  "version": "0.1.0",
5
5
  "devDependencies": {
6
- "@amcharts/amcharts5": "^5.0.15",
6
+ "@amcharts/amcharts5": "^5.0.19",
7
7
  "source-map-loader": "^3.0.0",
8
8
  "webpack": "^5.1.3",
9
9
  "webpack-cli": "^4.1.0",