@taiga-ui/addon-charts 2.27.1 → 2.31.0

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 (100) hide show
  1. package/README.md +4 -5
  2. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.js +352 -0
  3. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.js.map +1 -0
  4. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.min.js +16 -0
  5. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.min.js.map +1 -0
  6. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.js +19 -2
  7. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.js.map +1 -1
  8. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.min.js +1 -1
  9. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.js +5 -1
  11. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.js.map +1 -1
  12. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.min.js +1 -1
  13. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.js +96 -20
  15. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.js.map +1 -1
  16. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.min.js +2 -2
  17. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.js +2 -14
  19. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.js.map +1 -1
  20. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.min.js +1 -1
  21. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-addon-charts-components.umd.js +12 -4
  23. package/bundles/taiga-ui-addon-charts-components.umd.js.map +1 -1
  24. package/bundles/taiga-ui-addon-charts-components.umd.min.js +1 -1
  25. package/bundles/taiga-ui-addon-charts-utils.umd.js +4 -2
  26. package/bundles/taiga-ui-addon-charts-utils.umd.js.map +1 -1
  27. package/bundles/taiga-ui-addon-charts-utils.umd.min.js +1 -1
  28. package/bundles/taiga-ui-addon-charts-utils.umd.min.js.map +1 -1
  29. package/components/arc-chart/arc-chart.component.d.ts +20 -0
  30. package/components/arc-chart/arc-chart.module.d.ts +2 -0
  31. package/components/arc-chart/index.d.ts +2 -0
  32. package/components/arc-chart/package.json +13 -0
  33. package/components/arc-chart/taiga-ui-addon-charts-components-arc-chart.d.ts +4 -0
  34. package/components/arc-chart/taiga-ui-addon-charts-components-arc-chart.metadata.json +1 -0
  35. package/components/index.d.ts +1 -0
  36. package/components/legend-item/legend-item.component.d.ts +4 -1
  37. package/components/legend-item/taiga-ui-addon-charts-components-legend-item.metadata.json +1 -1
  38. package/components/line-days-chart/taiga-ui-addon-charts-components-line-days-chart.metadata.json +1 -1
  39. package/components/pie-chart/index.d.ts +1 -0
  40. package/components/pie-chart/pie-chart.component.d.ts +4 -2
  41. package/components/pie-chart/pie-chart.directive.d.ts +7 -0
  42. package/components/pie-chart/taiga-ui-addon-charts-components-pie-chart.metadata.json +1 -1
  43. package/components/ring-chart/ring-chart.component.d.ts +0 -2
  44. package/components/ring-chart/taiga-ui-addon-charts-components-ring-chart.metadata.json +1 -1
  45. package/components/taiga-ui-addon-charts-components.metadata.json +1 -1
  46. package/esm2015/components/arc-chart/arc-chart.component.js +102 -0
  47. package/esm2015/components/arc-chart/arc-chart.module.js +15 -0
  48. package/esm2015/components/arc-chart/index.js +3 -0
  49. package/esm2015/components/arc-chart/taiga-ui-addon-charts-components-arc-chart.js +5 -0
  50. package/esm2015/components/index.js +2 -1
  51. package/esm2015/components/legend-item/legend-item.component.js +21 -4
  52. package/esm2015/components/line-days-chart/line-days-chart.component.js +6 -2
  53. package/esm2015/components/pie-chart/index.js +2 -1
  54. package/esm2015/components/pie-chart/pie-chart.component.js +21 -11
  55. package/esm2015/components/pie-chart/pie-chart.directive.js +56 -0
  56. package/esm2015/components/pie-chart/pie-chart.module.js +11 -4
  57. package/esm2015/components/ring-chart/ring-chart.component.js +4 -12
  58. package/esm2015/utils/describe-sector.js +5 -3
  59. package/esm5/components/arc-chart/arc-chart.component.js +112 -0
  60. package/esm5/components/arc-chart/arc-chart.module.js +18 -0
  61. package/esm5/components/arc-chart/index.js +3 -0
  62. package/esm5/components/arc-chart/taiga-ui-addon-charts-components-arc-chart.js +5 -0
  63. package/esm5/components/index.js +2 -1
  64. package/esm5/components/legend-item/legend-item.component.js +21 -4
  65. package/esm5/components/line-days-chart/line-days-chart.component.js +6 -2
  66. package/esm5/components/pie-chart/index.js +2 -1
  67. package/esm5/components/pie-chart/pie-chart.component.js +27 -16
  68. package/esm5/components/pie-chart/pie-chart.directive.js +66 -0
  69. package/esm5/components/pie-chart/pie-chart.module.js +11 -4
  70. package/esm5/components/ring-chart/ring-chart.component.js +4 -16
  71. package/esm5/utils/describe-sector.js +5 -3
  72. package/fesm2015/taiga-ui-addon-charts-components-arc-chart.js +118 -0
  73. package/fesm2015/taiga-ui-addon-charts-components-arc-chart.js.map +1 -0
  74. package/fesm2015/taiga-ui-addon-charts-components-legend-item.js +20 -3
  75. package/fesm2015/taiga-ui-addon-charts-components-legend-item.js.map +1 -1
  76. package/fesm2015/taiga-ui-addon-charts-components-line-days-chart.js +5 -1
  77. package/fesm2015/taiga-ui-addon-charts-components-line-days-chart.js.map +1 -1
  78. package/fesm2015/taiga-ui-addon-charts-components-pie-chart.js +82 -15
  79. package/fesm2015/taiga-ui-addon-charts-components-pie-chart.js.map +1 -1
  80. package/fesm2015/taiga-ui-addon-charts-components-ring-chart.js +3 -11
  81. package/fesm2015/taiga-ui-addon-charts-components-ring-chart.js.map +1 -1
  82. package/fesm2015/taiga-ui-addon-charts-components.js +1 -0
  83. package/fesm2015/taiga-ui-addon-charts-components.js.map +1 -1
  84. package/fesm2015/taiga-ui-addon-charts-utils.js +4 -2
  85. package/fesm2015/taiga-ui-addon-charts-utils.js.map +1 -1
  86. package/fesm5/taiga-ui-addon-charts-components-arc-chart.js +131 -0
  87. package/fesm5/taiga-ui-addon-charts-components-arc-chart.js.map +1 -0
  88. package/fesm5/taiga-ui-addon-charts-components-legend-item.js +20 -3
  89. package/fesm5/taiga-ui-addon-charts-components-legend-item.js.map +1 -1
  90. package/fesm5/taiga-ui-addon-charts-components-line-days-chart.js +5 -1
  91. package/fesm5/taiga-ui-addon-charts-components-line-days-chart.js.map +1 -1
  92. package/fesm5/taiga-ui-addon-charts-components-pie-chart.js +99 -21
  93. package/fesm5/taiga-ui-addon-charts-components-pie-chart.js.map +1 -1
  94. package/fesm5/taiga-ui-addon-charts-components-ring-chart.js +3 -15
  95. package/fesm5/taiga-ui-addon-charts-components-ring-chart.js.map +1 -1
  96. package/fesm5/taiga-ui-addon-charts-components.js +1 -0
  97. package/fesm5/taiga-ui-addon-charts-components.js.map +1 -1
  98. package/fesm5/taiga-ui-addon-charts-utils.js +4 -2
  99. package/fesm5/taiga-ui-addon-charts-utils.js.map +1 -1
  100. package/package.json +5 -5
@@ -3,7 +3,6 @@ import { Location } from '@angular/common';
3
3
  import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, Input, Output, } from '@angular/core';
4
4
  import { DomSanitizer, SafeValue } from '@angular/platform-browser';
5
5
  import { TUI_DEFAULT_COLOR_HANDLER } from '@taiga-ui/addon-charts/constants';
6
- import { describeSector } from '@taiga-ui/addon-charts/utils';
7
6
  import { sum, TuiContextWithImplicit, tuiDefaultProp, TuiIdService, tuiPure, } from '@taiga-ui/cdk';
8
7
  import { colorFallback } from '@taiga-ui/core';
9
8
  var RADII = {
@@ -34,6 +33,13 @@ var TuiPieChartComponent = /** @class */ (function () {
34
33
  this.activeItemIndexChange = new EventEmitter();
35
34
  this.autoIdString = idService.generate();
36
35
  }
36
+ Object.defineProperty(TuiPieChartComponent.prototype, "empty", {
37
+ get: function () {
38
+ return !this.getSum(this.value);
39
+ },
40
+ enumerable: true,
41
+ configurable: true
42
+ });
37
43
  Object.defineProperty(TuiPieChartComponent.prototype, "maskId", {
38
44
  get: function () {
39
45
  return 'tui-ring-chart-' + this.autoIdString;
@@ -64,9 +70,6 @@ var TuiPieChartComponent = /** @class */ (function () {
64
70
  enumerable: true,
65
71
  configurable: true
66
72
  });
67
- TuiPieChartComponent.prototype.getContentContext = function ($implicit) {
68
- return { $implicit: $implicit };
69
- };
70
73
  TuiPieChartComponent.prototype.getTransform = function (index) {
71
74
  var transform = this.masked
72
75
  ? "scale(" + TRANSFORM[this.size] + ")"
@@ -82,17 +85,22 @@ var TuiPieChartComponent = /** @class */ (function () {
82
85
  TuiPieChartComponent.prototype.getColor = function (index) {
83
86
  return this.sanitizer.bypassSecurityTrustStyle("var(--tui-chart-" + index + ", " + colorFallback(this.colorHandler(index)) + ")");
84
87
  };
88
+ TuiPieChartComponent.prototype.getSum = function (value) {
89
+ return sum.apply(void 0, __spread(value));
90
+ };
85
91
  TuiPieChartComponent.prototype.getSegments = function (value) {
86
- var total = sum.apply(void 0, __spread(value));
92
+ var _this = this;
87
93
  return value
88
- .map(function (currentItem, currentIndex, array) {
89
- return array.reduce(function (sum, item, index) {
90
- return index < currentIndex ? (item / total) * 360 + sum : sum;
91
- }, (currentItem / total) * 360);
94
+ .map(function (initial, i, array) {
95
+ return array.reduce(function (sum, current, j) { return (j < i ? _this.getDeg(current) + sum : sum); }, _this.getDeg(initial));
92
96
  })
93
- .map(function (angle, index, array) {
94
- return describeSector(array[index - 1] || 0, Math.min(angle, 359.9999));
95
- });
97
+ .map(function (angle, index, array) { return [
98
+ array[index - 1] || 0,
99
+ Math.min(angle, 359.9999),
100
+ ]; });
101
+ };
102
+ TuiPieChartComponent.prototype.getDeg = function (value) {
103
+ return 360 * (value / this.getSum(this.value));
96
104
  };
97
105
  TuiPieChartComponent.prototype.updateActiveItemIndex = function (index) {
98
106
  if (index === this.activeItemIndex) {
@@ -134,18 +142,21 @@ var TuiPieChartComponent = /** @class */ (function () {
134
142
  __decorate([
135
143
  Output()
136
144
  ], TuiPieChartComponent.prototype, "activeItemIndexChange", void 0);
145
+ __decorate([
146
+ HostBinding('class._empty')
147
+ ], TuiPieChartComponent.prototype, "empty", null);
137
148
  __decorate([
138
149
  tuiPure
139
- ], TuiPieChartComponent.prototype, "getContentContext", null);
150
+ ], TuiPieChartComponent.prototype, "getSum", null);
140
151
  __decorate([
141
152
  tuiPure
142
153
  ], TuiPieChartComponent.prototype, "getSegments", null);
143
154
  TuiPieChartComponent = __decorate([
144
155
  Component({
145
156
  selector: 'tui-pie-chart',
146
- template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"100%\"\n width=\"100%\"\n viewBox=\"-100 -100 200 200\"\n focusable=\"false\"\n class=\"t-svg\"\n>\n <defs>\n <mask [attr.id]=\"maskId\">\n <rect\n x=\"-200\"\n y=\"-200\"\n width=\"400\"\n height=\"400\"\n fill=\"white\"\n ></rect>\n <circle cx=\"0\" cy=\"0\" [attr.r]=\"radius\"></circle>\n </mask>\n </defs>\n <g [style.mask]=\"mask\">\n <path\n *ngFor=\"let segment of segments; let index = index\"\n fill=\"currentColor\"\n automation-id=\"tui-pie-chart__segment\"\n tuiHintMode=\"onDark\"\n tuiHintDirection=\"top-right\"\n class=\"t-segment\"\n [attr.transform]=\"getTransform(index)\"\n [attr.d]=\"segment\"\n [style.color]=\"getColor(index)\"\n [tuiPointerHint]=\"getHint(hint)\"\n (tuiHoveredChange)=\"onHovered($event, index)\"\n >\n <ng-template #hint>\n <ng-container\n *ngTemplateOutlet=\"template; context: getContentContext(index)\"\n ></ng-container>\n </ng-template>\n </path>\n </g>\n</svg>\n<ng-template #template let-index>\n <div\n polymorpheus-outlet\n class=\"t-text\"\n [content]=\"hintContent\"\n [context]=\"getContentContext(index)\"\n ></div>\n</ng-template>\n",
157
+ template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"100%\"\n width=\"100%\"\n viewBox=\"-100 -100 200 200\"\n focusable=\"false\"\n class=\"t-svg\"\n>\n <defs>\n <mask [attr.id]=\"maskId\">\n <rect x=\"-200\" y=\"-200\" width=\"400\" height=\"400\" fill=\"white\" />\n <circle cx=\"0\" cy=\"0\" [attr.r]=\"radius\" />\n </mask>\n </defs>\n <g [style.mask]=\"mask\">\n <circle cx=\"0\" cy=\"0\" r=\"100\" class=\"t-placeholder\" />\n <path\n *tuiRepeatTimes=\"let index of segments.length\"\n fill=\"currentColor\"\n automation-id=\"tui-pie-chart__segment\"\n tuiHintMode=\"onDark\"\n tuiHintDirection=\"top-right\"\n d=\"\"\n class=\"t-segment\"\n [attr.transform]=\"getTransform(index)\"\n [style.color]=\"getColor(index)\"\n [tuiPieChart]=\"segments[index]\"\n [tuiPointerHint]=\"getHint(hint)\"\n (tuiHoveredChange)=\"onHovered($event, index)\"\n >\n <ng-template #hint>\n <ng-container\n *ngTemplateOutlet=\"template; context: {$implicit: index}\"\n ></ng-container>\n </ng-template>\n </path>\n </g>\n</svg>\n<ng-template #template let-index>\n <div\n polymorpheus-outlet\n class=\"t-text\"\n [content]=\"hintContent\"\n [context]=\"{$implicit: index}\"\n ></div>\n</ng-template>\n",
147
158
  changeDetection: ChangeDetectionStrategy.OnPush,
148
- styles: [":host{position:relative;display:block}:host[data-tui-host-size=xs]{width:2rem;height:2rem;pointer-events:none}:host[data-tui-host-size='s']{width:4rem;height:4rem}:host[data-tui-host-size='m']{width:9rem;height:9rem}:host[data-tui-host-size='l']{width:11rem;height:11rem}:host[data-tui-host-size=xl]{width:16rem;height:16rem}.t-svg{position:relative;overflow:visible;transform:rotate(-90deg)}.t-segment{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-text{white-space:pre-wrap}"]
159
+ styles: [":host{position:relative;display:block}:host[data-tui-host-size=xs]{width:2rem;height:2rem;pointer-events:none}:host[data-tui-host-size='s']{width:4rem;height:4rem}:host[data-tui-host-size='m']{width:9rem;height:9rem}:host[data-tui-host-size='l']{width:11rem;height:11rem}:host[data-tui-host-size=xl]{width:16rem;height:16rem}.t-svg{position:relative;overflow:visible;transform:rotate(-90deg)}.t-segment{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}:host._empty .t-segment{display:none}.t-placeholder{fill:var(--tui-base-03)}.t-text{white-space:pre-wrap}"]
149
160
  }),
150
161
  __param(0, Inject(TuiIdService)),
151
162
  __param(1, Inject(Location)),
@@ -154,4 +165,4 @@ var TuiPieChartComponent = /** @class */ (function () {
154
165
  return TuiPieChartComponent;
155
166
  }());
156
167
  export { TuiPieChartComponent };
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9waWUtY2hhcnQvIiwic291cmNlcyI6WyJwaWUtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRTNFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsR0FBRyxFQUNILHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsWUFBWSxFQUNaLE9BQU8sR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUF1QixNQUFNLGdCQUFnQixDQUFDO0FBR25FLElBQU0sS0FBSyxHQUFHO0lBQ1YsRUFBRSxFQUFFLElBQUk7SUFDUixDQUFDLEVBQUUsSUFBSTtJQUNQLENBQUMsRUFBRSxNQUFNO0lBQ1QsQ0FBQyxFQUFFLE1BQU07SUFDVCxFQUFFLEVBQUUsTUFBTTtDQUNiLENBQUM7QUFDRixJQUFNLFNBQVMsR0FBRztJQUNkLEVBQUUsRUFBRSxJQUFJO0lBQ1IsQ0FBQyxFQUFFLElBQUk7SUFDUCxDQUFDLEVBQUUsSUFBSTtJQUNQLENBQUMsRUFBRSxJQUFJO0lBQ1AsRUFBRSxFQUFFLElBQUk7Q0FDWCxDQUFDO0FBRUYsd0RBQXdEO0FBT3hEO0lBK0JJLDhCQUMwQixTQUF1QixFQUNWLFdBQXFCLEVBQ2pC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RDtRQURDLE9BQU87aUVBR1A7SUF5QkQ7UUFEQyxPQUFPOzJEQWVQO0lBckdRLG9CQUFvQjtRQU5oQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZUFBZTtZQUN6QixtaERBQXdDO1lBRXhDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztTQUNsRCxDQUFDO1FBaUNPLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3BCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ2hCLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO09BbENoQixvQkFBb0IsQ0ErR2hDO0lBQUQsMkJBQUM7Q0FBQSxBQS9HRCxJQStHQztTQS9HWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVWYWx1ZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1RVSV9ERUZBVUxUX0NPTE9SX0hBTkRMRVJ9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpQ29sb3JIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL3R5cGVzJztcbmltcG9ydCB7ZGVzY3JpYmVTZWN0b3J9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBzdW0sXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlJZFNlcnZpY2UsXG4gICAgdHVpUHVyZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge2NvbG9yRmFsbGJhY2ssIFR1aVNpemVYTCwgVHVpU2l6ZVhTfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmNvbnN0IFJBRElJID0ge1xuICAgIHhzOiAnNTAnLFxuICAgIHM6ICc1MCcsXG4gICAgbTogJzc3LjgnLFxuICAgIGw6ICc4MS45JyxcbiAgICB4bDogJzgxLjMnLFxufTtcbmNvbnN0IFRSQU5TRk9STSA9IHtcbiAgICB4czogMS4xNSxcbiAgICBzOiAxLjI1LFxuICAgIG06IDEuMTEsXG4gICAgbDogMS4wOSxcbiAgICB4bDogMS4wOCxcbn07XG5cbi8vIFRPRE86IFJlbW92ZSBzYW5pdGl6ZXIgd2hlbiBBbmd1bGFyIHZlcnNpb24gaXMgYnVtcGVkXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1waWUtY2hhcnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9waWUtY2hhcnQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcGllLWNoYXJ0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUGllQ2hhcnRDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYXV0b0lkU3RyaW5nOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWU6IHJlYWRvbmx5IG51bWJlcltdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXR1aS1ob3N0LXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVhTIHwgVHVpU2l6ZVhMID0gJ20nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbG9ySGFuZGxlcjogVHVpQ29sb3JIYW5kbGVyID0gVFVJX0RFRkFVTFRfQ09MT1JfSEFORExFUjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBoaW50Q29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4+ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWFza2VkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gTmFOO1xuXG4gICAgQE91dHB1dCgpXG4gICAgYWN0aXZlSXRlbUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlJZFNlcnZpY2UpIGlkU2VydmljZTogVHVpSWRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KExvY2F0aW9uKSBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uUmVmOiBMb2NhdGlvbixcbiAgICAgICAgQEluamVjdChEb21TYW5pdGl6ZXIpIHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuYXV0b0lkU3RyaW5nID0gaWRTZXJ2aWNlLmdlbmVyYXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0IG1hc2tJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ3R1aS1yaW5nLWNoYXJ0LScgKyB0aGlzLmF1dG9JZFN0cmluZztcbiAgICB9XG5cbiAgICBnZXQgbWFzaygpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFza2VkXG4gICAgICAgICAgICA/IGB1cmwoJHt0aGlzLmxvY2F0aW9uUmVmLnByZXBhcmVFeHRlcm5hbFVybCh0aGlzLmxvY2F0aW9uUmVmLnBhdGgoKSl9IyR7XG4gICAgICAgICAgICAgICAgICB0aGlzLm1hc2tJZFxuICAgICAgICAgICAgICB9KWBcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgcmFkaXVzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBSQURJSVt0aGlzLnNpemVdO1xuICAgIH1cblxuICAgIGdldCBzZWdtZW50cygpOiByZWFkb25seSBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFNlZ21lbnRzKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0Q29udGVudENvbnRleHQoJGltcGxpY2l0OiBudW1iZXIpOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PG51bWJlcj4ge1xuICAgICAgICByZXR1cm4geyRpbXBsaWNpdH07XG4gICAgfVxuXG4gICAgZ2V0VHJhbnNmb3JtKGluZGV4OiBudW1iZXIpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtID0gdGhpcy5tYXNrZWRcbiAgICAgICAgICAgID8gYHNjYWxlKCR7VFJBTlNGT1JNW3RoaXMuc2l6ZV19KWBcbiAgICAgICAgICAgIDogYHNjYWxlKCR7VFJBTlNGT1JNWyd4cyddfSlgO1xuXG4gICAgICAgIHJldHVybiBpbmRleCA9PT0gdGhpcy5hY3RpdmVJdGVtSW5kZXggPyB0cmFuc2Zvcm0gOiBudWxsO1xuICAgIH1cblxuICAgIGdldEhpbnQoaGludDogUG9seW1vcnBoZXVzQ29udGVudCk6IFBvbHltb3JwaGV1c0NvbnRlbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50Q29udGVudCA/IGhpbnQgOiAnJztcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbiwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChob3ZlcmVkID8gaW5kZXggOiBOYU4pO1xuICAgIH1cblxuICAgIGdldENvbG9yKGluZGV4OiBudW1iZXIpOiBTYWZlVmFsdWUge1xuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKFxuICAgICAgICAgICAgYHZhcigtLXR1aS1jaGFydC0ke2luZGV4fSwgJHtjb2xvckZhbGxiYWNrKHRoaXMuY29sb3JIYW5kbGVyKGluZGV4KSl9KWAsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldFNlZ21lbnRzKHZhbHVlOiByZWFkb25seSBudW1iZXJbXSk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgdG90YWwgPSBzdW0oLi4udmFsdWUpO1xuXG4gICAgICAgIHJldHVybiB2YWx1ZVxuICAgICAgICAgICAgLm1hcCgoY3VycmVudEl0ZW0sIGN1cnJlbnRJbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgYXJyYXkucmVkdWNlKFxuICAgICAgICAgICAgICAgICAgICAoc3VtLCBpdGVtLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4IDwgY3VycmVudEluZGV4ID8gKGl0ZW0gLyB0b3RhbCkgKiAzNjAgKyBzdW0gOiBzdW0sXG4gICAgICAgICAgICAgICAgICAgIChjdXJyZW50SXRlbSAvIHRvdGFsKSAqIDM2MCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLm1hcCgoYW5nbGUsIGluZGV4LCBhcnJheSkgPT5cbiAgICAgICAgICAgICAgICBkZXNjcmliZVNlY3RvcihhcnJheVtpbmRleCAtIDFdIHx8IDAsIE1hdGgubWluKGFuZ2xlLCAzNTkuOTk5OSkpLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5hY3RpdmVJdGVtSW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4ID0gaW5kZXg7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4Q2hhbmdlLm5leHQoaW5kZXgpO1xuICAgIH1cbn1cbiJdfQ==
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9waWUtY2hhcnQvIiwic291cmNlcyI6WyJwaWUtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRTNFLE9BQU8sRUFDSCxHQUFHLEVBQ0gsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCxZQUFZLEVBQ1osT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkUsSUFBTSxLQUFLLEdBQUc7SUFDVixFQUFFLEVBQUUsSUFBSTtJQUNSLENBQUMsRUFBRSxJQUFJO0lBQ1AsQ0FBQyxFQUFFLE1BQU07SUFDVCxDQUFDLEVBQUUsTUFBTTtJQUNULEVBQUUsRUFBRSxNQUFNO0NBQ2IsQ0FBQztBQUNGLElBQU0sU0FBUyxHQUFHO0lBQ2QsRUFBRSxFQUFFLElBQUk7SUFDUixDQUFDLEVBQUUsSUFBSTtJQUNQLENBQUMsRUFBRSxJQUFJO0lBQ1AsQ0FBQyxFQUFFLElBQUk7SUFDUCxFQUFFLEVBQUUsSUFBSTtDQUNYLENBQUM7QUFFRix3REFBd0Q7QUFPeEQ7SUErQkksOEJBQzBCLFNBQXVCLEVBQ1YsV0FBcUIsRUFDakIsU0FBdUI7UUFEM0IsZ0JBQVcsR0FBWCxXQUFXLENBQVU7UUFDakIsY0FB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QUFjLEVBQUU7NkRBQ3FEO0lBSXRFO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO3dEQUNGO0lBSWY7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7aUVBQ0s7SUFHdEI7UUFEQyxNQUFNLEVBQUU7dUVBQzBDO0lBV25EO1FBREMsV0FBVyxDQUFDLGNBQWMsQ0FBQztxREFHM0I7SUE2Q0Q7UUFEQyxPQUFPO3NEQUdQO0lBR0Q7UUFEQyxPQUFPOzJEQWFQO0lBeEdRLG9CQUFvQjtRQU5oQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZUFBZTtZQUN6Qiw0L0NBQXdDO1lBRXhDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztTQUNsRCxDQUFDO1FBaUNPLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ3BCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQ2hCLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO09BbENoQixvQkFBb0IsQ0FzSGhDO0lBQUQsMkJBQUM7Q0FBQSxBQXRIRCxJQXNIQztTQXRIWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVWYWx1ZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1RVSV9ERUZBVUxUX0NPTE9SX0hBTkRMRVJ9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpQ29sb3JIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL3R5cGVzJztcbmltcG9ydCB7XG4gICAgc3VtLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpSWRTZXJ2aWNlLFxuICAgIHR1aVB1cmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtjb2xvckZhbGxiYWNrLCBUdWlTaXplWEwsIFR1aVNpemVYU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5jb25zdCBSQURJSSA9IHtcbiAgICB4czogJzUwJyxcbiAgICBzOiAnNTAnLFxuICAgIG06ICc3Ny44JyxcbiAgICBsOiAnODEuOScsXG4gICAgeGw6ICc4MS4zJyxcbn07XG5jb25zdCBUUkFOU0ZPUk0gPSB7XG4gICAgeHM6IDEuMTUsXG4gICAgczogMS4yNSxcbiAgICBtOiAxLjExLFxuICAgIGw6IDEuMDksXG4gICAgeGw6IDEuMDgsXG59O1xuXG4vLyBUT0RPOiBSZW1vdmUgc2FuaXRpemVyIHdoZW4gQW5ndWxhciB2ZXJzaW9uIGlzIGJ1bXBlZFxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcGllLWNoYXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGllLWNoYXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BpZS1jaGFydC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBpZUNoYXJ0Q29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dG9JZFN0cmluZzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiByZWFkb25seSBudW1iZXJbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10dWktaG9zdC1zaXplJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVYUyB8IFR1aVNpemVYTCA9ICdtJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb2xvckhhbmRsZXI6IFR1aUNvbG9ySGFuZGxlciA9IFRVSV9ERUZBVUxUX0NPTE9SX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaGludENvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1hc2tlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IE5hTjtcblxuICAgIEBPdXRwdXQoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpSWRTZXJ2aWNlKSBpZFNlcnZpY2U6IFR1aUlkU2VydmljZSxcbiAgICAgICAgQEluamVjdChMb2NhdGlvbikgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblJlZjogTG9jYXRpb24sXG4gICAgICAgIEBJbmplY3QoRG9tU2FuaXRpemVyKSBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICkge1xuICAgICAgICB0aGlzLmF1dG9JZFN0cmluZyA9IGlkU2VydmljZS5nZW5lcmF0ZSgpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2VtcHR5JylcbiAgICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5nZXRTdW0odGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IG1hc2tJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ3R1aS1yaW5nLWNoYXJ0LScgKyB0aGlzLmF1dG9JZFN0cmluZztcbiAgICB9XG5cbiAgICBnZXQgbWFzaygpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFza2VkXG4gICAgICAgICAgICA/IGB1cmwoJHt0aGlzLmxvY2F0aW9uUmVmLnByZXBhcmVFeHRlcm5hbFVybCh0aGlzLmxvY2F0aW9uUmVmLnBhdGgoKSl9IyR7XG4gICAgICAgICAgICAgICAgICB0aGlzLm1hc2tJZFxuICAgICAgICAgICAgICB9KWBcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgcmFkaXVzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBSQURJSVt0aGlzLnNpemVdO1xuICAgIH1cblxuICAgIGdldCBzZWdtZW50cygpOiByZWFkb25seSBbbnVtYmVyLCBudW1iZXJdW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRTZWdtZW50cyh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXRUcmFuc2Zvcm0oaW5kZXg6IG51bWJlcik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm0gPSB0aGlzLm1hc2tlZFxuICAgICAgICAgICAgPyBgc2NhbGUoJHtUUkFOU0ZPUk1bdGhpcy5zaXplXX0pYFxuICAgICAgICAgICAgOiBgc2NhbGUoJHtUUkFOU0ZPUk1bJ3hzJ119KWA7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA/IHRyYW5zZm9ybSA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SGludChoaW50OiBQb2x5bW9ycGhldXNDb250ZW50KTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnRDb250ZW50ID8gaGludCA6ICcnO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuLCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlSXRlbUluZGV4KGhvdmVyZWQgPyBpbmRleCA6IE5hTik7XG4gICAgfVxuXG4gICAgZ2V0Q29sb3IoaW5kZXg6IG51bWJlcik6IFNhZmVWYWx1ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoXG4gICAgICAgICAgICBgdmFyKC0tdHVpLWNoYXJ0LSR7aW5kZXh9LCAke2NvbG9yRmFsbGJhY2sodGhpcy5jb2xvckhhbmRsZXIoaW5kZXgpKX0pYCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0U3VtKHZhbHVlOiByZWFkb25seSBudW1iZXJbXSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBzdW0oLi4udmFsdWUpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRTZWdtZW50cyh2YWx1ZTogcmVhZG9ubHkgbnVtYmVyW10pOiByZWFkb25seSBbbnVtYmVyLCBudW1iZXJdW10ge1xuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgIC5tYXAoKGluaXRpYWwsIGksIGFycmF5KSA9PlxuICAgICAgICAgICAgICAgIGFycmF5LnJlZHVjZShcbiAgICAgICAgICAgICAgICAgICAgKHN1bSwgY3VycmVudCwgaikgPT4gKGogPCBpID8gdGhpcy5nZXREZWcoY3VycmVudCkgKyBzdW0gOiBzdW0pLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldERlZyhpbml0aWFsKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLm1hcCgoYW5nbGUsIGluZGV4LCBhcnJheSkgPT4gW1xuICAgICAgICAgICAgICAgIGFycmF5W2luZGV4IC0gMV0gfHwgMCxcbiAgICAgICAgICAgICAgICBNYXRoLm1pbihhbmdsZSwgMzU5Ljk5OTkpLFxuICAgICAgICAgICAgXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWcodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAzNjAgKiAodmFsdWUgLyB0aGlzLmdldFN1bSh0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBY3RpdmVJdGVtSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuYWN0aXZlSXRlbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleENoYW5nZS5uZXh0KGluZGV4KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { __decorate, __param, __read } from "tslib";
2
+ import { Directive, ElementRef, Inject, Input, NgZone } from '@angular/core';
3
+ import { ANIMATION_FRAME, PERFORMANCE } from '@ng-web-apis/common';
4
+ import { describeSector } from '@taiga-ui/addon-charts/utils';
5
+ import { clamp, easeInOutQuad, tuiDefaultProp, TuiDestroyService, tuiZonefree, } from '@taiga-ui/cdk';
6
+ import { TUI_ANIMATIONS_DURATION } from '@taiga-ui/core';
7
+ import { BehaviorSubject, Observable } from 'rxjs';
8
+ import { map, pairwise, switchMap, takeUntil, takeWhile } from 'rxjs/operators';
9
+ // @dynamic
10
+ var TuiPieChartDirective = /** @class */ (function () {
11
+ function TuiPieChartDirective(_a, ngZone, destroy$, performance, animationFrame$, duration) {
12
+ var nativeElement = _a.nativeElement;
13
+ this.sector$ = new BehaviorSubject([0, 0]);
14
+ this.sector$
15
+ .pipe(pairwise(), switchMap(function (_a) {
16
+ var _b = __read(_a, 2), prev = _b[0], cur = _b[1];
17
+ var now = performance.now();
18
+ var startDelta = cur[0] - prev[0];
19
+ var endDelta = cur[1] - prev[1];
20
+ return animationFrame$.pipe(map(function (timestamp) {
21
+ return easeInOutQuad(clamp((timestamp - now) / duration, 0, 1));
22
+ }), takeWhile(function (progress) { return progress < 1; }, true), map(function (progress) { return [
23
+ prev[0] + startDelta * progress,
24
+ cur[1] > 359 ? cur[1] : prev[1] + endDelta * progress,
25
+ ]; }));
26
+ }), tuiZonefree(ngZone), takeUntil(destroy$))
27
+ .subscribe(function (_a) {
28
+ var _b = __read(_a, 2), start = _b[0], end = _b[1];
29
+ nativeElement.setAttribute('d', describeSector(start, end));
30
+ });
31
+ }
32
+ Object.defineProperty(TuiPieChartDirective.prototype, "tuiPieChart", {
33
+ set: function (sector) {
34
+ this.sector$.next(sector);
35
+ },
36
+ enumerable: true,
37
+ configurable: true
38
+ });
39
+ TuiPieChartDirective.ctorParameters = function () { return [
40
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
41
+ { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
42
+ { type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
43
+ { type: Performance, decorators: [{ type: Inject, args: [PERFORMANCE,] }] },
44
+ { type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] },
45
+ { type: Number, decorators: [{ type: Inject, args: [TUI_ANIMATIONS_DURATION,] }] }
46
+ ]; };
47
+ __decorate([
48
+ Input(),
49
+ tuiDefaultProp()
50
+ ], TuiPieChartDirective.prototype, "tuiPieChart", null);
51
+ TuiPieChartDirective = __decorate([
52
+ Directive({
53
+ selector: 'path[tuiPieChart]',
54
+ providers: [TuiDestroyService],
55
+ }),
56
+ __param(0, Inject(ElementRef)),
57
+ __param(1, Inject(NgZone)),
58
+ __param(2, Inject(TuiDestroyService)),
59
+ __param(3, Inject(PERFORMANCE)),
60
+ __param(4, Inject(ANIMATION_FRAME)),
61
+ __param(5, Inject(TUI_ANIMATIONS_DURATION))
62
+ ], TuiPieChartDirective);
63
+ return TuiPieChartDirective;
64
+ }());
65
+ export { TuiPieChartDirective };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9waWUtY2hhcnQvIiwic291cmNlcyI6WyJwaWUtY2hhcnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUMsZUFBZSxFQUFFLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsS0FBSyxFQUNMLGFBQWEsRUFDYixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlFLFdBQVc7QUFLWDtJQVNJLDhCQUN3QixFQUEyQyxFQUMvQyxNQUFjLEVBQ0gsUUFBNkIsRUFDbkMsV0FBd0IsRUFDcEIsZUFBbUMsRUFDM0IsUUFBZ0I7WUFMNUIsZ0NBQWE7UUFUckIsWUFBTyxHQUFHLElBQUksZUFBZSxDQUE0QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBZ0I5RSxJQUFJLENBQUMsT0FBTzthQUNQLElBQUksQ0FDRCxRQUFRLEVBQUUsRUFDVixTQUFTLENBQUMsVUFBQyxFQUFXO2dCQUFYLGtCQUFXLEVBQVYsWUFBSSxFQUFFLFdBQUc7WUFDakIsSUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzlCLElBQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEMsSUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVsQyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQ3ZCLEdBQUcsQ0FBQyxVQUFBLFNBQVM7Z0JBQ1QsT0FBQSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFBeEQsQ0FBd0QsQ0FDM0QsRUFDRCxTQUFTLENBQUMsVUFBQSxRQUFRLElBQUksT0FBQSxRQUFRLEdBQUcsQ0FBQyxFQUFaLENBQVksRUFBRSxJQUFJLENBQUMsRUFDekMsR0FBRyxDQUFDLFVBQUEsUUFBUSxJQUFJLE9BQUE7Z0JBQ1osSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxRQUFRO2dCQUMvQixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEdBQUcsUUFBUTthQUN4RCxFQUhlLENBR2YsQ0FBQyxDQUNMLENBQUM7UUFDTixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsTUFBTSxDQUFDLEVBQ25CLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDdEI7YUFDQSxTQUFTLENBQUMsVUFBQyxFQUFZO2dCQUFaLGtCQUFZLEVBQVgsYUFBSyxFQUFFLFdBQUc7WUFDbkIsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQXJDRCxzQkFBSSw2Q0FBVzthQUFmLFVBQWdCLE1BQWlDO1lBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLENBQUM7OztPQUFBOztnQkFHd0MsVUFBVSx1QkFBOUMsTUFBTSxTQUFDLFVBQVU7Z0JBQ00sTUFBTSx1QkFBN0IsTUFBTSxTQUFDLE1BQU07Z0JBQ3VCLFVBQVUsdUJBQTlDLE1BQU0sU0FBQyxpQkFBaUI7Z0JBQ1MsV0FBVyx1QkFBNUMsTUFBTSxTQUFDLFdBQVc7Z0JBQ3VCLFVBQVUsdUJBQW5ELE1BQU0sU0FBQyxlQUFlOzZDQUN0QixNQUFNLFNBQUMsdUJBQXVCOztJQVZuQztRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTsyREFHaEI7SUFQUSxvQkFBb0I7UUFKaEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztTQUNqQyxDQUFDO1FBV08sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDZCxXQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQ3pCLFdBQUEsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQ25CLFdBQUEsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO1FBQ3ZCLFdBQUEsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUE7T0FmM0Isb0JBQW9CLENBMkNoQztJQUFELDJCQUFDO0NBQUEsQUEzQ0QsSUEyQ0M7U0EzQ1ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgUEVSRk9STUFOQ0V9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtkZXNjcmliZVNlY3Rvcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy91dGlscyc7XG5pbXBvcnQge1xuICAgIGNsYW1wLFxuICAgIGVhc2VJbk91dFF1YWQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHVpWm9uZWZyZWUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfQU5JTUFUSU9OU19EVVJBVElPTn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHBhaXJ3aXNlLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFrZVdoaWxlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIEBkeW5hbWljXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3BhdGhbdHVpUGllQ2hhcnRdJyxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBpZUNoYXJ0RGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlY3RvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl0+KFswLCAwXSk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IHR1aVBpZUNoYXJ0KHNlY3RvcjogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSkge1xuICAgICAgICB0aGlzLnNlY3RvciQubmV4dChzZWN0b3IpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxTVkdQYXRoRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgICAgIEBJbmplY3QoUEVSRk9STUFOQ0UpIHBlcmZvcm1hbmNlOiBQZXJmb3JtYW5jZSxcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFRVSV9BTklNQVRJT05TX0RVUkFUSU9OKSBkdXJhdGlvbjogbnVtYmVyLFxuICAgICkge1xuICAgICAgICB0aGlzLnNlY3RvciRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChbcHJldiwgY3VyXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBub3cgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnREZWx0YSA9IGN1clswXSAtIHByZXZbMF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZERlbHRhID0gY3VyWzFdIC0gcHJldlsxXTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAodGltZXN0YW1wID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZUluT3V0UXVhZChjbGFtcCgodGltZXN0YW1wIC0gbm93KSAvIGR1cmF0aW9uLCAwLCAxKSksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVdoaWxlKHByb2dyZXNzID0+IHByb2dyZXNzIDwgMSwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAocHJvZ3Jlc3MgPT4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZbMF0gKyBzdGFydERlbHRhICogcHJvZ3Jlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyWzFdID4gMzU5ID8gY3VyWzFdIDogcHJldlsxXSArIGVuZERlbHRhICogcHJvZ3Jlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0dWlab25lZnJlZShuZ1pvbmUpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbc3RhcnQsIGVuZF0pID0+IHtcbiAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZCcsIGRlc2NyaWJlU2VjdG9yKHN0YXJ0LCBlbmQpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,21 +1,28 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { NgModule } from '@angular/core';
4
- import { TuiHoveredModule } from '@taiga-ui/cdk';
4
+ import { TuiHoveredModule, TuiRepeatTimesModule } from '@taiga-ui/cdk';
5
5
  import { TuiPointerHintModule } from '@taiga-ui/core';
6
6
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
7
7
  import { TuiPieChartComponent } from './pie-chart.component';
8
+ import { TuiPieChartDirective } from './pie-chart.directive';
8
9
  var TuiPieChartModule = /** @class */ (function () {
9
10
  function TuiPieChartModule() {
10
11
  }
11
12
  TuiPieChartModule = __decorate([
12
13
  NgModule({
13
- imports: [CommonModule, TuiHoveredModule, PolymorpheusModule, TuiPointerHintModule],
14
- declarations: [TuiPieChartComponent],
14
+ imports: [
15
+ CommonModule,
16
+ TuiRepeatTimesModule,
17
+ TuiHoveredModule,
18
+ PolymorpheusModule,
19
+ TuiPointerHintModule,
20
+ ],
21
+ declarations: [TuiPieChartComponent, TuiPieChartDirective],
15
22
  exports: [TuiPieChartComponent],
16
23
  })
17
24
  ], TuiPieChartModule);
18
25
  return TuiPieChartModule;
19
26
  }());
20
27
  export { TuiPieChartModule };
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9waWUtY2hhcnQvIiwic291cmNlcyI6WyJwaWUtY2hhcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFPM0Q7SUFBQTtJQUFnQyxDQUFDO0lBQXBCLGlCQUFpQjtRQUw3QixRQUFRLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUM7WUFDbkYsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7WUFDcEMsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7U0FDbEMsQ0FBQztPQUNXLGlCQUFpQixDQUFHO0lBQUQsd0JBQUM7Q0FBQSxBQUFqQyxJQUFpQztTQUFwQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlIb3ZlcmVkTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpUG9pbnRlckhpbnRNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzTW9kdWxlfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aVBpZUNoYXJ0Q29tcG9uZW50fSBmcm9tICcuL3BpZS1jaGFydC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFR1aUhvdmVyZWRNb2R1bGUsIFBvbHltb3JwaGV1c01vZHVsZSwgVHVpUG9pbnRlckhpbnRNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aVBpZUNoYXJ0Q29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbVHVpUGllQ2hhcnRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQaWVDaGFydE1vZHVsZSB7fVxuIl19
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9waWUtY2hhcnQvIiwic291cmNlcyI6WyJwaWUtY2hhcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFhM0Q7SUFBQTtJQUFnQyxDQUFDO0lBQXBCLGlCQUFpQjtRQVg3QixRQUFRLENBQUM7WUFDTixPQUFPLEVBQUU7Z0JBQ0wsWUFBWTtnQkFDWixvQkFBb0I7Z0JBQ3BCLGdCQUFnQjtnQkFDaEIsa0JBQWtCO2dCQUNsQixvQkFBb0I7YUFDdkI7WUFDRCxZQUFZLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQztZQUMxRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztTQUNsQyxDQUFDO09BQ1csaUJBQWlCLENBQUc7SUFBRCx3QkFBQztDQUFBLEFBQWpDLElBQWlDO1NBQXBCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUhvdmVyZWRNb2R1bGUsIFR1aVJlcGVhdFRpbWVzTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpUG9pbnRlckhpbnRNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzTW9kdWxlfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aVBpZUNoYXJ0Q29tcG9uZW50fSBmcm9tICcuL3BpZS1jaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlQaWVDaGFydERpcmVjdGl2ZX0gZnJvbSAnLi9waWUtY2hhcnQuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHVpUmVwZWF0VGltZXNNb2R1bGUsXG4gICAgICAgIFR1aUhvdmVyZWRNb2R1bGUsXG4gICAgICAgIFBvbHltb3JwaGV1c01vZHVsZSxcbiAgICAgICAgVHVpUG9pbnRlckhpbnRNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlQaWVDaGFydENvbXBvbmVudCwgVHVpUGllQ2hhcnREaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtUdWlQaWVDaGFydENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBpZUNoYXJ0TW9kdWxlIHt9XG4iXX0=
@@ -1,7 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, } from '@angular/core';
3
3
  import { TUI_DEFAULT_COLOR_HANDLER } from '@taiga-ui/addon-charts/constants';
4
- import { tuiDefaultProp, tuiPure } from '@taiga-ui/cdk';
4
+ import { tuiDefaultProp } from '@taiga-ui/cdk';
5
+ // TODO: Refactor to use ng-content
5
6
  var TuiRingChartComponent = /** @class */ (function () {
6
7
  function TuiRingChartComponent() {
7
8
  this.value = [];
@@ -19,19 +20,9 @@ var TuiRingChartComponent = /** @class */ (function () {
19
20
  enumerable: true,
20
21
  configurable: true
21
22
  });
22
- Object.defineProperty(TuiRingChartComponent.prototype, "contentContext", {
23
- get: function () {
24
- return this.getContentContext(this.activeItemIndex, this.value);
25
- },
26
- enumerable: true,
27
- configurable: true
28
- });
29
23
  TuiRingChartComponent.prototype.onActiveItemIndexChange = function (index) {
30
24
  this.updateActiveItemIndex(index);
31
25
  };
32
- TuiRingChartComponent.prototype.getContentContext = function ($implicit, value) {
33
- return { $implicit: $implicit, value: value };
34
- };
35
26
  TuiRingChartComponent.prototype.updateActiveItemIndex = function (index) {
36
27
  if (index === this.activeItemIndex) {
37
28
  return;
@@ -67,13 +58,10 @@ var TuiRingChartComponent = /** @class */ (function () {
67
58
  __decorate([
68
59
  Output()
69
60
  ], TuiRingChartComponent.prototype, "activeItemIndexChange", void 0);
70
- __decorate([
71
- tuiPure
72
- ], TuiRingChartComponent.prototype, "getContentContext", null);
73
61
  TuiRingChartComponent = __decorate([
74
62
  Component({
75
63
  selector: 'tui-ring-chart',
76
- template: "<div *ngIf=\"hasContent\" class=\"t-content\">\n <div\n polymorpheus-outlet\n automation-id=\"tui-ring-chart__content\"\n class=\"t-wrapper\"\n [content]=\"content\"\n [context]=\"contentContext\"\n ></div>\n</div>\n\n<tui-pie-chart\n [masked]=\"true\"\n [value]=\"value\"\n [colorHandler]=\"colorHandler\"\n [size]=\"size\"\n [activeItemIndex]=\"activeItemIndex\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n></tui-pie-chart>\n\n<div class=\"t-shield\"></div>\n",
64
+ template: "<div *ngIf=\"hasContent\" class=\"t-content\">\n <div\n polymorpheus-outlet\n automation-id=\"tui-ring-chart__content\"\n class=\"t-wrapper\"\n [content]=\"content\"\n [context]=\"{$implicit: activeItemIndex, value: value}\"\n ></div>\n</div>\n\n<tui-pie-chart\n [masked]=\"true\"\n [value]=\"value\"\n [colorHandler]=\"colorHandler\"\n [size]=\"size\"\n [activeItemIndex]=\"activeItemIndex\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n></tui-pie-chart>\n\n<div class=\"t-shield\"></div>\n",
77
65
  changeDetection: ChangeDetectionStrategy.OnPush,
78
66
  styles: [":host{position:relative;display:block}:host[data-tui-host-size='s']{width:4rem;height:4rem}:host[data-tui-host-size='m']{width:9rem;height:9rem}:host[data-tui-host-size='l']{width:11rem;height:11rem}:host[data-tui-host-size=xl]{width:16rem;height:16rem}.t-content{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;font:var(--tui-font-text-m);max-height:100%;flex-direction:column;justify-content:center;text-align:center;padding:1.5rem;border-radius:100%;box-sizing:border-box;overflow:hidden;word-break:break-word;white-space:pre-wrap;color:var(--tui-text-02)}:host[data-tui-host-size='m'] .t-content{font:var(--tui-font-text-xs)}.t-wrapper:first-line{color:var(--tui-text-01)}:host[data-tui-host-size='l'] .t-wrapper:first-line{font:var(--tui-font-text-l);font-weight:700}:host[data-tui-host-size='m'] .t-wrapper:first-line{font:var(--tui-font-text-m);font-weight:700}.t-shield{position:absolute;top:25%;left:25%;right:25%;bottom:25%;border-radius:100%}"]
79
67
  })
@@ -81,4 +69,4 @@ var TuiRingChartComponent = /** @class */ (function () {
81
69
  return TuiRingChartComponent;
82
70
  }());
83
71
  export { TuiRingChartComponent };
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmluZy1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvcmluZy1jaGFydC8iLCJzb3VyY2VzIjpbInJpbmctY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHM0UsT0FBTyxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFVdEQ7SUFBQTtRQUdJLFVBQUssR0FBc0IsRUFBRSxDQUFDO1FBSzlCLFNBQUksR0FBeUIsR0FBRyxDQUFDO1FBSWpDLGlCQUFZLEdBQW9CLHlCQUF5QixDQUFDO1FBSTFELFlBQU8sR0FBNkMsRUFBRSxDQUFDO1FBSXZELFdBQU0sR0FBRyxJQUFJLENBQUM7UUFJZCxvQkFBZSxHQUFHLEdBQUcsQ0FBQztRQUd0QiwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBOEJ2RCxDQUFDO0lBNUJHLHNCQUFJLDZDQUFVO2FBQWQ7WUFDSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQy9DLENBQUM7OztPQUFBO0lBRUQsc0JBQUksaURBQWM7YUFBbEI7WUFDSSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRSxDQUFDOzs7T0FBQTtJQUVELHVEQUF1QixHQUF2QixVQUF3QixLQUFhO1FBQ2pDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBR08saURBQWlCLEdBQXpCLFVBQ0ksU0FBaUIsRUFDakIsS0FBd0I7UUFFeEIsT0FBTyxFQUFDLFNBQVMsV0FBQSxFQUFFLEtBQUssT0FBQSxFQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLHFEQUFxQixHQUE3QixVQUE4QixLQUFhO1FBQ3ZDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDaEMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBckREO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO3dEQUNhO0lBSzlCO1FBSEMsS0FBSyxFQUFFO1FBQ1AsV0FBVyxDQUFDLHlCQUF5QixDQUFDO1FBQ3RDLGNBQWMsRUFBRTt1REFDZ0I7SUFJakM7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7K0RBQ3lDO0lBSTFEO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOzBEQUNzQztJQUl2RDtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTt5REFDSDtJQUlkO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO2tFQUNLO0lBR3RCO1FBREMsTUFBTSxFQUFFO3dFQUMwQztJQWVuRDtRQURDLE9BQU87a0VBTVA7SUEvQ1EscUJBQXFCO1FBTmpDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsd2lCQUF5QztZQUV6QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7U0FDbEQsQ0FBQztPQUNXLHFCQUFxQixDQXlEakM7SUFBRCw0QkFBQztDQUFBLEFBekRELElBeURDO1NBekRZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfREVGQVVMVF9DT0xPUl9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVJpbmdDaGFydENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aUNvbG9ySGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy90eXBlcyc7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wLCB0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpU2l6ZVMsIFR1aVNpemVYTH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1yaW5nLWNoYXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmluZy1jaGFydC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yaW5nLWNoYXJ0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUmluZ0NoYXJ0Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWU6IHJlYWRvbmx5IG51bWJlcltdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXR1aS1ob3N0LXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgfCBUdWlTaXplWEwgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29sb3JIYW5kbGVyOiBUdWlDb2xvckhhbmRsZXIgPSBUVUlfREVGQVVMVF9DT0xPUl9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpUmluZ0NoYXJ0Q29udGV4dD4gPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXNrZWQgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IE5hTjtcblxuICAgIEBPdXRwdXQoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgZ2V0IGhhc0NvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpemUgIT09ICdzJyAmJiAhIXRoaXMuY29udGVudDtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudENvbnRleHQoKTogVHVpUmluZ0NoYXJ0Q29udGV4dCB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbnRlbnRDb250ZXh0KHRoaXMuYWN0aXZlSXRlbUluZGV4LCB0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZUl0ZW1JbmRleENoYW5nZShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlSXRlbUluZGV4KGluZGV4KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0Q29udGVudENvbnRleHQoXG4gICAgICAgICRpbXBsaWNpdDogbnVtYmVyLFxuICAgICAgICB2YWx1ZTogcmVhZG9ubHkgbnVtYmVyW10sXG4gICAgKTogVHVpUmluZ0NoYXJ0Q29udGV4dCB7XG4gICAgICAgIHJldHVybiB7JGltcGxpY2l0LCB2YWx1ZX07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBY3RpdmVJdGVtSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuYWN0aXZlSXRlbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleENoYW5nZS5uZXh0KGluZGV4KTtcbiAgICB9XG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmluZy1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvcmluZy1jaGFydC8iLCJzb3VyY2VzIjpbInJpbmctY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUk3QyxtQ0FBbUM7QUFPbkM7SUFBQTtRQUdJLFVBQUssR0FBc0IsRUFBRSxDQUFDO1FBSzlCLFNBQUksR0FBeUIsR0FBRyxDQUFDO1FBSWpDLGlCQUFZLEdBQW9CLHlCQUF5QixDQUFDO1FBSTFELFlBQU8sR0FBNkMsRUFBRSxDQUFDO1FBSXZELFdBQU0sR0FBRyxJQUFJLENBQUM7UUFJZCxvQkFBZSxHQUFHLEdBQUcsQ0FBQztRQUd0QiwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBa0J2RCxDQUFDO0lBaEJHLHNCQUFJLDZDQUFVO2FBQWQ7WUFDSSxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQy9DLENBQUM7OztPQUFBO0lBRUQsdURBQXVCLEdBQXZCLFVBQXdCLEtBQWE7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxxREFBcUIsR0FBN0IsVUFBOEIsS0FBYTtRQUN2QyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ2hDLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQXpDRDtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTt3REFDYTtJQUs5QjtRQUhDLEtBQUssRUFBRTtRQUNQLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQztRQUN0QyxjQUFjLEVBQUU7dURBQ2dCO0lBSWpDO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFOytEQUN5QztJQUkxRDtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTswREFDc0M7SUFJdkQ7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7eURBQ0g7SUFJZDtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTtrRUFDSztJQUd0QjtRQURDLE1BQU0sRUFBRTt3RUFDMEM7SUEzQjFDLHFCQUFxQjtRQU5qQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLG9rQkFBeUM7WUFFekMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O1NBQ2xELENBQUM7T0FDVyxxQkFBcUIsQ0E2Q2pDO0lBQUQsNEJBQUM7Q0FBQSxBQTdDRCxJQTZDQztTQTdDWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfQ09MT1JfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlSaW5nQ2hhcnRDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlDb2xvckhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvdHlwZXMnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVNpemVTLCBUdWlTaXplWEx9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuLy8gVE9ETzogUmVmYWN0b3IgdG8gdXNlIG5nLWNvbnRlbnRcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXJpbmctY2hhcnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yaW5nLWNoYXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JpbmctY2hhcnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlSaW5nQ2hhcnRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZTogcmVhZG9ubHkgbnVtYmVyW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdHVpLWhvc3Qtc2l6ZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplUyB8IFR1aVNpemVYTCA9ICdtJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb2xvckhhbmRsZXI6IFR1aUNvbG9ySGFuZGxlciA9IFRVSV9ERUZBVUxUX0NPTE9SX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlSaW5nQ2hhcnRDb250ZXh0PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1hc2tlZCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gTmFOO1xuXG4gICAgQE91dHB1dCgpXG4gICAgYWN0aXZlSXRlbUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBnZXQgaGFzQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZSAhPT0gJ3MnICYmICEhdGhpcy5jb250ZW50O1xuICAgIH1cblxuICAgIG9uQWN0aXZlSXRlbUluZGV4Q2hhbmdlKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtSW5kZXgoaW5kZXgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQWN0aXZlSXRlbUluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UubmV4dChpbmRleCk7XG4gICAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
1
  import { toInt, toRadians } from '@taiga-ui/cdk';
2
+ var EMPTY = 'M 100 0 A 100 100 0 1 1 100 0 L 0 0';
2
3
  /**
3
4
  * Describes a normalized sector by angles. Normalized meaning it supposed to work with
4
5
  * SVG with viewBox="-1 -1 2 2" so that 0 coordinates in cartesian and polar match the same spot.
@@ -16,7 +17,7 @@ export function describeSector(startAngle, endAngle) {
16
17
  var endX = Math.cos(endRad) * 100;
17
18
  var endY = Math.sin(endRad) * 100;
18
19
  var largeArcFlag = toInt(endAngle - startAngle > 180);
19
- return [
20
+ var result = [
20
21
  'M',
21
22
  startX,
22
23
  startY,
@@ -26,6 +27,7 @@ export function describeSector(startAngle, endAngle) {
26
27
  endX,
27
28
  endY,
28
29
  'L 0 0',
29
- ].join(' ');
30
+ ];
31
+ return isNaN(endX) ? EMPTY : result.join(' ');
30
32
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpYmUtc2VjdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy91dGlscy8iLCJzb3VyY2VzIjpbImRlc2NyaWJlLXNlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsVUFBa0IsRUFBRSxRQUFnQjtJQUMvRCxJQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsSUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3hDLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3hDLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3BDLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3BDLElBQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBRXhELE9BQU87UUFDSCxHQUFHO1FBQ0gsTUFBTTtRQUNOLE1BQU07UUFDTixhQUFhO1FBQ2IsWUFBWTtRQUNaLENBQUM7UUFDRCxJQUFJO1FBQ0osSUFBSTtRQUNKLE9BQU87S0FDVixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0b0ludCwgdG9SYWRpYW5zfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuLyoqXG4gKiBEZXNjcmliZXMgYSBub3JtYWxpemVkIHNlY3RvciBieSBhbmdsZXMuIE5vcm1hbGl6ZWQgbWVhbmluZyBpdCBzdXBwb3NlZCB0byB3b3JrIHdpdGhcbiAqIFNWRyB3aXRoIHZpZXdCb3g9XCItMSAtMSAyIDJcIiBzbyB0aGF0IDAgY29vcmRpbmF0ZXMgaW4gY2FydGVzaWFuIGFuZCBwb2xhciBtYXRjaCB0aGUgc2FtZSBzcG90LlxuICogRXZlcnl0aGluZyBpcyBtdWx0aXBsaWVkIGJ5IDEwMCAoaW5jbHVkaW5nIHZpZXdCb3ggb2YgU1ZHIHRvIGhvc3QgdGhpcykgc28gSUUgcHJvcGVybHlcbiAqIGhhbmRsZXMgaG92ZXIgZXZlbnRzLlxuICpcbiAqIEBwYXJhbSBzdGFydEFuZ2xlIHN0YXJ0aW5nIGFuZ2xlIGluIGRlZ3JlZXNcbiAqIEBwYXJhbSBlbmRBbmdsZSBlbmRpbmcgYW5nbGUgaW4gZGVncmVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGVzY3JpYmVTZWN0b3Ioc3RhcnRBbmdsZTogbnVtYmVyLCBlbmRBbmdsZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGFydFJhZCA9IHRvUmFkaWFucyhzdGFydEFuZ2xlKTtcbiAgICBjb25zdCBlbmRSYWQgPSB0b1JhZGlhbnMoZW5kQW5nbGUpO1xuICAgIGNvbnN0IHN0YXJ0WCA9IE1hdGguY29zKHN0YXJ0UmFkKSAqIDEwMDtcbiAgICBjb25zdCBzdGFydFkgPSBNYXRoLnNpbihzdGFydFJhZCkgKiAxMDA7XG4gICAgY29uc3QgZW5kWCA9IE1hdGguY29zKGVuZFJhZCkgKiAxMDA7XG4gICAgY29uc3QgZW5kWSA9IE1hdGguc2luKGVuZFJhZCkgKiAxMDA7XG4gICAgY29uc3QgbGFyZ2VBcmNGbGFnID0gdG9JbnQoZW5kQW5nbGUgLSBzdGFydEFuZ2xlID4gMTgwKTtcblxuICAgIHJldHVybiBbXG4gICAgICAgICdNJyxcbiAgICAgICAgc3RhcnRYLFxuICAgICAgICBzdGFydFksXG4gICAgICAgICdBIDEwMCAxMDAgMCcsXG4gICAgICAgIGxhcmdlQXJjRmxhZyxcbiAgICAgICAgMSxcbiAgICAgICAgZW5kWCxcbiAgICAgICAgZW5kWSxcbiAgICAgICAgJ0wgMCAwJyxcbiAgICBdLmpvaW4oJyAnKTtcbn1cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpYmUtc2VjdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy91dGlscy8iLCJzb3VyY2VzIjpbImRlc2NyaWJlLXNlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvQyxJQUFNLEtBQUssR0FBRyxxQ0FBcUMsQ0FBQztBQUVwRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsVUFBa0IsRUFBRSxRQUFnQjtJQUMvRCxJQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsSUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3hDLElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3hDLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3BDLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3BDLElBQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELElBQU0sTUFBTSxHQUFHO1FBQ1gsR0FBRztRQUNILE1BQU07UUFDTixNQUFNO1FBQ04sYUFBYTtRQUNiLFlBQVk7UUFDWixDQUFDO1FBQ0QsSUFBSTtRQUNKLElBQUk7UUFDSixPQUFPO0tBQ1YsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dG9JbnQsIHRvUmFkaWFuc30gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmNvbnN0IEVNUFRZID0gJ00gMTAwIDAgQSAxMDAgMTAwIDAgMSAxIDEwMCAwIEwgMCAwJztcblxuLyoqXG4gKiBEZXNjcmliZXMgYSBub3JtYWxpemVkIHNlY3RvciBieSBhbmdsZXMuIE5vcm1hbGl6ZWQgbWVhbmluZyBpdCBzdXBwb3NlZCB0byB3b3JrIHdpdGhcbiAqIFNWRyB3aXRoIHZpZXdCb3g9XCItMSAtMSAyIDJcIiBzbyB0aGF0IDAgY29vcmRpbmF0ZXMgaW4gY2FydGVzaWFuIGFuZCBwb2xhciBtYXRjaCB0aGUgc2FtZSBzcG90LlxuICogRXZlcnl0aGluZyBpcyBtdWx0aXBsaWVkIGJ5IDEwMCAoaW5jbHVkaW5nIHZpZXdCb3ggb2YgU1ZHIHRvIGhvc3QgdGhpcykgc28gSUUgcHJvcGVybHlcbiAqIGhhbmRsZXMgaG92ZXIgZXZlbnRzLlxuICpcbiAqIEBwYXJhbSBzdGFydEFuZ2xlIHN0YXJ0aW5nIGFuZ2xlIGluIGRlZ3JlZXNcbiAqIEBwYXJhbSBlbmRBbmdsZSBlbmRpbmcgYW5nbGUgaW4gZGVncmVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGVzY3JpYmVTZWN0b3Ioc3RhcnRBbmdsZTogbnVtYmVyLCBlbmRBbmdsZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGFydFJhZCA9IHRvUmFkaWFucyhzdGFydEFuZ2xlKTtcbiAgICBjb25zdCBlbmRSYWQgPSB0b1JhZGlhbnMoZW5kQW5nbGUpO1xuICAgIGNvbnN0IHN0YXJ0WCA9IE1hdGguY29zKHN0YXJ0UmFkKSAqIDEwMDtcbiAgICBjb25zdCBzdGFydFkgPSBNYXRoLnNpbihzdGFydFJhZCkgKiAxMDA7XG4gICAgY29uc3QgZW5kWCA9IE1hdGguY29zKGVuZFJhZCkgKiAxMDA7XG4gICAgY29uc3QgZW5kWSA9IE1hdGguc2luKGVuZFJhZCkgKiAxMDA7XG4gICAgY29uc3QgbGFyZ2VBcmNGbGFnID0gdG9JbnQoZW5kQW5nbGUgLSBzdGFydEFuZ2xlID4gMTgwKTtcbiAgICBjb25zdCByZXN1bHQgPSBbXG4gICAgICAgICdNJyxcbiAgICAgICAgc3RhcnRYLFxuICAgICAgICBzdGFydFksXG4gICAgICAgICdBIDEwMCAxMDAgMCcsXG4gICAgICAgIGxhcmdlQXJjRmxhZyxcbiAgICAgICAgMSxcbiAgICAgICAgZW5kWCxcbiAgICAgICAgZW5kWSxcbiAgICAgICAgJ0wgMCAwJyxcbiAgICBdO1xuXG4gICAgcmV0dXJuIGlzTmFOKGVuZFgpID8gRU1QVFkgOiByZXN1bHQuam9pbignICcpO1xufVxuIl19
@@ -0,0 +1,118 @@
1
+ import { __decorate, __param } from 'tslib';
2
+ import { Inject, ChangeDetectorRef, Input, HostBinding, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
+ import { DomSanitizer } from '@angular/platform-browser';
4
+ import { tuiDefaultProp, TuiRepeatTimesModule } from '@taiga-ui/cdk';
5
+
6
+ // 3/4 with 1% safety offset
7
+ const ARC = 0.76;
8
+ const SIZE = {
9
+ m: 9,
10
+ l: 11,
11
+ xl: 16,
12
+ };
13
+ const WIDTH = {
14
+ m: 0.25,
15
+ l: 0.375,
16
+ xl: 0.5625,
17
+ };
18
+ const GAP = {
19
+ m: 0.125,
20
+ l: 0.1875,
21
+ xl: 0.25,
22
+ };
23
+ let TuiArcChartComponent = class TuiArcChartComponent {
24
+ constructor(sanitizer, changeDetectorRef) {
25
+ this.sanitizer = sanitizer;
26
+ this.value = [];
27
+ this.size = 'm';
28
+ this.max = 100;
29
+ this.minLabel = '0%';
30
+ this.maxLabel = '100%';
31
+ this.initialized = false;
32
+ // So initial animation works
33
+ setTimeout(() => {
34
+ this.initialized = true;
35
+ changeDetectorRef.markForCheck();
36
+ });
37
+ }
38
+ get width() {
39
+ return SIZE[this.size];
40
+ }
41
+ get strokeWidth() {
42
+ return WIDTH[this.size];
43
+ }
44
+ getInset(index) {
45
+ return this.strokeWidth / 2 + index * (this.strokeWidth + GAP[this.size]);
46
+ }
47
+ getDiameter(index) {
48
+ return SIZE[this.size] - 2 * this.getInset(index);
49
+ }
50
+ getLength(index) {
51
+ return Math.PI * this.getDiameter(index) * ARC;
52
+ }
53
+ getOffset(index) {
54
+ return this.getLength(index) * (1 - Math.min(this.value[index] / this.max, 1));
55
+ }
56
+ getColor(index) {
57
+ return this.sanitizer.bypassSecurityTrustStyle(`var(--tui-chart-${index}, var(--tui-support-0${index + 1}))`);
58
+ }
59
+ };
60
+ TuiArcChartComponent.ctorParameters = () => [
61
+ { type: DomSanitizer, decorators: [{ type: Inject, args: [DomSanitizer,] }] },
62
+ { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] }
63
+ ];
64
+ __decorate([
65
+ Input(),
66
+ tuiDefaultProp()
67
+ ], TuiArcChartComponent.prototype, "value", void 0);
68
+ __decorate([
69
+ Input(),
70
+ HostBinding('attr.data-size'),
71
+ tuiDefaultProp()
72
+ ], TuiArcChartComponent.prototype, "size", void 0);
73
+ __decorate([
74
+ Input(),
75
+ tuiDefaultProp()
76
+ ], TuiArcChartComponent.prototype, "max", void 0);
77
+ __decorate([
78
+ Input(),
79
+ tuiDefaultProp()
80
+ ], TuiArcChartComponent.prototype, "minLabel", void 0);
81
+ __decorate([
82
+ Input(),
83
+ tuiDefaultProp()
84
+ ], TuiArcChartComponent.prototype, "maxLabel", void 0);
85
+ __decorate([
86
+ HostBinding('style.width.rem'),
87
+ HostBinding('style.height.rem')
88
+ ], TuiArcChartComponent.prototype, "width", null);
89
+ __decorate([
90
+ HostBinding('style.strokeWidth.rem')
91
+ ], TuiArcChartComponent.prototype, "strokeWidth", null);
92
+ TuiArcChartComponent = __decorate([
93
+ Component({
94
+ selector: 'tui-arc-chart',
95
+ template: "<svg\n *tuiRepeatTimes=\"let index of value.length\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"-100 -100 200 200\"\n focusable=\"false\"\n class=\"t-svg\"\n [style.top.em]=\"getInset(index)\"\n [style.left.em]=\"getInset(index)\"\n [style.width.em]=\"getDiameter(index)\"\n [style.height.em]=\"getDiameter(index)\"\n>\n <path\n vector-effect=\"non-scaling-stroke\"\n d=\"M -70 70 A 100 100 0 1 1 70 70\"\n />\n <path\n vector-effect=\"non-scaling-stroke\"\n d=\"M -70 70 A 100 100 0 1 1 70 70\"\n class=\"t-value\"\n [style.stroke]=\"getColor(index)\"\n [style.strokeDasharray.em]=\"getLength(index)\"\n [style.strokeDashoffset.em]=\"initialized ? getOffset(index) : getLength(index)\"\n />\n</svg>\n<div class=\"t-content\">\n <div class=\"t-wrapper\"><ng-content></ng-content></div>\n</div>\n<div class=\"t-percent\">\n <span>{{minLabel}}</span>\n <span>{{maxLabel}}</span>\n</div>\n",
96
+ changeDetection: ChangeDetectionStrategy.OnPush,
97
+ styles: [":host{position:relative;display:block;flex-shrink:0}.t-svg{position:absolute;top:0;left:0;bottom:0;right:0;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;color:var(--tui-secondary);font-size:1rem}.t-value{transition-property:stroke-dashoffset;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-content{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center;color:var(--tui-text-02);font:var(--tui-font-text-xs)}:host[data-size=xl] .t-content{font:var(--tui-font-text-m)}.t-wrapper{flex:1}.t-wrapper:first-line{color:var(--tui-text-01)}:host[data-size='m'] .t-wrapper:first-line{font:var(--tui-font-text-s);font-weight:700}:host[data-size='l'] .t-wrapper:first-line{font:var(--tui-font-text-m);font-weight:700}:host[data-size=xl] .t-wrapper:first-line{font:var(--tui-font-heading-5)}.t-percent{position:absolute;left:25%;bottom:11%;display:flex;width:50%;justify-content:space-between;font:var(--tui-font-text-xs);color:var(--tui-text-02)}:host[data-size=xl] .t-percent{font:var(--tui-font-text-m)}"]
98
+ }),
99
+ __param(0, Inject(DomSanitizer)),
100
+ __param(1, Inject(ChangeDetectorRef))
101
+ ], TuiArcChartComponent);
102
+
103
+ let TuiArcChartModule = class TuiArcChartModule {
104
+ };
105
+ TuiArcChartModule = __decorate([
106
+ NgModule({
107
+ imports: [TuiRepeatTimesModule],
108
+ declarations: [TuiArcChartComponent],
109
+ exports: [TuiArcChartComponent],
110
+ })
111
+ ], TuiArcChartModule);
112
+
113
+ /**
114
+ * Generated bundle index. Do not edit.
115
+ */
116
+
117
+ export { TuiArcChartComponent, TuiArcChartModule };
118
+ //# sourceMappingURL=taiga-ui-addon-charts-components-arc-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-addon-charts-components-arc-chart.js","sources":["ng://@taiga-ui/addon-charts/components/arc-chart/arc-chart.component.ts","ng://@taiga-ui/addon-charts/components/arc-chart/arc-chart.module.ts","ng://@taiga-ui/addon-charts/components/arc-chart/taiga-ui-addon-charts-components-arc-chart.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiSizeXL} from '@taiga-ui/core';\n\n// 3/4 with 1% safety offset\nconst ARC = 0.76;\n\nconst SIZE: Record<TuiSizeXL, number> = {\n m: 9,\n l: 11,\n xl: 16,\n};\n\nconst WIDTH: Record<TuiSizeXL, number> = {\n m: 0.25,\n l: 0.375,\n xl: 0.5625,\n};\n\nconst GAP: Record<TuiSizeXL, number> = {\n m: 0.125,\n l: 0.1875,\n xl: 0.25,\n};\n\n@Component({\n selector: 'tui-arc-chart',\n templateUrl: './arc-chart.template.html',\n styleUrls: ['./arc-chart.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiArcChartComponent {\n @Input()\n @tuiDefaultProp()\n value: readonly number[] = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeXL = 'm';\n\n @Input()\n @tuiDefaultProp()\n max = 100;\n\n @Input()\n @tuiDefaultProp()\n minLabel = '0%';\n\n @Input()\n @tuiDefaultProp()\n maxLabel = '100%';\n\n initialized = false;\n\n constructor(\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n // So initial animation works\n setTimeout(() => {\n this.initialized = true;\n changeDetectorRef.markForCheck();\n });\n }\n\n @HostBinding('style.width.rem')\n @HostBinding('style.height.rem')\n get width(): number {\n return SIZE[this.size];\n }\n\n @HostBinding('style.strokeWidth.rem')\n get strokeWidth(): number {\n return WIDTH[this.size];\n }\n\n getInset(index: number): number {\n return this.strokeWidth / 2 + index * (this.strokeWidth + GAP[this.size]);\n }\n\n getDiameter(index: number): number {\n return SIZE[this.size] - 2 * this.getInset(index);\n }\n\n getLength(index: number): number {\n return Math.PI * this.getDiameter(index) * ARC;\n }\n\n getOffset(index: number): number {\n return this.getLength(index) * (1 - Math.min(this.value[index] / this.max, 1));\n }\n\n getColor(index: number): SafeValue {\n return this.sanitizer.bypassSecurityTrustStyle(\n `var(--tui-chart-${index}, var(--tui-support-0${index + 1}))`,\n );\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiRepeatTimesModule} from '@taiga-ui/cdk';\n\nimport {TuiArcChartComponent} from './arc-chart.component';\n\n@NgModule({\n imports: [TuiRepeatTimesModule],\n declarations: [TuiArcChartComponent],\n exports: [TuiArcChartComponent],\n})\nexport class TuiArcChartModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from 'tslib';
2
- import { Input, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
+ import { Input, HostBinding, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import { tuiDefaultProp } from '@taiga-ui/cdk';
4
4
  import { colorFallback, TuiButtonModule } from '@taiga-ui/core';
5
5
  import { CommonModule } from '@angular/common';
@@ -10,8 +10,13 @@ let TuiLegendItemComponent = class TuiLegendItemComponent {
10
10
  this.active = false;
11
11
  this.color = '';
12
12
  this.text = '';
13
+ this.size = 'm';
14
+ this.disabled = false;
13
15
  }
14
16
  get computedColor() {
17
+ if (this.color === 'var(--tui-primary)') {
18
+ return null;
19
+ }
15
20
  return this.color.startsWith('var(') ? this.color : colorFallback(this.color);
16
21
  }
17
22
  };
@@ -27,12 +32,24 @@ __decorate([
27
32
  Input(),
28
33
  tuiDefaultProp()
29
34
  ], TuiLegendItemComponent.prototype, "text", void 0);
35
+ __decorate([
36
+ Input(),
37
+ HostBinding('attr.data-size'),
38
+ tuiDefaultProp()
39
+ ], TuiLegendItemComponent.prototype, "size", void 0);
40
+ __decorate([
41
+ Input(),
42
+ HostBinding('class._disabled')
43
+ ], TuiLegendItemComponent.prototype, "disabled", void 0);
44
+ __decorate([
45
+ HostBinding('style.--tui-primary')
46
+ ], TuiLegendItemComponent.prototype, "computedColor", null);
30
47
  TuiLegendItemComponent = __decorate([
31
48
  Component({
32
49
  selector: 'tui-legend-item',
33
- template: "<button\n tuiButton\n type=\"button\"\n size=\"s\"\n appearance=\"whiteblock\"\n class=\"t-button\"\n [pseudoHovered]=\"active || null\"\n>\n <span class=\"t-dot\" [style.background]=\"computedColor\"></span>\n <span class=\"t-text\">{{ text }}</span>\n <ng-content></ng-content>\n</button>\n",
50
+ template: "<button\n tuiButton\n type=\"button\"\n size=\"s\"\n appearance=\"whiteblock\"\n class=\"t-button\"\n [pseudoHovered]=\"active || null\"\n>\n <div class=\"t-wrapper\">\n <ng-content select=\"tui-primitive-checkbox\"></ng-content>\n <span class=\"t-dot\"></span>\n <span class=\"t-text\">{{ text }}</span>\n <ng-content></ng-content>\n </div>\n</button>\n",
34
51
  changeDetection: ChangeDetectionStrategy.OnPush,
35
- styles: [":host{display:inline-block}.t-button{font-weight:700}.t-dot{width:.5rem;height:.5rem;border-radius:100%}.t-text{margin:0 .5rem;font-weight:400}"]
52
+ styles: [":host{display:inline-block}.t-button{height:2rem;font-weight:700}:host[data-size='m'] .t-button{height:2.25rem;font:var(--tui-font-text-m);font-weight:700}.t-wrapper{display:flex;align-items:center;pointer-events:none}:host._disabled .t-wrapper{color:var(--tui-text-03)}.t-dot{width:.5rem;height:.5rem;border-radius:100%;background:var(--tui-primary)}:host._disabled .t-dot{background:var(--tui-base-04)}.t-dot:not(:first-child){display:none}.t-text{margin:0 .5rem;font-weight:400}"]
36
53
  })
37
54
  ], TuiLegendItemComponent);
38
55
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-charts-components-legend-item.js","sources":["ng://@taiga-ui/addon-charts/components/legend-item/legend-item.component.ts","ng://@taiga-ui/addon-charts/components/legend-item/legend-item.module.ts","ng://@taiga-ui/addon-charts/components/legend-item/taiga-ui-addon-charts-components-legend-item.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {colorFallback} from '@taiga-ui/core';\n\n// TODO: Remove fallback in 3.0\n@Component({\n selector: 'tui-legend-item',\n templateUrl: './legend-item.template.html',\n styleUrls: ['./legend-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLegendItemComponent {\n @Input()\n @tuiDefaultProp()\n active = false;\n\n @Input()\n @tuiDefaultProp()\n color = '';\n\n @Input()\n @tuiDefaultProp()\n text = '';\n\n get computedColor(): string {\n return this.color.startsWith('var(') ? this.color : colorFallback(this.color);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\n\nimport {TuiLegendItemComponent} from './legend-item.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiLegendItemComponent],\n exports: [TuiLegendItemComponent],\n})\nexport class TuiLegendItemModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAIA;IAOa,sBAAsB,GAAnC,MAAa,sBAAsB;IAAnC;QAGI,WAAM,GAAG,KAAK,CAAC;QAIf,UAAK,GAAG,EAAE,CAAC;QAIX,SAAI,GAAG,EAAE,CAAC;KAKb;IAHG,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjF;EACJ;AAbG;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;sDACF;AAIf;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;qDACN;AAIX;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;oDACP;AAXD,sBAAsB;IANlC,SAAS,CAAC;QACP,QAAQ,EAAE,iBAAiB;QAC3B,2UAA0C;QAE1C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,sBAAsB,CAgBlC;;IChBY,mBAAmB,GAAhC,MAAa,mBAAmB;EAAG;AAAtB,mBAAmB;IAL/B,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;QACxC,YAAY,EAAE,CAAC,sBAAsB,CAAC;QACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;KACpC,CAAC;GACW,mBAAmB,CAAG;;ACXnC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-charts-components-legend-item.js","sources":["ng://@taiga-ui/addon-charts/components/legend-item/legend-item.component.ts","ng://@taiga-ui/addon-charts/components/legend-item/legend-item.module.ts","ng://@taiga-ui/addon-charts/components/legend-item/taiga-ui-addon-charts-components-legend-item.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {colorFallback, TuiSizeS} from '@taiga-ui/core';\n\n// TODO: Remove fallback in 3.0\n@Component({\n selector: 'tui-legend-item',\n templateUrl: './legend-item.template.html',\n styleUrls: ['./legend-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLegendItemComponent {\n @Input()\n @tuiDefaultProp()\n active = false;\n\n @Input()\n @tuiDefaultProp()\n color = '';\n\n @Input()\n @tuiDefaultProp()\n text = '';\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @HostBinding('class._disabled')\n disabled = false;\n\n @HostBinding('style.--tui-primary')\n get computedColor(): string | null {\n if (this.color === 'var(--tui-primary)') {\n return null;\n }\n\n return this.color.startsWith('var(') ? this.color : colorFallback(this.color);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\n\nimport {TuiLegendItemComponent} from './legend-item.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiLegendItemComponent],\n exports: [TuiLegendItemComponent],\n})\nexport class TuiLegendItemModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAIA;IAOa,sBAAsB,GAAnC,MAAa,sBAAsB;IAAnC;QAGI,WAAM,GAAG,KAAK,CAAC;QAIf,UAAK,GAAG,EAAE,CAAC;QAIX,SAAI,GAAG,EAAE,CAAC;QAKV,SAAI,GAAa,GAAG,CAAC;QAIrB,aAAQ,GAAG,KAAK,CAAC;KAUpB;IAPG,IAAI,aAAa;QACb,IAAI,IAAI,CAAC,KAAK,KAAK,oBAAoB,EAAE;YACrC,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACjF;EACJ;AA3BG;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;sDACF;AAIf;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;qDACN;AAIX;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;oDACP;AAKV;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;oDACI;AAIrB;IAFC,KAAK,EAAE;IACP,WAAW,CAAC,iBAAiB,CAAC;wDACd;AAGjB;IADC,WAAW,CAAC,qBAAqB,CAAC;2DAOlC;AA7BQ,sBAAsB;IANlC,SAAS,CAAC;QACP,QAAQ,EAAE,iBAAiB;QAC3B,kaAA0C;QAE1C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,sBAAsB,CA8BlC;;IC9BY,mBAAmB,GAAhC,MAAa,mBAAmB;EAAG;AAAtB,mBAAmB;IAL/B,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;QACxC,YAAY,EAAE,CAAC,sBAAsB,CAAC;QACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;KACpC,CAAC;GACW,mBAAmB,CAAG;;ACXnC;;;;;;"}
@@ -141,8 +141,12 @@ let TuiLineDaysChartComponent = TuiLineDaysChartComponent_1 = class TuiLineDaysC
141
141
  }
142
142
  raise(index, { value }) {
143
143
  const x = value[index][0];
144
+ const month = this.getMonth(x);
144
145
  if (this.hintDirective) {
145
- this.hintDirective.raise(this.getMonth(x));
146
+ this.hintDirective.raise(month);
147
+ }
148
+ else {
149
+ this.onHovered(month);
146
150
  }
147
151
  }
148
152
  getWidth(index) {