@taiga-ui/addon-charts 2.28.0 → 2.32.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 (67) hide show
  1. package/README.md +4 -5
  2. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.js +19 -2
  3. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.js.map +1 -1
  4. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.min.js +1 -1
  5. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.js +5 -1
  7. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.js.map +1 -1
  8. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.min.js +1 -1
  9. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.js +96 -20
  11. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.js.map +1 -1
  12. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.min.js +2 -2
  13. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.js +2 -14
  15. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.js.map +1 -1
  16. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.min.js +1 -1
  17. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-addon-charts-utils.umd.js +4 -2
  19. package/bundles/taiga-ui-addon-charts-utils.umd.js.map +1 -1
  20. package/bundles/taiga-ui-addon-charts-utils.umd.min.js +1 -1
  21. package/bundles/taiga-ui-addon-charts-utils.umd.min.js.map +1 -1
  22. package/components/legend-item/legend-item.component.d.ts +4 -1
  23. package/components/legend-item/taiga-ui-addon-charts-components-legend-item.metadata.json +1 -1
  24. package/components/line-days-chart/taiga-ui-addon-charts-components-line-days-chart.metadata.json +1 -1
  25. package/components/pie-chart/index.d.ts +1 -0
  26. package/components/pie-chart/pie-chart.component.d.ts +4 -2
  27. package/components/pie-chart/pie-chart.directive.d.ts +7 -0
  28. package/components/pie-chart/taiga-ui-addon-charts-components-pie-chart.metadata.json +1 -1
  29. package/components/ring-chart/ring-chart.component.d.ts +0 -2
  30. package/components/ring-chart/taiga-ui-addon-charts-components-ring-chart.metadata.json +1 -1
  31. package/esm2015/components/legend-item/legend-item.component.js +21 -4
  32. package/esm2015/components/line-days-chart/line-days-chart.component.js +6 -2
  33. package/esm2015/components/pie-chart/index.js +2 -1
  34. package/esm2015/components/pie-chart/pie-chart.component.js +21 -11
  35. package/esm2015/components/pie-chart/pie-chart.directive.js +56 -0
  36. package/esm2015/components/pie-chart/pie-chart.module.js +11 -4
  37. package/esm2015/components/ring-chart/ring-chart.component.js +4 -12
  38. package/esm2015/utils/describe-sector.js +5 -3
  39. package/esm5/components/legend-item/legend-item.component.js +21 -4
  40. package/esm5/components/line-days-chart/line-days-chart.component.js +6 -2
  41. package/esm5/components/pie-chart/index.js +2 -1
  42. package/esm5/components/pie-chart/pie-chart.component.js +27 -16
  43. package/esm5/components/pie-chart/pie-chart.directive.js +66 -0
  44. package/esm5/components/pie-chart/pie-chart.module.js +11 -4
  45. package/esm5/components/ring-chart/ring-chart.component.js +4 -16
  46. package/esm5/utils/describe-sector.js +5 -3
  47. package/fesm2015/taiga-ui-addon-charts-components-legend-item.js +20 -3
  48. package/fesm2015/taiga-ui-addon-charts-components-legend-item.js.map +1 -1
  49. package/fesm2015/taiga-ui-addon-charts-components-line-days-chart.js +5 -1
  50. package/fesm2015/taiga-ui-addon-charts-components-line-days-chart.js.map +1 -1
  51. package/fesm2015/taiga-ui-addon-charts-components-pie-chart.js +82 -15
  52. package/fesm2015/taiga-ui-addon-charts-components-pie-chart.js.map +1 -1
  53. package/fesm2015/taiga-ui-addon-charts-components-ring-chart.js +3 -11
  54. package/fesm2015/taiga-ui-addon-charts-components-ring-chart.js.map +1 -1
  55. package/fesm2015/taiga-ui-addon-charts-utils.js +4 -2
  56. package/fesm2015/taiga-ui-addon-charts-utils.js.map +1 -1
  57. package/fesm5/taiga-ui-addon-charts-components-legend-item.js +20 -3
  58. package/fesm5/taiga-ui-addon-charts-components-legend-item.js.map +1 -1
  59. package/fesm5/taiga-ui-addon-charts-components-line-days-chart.js +5 -1
  60. package/fesm5/taiga-ui-addon-charts-components-line-days-chart.js.map +1 -1
  61. package/fesm5/taiga-ui-addon-charts-components-pie-chart.js +99 -21
  62. package/fesm5/taiga-ui-addon-charts-components-pie-chart.js.map +1 -1
  63. package/fesm5/taiga-ui-addon-charts-components-ring-chart.js +3 -15
  64. package/fesm5/taiga-ui-addon-charts-components-ring-chart.js.map +1 -1
  65. package/fesm5/taiga-ui-addon-charts-utils.js +4 -2
  66. package/fesm5/taiga-ui-addon-charts-utils.js.map +1 -1
  67. package/package.json +7 -7
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
3
3
  import { tuiDefaultProp } from '@taiga-ui/cdk';
4
4
  import { colorFallback } from '@taiga-ui/core';
5
5
  // TODO: Remove fallback in 3.0
@@ -8,8 +8,13 @@ let TuiLegendItemComponent = class TuiLegendItemComponent {
8
8
  this.active = false;
9
9
  this.color = '';
10
10
  this.text = '';
11
+ this.size = 'm';
12
+ this.disabled = false;
11
13
  }
12
14
  get computedColor() {
15
+ if (this.color === 'var(--tui-primary)') {
16
+ return null;
17
+ }
13
18
  return this.color.startsWith('var(') ? this.color : colorFallback(this.color);
14
19
  }
15
20
  };
@@ -25,13 +30,25 @@ __decorate([
25
30
  Input(),
26
31
  tuiDefaultProp()
27
32
  ], TuiLegendItemComponent.prototype, "text", void 0);
33
+ __decorate([
34
+ Input(),
35
+ HostBinding('attr.data-size'),
36
+ tuiDefaultProp()
37
+ ], TuiLegendItemComponent.prototype, "size", void 0);
38
+ __decorate([
39
+ Input(),
40
+ HostBinding('class._disabled')
41
+ ], TuiLegendItemComponent.prototype, "disabled", void 0);
42
+ __decorate([
43
+ HostBinding('style.--tui-primary')
44
+ ], TuiLegendItemComponent.prototype, "computedColor", null);
28
45
  TuiLegendItemComponent = __decorate([
29
46
  Component({
30
47
  selector: 'tui-legend-item',
31
- 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",
48
+ 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",
32
49
  changeDetection: ChangeDetectionStrategy.OnPush,
33
- 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}"]
50
+ 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}"]
34
51
  })
35
52
  ], TuiLegendItemComponent);
36
53
  export { TuiLegendItemComponent };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xlZ2VuZC1pdGVtLyIsInNvdXJjZXMiOlsibGVnZW5kLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QywrQkFBK0I7QUFPL0IsSUFBYSxzQkFBc0IsR0FBbkMsTUFBYSxzQkFBc0I7SUFBbkM7UUFHSSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUlYLFNBQUksR0FBRyxFQUFFLENBQUM7SUFLZCxDQUFDO0lBSEcsSUFBSSxhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRixDQUFDO0NBQ0osQ0FBQTtBQWJHO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3NEQUNGO0FBSWY7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7cURBQ047QUFJWDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtvREFDUDtBQVhELHNCQUFzQjtJQU5sQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsaUJBQWlCO1FBQzNCLDJVQUEwQztRQUUxQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FDbEQsQ0FBQztHQUNXLHNCQUFzQixDQWdCbEM7U0FoQlksc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7Y29sb3JGYWxsYmFja30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG4vLyBUT0RPOiBSZW1vdmUgZmFsbGJhY2sgaW4gMy4wXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1sZWdlbmQtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xlZ2VuZC1pdGVtLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xlZ2VuZC1pdGVtLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTGVnZW5kSXRlbUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbG9yID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdGV4dCA9ICcnO1xuXG4gICAgZ2V0IGNvbXB1dGVkQ29sb3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sb3Iuc3RhcnRzV2l0aCgndmFyKCcpID8gdGhpcy5jb2xvciA6IGNvbG9yRmFsbGJhY2sodGhpcy5jb2xvcik7XG4gICAgfVxufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xlZ2VuZC1pdGVtLyIsInNvdXJjZXMiOlsibGVnZW5kLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsYUFBYSxFQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsK0JBQStCO0FBTy9CLElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXNCO0lBQW5DO1FBR0ksV0FBTSxHQUFHLEtBQUssQ0FBQztRQUlmLFVBQUssR0FBRyxFQUFFLENBQUM7UUFJWCxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBS1YsU0FBSSxHQUFhLEdBQUcsQ0FBQztRQUlyQixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBVXJCLENBQUM7SUFQRyxJQUFJLGFBQWE7UUFDYixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssb0JBQW9CLEVBQUU7WUFDckMsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEYsQ0FBQztDQUNKLENBQUE7QUEzQkc7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7c0RBQ0Y7QUFJZjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtxREFDTjtBQUlYO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO29EQUNQO0FBS1Y7SUFIQyxLQUFLLEVBQUU7SUFDUCxXQUFXLENBQUMsZ0JBQWdCLENBQUM7SUFDN0IsY0FBYyxFQUFFO29EQUNJO0FBSXJCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsV0FBVyxDQUFDLGlCQUFpQixDQUFDO3dEQUNkO0FBR2pCO0lBREMsV0FBVyxDQUFDLHFCQUFxQixDQUFDOzJEQU9sQztBQTdCUSxzQkFBc0I7SUFObEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGlCQUFpQjtRQUMzQixrYUFBMEM7UUFFMUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O0tBQ2xELENBQUM7R0FDVyxzQkFBc0IsQ0E4QmxDO1NBOUJZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtjb2xvckZhbGxiYWNrLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG4vLyBUT0RPOiBSZW1vdmUgZmFsbGJhY2sgaW4gMy4wXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1sZWdlbmQtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xlZ2VuZC1pdGVtLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xlZ2VuZC1pdGVtLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTGVnZW5kSXRlbUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbG9yID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdGV4dCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVTID0gJ20nO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9kaXNhYmxlZCcpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS10dWktcHJpbWFyeScpXG4gICAgZ2V0IGNvbXB1dGVkQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmNvbG9yID09PSAndmFyKC0tdHVpLXByaW1hcnkpJykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jb2xvci5zdGFydHNXaXRoKCd2YXIoJykgPyB0aGlzLmNvbG9yIDogY29sb3JGYWxsYmFjayh0aGlzLmNvbG9yKTtcbiAgICB9XG59XG4iXX0=
@@ -76,8 +76,12 @@ let TuiLineDaysChartComponent = TuiLineDaysChartComponent_1 = class TuiLineDaysC
76
76
  }
77
77
  raise(index, { value }) {
78
78
  const x = value[index][0];
79
+ const month = this.getMonth(x);
79
80
  if (this.hintDirective) {
80
- this.hintDirective.raise(this.getMonth(x));
81
+ this.hintDirective.raise(month);
82
+ }
83
+ else {
84
+ this.onHovered(month);
81
85
  }
82
86
  }
83
87
  getWidth(index) {
@@ -167,4 +171,4 @@ TuiLineDaysChartComponent = TuiLineDaysChartComponent_1 = __decorate([
167
171
  __param(0, Inject(TuiLineDaysChartHintDirective))
168
172
  ], TuiLineDaysChartComponent);
169
173
  export { TuiLineDaysChartComponent };
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1kYXlzLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWRheXMtY2hhcnQvIiwic291cmNlcyI6WyJsaW5lLWRheXMtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFFUixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHFCQUFxQixFQUNyQix5QkFBeUIsR0FDNUIsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RCxPQUFPLEVBQ0gsV0FBVyxFQUNYLFdBQVcsRUFDWCxTQUFTLEVBRVQsTUFBTSxFQUNOLGNBQWMsRUFDZCxRQUFRLEVBQ1IsT0FBTyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRS9FLE1BQU0sS0FBSyxHQUFhLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBY25DLElBQWEseUJBQXlCLGlDQUF0QyxNQUFhLHlCQUF5QjtJQTJEbEMsWUFHcUIsYUFBbUQ7UUFBbkQsa0JBQWEsR0FBYixhQUFhLENBQXNDO1FBNUR2RCxXQUFNLEdBQXFDLFdBQVcsQ0FBQztRQTBCeEUsTUFBQyxHQUFHLENBQUMsQ0FBQztRQUlOLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFJWCxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUlwQixnQkFBVyxHQUFrRSxFQUFFLENBQUM7UUFJaEYsZUFBVSxHQUFvQyxJQUFJLENBQUM7UUFJbkQsZUFBVSxHQUFvQyxJQUFJLENBQUM7UUFJbkQsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUdiLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFFWCxVQUFLLEdBQW9DLEVB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RjVELFFBQVEsWUFDUixNQUFNLFNBQUMsNkJBQTZCOztBQTNEekM7SUFEQyxZQUFZLENBQUMscUJBQXFCLENBQUM7eURBQ29DO0FBSXhFO0lBRkMsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUNkLGNBQWMsRUFBRTs0REFtQmhCO0FBSUQ7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7b0RBQ1g7QUFJTjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTt5REFDTjtBQUlYO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO2tFQUNHO0FBSXBCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzhEQUMrRDtBQUloRjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTs2REFDa0M7QUFJbkQ7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7NkRBQ2tDO0FBSW5EO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3VEQUNKO0FBR2I7SUFEQyxXQUFXLENBQUMsY0FBYyxDQUFDO3lEQUNqQjtBQXVCWDtJQURDLE9BQU87K0RBUVA7QUEyREQ7SUFEQyxPQUFPOzREQXNCUDtBQXJLUSx5QkFBeUI7SUFackMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLHFCQUFxQjtRQUMvQix5c0JBQThDO1FBRTlDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFNBQVMsRUFBRTtZQUNQO2dCQUNJLE9BQU8sRUFBRSx5QkFBeUI7Z0JBQ2xDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQXlCLENBQUM7YUFDM0Q7U0FDSjs7S0FDSixDQUFDO0lBNkRPLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFBO0dBN0RqQyx5QkFBeUIsQ0EwS3JDO1NBMUtZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlMaW5lQ2hhcnRDb21wb25lbnQsXG4gICAgVHVpTGluZUNoYXJ0SGludERpcmVjdGl2ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xpbmUtY2hhcnQnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9BUlJBWSxcbiAgICBFTVBUWV9RVUVSWSxcbiAgICBpc1ByZXNlbnQsXG4gICAgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCxcbiAgICBUdWlEYXksXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpTW9udGgsXG4gICAgdHVpUHVyZSxcbiAgICBUdWlTdHJpbmdIYW5kbGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpUG9pbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlMaW5lRGF5c0NoYXJ0SGludERpcmVjdGl2ZX0gZnJvbSAnLi9saW5lLWRheXMtY2hhcnQtaGludC5kaXJlY3RpdmUnO1xuXG5jb25zdCBEVU1NWTogVHVpUG9pbnQgPSBbTmFOLCBOYU5dO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1saW5lLWRheXMtY2hhcnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saW5lLWRheXMtY2hhcnQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGluZS1kYXlzLWNoYXJ0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVHVpTGluZUNoYXJ0SGludERpcmVjdGl2ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUxpbmVEYXlzQ2hhcnRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUxpbmVEYXlzQ2hhcnRDb21wb25lbnQge1xuICAgIEBWaWV3Q2hpbGRyZW4oVHVpTGluZUNoYXJ0Q29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhcnRzOiBRdWVyeUxpc3Q8VHVpTGluZUNoYXJ0Q29tcG9uZW50PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQElucHV0KCd2YWx1ZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzZXQgdmFsdWVTZXR0ZXIodmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4pIHtcbiAgICAgICAgaWYgKCF2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBbXTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3RhcnQgPSB2YWx1ZVswXVswXTtcbiAgICAgICAgY29uc3QgbXV0YWJsZSA9IFsuLi52YWx1ZV07XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IFR1aURheS5sZW5ndGhCZXR3ZWVuKHN0YXJ0LCB2YWx1ZVt2YWx1ZS5sZW5ndGggLSAxXVswXSkgKyAxO1xuXG4gICAgICAgIHRoaXMudmFsdWUgPSBBcnJheS5mcm9tKHtsZW5ndGh9LCAoXywgZGF5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RGF5ID0gc3RhcnQuYXBwZW5kKHtkYXl9KTtcbiAgICAgICAgICAgIGNvbnN0IHNoaWZ0ZWQgPSBjdXJyZW50RGF5LmRheVNhbWUobXV0YWJsZVswXVswXSkgPyBtdXRhYmxlLnNoaWZ0KCkgOiBudWxsO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gc2hpZnRlZCA/IHNoaWZ0ZWRbMV0gOiBOYU47XG5cbiAgICAgICAgICAgIHJldHVybiBbY3VycmVudERheSwgY3VycmVudFZhbHVlXSBhcyBbVHVpRGF5LCBudW1iZXJdO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeSA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaGVpZ2h0ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzbW9vdGhpbmdGYWN0b3IgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhpbnRDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8W1R1aURheSwgbnVtYmVyXT4+ID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeFN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxUdWlEYXk+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgeVN0cmluZ2lmeTogVHVpU3RyaW5nSGFuZGxlcjxudW1iZXI+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZG90cyA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS56SW5kZXgnKVxuICAgIHpJbmRleCA9IDA7XG5cbiAgICB2YWx1ZTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPiA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVHVpTGluZURheXNDaGFydEhpbnREaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaGludERpcmVjdGl2ZTogVHVpTGluZURheXNDaGFydEhpbnREaXJlY3RpdmUgfCBudWxsLFxuICAgICkge31cblxuICAgIGdldCBtb250aHMoKTogUmVhZG9ubHlBcnJheTxSZWFkb25seUFycmF5PFR1aVBvaW50Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGggPyB0aGlzLmJyZWFrTW9udGhzKHRoaXMudmFsdWUpIDogRU1QVFlfQVJSQVk7XG4gICAgfVxuXG4gICAgZ2V0IGZpcnN0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9udGhzLmxlbmd0aCAqIHRoaXMudmFsdWVbMF1bMF0uZGF5c0NvdW50O1xuICAgIH1cblxuICAgIGdldCBoaW50KCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxhbnk+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnREaXJlY3RpdmUgPyB0aGlzLmhpbnREaXJlY3RpdmUuaGludCA6IHRoaXMuaGludENvbnRlbnQ7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRIaW50Q29udGV4dChcbiAgICAgICAgeDogbnVtYmVyLFxuICAgICAgICB2YWx1ZTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPixcbiAgICApOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PFtUdWlEYXksIG51bWJlcl0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICRpbXBsaWNpdDogdmFsdWVbeCAtIHZhbHVlWzBdWzBdLmRheSArIDFdLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJlYWRvbmx5IGRheXNTdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8bnVtYmVyPiA9IGluZGV4ID0+XG4gICAgICAgIHRoaXMueFN0cmluZ2lmeSA/IHRoaXMueFN0cmluZ2lmeSh0aGlzLmdldE1vbnRoKGluZGV4KSkgOiAnJztcblxuICAgIGdldFgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmdldE1vbnRoKGluZGV4KTtcbiAgICAgICAgY29uc3QgbW9udGhzID0gVHVpTW9udGgubGVuZ3RoQmV0d2Vlbih0aGlzLnZhbHVlWzBdWzBdLCBjdXJyZW50KTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gbW9udGhzICogY3VycmVudC5kYXlzQ291bnQ7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4IC0gb2Zmc2V0O1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChkYXk6IFR1aURheSB8IG51bGwpIHtcbiAgICAgICAgaWYgKCFkYXkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhcnRzLmZvckVhY2goY2hhcnQgPT4gY2hhcnQub25Ib3ZlcmVkKE5hTikpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmRleCA9IFR1aU1vbnRoLmxlbmd0aEJldHdlZW4odGhpcy52YWx1ZVswXVswXSwgZGF5KTtcbiAgICAgICAgY29uc3QgeCA9IFR1aURheS5sZW5ndGhCZXR3ZWVuKHRoaXMudmFsdWVbMF1bMF0sIGRheSkgKyB0aGlzLnZhbHVlWzBdWzBdLmRheSAtIDE7XG4gICAgICAgIGNvbnN0IGFycmF5ID0gdGhpcy5jaGFydHMudG9BcnJheSgpO1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gYXJyYXlbaW5kZXhdO1xuICAgICAgICBjb25zdCB7dmFsdWV9ID0gY3VycmVudDtcblxuICAgICAgICBhcnJheS5mb3JFYWNoKGNoYXJ0ID0+IHtcbiAgICAgICAgICAgIGlmIChjaGFydCA9PT0gY3VycmVudCkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnQub25Ib3ZlcmVkKHZhbHVlLmZpbmRJbmRleChwb2ludCA9PiBwb2ludFswXSA9PT0geCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjaGFydC5vbkhvdmVyZWQoTmFOKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmFpc2UoaW5kZXg6IG51bWJlciwge3ZhbHVlfTogVHVpTGluZUNoYXJ0Q29tcG9uZW50KSB7XG4gICAgICAgIGNvbnN0IHggPSB2YWx1ZVtpbmRleF1bMF07XG5cbiAgICAgICAgaWYgKHRoaXMuaGludERpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5oaW50RGlyZWN0aXZlLnJhaXNlKHRoaXMuZ2V0TW9udGgoeCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0V2lkdGgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE1vbnRoKGluZGV4KS5kYXlzQ291bnQgKiB0aGlzLm1vbnRocy5sZW5ndGg7XG4gICAgfVxuXG4gICAgZ2V0Q29udGV4dChcbiAgICAgICAgaW5kZXg6IG51bWJlcixcbiAgICAgICAge3ZhbHVlfTogVHVpTGluZUNoYXJ0Q29tcG9uZW50LFxuICAgICk6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8YW55PiB7XG4gICAgICAgIGNvbnN0IHggPSB2YWx1ZVtpbmRleF1bMF07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaGludERpcmVjdGl2ZVxuICAgICAgICAgICAgPyB0aGlzLmhpbnREaXJlY3RpdmUuZ2V0Q29udGV4dCh0aGlzLmdldE1vbnRoKHgpKVxuICAgICAgICAgICAgOiB0aGlzLmdldEhpbnRDb250ZXh0KHgsIHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBicmVha01vbnRocyhcbiAgICAgICAgdmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4sXG4gICAgKTogUmVhZG9ubHlBcnJheTxSZWFkb25seUFycmF5PFR1aVBvaW50Pj4ge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB2YWx1ZVswXVswXS5kYXkgLSAxO1xuXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgICAgICAge2xlbmd0aDogVHVpTW9udGgubGVuZ3RoQmV0d2Vlbih2YWx1ZVswXVswXSwgdmFsdWVbdmFsdWUubGVuZ3RoIC0gMV1bMF0pICsgMX0sXG4gICAgICAgICAgICAoXywgaSkgPT4gaSArIHZhbHVlWzBdWzBdLm1vbnRoICsgdmFsdWVbMF1bMF0ueWVhciAqIDEyLFxuICAgICAgICApXG4gICAgICAgICAgICAubWFwKGFic29sdXRlTW9udGggPT5cbiAgICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAubWFwPFR1aVBvaW50IHwgbnVsbD4oKFt7bW9udGgsIHllYXJ9LCB5XSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBtb250aCArIHllYXIgKiAxMiA9PT0gYWJzb2x1dGVNb250aCA/IFtpbmRleCArIG9mZnNldCwgeV0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoaXNQcmVzZW50KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5tYXAoKG1vbnRoLCBpbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgaW5kZXggPT09IGFycmF5Lmxlbmd0aCAtIDFcbiAgICAgICAgICAgICAgICAgICAgPyBtb250aFxuICAgICAgICAgICAgICAgICAgICA6IFsuLi5tb250aCwgYXJyYXlbaW5kZXggKyAxXS5maW5kKGRheSA9PiAhaXNOYU4oZGF5WzFdKSkgfHwgRFVNTVldLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1vbnRoKGluZGV4OiBudW1iZXIpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVtpbmRleCAtIHRoaXMudmFsdWVbMF1bMF0uZGF5ICsgMV1bMF07XG4gICAgfVxufVxuIl19
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1kYXlzLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWRheXMtY2hhcnQvIiwic291cmNlcyI6WyJsaW5lLWRheXMtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFFUixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHFCQUFxQixFQUNyQix5QkFBeUIsR0FDNUIsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RCxPQUFPLEVBQ0gsV0FBVyxFQUNYLFdBQVcsRUFDWCxTQUFTLEVBRVQsTUFBTSxFQUNOLGNBQWMsRUFDZCxRQUFRLEVBQ1IsT0FBTyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRS9FLE1BQU0sS0FBSyxHQUFhLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBY25DLElBQWEseUJBQXlCLGlDQUF0QyxNQUFhLHlCQUF5QjtJQTJEbEMsWUFHcUIsYUFBbUQ7UUFBbkQsa0JBQWEsR0FBYixhQUFhLENBQXNDO1FBNUR2RCxXQUFNLEdBQXFDLFdBQVcsQ0FBQztRQTBCeEUsTUFBQyxHQUFHLENBQUMsQ0FBQztRQUlOLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFJWCxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUlwQixnQkFBVyxHQUFrRSxFQUFFLENBQUM7UUFJaEYsZUFBVSxHQUFvQyxJQUFJLENBQUM7UUFJbkQsZUFBVSxHQUFvQyxJQUFJLENBQUM7UUFJbkQsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUdiLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFFWCxVQUFLLEdBQW9DLEVBQUUsQ0FBQztRQThCbkMsa0JBQWEsR0FBNkIsS0FBSyxDQUFDLEVBQUUsQ0FDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQXpCOUQsQ0FBQztJQXpESixJQUFJLFdBQVcsQ0FBQyxLQUFzQztRQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBRWhCLE9BQU87U0FDVjtRQUVELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDM0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0UsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDekMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFDLEdBQUcsRUFBQyxDQUFDLENBQUM7WUFDdkMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDM0UsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUVoRCxPQUFPLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBcUIsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUF5Q0QsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMzRSxDQUFDO0lBR0QsY0FBYyxDQUNWLENBQVMsRUFDVCxLQUFzQztRQUV0QyxPQUFPO1lBQ0gsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7U0FDNUMsQ0FBQztJQUNOLENBQUM7SUFLRCxJQUFJLENBQUMsS0FBYTtRQUNkLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBRTFDLE9BQU8sS0FBSyxHQUFHLE1BQU0sQ0FBQztJQUMxQixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQWtCO1FBQ3hCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUVuRCxPQUFPO1NBQ1Y7UUFFRCxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDNUQsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNqRixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsT0FBTyxDQUFDO1FBRXhCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFO2dCQUNuQixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvRDtpQkFBTTtnQkFDSCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWEsRUFBRSxFQUFDLEtBQUssRUFBd0I7UUFDL0MsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25DO2FBQU07WUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDL0QsQ0FBQztJQUVELFVBQVUsQ0FDTixLQUFhLEVBQ2IsRUFBQyxLQUFLLEVBQXdCO1FBRTlCLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUxQixPQUFPLElBQUksQ0FBQyxhQUFhO1lBQ3JCLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pELENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUdPLFdBQVcsQ0FDZixLQUFzQztRQUV0QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUVuQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQ2IsRUFBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUMsRUFDN0UsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FDMUQ7YUFDSSxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FDakIsS0FBSzthQUNBLEdBQUcsQ0FBa0IsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ2hELEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBRSxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ25FO2FBQ0EsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUN6QjthQUNBLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDekIsS0FBSyxLQUFLLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN0QixDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FDMUUsQ0FBQztJQUNWLENBQUM7SUFFTyxRQUFRLENBQUMsS0FBYTtRQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7Q0FDSixDQUFBOztZQS9HdUMsNkJBQTZCLHVCQUY1RCxRQUFRLFlBQ1IsTUFBTSxTQUFDLDZCQUE2Qjs7QUEzRHpDO0lBREMsWUFBWSxDQUFDLHFCQUFxQixDQUFDO3lEQUNvQztBQUl4RTtJQUZDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFDZCxjQUFjLEVBQUU7NERBbUJoQjtBQUlEO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO29EQUNYO0FBSU47SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7eURBQ047QUFJWDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtrRUFDRztBQUlwQjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTs4REFDK0Q7QUFJaEY7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7NkRBQ2tDO0FBSW5EO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzZEQUNrQztBQUluRDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTt1REFDSjtBQUdiO0lBREMsV0FBVyxDQUFDLGNBQWMsQ0FBQzt5REFDakI7QUF1Qlg7SUFEQyxPQUFPOytEQVFQO0FBOEREO0lBREMsT0FBTzs0REFzQlA7QUF4S1EseUJBQXlCO0lBWnJDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IseXNCQUE4QztRQUU5QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxTQUFTLEVBQUU7WUFDUDtnQkFDSSxPQUFPLEVBQUUseUJBQXlCO2dCQUNsQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUF5QixDQUFDO2FBQzNEO1NBQ0o7O0tBQ0osQ0FBQztJQTZETyxXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQ1YsV0FBQSxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtHQTdEakMseUJBQXlCLENBNktyQztTQTdLWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgVHVpTGluZUNoYXJ0Q29tcG9uZW50LFxuICAgIFR1aUxpbmVDaGFydEhpbnREaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWNoYXJ0JztcbmltcG9ydCB7XG4gICAgRU1QVFlfQVJSQVksXG4gICAgRU1QVFlfUVVFUlksXG4gICAgaXNQcmVzZW50LFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgVHVpRGF5LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aU1vbnRoLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpU3RyaW5nSGFuZGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVBvaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpTGluZURheXNDaGFydEhpbnREaXJlY3RpdmV9IGZyb20gJy4vbGluZS1kYXlzLWNoYXJ0LWhpbnQuZGlyZWN0aXZlJztcblxuY29uc3QgRFVNTVk6IFR1aVBvaW50ID0gW05hTiwgTmFOXTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktbGluZS1kYXlzLWNoYXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGluZS1kYXlzLWNoYXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpbmUtZGF5cy1jaGFydC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFR1aUxpbmVDaGFydEhpbnREaXJlY3RpdmUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlMaW5lRGF5c0NoYXJ0Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMaW5lRGF5c0NoYXJ0Q29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkcmVuKFR1aUxpbmVDaGFydENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYXJ0czogUXVlcnlMaXN0PFR1aUxpbmVDaGFydENvbXBvbmVudD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgndmFsdWUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IHZhbHVlU2V0dGVyKHZhbHVlOiBSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+KSB7XG4gICAgICAgIGlmICghdmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gW107XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gdmFsdWVbMF1bMF07XG4gICAgICAgIGNvbnN0IG11dGFibGUgPSBbLi4udmFsdWVdO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBUdWlEYXkubGVuZ3RoQmV0d2VlbihzdGFydCwgdmFsdWVbdmFsdWUubGVuZ3RoIC0gMV1bMF0pICsgMTtcblxuICAgICAgICB0aGlzLnZhbHVlID0gQXJyYXkuZnJvbSh7bGVuZ3RofSwgKF8sIGRheSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY3VycmVudERheSA9IHN0YXJ0LmFwcGVuZCh7ZGF5fSk7XG4gICAgICAgICAgICBjb25zdCBzaGlmdGVkID0gY3VycmVudERheS5kYXlTYW1lKG11dGFibGVbMF1bMF0pID8gbXV0YWJsZS5zaGlmdCgpIDogbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHNoaWZ0ZWQgPyBzaGlmdGVkWzFdIDogTmFOO1xuXG4gICAgICAgICAgICByZXR1cm4gW2N1cnJlbnREYXksIGN1cnJlbnRWYWx1ZV0gYXMgW1R1aURheSwgbnVtYmVyXTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHkgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhlaWdodCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc21vb3RoaW5nRmFjdG9yID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBoaW50Q29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PFtUdWlEYXksIG51bWJlcl0+PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHhTdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8VHVpRGF5PiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHlTdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8bnVtYmVyPiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRvdHMgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuekluZGV4JylcbiAgICB6SW5kZXggPSAwO1xuXG4gICAgdmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aUxpbmVEYXlzQ2hhcnRIaW50RGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpbnREaXJlY3RpdmU6IFR1aUxpbmVEYXlzQ2hhcnRIaW50RGlyZWN0aXZlIHwgbnVsbCxcbiAgICApIHt9XG5cbiAgICBnZXQgbW9udGhzKCk6IFJlYWRvbmx5QXJyYXk8UmVhZG9ubHlBcnJheTxUdWlQb2ludD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoID8gdGhpcy5icmVha01vbnRocyh0aGlzLnZhbHVlKSA6IEVNUFRZX0FSUkFZO1xuICAgIH1cblxuICAgIGdldCBmaXJzdFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vbnRocy5sZW5ndGggKiB0aGlzLnZhbHVlWzBdWzBdLmRheXNDb3VudDtcbiAgICB9XG5cbiAgICBnZXQgaGludCgpOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8YW55Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50RGlyZWN0aXZlID8gdGhpcy5oaW50RGlyZWN0aXZlLmhpbnQgOiB0aGlzLmhpbnRDb250ZW50O1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0SGludENvbnRleHQoXG4gICAgICAgIHg6IG51bWJlcixcbiAgICAgICAgdmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4sXG4gICAgKTogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxbVHVpRGF5LCBudW1iZXJdPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IHZhbHVlW3ggLSB2YWx1ZVswXVswXS5kYXkgKyAxXSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZWFkb25seSBkYXlzU3RyaW5naWZ5OiBUdWlTdHJpbmdIYW5kbGVyPG51bWJlcj4gPSBpbmRleCA9PlxuICAgICAgICB0aGlzLnhTdHJpbmdpZnkgPyB0aGlzLnhTdHJpbmdpZnkodGhpcy5nZXRNb250aChpbmRleCkpIDogJyc7XG5cbiAgICBnZXRYKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5nZXRNb250aChpbmRleCk7XG4gICAgICAgIGNvbnN0IG1vbnRocyA9IFR1aU1vbnRoLmxlbmd0aEJldHdlZW4odGhpcy52YWx1ZVswXVswXSwgY3VycmVudCk7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IG1vbnRocyAqIGN1cnJlbnQuZGF5c0NvdW50O1xuXG4gICAgICAgIHJldHVybiBpbmRleCAtIG9mZnNldDtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoZGF5OiBUdWlEYXkgfCBudWxsKSB7XG4gICAgICAgIGlmICghZGF5KSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0cy5mb3JFYWNoKGNoYXJ0ID0+IGNoYXJ0Lm9uSG92ZXJlZChOYU4pKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5kZXggPSBUdWlNb250aC5sZW5ndGhCZXR3ZWVuKHRoaXMudmFsdWVbMF1bMF0sIGRheSk7XG4gICAgICAgIGNvbnN0IHggPSBUdWlEYXkubGVuZ3RoQmV0d2Vlbih0aGlzLnZhbHVlWzBdWzBdLCBkYXkpICsgdGhpcy52YWx1ZVswXVswXS5kYXkgLSAxO1xuICAgICAgICBjb25zdCBhcnJheSA9IHRoaXMuY2hhcnRzLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IGFycmF5W2luZGV4XTtcbiAgICAgICAgY29uc3Qge3ZhbHVlfSA9IGN1cnJlbnQ7XG5cbiAgICAgICAgYXJyYXkuZm9yRWFjaChjaGFydCA9PiB7XG4gICAgICAgICAgICBpZiAoY2hhcnQgPT09IGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50Lm9uSG92ZXJlZCh2YWx1ZS5maW5kSW5kZXgocG9pbnQgPT4gcG9pbnRbMF0gPT09IHgpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY2hhcnQub25Ib3ZlcmVkKE5hTik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJhaXNlKGluZGV4OiBudW1iZXIsIHt2YWx1ZX06IFR1aUxpbmVDaGFydENvbXBvbmVudCkge1xuICAgICAgICBjb25zdCB4ID0gdmFsdWVbaW5kZXhdWzBdO1xuICAgICAgICBjb25zdCBtb250aCA9IHRoaXMuZ2V0TW9udGgoeCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGludERpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5oaW50RGlyZWN0aXZlLnJhaXNlKG1vbnRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25Ib3ZlcmVkKG1vbnRoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFdpZHRoKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRNb250aChpbmRleCkuZGF5c0NvdW50ICogdGhpcy5tb250aHMubGVuZ3RoO1xuICAgIH1cblxuICAgIGdldENvbnRleHQoXG4gICAgICAgIGluZGV4OiBudW1iZXIsXG4gICAgICAgIHt2YWx1ZX06IFR1aUxpbmVDaGFydENvbXBvbmVudCxcbiAgICApOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PGFueT4ge1xuICAgICAgICBjb25zdCB4ID0gdmFsdWVbaW5kZXhdWzBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmhpbnREaXJlY3RpdmVcbiAgICAgICAgICAgID8gdGhpcy5oaW50RGlyZWN0aXZlLmdldENvbnRleHQodGhpcy5nZXRNb250aCh4KSlcbiAgICAgICAgICAgIDogdGhpcy5nZXRIaW50Q29udGV4dCh4LCB0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgYnJlYWtNb250aHMoXG4gICAgICAgIHZhbHVlOiBSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+LFxuICAgICk6IFJlYWRvbmx5QXJyYXk8UmVhZG9ubHlBcnJheTxUdWlQb2ludD4+IHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdmFsdWVbMF1bMF0uZGF5IC0gMTtcblxuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShcbiAgICAgICAgICAgIHtsZW5ndGg6IFR1aU1vbnRoLmxlbmd0aEJldHdlZW4odmFsdWVbMF1bMF0sIHZhbHVlW3ZhbHVlLmxlbmd0aCAtIDFdWzBdKSArIDF9LFxuICAgICAgICAgICAgKF8sIGkpID0+IGkgKyB2YWx1ZVswXVswXS5tb250aCArIHZhbHVlWzBdWzBdLnllYXIgKiAxMixcbiAgICAgICAgKVxuICAgICAgICAgICAgLm1hcChhYnNvbHV0ZU1vbnRoID0+XG4gICAgICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgLm1hcDxUdWlQb2ludCB8IG51bGw+KChbe21vbnRoLCB5ZWFyfSwgeV0sIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgbW9udGggKyB5ZWFyICogMTIgPT09IGFic29sdXRlTW9udGggPyBbaW5kZXggKyBvZmZzZXQsIHldIDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKGlzUHJlc2VudCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAubWFwKChtb250aCwgaW5kZXgsIGFycmF5KSA9PlxuICAgICAgICAgICAgICAgIGluZGV4ID09PSBhcnJheS5sZW5ndGggLSAxXG4gICAgICAgICAgICAgICAgICAgID8gbW9udGhcbiAgICAgICAgICAgICAgICAgICAgOiBbLi4ubW9udGgsIGFycmF5W2luZGV4ICsgMV0uZmluZChkYXkgPT4gIWlzTmFOKGRheVsxXSkpIHx8IERVTU1ZXSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRNb250aChpbmRleDogbnVtYmVyKTogVHVpRGF5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVbaW5kZXggLSB0aGlzLnZhbHVlWzBdWzBdLmRheSArIDFdWzBdO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './pie-chart.component';
2
+ export * from './pie-chart.directive';
2
3
  export * from './pie-chart.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvcGllLWNoYXJ0LyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9waWUtY2hhcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGllLWNoYXJ0Lm1vZHVsZSc7XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvcGllLWNoYXJ0LyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BpZS1jaGFydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9waWUtY2hhcnQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vcGllLWNoYXJ0Lm1vZHVsZSc7XG4iXX0=
@@ -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
  const RADII = {
@@ -34,6 +33,9 @@ let TuiPieChartComponent = class TuiPieChartComponent {
34
33
  this.activeItemIndexChange = new EventEmitter();
35
34
  this.autoIdString = idService.generate();
36
35
  }
36
+ get empty() {
37
+ return !this.getSum(this.value);
38
+ }
37
39
  get maskId() {
38
40
  return 'tui-ring-chart-' + this.autoIdString;
39
41
  }
@@ -48,9 +50,6 @@ let TuiPieChartComponent = class TuiPieChartComponent {
48
50
  get segments() {
49
51
  return this.getSegments(this.value);
50
52
  }
51
- getContentContext($implicit) {
52
- return { $implicit };
53
- }
54
53
  getTransform(index) {
55
54
  const transform = this.masked
56
55
  ? `scale(${TRANSFORM[this.size]})`
@@ -66,11 +65,19 @@ let TuiPieChartComponent = class TuiPieChartComponent {
66
65
  getColor(index) {
67
66
  return this.sanitizer.bypassSecurityTrustStyle(`var(--tui-chart-${index}, ${colorFallback(this.colorHandler(index))})`);
68
67
  }
68
+ getSum(value) {
69
+ return sum(...value);
70
+ }
69
71
  getSegments(value) {
70
- const total = sum(...value);
71
72
  return value
72
- .map((currentItem, currentIndex, array) => array.reduce((sum, item, index) => index < currentIndex ? (item / total) * 360 + sum : sum, (currentItem / total) * 360))
73
- .map((angle, index, array) => describeSector(array[index - 1] || 0, Math.min(angle, 359.9999)));
73
+ .map((initial, i, array) => array.reduce((sum, current, j) => (j < i ? this.getDeg(current) + sum : sum), this.getDeg(initial)))
74
+ .map((angle, index, array) => [
75
+ array[index - 1] || 0,
76
+ Math.min(angle, 359.9999),
77
+ ]);
78
+ }
79
+ getDeg(value) {
80
+ return 360 * (value / this.getSum(this.value));
74
81
  }
75
82
  updateActiveItemIndex(index) {
76
83
  if (index === this.activeItemIndex) {
@@ -113,22 +120,25 @@ __decorate([
113
120
  __decorate([
114
121
  Output()
115
122
  ], TuiPieChartComponent.prototype, "activeItemIndexChange", void 0);
123
+ __decorate([
124
+ HostBinding('class._empty')
125
+ ], TuiPieChartComponent.prototype, "empty", null);
116
126
  __decorate([
117
127
  tuiPure
118
- ], TuiPieChartComponent.prototype, "getContentContext", null);
128
+ ], TuiPieChartComponent.prototype, "getSum", null);
119
129
  __decorate([
120
130
  tuiPure
121
131
  ], TuiPieChartComponent.prototype, "getSegments", null);
122
132
  TuiPieChartComponent = __decorate([
123
133
  Component({
124
134
  selector: 'tui-pie-chart',
125
- 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",
135
+ 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",
126
136
  changeDetection: ChangeDetectionStrategy.OnPush,
127
- 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}"]
137
+ 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}"]
128
138
  }),
129
139
  __param(0, Inject(TuiIdService)),
130
140
  __param(1, Inject(Location)),
131
141
  __param(2, Inject(DomSanitizer))
132
142
  ], TuiPieChartComponent);
133
143
  export { TuiPieChartComponent };
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9waWUtY2hhcnQvIiwic291cmNlcyI6WyJwaWUtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRTNFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsR0FBRyxFQUNILHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsWUFBWSxFQUNaLE9BQU8sR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUF1QixNQUFNLGdCQUFnQixDQUFDO0FBR25FLE1BQU0sS0FBSyxHQUFHO0lBQ1YsRUFBRSxFQUFFLElBQUk7SUFDUixDQUFDLEVBQUUsSUFBSTtJQUNQLENBQUMsRUFBRSxNQUFNO0lBQ1QsQ0FBQyxFQUFFLE1BQU07SUFDVCxFQUFFLEVBQUUsTUFBTTtDQUNiLENBQUM7QUFDRixNQUFNLFNBQVMsR0FBRztJQUNkLEVBQUUsRUFBRSxJQUFJO0lBQ1IsQ0FBQyxFQUFFLElBQUk7SUFDUCxDQUFDLEVBQUUsSUFBSTtJQUNQLENBQUMsRUFBRSxJQUFJO0lBQ1AsRUFBRSxFQUFFLElBQUk7Q0FDWCxDQUFDO0FBRUYsd0RBQXdEO0FBT3hELElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQW9CO0lBK0I3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ZTtRQUN6QixtaERBQXdDO1FBRXhDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNsRCxDQUFDO0lBaUNPLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3BCLFdBQUEsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hCLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0dBbENoQixvQkFBb0IsQ0ErR2hDO1NBL0dZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RvbVNhbml0aXplciwgU2FmZVZhbHVlfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfQ09MT1JfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlDb2xvckhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvdHlwZXMnO1xuaW1wb3J0IHtkZXNjcmliZVNlY3Rvcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy91dGlscyc7XG5pbXBvcnQge1xuICAgIHN1bSxcbiAgICBUdWlDb250ZXh0V2l0aEltcGxpY2l0LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUlkU2VydmljZSxcbiAgICB0dWlQdXJlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7Y29sb3JGYWxsYmFjaywgVHVpU2l6ZVhMLCBUdWlTaXplWFN9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuY29uc3QgUkFESUkgPSB7XG4gICAgeHM6ICc1MCcsXG4gICAgczogJzUwJyxcbiAgICBtOiAnNzcuOCcsXG4gICAgbDogJzgxLjknLFxuICAgIHhsOiAnODEuMycsXG59O1xuY29uc3QgVFJBTlNGT1JNID0ge1xuICAgIHhzOiAxLjE1LFxuICAgIHM6IDEuMjUsXG4gICAgbTogMS4xMSxcbiAgICBsOiAxLjA5LFxuICAgIHhsOiAxLjA4LFxufTtcblxuLy8gVE9ETzogUmVtb3ZlIHNhbml0aXplciB3aGVuIEFuZ3VsYXIgdmVyc2lvbiBpcyBidW1wZWRcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXBpZS1jaGFydCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BpZS1jaGFydC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9waWUtY2hhcnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlQaWVDaGFydENvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRvSWRTdHJpbmc6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZTogcmVhZG9ubHkgbnVtYmVyW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdHVpLWhvc3Qtc2l6ZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplWFMgfCBUdWlTaXplWEwgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29sb3JIYW5kbGVyOiBUdWlDb2xvckhhbmRsZXIgPSBUVUlfREVGQVVMVF9DT0xPUl9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGhpbnRDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPj4gPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXNrZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBhY3RpdmVJdGVtSW5kZXggPSBOYU47XG5cbiAgICBAT3V0cHV0KClcbiAgICBhY3RpdmVJdGVtSW5kZXhDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aUlkU2VydmljZSkgaWRTZXJ2aWNlOiBUdWlJZFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTG9jYXRpb24pIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb25SZWY6IExvY2F0aW9uLFxuICAgICAgICBASW5qZWN0KERvbVNhbml0aXplcikgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICApIHtcbiAgICAgICAgdGhpcy5hdXRvSWRTdHJpbmcgPSBpZFNlcnZpY2UuZ2VuZXJhdGUoKTtcbiAgICB9XG5cbiAgICBnZXQgbWFza0lkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAndHVpLXJpbmctY2hhcnQtJyArIHRoaXMuYXV0b0lkU3RyaW5nO1xuICAgIH1cblxuICAgIGdldCBtYXNrKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXNrZWRcbiAgICAgICAgICAgID8gYHVybCgke3RoaXMubG9jYXRpb25SZWYucHJlcGFyZUV4dGVybmFsVXJsKHRoaXMubG9jYXRpb25SZWYucGF0aCgpKX0jJHtcbiAgICAgICAgICAgICAgICAgIHRoaXMubWFza0lkXG4gICAgICAgICAgICAgIH0pYFxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCByYWRpdXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFJBRElJW3RoaXMuc2l6ZV07XG4gICAgfVxuXG4gICAgZ2V0IHNlZ21lbnRzKCk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VnbWVudHModGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRDb250ZW50Q29udGV4dCgkaW1wbGljaXQ6IG51bWJlcik6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB7JGltcGxpY2l0fTtcbiAgICB9XG5cbiAgICBnZXRUcmFuc2Zvcm0oaW5kZXg6IG51bWJlcik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm0gPSB0aGlzLm1hc2tlZFxuICAgICAgICAgICAgPyBgc2NhbGUoJHtUUkFOU0ZPUk1bdGhpcy5zaXplXX0pYFxuICAgICAgICAgICAgOiBgc2NhbGUoJHtUUkFOU0ZPUk1bJ3hzJ119KWA7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA/IHRyYW5zZm9ybSA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SGludChoaW50OiBQb2x5bW9ycGhldXNDb250ZW50KTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnRDb250ZW50ID8gaGludCA6ICcnO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuLCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlSXRlbUluZGV4KGhvdmVyZWQgPyBpbmRleCA6IE5hTik7XG4gICAgfVxuXG4gICAgZ2V0Q29sb3IoaW5kZXg6IG51bWJlcik6IFNhZmVWYWx1ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoXG4gICAgICAgICAgICBgdmFyKC0tdHVpLWNoYXJ0LSR7aW5kZXh9LCAke2NvbG9yRmFsbGJhY2sodGhpcy5jb2xvckhhbmRsZXIoaW5kZXgpKX0pYCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0U2VnbWVudHModmFsdWU6IHJlYWRvbmx5IG51bWJlcltdKTogcmVhZG9ubHkgc3RyaW5nW10ge1xuICAgICAgICBjb25zdCB0b3RhbCA9IHN1bSguLi52YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICAubWFwKChjdXJyZW50SXRlbSwgY3VycmVudEluZGV4LCBhcnJheSkgPT5cbiAgICAgICAgICAgICAgICBhcnJheS5yZWR1Y2UoXG4gICAgICAgICAgICAgICAgICAgIChzdW0sIGl0ZW0sIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPCBjdXJyZW50SW5kZXggPyAoaXRlbSAvIHRvdGFsKSAqIDM2MCArIHN1bSA6IHN1bSxcbiAgICAgICAgICAgICAgICAgICAgKGN1cnJlbnRJdGVtIC8gdG90YWwpICogMzYwLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAubWFwKChhbmdsZSwgaW5kZXgsIGFycmF5KSA9PlxuICAgICAgICAgICAgICAgIGRlc2NyaWJlU2VjdG9yKGFycmF5W2luZGV4IC0gMV0gfHwgMCwgTWF0aC5taW4oYW5nbGUsIDM1OS45OTk5KSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQWN0aXZlSXRlbUluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UubmV4dChpbmRleCk7XG4gICAgfVxufVxuIl19
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9waWUtY2hhcnQvIiwic291cmNlcyI6WyJwaWUtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRTNFLE9BQU8sRUFDSCxHQUFHLEVBQ0gsc0JBQXNCLEVBQ3RCLGNBQWMsRUFDZCxZQUFZLEVBQ1osT0FBTyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQXVCLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkUsTUFBTSxLQUFLLEdBQUc7SUFDVixFQUFFLEVBQUUsSUFBSTtJQUNSLENBQUMsRUFBRSxJQUFJO0lBQ1AsQ0FBQyxFQUFFLE1BQU07SUFDVCxDQUFDLEVBQUUsTUFBTTtJQUNULEVBQUUsRUFBRSxNQUFNO0NBQ2IsQ0FBQztBQUNGLE1BQU0sU0FBUyxHQUFHO0lBQ2QsRUFBRSxFQUFFLElBQUk7SUFDUixDQUFDLEVBQUUsSUFBSTtJQUNQLENBQUMsRUFBRSxJQUFJO0lBQ1AsQ0FBQyxFQUFFLElBQUk7SUFDUCxFQUFFLEVBQUUsSUFBSTtDQUNYLENBQUM7QUFFRix3REFBd0Q7QUFPeEQsSUFBYSxvQkFBb0IsR0FBakMsTUFBYSxvQkFBb0I7SUErQjdCLFlBQzBCLFNBQXVCLEVBQ1YsV0FBcUIsRUFDakIsU0FBdUI7UUFEM0Is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REMsTUFBTSxFQUFFO21FQUMwQztBQVduRDtJQURDLFdBQVcsQ0FBQyxjQUFjLENBQUM7aURBRzNCO0FBNkNEO0lBREMsT0FBTztrREFHUDtBQUdEO0lBREMsT0FBTzt1REFhUDtBQXhHUSxvQkFBb0I7SUFOaEMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGVBQWU7UUFDekIsNC9DQUF3QztRQUV4QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7S0FDbEQsQ0FBQztJQWlDTyxXQUFBLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUNwQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNoQixXQUFBLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtHQWxDaEIsb0JBQW9CLENBc0hoQztTQXRIWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXIsIFNhZmVWYWx1ZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQge1RVSV9ERUZBVUxUX0NPTE9SX0hBTkRMRVJ9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpQ29sb3JIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL3R5cGVzJztcbmltcG9ydCB7XG4gICAgc3VtLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpSWRTZXJ2aWNlLFxuICAgIHR1aVB1cmUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtjb2xvckZhbGxiYWNrLCBUdWlTaXplWEwsIFR1aVNpemVYU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5jb25zdCBSQURJSSA9IHtcbiAgICB4czogJzUwJyxcbiAgICBzOiAnNTAnLFxuICAgIG06ICc3Ny44JyxcbiAgICBsOiAnODEuOScsXG4gICAgeGw6ICc4MS4zJyxcbn07XG5jb25zdCBUUkFOU0ZPUk0gPSB7XG4gICAgeHM6IDEuMTUsXG4gICAgczogMS4yNSxcbiAgICBtOiAxLjExLFxuICAgIGw6IDEuMDksXG4gICAgeGw6IDEuMDgsXG59O1xuXG4vLyBUT0RPOiBSZW1vdmUgc2FuaXRpemVyIHdoZW4gQW5ndWxhciB2ZXJzaW9uIGlzIGJ1bXBlZFxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktcGllLWNoYXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcGllLWNoYXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BpZS1jaGFydC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBpZUNoYXJ0Q29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dG9JZFN0cmluZzogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiByZWFkb25seSBudW1iZXJbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10dWktaG9zdC1zaXplJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVYUyB8IFR1aVNpemVYTCA9ICdtJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb2xvckhhbmRsZXI6IFR1aUNvbG9ySGFuZGxlciA9IFRVSV9ERUZBVUxUX0NPTE9SX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaGludENvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxudW1iZXI+PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1hc2tlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IE5hTjtcblxuICAgIEBPdXRwdXQoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpSWRTZXJ2aWNlKSBpZFNlcnZpY2U6IFR1aUlkU2VydmljZSxcbiAgICAgICAgQEluamVjdChMb2NhdGlvbikgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblJlZjogTG9jYXRpb24sXG4gICAgICAgIEBJbmplY3QoRG9tU2FuaXRpemVyKSBwcml2YXRlIHJlYWRvbmx5IHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICkge1xuICAgICAgICB0aGlzLmF1dG9JZFN0cmluZyA9IGlkU2VydmljZS5nZW5lcmF0ZSgpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2VtcHR5JylcbiAgICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5nZXRTdW0odGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IG1hc2tJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ3R1aS1yaW5nLWNoYXJ0LScgKyB0aGlzLmF1dG9JZFN0cmluZztcbiAgICB9XG5cbiAgICBnZXQgbWFzaygpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFza2VkXG4gICAgICAgICAgICA/IGB1cmwoJHt0aGlzLmxvY2F0aW9uUmVmLnByZXBhcmVFeHRlcm5hbFVybCh0aGlzLmxvY2F0aW9uUmVmLnBhdGgoKSl9IyR7XG4gICAgICAgICAgICAgICAgICB0aGlzLm1hc2tJZFxuICAgICAgICAgICAgICB9KWBcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgcmFkaXVzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBSQURJSVt0aGlzLnNpemVdO1xuICAgIH1cblxuICAgIGdldCBzZWdtZW50cygpOiByZWFkb25seSBbbnVtYmVyLCBudW1iZXJdW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRTZWdtZW50cyh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXRUcmFuc2Zvcm0oaW5kZXg6IG51bWJlcik6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCB0cmFuc2Zvcm0gPSB0aGlzLm1hc2tlZFxuICAgICAgICAgICAgPyBgc2NhbGUoJHtUUkFOU0ZPUk1bdGhpcy5zaXplXX0pYFxuICAgICAgICAgICAgOiBgc2NhbGUoJHtUUkFOU0ZPUk1bJ3hzJ119KWA7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA/IHRyYW5zZm9ybSA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0SGludChoaW50OiBQb2x5bW9ycGhldXNDb250ZW50KTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnRDb250ZW50ID8gaGludCA6ICcnO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuLCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlSXRlbUluZGV4KGhvdmVyZWQgPyBpbmRleCA6IE5hTik7XG4gICAgfVxuXG4gICAgZ2V0Q29sb3IoaW5kZXg6IG51bWJlcik6IFNhZmVWYWx1ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoXG4gICAgICAgICAgICBgdmFyKC0tdHVpLWNoYXJ0LSR7aW5kZXh9LCAke2NvbG9yRmFsbGJhY2sodGhpcy5jb2xvckhhbmRsZXIoaW5kZXgpKX0pYCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0U3VtKHZhbHVlOiByZWFkb25seSBudW1iZXJbXSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBzdW0oLi4udmFsdWUpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRTZWdtZW50cyh2YWx1ZTogcmVhZG9ubHkgbnVtYmVyW10pOiByZWFkb25seSBbbnVtYmVyLCBudW1iZXJdW10ge1xuICAgICAgICByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgIC5tYXAoKGluaXRpYWwsIGksIGFycmF5KSA9PlxuICAgICAgICAgICAgICAgIGFycmF5LnJlZHVjZShcbiAgICAgICAgICAgICAgICAgICAgKHN1bSwgY3VycmVudCwgaikgPT4gKGogPCBpID8gdGhpcy5nZXREZWcoY3VycmVudCkgKyBzdW0gOiBzdW0pLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldERlZyhpbml0aWFsKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLm1hcCgoYW5nbGUsIGluZGV4LCBhcnJheSkgPT4gW1xuICAgICAgICAgICAgICAgIGFycmF5W2luZGV4IC0gMV0gfHwgMCxcbiAgICAgICAgICAgICAgICBNYXRoLm1pbihhbmdsZSwgMzU5Ljk5OTkpLFxuICAgICAgICAgICAgXSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWcodmFsdWU6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAzNjAgKiAodmFsdWUgLyB0aGlzLmdldFN1bSh0aGlzLnZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBY3RpdmVJdGVtSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuYWN0aXZlSXRlbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleENoYW5nZS5uZXh0KGluZGV4KTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,56 @@
1
+ import { __decorate, __param } 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
+ let TuiPieChartDirective = class TuiPieChartDirective {
11
+ constructor({ nativeElement }, ngZone, destroy$, performance, animationFrame$, duration) {
12
+ this.sector$ = new BehaviorSubject([0, 0]);
13
+ this.sector$
14
+ .pipe(pairwise(), switchMap(([prev, cur]) => {
15
+ const now = performance.now();
16
+ const startDelta = cur[0] - prev[0];
17
+ const endDelta = cur[1] - prev[1];
18
+ return animationFrame$.pipe(map(timestamp => easeInOutQuad(clamp((timestamp - now) / duration, 0, 1))), takeWhile(progress => progress < 1, true), map(progress => [
19
+ prev[0] + startDelta * progress,
20
+ cur[1] > 359 ? cur[1] : prev[1] + endDelta * progress,
21
+ ]));
22
+ }), tuiZonefree(ngZone), takeUntil(destroy$))
23
+ .subscribe(([start, end]) => {
24
+ nativeElement.setAttribute('d', describeSector(start, end));
25
+ });
26
+ }
27
+ set tuiPieChart(sector) {
28
+ this.sector$.next(sector);
29
+ }
30
+ };
31
+ TuiPieChartDirective.ctorParameters = () => [
32
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
33
+ { type: NgZone, decorators: [{ type: Inject, args: [NgZone,] }] },
34
+ { type: Observable, decorators: [{ type: Inject, args: [TuiDestroyService,] }] },
35
+ { type: Performance, decorators: [{ type: Inject, args: [PERFORMANCE,] }] },
36
+ { type: Observable, decorators: [{ type: Inject, args: [ANIMATION_FRAME,] }] },
37
+ { type: Number, decorators: [{ type: Inject, args: [TUI_ANIMATIONS_DURATION,] }] }
38
+ ];
39
+ __decorate([
40
+ Input(),
41
+ tuiDefaultProp()
42
+ ], TuiPieChartDirective.prototype, "tuiPieChart", null);
43
+ TuiPieChartDirective = __decorate([
44
+ Directive({
45
+ selector: 'path[tuiPieChart]',
46
+ providers: [TuiDestroyService],
47
+ }),
48
+ __param(0, Inject(ElementRef)),
49
+ __param(1, Inject(NgZone)),
50
+ __param(2, Inject(TuiDestroyService)),
51
+ __param(3, Inject(PERFORMANCE)),
52
+ __param(4, Inject(ANIMATION_FRAME)),
53
+ __param(5, Inject(TUI_ANIMATIONS_DURATION))
54
+ ], TuiPieChartDirective);
55
+ export { TuiPieChartDirective };
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9waWUtY2hhcnQvIiwic291cmNlcyI6WyJwaWUtY2hhcnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUMsZUFBZSxFQUFFLFdBQVcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQ0gsS0FBSyxFQUNMLGFBQWEsRUFDYixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsZUFBZSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTlFLFdBQVc7QUFLWCxJQUFhLG9CQUFvQixHQUFqQyxNQUFhLG9CQUFvQjtJQVM3QixZQUN3QixFQUFDLGFBQWEsRUFBNkIsRUFDL0MsTUFBYyxFQUNILFFBQTZCLEVBQ25DLFdBQXdCLEVBQ3BCLGVBQW1DLEVBQzNCLFFBQWdCO1FBZHBDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBNEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQWdCOUUsSUFBSSxDQUFDLE9BQU87YUFDUCxJQUFJLENBQ0QsUUFBUSxFQUFFLEVBQ1YsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTtZQUN0QixNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDOUIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWxDLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FDdkIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQ1osYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQzNELEVBQ0QsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsRUFDekMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxRQUFRO2dCQUMvQixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEdBQUcsUUFBUTthQUN4RCxDQUFDLENBQ0wsQ0FBQztRQUNOLENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxNQUFNLENBQUMsRUFDbkIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QjthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQXJDRCxJQUFJLFdBQVcsQ0FBQyxNQUFpQztRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDO0NBb0NKLENBQUE7O1lBakM0QyxVQUFVLHVCQUE5QyxNQUFNLFNBQUMsVUFBVTtZQUNNLE1BQU0sdUJBQTdCLE1BQU0sU0FBQyxNQUFNO1lBQ3VCLFVBQVUsdUJBQTlDLE1BQU0sU0FBQyxpQkFBaUI7WUFDUyxXQUFXLHVCQUE1QyxNQUFNLFNBQUMsV0FBVztZQUN1QixVQUFVLHVCQUFuRCxNQUFNLFNBQUMsZUFBZTt5Q0FDdEIsTUFBTSxTQUFDLHVCQUF1Qjs7QUFWbkM7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7dURBR2hCO0FBUFEsb0JBQW9CO0lBSmhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0IsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7S0FDakMsQ0FBQztJQVdPLFdBQUEsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ2xCLFdBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ2QsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNuQixXQUFBLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUN2QixXQUFBLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO0dBZjNCLG9CQUFvQixDQTJDaEM7U0EzQ1ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE5nWm9uZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgUEVSRk9STUFOQ0V9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtkZXNjcmliZVNlY3Rvcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy91dGlscyc7XG5pbXBvcnQge1xuICAgIGNsYW1wLFxuICAgIGVhc2VJbk91dFF1YWQsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAgdHVpWm9uZWZyZWUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUVUlfQU5JTUFUSU9OU19EVVJBVElPTn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHBhaXJ3aXNlLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCwgdGFrZVdoaWxlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8vIEBkeW5hbWljXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3BhdGhbdHVpUGllQ2hhcnRdJyxcbiAgICBwcm92aWRlcnM6IFtUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBpZUNoYXJ0RGlyZWN0aXZlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlY3RvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl0+KFswLCAwXSk7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IHR1aVBpZUNoYXJ0KHNlY3RvcjogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSkge1xuICAgICAgICB0aGlzLnNlY3RvciQubmV4dChzZWN0b3IpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHtuYXRpdmVFbGVtZW50fTogRWxlbWVudFJlZjxTVkdQYXRoRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoTmdab25lKSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChUdWlEZXN0cm95U2VydmljZSkgZGVzdHJveSQ6IE9ic2VydmFibGU8dW5rbm93bj4sXG4gICAgICAgIEBJbmplY3QoUEVSRk9STUFOQ0UpIHBlcmZvcm1hbmNlOiBQZXJmb3JtYW5jZSxcbiAgICAgICAgQEluamVjdChBTklNQVRJT05fRlJBTUUpIGFuaW1hdGlvbkZyYW1lJDogT2JzZXJ2YWJsZTxudW1iZXI+LFxuICAgICAgICBASW5qZWN0KFRVSV9BTklNQVRJT05TX0RVUkFUSU9OKSBkdXJhdGlvbjogbnVtYmVyLFxuICAgICkge1xuICAgICAgICB0aGlzLnNlY3RvciRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChbcHJldiwgY3VyXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBub3cgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnREZWx0YSA9IGN1clswXSAtIHByZXZbMF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZERlbHRhID0gY3VyWzFdIC0gcHJldlsxXTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYW5pbWF0aW9uRnJhbWUkLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAodGltZXN0YW1wID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFzZUluT3V0UXVhZChjbGFtcCgodGltZXN0YW1wIC0gbm93KSAvIGR1cmF0aW9uLCAwLCAxKSksXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVdoaWxlKHByb2dyZXNzID0+IHByb2dyZXNzIDwgMSwgdHJ1ZSksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAocHJvZ3Jlc3MgPT4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZbMF0gKyBzdGFydERlbHRhICogcHJvZ3Jlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyWzFdID4gMzU5ID8gY3VyWzFdIDogcHJldlsxXSArIGVuZERlbHRhICogcHJvZ3Jlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0dWlab25lZnJlZShuZ1pvbmUpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbc3RhcnQsIGVuZF0pID0+IHtcbiAgICAgICAgICAgICAgICBuYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSgnZCcsIGRlc2NyaWJlU2VjdG9yKHN0YXJ0LCBlbmQpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,18 +1,25 @@
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
  let TuiPieChartModule = class TuiPieChartModule {
9
10
  };
10
11
  TuiPieChartModule = __decorate([
11
12
  NgModule({
12
- imports: [CommonModule, TuiHoveredModule, PolymorpheusModule, TuiPointerHintModule],
13
- declarations: [TuiPieChartComponent],
13
+ imports: [
14
+ CommonModule,
15
+ TuiRepeatTimesModule,
16
+ TuiHoveredModule,
17
+ PolymorpheusModule,
18
+ TuiPointerHintModule,
19
+ ],
20
+ declarations: [TuiPieChartComponent, TuiPieChartDirective],
14
21
  exports: [TuiPieChartComponent],
15
22
  })
16
23
  ], TuiPieChartModule);
17
24
  export { TuiPieChartModule };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9waWUtY2hhcnQvIiwic291cmNlcyI6WyJwaWUtY2hhcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFPM0QsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBaUI7Q0FBRyxDQUFBO0FBQXBCLGlCQUFpQjtJQUw3QixRQUFRLENBQUM7UUFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUM7UUFDbkYsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7UUFDcEMsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7S0FDbEMsQ0FBQztHQUNXLGlCQUFpQixDQUFHO1NBQXBCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUhvdmVyZWRNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlQb2ludGVySGludE1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNNb2R1bGV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpUGllQ2hhcnRDb21wb25lbnR9IGZyb20gJy4vcGllLWNoYXJ0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHVpSG92ZXJlZE1vZHVsZSwgUG9seW1vcnBoZXVzTW9kdWxlLCBUdWlQb2ludGVySGludE1vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbVHVpUGllQ2hhcnRDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtUdWlQaWVDaGFydENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBpZUNoYXJ0TW9kdWxlIHt9XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGllLWNoYXJ0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9waWUtY2hhcnQvIiwic291cmNlcyI6WyJwaWUtY2hhcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFhM0QsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBaUI7Q0FBRyxDQUFBO0FBQXBCLGlCQUFpQjtJQVg3QixRQUFRLENBQUM7UUFDTixPQUFPLEVBQUU7WUFDTCxZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsb0JBQW9CO1NBQ3ZCO1FBQ0QsWUFBWSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUM7UUFDMUQsT0FBTyxFQUFFLENBQUMsb0JBQW9CLENBQUM7S0FDbEMsQ0FBQztHQUNXLGlCQUFpQixDQUFHO1NBQXBCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUhvdmVyZWRNb2R1bGUsIFR1aVJlcGVhdFRpbWVzTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpUG9pbnRlckhpbnRNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzTW9kdWxlfSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge1R1aVBpZUNoYXJ0Q29tcG9uZW50fSBmcm9tICcuL3BpZS1jaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlQaWVDaGFydERpcmVjdGl2ZX0gZnJvbSAnLi9waWUtY2hhcnQuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHVpUmVwZWF0VGltZXNNb2R1bGUsXG4gICAgICAgIFR1aUhvdmVyZWRNb2R1bGUsXG4gICAgICAgIFBvbHltb3JwaGV1c01vZHVsZSxcbiAgICAgICAgVHVpUG9pbnRlckhpbnRNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlQaWVDaGFydENvbXBvbmVudCwgVHVpUGllQ2hhcnREaXJlY3RpdmVdLFxuICAgIGV4cG9ydHM6IFtUdWlQaWVDaGFydENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVBpZUNoYXJ0TW9kdWxlIHt9XG4iXX0=
@@ -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
  let TuiRingChartComponent = class TuiRingChartComponent {
6
7
  constructor() {
7
8
  this.value = [];
@@ -15,15 +16,9 @@ let TuiRingChartComponent = class TuiRingChartComponent {
15
16
  get hasContent() {
16
17
  return this.size !== 's' && !!this.content;
17
18
  }
18
- get contentContext() {
19
- return this.getContentContext(this.activeItemIndex, this.value);
20
- }
21
19
  onActiveItemIndexChange(index) {
22
20
  this.updateActiveItemIndex(index);
23
21
  }
24
- getContentContext($implicit, value) {
25
- return { $implicit, value };
26
- }
27
22
  updateActiveItemIndex(index) {
28
23
  if (index === this.activeItemIndex) {
29
24
  return;
@@ -60,16 +55,13 @@ __decorate([
60
55
  __decorate([
61
56
  Output()
62
57
  ], TuiRingChartComponent.prototype, "activeItemIndexChange", void 0);
63
- __decorate([
64
- tuiPure
65
- ], TuiRingChartComponent.prototype, "getContentContext", null);
66
58
  TuiRingChartComponent = __decorate([
67
59
  Component({
68
60
  selector: 'tui-ring-chart',
69
- 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",
61
+ 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",
70
62
  changeDetection: ChangeDetectionStrategy.OnPush,
71
63
  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%}"]
72
64
  })
73
65
  ], TuiRingChartComponent);
74
66
  export { TuiRingChartComponent };
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmluZy1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvcmluZy1jaGFydC8iLCJzb3VyY2VzIjpbInJpbmctY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHM0UsT0FBTyxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFVdEQsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUFBbEM7UUFHSSxVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQUs5QixTQUFJLEdBQXlCLEdBQUcsQ0FBQztRQUlqQyxpQkFBWSxHQUFvQix5QkFBeUIsQ0FBQztRQUkxRCxZQUFPLEdBQTZDLEVBQUUsQ0FBQztRQUl2RCxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBSWQsb0JBQWUsR0FBRyxHQUFHLENBQUM7UUFHdEIsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQThCdkQsQ0FBQztJQTVCRyxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDZCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsdUJBQXVCLENBQUMsS0FBYTtRQUNqQyxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUdPLGlCQUFpQixDQUNyQixTQUFpQixFQUNqQixLQUF3QjtRQUV4QixPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDO0lBQzlCLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFhO1FBQ3ZDLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDaEMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7UUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0osQ0FBQTtBQXRERztJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtvREFDYTtBQUs5QjtJQUhDLEtBQUssRUFBRTtJQUNQLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQztJQUN0QyxjQUFjLEVBQUU7bURBQ2dCO0FBSWpDO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOzJEQUN5QztBQUkxRDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtzREFDc0M7QUFJdkQ7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7cURBQ0g7QUFJZDtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTs4REFDSztBQUd0QjtJQURDLE1BQU0sRUFBRTtvRUFDMEM7QUFlbkQ7SUFEQyxPQUFPOzhEQU1QO0FBL0NRLHFCQUFxQjtJQU5qQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLHdpQkFBeUM7UUFFekMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O0tBQ2xELENBQUM7R0FDVyxxQkFBcUIsQ0F5RGpDO1NBekRZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfREVGQVVMVF9DT0xPUl9IQU5ETEVSfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aVJpbmdDaGFydENvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aUNvbG9ySGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy90eXBlcyc7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wLCB0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7VHVpU2l6ZVMsIFR1aVNpemVYTH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1yaW5nLWNoYXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmluZy1jaGFydC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yaW5nLWNoYXJ0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpUmluZ0NoYXJ0Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWU6IHJlYWRvbmx5IG51bWJlcltdID0gW107XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5kYXRhLXR1aS1ob3N0LXNpemUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2l6ZTogVHVpU2l6ZVMgfCBUdWlTaXplWEwgPSAnbSc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29sb3JIYW5kbGVyOiBUdWlDb2xvckhhbmRsZXIgPSBUVUlfREVGQVVMVF9DT0xPUl9IQU5ETEVSO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpUmluZ0NoYXJ0Q29udGV4dD4gPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXNrZWQgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IE5hTjtcblxuICAgIEBPdXRwdXQoKVxuICAgIGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgZ2V0IGhhc0NvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpemUgIT09ICdzJyAmJiAhIXRoaXMuY29udGVudDtcbiAgICB9XG5cbiAgICBnZXQgY29udGVudENvbnRleHQoKTogVHVpUmluZ0NoYXJ0Q29udGV4dCB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENvbnRlbnRDb250ZXh0KHRoaXMuYWN0aXZlSXRlbUluZGV4LCB0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZUl0ZW1JbmRleENoYW5nZShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlSXRlbUluZGV4KGluZGV4KTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZ2V0Q29udGVudENvbnRleHQoXG4gICAgICAgICRpbXBsaWNpdDogbnVtYmVyLFxuICAgICAgICB2YWx1ZTogcmVhZG9ubHkgbnVtYmVyW10sXG4gICAgKTogVHVpUmluZ0NoYXJ0Q29udGV4dCB7XG4gICAgICAgIHJldHVybiB7JGltcGxpY2l0LCB2YWx1ZX07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBY3RpdmVJdGVtSW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoaW5kZXggPT09IHRoaXMuYWN0aXZlSXRlbUluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleENoYW5nZS5uZXh0KGluZGV4KTtcbiAgICB9XG59XG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmluZy1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvcmluZy1jaGFydC8iLCJzb3VyY2VzIjpbInJpbmctY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHM0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUk3QyxtQ0FBbUM7QUFPbkMsSUFBYSxxQkFBcUIsR0FBbEMsTUFBYSxxQkFBcUI7SUFBbEM7UUFHSSxVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQUs5QixTQUFJLEdBQXlCLEdBQUcsQ0FBQztRQUlqQyxpQkFBWSxHQUFvQix5QkFBeUIsQ0FBQztRQUkxRCxZQUFPLEdBQTZDLEVBQUUsQ0FBQztRQUl2RCxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBSWQsb0JBQWUsR0FBRyxHQUFHLENBQUM7UUFHdEIsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQWtCdkQsQ0FBQztJQWhCRyxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQy9DLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUFhO1FBQ2pDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8scUJBQXFCLENBQUMsS0FBYTtRQUN2QyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ2hDLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNKLENBQUE7QUExQ0c7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7b0RBQ2E7QUFLOUI7SUFIQyxLQUFLLEVBQUU7SUFDUCxXQUFXLENBQUMseUJBQXlCLENBQUM7SUFDdEMsY0FBYyxFQUFFO21EQUNnQjtBQUlqQztJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTsyREFDeUM7QUFJMUQ7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7c0RBQ3NDO0FBSXZEO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3FEQUNIO0FBSWQ7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7OERBQ0s7QUFHdEI7SUFEQyxNQUFNLEVBQUU7b0VBQzBDO0FBM0IxQyxxQkFBcUI7SUFOakMsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixva0JBQXlDO1FBRXpDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNsRCxDQUFDO0dBQ1cscUJBQXFCLENBNkNqQztTQTdDWSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VFVJX0RFRkFVTFRfQ09MT1JfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlSaW5nQ2hhcnRDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlDb2xvckhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvdHlwZXMnO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVNpemVTLCBUdWlTaXplWEx9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuLy8gVE9ETzogUmVmYWN0b3IgdG8gdXNlIG5nLWNvbnRlbnRcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXJpbmctY2hhcnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yaW5nLWNoYXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JpbmctY2hhcnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlSaW5nQ2hhcnRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB2YWx1ZTogcmVhZG9ubHkgbnVtYmVyW10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdHVpLWhvc3Qtc2l6ZScpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaXplOiBUdWlTaXplUyB8IFR1aVNpemVYTCA9ICdtJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb2xvckhhbmRsZXI6IFR1aUNvbG9ySGFuZGxlciA9IFRVSV9ERUZBVUxUX0NPTE9SX0hBTkRMRVI7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlSaW5nQ2hhcnRDb250ZXh0PiA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1hc2tlZCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gTmFOO1xuXG4gICAgQE91dHB1dCgpXG4gICAgYWN0aXZlSXRlbUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBnZXQgaGFzQ29udGVudCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZSAhPT0gJ3MnICYmICEhdGhpcy5jb250ZW50O1xuICAgIH1cblxuICAgIG9uQWN0aXZlSXRlbUluZGV4Q2hhbmdlKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtSW5kZXgoaW5kZXgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQWN0aXZlSXRlbUluZGV4KGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXhDaGFuZ2UubmV4dChpbmRleCk7XG4gICAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
1
  import { toInt, toRadians } from '@taiga-ui/cdk';
2
+ const 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
  const endX = Math.cos(endRad) * 100;
17
18
  const endY = Math.sin(endRad) * 100;
18
19
  const largeArcFlag = toInt(endAngle - startAngle > 180);
19
- return [
20
+ const 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpYmUtc2VjdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy91dGlscy8iLCJzb3VyY2VzIjpbImRlc2NyaWJlLXNlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvQzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsVUFBa0IsRUFBRSxRQUFnQjtJQUMvRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3BDLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBRXhELE9BQU87UUFDSCxHQUFHO1FBQ0gsTUFBTTtRQUNOLE1BQU07UUFDTixhQUFhO1FBQ2IsWUFBWTtRQUNaLENBQUM7UUFDRCxJQUFJO1FBQ0osSUFBSTtRQUNKLE9BQU87S0FDVixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0b0ludCwgdG9SYWRpYW5zfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuLyoqXG4gKiBEZXNjcmliZXMgYSBub3JtYWxpemVkIHNlY3RvciBieSBhbmdsZXMuIE5vcm1hbGl6ZWQgbWVhbmluZyBpdCBzdXBwb3NlZCB0byB3b3JrIHdpdGhcbiAqIFNWRyB3aXRoIHZpZXdCb3g9XCItMSAtMSAyIDJcIiBzbyB0aGF0IDAgY29vcmRpbmF0ZXMgaW4gY2FydGVzaWFuIGFuZCBwb2xhciBtYXRjaCB0aGUgc2FtZSBzcG90LlxuICogRXZlcnl0aGluZyBpcyBtdWx0aXBsaWVkIGJ5IDEwMCAoaW5jbHVkaW5nIHZpZXdCb3ggb2YgU1ZHIHRvIGhvc3QgdGhpcykgc28gSUUgcHJvcGVybHlcbiAqIGhhbmRsZXMgaG92ZXIgZXZlbnRzLlxuICpcbiAqIEBwYXJhbSBzdGFydEFuZ2xlIHN0YXJ0aW5nIGFuZ2xlIGluIGRlZ3JlZXNcbiAqIEBwYXJhbSBlbmRBbmdsZSBlbmRpbmcgYW5nbGUgaW4gZGVncmVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGVzY3JpYmVTZWN0b3Ioc3RhcnRBbmdsZTogbnVtYmVyLCBlbmRBbmdsZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGFydFJhZCA9IHRvUmFkaWFucyhzdGFydEFuZ2xlKTtcbiAgICBjb25zdCBlbmRSYWQgPSB0b1JhZGlhbnMoZW5kQW5nbGUpO1xuICAgIGNvbnN0IHN0YXJ0WCA9IE1hdGguY29zKHN0YXJ0UmFkKSAqIDEwMDtcbiAgICBjb25zdCBzdGFydFkgPSBNYXRoLnNpbihzdGFydFJhZCkgKiAxMDA7XG4gICAgY29uc3QgZW5kWCA9IE1hdGguY29zKGVuZFJhZCkgKiAxMDA7XG4gICAgY29uc3QgZW5kWSA9IE1hdGguc2luKGVuZFJhZCkgKiAxMDA7XG4gICAgY29uc3QgbGFyZ2VBcmNGbGFnID0gdG9JbnQoZW5kQW5nbGUgLSBzdGFydEFuZ2xlID4gMTgwKTtcblxuICAgIHJldHVybiBbXG4gICAgICAgICdNJyxcbiAgICAgICAgc3RhcnRYLFxuICAgICAgICBzdGFydFksXG4gICAgICAgICdBIDEwMCAxMDAgMCcsXG4gICAgICAgIGxhcmdlQXJjRmxhZyxcbiAgICAgICAgMSxcbiAgICAgICAgZW5kWCxcbiAgICAgICAgZW5kWSxcbiAgICAgICAgJ0wgMCAwJyxcbiAgICBdLmpvaW4oJyAnKTtcbn1cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpYmUtc2VjdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy91dGlscy8iLCJzb3VyY2VzIjpbImRlc2NyaWJlLXNlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLEtBQUssR0FBRyxxQ0FBcUMsQ0FBQztBQUVwRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsVUFBa0IsRUFBRSxRQUFnQjtJQUMvRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3BDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3BDLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxRQUFRLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sTUFBTSxHQUFHO1FBQ1gsR0FBRztRQUNILE1BQU07UUFDTixNQUFNO1FBQ04sYUFBYTtRQUNiLFlBQVk7UUFDWixDQUFDO1FBQ0QsSUFBSTtRQUNKLElBQUk7UUFDSixPQUFPO0tBQ1YsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dG9JbnQsIHRvUmFkaWFuc30gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmNvbnN0IEVNUFRZID0gJ00gMTAwIDAgQSAxMDAgMTAwIDAgMSAxIDEwMCAwIEwgMCAwJztcblxuLyoqXG4gKiBEZXNjcmliZXMgYSBub3JtYWxpemVkIHNlY3RvciBieSBhbmdsZXMuIE5vcm1hbGl6ZWQgbWVhbmluZyBpdCBzdXBwb3NlZCB0byB3b3JrIHdpdGhcbiAqIFNWRyB3aXRoIHZpZXdCb3g9XCItMSAtMSAyIDJcIiBzbyB0aGF0IDAgY29vcmRpbmF0ZXMgaW4gY2FydGVzaWFuIGFuZCBwb2xhciBtYXRjaCB0aGUgc2FtZSBzcG90LlxuICogRXZlcnl0aGluZyBpcyBtdWx0aXBsaWVkIGJ5IDEwMCAoaW5jbHVkaW5nIHZpZXdCb3ggb2YgU1ZHIHRvIGhvc3QgdGhpcykgc28gSUUgcHJvcGVybHlcbiAqIGhhbmRsZXMgaG92ZXIgZXZlbnRzLlxuICpcbiAqIEBwYXJhbSBzdGFydEFuZ2xlIHN0YXJ0aW5nIGFuZ2xlIGluIGRlZ3JlZXNcbiAqIEBwYXJhbSBlbmRBbmdsZSBlbmRpbmcgYW5nbGUgaW4gZGVncmVlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZGVzY3JpYmVTZWN0b3Ioc3RhcnRBbmdsZTogbnVtYmVyLCBlbmRBbmdsZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBzdGFydFJhZCA9IHRvUmFkaWFucyhzdGFydEFuZ2xlKTtcbiAgICBjb25zdCBlbmRSYWQgPSB0b1JhZGlhbnMoZW5kQW5nbGUpO1xuICAgIGNvbnN0IHN0YXJ0WCA9IE1hdGguY29zKHN0YXJ0UmFkKSAqIDEwMDtcbiAgICBjb25zdCBzdGFydFkgPSBNYXRoLnNpbihzdGFydFJhZCkgKiAxMDA7XG4gICAgY29uc3QgZW5kWCA9IE1hdGguY29zKGVuZFJhZCkgKiAxMDA7XG4gICAgY29uc3QgZW5kWSA9IE1hdGguc2luKGVuZFJhZCkgKiAxMDA7XG4gICAgY29uc3QgbGFyZ2VBcmNGbGFnID0gdG9JbnQoZW5kQW5nbGUgLSBzdGFydEFuZ2xlID4gMTgwKTtcbiAgICBjb25zdCByZXN1bHQgPSBbXG4gICAgICAgICdNJyxcbiAgICAgICAgc3RhcnRYLFxuICAgICAgICBzdGFydFksXG4gICAgICAgICdBIDEwMCAxMDAgMCcsXG4gICAgICAgIGxhcmdlQXJjRmxhZyxcbiAgICAgICAgMSxcbiAgICAgICAgZW5kWCxcbiAgICAgICAgZW5kWSxcbiAgICAgICAgJ0wgMCAwJyxcbiAgICBdO1xuXG4gICAgcmV0dXJuIGlzTmFOKGVuZFgpID8gRU1QVFkgOiByZXN1bHQuam9pbignICcpO1xufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
3
3
  import { tuiDefaultProp } from '@taiga-ui/cdk';
4
4
  import { colorFallback } from '@taiga-ui/core';
5
5
  // TODO: Remove fallback in 3.0
@@ -8,9 +8,14 @@ var TuiLegendItemComponent = /** @class */ (function () {
8
8
  this.active = false;
9
9
  this.color = '';
10
10
  this.text = '';
11
+ this.size = 'm';
12
+ this.disabled = false;
11
13
  }
12
14
  Object.defineProperty(TuiLegendItemComponent.prototype, "computedColor", {
13
15
  get: function () {
16
+ if (this.color === 'var(--tui-primary)') {
17
+ return null;
18
+ }
14
19
  return this.color.startsWith('var(') ? this.color : colorFallback(this.color);
15
20
  },
16
21
  enumerable: true,
@@ -28,15 +33,27 @@ var TuiLegendItemComponent = /** @class */ (function () {
28
33
  Input(),
29
34
  tuiDefaultProp()
30
35
  ], TuiLegendItemComponent.prototype, "text", void 0);
36
+ __decorate([
37
+ Input(),
38
+ HostBinding('attr.data-size'),
39
+ tuiDefaultProp()
40
+ ], TuiLegendItemComponent.prototype, "size", void 0);
41
+ __decorate([
42
+ Input(),
43
+ HostBinding('class._disabled')
44
+ ], TuiLegendItemComponent.prototype, "disabled", void 0);
45
+ __decorate([
46
+ HostBinding('style.--tui-primary')
47
+ ], TuiLegendItemComponent.prototype, "computedColor", null);
31
48
  TuiLegendItemComponent = __decorate([
32
49
  Component({
33
50
  selector: 'tui-legend-item',
34
- 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",
51
+ 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",
35
52
  changeDetection: ChangeDetectionStrategy.OnPush,
36
- 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}"]
53
+ 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}"]
37
54
  })
38
55
  ], TuiLegendItemComponent);
39
56
  return TuiLegendItemComponent;
40
57
  }());
41
58
  export { TuiLegendItemComponent };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xlZ2VuZC1pdGVtLyIsInNvdXJjZXMiOlsibGVnZW5kLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QywrQkFBK0I7QUFPL0I7SUFBQTtRQUdJLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFJZixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBSVgsU0FBSSxHQUFHLEVBQUUsQ0FBQztJQUtkLENBQUM7SUFIRyxzQkFBSSxpREFBYTthQUFqQjtZQUNJLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEYsQ0FBQzs7O09BQUE7SUFaRDtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTswREFDRjtJQUlmO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO3lEQUNOO0lBSVg7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7d0RBQ1A7SUFYRCxzQkFBc0I7UUFObEMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQiwyVUFBMEM7WUFFMUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O1NBQ2xELENBQUM7T0FDVyxzQkFBc0IsQ0FnQmxDO0lBQUQsNkJBQUM7Q0FBQSxBQWhCRCxJQWdCQztTQWhCWSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtjb2xvckZhbGxiYWNrfSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbi8vIFRPRE86IFJlbW92ZSBmYWxsYmFjayBpbiAzLjBcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWxlZ2VuZC1pdGVtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGVnZW5kLWl0ZW0udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGVnZW5kLWl0ZW0uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMZWdlbmRJdGVtQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYWN0aXZlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY29sb3IgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB0ZXh0ID0gJyc7XG5cbiAgICBnZXQgY29tcHV0ZWRDb2xvcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2xvci5zdGFydHNXaXRoKCd2YXIoJykgPyB0aGlzLmNvbG9yIDogY29sb3JGYWxsYmFjayh0aGlzLmNvbG9yKTtcbiAgICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xlZ2VuZC1pdGVtLyIsInNvdXJjZXMiOlsibGVnZW5kLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUMsYUFBYSxFQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkQsK0JBQStCO0FBTy9CO0lBQUE7UUFHSSxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBSWYsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUlYLFNBQUksR0FBRyxFQUFFLENBQUM7UUFLVixTQUFJLEdBQWEsR0FBRyxDQUFDO1FBSXJCLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFVckIsQ0FBQztJQVBHLHNCQUFJLGlEQUFhO2FBQWpCO1lBQ0ksSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLG9CQUFvQixFQUFFO2dCQUNyQyxPQUFPLElBQUksQ0FBQzthQUNmO1lBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRixDQUFDOzs7T0FBQTtJQTFCRDtRQUZDLEtBQUssRUFBRTtRQUNQLGNBQWMsRUFBRTswREFDRjtJQUlmO1FBRkMsS0FBSyxFQUFFO1FBQ1AsY0FBYyxFQUFFO3lEQUNOO0lBSVg7UUFGQyxLQUFLLEVBQUU7UUFDUCxjQUFjLEVBQUU7d0RBQ1A7SUFLVjtRQUhDLEtBQUssRUFBRTtRQUNQLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztRQUM3QixjQUFjLEVBQUU7d0RBQ0k7SUFJckI7UUFGQyxLQUFLLEVBQUU7UUFDUCxXQUFXLENBQUMsaUJBQWlCLENBQUM7NERBQ2Q7SUFHakI7UUFEQyxXQUFXLENBQUMscUJBQXFCLENBQUM7K0RBT2xDO0lBN0JRLHNCQUFzQjtRQU5sQyxTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLGthQUEwQztZQUUxQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7U0FDbEQsQ0FBQztPQUNXLHNCQUFzQixDQThCbEM7SUFBRCw2QkFBQztDQUFBLEFBOUJELElBOEJDO1NBOUJZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtjb2xvckZhbGxiYWNrLCBUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG4vLyBUT0RPOiBSZW1vdmUgZmFsbGJhY2sgaW4gMy4wXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1sZWdlbmQtaXRlbScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xlZ2VuZC1pdGVtLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xlZ2VuZC1pdGVtLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTGVnZW5kSXRlbUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNvbG9yID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdGV4dCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVTID0gJ20nO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9kaXNhYmxlZCcpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuLS10dWktcHJpbWFyeScpXG4gICAgZ2V0IGNvbXB1dGVkQ29sb3IoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmNvbG9yID09PSAndmFyKC0tdHVpLXByaW1hcnkpJykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jb2xvci5zdGFydHNXaXRoKCd2YXIoJykgPyB0aGlzLmNvbG9yIDogY29sb3JGYWxsYmFjayh0aGlzLmNvbG9yKTtcbiAgICB9XG59XG4iXX0=