@taiga-ui/addon-charts 4.52.0-canary.d626d20 → 4.52.0-canary.e07790b

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 (76) hide show
  1. package/README.md +2 -2
  2. package/components/line-chart/line-chart-hint.directive.d.ts +3 -3
  3. package/components/line-chart/line-chart.component.d.ts +4 -3
  4. package/components/line-chart/line-chart.options.d.ts +1 -3
  5. package/fesm2022/taiga-ui-addon-charts-components-arc-chart.mjs +6 -7
  6. package/fesm2022/taiga-ui-addon-charts-components-arc-chart.mjs.map +1 -1
  7. package/fesm2022/taiga-ui-addon-charts-components-axes.mjs +6 -8
  8. package/fesm2022/taiga-ui-addon-charts-components-axes.mjs.map +1 -1
  9. package/fesm2022/taiga-ui-addon-charts-components-bar-chart.mjs +10 -11
  10. package/fesm2022/taiga-ui-addon-charts-components-bar-chart.mjs.map +1 -1
  11. package/fesm2022/taiga-ui-addon-charts-components-bar-set.mjs +6 -6
  12. package/fesm2022/taiga-ui-addon-charts-components-bar-set.mjs.map +1 -1
  13. package/fesm2022/taiga-ui-addon-charts-components-bar.mjs +6 -7
  14. package/fesm2022/taiga-ui-addon-charts-components-bar.mjs.map +1 -1
  15. package/fesm2022/taiga-ui-addon-charts-components-legend-item.mjs +5 -5
  16. package/fesm2022/taiga-ui-addon-charts-components-legend-item.mjs.map +1 -1
  17. package/fesm2022/taiga-ui-addon-charts-components-line-chart.mjs +28 -34
  18. package/fesm2022/taiga-ui-addon-charts-components-line-chart.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-addon-charts-components-line-days-chart.mjs +16 -18
  20. package/fesm2022/taiga-ui-addon-charts-components-line-days-chart.mjs.map +1 -1
  21. package/fesm2022/taiga-ui-addon-charts-components-pie-chart.mjs +18 -17
  22. package/fesm2022/taiga-ui-addon-charts-components-pie-chart.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-addon-charts-components-ring-chart.mjs +6 -6
  24. package/fesm2022/taiga-ui-addon-charts-components-ring-chart.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-addon-charts-utils.mjs +6 -3
  26. package/fesm2022/taiga-ui-addon-charts-utils.mjs.map +1 -1
  27. package/package.json +16 -41
  28. package/esm2022/components/arc-chart/arc-chart.component.mjs +0 -85
  29. package/esm2022/components/arc-chart/index.mjs +0 -2
  30. package/esm2022/components/arc-chart/taiga-ui-addon-charts-components-arc-chart.mjs +0 -5
  31. package/esm2022/components/axes/axes.component.mjs +0 -79
  32. package/esm2022/components/axes/index.mjs +0 -2
  33. package/esm2022/components/axes/taiga-ui-addon-charts-components-axes.mjs +0 -5
  34. package/esm2022/components/bar/bar.component.mjs +0 -35
  35. package/esm2022/components/bar/index.mjs +0 -2
  36. package/esm2022/components/bar/taiga-ui-addon-charts-components-bar.mjs +0 -5
  37. package/esm2022/components/bar-chart/bar-chart.component.mjs +0 -77
  38. package/esm2022/components/bar-chart/index.mjs +0 -2
  39. package/esm2022/components/bar-chart/taiga-ui-addon-charts-components-bar-chart.mjs +0 -5
  40. package/esm2022/components/bar-set/bar-set.component.mjs +0 -50
  41. package/esm2022/components/bar-set/index.mjs +0 -2
  42. package/esm2022/components/bar-set/taiga-ui-addon-charts-components-bar-set.mjs +0 -5
  43. package/esm2022/components/index.mjs +0 -11
  44. package/esm2022/components/legend-item/index.mjs +0 -2
  45. package/esm2022/components/legend-item/legend-item.component.mjs +0 -37
  46. package/esm2022/components/legend-item/taiga-ui-addon-charts-components-legend-item.mjs +0 -5
  47. package/esm2022/components/line-chart/index.mjs +0 -4
  48. package/esm2022/components/line-chart/line-chart-hint.directive.mjs +0 -68
  49. package/esm2022/components/line-chart/line-chart.component.mjs +0 -180
  50. package/esm2022/components/line-chart/line-chart.options.mjs +0 -14
  51. package/esm2022/components/line-chart/taiga-ui-addon-charts-components-line-chart.mjs +0 -5
  52. package/esm2022/components/line-days-chart/index.mjs +0 -3
  53. package/esm2022/components/line-days-chart/line-days-chart-hint.directive.mjs +0 -71
  54. package/esm2022/components/line-days-chart/line-days-chart.component.mjs +0 -194
  55. package/esm2022/components/line-days-chart/taiga-ui-addon-charts-components-line-days-chart.mjs +0 -5
  56. package/esm2022/components/pie-chart/index.mjs +0 -3
  57. package/esm2022/components/pie-chart/pie-chart.component.mjs +0 -115
  58. package/esm2022/components/pie-chart/pie-chart.directive.mjs +0 -48
  59. package/esm2022/components/pie-chart/taiga-ui-addon-charts-components-pie-chart.mjs +0 -5
  60. package/esm2022/components/ring-chart/index.mjs +0 -2
  61. package/esm2022/components/ring-chart/ring-chart.component.mjs +0 -39
  62. package/esm2022/components/ring-chart/taiga-ui-addon-charts-components-ring-chart.mjs +0 -5
  63. package/esm2022/components/taiga-ui-addon-charts-components.mjs +0 -5
  64. package/esm2022/index.mjs +0 -2
  65. package/esm2022/taiga-ui-addon-charts.mjs +0 -5
  66. package/esm2022/types/index.mjs +0 -2
  67. package/esm2022/types/taiga-ui-addon-charts-types.mjs +0 -5
  68. package/esm2022/utils/control-point.mjs +0 -13
  69. package/esm2022/utils/describe-sector.mjs +0 -33
  70. package/esm2022/utils/draw-curve.mjs +0 -8
  71. package/esm2022/utils/draw-line.mjs +0 -4
  72. package/esm2022/utils/draw.mjs +0 -10
  73. package/esm2022/utils/index.mjs +0 -8
  74. package/esm2022/utils/line-angle.mjs +0 -6
  75. package/esm2022/utils/line-length.mjs +0 -6
  76. package/esm2022/utils/taiga-ui-addon-charts-utils.mjs +0 -5
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktYWRkb24tY2hhcnRzLWNvbXBvbmVudHMtbGVnZW5kLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9sZWdlbmQtaXRlbS90YWlnYS11aS1hZGRvbi1jaGFydHMtY29tcG9uZW50cy1sZWdlbmQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './line-chart.component';
2
- export * from './line-chart.options';
3
- export * from './line-chart-hint.directive';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWNoYXJ0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saW5lLWNoYXJ0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmUtY2hhcnQub3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpbmUtY2hhcnQtaGludC5kaXJlY3RpdmUnO1xuIl19
@@ -1,68 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { ContentChildren, DestroyRef, Directive, ElementRef, forwardRef, inject, Input, NgZone, Renderer2, } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
5
- import { TuiHoveredService } from '@taiga-ui/cdk/directives/hovered';
6
- import { tuiQueryListChanges, tuiZonefree } from '@taiga-ui/cdk/observables';
7
- import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
8
- import { combineLatest, distinctUntilChanged, filter, map, startWith, switchMap, } from 'rxjs';
9
- import { TuiLineChart } from './line-chart.component';
10
- import * as i0 from "@angular/core";
11
- class TuiLineChartHint {
12
- constructor() {
13
- this.charts = EMPTY_QUERY;
14
- this.chartsRef = EMPTY_QUERY;
15
- this.renderer = inject(Renderer2);
16
- this.destroyRef = inject(DestroyRef);
17
- this.zone = inject(NgZone);
18
- this.hovered$ = inject(TuiHoveredService);
19
- }
20
- ngAfterViewInit() {
21
- combineLatest([tuiLineChartDrivers(this.charts), this.hovered$])
22
- .pipe(filter((result) => !result.some(Boolean)), tuiZonefree(this.zone), takeUntilDestroyed(this.destroyRef))
23
- .subscribe(() => {
24
- this.charts.forEach((chart) => chart.onHovered(NaN));
25
- });
26
- }
27
- // _chart is required by TuiLineDaysChartComponent that impersonates this directive
28
- getContext(index, _chart) {
29
- return this.computeContext(...this.charts.map(({ value }) => value))[index] || [];
30
- }
31
- // _chart is required by TuiLineDaysChartComponent that impersonates this directive
32
- raise(index, _chart) {
33
- const current = this.charts.map((chart) => chart.value[index] ?? [0, 0]);
34
- const sorted = [...current].sort((a, b) => a[1] - b[1]);
35
- this.charts.forEach((chart) => chart.onHovered(index));
36
- this.chartsRef.forEach(({ nativeElement }, index) => this.renderer.setStyle(nativeElement, 'z-index', sorted.indexOf(current[index] ?? [0, 0])));
37
- }
38
- computeContext(...values) {
39
- return (values[0] || []).map((_, index) => values.map((value) => value[index] ?? [0, 0]));
40
- }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLineChartHint, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiLineChartHint, isStandalone: true, selector: "[tuiLineChartHint]", inputs: { hint: ["tuiLineChartHint", "hint"] }, providers: [TuiHoveredService], queries: [{ propertyName: "charts", predicate: i0.forwardRef(function () { return TuiLineChart; }) }, { propertyName: "chartsRef", predicate: i0.forwardRef(function () { return TuiLineChart; }), read: ElementRef }], ngImport: i0 }); }
43
- }
44
- __decorate([
45
- tuiPure
46
- ], TuiLineChartHint.prototype, "computeContext", null);
47
- export { TuiLineChartHint };
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLineChartHint, decorators: [{
49
- type: Directive,
50
- args: [{
51
- standalone: true,
52
- selector: '[tuiLineChartHint]',
53
- providers: [TuiHoveredService],
54
- }]
55
- }], propDecorators: { charts: [{
56
- type: ContentChildren,
57
- args: [forwardRef(() => TuiLineChart)]
58
- }], chartsRef: [{
59
- type: ContentChildren,
60
- args: [forwardRef(() => TuiLineChart), { read: ElementRef }]
61
- }], hint: [{
62
- type: Input,
63
- args: ['tuiLineChartHint']
64
- }], computeContext: [] } });
65
- export function tuiLineChartDrivers(charts) {
66
- return combineLatest(charts.map(({ drivers }) => tuiQueryListChanges(drivers).pipe(map((drivers) => drivers.map((driver) => driver.pipe(startWith(false))))))).pipe(map((all) => all.reduce((acc, drivers) => acc.concat(drivers), [])), switchMap((drivers) => combineLatest(drivers)), map((values) => values.some(Boolean)), distinctUntilChanged());
67
- }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jaGFydC1oaW50LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xpbmUtY2hhcnQvbGluZS1jaGFydC1oaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVILGVBQWUsRUFDZixVQUFVLEVBQ1YsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFM0UsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRzFELE9BQU8sRUFDSCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBRUgsU0FBUyxFQUNULFNBQVMsR0FDWixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFcEQsTUFLYSxnQkFBZ0I7SUFMN0I7UUFPcUIsV0FBTSxHQUE0QixXQUFXLENBQUM7UUFHOUMsY0FBUyxHQUF1QyxXQUFXLENBQUM7UUFFNUQsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLFNBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBZ0R6RDtJQTNDVSxlQUFlO1FBQ2xCLGFBQWEsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDM0QsSUFBSSxDQUNELE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ3pDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQ3RCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDdEM7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxtRkFBbUY7SUFDNUUsVUFBVSxDQUFDLEtBQWEsRUFBRSxNQUFvQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BGLENBQUM7SUFFRCxtRkFBbUY7SUFDNUUsS0FBSyxDQUFDLEtBQWEsRUFBRSxNQUFvQjtRQUM1QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDM0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFXLENBQ3JELENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLGFBQWEsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNsQixhQUFhLEVBQ2IsU0FBUyxFQUNULE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQzNDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFHTyxjQUFjLENBQ2xCLEdBQUcsTUFBMEM7UUFFN0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDdEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDTixDQUFDOytHQXpEUSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixpSEFGZCxDQUFDLGlCQUFpQixDQUFDLG9GQUdJLFlBQVksbUZBR1osWUFBWSxZQUFVLFVBQVU7O0FBK0MxRDtJQURQLE9BQU87c0RBT1A7U0F6RFEsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBTDVCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUNqQzs4QkFHb0IsTUFBTTtzQkFEdEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUk5QixTQUFTO3NCQUR6QixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBUzVELElBQUk7c0JBRFYsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBdUNqQixjQUFjO0FBUzFCLE1BQU0sVUFBVSxtQkFBbUIsQ0FDL0IsTUFBNEQ7SUFFNUQsT0FBTyxhQUFhLENBQ2hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FDckIsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMzRSxDQUNKLENBQ0osQ0FBQyxJQUFJLENBQ0YsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUNuRSxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUM5QyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDckMsb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIHR5cGUgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgdHlwZSBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUhvdmVyZWRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaG92ZXJlZCc7XG5pbXBvcnQge3R1aVF1ZXJ5TGlzdENoYW5nZXMsIHR1aVpvbmVmcmVlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHlwZSBUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpUHVyZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7dHlwZSBUdWlQb2ludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHt0eXBlIFBvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtcbiAgICBjb21iaW5lTGF0ZXN0LFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBtYXAsXG4gICAgdHlwZSBPYnNlcnZhYmxlLFxuICAgIHN0YXJ0V2l0aCxcbiAgICBzd2l0Y2hNYXAsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aUxpbmVDaGFydH0gZnJvbSAnLi9saW5lLWNoYXJ0LmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpTGluZUNoYXJ0SGludF0nLFxuICAgIHByb3ZpZGVyczogW1R1aUhvdmVyZWRTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpTGluZUNoYXJ0SGludCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBUdWlMaW5lQ2hhcnQpKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhcnRzOiBRdWVyeUxpc3Q8VHVpTGluZUNoYXJ0PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aUxpbmVDaGFydCksIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYXJ0c1JlZjogUXVlcnlMaXN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvdmVyZWQkID0gaW5qZWN0KFR1aUhvdmVyZWRTZXJ2aWNlKTtcblxuICAgIEBJbnB1dCgndHVpTGluZUNoYXJ0SGludCcpXG4gICAgcHVibGljIGhpbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxyZWFkb25seSBUdWlQb2ludFtdPj47XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0dWlMaW5lQ2hhcnREcml2ZXJzKHRoaXMuY2hhcnRzKSwgdGhpcy5ob3ZlcmVkJF0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKHJlc3VsdCkgPT4gIXJlc3VsdC5zb21lKEJvb2xlYW4pKSxcbiAgICAgICAgICAgICAgICB0dWlab25lZnJlZSh0aGlzLnpvbmUpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFydHMuZm9yRWFjaCgoY2hhcnQpID0+IGNoYXJ0Lm9uSG92ZXJlZChOYU4pKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIF9jaGFydCBpcyByZXF1aXJlZCBieSBUdWlMaW5lRGF5c0NoYXJ0Q29tcG9uZW50IHRoYXQgaW1wZXJzb25hdGVzIHRoaXMgZGlyZWN0aXZlXG4gICAgcHVibGljIGdldENvbnRleHQoaW5kZXg6IG51bWJlciwgX2NoYXJ0OiBUdWlMaW5lQ2hhcnQpOiByZWFkb25seSBUdWlQb2ludFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcHV0ZUNvbnRleHQoLi4udGhpcy5jaGFydHMubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSkpW2luZGV4XSB8fCBbXTtcbiAgICB9XG5cbiAgICAvLyBfY2hhcnQgaXMgcmVxdWlyZWQgYnkgVHVpTGluZURheXNDaGFydENvbXBvbmVudCB0aGF0IGltcGVyc29uYXRlcyB0aGlzIGRpcmVjdGl2ZVxuICAgIHB1YmxpYyByYWlzZShpbmRleDogbnVtYmVyLCBfY2hhcnQ6IFR1aUxpbmVDaGFydCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5jaGFydHMubWFwKFxuICAgICAgICAgICAgKGNoYXJ0KSA9PiBjaGFydC52YWx1ZVtpbmRleF0gPz8gKFswLCAwXSBhcyBjb25zdCksXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3Qgc29ydGVkID0gWy4uLmN1cnJlbnRdLnNvcnQoKGEsIGIpID0+IGFbMV0gLSBiWzFdKTtcblxuICAgICAgICB0aGlzLmNoYXJ0cy5mb3JFYWNoKChjaGFydCkgPT4gY2hhcnQub25Ib3ZlcmVkKGluZGV4KSk7XG4gICAgICAgIHRoaXMuY2hhcnRzUmVmLmZvckVhY2goKHtuYXRpdmVFbGVtZW50fSwgaW5kZXgpID0+XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ3otaW5kZXgnLFxuICAgICAgICAgICAgICAgIHNvcnRlZC5pbmRleE9mKGN1cnJlbnRbaW5kZXhdID8/IFswLCAwXSksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBjb21wdXRlQ29udGV4dChcbiAgICAgICAgLi4udmFsdWVzOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aVBvaW50W10+XG4gICAgKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlQb2ludFtdPiB7XG4gICAgICAgIHJldHVybiAodmFsdWVzWzBdIHx8IFtdKS5tYXAoKF8sIGluZGV4KSA9PlxuICAgICAgICAgICAgdmFsdWVzLm1hcCgodmFsdWUpID0+IHZhbHVlW2luZGV4XSA/PyBbMCwgMF0pLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUxpbmVDaGFydERyaXZlcnMoXG4gICAgY2hhcnRzOiBRdWVyeUxpc3Q8e2RyaXZlcnM6IFF1ZXJ5TGlzdDxPYnNlcnZhYmxlPGJvb2xlYW4+Pn0+LFxuKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoXG4gICAgICAgIGNoYXJ0cy5tYXAoKHtkcml2ZXJzfSkgPT5cbiAgICAgICAgICAgIHR1aVF1ZXJ5TGlzdENoYW5nZXMoZHJpdmVycykucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGRyaXZlcnMpID0+IGRyaXZlcnMubWFwKChkcml2ZXIpID0+IGRyaXZlci5waXBlKHN0YXJ0V2l0aChmYWxzZSkpKSksXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICkucGlwZShcbiAgICAgICAgbWFwKChhbGwpID0+IGFsbC5yZWR1Y2UoKGFjYywgZHJpdmVycykgPT4gYWNjLmNvbmNhdChkcml2ZXJzKSwgW10pKSxcbiAgICAgICAgc3dpdGNoTWFwKChkcml2ZXJzKSA9PiBjb21iaW5lTGF0ZXN0KGRyaXZlcnMpKSxcbiAgICAgICAgbWFwKCh2YWx1ZXMpID0+IHZhbHVlcy5zb21lKEJvb2xlYW4pKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICApO1xufVxuIl19
@@ -1,180 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, computed, inject, Input, NgZone, signal, ViewChildren, } from '@angular/core';
4
- import { toSignal } from '@angular/core/rxjs-interop';
5
- import { ResizeObserverService } from '@ng-web-apis/resize-observer';
6
- import { tuiDraw } from '@taiga-ui/addon-charts/utils';
7
- import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
8
- import { TuiLet } from '@taiga-ui/cdk/directives/let';
9
- import { tuiZoneOptimized } from '@taiga-ui/cdk/observables';
10
- import { tuiInjectId } from '@taiga-ui/cdk/services';
11
- import { tuiIsPresent, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
12
- import { TuiHint, TuiHintHover, TuiHintOptionsDirective, tuiHintOptionsProvider, } from '@taiga-ui/core/directives/hint';
13
- import { distinctUntilChanged, map, Subject } from 'rxjs';
14
- import { TUI_LINE_CHART_OPTIONS } from './line-chart.options';
15
- import { TuiLineChartHint } from './line-chart-hint.directive';
16
- import * as i0 from "@angular/core";
17
- import * as i1 from "@taiga-ui/core/directives/hint";
18
- class TuiLineChart {
19
- constructor() {
20
- this.zone = inject(NgZone);
21
- this.options = inject(TUI_LINE_CHART_OPTIONS);
22
- this.hover$ = new Subject();
23
- this.autoId = tuiInjectId();
24
- this.resize = toSignal(inject(ResizeObserverService, { self: true }).pipe(map(([e]) => e?.contentRect.height || 0)), { initialValue: 0 });
25
- this.box = signal('');
26
- this.hintDirective = inject(TuiLineChartHint, { optional: true });
27
- this.hintOptions = inject(TuiHintOptionsDirective, { optional: true });
28
- this.viewBox = computed(() => {
29
- const offset = this.height / Math.max(this.resize(), 1);
30
- const [x = 0, y = 0, width = 0, height = 0] = this.box().split(' ').map(Number);
31
- return `${x} ${y - offset} ${width} ${height + 2 * offset}`;
32
- });
33
- this.drivers = EMPTY_QUERY;
34
- this.x = 0;
35
- this.y = 0;
36
- this.width = 0;
37
- this.height = 0;
38
- this.smoothingFactor = this.options.smoothingFactor;
39
- this.xStringify = null;
40
- this.yStringify = null;
41
- this.filled = this.options.filled;
42
- this.dots = this.options.dots;
43
- this.value = [];
44
- }
45
- set valueSetter(value) {
46
- this.value = value.filter((item) => !item.some(Number.isNaN));
47
- }
48
- ngOnChanges() {
49
- this.box.set(`${this.x} ${this.y} ${this.width} ${this.height}`);
50
- }
51
- onHovered(index) {
52
- this.hover$.next(index);
53
- }
54
- get hovered$() {
55
- return this.hover$.pipe(distinctUntilChanged(), tuiZoneOptimized(this.zone));
56
- }
57
- get hintContent() {
58
- return this.hintOptions?.content || '';
59
- }
60
- get fillId() {
61
- return `tui-line-chart-${this.autoId}`;
62
- }
63
- get fill() {
64
- return this.filled ? `url(#${this.fillId})` : 'none';
65
- }
66
- get d() {
67
- return this.getD(this.value, this.smoothingFactor);
68
- }
69
- get fillD() {
70
- return this.value.length
71
- ? `${this.d}V ${this.y} H ${this.value[0]?.[0]} V ${this.value[0]?.[1]}`
72
- : this.d;
73
- }
74
- get isFocusable() {
75
- return !this.hintDirective && this.hasHints;
76
- }
77
- get hasHints() {
78
- return (!!this.xStringify ||
79
- !!this.yStringify ||
80
- !!this.hintDirective?.hint ||
81
- !!this.hintContent);
82
- }
83
- onMouseLeave() {
84
- if (!this.hintDirective) {
85
- this.onHovered(NaN);
86
- }
87
- }
88
- getX(index) {
89
- if (this.isSinglePoint) {
90
- return (this.value[0]?.[0] || 0) / 2;
91
- }
92
- return index
93
- ? ((this.value[index - 1]?.[0] || 0) + (this.value[index]?.[0] || 0)) / 2
94
- : 2 * (this.value[0]?.[0] || 0) - this.getX(1);
95
- }
96
- getWidth(index) {
97
- return (100 * this.computeWidth(index)) / this.width;
98
- }
99
- getHintId(index) {
100
- return `${this.autoId}_${index}`;
101
- }
102
- getImplicit($implicit) {
103
- return (this.hintDirective?.getContext(this.value.indexOf($implicit), this) ??
104
- $implicit);
105
- }
106
- getHovered(hovered) {
107
- // This checks for NaN and null too since async pipe returns null before first item
108
- return tuiIsPresent(hovered) && Number.isInteger(hovered)
109
- ? (this.value[hovered] ?? null)
110
- : null;
111
- }
112
- getBottom(y) {
113
- return (100 * (y - this.y)) / this.height;
114
- }
115
- getLeft(x) {
116
- return (100 * (x - this.x)) / this.width;
117
- }
118
- getOffset(x) {
119
- return (100 * ((this.value[x]?.[0] || 0) - this.getX(x))) / this.computeWidth(x);
120
- }
121
- onMouseEnter(index) {
122
- if (this.hintDirective) {
123
- this.hintDirective.raise(index, this);
124
- }
125
- else {
126
- this.onHovered(index);
127
- }
128
- }
129
- get isSinglePoint() {
130
- return this.value.length === 1;
131
- }
132
- getD(value, smoothingFactor) {
133
- return value.reduce((d, point, index) => index ? `${d} ${tuiDraw(value, index, smoothingFactor)}` : `M ${point}`, '');
134
- }
135
- computeWidth(index) {
136
- return index === this.value.length - 1
137
- ? 2 * ((this.value[index]?.[0] || 0) - this.getX(index))
138
- : this.getX(index + 1) - this.getX(index);
139
- }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLineChart, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
141
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiLineChart, isStandalone: true, selector: "tui-line-chart", inputs: { x: "x", y: "y", width: "width", height: "height", smoothingFactor: "smoothingFactor", xStringify: "xStringify", yStringify: "yStringify", filled: "filled", dots: "dots", valueSetter: ["value", "valueSetter"] }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, providers: [ResizeObserverService], viewQueries: [{ propertyName: "drivers", predicate: TuiHintHover, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *tuiLet=\"hovered$ | async as hovered\">\n <svg\n focusable=\"false\"\n height=\"100%\"\n preserveAspectRatio=\"none\"\n width=\"100%\"\n xmlns=\"http://www.w3.org/2000/svg\"\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 offset=\"0%\"\n stop-color=\"currentColor\"\n stop-opacity=\"0.5\"\n />\n <stop\n offset=\"100%\"\n stop-color=\"currentColor\"\n stop-opacity=\"0\"\n />\n </linearGradient>\n </defs>\n <path\n stroke=\"none\"\n [attr.d]=\"fillD\"\n [attr.fill]=\"fill\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n vector-effect=\"non-scaling-stroke\"\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.bottom.%]=\"getBottom(point[1])\"\n [style.left.%]=\"getLeft(point[0])\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"hasHints\">\n <ng-container *ngFor=\"let point of value; let index = index\">\n <!-- TODO: Fix hint type -->\n <div\n *ngIf=\"value.length > 1 || dots\"\n class=\"t-column\"\n [class.t-column_hint_hovered]=\"drivers.get(index) | async\"\n [class.t-column_hovered]=\"hovered === index\"\n [style.left.%]=\"getLeft(getX(index))\"\n [style.width.%]=\"getWidth(index)\"\n [tuiHint]=\"$any(hintDirective?.hint || hintContent)\"\n [tuiHintContext]=\"{$implicit: getImplicit(point), index: index}\"\n [tuiHintDescribe]=\"isFocusable ? getHintId(index) : null\"\n [tuiHintHost]=\"hintHost\"\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 [id]=\"getHintId(index)\"\n [style.bottom.%]=\"getBottom(point[1])\"\n [style.left.%]=\"getOffset(index)\"\n [tabIndex]=\"isFocusable ? 0 : -1\"\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-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", styles: [":host{display:flex;inline-size:100%;block-size:100%;pointer-events:none}.t-svg{block-size:calc(100% + 1px);transform:scaleY(-1);margin:-.03125rem 0}.t-column{position:absolute;top:0;block-size:100%;pointer-events:auto}.t-dot{position:absolute;inline-size:.375rem;block-size:.375rem;border-radius:100%;background:currentColor;margin:-.1875rem;box-shadow:0 0 0 2px #fff}.t-host{position:absolute;left:50%;inline-size:.5rem;block-size:.5rem;border-radius:100%;opacity:0;background:#fff;margin:-.25rem;box-shadow:0 0 0 2px currentColor,0 .0625rem .1875rem .125rem #0000001a;outline:none;pointer-events:none}.t-host:focus,.t-column_hovered .t-host,.t-column:hover .t-host,.t-column_hint_hovered .t-host{opacity:1}.t-line{position:absolute;opacity:0;background:var(--tui-border-normal)}.t-line_vertical{top:0;bottom:0;left:50%;inline-size:1px}.t-line_horizontal{z-index:-1;inline-size:100%;block-size:1px}:host[style^=\"z-index: 0\"] .t-column_hovered .t-line,:host:not([style]) .t-column:hover .t-line,:host:not([style]) .t-column_hint_hovered .t-line,:host[style^=\"z-index: 0\"] .t-column_hovered+.t-line,:host:not([style]) .t-column:hover+.t-line,:host:not([style]) .t-column_hint_hovered+.t-line{opacity:1}.t-hint{position:absolute;box-shadow:var(--tui-shadow-small);font:var(--tui-font-text-xs);block-size:1.25rem;line-height:1.25rem;margin-block-end:-.625rem;padding:0 .375rem;white-space:nowrap;color:var(--tui-text-primary);background:var(--tui-background-base);transform:translate3d(-50%,0,0)}.t-hint_x{bottom:0}.t-hint_y{left:0}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.TuiHintDirective, selector: "[tuiHint]:not(ng-container):not(ng-template)", inputs: ["tuiHintContext", "tuiHintAppearance", "tuiHint"], outputs: ["tuiHintVisible"] }, { kind: "directive", type: i1.TuiHintDescribe, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { kind: "directive", type: i1.TuiHintHost, selector: "[tuiHint][tuiHintHost]", inputs: ["tuiHintHost"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }], viewProviders: [tuiHintOptionsProvider({ direction: 'top', hideDelay: 0 })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
142
- }
143
- __decorate([
144
- tuiPure
145
- ], TuiLineChart.prototype, "hovered$", null);
146
- __decorate([
147
- tuiPure
148
- ], TuiLineChart.prototype, "getD", null);
149
- export { TuiLineChart };
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLineChart, decorators: [{
151
- type: Component,
152
- args: [{ standalone: true, selector: 'tui-line-chart', imports: [AsyncPipe, NgForOf, NgIf, TuiHint, TuiLet], changeDetection: ChangeDetectionStrategy.OnPush, providers: [ResizeObserverService], viewProviders: [tuiHintOptionsProvider({ direction: 'top', hideDelay: 0 })], host: {
153
- '(mouseleave)': 'onMouseLeave()',
154
- }, template: "<ng-container *tuiLet=\"hovered$ | async as hovered\">\n <svg\n focusable=\"false\"\n height=\"100%\"\n preserveAspectRatio=\"none\"\n width=\"100%\"\n xmlns=\"http://www.w3.org/2000/svg\"\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 offset=\"0%\"\n stop-color=\"currentColor\"\n stop-opacity=\"0.5\"\n />\n <stop\n offset=\"100%\"\n stop-color=\"currentColor\"\n stop-opacity=\"0\"\n />\n </linearGradient>\n </defs>\n <path\n stroke=\"none\"\n [attr.d]=\"fillD\"\n [attr.fill]=\"fill\"\n />\n <path\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n vector-effect=\"non-scaling-stroke\"\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.bottom.%]=\"getBottom(point[1])\"\n [style.left.%]=\"getLeft(point[0])\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"hasHints\">\n <ng-container *ngFor=\"let point of value; let index = index\">\n <!-- TODO: Fix hint type -->\n <div\n *ngIf=\"value.length > 1 || dots\"\n class=\"t-column\"\n [class.t-column_hint_hovered]=\"drivers.get(index) | async\"\n [class.t-column_hovered]=\"hovered === index\"\n [style.left.%]=\"getLeft(getX(index))\"\n [style.width.%]=\"getWidth(index)\"\n [tuiHint]=\"$any(hintDirective?.hint || hintContent)\"\n [tuiHintContext]=\"{$implicit: getImplicit(point), index: index}\"\n [tuiHintDescribe]=\"isFocusable ? getHintId(index) : null\"\n [tuiHintHost]=\"hintHost\"\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 [id]=\"getHintId(index)\"\n [style.bottom.%]=\"getBottom(point[1])\"\n [style.left.%]=\"getOffset(index)\"\n [tabIndex]=\"isFocusable ? 0 : -1\"\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-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", styles: [":host{display:flex;inline-size:100%;block-size:100%;pointer-events:none}.t-svg{block-size:calc(100% + 1px);transform:scaleY(-1);margin:-.03125rem 0}.t-column{position:absolute;top:0;block-size:100%;pointer-events:auto}.t-dot{position:absolute;inline-size:.375rem;block-size:.375rem;border-radius:100%;background:currentColor;margin:-.1875rem;box-shadow:0 0 0 2px #fff}.t-host{position:absolute;left:50%;inline-size:.5rem;block-size:.5rem;border-radius:100%;opacity:0;background:#fff;margin:-.25rem;box-shadow:0 0 0 2px currentColor,0 .0625rem .1875rem .125rem #0000001a;outline:none;pointer-events:none}.t-host:focus,.t-column_hovered .t-host,.t-column:hover .t-host,.t-column_hint_hovered .t-host{opacity:1}.t-line{position:absolute;opacity:0;background:var(--tui-border-normal)}.t-line_vertical{top:0;bottom:0;left:50%;inline-size:1px}.t-line_horizontal{z-index:-1;inline-size:100%;block-size:1px}:host[style^=\"z-index: 0\"] .t-column_hovered .t-line,:host:not([style]) .t-column:hover .t-line,:host:not([style]) .t-column_hint_hovered .t-line,:host[style^=\"z-index: 0\"] .t-column_hovered+.t-line,:host:not([style]) .t-column:hover+.t-line,:host:not([style]) .t-column_hint_hovered+.t-line{opacity:1}.t-hint{position:absolute;box-shadow:var(--tui-shadow-small);font:var(--tui-font-text-xs);block-size:1.25rem;line-height:1.25rem;margin-block-end:-.625rem;padding:0 .375rem;white-space:nowrap;color:var(--tui-text-primary);background:var(--tui-background-base);transform:translate3d(-50%,0,0)}.t-hint_x{bottom:0}.t-hint_y{left:0}\n"] }]
155
- }], propDecorators: { drivers: [{
156
- type: ViewChildren,
157
- args: [TuiHintHover]
158
- }], x: [{
159
- type: Input
160
- }], y: [{
161
- type: Input
162
- }], width: [{
163
- type: Input
164
- }], height: [{
165
- type: Input
166
- }], smoothingFactor: [{
167
- type: Input
168
- }], xStringify: [{
169
- type: Input
170
- }], yStringify: [{
171
- type: Input
172
- }], filled: [{
173
- type: Input
174
- }], dots: [{
175
- type: Input
176
- }], valueSetter: [{
177
- type: Input,
178
- args: ['value']
179
- }], hovered$: [], getD: [] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jaGFydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWNoYXJ0L2xpbmUtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1jaGFydC9saW5lLWNoYXJ0LnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFHTixNQUFNLEVBQ04sWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUVuRSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFbkQsT0FBTyxFQUFDLFlBQVksRUFBRSxPQUFPLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQ0gsT0FBTyxFQUNQLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsc0JBQXNCLEdBQ3pCLE1BQU0sZ0NBQWdDLENBQUM7QUFHeEMsT0FBTyxFQUFDLG9C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LENBQUMscUJBQXFCLENBQUMsc0RBNkJwQixZQUFZLHFFQ3hFOUIsb2hIQXdHQSxvakREakVjLFNBQVMsOENBQUUsT0FBTyxtSEFBRSxJQUFJLHlmQUFXLE1BQU0sOERBS3BDLENBQUMsc0JBQXNCLENBQUMsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDOztBQTBFekU7SUFEQyxPQUFPOzRDQUdQO0FBb0dPO0lBRFAsT0FBTzt3Q0FPUDtTQWpMUSxZQUFZOzRGQUFaLFlBQVk7a0JBYnhCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGdCQUFnQixXQUNqQixDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsbUJBR25DLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxxQkFBcUIsQ0FBQyxpQkFDbkIsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsUUFDbkU7d0JBQ0YsY0FBYyxFQUFFLGdCQUFnQjtxQkFDbkM7OEJBMEJlLE9BQU87c0JBRHRCLFlBQVk7dUJBQUMsWUFBWTtnQkFJbkIsQ0FBQztzQkFEUCxLQUFLO2dCQUlDLENBQUM7c0JBRFAsS0FBSztnQkFJQyxLQUFLO3NCQURYLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBTUssV0FBVztzQkFEckIsS0FBSzt1QkFBQyxPQUFPO2dCQWNBLFFBQVEsTUFzR2QsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBOZ0Zvck9mLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICB0eXBlIE9uQ2hhbmdlcyxcbiAgICB0eXBlIFF1ZXJ5TGlzdCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7UmVzaXplT2JzZXJ2ZXJTZXJ2aWNlfSBmcm9tICdAbmctd2ViLWFwaXMvcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7dHlwZSBUdWlMaW5lQ2hhcnRIaW50Q29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNoYXJ0cy90eXBlcyc7XG5pbXBvcnQge3R1aURyYXd9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvdXRpbHMnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlMZXR9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9sZXQnO1xuaW1wb3J0IHt0dWlab25lT3B0aW1pemVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpSW5qZWN0SWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvc2VydmljZXMnO1xuaW1wb3J0IHt0eXBlIFR1aVN0cmluZ0hhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlJc1ByZXNlbnQsIHR1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1xuICAgIFR1aUhpbnQsXG4gICAgVHVpSGludEhvdmVyLFxuICAgIFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlLFxuICAgIHR1aUhpbnRPcHRpb25zUHJvdmlkZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaGludCc7XG5pbXBvcnQge3R5cGUgVHVpUG9pbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB7dHlwZSBQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgdHlwZSBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfTElORV9DSEFSVF9PUFRJT05TfSBmcm9tICcuL2xpbmUtY2hhcnQub3B0aW9ucyc7XG5pbXBvcnQge1R1aUxpbmVDaGFydEhpbnR9IGZyb20gJy4vbGluZS1jaGFydC1oaW50LmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktbGluZS1jaGFydCcsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgTmdGb3JPZiwgTmdJZiwgVHVpSGludCwgVHVpTGV0XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGluZS1jaGFydC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9saW5lLWNoYXJ0LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtSZXNpemVPYnNlcnZlclNlcnZpY2VdLFxuICAgIHZpZXdQcm92aWRlcnM6IFt0dWlIaW50T3B0aW9uc1Byb3ZpZGVyKHtkaXJlY3Rpb246ICd0b3AnLCBoaWRlRGVsYXk6IDB9KV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKG1vdXNlbGVhdmUpJzogJ29uTW91c2VMZWF2ZSgpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMaW5lQ2hhcnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgem9uZSA9IGluamVjdChOZ1pvbmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfTElORV9DSEFSVF9PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvdmVyJCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dG9JZCA9IHR1aUluamVjdElkKCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNpemUgPSB0b1NpZ25hbChcbiAgICAgICAgaW5qZWN0KFJlc2l6ZU9ic2VydmVyU2VydmljZSwge3NlbGY6IHRydWV9KS5waXBlKFxuICAgICAgICAgICAgbWFwKChbZV0pID0+IGU/LmNvbnRlbnRSZWN0LmhlaWdodCB8fCAwKSxcbiAgICAgICAgKSxcbiAgICAgICAge2luaXRpYWxWYWx1ZTogMH0sXG4gICAgKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYm94ID0gc2lnbmFsKCcnKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBoaW50RGlyZWN0aXZlID0gaW5qZWN0KFR1aUxpbmVDaGFydEhpbnQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoaW50T3B0aW9ucyA9IGluamVjdChUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZSwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZpZXdCb3ggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuaGVpZ2h0IC8gTWF0aC5tYXgodGhpcy5yZXNpemUoKSwgMSk7XG4gICAgICAgIGNvbnN0IFt4ID0gMCwgeSA9IDAsIHdpZHRoID0gMCwgaGVpZ2h0ID0gMF0gPSB0aGlzLmJveCgpLnNwbGl0KCcgJykubWFwKE51bWJlcik7XG5cbiAgICAgICAgcmV0dXJuIGAke3h9ICR7eSAtIG9mZnNldH0gJHt3aWR0aH0gJHtoZWlnaHQgKyAyICogb2Zmc2V0fWA7XG4gICAgfSk7XG5cbiAgICBAVmlld0NoaWxkcmVuKFR1aUhpbnRIb3ZlcilcbiAgICBwdWJsaWMgcmVhZG9ubHkgZHJpdmVyczogUXVlcnlMaXN0PE9ic2VydmFibGU8Ym9vbGVhbj4+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB4ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHkgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgd2lkdGggPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVpZ2h0ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNtb290aGluZ0ZhY3RvciA9IHRoaXMub3B0aW9ucy5zbW9vdGhpbmdGYWN0b3I7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB4U3RyaW5naWZ5OiBUdWlTdHJpbmdIYW5kbGVyPG51bWJlcj4gfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHlTdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8bnVtYmVyPiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlsbGVkID0gdGhpcy5vcHRpb25zLmZpbGxlZDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRvdHMgPSB0aGlzLm9wdGlvbnMuZG90cztcblxuICAgIHB1YmxpYyB2YWx1ZTogcmVhZG9ubHkgVHVpUG9pbnRbXSA9IFtdO1xuXG4gICAgQElucHV0KCd2YWx1ZScpXG4gICAgcHVibGljIHNldCB2YWx1ZVNldHRlcih2YWx1ZTogcmVhZG9ubHkgVHVpUG9pbnRbXSkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWUuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5zb21lKE51bWJlci5pc05hTikpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ib3guc2V0KGAke3RoaXMueH0gJHt0aGlzLnl9ICR7dGhpcy53aWR0aH0gJHt0aGlzLmhlaWdodH1gKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ib3ZlcmVkKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3ZlciQubmV4dChpbmRleCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcm90ZWN0ZWQgZ2V0IGhvdmVyZWQkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhvdmVyJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHR1aVpvbmVPcHRpbWl6ZWQodGhpcy56b25lKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBoaW50Q29udGVudCgpOiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUxpbmVDaGFydEhpbnRDb250ZXh0PFR1aVBvaW50Pj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oaW50T3B0aW9ucz8uY29udGVudCB8fCAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGZpbGxJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYHR1aS1saW5lLWNoYXJ0LSR7dGhpcy5hdXRvSWR9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGZpbGwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsbGVkID8gYHVybCgjJHt0aGlzLmZpbGxJZH0pYCA6ICdub25lJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RCh0aGlzLnZhbHVlLCB0aGlzLnNtb290aGluZ0ZhY3Rvcik7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBmaWxsRCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGhcbiAgICAgICAgICAgID8gYCR7dGhpcy5kfVYgJHt0aGlzLnl9IEggJHt0aGlzLnZhbHVlWzBdPy5bMF19IFYgJHt0aGlzLnZhbHVlWzBdPy5bMV19YFxuICAgICAgICAgICAgOiB0aGlzLmQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc0ZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmhpbnREaXJlY3RpdmUgJiYgdGhpcy5oYXNIaW50cztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGhhc0hpbnRzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgISF0aGlzLnhTdHJpbmdpZnkgfHxcbiAgICAgICAgICAgICEhdGhpcy55U3RyaW5naWZ5IHx8XG4gICAgICAgICAgICAhIXRoaXMuaGludERpcmVjdGl2ZT8uaGludCB8fFxuICAgICAgICAgICAgISF0aGlzLmhpbnRDb250ZW50XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmhpbnREaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMub25Ib3ZlcmVkKE5hTik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0WChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTaW5nbGVQb2ludCkge1xuICAgICAgICAgICAgcmV0dXJuICh0aGlzLnZhbHVlWzBdPy5bMF0gfHwgMCkgLyAyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluZGV4XG4gICAgICAgICAgICA/ICgodGhpcy52YWx1ZVtpbmRleCAtIDFdPy5bMF0gfHwgMCkgKyAodGhpcy52YWx1ZVtpbmRleF0/LlswXSB8fCAwKSkgLyAyXG4gICAgICAgICAgICA6IDIgKiAodGhpcy52YWx1ZVswXT8uWzBdIHx8IDApIC0gdGhpcy5nZXRYKDEpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRXaWR0aChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICgxMDAgKiB0aGlzLmNvbXB1dGVXaWR0aChpbmRleCkpIC8gdGhpcy53aWR0aDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0SGludElkKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5hdXRvSWR9XyR7aW5kZXh9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0SW1wbGljaXQoJGltcGxpY2l0OiBUdWlQb2ludCk6IFR1aVBvaW50IHwgcmVhZG9ubHkgVHVpUG9pbnRbXSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmhpbnREaXJlY3RpdmU/LmdldENvbnRleHQodGhpcy52YWx1ZS5pbmRleE9mKCRpbXBsaWNpdCksIHRoaXMpID8/XG4gICAgICAgICAgICAkaW1wbGljaXRcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0SG92ZXJlZChob3ZlcmVkOiBudW1iZXIgfCBudWxsKTogVHVpUG9pbnQgfCBudWxsIHtcbiAgICAgICAgLy8gVGhpcyBjaGVja3MgZm9yIE5hTiBhbmQgbnVsbCB0b28gc2luY2UgYXN5bmMgcGlwZSByZXR1cm5zIG51bGwgYmVmb3JlIGZpcnN0IGl0ZW1cbiAgICAgICAgcmV0dXJuIHR1aUlzUHJlc2VudChob3ZlcmVkKSAmJiBOdW1iZXIuaXNJbnRlZ2VyKGhvdmVyZWQpXG4gICAgICAgICAgICA/ICh0aGlzLnZhbHVlW2hvdmVyZWRdID8/IG51bGwpXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEJvdHRvbSh5OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKDEwMCAqICh5IC0gdGhpcy55KSkgLyB0aGlzLmhlaWdodDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0TGVmdCh4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gKDEwMCAqICh4IC0gdGhpcy54KSkgLyB0aGlzLndpZHRoO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRPZmZzZXQoeDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICgxMDAgKiAoKHRoaXMudmFsdWVbeF0/LlswXSB8fCAwKSAtIHRoaXMuZ2V0WCh4KSkpIC8gdGhpcy5jb21wdXRlV2lkdGgoeCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uTW91c2VFbnRlcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhpbnREaXJlY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuaGludERpcmVjdGl2ZS5yYWlzZShpbmRleCwgdGhpcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uSG92ZXJlZChpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBpc1NpbmdsZVBvaW50KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGggPT09IDE7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGdldEQodmFsdWU6IHJlYWRvbmx5IFR1aVBvaW50W10sIHNtb290aGluZ0ZhY3RvcjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlZHVjZShcbiAgICAgICAgICAgIChkLCBwb2ludCwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgaW5kZXggPyBgJHtkfSAke3R1aURyYXcodmFsdWUsIGluZGV4LCBzbW9vdGhpbmdGYWN0b3IpfWAgOiBgTSAke3BvaW50fWAsXG4gICAgICAgICAgICAnJyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbXB1dGVXaWR0aChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSB0aGlzLnZhbHVlLmxlbmd0aCAtIDFcbiAgICAgICAgICAgID8gMiAqICgodGhpcy52YWx1ZVtpbmRleF0/LlswXSB8fCAwKSAtIHRoaXMuZ2V0WChpbmRleCkpXG4gICAgICAgICAgICA6IHRoaXMuZ2V0WChpbmRleCArIDEpIC0gdGhpcy5nZXRYKGluZGV4KTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0dWlMZXQ9XCJob3ZlcmVkJCB8IGFzeW5jIGFzIGhvdmVyZWRcIj5cbiAgICA8c3ZnXG4gICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIGNsYXNzPVwidC1zdmdcIlxuICAgICAgICBbYXR0ci52aWV3Qm94XT1cInZpZXdCb3goKVwiXG4gICAgPlxuICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudFxuICAgICAgICAgICAgICAgIHgxPVwiMFwiXG4gICAgICAgICAgICAgICAgeDI9XCIwXCJcbiAgICAgICAgICAgICAgICB5MT1cIjFcIlxuICAgICAgICAgICAgICAgIHkyPVwiMFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiZmlsbElkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3RvcFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ9XCIwJVwiXG4gICAgICAgICAgICAgICAgICAgIHN0b3AtY29sb3I9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICBzdG9wLW9wYWNpdHk9XCIwLjVcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHN0b3BcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0PVwiMTAwJVwiXG4gICAgICAgICAgICAgICAgICAgIHN0b3AtY29sb3I9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICBzdG9wLW9wYWNpdHk9XCIwXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgPC9kZWZzPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgICAgc3Ryb2tlPVwibm9uZVwiXG4gICAgICAgICAgICBbYXR0ci5kXT1cImZpbGxEXCJcbiAgICAgICAgICAgIFthdHRyLmZpbGxdPVwiZmlsbFwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgc3Ryb2tlLXdpZHRoPVwiMlwiXG4gICAgICAgICAgICB2ZWN0b3ItZWZmZWN0PVwibm9uLXNjYWxpbmctc3Ryb2tlXCJcbiAgICAgICAgICAgIFthdHRyLmRdPVwiZFwiXG4gICAgICAgIC8+XG4gICAgPC9zdmc+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvdHNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHBvaW50IG9mIHZhbHVlXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1kb3RcIlxuICAgICAgICAgICAgW3N0eWxlLmJvdHRvbS4lXT1cImdldEJvdHRvbShwb2ludFsxXSlcIlxuICAgICAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJnZXRMZWZ0KHBvaW50WzBdKVwiXG4gICAgICAgID48L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzSGludHNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcG9pbnQgb2YgdmFsdWU7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICAgICAgICA8IS0tIFRPRE86IEZpeCBoaW50IHR5cGUgLS0+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ2YWx1ZS5sZW5ndGggPiAxIHx8IGRvdHNcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jb2x1bW5cIlxuICAgICAgICAgICAgICAgIFtjbGFzcy50LWNvbHVtbl9oaW50X2hvdmVyZWRdPVwiZHJpdmVycy5nZXQoaW5kZXgpIHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy50LWNvbHVtbl9ob3ZlcmVkXT1cImhvdmVyZWQgPT09IGluZGV4XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cImdldExlZnQoZ2V0WChpbmRleCkpXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJnZXRXaWR0aChpbmRleClcIlxuICAgICAgICAgICAgICAgIFt0dWlIaW50XT1cIiRhbnkoaGludERpcmVjdGl2ZT8uaGludCB8fCBoaW50Q29udGVudClcIlxuICAgICAgICAgICAgICAgIFt0dWlIaW50Q29udGV4dF09XCJ7JGltcGxpY2l0OiBnZXRJbXBsaWNpdChwb2ludCksIGluZGV4OiBpbmRleH1cIlxuICAgICAgICAgICAgICAgIFt0dWlIaW50RGVzY3JpYmVdPVwiaXNGb2N1c2FibGUgPyBnZXRIaW50SWQoaW5kZXgpIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW3R1aUhpbnRIb3N0XT1cImhpbnRIb3N0XCJcbiAgICAgICAgICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoaW5kZXgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1saW5lIHQtbGluZV92ZXJ0aWNhbFwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwiZ2V0T2Zmc2V0KGluZGV4KVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgI2hpbnRIb3N0XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1ob3N0XCJcbiAgICAgICAgICAgICAgICAgICAgW2lkXT1cImdldEhpbnRJZChpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYm90dG9tLiVdPVwiZ2V0Qm90dG9tKHBvaW50WzFdKVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwiZ2V0T2Zmc2V0KGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgIFt0YWJJbmRleF09XCJpc0ZvY3VzYWJsZSA/IDAgOiAtMVwiXG4gICAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpc0ZvY3VzYWJsZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWxpbmUgdC1saW5lX2hvcml6b250YWxcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5ib3R0b20uJV09XCJnZXRCb3R0b20ocG9pbnRbMV0pXCJcbiAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdldEhvdmVyZWQoaG92ZXJlZCkgYXMgcG9pbnRcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJ4U3RyaW5naWZ5XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1oaW50IHQtaGludF94XCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwiZ2V0TGVmdChwb2ludFswXSlcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB4U3RyaW5naWZ5KHBvaW50WzBdKSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJ5U3RyaW5naWZ5XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1oaW50IHQtaGludF95XCJcbiAgICAgICAgICAgIFtzdHlsZS5ib3R0b20uJV09XCJnZXRCb3R0b20ocG9pbnRbMV0pXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgeVN0cmluZ2lmeShwb2ludFsxXSkgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,14 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
3
- export const TUI_LINE_CHART_DEFAULT_OPTIONS = {
4
- dots: false,
5
- filled: false,
6
- smoothingFactor: 0,
7
- };
8
- export const TUI_LINE_CHART_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_LINE_CHART_OPTIONS' : '', {
9
- factory: () => TUI_LINE_CHART_DEFAULT_OPTIONS,
10
- });
11
- export function tuiLineChartOptionsProvider(options) {
12
- return tuiProvideOptions(TUI_LINE_CHART_OPTIONS, options, TUI_LINE_CHART_DEFAULT_OPTIONS);
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jaGFydC5vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1jaGFydC9saW5lLWNoYXJ0Lm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFRcEUsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQXdCO0lBQy9ELElBQUksRUFBRSxLQUFLO0lBQ1gsTUFBTSxFQUFFLEtBQUs7SUFDYixlQUFlLEVBQUUsQ0FBQztDQUNyQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQ3BELFNBQVMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDekM7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsOEJBQThCO0NBQ2hELENBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSwyQkFBMkIsQ0FDdkMsT0FBcUM7SUFFckMsT0FBTyxpQkFBaUIsQ0FDcEIsc0JBQXNCLEVBQ3RCLE9BQU8sRUFDUCw4QkFBOEIsQ0FDakMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCB0eXBlIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpUHJvdmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpTGluZUNoYXJ0T3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgZG90czogYm9vbGVhbjtcbiAgICByZWFkb25seSBmaWxsZWQ6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgc21vb3RoaW5nRmFjdG9yOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfTElORV9DSEFSVF9ERUZBVUxUX09QVElPTlM6IFR1aUxpbmVDaGFydE9wdGlvbnMgPSB7XG4gICAgZG90czogZmFsc2UsXG4gICAgZmlsbGVkOiBmYWxzZSxcbiAgICBzbW9vdGhpbmdGYWN0b3I6IDAsXG59O1xuXG5leHBvcnQgY29uc3QgVFVJX0xJTkVfQ0hBUlRfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX0xJTkVfQ0hBUlRfT1BUSU9OUycgOiAnJyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9MSU5FX0NIQVJUX0RFRkFVTFRfT1BUSU9OUyxcbiAgICB9LFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUxpbmVDaGFydE9wdGlvbnNQcm92aWRlcihcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aUxpbmVDaGFydE9wdGlvbnM+LFxuKTogUHJvdmlkZXIge1xuICAgIHJldHVybiB0dWlQcm92aWRlT3B0aW9ucyhcbiAgICAgICAgVFVJX0xJTkVfQ0hBUlRfT1BUSU9OUyxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgVFVJX0xJTkVfQ0hBUlRfREVGQVVMVF9PUFRJT05TLFxuICAgICk7XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktYWRkb24tY2hhcnRzLWNvbXBvbmVudHMtbGluZS1jaGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xpbmUtY2hhcnQvdGFpZ2EtdWktYWRkb24tY2hhcnRzLWNvbXBvbmVudHMtbGluZS1jaGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './line-days-chart.component';
2
- export * from './line-days-chart-hint.directive';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWRheXMtY2hhcnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saW5lLWRheXMtY2hhcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGluZS1kYXlzLWNoYXJ0LWhpbnQuZGlyZWN0aXZlJztcbiJdfQ==
@@ -1,71 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { ContentChildren, DestroyRef, Directive, forwardRef, inject, Input, NgZone, } from '@angular/core';
3
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
- import { tuiLineChartDrivers } from '@taiga-ui/addon-charts/components/line-chart';
5
- import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
6
- import { TuiHoveredService } from '@taiga-ui/cdk/directives/hovered';
7
- import { tuiZonefree } from '@taiga-ui/cdk/observables';
8
- import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
9
- import { combineLatest, filter } from 'rxjs';
10
- import { TuiLineDaysChart } from './line-days-chart.component';
11
- import * as i0 from "@angular/core";
12
- function find(value, current) {
13
- return value.find(([day]) => day.daySame(current)) || [current, NaN];
14
- }
15
- // TODO: Consider extending TuiLineChartHintDirective
16
- class TuiLineDaysChartHint {
17
- constructor() {
18
- this.charts = EMPTY_QUERY;
19
- this.destroyRef = inject(DestroyRef);
20
- this.zone = inject(NgZone);
21
- this.hovered$ = inject(TuiHoveredService);
22
- }
23
- ngAfterContentInit() {
24
- combineLatest([
25
- ...this.charts.map(({ charts }) => tuiLineChartDrivers(charts)),
26
- this.hovered$,
27
- ])
28
- .pipe(filter((result) => !result.some(Boolean)), tuiZonefree(this.zone), takeUntilDestroyed(this.destroyRef))
29
- .subscribe(() => {
30
- this.charts.forEach((chart) => chart.onHovered(NaN));
31
- });
32
- }
33
- getContext(day) {
34
- return this.getMap(...this.charts.map(({ value }) => value)).get(String(day)) || [];
35
- }
36
- raise(day) {
37
- const current = this.charts
38
- .map(({ value }) => (day ? find(value, day) : []))
39
- .filter(([_, value]) => !Number.isNaN(value));
40
- const sorted = [...current].sort((a, b) => a[1] - b[1]);
41
- this.charts.forEach((chart, index) => {
42
- const item = current[index];
43
- chart.onHovered(day);
44
- chart.zIndex = Math.max(item ? sorted.indexOf(item) : 0, 0);
45
- });
46
- }
47
- getMap(...values) {
48
- return (values[0] || []).reduce((map, [day]) => map.set(String(day), values.map((value) => find(value, day))), new Map());
49
- }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLineDaysChartHint, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
51
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiLineDaysChartHint, isStandalone: true, selector: "[tuiLineChartHint]", inputs: { hint: ["tuiLineChartHint", "hint"] }, providers: [TuiHoveredService], queries: [{ propertyName: "charts", predicate: i0.forwardRef(function () { return TuiLineDaysChart; }) }], ngImport: i0 }); }
52
- }
53
- __decorate([
54
- tuiPure
55
- ], TuiLineDaysChartHint.prototype, "getMap", null);
56
- export { TuiLineDaysChartHint };
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiLineDaysChartHint, decorators: [{
58
- type: Directive,
59
- args: [{
60
- standalone: true,
61
- selector: '[tuiLineChartHint]',
62
- providers: [TuiHoveredService],
63
- }]
64
- }], propDecorators: { charts: [{
65
- type: ContentChildren,
66
- args: [forwardRef(() => TuiLineDaysChart)]
67
- }], hint: [{
68
- type: Input,
69
- args: ['tuiLineChartHint']
70
- }], getMap: [] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1kYXlzLWNoYXJ0LWhpbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1kYXlzLWNoYXJ0L2xpbmUtZGF5cy1jaGFydC1oaW50LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVILGVBQWUsRUFDZixVQUFVLEVBQ1YsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNqRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXRELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUcxRCxPQUFPLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQzs7QUFFN0QsU0FBUyxJQUFJLENBQUMsS0FBc0MsRUFBRSxPQUFlO0lBQ2pFLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBRUQscURBQXFEO0FBQ3JELE1BS2Esb0JBQW9CO0lBTGpDO1FBT3FCLFdBQU0s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LENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FDMUMsRUFDTCxJQUFJLEdBQUcsRUFBMkMsQ0FDckQsQ0FBQztJQUNOLENBQUM7K0dBeERRLG9CQUFvQjttR0FBcEIsb0JBQW9CLGlIQUZsQixDQUFDLGlCQUFpQixDQUFDLG9GQUdJLGdCQUFnQjs7QUE0QzFDO0lBRFAsT0FBTztrREFZUDtTQXhEUSxvQkFBb0I7NEZBQXBCLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQ2pDOzhCQUdvQixNQUFNO3NCQUR0QixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFRNUMsSUFBSTtzQkFEVixLQUFLO3VCQUFDLGtCQUFrQjtnQkFxQ2pCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIHR5cGUgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIHR5cGUgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge3R1aUxpbmVDaGFydERyaXZlcnN9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jaGFydHMvY29tcG9uZW50cy9saW5lLWNoYXJ0JztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHlwZSBUdWlEYXl9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGF0ZS10aW1lJztcbmltcG9ydCB7VHVpSG92ZXJlZFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9ob3ZlcmVkJztcbmltcG9ydCB7dHVpWm9uZWZyZWV9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHt0eXBlIFR1aUNvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlQdXJlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0eXBlIFR1aVBvaW50fSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R5cGUgUG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIGZpbHRlcn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpTGluZURheXNDaGFydH0gZnJvbSAnLi9saW5lLWRheXMtY2hhcnQuY29tcG9uZW50JztcblxuZnVuY3Rpb24gZmluZCh2YWx1ZTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPiwgY3VycmVudDogVHVpRGF5KTogW1R1aURheSwgbnVtYmVyXSB7XG4gICAgcmV0dXJuIHZhbHVlLmZpbmQoKFtkYXldKSA9PiBkYXkuZGF5U2FtZShjdXJyZW50KSkgfHwgW2N1cnJlbnQsIE5hTl07XG59XG5cbi8vIFRPRE86IENvbnNpZGVyIGV4dGVuZGluZyBUdWlMaW5lQ2hhcnRIaW50RGlyZWN0aXZlXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aUxpbmVDaGFydEhpbnRdJyxcbiAgICBwcm92aWRlcnM6IFtUdWlIb3ZlcmVkU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUxpbmVEYXlzQ2hhcnRIaW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IFR1aUxpbmVEYXlzQ2hhcnQpKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hhcnRzOiBRdWVyeUxpc3Q8VHVpTGluZURheXNDaGFydD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHpvbmUgPSBpbmplY3QoTmdab25lKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvdmVyZWQkID0gaW5qZWN0KFR1aUhvdmVyZWRTZXJ2aWNlKTtcblxuICAgIEBJbnB1dCgndHVpTGluZUNoYXJ0SGludCcpXG4gICAgcHVibGljIGhpbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxyZWFkb25seSBUdWlQb2ludFtdPj47XG5cbiAgICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIC4uLnRoaXMuY2hhcnRzLm1hcCgoe2NoYXJ0c30pID0+IHR1aUxpbmVDaGFydERyaXZlcnMoY2hhcnRzKSksXG4gICAgICAgICAgICB0aGlzLmhvdmVyZWQkLFxuICAgICAgICBdKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChyZXN1bHQpID0+ICFyZXN1bHQuc29tZShCb29sZWFuKSksXG4gICAgICAgICAgICAgICAgdHVpWm9uZWZyZWUodGhpcy56b25lKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhcnRzLmZvckVhY2goKGNoYXJ0KSA9PiBjaGFydC5vbkhvdmVyZWQoTmFOKSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29udGV4dChkYXk6IFR1aURheSk6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRNYXAoLi4udGhpcy5jaGFydHMubWFwKCh7dmFsdWV9KSA9PiB2YWx1ZSkpLmdldChTdHJpbmcoZGF5KSkgfHwgW107XG4gICAgfVxuXG4gICAgcHVibGljIHJhaXNlKGRheTogVHVpRGF5KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLmNoYXJ0c1xuICAgICAgICAgICAgLm1hcCgoe3ZhbHVlfSkgPT4gKGRheSA/IGZpbmQodmFsdWUsIGRheSkgOiBbXSkpXG4gICAgICAgICAgICAuZmlsdGVyKChbXywgdmFsdWVdKSA9PiAhTnVtYmVyLmlzTmFOKHZhbHVlKSk7XG4gICAgICAgIGNvbnN0IHNvcnRlZCA9IFsuLi5jdXJyZW50XS5zb3J0KChhLCBiKSA9PiBhWzFdIC0gYlsxXSk7XG5cbiAgICAgICAgdGhpcy5jaGFydHMuZm9yRWFjaCgoY2hhcnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0gY3VycmVudFtpbmRleF07XG5cbiAgICAgICAgICAgIGNoYXJ0Lm9uSG92ZXJlZChkYXkpO1xuICAgICAgICAgICAgY2hhcnQuekluZGV4ID0gTWF0aC5tYXgoaXRlbSA/IHNvcnRlZC5pbmRleE9mKGl0ZW0pIDogMCwgMCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBnZXRNYXAoXG4gICAgICAgIC4uLnZhbHVlczogQXJyYXk8UmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPj5cbiAgICApOiBNYXA8c3RyaW5nLCBSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+PiB7XG4gICAgICAgIHJldHVybiAodmFsdWVzWzBdIHx8IFtdKS5yZWR1Y2UoXG4gICAgICAgICAgICAobWFwLCBbZGF5XSkgPT5cbiAgICAgICAgICAgICAgICBtYXAuc2V0KFxuICAgICAgICAgICAgICAgICAgICBTdHJpbmcoZGF5KSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVzLm1hcCgodmFsdWUpID0+IGZpbmQodmFsdWUsIGRheSkpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICBuZXcgTWFwPHN0cmluZywgUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPj4oKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=