@taiga-ui/addon-charts 2.27.1 → 2.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +4 -5
  2. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.js +352 -0
  3. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.js.map +1 -0
  4. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.min.js +16 -0
  5. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.min.js.map +1 -0
  6. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.js +19 -2
  7. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.js.map +1 -1
  8. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.min.js +1 -1
  9. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.js +5 -1
  11. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.js.map +1 -1
  12. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.min.js +1 -1
  13. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.js +96 -20
  15. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.js.map +1 -1
  16. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.min.js +2 -2
  17. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.js +2 -14
  19. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.js.map +1 -1
  20. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.min.js +1 -1
  21. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-addon-charts-components.umd.js +12 -4
  23. package/bundles/taiga-ui-addon-charts-components.umd.js.map +1 -1
  24. package/bundles/taiga-ui-addon-charts-components.umd.min.js +1 -1
  25. package/bundles/taiga-ui-addon-charts-utils.umd.js +4 -2
  26. package/bundles/taiga-ui-addon-charts-utils.umd.js.map +1 -1
  27. package/bundles/taiga-ui-addon-charts-utils.umd.min.js +1 -1
  28. package/bundles/taiga-ui-addon-charts-utils.umd.min.js.map +1 -1
  29. package/components/arc-chart/arc-chart.component.d.ts +20 -0
  30. package/components/arc-chart/arc-chart.module.d.ts +2 -0
  31. package/components/arc-chart/index.d.ts +2 -0
  32. package/components/arc-chart/package.json +13 -0
  33. package/components/arc-chart/taiga-ui-addon-charts-components-arc-chart.d.ts +4 -0
  34. package/components/arc-chart/taiga-ui-addon-charts-components-arc-chart.metadata.json +1 -0
  35. package/components/index.d.ts +1 -0
  36. package/components/legend-item/legend-item.component.d.ts +4 -1
  37. package/components/legend-item/taiga-ui-addon-charts-components-legend-item.metadata.json +1 -1
  38. package/components/line-days-chart/taiga-ui-addon-charts-components-line-days-chart.metadata.json +1 -1
  39. package/components/pie-chart/index.d.ts +1 -0
  40. package/components/pie-chart/pie-chart.component.d.ts +4 -2
  41. package/components/pie-chart/pie-chart.directive.d.ts +7 -0
  42. package/components/pie-chart/taiga-ui-addon-charts-components-pie-chart.metadata.json +1 -1
  43. package/components/ring-chart/ring-chart.component.d.ts +0 -2
  44. package/components/ring-chart/taiga-ui-addon-charts-components-ring-chart.metadata.json +1 -1
  45. package/components/taiga-ui-addon-charts-components.metadata.json +1 -1
  46. package/esm2015/components/arc-chart/arc-chart.component.js +102 -0
  47. package/esm2015/components/arc-chart/arc-chart.module.js +15 -0
  48. package/esm2015/components/arc-chart/index.js +3 -0
  49. package/esm2015/components/arc-chart/taiga-ui-addon-charts-components-arc-chart.js +5 -0
  50. package/esm2015/components/index.js +2 -1
  51. package/esm2015/components/legend-item/legend-item.component.js +21 -4
  52. package/esm2015/components/line-days-chart/line-days-chart.component.js +6 -2
  53. package/esm2015/components/pie-chart/index.js +2 -1
  54. package/esm2015/components/pie-chart/pie-chart.component.js +21 -11
  55. package/esm2015/components/pie-chart/pie-chart.directive.js +56 -0
  56. package/esm2015/components/pie-chart/pie-chart.module.js +11 -4
  57. package/esm2015/components/ring-chart/ring-chart.component.js +4 -12
  58. package/esm2015/utils/describe-sector.js +5 -3
  59. package/esm5/components/arc-chart/arc-chart.component.js +112 -0
  60. package/esm5/components/arc-chart/arc-chart.module.js +18 -0
  61. package/esm5/components/arc-chart/index.js +3 -0
  62. package/esm5/components/arc-chart/taiga-ui-addon-charts-components-arc-chart.js +5 -0
  63. package/esm5/components/index.js +2 -1
  64. package/esm5/components/legend-item/legend-item.component.js +21 -4
  65. package/esm5/components/line-days-chart/line-days-chart.component.js +6 -2
  66. package/esm5/components/pie-chart/index.js +2 -1
  67. package/esm5/components/pie-chart/pie-chart.component.js +27 -16
  68. package/esm5/components/pie-chart/pie-chart.directive.js +66 -0
  69. package/esm5/components/pie-chart/pie-chart.module.js +11 -4
  70. package/esm5/components/ring-chart/ring-chart.component.js +4 -16
  71. package/esm5/utils/describe-sector.js +5 -3
  72. package/fesm2015/taiga-ui-addon-charts-components-arc-chart.js +118 -0
  73. package/fesm2015/taiga-ui-addon-charts-components-arc-chart.js.map +1 -0
  74. package/fesm2015/taiga-ui-addon-charts-components-legend-item.js +20 -3
  75. package/fesm2015/taiga-ui-addon-charts-components-legend-item.js.map +1 -1
  76. package/fesm2015/taiga-ui-addon-charts-components-line-days-chart.js +5 -1
  77. package/fesm2015/taiga-ui-addon-charts-components-line-days-chart.js.map +1 -1
  78. package/fesm2015/taiga-ui-addon-charts-components-pie-chart.js +82 -15
  79. package/fesm2015/taiga-ui-addon-charts-components-pie-chart.js.map +1 -1
  80. package/fesm2015/taiga-ui-addon-charts-components-ring-chart.js +3 -11
  81. package/fesm2015/taiga-ui-addon-charts-components-ring-chart.js.map +1 -1
  82. package/fesm2015/taiga-ui-addon-charts-components.js +1 -0
  83. package/fesm2015/taiga-ui-addon-charts-components.js.map +1 -1
  84. package/fesm2015/taiga-ui-addon-charts-utils.js +4 -2
  85. package/fesm2015/taiga-ui-addon-charts-utils.js.map +1 -1
  86. package/fesm5/taiga-ui-addon-charts-components-arc-chart.js +131 -0
  87. package/fesm5/taiga-ui-addon-charts-components-arc-chart.js.map +1 -0
  88. package/fesm5/taiga-ui-addon-charts-components-legend-item.js +20 -3
  89. package/fesm5/taiga-ui-addon-charts-components-legend-item.js.map +1 -1
  90. package/fesm5/taiga-ui-addon-charts-components-line-days-chart.js +5 -1
  91. package/fesm5/taiga-ui-addon-charts-components-line-days-chart.js.map +1 -1
  92. package/fesm5/taiga-ui-addon-charts-components-pie-chart.js +99 -21
  93. package/fesm5/taiga-ui-addon-charts-components-pie-chart.js.map +1 -1
  94. package/fesm5/taiga-ui-addon-charts-components-ring-chart.js +3 -15
  95. package/fesm5/taiga-ui-addon-charts-components-ring-chart.js.map +1 -1
  96. package/fesm5/taiga-ui-addon-charts-components.js +1 -0
  97. package/fesm5/taiga-ui-addon-charts-components.js.map +1 -1
  98. package/fesm5/taiga-ui-addon-charts-utils.js +4 -2
  99. package/fesm5/taiga-ui-addon-charts-utils.js.map +1 -1
  100. package/package.json +5 -5
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiRingChartComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"tui-ring-chart","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":19,"character":21},"member":"OnPush"},"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","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%}"]}]}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":23,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":27,"character":5},"arguments":["attr.data-tui-host-size"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":28,"character":5}}]}],"colorHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":32,"character":5}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":36,"character":5}}]}],"masked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":40,"character":5}}]}],"activeItemIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":44,"character":5}}]}],"activeItemIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":5}}]}],"onActiveItemIndexChange":[{"__symbolic":"method"}],"getContentContext":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":62,"character":5}]}],"updateActiveItemIndex":[{"__symbolic":"method"}]}},"TuiRingChartModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":14},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":8,"character":28},{"__symbolic":"reference","module":"@taiga-ui/addon-charts/components/pie-chart","name":"TuiPieChartModule","line":8,"character":48}],"declarations":[{"__symbolic":"reference","name":"TuiRingChartComponent"}],"exports":[{"__symbolic":"reference","name":"TuiRingChartComponent"}]}]}],"members":{}}},"origins":{"TuiRingChartComponent":"./ring-chart.component","TuiRingChartModule":"./ring-chart.module"},"importAs":"@taiga-ui/addon-charts/components/ring-chart"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiRingChartComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"tui-ring-chart","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":20,"character":21},"member":"OnPush"},"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","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%}"]}]}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":24,"character":5}}]}],"size":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":28,"character":5},"arguments":["attr.data-tui-host-size"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":29,"character":5}}]}],"colorHandler":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":33,"character":5}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":37,"character":5}}]}],"masked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":41,"character":5}}]}],"activeItemIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":45,"character":5}}]}],"activeItemIndexChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":48,"character":5}}]}],"onActiveItemIndexChange":[{"__symbolic":"method"}],"updateActiveItemIndex":[{"__symbolic":"method"}]}},"TuiRingChartModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":14},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":8,"character":28},{"__symbolic":"reference","module":"@taiga-ui/addon-charts/components/pie-chart","name":"TuiPieChartModule","line":8,"character":48}],"declarations":[{"__symbolic":"reference","name":"TuiRingChartComponent"}],"exports":[{"__symbolic":"reference","name":"TuiRingChartComponent"}]}]}],"members":{}}},"origins":{"TuiRingChartComponent":"./ring-chart.component","TuiRingChartModule":"./ring-chart.module"},"importAs":"@taiga-ui/addon-charts/components/ring-chart"}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"exports":[{"from":"@taiga-ui/addon-charts/components/axes"},{"from":"@taiga-ui/addon-charts/components/bar"},{"from":"@taiga-ui/addon-charts/components/bar-chart"},{"from":"@taiga-ui/addon-charts/components/bar-set"},{"from":"@taiga-ui/addon-charts/components/legend-item"},{"from":"@taiga-ui/addon-charts/components/line-chart"},{"from":"@taiga-ui/addon-charts/components/line-days-chart"},{"from":"@taiga-ui/addon-charts/components/pie-chart"},{"from":"@taiga-ui/addon-charts/components/ring-chart"}],"metadata":{},"origins":{},"importAs":"@taiga-ui/addon-charts/components"}
1
+ {"__symbolic":"module","version":4,"exports":[{"from":"@taiga-ui/addon-charts/components/arc-chart"},{"from":"@taiga-ui/addon-charts/components/axes"},{"from":"@taiga-ui/addon-charts/components/bar"},{"from":"@taiga-ui/addon-charts/components/bar-chart"},{"from":"@taiga-ui/addon-charts/components/bar-set"},{"from":"@taiga-ui/addon-charts/components/legend-item"},{"from":"@taiga-ui/addon-charts/components/line-chart"},{"from":"@taiga-ui/addon-charts/components/line-days-chart"},{"from":"@taiga-ui/addon-charts/components/pie-chart"},{"from":"@taiga-ui/addon-charts/components/ring-chart"}],"metadata":{},"origins":{},"importAs":"@taiga-ui/addon-charts/components"}
@@ -0,0 +1,102 @@
1
+ import { __decorate, __param } from "tslib";
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Inject, Input, } from '@angular/core';
3
+ import { DomSanitizer, SafeValue } from '@angular/platform-browser';
4
+ import { tuiDefaultProp } from '@taiga-ui/cdk';
5
+ // 3/4 with 1% safety offset
6
+ const ARC = 0.76;
7
+ const SIZE = {
8
+ m: 9,
9
+ l: 11,
10
+ xl: 16,
11
+ };
12
+ const WIDTH = {
13
+ m: 0.25,
14
+ l: 0.375,
15
+ xl: 0.5625,
16
+ };
17
+ const GAP = {
18
+ m: 0.125,
19
+ l: 0.1875,
20
+ xl: 0.25,
21
+ };
22
+ let TuiArcChartComponent = class TuiArcChartComponent {
23
+ constructor(sanitizer, changeDetectorRef) {
24
+ this.sanitizer = sanitizer;
25
+ this.value = [];
26
+ this.size = 'm';
27
+ this.max = 100;
28
+ this.minLabel = '0%';
29
+ this.maxLabel = '100%';
30
+ this.initialized = false;
31
+ // So initial animation works
32
+ setTimeout(() => {
33
+ this.initialized = true;
34
+ changeDetectorRef.markForCheck();
35
+ });
36
+ }
37
+ get width() {
38
+ return SIZE[this.size];
39
+ }
40
+ get strokeWidth() {
41
+ return WIDTH[this.size];
42
+ }
43
+ getInset(index) {
44
+ return this.strokeWidth / 2 + index * (this.strokeWidth + GAP[this.size]);
45
+ }
46
+ getDiameter(index) {
47
+ return SIZE[this.size] - 2 * this.getInset(index);
48
+ }
49
+ getLength(index) {
50
+ return Math.PI * this.getDiameter(index) * ARC;
51
+ }
52
+ getOffset(index) {
53
+ return this.getLength(index) * (1 - Math.min(this.value[index] / this.max, 1));
54
+ }
55
+ getColor(index) {
56
+ return this.sanitizer.bypassSecurityTrustStyle(`var(--tui-chart-${index}, var(--tui-support-0${index + 1}))`);
57
+ }
58
+ };
59
+ TuiArcChartComponent.ctorParameters = () => [
60
+ { type: DomSanitizer, decorators: [{ type: Inject, args: [DomSanitizer,] }] },
61
+ { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] }
62
+ ];
63
+ __decorate([
64
+ Input(),
65
+ tuiDefaultProp()
66
+ ], TuiArcChartComponent.prototype, "value", void 0);
67
+ __decorate([
68
+ Input(),
69
+ HostBinding('attr.data-size'),
70
+ tuiDefaultProp()
71
+ ], TuiArcChartComponent.prototype, "size", void 0);
72
+ __decorate([
73
+ Input(),
74
+ tuiDefaultProp()
75
+ ], TuiArcChartComponent.prototype, "max", void 0);
76
+ __decorate([
77
+ Input(),
78
+ tuiDefaultProp()
79
+ ], TuiArcChartComponent.prototype, "minLabel", void 0);
80
+ __decorate([
81
+ Input(),
82
+ tuiDefaultProp()
83
+ ], TuiArcChartComponent.prototype, "maxLabel", void 0);
84
+ __decorate([
85
+ HostBinding('style.width.rem'),
86
+ HostBinding('style.height.rem')
87
+ ], TuiArcChartComponent.prototype, "width", null);
88
+ __decorate([
89
+ HostBinding('style.strokeWidth.rem')
90
+ ], TuiArcChartComponent.prototype, "strokeWidth", null);
91
+ TuiArcChartComponent = __decorate([
92
+ Component({
93
+ selector: 'tui-arc-chart',
94
+ template: "<svg\n *tuiRepeatTimes=\"let index of value.length\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"-100 -100 200 200\"\n focusable=\"false\"\n class=\"t-svg\"\n [style.top.em]=\"getInset(index)\"\n [style.left.em]=\"getInset(index)\"\n [style.width.em]=\"getDiameter(index)\"\n [style.height.em]=\"getDiameter(index)\"\n>\n <path\n vector-effect=\"non-scaling-stroke\"\n d=\"M -70 70 A 100 100 0 1 1 70 70\"\n />\n <path\n vector-effect=\"non-scaling-stroke\"\n d=\"M -70 70 A 100 100 0 1 1 70 70\"\n class=\"t-value\"\n [style.stroke]=\"getColor(index)\"\n [style.strokeDasharray.em]=\"getLength(index)\"\n [style.strokeDashoffset.em]=\"initialized ? getOffset(index) : getLength(index)\"\n />\n</svg>\n<div class=\"t-content\">\n <div class=\"t-wrapper\"><ng-content></ng-content></div>\n</div>\n<div class=\"t-percent\">\n <span>{{minLabel}}</span>\n <span>{{maxLabel}}</span>\n</div>\n",
95
+ changeDetection: ChangeDetectionStrategy.OnPush,
96
+ styles: [":host{position:relative;display:block;flex-shrink:0}.t-svg{position:absolute;top:0;left:0;bottom:0;right:0;overflow:visible;fill:none;stroke:currentColor;stroke-linecap:round;color:var(--tui-secondary);font-size:1rem}.t-value{transition-property:stroke-dashoffset;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-content{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center;color:var(--tui-text-02);font:var(--tui-font-text-xs)}:host[data-size=xl] .t-content{font:var(--tui-font-text-m)}.t-wrapper{flex:1}.t-wrapper:first-line{color:var(--tui-text-01)}:host[data-size='m'] .t-wrapper:first-line{font:var(--tui-font-text-s);font-weight:700}:host[data-size='l'] .t-wrapper:first-line{font:var(--tui-font-text-m);font-weight:700}:host[data-size=xl] .t-wrapper:first-line{font:var(--tui-font-heading-5)}.t-percent{position:absolute;left:25%;bottom:11%;display:flex;width:50%;justify-content:space-between;font:var(--tui-font-text-xs);color:var(--tui-text-02)}:host[data-size=xl] .t-percent{font:var(--tui-font-text-m)}"]
97
+ }),
98
+ __param(0, Inject(DomSanitizer)),
99
+ __param(1, Inject(ChangeDetectorRef))
100
+ ], TuiArcChartComponent);
101
+ export { TuiArcChartComponent };
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9hcmMtY2hhcnQvIiwic291cmNlcyI6WyJhcmMtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRzdDLDRCQUE0QjtBQUM1QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUM7QUFFakIsTUFBTSxJQUFJLEdBQThCO0lBQ3BDLENBQUMsRUFBRSxDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUU7SUFDTCxFQUFFLEVBQUUsRUFBRTtDQUNULENBQUM7QUFFRixNQUFNLEtBQUssR0FBOEI7SUFDckMsQ0FBQyxFQUFFLElBQUk7SUFDUCxDQUFDLEVBQUUsS0FBSztJQUNSLEVBQUUsRUFBRSxNQUFNO0NBQ2IsQ0FBQztBQUVGLE1BQU0sR0FBRyxHQUE4QjtJQUNuQyxDQUFDLEVBQUUsS0FBSztJQUNSLENBQUMsRUFBRSxNQUFNO0lBQ1QsRUFBRSxFQUFFLElBQUk7Q0FDWCxDQUFDO0FBUUYsSUFBYSxvQkFBb0IsR0FBakMsTUFBYSxvQkFBb0I7SUF3QjdCLFlBQzJDLFNBQXVCLEVBQ25DLGlCQUFvQztRQUR4QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBdEJsRSxVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQUs5QixTQUFJLEdBQWMsR0FBRyxDQUFDO1FBSXRCLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFJVixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBSWhCLGFBQVEsR0FBRyxNQUFNLENBQUM7UUFFbEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFNaEIsNkJBQTZCO1FBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFJRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUdELElBQUksV0FBVztRQUNYLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxTQUFTLENBQUMsS0FBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDbkQsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQzFDLG1CQUFtQixLQUFLLHdCQUF3QixLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQ2hFLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FBQTs7WUExQ3lELFlBQVksdUJBQTdELE1BQU0sU0FBQyxZQUFZO1lBQzBCLGlCQUFpQix1QkFBOUQsTUFBTSxTQUFDLGlCQUFpQjs7QUF2QjdCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO21EQUNhO0FBSzlCO0lBSEMsS0FBSyxFQUFFO0lBQ1AsV0FBVyxDQUFDLGdCQUFnQixDQUFDO0lBQzdCLGNBQWMsRUFBRTtrREFDSztBQUl0QjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtpREFDUDtBQUlWO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3NEQUNEO0FBSWhCO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3NEQUNDO0FBaUJsQjtJQUZDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztJQUM5QixXQUFXLENBQUMsa0JBQWtCLENBQUM7aURBRy9CO0FBR0Q7SUFEQyxXQUFXLENBQUMsdUJBQXVCLENBQUM7dURBR3BDO0FBNUNRLG9CQUFvQjtJQU5oQyxTQUFTLENBQUM7UUFDUCxRQUFRLEVBQUUsZUFBZTtRQUN6QixrL0JBQXdDO1FBRXhDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOztLQUNsRCxDQUFDO0lBMEJPLFdBQUEsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3BCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7R0ExQnJCLG9CQUFvQixDQW1FaEM7U0FuRVksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG9tU2FuaXRpemVyLCBTYWZlVmFsdWV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHt0dWlEZWZhdWx0UHJvcH0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVNpemVYTH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG4vLyAzLzQgd2l0aCAxJSBzYWZldHkgb2Zmc2V0XG5jb25zdCBBUkMgPSAwLjc2O1xuXG5jb25zdCBTSVpFOiBSZWNvcmQ8VHVpU2l6ZVhMLCBudW1iZXI+ID0ge1xuICAgIG06IDksXG4gICAgbDogMTEsXG4gICAgeGw6IDE2LFxufTtcblxuY29uc3QgV0lEVEg6IFJlY29yZDxUdWlTaXplWEwsIG51bWJlcj4gPSB7XG4gICAgbTogMC4yNSxcbiAgICBsOiAwLjM3NSxcbiAgICB4bDogMC41NjI1LFxufTtcblxuY29uc3QgR0FQOiBSZWNvcmQ8VHVpU2l6ZVhMLCBudW1iZXI+ID0ge1xuICAgIG06IDAuMTI1LFxuICAgIGw6IDAuMTg3NSxcbiAgICB4bDogMC4yNSxcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWFyYy1jaGFydCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FyYy1jaGFydC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hcmMtY2hhcnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlBcmNDaGFydENvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHZhbHVlOiByZWFkb25seSBudW1iZXJbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zaXplJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNpemU6IFR1aVNpemVYTCA9ICdtJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtYXggPSAxMDA7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWluTGFiZWwgPSAnMCUnO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heExhYmVsID0gJzEwMCUnO1xuXG4gICAgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KERvbVNhbml0aXplcikgcHJpdmF0ZSByZWFkb25seSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICkge1xuICAgICAgICAvLyBTbyBpbml0aWFsIGFuaW1hdGlvbiB3b3Jrc1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgucmVtJylcbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodC5yZW0nKVxuICAgIGdldCB3aWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gU0laRVt0aGlzLnNpemVdO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuc3Ryb2tlV2lkdGgucmVtJylcbiAgICBnZXQgc3Ryb2tlV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIFdJRFRIW3RoaXMuc2l6ZV07XG4gICAgfVxuXG4gICAgZ2V0SW5zZXQoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0cm9rZVdpZHRoIC8gMiArIGluZGV4ICogKHRoaXMuc3Ryb2tlV2lkdGggKyBHQVBbdGhpcy5zaXplXSk7XG4gICAgfVxuXG4gICAgZ2V0RGlhbWV0ZXIoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBTSVpFW3RoaXMuc2l6ZV0gLSAyICogdGhpcy5nZXRJbnNldChpbmRleCk7XG4gICAgfVxuXG4gICAgZ2V0TGVuZ3RoKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5QSSAqIHRoaXMuZ2V0RGlhbWV0ZXIoaW5kZXgpICogQVJDO1xuICAgIH1cblxuICAgIGdldE9mZnNldChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGVuZ3RoKGluZGV4KSAqICgxIC0gTWF0aC5taW4odGhpcy52YWx1ZVtpbmRleF0gLyB0aGlzLm1heCwgMSkpO1xuICAgIH1cblxuICAgIGdldENvbG9yKGluZGV4OiBudW1iZXIpOiBTYWZlVmFsdWUge1xuICAgICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKFxuICAgICAgICAgICAgYHZhcigtLXR1aS1jaGFydC0ke2luZGV4fSwgdmFyKC0tdHVpLXN1cHBvcnQtMCR7aW5kZXggKyAxfSkpYCxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { __decorate } from "tslib";
2
+ import { NgModule } from '@angular/core';
3
+ import { TuiRepeatTimesModule } from '@taiga-ui/cdk';
4
+ import { TuiArcChartComponent } from './arc-chart.component';
5
+ let TuiArcChartModule = class TuiArcChartModule {
6
+ };
7
+ TuiArcChartModule = __decorate([
8
+ NgModule({
9
+ imports: [TuiRepeatTimesModule],
10
+ declarations: [TuiArcChartComponent],
11
+ exports: [TuiArcChartComponent],
12
+ })
13
+ ], TuiArcChartModule);
14
+ export { TuiArcChartModule };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjLWNoYXJ0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9hcmMtY2hhcnQvIiwic291cmNlcyI6WyJhcmMtY2hhcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQU8zRCxJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtDQUFHLENBQUE7QUFBcEIsaUJBQWlCO0lBTDdCLFFBQVEsQ0FBQztRQUNOLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO1FBQy9CLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO1FBQ3BDLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO0tBQ2xDLENBQUM7R0FDVyxpQkFBaUIsQ0FBRztTQUFwQixpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpUmVwZWF0VGltZXNNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuXG5pbXBvcnQge1R1aUFyY0NoYXJ0Q29tcG9uZW50fSBmcm9tICcuL2FyYy1jaGFydC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtUdWlSZXBlYXRUaW1lc01vZHVsZV0sXG4gICAgZGVjbGFyYXRpb25zOiBbVHVpQXJjQ2hhcnRDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtUdWlBcmNDaGFydENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUFyY0NoYXJ0TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './arc-chart.component';
2
+ export * from './arc-chart.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvYXJjLWNoYXJ0LyIsInNvdXJjZXMiOlsiaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcmMtY2hhcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYXJjLWNoYXJ0Lm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktYWRkb24tY2hhcnRzLWNvbXBvbmVudHMtYXJjLWNoYXJ0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2FyYy1jaGFydC8iLCJzb3VyY2VzIjpbInRhaWdhLXVpLWFkZG9uLWNoYXJ0cy1jb21wb25lbnRzLWFyYy1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,3 +1,4 @@
1
+ export * from '@taiga-ui/addon-charts/components/arc-chart';
1
2
  export * from '@taiga-ui/addon-charts/components/axes';
2
3
  export * from '@taiga-ui/addon-charts/components/bar';
3
4
  export * from '@taiga-ui/addon-charts/components/bar-chart';
@@ -7,4 +8,4 @@ export * from '@taiga-ui/addon-charts/components/line-chart';
7
8
  export * from '@taiga-ui/addon-charts/components/line-days-chart';
8
9
  export * from '@taiga-ui/addon-charts/components/pie-chart';
9
10
  export * from '@taiga-ui/addon-charts/components/ring-chart';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9heGVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9iYXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2Jhci1jaGFydCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvYmFyLXNldCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGVnZW5kLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xpbmUtY2hhcnQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xpbmUtZGF5cy1jaGFydCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvcGllLWNoYXJ0JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9yaW5nLWNoYXJ0JztcbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDhDQUE4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2FyYy1jaGFydCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvYXhlcyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvYmFyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9iYXItY2hhcnQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2Jhci1zZXQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xlZ2VuZC1pdGVtJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWNoYXJ0JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWRheXMtY2hhcnQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL3BpZS1jaGFydCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvcmluZy1jaGFydCc7XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1kYXlzLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWRheXMtY2hhcnQvIiwic291cmNlcyI6WyJsaW5lLWRheXMtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFFUixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHFCQUFxQixFQUNyQix5QkFBeUIsR0FDNUIsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RCxPQUFPLEVBQ0gsV0FBVyxFQUNYLFdBQVcsRUFDWCxTQUFTLEVBRVQsTUFBTSxFQUNOLGNBQWMsRUFDZCxRQUFRLEVBQ1IsT0FBTyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRS9FLE1BQU0sS0FBSyxHQUFhLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBY25DLElBQWEseUJBQXlCLGlDQUF0QyxNQUFhLHlCQUF5QjtJQTJEbEMsWUFHcUIsYUFBbUQ7UUFBbkQsa0JBQWEsR0FBYixhQUFhLENBQXNDO1FBNUR2RCxXQUFNLEdBQXFDLFdBQVcsQ0FBQztRQTBCeEUsTUFBQyxHQUFHLENBQUMsQ0FBQztRQUlOLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFJWCxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUlwQixnQkFBVyxHQUFrRSxFQUFFLENBQUM7UUFJaEYsZUFBVSxHQUFvQyxJQUFJLENBQUM7UUFJbkQsZUFBVSxHQUFvQyxJQUFJLENBQUM7UUFJbkQsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUdiLFdBQU0sR0FBRyxDQUFDLENBQUM7UUFFWCxVQUFLLEdBQW9DLEVB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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgVHVpTGluZUNoYXJ0Q29tcG9uZW50LFxuICAgIFR1aUxpbmVDaGFydEhpbnREaXJlY3RpdmUsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWNoYXJ0JztcbmltcG9ydCB7XG4gICAgRU1QVFlfQVJSQVksXG4gICAgRU1QVFlfUVVFUlksXG4gICAgaXNQcmVzZW50LFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgVHVpRGF5LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aU1vbnRoLFxuICAgIHR1aVB1cmUsXG4gICAgVHVpU3RyaW5nSGFuZGxlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aVBvaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpTGluZURheXNDaGFydEhpbnREaXJlY3RpdmV9IGZyb20gJy4vbGluZS1kYXlzLWNoYXJ0LWhpbnQuZGlyZWN0aXZlJztcblxuY29uc3QgRFVNTVk6IFR1aVBvaW50ID0gW05hTiwgTmFOXTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktbGluZS1kYXlzLWNoYXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGluZS1kYXlzLWNoYXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpbmUtZGF5cy1jaGFydC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFR1aUxpbmVDaGFydEhpbnREaXJlY3RpdmUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlMaW5lRGF5c0NoYXJ0Q29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMaW5lRGF5c0NoYXJ0Q29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkcmVuKFR1aUxpbmVDaGFydENvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYXJ0czogUXVlcnlMaXN0PFR1aUxpbmVDaGFydENvbXBvbmVudD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIEBJbnB1dCgndmFsdWUnKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2V0IHZhbHVlU2V0dGVyKHZhbHVlOiBSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+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==