@taiga-ui/addon-charts 2.55.0 → 2.56.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 (123) hide show
  1. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.js +10 -10
  2. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.js.map +1 -1
  3. package/bundles/taiga-ui-addon-charts-components-arc-chart.umd.min.js.map +1 -1
  4. package/bundles/taiga-ui-addon-charts-components-axes.umd.js +8 -8
  5. package/bundles/taiga-ui-addon-charts-components-axes.umd.js.map +1 -1
  6. package/bundles/taiga-ui-addon-charts-components-axes.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-addon-charts-components-bar-chart.umd.js +5 -5
  8. package/bundles/taiga-ui-addon-charts-components-bar-chart.umd.js.map +1 -1
  9. package/bundles/taiga-ui-addon-charts-components-bar-chart.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-addon-charts-components-bar-set.umd.js +3 -3
  11. package/bundles/taiga-ui-addon-charts-components-bar-set.umd.js.map +1 -1
  12. package/bundles/taiga-ui-addon-charts-components-bar-set.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-addon-charts-components-bar.umd.js +3 -3
  14. package/bundles/taiga-ui-addon-charts-components-bar.umd.js.map +1 -1
  15. package/bundles/taiga-ui-addon-charts-components-bar.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.js +9 -9
  17. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.js.map +1 -1
  18. package/bundles/taiga-ui-addon-charts-components-legend-item.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-addon-charts-components-line-chart.umd.js +11 -11
  20. package/bundles/taiga-ui-addon-charts-components-line-chart.umd.js.map +1 -1
  21. package/bundles/taiga-ui-addon-charts-components-line-chart.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.js +8 -8
  23. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.js.map +1 -1
  24. package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.js +13 -13
  26. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.js.map +1 -1
  27. package/bundles/taiga-ui-addon-charts-components-pie-chart.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.js +4 -4
  29. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.js.map +1 -1
  30. package/bundles/taiga-ui-addon-charts-components-ring-chart.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-addon-charts-constants.umd.js +5 -5
  32. package/bundles/taiga-ui-addon-charts-constants.umd.js.map +1 -1
  33. package/bundles/taiga-ui-addon-charts-constants.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-addon-charts-enums.umd.js.map +1 -1
  35. package/bundles/taiga-ui-addon-charts-enums.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-addon-charts-utils.umd.js +5 -5
  37. package/bundles/taiga-ui-addon-charts-utils.umd.js.map +1 -1
  38. package/bundles/taiga-ui-addon-charts-utils.umd.min.js.map +1 -1
  39. package/esm2015/components/arc-chart/arc-chart.component.js +11 -11
  40. package/esm2015/components/axes/axes.component.js +9 -9
  41. package/esm2015/components/bar/bar.component.js +4 -4
  42. package/esm2015/components/bar-chart/bar-chart.component.js +6 -6
  43. package/esm2015/components/bar-set/bar-set.component.js +4 -4
  44. package/esm2015/components/legend-item/legend-item.component.js +10 -10
  45. package/esm2015/components/line-chart/line-chart-hint.directive.js +5 -5
  46. package/esm2015/components/line-chart/line-chart.component.js +8 -8
  47. package/esm2015/components/line-days-chart/line-days-chart-hint.directive.js +4 -4
  48. package/esm2015/components/line-days-chart/line-days-chart.component.js +6 -6
  49. package/esm2015/components/pie-chart/pie-chart.component.js +12 -12
  50. package/esm2015/components/pie-chart/pie-chart.directive.js +3 -3
  51. package/esm2015/components/ring-chart/ring-chart.component.js +5 -5
  52. package/esm2015/constants/default-colors.js +2 -2
  53. package/esm2015/constants/line-handlers.js +5 -5
  54. package/esm2015/enums/line-type.js +1 -1
  55. package/esm2015/utils/describe-sector.js +6 -6
  56. package/esm5/components/arc-chart/arc-chart.component.js +11 -11
  57. package/esm5/components/axes/axes.component.js +9 -9
  58. package/esm5/components/bar/bar.component.js +4 -4
  59. package/esm5/components/bar-chart/bar-chart.component.js +6 -6
  60. package/esm5/components/bar-set/bar-set.component.js +4 -4
  61. package/esm5/components/legend-item/legend-item.component.js +10 -10
  62. package/esm5/components/line-chart/line-chart-hint.directive.js +5 -5
  63. package/esm5/components/line-chart/line-chart.component.js +8 -8
  64. package/esm5/components/line-days-chart/line-days-chart-hint.directive.js +4 -4
  65. package/esm5/components/line-days-chart/line-days-chart.component.js +6 -6
  66. package/esm5/components/pie-chart/pie-chart.component.js +12 -12
  67. package/esm5/components/pie-chart/pie-chart.directive.js +3 -3
  68. package/esm5/components/ring-chart/ring-chart.component.js +5 -5
  69. package/esm5/constants/default-colors.js +2 -2
  70. package/esm5/constants/line-handlers.js +5 -5
  71. package/esm5/enums/line-type.js +1 -1
  72. package/esm5/utils/describe-sector.js +6 -6
  73. package/fesm2015/taiga-ui-addon-charts-components-arc-chart.js +10 -10
  74. package/fesm2015/taiga-ui-addon-charts-components-arc-chart.js.map +1 -1
  75. package/fesm2015/taiga-ui-addon-charts-components-axes.js +8 -8
  76. package/fesm2015/taiga-ui-addon-charts-components-axes.js.map +1 -1
  77. package/fesm2015/taiga-ui-addon-charts-components-bar-chart.js +5 -5
  78. package/fesm2015/taiga-ui-addon-charts-components-bar-chart.js.map +1 -1
  79. package/fesm2015/taiga-ui-addon-charts-components-bar-set.js +3 -3
  80. package/fesm2015/taiga-ui-addon-charts-components-bar-set.js.map +1 -1
  81. package/fesm2015/taiga-ui-addon-charts-components-bar.js +3 -3
  82. package/fesm2015/taiga-ui-addon-charts-components-bar.js.map +1 -1
  83. package/fesm2015/taiga-ui-addon-charts-components-legend-item.js +9 -9
  84. package/fesm2015/taiga-ui-addon-charts-components-legend-item.js.map +1 -1
  85. package/fesm2015/taiga-ui-addon-charts-components-line-chart.js +11 -11
  86. package/fesm2015/taiga-ui-addon-charts-components-line-chart.js.map +1 -1
  87. package/fesm2015/taiga-ui-addon-charts-components-line-days-chart.js +8 -8
  88. package/fesm2015/taiga-ui-addon-charts-components-line-days-chart.js.map +1 -1
  89. package/fesm2015/taiga-ui-addon-charts-components-pie-chart.js +13 -13
  90. package/fesm2015/taiga-ui-addon-charts-components-pie-chart.js.map +1 -1
  91. package/fesm2015/taiga-ui-addon-charts-components-ring-chart.js +4 -4
  92. package/fesm2015/taiga-ui-addon-charts-components-ring-chart.js.map +1 -1
  93. package/fesm2015/taiga-ui-addon-charts-constants.js +5 -5
  94. package/fesm2015/taiga-ui-addon-charts-constants.js.map +1 -1
  95. package/fesm2015/taiga-ui-addon-charts-enums.js.map +1 -1
  96. package/fesm2015/taiga-ui-addon-charts-utils.js +5 -5
  97. package/fesm2015/taiga-ui-addon-charts-utils.js.map +1 -1
  98. package/fesm5/taiga-ui-addon-charts-components-arc-chart.js +10 -10
  99. package/fesm5/taiga-ui-addon-charts-components-arc-chart.js.map +1 -1
  100. package/fesm5/taiga-ui-addon-charts-components-axes.js +8 -8
  101. package/fesm5/taiga-ui-addon-charts-components-axes.js.map +1 -1
  102. package/fesm5/taiga-ui-addon-charts-components-bar-chart.js +5 -5
  103. package/fesm5/taiga-ui-addon-charts-components-bar-chart.js.map +1 -1
  104. package/fesm5/taiga-ui-addon-charts-components-bar-set.js +3 -3
  105. package/fesm5/taiga-ui-addon-charts-components-bar-set.js.map +1 -1
  106. package/fesm5/taiga-ui-addon-charts-components-bar.js +3 -3
  107. package/fesm5/taiga-ui-addon-charts-components-bar.js.map +1 -1
  108. package/fesm5/taiga-ui-addon-charts-components-legend-item.js +9 -9
  109. package/fesm5/taiga-ui-addon-charts-components-legend-item.js.map +1 -1
  110. package/fesm5/taiga-ui-addon-charts-components-line-chart.js +11 -11
  111. package/fesm5/taiga-ui-addon-charts-components-line-chart.js.map +1 -1
  112. package/fesm5/taiga-ui-addon-charts-components-line-days-chart.js +8 -8
  113. package/fesm5/taiga-ui-addon-charts-components-line-days-chart.js.map +1 -1
  114. package/fesm5/taiga-ui-addon-charts-components-pie-chart.js +13 -13
  115. package/fesm5/taiga-ui-addon-charts-components-pie-chart.js.map +1 -1
  116. package/fesm5/taiga-ui-addon-charts-components-ring-chart.js +4 -4
  117. package/fesm5/taiga-ui-addon-charts-components-ring-chart.js.map +1 -1
  118. package/fesm5/taiga-ui-addon-charts-constants.js +5 -5
  119. package/fesm5/taiga-ui-addon-charts-constants.js.map +1 -1
  120. package/fesm5/taiga-ui-addon-charts-enums.js.map +1 -1
  121. package/fesm5/taiga-ui-addon-charts-utils.js +5 -5
  122. package/fesm5/taiga-ui-addon-charts-utils.js.map +1 -1
  123. package/package.json +3 -3
@@ -14,7 +14,7 @@ let TuiLineChartHintDirective = class TuiLineChartHintDirective {
14
14
  this.renderer = renderer;
15
15
  this.charts = EMPTY_QUERY;
16
16
  this.chartsRef = EMPTY_QUERY;
17
- this.hint = '';
17
+ this.hint = ``;
18
18
  animationFrame$
19
19
  .pipe(throttleTime(200), map(() => !!nativeElement.querySelector(`.${HINT_HOVERED_CLASS}`)), startWith(false), distinctUntilChanged(), filter(v => !v), tuiZonefree(ngZone), takeUntil(destroy$))
20
20
  .subscribe(() => {
@@ -30,7 +30,7 @@ let TuiLineChartHintDirective = class TuiLineChartHintDirective {
30
30
  const current = this.charts.map(chart => chart.value[index]);
31
31
  const sorted = [...current].sort((a, b) => a[1] - b[1]);
32
32
  this.charts.forEach(chart => chart.onHovered(index));
33
- this.chartsRef.forEach(({ nativeElement }, index) => this.renderer.setStyle(nativeElement, 'z-index', sorted.indexOf(current[index])));
33
+ this.chartsRef.forEach(({ nativeElement }, index) => this.renderer.setStyle(nativeElement, `z-index`, sorted.indexOf(current[index])));
34
34
  }
35
35
  computeContext(index, charts) {
36
36
  return {
@@ -53,7 +53,7 @@ __decorate([
53
53
  ContentChildren(forwardRef(() => TuiLineChartComponent), { read: ElementRef })
54
54
  ], TuiLineChartHintDirective.prototype, "chartsRef", void 0);
55
55
  __decorate([
56
- Input('tuiLineChartHint'),
56
+ Input(`tuiLineChartHint`),
57
57
  tuiDefaultProp()
58
58
  ], TuiLineChartHintDirective.prototype, "hint", void 0);
59
59
  __decorate([
@@ -61,7 +61,7 @@ __decorate([
61
61
  ], TuiLineChartHintDirective.prototype, "computeContext", null);
62
62
  TuiLineChartHintDirective = __decorate([
63
63
  Directive({
64
- selector: '[tuiLineChartHint]',
64
+ selector: `[tuiLineChartHint]`,
65
65
  providers: [TuiDestroyService],
66
66
  }),
67
67
  __param(0, Inject(Renderer2)),
@@ -75,7 +75,7 @@ TuiLineChartHintDirective = __decorate([
75
75
  function smoothingAssertion(smoothingFactor) {
76
76
  return inRange(smoothingFactor, 0, 100);
77
77
  }
78
- const SMOOTHING_MESSAGE = 'smoothingFactor must be between 0 and 100';
78
+ const SMOOTHING_MESSAGE = `smoothingFactor must be between 0 and 100`;
79
79
  let TuiLineChartComponent = class TuiLineChartComponent {
80
80
  constructor(idService, ngZone, locationRef, hintDirective) {
81
81
  this.ngZone = ngZone;
@@ -87,7 +87,7 @@ let TuiLineChartComponent = class TuiLineChartComponent {
87
87
  this.width = 0;
88
88
  this.height = 0;
89
89
  this.smoothingFactor = 0;
90
- this.hintContent = '';
90
+ this.hintContent = ``;
91
91
  this.xStringify = null;
92
92
  this.yStringify = null;
93
93
  this.filled = false;
@@ -107,7 +107,7 @@ let TuiLineChartComponent = class TuiLineChartComponent {
107
107
  get fill() {
108
108
  return this.filled
109
109
  ? `url(${this.locationRef.prepareExternalUrl(this.locationRef.path())}#${this.fillId})`
110
- : 'none';
110
+ : `none`;
111
111
  }
112
112
  get viewBox() {
113
113
  return `${this.x} ${this.y} ${this.width} ${this.height}`;
@@ -184,7 +184,7 @@ let TuiLineChartComponent = class TuiLineChartComponent {
184
184
  return this.value.length === 1;
185
185
  }
186
186
  getD(value, smoothingFactor) {
187
- return value.reduce((d, point, index) => index ? `${d} ${draw(value, index, smoothingFactor)}` : `M ${point}`, '');
187
+ return value.reduce((d, point, index) => index ? `${d} ${draw(value, index, smoothingFactor)}` : `M ${point}`, ``);
188
188
  }
189
189
  computeWidth(index) {
190
190
  return index === this.value.length - 1
@@ -199,7 +199,7 @@ TuiLineChartComponent.ctorParameters = () => [
199
199
  { type: TuiLineChartHintDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiLineChartHintDirective,] }] }
200
200
  ];
201
201
  __decorate([
202
- Input('value'),
202
+ Input(`value`),
203
203
  tuiDefaultProp()
204
204
  ], TuiLineChartComponent.prototype, "valueSetter", null);
205
205
  __decorate([
@@ -246,14 +246,14 @@ __decorate([
246
246
  tuiPure
247
247
  ], TuiLineChartComponent.prototype, "hovered$", null);
248
248
  __decorate([
249
- HostListener('mouseleave')
249
+ HostListener(`mouseleave`)
250
250
  ], TuiLineChartComponent.prototype, "onMouseLeave", null);
251
251
  __decorate([
252
252
  tuiPure
253
253
  ], TuiLineChartComponent.prototype, "getD", null);
254
254
  TuiLineChartComponent = __decorate([
255
255
  Component({
256
- selector: 'tui-line-chart',
256
+ selector: `tui-line-chart`,
257
257
  template: "<ng-container *tuiLet=\"hovered$ | async as hovered\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"none\"\n width=\"100%\"\n height=\"100%\"\n class=\"t-svg\"\n [attr.viewBox]=\"viewBox\"\n >\n <defs>\n <linearGradient\n x1=\"0\"\n x2=\"0\"\n y1=\"1\"\n y2=\"0\"\n [attr.id]=\"fillId\"\n >\n <stop\n stop-color=\"currentColor\"\n offset=\"0%\"\n stop-opacity=\"0.5\"\n />\n <stop\n stop-color=\"currentColor\"\n offset=\"100%\"\n stop-opacity=\"0\"\n />\n </linearGradient>\n </defs>\n <path\n stroke=\"none\"\n [attr.fill]=\"fill\"\n [attr.d]=\"fillD\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n vector-effect=\"non-scaling-stroke\"\n stroke-width=\"2\"\n [attr.d]=\"d\"\n />\n </svg>\n <ng-container *ngIf=\"dots\">\n <div\n *ngFor=\"let point of value\"\n class=\"t-dot\"\n [style.left.%]=\"getLeft(point[0])\"\n [style.bottom.%]=\"getBottom(point[1])\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"hasHints\">\n <ng-container *ngFor=\"let point of value; let index = index\">\n <div\n *ngIf=\"value.length > 1 || dots\"\n tuiHintDirection=\"top-left\"\n class=\"t-column\"\n [class.t-column_hovered]=\"hovered === index\"\n [tuiHintHost]=\"hintHost\"\n [tuiHint]=\"hintDirective || hintContent ? hint : ''\"\n [tuiHintId]=\"getHintId(index)\"\n [style.left.%]=\"getLeft(getX(index))\"\n [style.width.%]=\"getWidth(index)\"\n (mouseenter)=\"onMouseEnter(index)\"\n >\n <div\n class=\"t-line t-line_vertical\"\n [style.left.%]=\"getOffset(index)\"\n ></div>\n <div\n #hintHost\n class=\"t-host\"\n [style.left.%]=\"getOffset(index)\"\n [style.bottom.%]=\"getBottom(point[1])\"\n [tuiFocusable]=\"isFocusable\"\n [tuiDescribedBy]=\"getHintId(index)\"\n ></div>\n </div>\n <div\n *ngIf=\"isFocusable\"\n class=\"t-line t-line_horizontal\"\n [style.bottom.%]=\"getBottom(point[1])\"\n ></div>\n <ng-template #hint>\n <div\n *ngIf=\"hintDirective; else single\"\n polymorpheus-outlet\n class=\"t-text\"\n [content]=\"hintDirective.hint\"\n [context]=\"getContentContext(point, index)\"\n ></div>\n <ng-template #single>\n <div\n polymorpheus-outlet\n class=\"t-text\"\n [content]=\"hintContent\"\n [context]=\"{$implicit: point, index: index}\"\n ></div>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"getHovered(hovered) as point\">\n <div\n *ngIf=\"xStringify\"\n class=\"t-hint t-hint_x\"\n [style.left.%]=\"getLeft(point[0])\"\n >\n {{ xStringify(point[0]) }}\n </div>\n <div\n *ngIf=\"yStringify\"\n class=\"t-hint t-hint_y\"\n [style.bottom.%]=\"getBottom(point[1])\"\n >\n {{ yStringify(point[1]) }}\n </div>\n </ng-container>\n</ng-container>\n",
258
258
  changeDetection: ChangeDetectionStrategy.OnPush,
259
259
  styles: [":host{display:flex;width:100%;height:100%;pointer-events:none}.t-svg{transform:scale(1,-1)}.t-column{position:absolute;top:0;height:100%;pointer-events:auto}.t-dot{position:absolute;width:.375rem;height:.375rem;border-radius:100%;background:currentColor;margin:-.1875rem;box-shadow:0 0 0 2px #fff}.t-host{position:absolute;left:50%;width:.5rem;height:.5rem;border-radius:100%;opacity:0;background:#fff;margin:-.25rem;box-shadow:0 0 0 2px currentColor,0 .0625rem .1875rem .125rem rgba(0,0,0,.1);outline:0;pointer-events:none}.t-column._hint_hovered .t-host,.t-column:hover .t-host,.t-column_hovered .t-host,.t-host:focus{opacity:1}.t-line{position:absolute;opacity:0;background:var(--tui-base-03)}.t-line_vertical{top:0;bottom:0;left:50%;width:1px}.t-line_horizontal{z-index:-1;width:100%;height:1px}:host:not([style]) .t-column._hint_hovered .t-line,:host:not([style]) .t-column._hint_hovered+.t-line,:host:not([style]) .t-column:hover .t-line,:host:not([style]) .t-column:hover+.t-line,:host[style^='z-index: 0'] .t-column_hovered .t-line,:host[style^='z-index: 0'] .t-column_hovered+.t-line{opacity:1}.t-text{white-space:pre-wrap}.t-hint{box-shadow:0 .25rem 1.5rem rgba(0,0,0,.12);position:absolute;font:var(--tui-font-text-xs);height:1.25rem;line-height:1.25rem;margin-bottom:-.625rem;padding:0 .375rem;white-space:nowrap;color:var(--tui-base-09);background:var(--tui-base-01);transform:translate3d(-50%,0,0)}.t-hint_x{bottom:0}.t-hint_y{left:0}"]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-charts-components-line-chart.js","sources":["ng://@taiga-ui/addon-charts/components/line-chart/line-chart-hint.directive.ts","ng://@taiga-ui/addon-charts/components/line-chart/line-chart.component.ts","ng://@taiga-ui/addon-charts/components/line-chart/line-chart.module.ts","ng://@taiga-ui/addon-charts/components/line-chart/taiga-ui-addon-charts-components-line-chart.ts"],"sourcesContent":["import {\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {TuiLineChartHintContext} from '@taiga-ui/addon-charts/interfaces';\nimport {\n EMPTY_QUERY,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDestroyService,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {HINT_HOVERED_CLASS, TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n startWith,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiLineChartComponent} from './line-chart.component';\n\n@Directive({\n selector: '[tuiLineChartHint]',\n providers: [TuiDestroyService],\n})\nexport class TuiLineChartHintDirective {\n @ContentChildren(forwardRef(() => TuiLineChartComponent))\n private readonly charts: QueryList<TuiLineChartComponent> = EMPTY_QUERY;\n\n @ContentChildren(forwardRef(() => TuiLineChartComponent), {read: ElementRef})\n private readonly chartsRef: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @Input('tuiLineChartHint')\n @tuiDefaultProp()\n hint: PolymorpheusContent<TuiContextWithImplicit<readonly TuiPoint[]>> = '';\n\n constructor(\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n animationFrame$\n .pipe(\n throttleTime(200),\n map(() => !!nativeElement.querySelector(`.${HINT_HOVERED_CLASS}`)),\n startWith(false),\n distinctUntilChanged(),\n filter(v => !v),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n this.charts.forEach(chart => chart.onHovered(NaN));\n });\n }\n\n // _chart is required by TuiLineDaysChartComponent that impersonates this directive\n getContext(\n index: number,\n _chart: TuiLineChartComponent,\n ): TuiLineChartHintContext<readonly TuiPoint[]> {\n return this.computeContext(index, this.charts);\n }\n\n // _chart is required by TuiLineDaysChartComponent that impersonates this directive\n raise(index: number, _chart: TuiLineChartComponent): void {\n const current = this.charts.map(chart => chart.value[index]);\n const sorted = [...current].sort((a, b) => a[1] - b[1]);\n\n this.charts.forEach(chart => chart.onHovered(index));\n this.chartsRef.forEach(({nativeElement}, index) =>\n this.renderer.setStyle(\n nativeElement,\n 'z-index',\n sorted.indexOf(current[index]),\n ),\n );\n }\n\n @tuiPure\n private computeContext(\n index: number,\n charts: QueryList<TuiLineChartComponent>,\n ): TuiLineChartHintContext<readonly TuiPoint[]> {\n return {\n $implicit: charts.map(chart => chart.value[index]),\n index,\n };\n }\n}\n","import {Location} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n Inject,\n Input,\n NgZone,\n Optional,\n} from '@angular/core';\nimport {TuiLineChartHintContext} from '@taiga-ui/addon-charts/interfaces';\nimport {draw} from '@taiga-ui/addon-charts/utils';\nimport {\n inRange,\n tuiDefaultProp,\n TuiIdService,\n tuiPure,\n TuiStringHandler,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\n\nimport {TuiLineChartHintDirective} from './line-chart-hint.directive';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function smoothingAssertion(smoothingFactor: number): boolean {\n return inRange(smoothingFactor, 0, 100);\n}\n\nconst SMOOTHING_MESSAGE = 'smoothingFactor must be between 0 and 100';\n\n@Component({\n selector: 'tui-line-chart',\n templateUrl: './line-chart.template.html',\n styleUrls: ['./line-chart.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLineChartComponent {\n private readonly _hovered$ = new Subject<number>();\n\n private readonly autoIdString: string;\n\n @Input('value')\n @tuiDefaultProp()\n set valueSetter(value: readonly TuiPoint[]) {\n this.value = value.filter(item => !item.some(isNaN));\n }\n\n @Input()\n @tuiDefaultProp()\n x = 0;\n\n @Input()\n @tuiDefaultProp()\n y = 0;\n\n @Input()\n @tuiDefaultProp()\n width = 0;\n\n @Input()\n @tuiDefaultProp()\n height = 0;\n\n @Input()\n @tuiDefaultProp(smoothingAssertion, SMOOTHING_MESSAGE)\n smoothingFactor = 0;\n\n @Input()\n @tuiDefaultProp()\n hintContent: PolymorpheusContent<TuiLineChartHintContext<TuiPoint>> = '';\n\n @Input()\n @tuiDefaultProp()\n xStringify: TuiStringHandler<number> | null = null;\n\n @Input()\n @tuiDefaultProp()\n yStringify: TuiStringHandler<number> | null = null;\n\n @Input()\n @tuiDefaultProp()\n filled = false;\n\n @Input()\n @tuiDefaultProp()\n dots = false;\n\n value: readonly TuiPoint[] = [];\n\n constructor(\n @Inject(TuiIdService) idService: TuiIdService,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(Location) private readonly locationRef: Location,\n @Optional()\n @Inject(TuiLineChartHintDirective)\n readonly hintDirective: TuiLineChartHintDirective | null,\n ) {\n this.autoIdString = idService.generate();\n }\n\n @tuiPure\n get hovered$(): Observable<number> {\n return this._hovered$.pipe(distinctUntilChanged(), tuiZoneOptimized(this.ngZone));\n }\n\n get fillId(): string {\n return `tui-line-chart-${this.autoIdString}`;\n }\n\n get fill(): string {\n return this.filled\n ? `url(${this.locationRef.prepareExternalUrl(this.locationRef.path())}#${\n this.fillId\n })`\n : 'none';\n }\n\n get viewBox(): string {\n return `${this.x} ${this.y} ${this.width} ${this.height}`;\n }\n\n get d(): string {\n return this.getD(this.value, this.smoothingFactor);\n }\n\n get fillD(): string {\n return this.value.length\n ? `${this.d}V ${this.y} H ${this.value[0][0]} V ${this.value[0][1]}`\n : this.d;\n }\n\n get isFocusable(): boolean {\n return !this.hintDirective && this.hasHints;\n }\n\n get hasHints(): boolean {\n return (\n !!this.xStringify ||\n !!this.yStringify ||\n !!this.hintDirective?.hint ||\n !!this.hintContent\n );\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n if (!this.hintDirective) {\n this.onHovered(NaN);\n }\n }\n\n getX(index: number): number {\n if (this.isSinglePoint) {\n return this.value[0][0] / 2;\n }\n\n return index\n ? (this.value[index - 1][0] + this.value[index][0]) / 2\n : 2 * this.value[0][0] - this.getX(1);\n }\n\n getWidth(index: number): number {\n return (100 * this.computeWidth(index)) / this.width;\n }\n\n getHintId(index: number): string {\n return `${this.autoIdString}_${index}`;\n }\n\n getContentContext(\n $implicit: TuiPoint,\n index: number,\n ): TuiLineChartHintContext<readonly TuiPoint[]> {\n return (\n this.hintDirective?.getContext(this.value.indexOf($implicit), this) || {\n $implicit: [],\n index,\n }\n );\n }\n\n getHovered(hovered: number): TuiPoint | null {\n // This checks for NaN and null too since async pipe returns null before first item\n return Number.isInteger(hovered) ? this.value[hovered] : null;\n }\n\n getBottom(y: number): number {\n return (100 * (y - this.y)) / this.height;\n }\n\n getLeft(x: number): number {\n return (100 * (x - this.x)) / this.width;\n }\n\n getOffset(x: number): number {\n return (100 * (this.value[x][0] - this.getX(x))) / this.computeWidth(x);\n }\n\n onMouseEnter(index: number): void {\n if (this.hintDirective) {\n this.hintDirective.raise(index, this);\n } else {\n this.onHovered(index);\n }\n }\n\n onHovered(index: number): void {\n this._hovered$.next(index);\n }\n\n private get isSinglePoint(): boolean {\n return this.value.length === 1;\n }\n\n @tuiPure\n private getD(value: readonly TuiPoint[], smoothingFactor: number): string {\n return value.reduce(\n (d, point, index) =>\n index ? `${d} ${draw(value, index, smoothingFactor)}` : `M ${point}`,\n '',\n );\n }\n\n private computeWidth(index: number): number {\n return index === this.value.length - 1\n ? 2 * (this.value[index][0] - this.getX(index))\n : this.getX(index + 1) - this.getX(index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {TuiDescribedByModule, TuiHintModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLineChartComponent} from './line-chart.component';\nimport {TuiLineChartHintDirective} from './line-chart-hint.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiHintModule,\n TuiFocusableModule,\n TuiDescribedByModule,\n TuiLetModule,\n ],\n declarations: [TuiLineChartComponent, TuiLineChartHintDirective],\n exports: [TuiLineChartComponent, TuiLineChartHintDirective],\n})\nexport class TuiLineChartModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-charts-components-line-chart.js","sources":["ng://@taiga-ui/addon-charts/components/line-chart/line-chart-hint.directive.ts","ng://@taiga-ui/addon-charts/components/line-chart/line-chart.component.ts","ng://@taiga-ui/addon-charts/components/line-chart/line-chart.module.ts","ng://@taiga-ui/addon-charts/components/line-chart/taiga-ui-addon-charts-components-line-chart.ts"],"sourcesContent":["import {\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {TuiLineChartHintContext} from '@taiga-ui/addon-charts/interfaces';\nimport {\n EMPTY_QUERY,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDestroyService,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {HINT_HOVERED_CLASS, TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n startWith,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiLineChartComponent} from './line-chart.component';\n\n@Directive({\n selector: `[tuiLineChartHint]`,\n providers: [TuiDestroyService],\n})\nexport class TuiLineChartHintDirective {\n @ContentChildren(forwardRef(() => TuiLineChartComponent))\n private readonly charts: QueryList<TuiLineChartComponent> = EMPTY_QUERY;\n\n @ContentChildren(forwardRef(() => TuiLineChartComponent), {read: ElementRef})\n private readonly chartsRef: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @Input(`tuiLineChartHint`)\n @tuiDefaultProp()\n hint: PolymorpheusContent<TuiContextWithImplicit<readonly TuiPoint[]>> = ``;\n\n constructor(\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n animationFrame$\n .pipe(\n throttleTime(200),\n map(() => !!nativeElement.querySelector(`.${HINT_HOVERED_CLASS}`)),\n startWith(false),\n distinctUntilChanged(),\n filter(v => !v),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n this.charts.forEach(chart => chart.onHovered(NaN));\n });\n }\n\n // _chart is required by TuiLineDaysChartComponent that impersonates this directive\n getContext(\n index: number,\n _chart: TuiLineChartComponent,\n ): TuiLineChartHintContext<readonly TuiPoint[]> {\n return this.computeContext(index, this.charts);\n }\n\n // _chart is required by TuiLineDaysChartComponent that impersonates this directive\n raise(index: number, _chart: TuiLineChartComponent): void {\n const current = this.charts.map(chart => chart.value[index]);\n const sorted = [...current].sort((a, b) => a[1] - b[1]);\n\n this.charts.forEach(chart => chart.onHovered(index));\n this.chartsRef.forEach(({nativeElement}, index) =>\n this.renderer.setStyle(\n nativeElement,\n `z-index`,\n sorted.indexOf(current[index]),\n ),\n );\n }\n\n @tuiPure\n private computeContext(\n index: number,\n charts: QueryList<TuiLineChartComponent>,\n ): TuiLineChartHintContext<readonly TuiPoint[]> {\n return {\n $implicit: charts.map(chart => chart.value[index]),\n index,\n };\n }\n}\n","import {Location} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n Inject,\n Input,\n NgZone,\n Optional,\n} from '@angular/core';\nimport {TuiLineChartHintContext} from '@taiga-ui/addon-charts/interfaces';\nimport {draw} from '@taiga-ui/addon-charts/utils';\nimport {\n inRange,\n tuiDefaultProp,\n TuiIdService,\n tuiPure,\n TuiStringHandler,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\n\nimport {TuiLineChartHintDirective} from './line-chart-hint.directive';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function smoothingAssertion(smoothingFactor: number): boolean {\n return inRange(smoothingFactor, 0, 100);\n}\n\nconst SMOOTHING_MESSAGE = `smoothingFactor must be between 0 and 100`;\n\n@Component({\n selector: `tui-line-chart`,\n templateUrl: `./line-chart.template.html`,\n styleUrls: [`./line-chart.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLineChartComponent {\n private readonly _hovered$ = new Subject<number>();\n\n private readonly autoIdString: string;\n\n @Input(`value`)\n @tuiDefaultProp()\n set valueSetter(value: readonly TuiPoint[]) {\n this.value = value.filter(item => !item.some(isNaN));\n }\n\n @Input()\n @tuiDefaultProp()\n x = 0;\n\n @Input()\n @tuiDefaultProp()\n y = 0;\n\n @Input()\n @tuiDefaultProp()\n width = 0;\n\n @Input()\n @tuiDefaultProp()\n height = 0;\n\n @Input()\n @tuiDefaultProp(smoothingAssertion, SMOOTHING_MESSAGE)\n smoothingFactor = 0;\n\n @Input()\n @tuiDefaultProp()\n hintContent: PolymorpheusContent<TuiLineChartHintContext<TuiPoint>> = ``;\n\n @Input()\n @tuiDefaultProp()\n xStringify: TuiStringHandler<number> | null = null;\n\n @Input()\n @tuiDefaultProp()\n yStringify: TuiStringHandler<number> | null = null;\n\n @Input()\n @tuiDefaultProp()\n filled = false;\n\n @Input()\n @tuiDefaultProp()\n dots = false;\n\n value: readonly TuiPoint[] = [];\n\n constructor(\n @Inject(TuiIdService) idService: TuiIdService,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(Location) private readonly locationRef: Location,\n @Optional()\n @Inject(TuiLineChartHintDirective)\n readonly hintDirective: TuiLineChartHintDirective | null,\n ) {\n this.autoIdString = idService.generate();\n }\n\n @tuiPure\n get hovered$(): Observable<number> {\n return this._hovered$.pipe(distinctUntilChanged(), tuiZoneOptimized(this.ngZone));\n }\n\n get fillId(): string {\n return `tui-line-chart-${this.autoIdString}`;\n }\n\n get fill(): string {\n return this.filled\n ? `url(${this.locationRef.prepareExternalUrl(this.locationRef.path())}#${\n this.fillId\n })`\n : `none`;\n }\n\n get viewBox(): string {\n return `${this.x} ${this.y} ${this.width} ${this.height}`;\n }\n\n get d(): string {\n return this.getD(this.value, this.smoothingFactor);\n }\n\n get fillD(): string {\n return this.value.length\n ? `${this.d}V ${this.y} H ${this.value[0][0]} V ${this.value[0][1]}`\n : this.d;\n }\n\n get isFocusable(): boolean {\n return !this.hintDirective && this.hasHints;\n }\n\n get hasHints(): boolean {\n return (\n !!this.xStringify ||\n !!this.yStringify ||\n !!this.hintDirective?.hint ||\n !!this.hintContent\n );\n }\n\n @HostListener(`mouseleave`)\n onMouseLeave(): void {\n if (!this.hintDirective) {\n this.onHovered(NaN);\n }\n }\n\n getX(index: number): number {\n if (this.isSinglePoint) {\n return this.value[0][0] / 2;\n }\n\n return index\n ? (this.value[index - 1][0] + this.value[index][0]) / 2\n : 2 * this.value[0][0] - this.getX(1);\n }\n\n getWidth(index: number): number {\n return (100 * this.computeWidth(index)) / this.width;\n }\n\n getHintId(index: number): string {\n return `${this.autoIdString}_${index}`;\n }\n\n getContentContext(\n $implicit: TuiPoint,\n index: number,\n ): TuiLineChartHintContext<readonly TuiPoint[]> {\n return (\n this.hintDirective?.getContext(this.value.indexOf($implicit), this) || {\n $implicit: [],\n index,\n }\n );\n }\n\n getHovered(hovered: number): TuiPoint | null {\n // This checks for NaN and null too since async pipe returns null before first item\n return Number.isInteger(hovered) ? this.value[hovered] : null;\n }\n\n getBottom(y: number): number {\n return (100 * (y - this.y)) / this.height;\n }\n\n getLeft(x: number): number {\n return (100 * (x - this.x)) / this.width;\n }\n\n getOffset(x: number): number {\n return (100 * (this.value[x][0] - this.getX(x))) / this.computeWidth(x);\n }\n\n onMouseEnter(index: number): void {\n if (this.hintDirective) {\n this.hintDirective.raise(index, this);\n } else {\n this.onHovered(index);\n }\n }\n\n onHovered(index: number): void {\n this._hovered$.next(index);\n }\n\n private get isSinglePoint(): boolean {\n return this.value.length === 1;\n }\n\n @tuiPure\n private getD(value: readonly TuiPoint[], smoothingFactor: number): string {\n return value.reduce(\n (d, point, index) =>\n index ? `${d} ${draw(value, index, smoothingFactor)}` : `M ${point}`,\n ``,\n );\n }\n\n private computeWidth(index: number): number {\n return index === this.value.length - 1\n ? 2 * (this.value[index][0] - this.getX(index))\n : this.getX(index + 1) - this.getX(index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {TuiDescribedByModule, TuiHintModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLineChartComponent} from './line-chart.component';\nimport {TuiLineChartHintDirective} from './line-chart-hint.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiHintModule,\n TuiFocusableModule,\n TuiDescribedByModule,\n TuiLetModule,\n ],\n declarations: [TuiLineChartComponent, TuiLineChartHintDirective],\n exports: [TuiLineChartComponent, TuiLineChartHintDirective],\n})\nexport class TuiLineChartModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
12
12
  let TuiLineDaysChartHintDirective = class TuiLineDaysChartHintDirective {
13
13
  constructor(destroy$, { nativeElement }, ngZone, animationFrame$) {
14
14
  this.charts = EMPTY_QUERY;
15
- this.hint = '';
15
+ this.hint = ``;
16
16
  animationFrame$
17
17
  .pipe(throttleTime(200), map(() => !!nativeElement.querySelector(`.${HINT_HOVERED_CLASS}`)), startWith(false), distinctUntilChanged(), tuiZonefree(ngZone), filter(v => !v), takeUntil(destroy$))
18
18
  .subscribe(() => {
@@ -48,7 +48,7 @@ __decorate([
48
48
  ContentChildren(forwardRef(() => TuiLineDaysChartComponent))
49
49
  ], TuiLineDaysChartHintDirective.prototype, "charts", void 0);
50
50
  __decorate([
51
- Input('tuiLineChartHint'),
51
+ Input(`tuiLineChartHint`),
52
52
  tuiDefaultProp()
53
53
  ], TuiLineDaysChartHintDirective.prototype, "hint", void 0);
54
54
  __decorate([
@@ -56,7 +56,7 @@ __decorate([
56
56
  ], TuiLineDaysChartHintDirective.prototype, "computeContext", null);
57
57
  TuiLineDaysChartHintDirective = __decorate([
58
58
  Directive({
59
- selector: '[tuiLineChartHint]',
59
+ selector: `[tuiLineChartHint]`,
60
60
  providers: [TuiDestroyService],
61
61
  }),
62
62
  __param(0, Inject(TuiDestroyService)),
@@ -77,13 +77,13 @@ let TuiLineDaysChartComponent = TuiLineDaysChartComponent_1 = class TuiLineDaysC
77
77
  this.y = 0;
78
78
  this.height = 0;
79
79
  this.smoothingFactor = 0;
80
- this.hintContent = '';
80
+ this.hintContent = ``;
81
81
  this.xStringify = null;
82
82
  this.yStringify = null;
83
83
  this.dots = false;
84
84
  this.zIndex = 0;
85
85
  this.value = [];
86
- this.daysStringify = index => this.xStringify ? this.xStringify(this.getMonth(index)) : '';
86
+ this.daysStringify = index => this.xStringify ? this.xStringify(this.getMonth(index)) : ``;
87
87
  }
88
88
  set valueSetter(value) {
89
89
  if (!value.length) {
@@ -179,7 +179,7 @@ __decorate([
179
179
  ViewChildren(TuiLineChartComponent)
180
180
  ], TuiLineDaysChartComponent.prototype, "charts", void 0);
181
181
  __decorate([
182
- Input('value'),
182
+ Input(`value`),
183
183
  tuiDefaultProp()
184
184
  ], TuiLineDaysChartComponent.prototype, "valueSetter", null);
185
185
  __decorate([
@@ -211,7 +211,7 @@ __decorate([
211
211
  tuiDefaultProp()
212
212
  ], TuiLineDaysChartComponent.prototype, "dots", void 0);
213
213
  __decorate([
214
- HostBinding('style.zIndex')
214
+ HostBinding(`style.zIndex`)
215
215
  ], TuiLineDaysChartComponent.prototype, "zIndex", void 0);
216
216
  __decorate([
217
217
  tuiPure
@@ -221,7 +221,7 @@ __decorate([
221
221
  ], TuiLineDaysChartComponent.prototype, "breakMonths", null);
222
222
  TuiLineDaysChartComponent = TuiLineDaysChartComponent_1 = __decorate([
223
223
  Component({
224
- selector: 'tui-line-days-chart',
224
+ selector: `tui-line-days-chart`,
225
225
  template: "<tui-line-chart\n *ngFor=\"let month of months; let first = first\"\n class=\"t-chart\"\n [style.zIndex]=\"zIndex\"\n [dots]=\"dots\"\n [x]=\"first ? 0 : getX(month[0][0])\"\n [y]=\"y\"\n [width]=\"first ? firstWidth : getWidth(month[0][0])\"\n [height]=\"height\"\n [value]=\"month\"\n [smoothingFactor]=\"smoothingFactor\"\n [hintContent]=\"hintContent ? hint : ''\"\n [yStringify]=\"yStringify\"\n [xStringify]=\"xStringify ? daysStringify : null\"\n></tui-line-chart>\n<ng-template\n #hint\n let-point\n>\n <div\n polymorpheus-outlet\n [content]=\"hintContent\"\n [context]=\"getHintContext(point[0], value)\"\n ></div>\n</ng-template>\n",
226
226
  changeDetection: ChangeDetectionStrategy.OnPush,
227
227
  providers: [
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-charts-components-line-days-chart.js","sources":["ng://@taiga-ui/addon-charts/components/line-days-chart/line-days-chart-hint.directive.ts","ng://@taiga-ui/addon-charts/components/line-days-chart/line-days-chart.component.ts","ng://@taiga-ui/addon-charts/components/line-days-chart/line-days-chart.module.ts","ng://@taiga-ui/addon-charts/components/line-days-chart/taiga-ui-addon-charts-components-line-days-chart.ts"],"sourcesContent":["import {\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n QueryList,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {\n EMPTY_QUERY,\n TuiContextWithImplicit,\n TuiDay,\n tuiDefaultProp,\n TuiDestroyService,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {HINT_HOVERED_CLASS, TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n startWith,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiLineDaysChartComponent} from './line-days-chart.component';\n\n@Directive({\n selector: '[tuiLineChartHint]',\n providers: [TuiDestroyService],\n})\nexport class TuiLineDaysChartHintDirective {\n @ContentChildren(forwardRef(() => TuiLineDaysChartComponent))\n private readonly charts: QueryList<TuiLineDaysChartComponent> = EMPTY_QUERY;\n\n @Input('tuiLineChartHint')\n @tuiDefaultProp()\n hint: PolymorpheusContent<TuiContextWithImplicit<readonly TuiPoint[]>> = '';\n\n constructor(\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n animationFrame$\n .pipe(\n throttleTime(200),\n map(() => !!nativeElement.querySelector(`.${HINT_HOVERED_CLASS}`)),\n startWith(false),\n distinctUntilChanged(),\n tuiZonefree(ngZone),\n filter(v => !v),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n this.charts.forEach(chart => chart.onHovered(null));\n });\n }\n\n getContext(day: TuiDay): TuiContextWithImplicit<ReadonlyArray<[TuiDay, number]>> {\n return this.computeContext(day, this.charts);\n }\n\n raise(day: TuiDay): void {\n const current = this.charts\n .map(({value}) => find(value, day))\n .filter(([_, value]) => !isNaN(value));\n const sorted = [...current].sort((a, b) => a[1] - b[1]);\n\n this.charts.forEach((chart, index) => {\n chart.onHovered(day);\n chart.zIndex = Math.max(sorted.indexOf(current[index]), 0);\n });\n }\n\n @tuiPure\n private computeContext(\n day: TuiDay,\n charts: QueryList<TuiLineDaysChartComponent>,\n ): TuiContextWithImplicit<ReadonlyArray<[TuiDay, number]>> {\n return {\n $implicit: charts.map(({value}) => find(value, day)),\n };\n }\n}\n\nfunction find(value: ReadonlyArray<[TuiDay, number]>, current: TuiDay): [TuiDay, number] {\n return value.find(([day]) => day.daySame(current)) || [current, NaN];\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {\n TuiLineChartComponent,\n TuiLineChartHintDirective,\n} from '@taiga-ui/addon-charts/components/line-chart';\nimport {\n EMPTY_ARRAY,\n EMPTY_QUERY,\n isPresent,\n TuiContextWithImplicit,\n TuiDay,\n tuiDefaultProp,\n TuiMonth,\n tuiPure,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLineDaysChartHintDirective} from './line-days-chart-hint.directive';\n\nconst DUMMY: TuiPoint = [NaN, NaN];\n\n@Component({\n selector: 'tui-line-days-chart',\n templateUrl: './line-days-chart.template.html',\n styleUrls: ['./line-days-chart.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TuiLineChartHintDirective,\n useExisting: forwardRef(() => TuiLineDaysChartComponent),\n },\n ],\n})\nexport class TuiLineDaysChartComponent {\n @ViewChildren(TuiLineChartComponent)\n private readonly charts: QueryList<TuiLineChartComponent> = EMPTY_QUERY;\n\n @Input('value')\n @tuiDefaultProp()\n set valueSetter(value: ReadonlyArray<[TuiDay, number]>) {\n if (!value.length) {\n this.value = [];\n\n return;\n }\n\n const start = value[0][0];\n const mutable = [...value];\n const length = TuiDay.lengthBetween(start, value[value.length - 1][0]) + 1;\n\n this.value = Array.from({length}, (_, day) => {\n const currentDay = start.append({day});\n const shifted = currentDay.daySame(mutable[0][0]) ? mutable.shift() : null;\n const currentValue = shifted ? shifted[1] : NaN;\n\n return [currentDay, currentValue] as [TuiDay, number];\n });\n }\n\n @Input()\n @tuiDefaultProp()\n y = 0;\n\n @Input()\n @tuiDefaultProp()\n height = 0;\n\n @Input()\n @tuiDefaultProp()\n smoothingFactor = 0;\n\n @Input()\n @tuiDefaultProp()\n hintContent: PolymorpheusContent<TuiContextWithImplicit<[TuiDay, number]>> = '';\n\n @Input()\n @tuiDefaultProp()\n xStringify: TuiStringHandler<TuiDay> | null = null;\n\n @Input()\n @tuiDefaultProp()\n yStringify: TuiStringHandler<number> | null = null;\n\n @Input()\n @tuiDefaultProp()\n dots = false;\n\n @HostBinding('style.zIndex')\n zIndex = 0;\n\n value: ReadonlyArray<[TuiDay, number]> = [];\n\n constructor(\n @Optional()\n @Inject(TuiLineDaysChartHintDirective)\n private readonly hintDirective: TuiLineDaysChartHintDirective | null,\n ) {}\n\n get months(): ReadonlyArray<readonly TuiPoint[]> {\n return this.value.length ? this.breakMonths(this.value) : EMPTY_ARRAY;\n }\n\n get firstWidth(): number {\n return this.months.length * this.value[0][0].daysCount;\n }\n\n get hint():\n | PolymorpheusContent<TuiContextWithImplicit<[TuiDay, number]>>\n | PolymorpheusContent<TuiContextWithImplicit<readonly TuiPoint[]>> {\n return this.hintDirective ? this.hintDirective.hint : this.hintContent;\n }\n\n @tuiPure\n getHintContext(\n x: number,\n value: ReadonlyArray<[TuiDay, number]>,\n ): TuiContextWithImplicit<[TuiDay, number]> {\n return {\n $implicit: value[x - value[0][0].day + 1],\n };\n }\n\n readonly daysStringify: TuiStringHandler<number> = index =>\n this.xStringify ? this.xStringify(this.getMonth(index)) : '';\n\n getX(index: number): number {\n const current = this.getMonth(index);\n const months = TuiMonth.lengthBetween(this.value[0][0], current);\n const offset = months * current.daysCount;\n\n return index - offset;\n }\n\n onHovered(day: TuiDay | null): void {\n if (!day) {\n this.charts.forEach(chart => chart.onHovered(NaN));\n\n return;\n }\n\n const index = TuiMonth.lengthBetween(this.value[0][0], day);\n const x = TuiDay.lengthBetween(this.value[0][0], day) + this.value[0][0].day - 1;\n const array = this.charts.toArray();\n const current = array[index];\n const {value} = current;\n\n array.forEach(chart => {\n if (chart === current) {\n current.onHovered(value.findIndex(point => point[0] === x));\n } else {\n chart.onHovered(NaN);\n }\n });\n }\n\n raise(index: number, {value}: TuiLineChartComponent): void {\n const x = value[index][0];\n const month = this.getMonth(x);\n\n if (this.hintDirective) {\n this.hintDirective.raise(month);\n } else {\n this.onHovered(month);\n }\n }\n\n getWidth(index: number): number {\n return this.getMonth(index).daysCount * this.months.length;\n }\n\n getContext(\n index: number,\n {value}: TuiLineChartComponent,\n ): TuiContextWithImplicit<unknown> {\n const x = value[index][0];\n\n return this.hintDirective\n ? this.hintDirective.getContext(this.getMonth(x))\n : this.getHintContext(x, this.value);\n }\n\n @tuiPure\n private breakMonths(\n value: ReadonlyArray<[TuiDay, number]>,\n ): ReadonlyArray<readonly TuiPoint[]> {\n const offset = value[0][0].day - 1;\n\n return Array.from(\n {length: TuiMonth.lengthBetween(value[0][0], value[value.length - 1][0]) + 1},\n (_, i) => i + value[0][0].month + value[0][0].year * 12,\n )\n .map(absoluteMonth =>\n value\n .map<TuiPoint | null>(([{month, year}, y], index) =>\n month + year * 12 === absoluteMonth ? [index + offset, y] : null,\n )\n .filter(isPresent),\n )\n .map((month, index, array) =>\n index === array.length - 1\n ? month\n : [...month, array[index + 1].find(day => !isNaN(day[1])) || DUMMY],\n );\n }\n\n private getMonth(index: number): TuiDay {\n return this.value[index - this.value[0][0].day + 1][0];\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLineChartModule} from '@taiga-ui/addon-charts/components/line-chart';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLineDaysChartComponent} from './line-days-chart.component';\nimport {TuiLineDaysChartHintDirective} from './line-days-chart-hint.directive';\n\n@NgModule({\n imports: [CommonModule, TuiLineChartModule, PolymorpheusModule],\n declarations: [TuiLineDaysChartComponent, TuiLineDaysChartHintDirective],\n exports: [TuiLineDaysChartComponent, TuiLineDaysChartHintDirective],\n})\nexport class TuiLineDaysChartModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-charts-components-line-days-chart.js","sources":["ng://@taiga-ui/addon-charts/components/line-days-chart/line-days-chart-hint.directive.ts","ng://@taiga-ui/addon-charts/components/line-days-chart/line-days-chart.component.ts","ng://@taiga-ui/addon-charts/components/line-days-chart/line-days-chart.module.ts","ng://@taiga-ui/addon-charts/components/line-days-chart/taiga-ui-addon-charts-components-line-days-chart.ts"],"sourcesContent":["import {\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n QueryList,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {\n EMPTY_QUERY,\n TuiContextWithImplicit,\n TuiDay,\n tuiDefaultProp,\n TuiDestroyService,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {HINT_HOVERED_CLASS, TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n startWith,\n takeUntil,\n throttleTime,\n} from 'rxjs/operators';\n\nimport {TuiLineDaysChartComponent} from './line-days-chart.component';\n\n@Directive({\n selector: `[tuiLineChartHint]`,\n providers: [TuiDestroyService],\n})\nexport class TuiLineDaysChartHintDirective {\n @ContentChildren(forwardRef(() => TuiLineDaysChartComponent))\n private readonly charts: QueryList<TuiLineDaysChartComponent> = EMPTY_QUERY;\n\n @Input(`tuiLineChartHint`)\n @tuiDefaultProp()\n hint: PolymorpheusContent<TuiContextWithImplicit<readonly TuiPoint[]>> = ``;\n\n constructor(\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n ) {\n animationFrame$\n .pipe(\n throttleTime(200),\n map(() => !!nativeElement.querySelector(`.${HINT_HOVERED_CLASS}`)),\n startWith(false),\n distinctUntilChanged(),\n tuiZonefree(ngZone),\n filter(v => !v),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n this.charts.forEach(chart => chart.onHovered(null));\n });\n }\n\n getContext(day: TuiDay): TuiContextWithImplicit<ReadonlyArray<[TuiDay, number]>> {\n return this.computeContext(day, this.charts);\n }\n\n raise(day: TuiDay): void {\n const current = this.charts\n .map(({value}) => find(value, day))\n .filter(([_, value]) => !isNaN(value));\n const sorted = [...current].sort((a, b) => a[1] - b[1]);\n\n this.charts.forEach((chart, index) => {\n chart.onHovered(day);\n chart.zIndex = Math.max(sorted.indexOf(current[index]), 0);\n });\n }\n\n @tuiPure\n private computeContext(\n day: TuiDay,\n charts: QueryList<TuiLineDaysChartComponent>,\n ): TuiContextWithImplicit<ReadonlyArray<[TuiDay, number]>> {\n return {\n $implicit: charts.map(({value}) => find(value, day)),\n };\n }\n}\n\nfunction find(value: ReadonlyArray<[TuiDay, number]>, current: TuiDay): [TuiDay, number] {\n return value.find(([day]) => day.daySame(current)) || [current, NaN];\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {\n TuiLineChartComponent,\n TuiLineChartHintDirective,\n} from '@taiga-ui/addon-charts/components/line-chart';\nimport {\n EMPTY_ARRAY,\n EMPTY_QUERY,\n isPresent,\n TuiContextWithImplicit,\n TuiDay,\n tuiDefaultProp,\n TuiMonth,\n tuiPure,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLineDaysChartHintDirective} from './line-days-chart-hint.directive';\n\nconst DUMMY: TuiPoint = [NaN, NaN];\n\n@Component({\n selector: `tui-line-days-chart`,\n templateUrl: `./line-days-chart.template.html`,\n styleUrls: [`./line-days-chart.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TuiLineChartHintDirective,\n useExisting: forwardRef(() => TuiLineDaysChartComponent),\n },\n ],\n})\nexport class TuiLineDaysChartComponent {\n @ViewChildren(TuiLineChartComponent)\n private readonly charts: QueryList<TuiLineChartComponent> = EMPTY_QUERY;\n\n @Input(`value`)\n @tuiDefaultProp()\n set valueSetter(value: ReadonlyArray<[TuiDay, number]>) {\n if (!value.length) {\n this.value = [];\n\n return;\n }\n\n const start = value[0][0];\n const mutable = [...value];\n const length = TuiDay.lengthBetween(start, value[value.length - 1][0]) + 1;\n\n this.value = Array.from({length}, (_, day) => {\n const currentDay = start.append({day});\n const shifted = currentDay.daySame(mutable[0][0]) ? mutable.shift() : null;\n const currentValue = shifted ? shifted[1] : NaN;\n\n return [currentDay, currentValue] as [TuiDay, number];\n });\n }\n\n @Input()\n @tuiDefaultProp()\n y = 0;\n\n @Input()\n @tuiDefaultProp()\n height = 0;\n\n @Input()\n @tuiDefaultProp()\n smoothingFactor = 0;\n\n @Input()\n @tuiDefaultProp()\n hintContent: PolymorpheusContent<TuiContextWithImplicit<[TuiDay, number]>> = ``;\n\n @Input()\n @tuiDefaultProp()\n xStringify: TuiStringHandler<TuiDay> | null = null;\n\n @Input()\n @tuiDefaultProp()\n yStringify: TuiStringHandler<number> | null = null;\n\n @Input()\n @tuiDefaultProp()\n dots = false;\n\n @HostBinding(`style.zIndex`)\n zIndex = 0;\n\n value: ReadonlyArray<[TuiDay, number]> = [];\n\n constructor(\n @Optional()\n @Inject(TuiLineDaysChartHintDirective)\n private readonly hintDirective: TuiLineDaysChartHintDirective | null,\n ) {}\n\n get months(): ReadonlyArray<readonly TuiPoint[]> {\n return this.value.length ? this.breakMonths(this.value) : EMPTY_ARRAY;\n }\n\n get firstWidth(): number {\n return this.months.length * this.value[0][0].daysCount;\n }\n\n get hint():\n | PolymorpheusContent<TuiContextWithImplicit<[TuiDay, number]>>\n | PolymorpheusContent<TuiContextWithImplicit<readonly TuiPoint[]>> {\n return this.hintDirective ? this.hintDirective.hint : this.hintContent;\n }\n\n @tuiPure\n getHintContext(\n x: number,\n value: ReadonlyArray<[TuiDay, number]>,\n ): TuiContextWithImplicit<[TuiDay, number]> {\n return {\n $implicit: value[x - value[0][0].day + 1],\n };\n }\n\n readonly daysStringify: TuiStringHandler<number> = index =>\n this.xStringify ? this.xStringify(this.getMonth(index)) : ``;\n\n getX(index: number): number {\n const current = this.getMonth(index);\n const months = TuiMonth.lengthBetween(this.value[0][0], current);\n const offset = months * current.daysCount;\n\n return index - offset;\n }\n\n onHovered(day: TuiDay | null): void {\n if (!day) {\n this.charts.forEach(chart => chart.onHovered(NaN));\n\n return;\n }\n\n const index = TuiMonth.lengthBetween(this.value[0][0], day);\n const x = TuiDay.lengthBetween(this.value[0][0], day) + this.value[0][0].day - 1;\n const array = this.charts.toArray();\n const current = array[index];\n const {value} = current;\n\n array.forEach(chart => {\n if (chart === current) {\n current.onHovered(value.findIndex(point => point[0] === x));\n } else {\n chart.onHovered(NaN);\n }\n });\n }\n\n raise(index: number, {value}: TuiLineChartComponent): void {\n const x = value[index][0];\n const month = this.getMonth(x);\n\n if (this.hintDirective) {\n this.hintDirective.raise(month);\n } else {\n this.onHovered(month);\n }\n }\n\n getWidth(index: number): number {\n return this.getMonth(index).daysCount * this.months.length;\n }\n\n getContext(\n index: number,\n {value}: TuiLineChartComponent,\n ): TuiContextWithImplicit<unknown> {\n const x = value[index][0];\n\n return this.hintDirective\n ? this.hintDirective.getContext(this.getMonth(x))\n : this.getHintContext(x, this.value);\n }\n\n @tuiPure\n private breakMonths(\n value: ReadonlyArray<[TuiDay, number]>,\n ): ReadonlyArray<readonly TuiPoint[]> {\n const offset = value[0][0].day - 1;\n\n return Array.from(\n {length: TuiMonth.lengthBetween(value[0][0], value[value.length - 1][0]) + 1},\n (_, i) => i + value[0][0].month + value[0][0].year * 12,\n )\n .map(absoluteMonth =>\n value\n .map<TuiPoint | null>(([{month, year}, y], index) =>\n month + year * 12 === absoluteMonth ? [index + offset, y] : null,\n )\n .filter(isPresent),\n )\n .map((month, index, array) =>\n index === array.length - 1\n ? month\n : [...month, array[index + 1].find(day => !isNaN(day[1])) || DUMMY],\n );\n }\n\n private getMonth(index: number): TuiDay {\n return this.value[index - this.value[0][0].day + 1][0];\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLineChartModule} from '@taiga-ui/addon-charts/components/line-chart';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiLineDaysChartComponent} from './line-days-chart.component';\nimport {TuiLineDaysChartHintDirective} from './line-days-chart-hint.directive';\n\n@NgModule({\n imports: [CommonModule, TuiLineChartModule, PolymorpheusModule],\n declarations: [TuiLineDaysChartComponent, TuiLineDaysChartHintDirective],\n exports: [TuiLineDaysChartComponent, TuiLineDaysChartHintDirective],\n})\nexport class TuiLineDaysChartModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;IAsCa,6BAA6B,GAA1C,MAAa,6BAA6B;IAQtC,YAC+B,QAA2B,EAClC,EAAC,aAAa,EAA0B,EAC5C,MAAc,EACL,eAAmC;QAV/C,WAAM,GAAyC,WAAW,CAAC;QAI5E,SAAI,GAAqE,EAAE,CAAC;QAQxE,eAAe;aACV,IAAI,CACD,YAAY,CAAC,GAAG,CAAC,EACjB,GAAG,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC,EAClE,SAAS,CAAC,KAAK,CAAC,EAChB,oBAAoB,EAAE,EACtB,WAAW,CAAC,MAAM,CAAC,EACnB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EACf,SAAS,CAAC,QAAQ,CAAC,CACtB;aACA,SAAS,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACvD,CAAC,CAAC;KACV;IAED,UAAU,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;KAChD;IAED,KAAK,CAAC,GAAW;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM;aACtB,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;aAClC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK;YAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACrB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9D,CAAC,CAAC;KACN;IAGO,cAAc,CAClB,GAAW,EACX,MAA4C;QAE5C,OAAO;YACH,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;SACvD,CAAC;KACL;EACJ;;YA7C4C,iBAAiB,uBAArD,MAAM,SAAC,iBAAiB;YACY,UAAU,uBAA9C,MAAM,SAAC,UAAU;YACM,MAAM,uBAA7B,MAAM,SAAC,MAAM;YAC4B,UAAU,uBAAnD,MAAM,SAAC,eAAe;;AAV3B;IADC,eAAe,CAAC,UAAU,CAAC,MAAM,yBAAyB,CAAC,CAAC;6DACe;AAI5E;IAFC,KAAK,CAAC,kBAAkB,CAAC;IACzB,cAAc,EAAE;2DAC2D;AAwC5E;IADC,OAAO;mEAQP;AArDQ,6BAA6B;IAJzC,SAAS,CAAC;QACP,QAAQ,EAAE,oBAAoB;QAC9B,SAAS,EAAE,CAAC,iBAAiB,CAAC;KACjC,CAAC;IAUO,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,MAAM,CAAC,CAAA;IACd,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;GAZnB,6BAA6B,CAsDzC;AAED,SAAS,IAAI,CAAC,KAAsC,EAAE,OAAe;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACzE;;;ACjEA,MAAM,KAAK,GAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IActB,yBAAyB,iCAAtC,MAAa,yBAAyB;IA2DlC,YAGqB,aAAmD;QAAnD,kBAAa,GAAb,aAAa,CAAsC;QA5DvD,WAAM,GAAqC,WAAW,CAAC;QA0BxE,MAAC,GAAG,CAAC,CAAC;QAIN,WAAM,GAAG,CAAC,CAAC;QAIX,oBAAe,GAAG,CAAC,CAAC;QAIpB,gBAAW,GAAkE,EAAE,CAAC;QAIhF,eAAU,GAAoC,IAAI,CAAC;QAInD,eAAU,GAAoC,IAAI,CAAC;QAInD,SAAI,GAAG,KAAK,CAAC;QAGb,WAAM,GAAG,CAAC,CAAC;QAEX,UAAK,GAAoC,EAAE,CAAC;QAgCnC,kBAAa,GAA6B,KAAK,IACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;KA3B7D;IAzDJ,IAAI,WAAW,CAAC,KAAsC;QAClD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAEhB,OAAO;SACV;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE3E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC,EAAE,GAAG;YACrC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,EAAC,GAAG,EAAC,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;YAC3E,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAEhD,OAAO,CAAC,UAAU,EAAE,YAAY,CAAqB,CAAC;SACzD,CAAC,CAAC;KACN;IAyCD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC;KACzE;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KAC1D;IAED,IAAI,IAAI;QAGJ,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;KAC1E;IAGD,cAAc,CACV,CAAS,EACT,KAAsC;QAEtC,OAAO;YACH,SAAS,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;SAC5C,CAAC;KACL;IAKD,IAAI,CAAC,KAAa;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;QAE1C,OAAO,KAAK,GAAG,MAAM,CAAC;KACzB;IAED,SAAS,CAAC,GAAkB;QACxB,IAAI,CAAC,GAAG,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAEnD,OAAO;SACV;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,MAAM,EAAC,KAAK,EAAC,GAAG,OAAO,CAAC;QAExB,KAAK,CAAC,OAAO,CAAC,KAAK;YACf,IAAI,KAAK,KAAK,OAAO,EAAE;gBACnB,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC/D;iBAAM;gBACH,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aACxB;SACJ,CAAC,CAAC;KACN;IAED,KAAK,CAAC,KAAa,EAAE,EAAC,KAAK,EAAwB;QAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACnC;aAAM;YACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACzB;KACJ;IAED,QAAQ,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;KAC9D;IAED,UAAU,CACN,KAAa,EACb,EAAC,KAAK,EAAwB;QAE9B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1B,OAAO,IAAI,CAAC,aAAa;cACnB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;cAC/C,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5C;IAGO,WAAW,CACf,KAAsC;QAEtC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAEnC,OAAO,KAAK,CAAC,IAAI,CACb,EAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAC,EAC7E,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAC1D;aACI,GAAG,CAAC,aAAa,IACd,KAAK;aACA,GAAG,CAAkB,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAC5C,KAAK,GAAG,IAAI,GAAG,EAAE,KAAK,aAAa,GAAG,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CACnE;aACA,MAAM,CAAC,SAAS,CAAC,CACzB;aACA,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,KACrB,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC;cACpB,KAAK;cACL,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAC1E,CAAC;KACT;IAEO,QAAQ,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1D;EACJ;;YAjHuC,6BAA6B,uBAF5D,QAAQ,YACR,MAAM,SAAC,6BAA6B;;AA3DzC;IADC,YAAY,CAAC,qBAAqB,CAAC;yDACoC;AAIxE;IAFC,KAAK,CAAC,OAAO,CAAC;IACd,cAAc,EAAE;4DAmBhB;AAID;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;oDACX;AAIN;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;yDACN;AAIX;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;kEACG;AAIpB;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;8DAC+D;AAIhF;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;6DACkC;AAInD;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;6DACkC;AAInD;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;uDACJ;AAGb;IADC,WAAW,CAAC,cAAc,CAAC;yDACjB;AAyBX;IADC,OAAO;+DAQP;AA8DD;IADC,OAAO;4DAsBP;AA1KQ,yBAAyB;IAZrC,SAAS,CAAC;QACP,QAAQ,EAAE,qBAAqB;QAC/B,qtBAA8C;QAE9C,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,yBAAyB;gBAClC,WAAW,EAAE,UAAU,CAAC,MAAM,2BAAyB,CAAC;aAC3D;SACJ;;KACJ,CAAC;IA6DO,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,MAAM,CAAC,6BAA6B,CAAC,CAAA;GA7DjC,yBAAyB,CA+KrC;;IC/MY,sBAAsB,GAAnC,MAAa,sBAAsB;EAAG;AAAzB,sBAAsB;IALlC,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;QAC/D,YAAY,EAAE,CAAC,yBAAyB,EAAE,6BAA6B,CAAC;QACxE,OAAO,EAAE,CAAC,yBAAyB,EAAE,6BAA6B,CAAC;KACtE,CAAC;GACW,sBAAsB,CAAG;;ACbtC;;;;;;"}
@@ -12,11 +12,11 @@ import { pairwise, switchMap, map, takeWhile, takeUntil } from 'rxjs/operators';
12
12
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
13
13
 
14
14
  const RADII = {
15
- xs: '50',
16
- s: '50',
17
- m: '77.8',
18
- l: '81.9',
19
- xl: '81.3',
15
+ xs: `50`,
16
+ s: `50`,
17
+ m: `77.8`,
18
+ l: `81.9`,
19
+ xl: `81.3`,
20
20
  };
21
21
  const TRANSFORM = {
22
22
  xs: 1.15,
@@ -31,9 +31,9 @@ let TuiPieChartComponent = class TuiPieChartComponent {
31
31
  this.locationRef = locationRef;
32
32
  this.sanitizer = sanitizer;
33
33
  this.value = [];
34
- this.size = 'm';
34
+ this.size = `m`;
35
35
  this.colorHandler = TUI_DEFAULT_COLOR_HANDLER;
36
- this.hintContent = '';
36
+ this.hintContent = ``;
37
37
  this.masked = false;
38
38
  this.activeItemIndex = NaN;
39
39
  this.activeItemIndexChange = new EventEmitter();
@@ -63,7 +63,7 @@ let TuiPieChartComponent = class TuiPieChartComponent {
63
63
  return index === this.activeItemIndex ? transform : null;
64
64
  }
65
65
  getHint(hint) {
66
- return this.hintContent ? hint : '';
66
+ return this.hintContent ? hint : ``;
67
67
  }
68
68
  onHovered(hovered, index) {
69
69
  this.updateActiveItemIndex(hovered ? index : NaN);
@@ -104,7 +104,7 @@ __decorate([
104
104
  ], TuiPieChartComponent.prototype, "value", void 0);
105
105
  __decorate([
106
106
  Input(),
107
- HostBinding('attr.data-size'),
107
+ HostBinding(`attr.data-size`),
108
108
  tuiDefaultProp()
109
109
  ], TuiPieChartComponent.prototype, "size", void 0);
110
110
  __decorate([
@@ -127,7 +127,7 @@ __decorate([
127
127
  Output()
128
128
  ], TuiPieChartComponent.prototype, "activeItemIndexChange", void 0);
129
129
  __decorate([
130
- HostBinding('class._empty')
130
+ HostBinding(`class._empty`)
131
131
  ], TuiPieChartComponent.prototype, "empty", null);
132
132
  __decorate([
133
133
  tuiPure
@@ -137,7 +137,7 @@ __decorate([
137
137
  ], TuiPieChartComponent.prototype, "getSegments", null);
138
138
  TuiPieChartComponent = __decorate([
139
139
  Component({
140
- selector: 'tui-pie-chart',
140
+ selector: `tui-pie-chart`,
141
141
  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 />\n <circle\n cx=\"0\"\n cy=\"0\"\n [attr.r]=\"radius\"\n />\n </mask>\n </defs>\n <g [style.mask]=\"mask\">\n <circle\n cx=\"0\"\n cy=\"0\"\n r=\"100\"\n class=\"t-placeholder\"\n />\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\"\n [ngTemplateOutletContext]=\"{$implicit: index}\"\n ></ng-container>\n </ng-template>\n </path>\n </g>\n</svg>\n<ng-template\n #template\n let-index\n>\n <div\n polymorpheus-outlet\n class=\"t-text\"\n [content]=\"hintContent\"\n [context]=\"{$implicit: index}\"\n ></div>\n</ng-template>\n",
142
142
  changeDetection: ChangeDetectionStrategy.OnPush,
143
143
  styles: [":host{position:relative;display:block}:host[data-size=xs]{width:2rem;height:2rem;pointer-events:none}:host[data-size='s']{width:4rem;height:4rem}:host[data-size='m']{width:9rem;height:9rem}:host[data-size='l']{width:11rem;height:11rem}:host[data-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}"]
@@ -162,7 +162,7 @@ let TuiPieChartDirective = class TuiPieChartDirective {
162
162
  ]));
163
163
  }), tuiZonefree(ngZone), takeUntil(destroy$))
164
164
  .subscribe(([start, end]) => {
165
- nativeElement.setAttribute('d', describeSector(start, end));
165
+ nativeElement.setAttribute(`d`, describeSector(start, end));
166
166
  });
167
167
  }
168
168
  set tuiPieChart(sector) {
@@ -183,7 +183,7 @@ __decorate([
183
183
  ], TuiPieChartDirective.prototype, "tuiPieChart", null);
184
184
  TuiPieChartDirective = __decorate([
185
185
  Directive({
186
- selector: 'path[tuiPieChart]',
186
+ selector: `path[tuiPieChart]`,
187
187
  providers: [TuiDestroyService],
188
188
  }),
189
189
  __param(0, Inject(ElementRef)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-charts-components-pie-chart.js","sources":["ng://@taiga-ui/addon-charts/components/pie-chart/pie-chart.component.ts","ng://@taiga-ui/addon-charts/components/pie-chart/pie-chart.directive.ts","ng://@taiga-ui/addon-charts/components/pie-chart/pie-chart.module.ts","ng://@taiga-ui/addon-charts/components/pie-chart/taiga-ui-addon-charts-components-pie-chart.ts"],"sourcesContent":["import {Location} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TUI_DEFAULT_COLOR_HANDLER} from '@taiga-ui/addon-charts/constants';\nimport {TuiColorHandler} from '@taiga-ui/addon-charts/types';\nimport {\n sum,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiIdService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {colorFallback, TuiSizeXL, TuiSizeXS} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nconst RADII = {\n xs: '50',\n s: '50',\n m: '77.8',\n l: '81.9',\n xl: '81.3',\n};\nconst TRANSFORM = {\n xs: 1.15,\n s: 1.25,\n m: 1.11,\n l: 1.09,\n xl: 1.08,\n};\n\n// TODO: 3.0 Remove sanitizer when Angular version is bumped\n@Component({\n selector: 'tui-pie-chart',\n templateUrl: './pie-chart.template.html',\n styleUrls: ['./pie-chart.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPieChartComponent {\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n value: readonly number[] = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeXL = 'm';\n\n @Input()\n @tuiDefaultProp()\n colorHandler: TuiColorHandler = TUI_DEFAULT_COLOR_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n hintContent: PolymorpheusContent<TuiContextWithImplicit<number>> = '';\n\n @Input()\n @tuiDefaultProp()\n masked = false;\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = NaN;\n\n @Output()\n activeItemIndexChange = new EventEmitter<number>();\n\n constructor(\n @Inject(TuiIdService) idService: TuiIdService,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n ) {\n this.autoIdString = idService.generate();\n }\n\n @HostBinding('class._empty')\n get empty(): boolean {\n return !this.getSum(this.value);\n }\n\n get maskId(): string {\n return `tui-ring-chart-${this.autoIdString}`;\n }\n\n get mask(): string | null {\n return this.masked\n ? `url(${this.locationRef.prepareExternalUrl(this.locationRef.path())}#${\n this.maskId\n })`\n : null;\n }\n\n get radius(): string {\n return RADII[this.size];\n }\n\n get segments(): ReadonlyArray<[number, number]> {\n return this.getSegments(this.value);\n }\n\n getTransform(index: number): string | null {\n const transform = this.masked\n ? `scale(${TRANSFORM[this.size]})`\n : `scale(${TRANSFORM.xs})`;\n\n return index === this.activeItemIndex ? transform : null;\n }\n\n getHint(hint: PolymorpheusContent): PolymorpheusContent {\n return this.hintContent ? hint : '';\n }\n\n onHovered(hovered: boolean, index: number): void {\n this.updateActiveItemIndex(hovered ? index : NaN);\n }\n\n getColor(index: number): SafeValue {\n return this.sanitizer.bypassSecurityTrustStyle(\n `var(--tui-chart-${index}, ${colorFallback(this.colorHandler(index))})`,\n );\n }\n\n @tuiPure\n private getSum(value: readonly number[]): number {\n return sum(...value);\n }\n\n @tuiPure\n private getSegments(value: readonly number[]): ReadonlyArray<[number, number]> {\n return value\n .map((initial, i, array) =>\n array.reduce(\n (sum, current, j) => (j < i ? this.getDeg(current) + sum : sum),\n this.getDeg(initial),\n ),\n )\n .map((angle, index, array) => [\n array[index - 1] || 0,\n Math.min(angle, 359.9999),\n ]);\n }\n\n private getDeg(value: number): number {\n return 360 * (value / this.getSum(this.value));\n }\n\n private updateActiveItemIndex(index: number): void {\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.next(index);\n }\n}\n","import {Directive, ElementRef, Inject, Input, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME, PERFORMANCE} from '@ng-web-apis/common';\nimport {describeSector} from '@taiga-ui/addon-charts/utils';\nimport {\n clamp,\n easeInOutQuad,\n tuiDefaultProp,\n TuiDestroyService,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {TUI_ANIMATIONS_DURATION} from '@taiga-ui/core';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {map, pairwise, switchMap, takeUntil, takeWhile} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: 'path[tuiPieChart]',\n providers: [TuiDestroyService],\n})\nexport class TuiPieChartDirective {\n private readonly sector$ = new BehaviorSubject<readonly [number, number]>([0, 0]);\n\n @Input()\n @tuiDefaultProp()\n set tuiPieChart(sector: readonly [number, number]) {\n this.sector$.next(sector);\n }\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<SVGPathElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(PERFORMANCE) performance: Performance,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Inject(TUI_ANIMATIONS_DURATION) duration: number,\n ) {\n this.sector$\n .pipe(\n pairwise(),\n switchMap(([prev, cur]) => {\n const now = performance.now();\n const startDelta = cur[0] - prev[0];\n const endDelta = cur[1] - prev[1];\n\n return animationFrame$.pipe(\n map(timestamp =>\n easeInOutQuad(clamp((timestamp - now) / duration, 0, 1)),\n ),\n takeWhile(progress => progress < 1, true),\n map(progress => [\n prev[0] + startDelta * progress,\n cur[1] > 359 ? cur[1] : prev[1] + endDelta * progress,\n ]),\n );\n }),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n )\n .subscribe(([start, end]) => {\n nativeElement.setAttribute('d', describeSector(start, end));\n });\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiHoveredModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiPointerHintModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPieChartComponent} from './pie-chart.component';\nimport {TuiPieChartDirective} from './pie-chart.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiHoveredModule,\n PolymorpheusModule,\n TuiPointerHintModule,\n ],\n declarations: [TuiPieChartComponent, TuiPieChartDirective],\n exports: [TuiPieChartComponent],\n})\nexport class TuiPieChartModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-charts-components-pie-chart.js","sources":["ng://@taiga-ui/addon-charts/components/pie-chart/pie-chart.component.ts","ng://@taiga-ui/addon-charts/components/pie-chart/pie-chart.directive.ts","ng://@taiga-ui/addon-charts/components/pie-chart/pie-chart.module.ts","ng://@taiga-ui/addon-charts/components/pie-chart/taiga-ui-addon-charts-components-pie-chart.ts"],"sourcesContent":["import {Location} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {DomSanitizer, SafeValue} from '@angular/platform-browser';\nimport {TUI_DEFAULT_COLOR_HANDLER} from '@taiga-ui/addon-charts/constants';\nimport {TuiColorHandler} from '@taiga-ui/addon-charts/types';\nimport {\n sum,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiIdService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {colorFallback, TuiSizeXL, TuiSizeXS} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nconst RADII = {\n xs: `50`,\n s: `50`,\n m: `77.8`,\n l: `81.9`,\n xl: `81.3`,\n};\nconst TRANSFORM = {\n xs: 1.15,\n s: 1.25,\n m: 1.11,\n l: 1.09,\n xl: 1.08,\n};\n\n// TODO: 3.0 Remove sanitizer when Angular version is bumped\n@Component({\n selector: `tui-pie-chart`,\n templateUrl: `./pie-chart.template.html`,\n styleUrls: [`./pie-chart.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPieChartComponent {\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n value: readonly number[] = [];\n\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeXL = `m`;\n\n @Input()\n @tuiDefaultProp()\n colorHandler: TuiColorHandler = TUI_DEFAULT_COLOR_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n hintContent: PolymorpheusContent<TuiContextWithImplicit<number>> = ``;\n\n @Input()\n @tuiDefaultProp()\n masked = false;\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = NaN;\n\n @Output()\n activeItemIndexChange = new EventEmitter<number>();\n\n constructor(\n @Inject(TuiIdService) idService: TuiIdService,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(DomSanitizer) private readonly sanitizer: DomSanitizer,\n ) {\n this.autoIdString = idService.generate();\n }\n\n @HostBinding(`class._empty`)\n get empty(): boolean {\n return !this.getSum(this.value);\n }\n\n get maskId(): string {\n return `tui-ring-chart-${this.autoIdString}`;\n }\n\n get mask(): string | null {\n return this.masked\n ? `url(${this.locationRef.prepareExternalUrl(this.locationRef.path())}#${\n this.maskId\n })`\n : null;\n }\n\n get radius(): string {\n return RADII[this.size];\n }\n\n get segments(): ReadonlyArray<[number, number]> {\n return this.getSegments(this.value);\n }\n\n getTransform(index: number): string | null {\n const transform = this.masked\n ? `scale(${TRANSFORM[this.size]})`\n : `scale(${TRANSFORM.xs})`;\n\n return index === this.activeItemIndex ? transform : null;\n }\n\n getHint(hint: PolymorpheusContent): PolymorpheusContent {\n return this.hintContent ? hint : ``;\n }\n\n onHovered(hovered: boolean, index: number): void {\n this.updateActiveItemIndex(hovered ? index : NaN);\n }\n\n getColor(index: number): SafeValue {\n return this.sanitizer.bypassSecurityTrustStyle(\n `var(--tui-chart-${index}, ${colorFallback(this.colorHandler(index))})`,\n );\n }\n\n @tuiPure\n private getSum(value: readonly number[]): number {\n return sum(...value);\n }\n\n @tuiPure\n private getSegments(value: readonly number[]): ReadonlyArray<[number, number]> {\n return value\n .map((initial, i, array) =>\n array.reduce(\n (sum, current, j) => (j < i ? this.getDeg(current) + sum : sum),\n this.getDeg(initial),\n ),\n )\n .map((angle, index, array) => [\n array[index - 1] || 0,\n Math.min(angle, 359.9999),\n ]);\n }\n\n private getDeg(value: number): number {\n return 360 * (value / this.getSum(this.value));\n }\n\n private updateActiveItemIndex(index: number): void {\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.next(index);\n }\n}\n","import {Directive, ElementRef, Inject, Input, NgZone} from '@angular/core';\nimport {ANIMATION_FRAME, PERFORMANCE} from '@ng-web-apis/common';\nimport {describeSector} from '@taiga-ui/addon-charts/utils';\nimport {\n clamp,\n easeInOutQuad,\n tuiDefaultProp,\n TuiDestroyService,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {TUI_ANIMATIONS_DURATION} from '@taiga-ui/core';\nimport {BehaviorSubject, Observable} from 'rxjs';\nimport {map, pairwise, switchMap, takeUntil, takeWhile} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: `path[tuiPieChart]`,\n providers: [TuiDestroyService],\n})\nexport class TuiPieChartDirective {\n private readonly sector$ = new BehaviorSubject<readonly [number, number]>([0, 0]);\n\n @Input()\n @tuiDefaultProp()\n set tuiPieChart(sector: readonly [number, number]) {\n this.sector$.next(sector);\n }\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<SVGPathElement>,\n @Inject(NgZone) ngZone: NgZone,\n @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(PERFORMANCE) performance: Performance,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Inject(TUI_ANIMATIONS_DURATION) duration: number,\n ) {\n this.sector$\n .pipe(\n pairwise(),\n switchMap(([prev, cur]) => {\n const now = performance.now();\n const startDelta = cur[0] - prev[0];\n const endDelta = cur[1] - prev[1];\n\n return animationFrame$.pipe(\n map(timestamp =>\n easeInOutQuad(clamp((timestamp - now) / duration, 0, 1)),\n ),\n takeWhile(progress => progress < 1, true),\n map(progress => [\n prev[0] + startDelta * progress,\n cur[1] > 359 ? cur[1] : prev[1] + endDelta * progress,\n ]),\n );\n }),\n tuiZonefree(ngZone),\n takeUntil(destroy$),\n )\n .subscribe(([start, end]) => {\n nativeElement.setAttribute(`d`, describeSector(start, end));\n });\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiHoveredModule, TuiRepeatTimesModule} from '@taiga-ui/cdk';\nimport {TuiPointerHintModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPieChartComponent} from './pie-chart.component';\nimport {TuiPieChartDirective} from './pie-chart.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiHoveredModule,\n PolymorpheusModule,\n TuiPointerHintModule,\n ],\n declarations: [TuiPieChartComponent, TuiPieChartDirective],\n exports: [TuiPieChartComponent],\n})\nexport class TuiPieChartModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -10,11 +10,11 @@ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
10
10
  let TuiRingChartComponent = class TuiRingChartComponent {
11
11
  constructor() {
12
12
  this.value = [];
13
- this.size = 'm';
13
+ this.size = `m`;
14
14
  /** @deprecated */
15
15
  this.colorHandler = TUI_DEFAULT_COLOR_HANDLER;
16
16
  /** @deprecated */
17
- this.content = '';
17
+ this.content = ``;
18
18
  this.masked = true;
19
19
  this.activeItemIndex = NaN;
20
20
  this.activeItemIndexChange = new EventEmitter();
@@ -36,7 +36,7 @@ __decorate([
36
36
  ], TuiRingChartComponent.prototype, "value", void 0);
37
37
  __decorate([
38
38
  Input(),
39
- HostBinding('attr.data-size'),
39
+ HostBinding(`attr.data-size`),
40
40
  tuiDefaultProp()
41
41
  ], TuiRingChartComponent.prototype, "size", void 0);
42
42
  __decorate([
@@ -60,7 +60,7 @@ __decorate([
60
60
  ], TuiRingChartComponent.prototype, "activeItemIndexChange", void 0);
61
61
  TuiRingChartComponent = __decorate([
62
62
  Component({
63
- selector: 'tui-ring-chart',
63
+ selector: `tui-ring-chart`,
64
64
  template: "<div class=\"t-content\">\n <div\n *ngIf=\"content; else ngContent\"\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 <ng-template #ngContent>\n <div class=\"t-wrapper\">\n <ng-content></ng-content>\n </div>\n </ng-template>\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",
65
65
  changeDetection: ChangeDetectionStrategy.OnPush,
66
66
  styles: [":host{position:relative;display:block}:host[data-size='s']{width:4rem;height:4rem}:host[data-size='m']{width:9rem;height:9rem}:host[data-size='l']{width:11rem;height:11rem}:host[data-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-size='m'] .t-content{font:var(--tui-font-text-xs)}.t-wrapper:first-line{color:var(--tui-text-01)}:host[data-size='l'] .t-wrapper:first-line{font:var(--tui-font-text-l);font-weight:700}:host[data-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%}"]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-charts-components-ring-chart.js","sources":["ng://@taiga-ui/addon-charts/components/ring-chart/ring-chart.component.ts","ng://@taiga-ui/addon-charts/components/ring-chart/ring-chart.module.ts","ng://@taiga-ui/addon-charts/components/ring-chart/taiga-ui-addon-charts-components-ring-chart.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_DEFAULT_COLOR_HANDLER} from '@taiga-ui/addon-charts/constants';\nimport {TuiRingChartContext} from '@taiga-ui/addon-charts/interfaces';\nimport {TuiColorHandler} from '@taiga-ui/addon-charts/types';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiSizeS, TuiSizeXL} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: 3.0 Refactor to use ng-content\n@Component({\n selector: 'tui-ring-chart',\n templateUrl: './ring-chart.template.html',\n styleUrls: ['./ring-chart.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiRingChartComponent {\n @Input()\n @tuiDefaultProp()\n value: readonly number[] = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS | TuiSizeXL = 'm';\n\n /** @deprecated */\n @Input()\n @tuiDefaultProp()\n colorHandler: TuiColorHandler = TUI_DEFAULT_COLOR_HANDLER;\n\n /** @deprecated */\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiRingChartContext> = '';\n\n @Input()\n @tuiDefaultProp()\n masked = true;\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = NaN;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n onActiveItemIndexChange(index: number): void {\n this.updateActiveItemIndex(index);\n }\n\n private updateActiveItemIndex(index: number): void {\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.next(index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPieChartModule} from '@taiga-ui/addon-charts/components/pie-chart';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiRingChartComponent} from './ring-chart.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiPieChartModule],\n declarations: [TuiRingChartComponent],\n exports: [TuiRingChartComponent],\n})\nexport class TuiRingChartModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAeA;IAOa,qBAAqB,GAAlC,MAAa,qBAAqB;IAAlC;QAGI,UAAK,GAAsB,EAAE,CAAC;QAK9B,SAAI,GAAyB,GAAG,CAAC;;QAKjC,iBAAY,GAAoB,yBAAyB,CAAC;;QAK1D,YAAO,GAA6C,EAAE,CAAC;QAIvD,WAAM,GAAG,IAAI,CAAC;QAId,oBAAe,GAAG,GAAG,CAAC;QAGb,0BAAqB,GAAG,IAAI,YAAY,EAAU,CAAC;KAc/D;IAZG,uBAAuB,CAAC,KAAa;QACjC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACrC;IAEO,qBAAqB,CAAC,KAAa;QACvC,IAAI,KAAK,KAAK,IAAI,CAAC,eAAe,EAAE;YAChC,OAAO;SACV;QAED,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;EACJ;AAxCG;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;oDACa;AAK9B;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;mDACgB;AAKjC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;2DACyC;AAK1D;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;sDACsC;AAIvD;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;qDACH;AAId;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;8DACK;AAGtB;IADC,MAAM,EAAE;oEACmD;AA7BnD,qBAAqB;IANjC,SAAS,CAAC;QACP,QAAQ,EAAE,gBAAgB;QAC1B,suBAAyC;QAEzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,qBAAqB,CA2CjC;;ICrDY,kBAAkB,GAA/B,MAAa,kBAAkB;EAAG;AAArB,kBAAkB;IAL9B,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;QAC9D,YAAY,EAAE,CAAC,qBAAqB,CAAC;QACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;KACnC,CAAC;GACW,kBAAkB,CAAG;;ACZlC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-charts-components-ring-chart.js","sources":["ng://@taiga-ui/addon-charts/components/ring-chart/ring-chart.component.ts","ng://@taiga-ui/addon-charts/components/ring-chart/ring-chart.module.ts","ng://@taiga-ui/addon-charts/components/ring-chart/taiga-ui-addon-charts-components-ring-chart.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport {TUI_DEFAULT_COLOR_HANDLER} from '@taiga-ui/addon-charts/constants';\nimport {TuiRingChartContext} from '@taiga-ui/addon-charts/interfaces';\nimport {TuiColorHandler} from '@taiga-ui/addon-charts/types';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiSizeS, TuiSizeXL} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: 3.0 Refactor to use ng-content\n@Component({\n selector: `tui-ring-chart`,\n templateUrl: `./ring-chart.template.html`,\n styleUrls: [`./ring-chart.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiRingChartComponent {\n @Input()\n @tuiDefaultProp()\n value: readonly number[] = [];\n\n @Input()\n @HostBinding(`attr.data-size`)\n @tuiDefaultProp()\n size: TuiSizeS | TuiSizeXL = `m`;\n\n /** @deprecated */\n @Input()\n @tuiDefaultProp()\n colorHandler: TuiColorHandler = TUI_DEFAULT_COLOR_HANDLER;\n\n /** @deprecated */\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiRingChartContext> = ``;\n\n @Input()\n @tuiDefaultProp()\n masked = true;\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = NaN;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n onActiveItemIndexChange(index: number): void {\n this.updateActiveItemIndex(index);\n }\n\n private updateActiveItemIndex(index: number): void {\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.next(index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPieChartModule} from '@taiga-ui/addon-charts/components/pie-chart';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiRingChartComponent} from './ring-chart.component';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiPieChartModule],\n declarations: [TuiRingChartComponent],\n exports: [TuiRingChartComponent],\n})\nexport class TuiRingChartModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAeA;IAOa,qBAAqB,GAAlC,MAAa,qBAAqB;IAAlC;QAGI,UAAK,GAAsB,EAAE,CAAC;QAK9B,SAAI,GAAyB,GAAG,CAAC;;QAKjC,iBAAY,GAAoB,yBAAyB,CAAC;;QAK1D,YAAO,GAA6C,EAAE,CAAC;QAIvD,WAAM,GAAG,IAAI,CAAC;QAId,oBAAe,GAAG,GAAG,CAAC;QAGb,0BAAqB,GAAG,IAAI,YAAY,EAAU,CAAC;KAc/D;IAZG,uBAAuB,CAAC,KAAa;QACjC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;KACrC;IAEO,qBAAqB,CAAC,KAAa;QACvC,IAAI,KAAK,KAAK,IAAI,CAAC,eAAe,EAAE;YAChC,OAAO;SACV;QAED,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC1C;EACJ;AAxCG;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;oDACa;AAK9B;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;mDACgB;AAKjC;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;2DACyC;AAK1D;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;sDACsC;AAIvD;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;qDACH;AAId;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;8DACK;AAGtB;IADC,MAAM,EAAE;oEACmD;AA7BnD,qBAAqB;IANjC,SAAS,CAAC;QACP,QAAQ,EAAE,gBAAgB;QAC1B,suBAAyC;QAEzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;KAClD,CAAC;GACW,qBAAqB,CA2CjC;;ICrDY,kBAAkB,GAA/B,MAAa,kBAAkB;EAAG;AAArB,kBAAkB;IAL9B,QAAQ,CAAC;QACN,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,CAAC;QAC9D,YAAY,EAAE,CAAC,qBAAqB,CAAC;QACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;KACnC,CAAC;GACW,kBAAkB,CAAG;;ACZlC;;;;;;"}
@@ -4,7 +4,7 @@ const DEFAULT_COLORS = [
4
4
  "support-13" /* Havelock */,
5
5
  "support-21" /* Feijoa */,
6
6
  "support-11" /* Lilac */,
7
- 'base-05',
7
+ `base-05`,
8
8
  "support-01" /* Mustard */,
9
9
  "support-02" /* Texas */,
10
10
  "support-03" /* Tan */,
@@ -31,10 +31,10 @@ const DEFAULT_COLORS = [
31
31
  /** @deprecated use CSS variables */
32
32
  const TUI_DEFAULT_COLOR_HANDLER = index => DEFAULT_COLORS[index];
33
33
 
34
- const TUI_ALWAYS_DASHED = () => 'dashed';
35
- const TUI_ALWAYS_DOTTED = () => 'dotted';
36
- const TUI_ALWAYS_SOLID = () => 'solid';
37
- const TUI_ALWAYS_NONE = () => 'none';
34
+ const TUI_ALWAYS_DASHED = () => `dashed`;
35
+ const TUI_ALWAYS_DOTTED = () => `dotted`;
36
+ const TUI_ALWAYS_SOLID = () => `solid`;
37
+ const TUI_ALWAYS_NONE = () => `none`;
38
38
 
39
39
  /**
40
40
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-charts-constants.js","sources":["ng://@taiga-ui/addon-charts/constants/default-colors.ts","ng://@taiga-ui/addon-charts/constants/default-color-handler.ts","ng://@taiga-ui/addon-charts/constants/line-handlers.ts","ng://@taiga-ui/addon-charts/constants/taiga-ui-addon-charts-constants.ts"],"sourcesContent":["import {TuiBaseColor, TuiColor, TuiSupportColor} from '@taiga-ui/core';\n\n/** @deprecated */\nexport const DEFAULT_COLORS: ReadonlyArray<TuiColor | string> = [\n TuiBaseColor.Primary,\n TuiSupportColor.Havelock,\n TuiSupportColor.Feijoa,\n TuiSupportColor.Lilac,\n 'base-05',\n TuiSupportColor.Mustard,\n TuiSupportColor.Texas,\n TuiSupportColor.Tan,\n TuiSupportColor.Salmon,\n TuiSupportColor.Sienna,\n TuiSupportColor.Bittersweet,\n TuiSupportColor.Pinkie,\n TuiSupportColor.Charm,\n TuiSupportColor.Amethist,\n TuiSupportColor.Helio,\n TuiSupportColor.Malibu,\n TuiSupportColor.Picton,\n TuiSupportColor.Mint,\n TuiSupportColor.Fountain,\n TuiSupportColor.Puertorico,\n TuiSupportColor.Bay,\n TuiSupportColor.Forest,\n TuiSupportColor.York,\n TuiBaseColor.Error,\n TuiBaseColor.Success,\n TuiBaseColor.Secondary,\n];\n","import {TuiColorHandler} from '@taiga-ui/addon-charts/types';\n\nimport {DEFAULT_COLORS} from './default-colors';\n\n/** @deprecated use CSS variables */\nexport const TUI_DEFAULT_COLOR_HANDLER: TuiColorHandler = index => DEFAULT_COLORS[index];\n","import {TuiLineHandler} from '@taiga-ui/addon-charts/types';\n\nexport const TUI_ALWAYS_DASHED: TuiLineHandler = () => 'dashed';\nexport const TUI_ALWAYS_DOTTED: TuiLineHandler = () => 'dotted';\nexport const TUI_ALWAYS_SOLID: TuiLineHandler = () => 'solid';\nexport const TUI_ALWAYS_NONE: TuiLineHandler = () => 'none';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAEA;MACa,cAAc,GAAqC;;;;;IAK5D,SAAS;;;;;;;;;;;;;;;;;;;;;;;;ACJb;MACa,yBAAyB,GAAoB,KAAK,IAAI,cAAc,CAAC,KAAK;;MCH1E,iBAAiB,GAAmB,MAAM,SAAS;MACnD,iBAAiB,GAAmB,MAAM,SAAS;MACnD,gBAAgB,GAAmB,MAAM,QAAQ;MACjD,eAAe,GAAmB,MAAM;;ACLrD;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-charts-constants.js","sources":["ng://@taiga-ui/addon-charts/constants/default-colors.ts","ng://@taiga-ui/addon-charts/constants/default-color-handler.ts","ng://@taiga-ui/addon-charts/constants/line-handlers.ts","ng://@taiga-ui/addon-charts/constants/taiga-ui-addon-charts-constants.ts"],"sourcesContent":["import {TuiBaseColor, TuiColor, TuiSupportColor} from '@taiga-ui/core';\n\n/** @deprecated */\nexport const DEFAULT_COLORS: ReadonlyArray<TuiColor | string> = [\n TuiBaseColor.Primary,\n TuiSupportColor.Havelock,\n TuiSupportColor.Feijoa,\n TuiSupportColor.Lilac,\n `base-05`,\n TuiSupportColor.Mustard,\n TuiSupportColor.Texas,\n TuiSupportColor.Tan,\n TuiSupportColor.Salmon,\n TuiSupportColor.Sienna,\n TuiSupportColor.Bittersweet,\n TuiSupportColor.Pinkie,\n TuiSupportColor.Charm,\n TuiSupportColor.Amethist,\n TuiSupportColor.Helio,\n TuiSupportColor.Malibu,\n TuiSupportColor.Picton,\n TuiSupportColor.Mint,\n TuiSupportColor.Fountain,\n TuiSupportColor.Puertorico,\n TuiSupportColor.Bay,\n TuiSupportColor.Forest,\n TuiSupportColor.York,\n TuiBaseColor.Error,\n TuiBaseColor.Success,\n TuiBaseColor.Secondary,\n];\n","import {TuiColorHandler} from '@taiga-ui/addon-charts/types';\n\nimport {DEFAULT_COLORS} from './default-colors';\n\n/** @deprecated use CSS variables */\nexport const TUI_DEFAULT_COLOR_HANDLER: TuiColorHandler = index => DEFAULT_COLORS[index];\n","import {TuiLineHandler} from '@taiga-ui/addon-charts/types';\n\nexport const TUI_ALWAYS_DASHED: TuiLineHandler = () => `dashed`;\nexport const TUI_ALWAYS_DOTTED: TuiLineHandler = () => `dotted`;\nexport const TUI_ALWAYS_SOLID: TuiLineHandler = () => `solid`;\nexport const TUI_ALWAYS_NONE: TuiLineHandler = () => `none`;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAEA;MACa,cAAc,GAAqC;;;;;IAK5D,SAAS;;;;;;;;;;;;;;;;;;;;;;;;ACJb;MACa,yBAAyB,GAAoB,KAAK,IAAI,cAAc,CAAC,KAAK;;MCH1E,iBAAiB,GAAmB,MAAM,SAAS;MACnD,iBAAiB,GAAmB,MAAM,SAAS;MACnD,gBAAgB,GAAmB,MAAM,QAAQ;MACjD,eAAe,GAAmB,MAAM;;ACLrD;;;;;;"}