@taiga-ui/addon-charts 3.26.0-dev.main-5a1e30d → 3.26.0-dev.main-365a136
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.
- package/bundles/taiga-ui-addon-charts-components-line-chart.umd.js +25 -5
- package/bundles/taiga-ui-addon-charts-components-line-chart.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.js +8 -4
- package/bundles/taiga-ui-addon-charts-components-line-days-chart.umd.js.map +1 -1
- package/components/line-chart/index.d.ts +1 -0
- package/components/line-chart/line-chart-options.d.ts +9 -0
- package/components/line-chart/line-chart.component.d.ts +4 -2
- package/components/line-days-chart/line-days-chart.component.d.ts +4 -3
- package/esm2015/components/line-chart/index.js +2 -1
- package/esm2015/components/line-chart/line-chart-options.js +14 -0
- package/esm2015/components/line-chart/line-chart.component.js +11 -6
- package/esm2015/components/line-days-chart/line-days-chart.component.js +10 -6
- package/fesm2015/taiga-ui-addon-charts-components-line-chart.js +24 -7
- package/fesm2015/taiga-ui-addon-charts-components-line-chart.js.map +1 -1
- package/fesm2015/taiga-ui-addon-charts-components-line-days-chart.js +9 -5
- package/fesm2015/taiga-ui-addon-charts-components-line-days-chart.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, NgZone, Optional, Self, ViewChildren, } from '@angular/core';
|
|
3
|
-
import { TuiLineChartComponent, tuiLineChartDrivers, TuiLineChartHintDirective, } from '@taiga-ui/addon-charts/components/line-chart';
|
|
3
|
+
import { TUI_LINE_CHART_OPTIONS, TuiLineChartComponent, tuiLineChartDrivers, TuiLineChartHintDirective, } from '@taiga-ui/addon-charts/components/line-chart';
|
|
4
4
|
import { EMPTY_ARRAY, EMPTY_QUERY, TuiDay, tuiDefaultProp, TuiDestroyService, TuiHoveredService, tuiIsNumber, tuiIsPresent, TuiMonth, tuiPure, tuiZonefree, } from '@taiga-ui/cdk';
|
|
5
5
|
import { combineLatest } from 'rxjs';
|
|
6
6
|
import { filter, takeUntil } from 'rxjs/operators';
|
|
@@ -17,18 +17,19 @@ import * as i6 from "@taiga-ui/cdk";
|
|
|
17
17
|
import * as i7 from "rxjs";
|
|
18
18
|
const DUMMY = [NaN, NaN];
|
|
19
19
|
export class TuiLineDaysChartComponent {
|
|
20
|
-
constructor(hintDirective, destroy$, ngZone, hovered
|
|
20
|
+
constructor(hintDirective, destroy$, ngZone, hovered$, options) {
|
|
21
21
|
this.hintDirective = hintDirective;
|
|
22
22
|
this.destroy$ = destroy$;
|
|
23
23
|
this.ngZone = ngZone;
|
|
24
24
|
this.hovered$ = hovered$;
|
|
25
|
+
this.options = options;
|
|
25
26
|
this.charts = EMPTY_QUERY;
|
|
26
27
|
this.y = 0;
|
|
27
28
|
this.height = 0;
|
|
28
|
-
this.smoothingFactor =
|
|
29
|
+
this.smoothingFactor = this.options.smoothingFactor;
|
|
29
30
|
this.xStringify = null;
|
|
30
31
|
this.yStringify = null;
|
|
31
|
-
this.dots =
|
|
32
|
+
this.dots = this.options.dots;
|
|
32
33
|
this.zIndex = 0;
|
|
33
34
|
this.value = [];
|
|
34
35
|
this.daysStringify = index => this.xStringify ? this.xStringify(this.getDay(index)) : '';
|
|
@@ -129,7 +130,7 @@ export class TuiLineDaysChartComponent {
|
|
|
129
130
|
return this.value[index - this.value[0][0].day + 1][0];
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
|
-
TuiLineDaysChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiLineDaysChartComponent, deps: [{ token: TuiLineDaysChartHintDirective, optional: true }, { token: TuiDestroyService, self: true }, { token: NgZone }, { token: TuiHoveredService }], target: i0.ɵɵFactoryTarget.Component });
|
|
133
|
+
TuiLineDaysChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiLineDaysChartComponent, deps: [{ token: TuiLineDaysChartHintDirective, optional: true }, { token: TuiDestroyService, self: true }, { token: NgZone }, { token: TuiHoveredService }, { token: TUI_LINE_CHART_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
133
134
|
TuiLineDaysChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiLineDaysChartComponent, selector: "tui-line-days-chart", inputs: { valueSetter: ["value", "valueSetter"], y: "y", height: "height", smoothingFactor: "smoothingFactor", hintContent: "hintContent", xStringify: "xStringify", yStringify: "yStringify", dots: "dots" }, host: { properties: { "style.zIndex": "this.zIndex" } }, providers: [
|
|
134
135
|
TuiDestroyService,
|
|
135
136
|
TuiHoveredService,
|
|
@@ -197,6 +198,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
197
198
|
}] }, { type: i7.Observable, decorators: [{
|
|
198
199
|
type: Inject,
|
|
199
200
|
args: [TuiHoveredService]
|
|
201
|
+
}] }, { type: undefined, decorators: [{
|
|
202
|
+
type: Inject,
|
|
203
|
+
args: [TUI_LINE_CHART_OPTIONS]
|
|
200
204
|
}] }]; }, propDecorators: { charts: [{
|
|
201
205
|
type: ViewChildren,
|
|
202
206
|
args: [TuiLineChartComponent]
|
|
@@ -221,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
221
225
|
type: HostBinding,
|
|
222
226
|
args: ['style.zIndex']
|
|
223
227
|
}], getHintContext: [], breakMonths: [] } });
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1kYXlzLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xpbmUtZGF5cy1jaGFydC9saW5lLWRheXMtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1kYXlzLWNoYXJ0L2xpbmUtZGF5cy1jaGFydC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUVSLElBQUksRUFDSixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIseUJBQXlCLEdBQzVCLE1BQU0sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUNILFdBQVcsRUFDWCxXQUFXLEVBRVgsTUFBTSxFQUNOLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxZQUFZLEVBQ1osUUFBUSxFQUNSLE9BQU8sRUFFUCxXQUFXLEdBQ2QsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFDLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWpELDRDQUE0QztBQUM1QywyQ0FBMkM7QUFDM0MsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7OztBQUUvRSxNQUFNLEtBQUssR0FBYSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztBQWdCbkMsTUFBTSxPQUFPLHlCQUF5QjtJQTBEbEMsWUFHcUIsYUFB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YztnQkE2QjNCLGNBQWMsTUErRU4sV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nWm9uZSxcbiAgICBPcHRpb25hbCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlMaW5lQ2hhcnRDb21wb25lbnQsXG4gICAgdHVpTGluZUNoYXJ0RHJpdmVycyxcbiAgICBUdWlMaW5lQ2hhcnRIaW50RGlyZWN0aXZlLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1jaGFydCc7XG5pbXBvcnQge1xuICAgIEVNUFRZX0FSUkFZLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgVHVpRGF5LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIFR1aUhvdmVyZWRTZXJ2aWNlLFxuICAgIHR1aUlzTnVtYmVyLFxuICAgIHR1aUlzUHJlc2VudCxcbiAgICBUdWlNb250aCxcbiAgICB0dWlQdXJlLFxuICAgIFR1aVN0cmluZ0hhbmRsZXIsXG4gICAgdHVpWm9uZWZyZWUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlQb2ludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gVE9ETzogZmluZCB0aGUgYmVzdCB3YXkgZm9yIHByZXZlbnQgY3ljbGVcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7VHVpTGluZURheXNDaGFydEhpbnREaXJlY3RpdmV9IGZyb20gJy4vbGluZS1kYXlzLWNoYXJ0LWhpbnQuZGlyZWN0aXZlJztcblxuY29uc3QgRFVNTVk6IFR1aVBvaW50ID0gW05hTiwgTmFOXTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktbGluZS1kYXlzLWNoYXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGluZS1kYXlzLWNoYXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpbmUtZGF5cy1jaGFydC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBUdWlIb3ZlcmVkU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVHVpTGluZUNoYXJ0SGludERpcmVjdGl2ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUdWlMaW5lRGF5c0NoYXJ0Q29tcG9uZW50LFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUxpbmVEYXlzQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkcmVuKFR1aUxpbmVDaGFydENvbXBvbmVudClcbiAgICByZWFkb25seSBjaGFydHM6IFF1ZXJ5TGlzdDxUdWlMaW5lQ2hhcnRDb21wb25lbnQ+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASW5wdXQoJ3ZhbHVlJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCB2YWx1ZVNldHRlcih2YWx1ZTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPikge1xuICAgICAgICBpZiAoIXZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFtdO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGFydCA9IHZhbHVlWzBdWzBdO1xuICAgICAgICBjb25zdCBtdXRhYmxlID0gWy4uLnZhbHVlXTtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gVHVpRGF5Lmxlbmd0aEJldHdlZW4oc3RhcnQsIHZhbHVlW3ZhbHVlLmxlbmd0aCAtIDFdWzBdKSArIDE7XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IEFycmF5LmZyb20oe2xlbmd0aH0sIChfLCBkYXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXkgPSBzdGFydC5hcHBlbmQoe2RheX0pO1xuICAgICAgICAgICAgY29uc3Qgc2hpZnRlZCA9IGN1cnJlbnREYXkuZGF5U2FtZShtdXRhYmxlWzBdWzBdKSA/IG11dGFibGUuc2hpZnQoKSA6IG51bGw7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBzaGlmdGVkID8gc2hpZnRlZFsxXSA6IE5hTjtcblxuICAgICAgICAgICAgcmV0dXJuIFtjdXJyZW50RGF5LCBjdXJyZW50VmFsdWVdIGFzIFtUdWlEYXksIG51bWJlcl07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB5ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBoZWlnaHQgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNtb290aGluZ0ZhY3RvciA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIGhpbnRDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8W1R1aURheSwgbnVtYmVyXT4+O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHhTdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8VHVpRGF5PiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHlTdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8bnVtYmVyPiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRvdHMgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuekluZGV4JylcbiAgICB6SW5kZXggPSAwO1xuXG4gICAgdmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aUxpbmVEYXlzQ2hhcnRIaW50RGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpbnREaXJlY3RpdmU6IFR1aUxpbmVEYXlzQ2hhcnRIaW50RGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoVHVpSG92ZXJlZFNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgaG92ZXJlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgKSB7fVxuXG4gICAgZ2V0IG1vbnRocygpOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aVBvaW50W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoID8gdGhpcy5icmVha01vbnRocyh0aGlzLnZhbHVlKSA6IEVNUFRZX0FSUkFZO1xuICAgIH1cblxuICAgIGdldCBmaXJzdFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vbnRocy5sZW5ndGggKiB0aGlzLnZhbHVlWzBdWzBdLmRheXNDb3VudDtcbiAgICB9XG5cbiAgICBnZXQgaGludCgpOlxuICAgICAgICB8IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxbVHVpRGF5LCBudW1iZXJdPj5cbiAgICAgICAgfCBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8cmVhZG9ubHkgVHVpUG9pbnRbXT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGludERpcmVjdGl2ZT8uaGludCA/PyB0aGlzLmhpbnRDb250ZW50O1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0SGludENvbnRleHQoXG4gICAgICAgIHg6IG51bWJlcixcbiAgICAgICAgdmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4sXG4gICAgKTogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDxbVHVpRGF5LCBudW1iZXJdPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IHZhbHVlW3ggLSB2YWx1ZVswXVswXS5kYXkgKyAxXSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3R1aUxpbmVDaGFydERyaXZlcnModGhpcy5jaGFydHMpLCB0aGlzLmhvdmVyZWQkXSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihyZXN1bHQgPT4gIXJlc3VsdC5zb21lKEJvb2xlYW4pKSxcbiAgICAgICAgICAgICAgICB0dWlab25lZnJlZSh0aGlzLm5nWm9uZSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkhvdmVyZWQoTmFOKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlYWRvbmx5IGRheXNTdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8bnVtYmVyPiA9IGluZGV4ID0+XG4gICAgICAgIHRoaXMueFN0cmluZ2lmeSA/IHRoaXMueFN0cmluZ2lmeSh0aGlzLmdldERheShpbmRleCkpIDogJyc7XG5cbiAgICBnZXRYKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5nZXREYXkoaW5kZXgpO1xuICAgICAgICBjb25zdCBtb250aHMgPSBUdWlNb250aC5sZW5ndGhCZXR3ZWVuKHRoaXMudmFsdWVbMF1bMF0sIGN1cnJlbnQpO1xuICAgICAgICBjb25zdCBvZmZzZXQgPSBtb250aHMgKiBjdXJyZW50LmRheXNDb3VudDtcblxuICAgICAgICByZXR1cm4gaW5kZXggLSBvZmZzZXQ7XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGRheTogVHVpRGF5IHwgbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0dWlJc051bWJlcihkYXkpKSB7XG4gICAgICAgICAgICB0aGlzLmNoYXJ0cy5mb3JFYWNoKGNoYXJ0ID0+IGNoYXJ0Lm9uSG92ZXJlZChOYU4pKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5kZXggPSBUdWlNb250aC5sZW5ndGhCZXR3ZWVuKHRoaXMudmFsdWVbMF1bMF0sIGRheSk7XG4gICAgICAgIGNvbnN0IHggPSBUdWlEYXkubGVuZ3RoQmV0d2Vlbih0aGlzLnZhbHVlWzBdWzBdLCBkYXkpICsgdGhpcy52YWx1ZVswXVswXS5kYXkgLSAxO1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5jaGFydHMuZ2V0KGluZGV4KTtcblxuICAgICAgICB0aGlzLmNoYXJ0cy5mb3JFYWNoKGNoYXJ0ID0+IHtcbiAgICAgICAgICAgIGlmIChjaGFydCA9PT0gY3VycmVudCkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnQub25Ib3ZlcmVkKGN1cnJlbnQudmFsdWUuZmluZEluZGV4KHBvaW50ID0+IHBvaW50WzBdID09PSB4KSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNoYXJ0Lm9uSG92ZXJlZChOYU4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByYWlzZShpbmRleDogbnVtYmVyLCB7dmFsdWV9OiBUdWlMaW5lQ2hhcnRDb21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeCA9IHZhbHVlW2luZGV4XVswXTtcbiAgICAgICAgY29uc3QgbW9udGggPSB0aGlzLmdldERheSh4KTtcblxuICAgICAgICBpZiAodGhpcy5oaW50RGlyZWN0aXZlKSB7XG4gICAgICAgICAgICB0aGlzLmhpbnREaXJlY3RpdmUucmFpc2UobW9udGgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkhvdmVyZWQobW9udGgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0V2lkdGgoaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERheShpbmRleCkuZGF5c0NvdW50ICogdGhpcy5tb250aHMubGVuZ3RoO1xuICAgIH1cblxuICAgIGdldENvbnRleHQoXG4gICAgICAgIGluZGV4OiBudW1iZXIsXG4gICAgICAgIHt2YWx1ZX06IFR1aUxpbmVDaGFydENvbXBvbmVudCxcbiAgICApOiBUdWlDb250ZXh0V2l0aEltcGxpY2l0PHVua25vd24+IHtcbiAgICAgICAgY29uc3QgeCA9IHZhbHVlW2luZGV4XVswXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5oaW50RGlyZWN0aXZlXG4gICAgICAgICAgICA/IHRoaXMuaGludERpcmVjdGl2ZS5nZXRDb250ZXh0KHRoaXMuZ2V0RGF5KHgpKVxuICAgICAgICAgICAgOiB0aGlzLmdldEhpbnRDb250ZXh0KHgsIHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBicmVha01vbnRocyhcbiAgICAgICAgdmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4sXG4gICAgKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlQb2ludFtdPiB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHZhbHVlWzBdWzBdLmRheSAtIDE7XG5cbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICAgICAgICB7bGVuZ3RoOiBUdWlNb250aC5sZW5ndGhCZXR3ZWVuKHZhbHVlWzBdWzBdLCB2YWx1ZVt2YWx1ZS5sZW5ndGggLSAxXVswXSkgKyAxfSxcbiAgICAgICAgICAgIChfLCBpKSA9PiBpICsgdmFsdWVbMF1bMF0ubW9udGggKyB2YWx1ZVswXVswXS55ZWFyICogMTIsXG4gICAgICAgIClcbiAgICAgICAgICAgIC5tYXAoYWJzb2x1dGVNb250aCA9PlxuICAgICAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIC5tYXA8VHVpUG9pbnQgfCBudWxsPigoW3ttb250aCwgeWVhcn0sIHldLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1vbnRoICsgeWVhciAqIDEyID09PSBhYnNvbHV0ZU1vbnRoID8gW2luZGV4ICsgb2Zmc2V0LCB5XSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLm1hcCgobW9udGgsIGluZGV4LCBhcnJheSkgPT5cbiAgICAgICAgICAgICAgICBpbmRleCA9PT0gYXJyYXkubGVuZ3RoIC0gMVxuICAgICAgICAgICAgICAgICAgICA/IG1vbnRoXG4gICAgICAgICAgICAgICAgICAgIDogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5tb250aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlbaW5kZXggKyAxXS5maW5kKGRheSA9PiAhTnVtYmVyLmlzTmFOKGRheVsxXSkpIHx8IERVTU1ZLFxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGF5KGluZGV4OiBudW1iZXIpOiBUdWlEYXkge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVtpbmRleCAtIHRoaXMudmFsdWVbMF1bMF0uZGF5ICsgMV1bMF07XG4gICAgfVxufVxuIiwiPHR1aS1saW5lLWNoYXJ0XG4gICAgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoczsgbGV0IGZpcnN0ID0gZmlyc3RcIlxuICAgIGNsYXNzPVwidC1jaGFydFwiXG4gICAgW3N0eWxlLnpJbmRleF09XCJ6SW5kZXhcIlxuICAgIFtkb3RzXT1cImRvdHNcIlxuICAgIFt4XT1cImZpcnN0ID8gMCA6IGdldFgobW9udGhbMF1bMF0pXCJcbiAgICBbeV09XCJ5XCJcbiAgICBbd2lkdGhdPVwiZmlyc3QgPyBmaXJzdFdpZHRoIDogZ2V0V2lkdGgobW9udGhbMF1bMF0pXCJcbiAgICBbaGVpZ2h0XT1cImhlaWdodFwiXG4gICAgW3ZhbHVlXT1cIm1vbnRoXCJcbiAgICBbc21vb3RoaW5nRmFjdG9yXT1cInNtb290aGluZ0ZhY3RvclwiXG4gICAgW3R1aUhpbnRDb250ZW50XT1cImhpbnRDb250ZW50ID8gaGludCA6ICcnXCJcbiAgICBbeVN0cmluZ2lmeV09XCJ5U3RyaW5naWZ5XCJcbiAgICBbeFN0cmluZ2lmeV09XCJ4U3RyaW5naWZ5ID8gZGF5c1N0cmluZ2lmeSA6IG51bGxcIlxuPjwvdHVpLWxpbmUtY2hhcnQ+XG48bmctdGVtcGxhdGVcbiAgICAjaGludFxuICAgIGxldC1wb2ludFxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImhpbnRDb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IGdldEhpbnRDb250ZXh0KHBvaW50WzBdLCB2YWx1ZSlcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1kYXlzLWNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNoYXJ0cy9jb21wb25lbnRzL2xpbmUtZGF5cy1jaGFydC9saW5lLWRheXMtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1kYXlzLWNoYXJ0L2xpbmUtZGF5cy1jaGFydC50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sUUFBUSxFQUVSLElBQUksRUFDSixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLHlCQUF5QixHQUU1QixNQUFNLDhDQUE4QyxDQUFDO0FBQ3RELE9BQU8sRUFDSCxXQUFXLEVBQ1gsV0FBVyxFQUVYLE1BQU0sRUFDTixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixPQUFPLEVBRVAsV0FBVyxHQUNkLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBQyxhQUFhLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCw0Q0FBNEM7QUFDNUMsMkNBQTJDO0FBQzNDLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7QUFFL0UsTUFBTSxLQUFLLEdBQWEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFnQm5DLE1BQU0sT0FBTyx5QkFBeUI7SUEw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QUFlO3NCQUZkLEtBQUs7Z0JBS04sV0FBVztzQkFEVixLQUFLO2dCQUtOLFVBQVU7c0JBRlQsS0FBSztnQkFNTixVQUFVO3NCQUZULEtBQUs7Z0JBTU4sSUFBSTtzQkFGSCxLQUFLO2dCQUtOLE1BQU07c0JBREwsV0FBVzt1QkFBQyxjQUFjO2dCQThCM0IsY0FBYyxNQStFTixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIFRVSV9MSU5FX0NIQVJUX09QVElPTlMsXG4gICAgVHVpTGluZUNoYXJ0Q29tcG9uZW50LFxuICAgIHR1aUxpbmVDaGFydERyaXZlcnMsXG4gICAgVHVpTGluZUNoYXJ0SGludERpcmVjdGl2ZSxcbiAgICBUdWlMaW5lQ2hhcnRPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY2hhcnRzL2NvbXBvbmVudHMvbGluZS1jaGFydCc7XG5pbXBvcnQge1xuICAgIEVNUFRZX0FSUkFZLFxuICAgIEVNUFRZX1FVRVJZLFxuICAgIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsXG4gICAgVHVpRGF5LFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIFR1aUhvdmVyZWRTZXJ2aWNlLFxuICAgIHR1aUlzTnVtYmVyLFxuICAgIHR1aUlzUHJlc2VudCxcbiAgICBUdWlNb250aCxcbiAgICB0dWlQdXJlLFxuICAgIFR1aVN0cmluZ0hhbmRsZXIsXG4gICAgdHVpWm9uZWZyZWUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlQb2ludH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gVE9ETzogZmluZCB0aGUgYmVzdCB3YXkgZm9yIHByZXZlbnQgY3ljbGVcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGVcbmltcG9ydCB7VHVpTGluZURheXNDaGFydEhpbnREaXJlY3RpdmV9IGZyb20gJy4vbGluZS1kYXlzLWNoYXJ0LWhpbnQuZGlyZWN0aXZlJztcblxuY29uc3QgRFVNTVk6IFR1aVBvaW50ID0gW05hTiwgTmFOXTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktbGluZS1kYXlzLWNoYXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGluZS1kYXlzLWNoYXJ0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xpbmUtZGF5cy1jaGFydC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBUdWlIb3ZlcmVkU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVHVpTGluZUNoYXJ0SGludERpcmVjdGl2ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUdWlMaW5lRGF5c0NoYXJ0Q29tcG9uZW50LFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUxpbmVEYXlzQ2hhcnRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkcmVuKFR1aUxpbmVDaGFydENvbXBvbmVudClcbiAgICByZWFkb25seSBjaGFydHM6IFF1ZXJ5TGlzdDxUdWlMaW5lQ2hhcnRDb21wb25lbnQ+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBASW5wdXQoJ3ZhbHVlJylcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNldCB2YWx1ZVNldHRlcih2YWx1ZTogUmVhZG9ubHlBcnJheTxbVHVpRGF5LCBudW1iZXJdPikge1xuICAgICAgICBpZiAoIXZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IFtdO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGFydCA9IHZhbHVlWzBdWzBdO1xuICAgICAgICBjb25zdCBtdXRhYmxlID0gWy4uLnZhbHVlXTtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gVHVpRGF5Lmxlbmd0aEJldHdlZW4oc3RhcnQsIHZhbHVlW3ZhbHVlLmxlbmd0aCAtIDFdWzBdKSArIDE7XG5cbiAgICAgICAgdGhpcy52YWx1ZSA9IEFycmF5LmZyb20oe2xlbmd0aH0sIChfLCBkYXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREYXkgPSBzdGFydC5hcHBlbmQoe2RheX0pO1xuICAgICAgICAgICAgY29uc3Qgc2hpZnRlZCA9IGN1cnJlbnREYXkuZGF5U2FtZShtdXRhYmxlWzBdWzBdKSA/IG11dGFibGUuc2hpZnQoKSA6IG51bGw7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBzaGlmdGVkID8gc2hpZnRlZFsxXSA6IE5hTjtcblxuICAgICAgICAgICAgcmV0dXJuIFtjdXJyZW50RGF5LCBjdXJyZW50VmFsdWVdIGFzIFtUdWlEYXksIG51bWJlcl07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICB5ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBoZWlnaHQgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHNtb290aGluZ0ZhY3RvciA9IHRoaXMub3B0aW9ucy5zbW9vdGhpbmdGYWN0b3I7XG5cbiAgICBASW5wdXQoKVxuICAgIGhpbnRDb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8W1R1aURheSwgbnVtYmVyXT4+O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHhTdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8VHVpRGF5PiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHlTdHJpbmdpZnk6IFR1aVN0cmluZ0hhbmRsZXI8bnVtYmVyPiB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGRvdHMgPSB0aGlzLm9wdGlvbnMuZG90cztcblxuICAgIEBIb3N0QmluZGluZygnc3R5bGUuekluZGV4JylcbiAgICB6SW5kZXggPSAwO1xuXG4gICAgdmFsdWU6IFJlYWRvbmx5QXJyYXk8W1R1aURheSwgbnVtYmVyXT4gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aUxpbmVEYXlzQ2hhcnRIaW50RGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpbnREaXJlY3RpdmU6IFR1aUxpbmVEYXlzQ2hhcnRIaW50RGlyZWN0aXZlIHwgbnVsbCxcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgQEluamVjdChOZ1pvbmUpIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoVHVpSG92ZXJlZFNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgaG92ZXJlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0xJTkVfQ0hBUlRfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlMaW5lQ2hhcnRPcHRpb25zLFxuICAgICkge31cblxuICAgIGdldCBtb250aHMoKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlQb2ludFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlLmxlbmd0aCA/IHRoaXMuYnJlYWtNb250aHModGhpcy52YWx1ZSkgOiBFTVBUWV9BUlJBWTtcbiAgICB9XG5cbiAgICBnZXQgZmlyc3RXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5tb250aHMubGVuZ3RoICogdGhpcy52YWx1ZVswXVswXS5kYXlzQ291bnQ7XG4gICAgfVxuXG4gICAgZ2V0IGhpbnQoKTpcbiAgICAgICAgfCBQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8W1R1aURheSwgbnVtYmVyXT4+XG4gICAgICAgIHwgUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PHJlYWRvbmx5IFR1aVBvaW50W10+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpbnREaXJlY3RpdmU/LmhpbnQgPz8gdGhpcy5oaW50Q29udGVudDtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIGdldEhpbnRDb250ZXh0KFxuICAgICAgICB4OiBudW1iZXIsXG4gICAgICAgIHZhbHVlOiBSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+LFxuICAgICk6IFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8W1R1aURheSwgbnVtYmVyXT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJGltcGxpY2l0OiB2YWx1ZVt4IC0gdmFsdWVbMF1bMF0uZGF5ICsgMV0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0dWlMaW5lQ2hhcnREcml2ZXJzKHRoaXMuY2hhcnRzKSwgdGhpcy5ob3ZlcmVkJF0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIocmVzdWx0ID0+ICFyZXN1bHQuc29tZShCb29sZWFuKSksXG4gICAgICAgICAgICAgICAgdHVpWm9uZWZyZWUodGhpcy5uZ1pvbmUpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25Ib3ZlcmVkKE5hTik7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZWFkb25seSBkYXlzU3RyaW5naWZ5OiBUdWlTdHJpbmdIYW5kbGVyPG51bWJlcj4gPSBpbmRleCA9PlxuICAgICAgICB0aGlzLnhTdHJpbmdpZnkgPyB0aGlzLnhTdHJpbmdpZnkodGhpcy5nZXREYXkoaW5kZXgpKSA6ICcnO1xuXG4gICAgZ2V0WChpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMuZ2V0RGF5KGluZGV4KTtcbiAgICAgICAgY29uc3QgbW9udGhzID0gVHVpTW9udGgubGVuZ3RoQmV0d2Vlbih0aGlzLnZhbHVlWzBdWzBdLCBjdXJyZW50KTtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gbW9udGhzICogY3VycmVudC5kYXlzQ291bnQ7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4IC0gb2Zmc2V0O1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChkYXk6IFR1aURheSB8IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodHVpSXNOdW1iZXIoZGF5KSkge1xuICAgICAgICAgICAgdGhpcy5jaGFydHMuZm9yRWFjaChjaGFydCA9PiBjaGFydC5vbkhvdmVyZWQoTmFOKSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gVHVpTW9udGgubGVuZ3RoQmV0d2Vlbih0aGlzLnZhbHVlWzBdWzBdLCBkYXkpO1xuICAgICAgICBjb25zdCB4ID0gVHVpRGF5Lmxlbmd0aEJldHdlZW4odGhpcy52YWx1ZVswXVswXSwgZGF5KSArIHRoaXMudmFsdWVbMF1bMF0uZGF5IC0gMTtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IHRoaXMuY2hhcnRzLmdldChpbmRleCk7XG5cbiAgICAgICAgdGhpcy5jaGFydHMuZm9yRWFjaChjaGFydCA9PiB7XG4gICAgICAgICAgICBpZiAoY2hhcnQgPT09IGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50Lm9uSG92ZXJlZChjdXJyZW50LnZhbHVlLmZpbmRJbmRleChwb2ludCA9PiBwb2ludFswXSA9PT0geCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjaGFydC5vbkhvdmVyZWQoTmFOKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmFpc2UoaW5kZXg6IG51bWJlciwge3ZhbHVlfTogVHVpTGluZUNoYXJ0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHggPSB2YWx1ZVtpbmRleF1bMF07XG4gICAgICAgIGNvbnN0IG1vbnRoID0gdGhpcy5nZXREYXkoeCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaGludERpcmVjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5oaW50RGlyZWN0aXZlLnJhaXNlKG1vbnRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25Ib3ZlcmVkKG1vbnRoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFdpZHRoKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREYXkoaW5kZXgpLmRheXNDb3VudCAqIHRoaXMubW9udGhzLmxlbmd0aDtcbiAgICB9XG5cbiAgICBnZXRDb250ZXh0KFxuICAgICAgICBpbmRleDogbnVtYmVyLFxuICAgICAgICB7dmFsdWV9OiBUdWlMaW5lQ2hhcnRDb21wb25lbnQsXG4gICAgKTogVHVpQ29udGV4dFdpdGhJbXBsaWNpdDx1bmtub3duPiB7XG4gICAgICAgIGNvbnN0IHggPSB2YWx1ZVtpbmRleF1bMF07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaGludERpcmVjdGl2ZVxuICAgICAgICAgICAgPyB0aGlzLmhpbnREaXJlY3RpdmUuZ2V0Q29udGV4dCh0aGlzLmdldERheSh4KSlcbiAgICAgICAgICAgIDogdGhpcy5nZXRIaW50Q29udGV4dCh4LCB0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgYnJlYWtNb250aHMoXG4gICAgICAgIHZhbHVlOiBSZWFkb25seUFycmF5PFtUdWlEYXksIG51bWJlcl0+LFxuICAgICk6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpUG9pbnRbXT4ge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB2YWx1ZVswXVswXS5kYXkgLSAxO1xuXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKFxuICAgICAgICAgICAge2xlbmd0aDogVHVpTW9udGgubGVuZ3RoQmV0d2Vlbih2YWx1ZVswXVswXSwgdmFsdWVbdmFsdWUubGVuZ3RoIC0gMV1bMF0pICsgMX0sXG4gICAgICAgICAgICAoXywgaSkgPT4gaSArIHZhbHVlWzBdWzBdLm1vbnRoICsgdmFsdWVbMF1bMF0ueWVhciAqIDEyLFxuICAgICAgICApXG4gICAgICAgICAgICAubWFwKGFic29sdXRlTW9udGggPT5cbiAgICAgICAgICAgICAgICB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICAubWFwPFR1aVBvaW50IHwgbnVsbD4oKFt7bW9udGgsIHllYXJ9LCB5XSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBtb250aCArIHllYXIgKiAxMiA9PT0gYWJzb2x1dGVNb250aCA/IFtpbmRleCArIG9mZnNldCwgeV0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5tYXAoKG1vbnRoLCBpbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgaW5kZXggPT09IGFycmF5Lmxlbmd0aCAtIDFcbiAgICAgICAgICAgICAgICAgICAgPyBtb250aFxuICAgICAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ubW9udGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5W2luZGV4ICsgMV0uZmluZChkYXkgPT4gIU51bWJlci5pc05hTihkYXlbMV0pKSB8fCBEVU1NWSxcbiAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERheShpbmRleDogbnVtYmVyKTogVHVpRGF5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVbaW5kZXggLSB0aGlzLnZhbHVlWzBdWzBdLmRheSArIDFdWzBdO1xuICAgIH1cbn1cbiIsIjx0dWktbGluZS1jaGFydFxuICAgICpuZ0Zvcj1cImxldCBtb250aCBvZiBtb250aHM7IGxldCBmaXJzdCA9IGZpcnN0XCJcbiAgICBjbGFzcz1cInQtY2hhcnRcIlxuICAgIFtzdHlsZS56SW5kZXhdPVwiekluZGV4XCJcbiAgICBbZG90c109XCJkb3RzXCJcbiAgICBbeF09XCJmaXJzdCA/IDAgOiBnZXRYKG1vbnRoWzBdWzBdKVwiXG4gICAgW3ldPVwieVwiXG4gICAgW3dpZHRoXT1cImZpcnN0ID8gZmlyc3RXaWR0aCA6IGdldFdpZHRoKG1vbnRoWzBdWzBdKVwiXG4gICAgW2hlaWdodF09XCJoZWlnaHRcIlxuICAgIFt2YWx1ZV09XCJtb250aFwiXG4gICAgW3Ntb290aGluZ0ZhY3Rvcl09XCJzbW9vdGhpbmdGYWN0b3JcIlxuICAgIFt0dWlIaW50Q29udGVudF09XCJoaW50Q29udGVudCA/IGhpbnQgOiAnJ1wiXG4gICAgW3lTdHJpbmdpZnldPVwieVN0cmluZ2lmeVwiXG4gICAgW3hTdHJpbmdpZnldPVwieFN0cmluZ2lmeSA/IGRheXNTdHJpbmdpZnkgOiBudWxsXCJcbj48L3R1aS1saW5lLWNoYXJ0PlxuPG5nLXRlbXBsYXRlXG4gICAgI2hpbnRcbiAgICBsZXQtcG9pbnRcbj5cbiAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJoaW50Q29udGVudCBhcyB0ZXh0OyBjb250ZXh0OiBnZXRIaW50Q29udGV4dChwb2ludFswXSwgdmFsdWUpXCI+XG4gICAgICAgIHt7IHRleHQgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -2,7 +2,7 @@ import { __decorate } from 'tslib';
|
|
|
2
2
|
import * as i2$1 from '@angular/common';
|
|
3
3
|
import { Location as Location$1, CommonModule } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { Renderer2, NgZone, ElementRef, Directive, Inject, Self, ContentChildren, forwardRef, Input, Component, ChangeDetectionStrategy, Optional, ViewChildren, HostListener, NgModule } from '@angular/core';
|
|
5
|
+
import { Renderer2, NgZone, ElementRef, Directive, Inject, Self, ContentChildren, forwardRef, Input, InjectionToken, Component, ChangeDetectionStrategy, Optional, ViewChildren, HostListener, NgModule } from '@angular/core';
|
|
6
6
|
import { LOCATION } from '@ng-web-apis/common';
|
|
7
7
|
import { tuiPrepareExternalUrl, tuiDraw } from '@taiga-ui/addon-charts/utils';
|
|
8
8
|
import * as i1 from '@taiga-ui/cdk';
|
|
@@ -87,24 +87,38 @@ function tuiLineChartDrivers(charts) {
|
|
|
87
87
|
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());
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
+
const TUI_LINE_CHART_DEFAULT_OPTIONS = {
|
|
91
|
+
dots: false,
|
|
92
|
+
filled: false,
|
|
93
|
+
smoothingFactor: 0,
|
|
94
|
+
};
|
|
95
|
+
const TUI_LINE_CHART_OPTIONS = new InjectionToken(`[TUI_LINE_CHART_OPTIONS]`, {
|
|
96
|
+
factory: () => TUI_LINE_CHART_DEFAULT_OPTIONS,
|
|
97
|
+
});
|
|
98
|
+
const tuiLineChartOptionsProvider = (options) => ({
|
|
99
|
+
provide: TUI_LINE_CHART_OPTIONS,
|
|
100
|
+
useValue: Object.assign(Object.assign({}, TUI_LINE_CHART_DEFAULT_OPTIONS), options),
|
|
101
|
+
});
|
|
102
|
+
|
|
90
103
|
class TuiLineChartComponent {
|
|
91
|
-
constructor(idService, ngZone, ngLocation, locationRef, hintDirective, hintOptions) {
|
|
104
|
+
constructor(idService, ngZone, ngLocation, locationRef, hintDirective, hintOptions, options) {
|
|
92
105
|
this.ngZone = ngZone;
|
|
93
106
|
this.ngLocation = ngLocation;
|
|
94
107
|
this.locationRef = locationRef;
|
|
95
108
|
this.hintDirective = hintDirective;
|
|
96
109
|
this.hintOptions = hintOptions;
|
|
110
|
+
this.options = options;
|
|
97
111
|
this._hovered$ = new Subject();
|
|
98
112
|
this.drivers = EMPTY_QUERY;
|
|
99
113
|
this.x = 0;
|
|
100
114
|
this.y = 0;
|
|
101
115
|
this.width = 0;
|
|
102
116
|
this.height = 0;
|
|
103
|
-
this.smoothingFactor =
|
|
117
|
+
this.smoothingFactor = this.options.smoothingFactor;
|
|
104
118
|
this.xStringify = null;
|
|
105
119
|
this.yStringify = null;
|
|
106
|
-
this.filled =
|
|
107
|
-
this.dots =
|
|
120
|
+
this.filled = this.options.filled;
|
|
121
|
+
this.dots = this.options.dots;
|
|
108
122
|
this.value = [];
|
|
109
123
|
this.autoIdString = idService.generate();
|
|
110
124
|
}
|
|
@@ -211,7 +225,7 @@ class TuiLineChartComponent {
|
|
|
211
225
|
: this.getX(index + 1) - this.getX(index);
|
|
212
226
|
}
|
|
213
227
|
}
|
|
214
|
-
TuiLineChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiLineChartComponent, deps: [{ token: TuiIdService }, { token: NgZone }, { token: Location$1 }, { token: LOCATION }, { token: TuiLineChartHintDirective, optional: true }, { token: TuiHintOptionsDirective, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
228
|
+
TuiLineChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiLineChartComponent, deps: [{ token: TuiIdService }, { token: NgZone }, { token: Location$1 }, { token: LOCATION }, { token: TuiLineChartHintDirective, optional: true }, { token: TuiHintOptionsDirective, optional: true }, { token: TUI_LINE_CHART_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
215
229
|
TuiLineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiLineChartComponent, selector: "tui-line-chart", inputs: { valueSetter: ["value", "valueSetter"], x: "x", y: "y", width: "width", height: "height", smoothingFactor: "smoothingFactor", xStringify: "xStringify", yStringify: "yStringify", filled: "filled", dots: "dots" }, host: { listeners: { "mouseleave": "onMouseLeave()" } }, viewQueries: [{ propertyName: "drivers", predicate: TuiHintHoverDirective, descendants: true }], ngImport: i0, 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 <!-- TODO: Fix hint type -->\n <div\n *ngIf=\"value.length > 1 || dots\"\n class=\"t-column\"\n [class.t-column_hovered]=\"hovered === index\"\n [class.t-column_hint_hovered]=\"drivers.get(index) | async\"\n [tuiHintHost]=\"hintHost\"\n [tuiHint]=\"$any(hintDirective?.hint || hintContent)\"\n [tuiHintContext]=\"getContentContext(point, index)\"\n [tuiHintDescribe]=\"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 [id]=\"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-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;width:100%;height:100%;pointer-events:none}.t-svg{transform:scaleY(-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 #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-base-03)}.t-line_vertical{top:0;bottom:0;left:50%;width:1px}.t-line_horizontal{z-index:-1;width:100%;height: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{box-shadow:0 .25rem 1.5rem #0000001f;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:translate(-50%)}.t-hint_x{bottom:0}.t-hint_y{left:0}\n"], directives: [{ type: i1.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.TuiHintDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHint", "tuiHintContext", "tuiHintAppearance"] }, { type: i3.TuiHintDriverDirective, selector: "[tuiHint]" }, { type: i3.TuiHintHoverDirective, selector: "[tuiHint]:not(ng-container)", inputs: ["tuiHintShowDelay", "tuiHintHideDelay"], exportAs: ["tuiHintHover"] }, { type: i3.TuiHintPositionDirective, selector: "[tuiHint]:not([tuiHintCustomPosition])", inputs: ["tuiHintDirection"] }, { type: i3.TuiHintHostDirective, selector: "[tuiHint][tuiHintHost]", inputs: ["tuiHintHost"] }, { type: i3.TuiHintDescribeDirective, selector: "[tuiHintDescribe]", inputs: ["tuiHintDescribe"] }, { type: i1.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], pipes: { "async": i2$1.AsyncPipe }, viewProviders: [tuiHintOptionsProvider({ direction: 'top', hideDelay: 0 })], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
216
230
|
__decorate([
|
|
217
231
|
tuiDefaultProp()
|
|
@@ -280,6 +294,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
280
294
|
}, {
|
|
281
295
|
type: Inject,
|
|
282
296
|
args: [TuiHintOptionsDirective]
|
|
297
|
+
}] }, { type: undefined, decorators: [{
|
|
298
|
+
type: Inject,
|
|
299
|
+
args: [TUI_LINE_CHART_OPTIONS]
|
|
283
300
|
}] }]; }, propDecorators: { drivers: [{
|
|
284
301
|
type: ViewChildren,
|
|
285
302
|
args: [TuiHintHoverDirective]
|
|
@@ -343,5 +360,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
343
360
|
* Generated bundle index. Do not edit.
|
|
344
361
|
*/
|
|
345
362
|
|
|
346
|
-
export { TuiLineChartComponent, TuiLineChartHintDirective, TuiLineChartModule, tuiLineChartDrivers };
|
|
363
|
+
export { TUI_LINE_CHART_DEFAULT_OPTIONS, TUI_LINE_CHART_OPTIONS, TuiLineChartComponent, TuiLineChartHintDirective, TuiLineChartModule, tuiLineChartDrivers, tuiLineChartOptionsProvider };
|
|
347
364
|
//# sourceMappingURL=taiga-ui-addon-charts-components-line-chart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-charts-components-line-chart.js","sources":["../../../projects/addon-charts/components/line-chart/line-chart-hint.directive.ts","../../../projects/addon-charts/components/line-chart/line-chart.component.ts","../../../projects/addon-charts/components/line-chart/line-chart.template.html","../../../projects/addon-charts/components/line-chart/line-chart.module.ts","../../../projects/addon-charts/components/line-chart/taiga-ui-addon-charts-components-line-chart.ts"],"sourcesContent":["import {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n QueryList,\n Renderer2,\n Self,\n} from '@angular/core';\nimport {TuiLineChartHintContext} from '@taiga-ui/addon-charts/interfaces';\nimport {\n EMPTY_QUERY,\n TuiContextWithImplicit,\n TuiDestroyService,\n TuiHoveredService,\n tuiPure,\n tuiQueryListChanges,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {combineLatest, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n startWith,\n switchMap,\n takeUntil,\n} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiLineChartComponent} from './line-chart.component';\n\n@Directive({\n selector: '[tuiLineChartHint]',\n providers: [TuiDestroyService, TuiHoveredService],\n})\nexport class TuiLineChartHintDirective implements AfterViewInit {\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 hint: PolymorpheusContent<TuiContextWithImplicit<readonly TuiPoint[]>>;\n\n constructor(\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n ) {}\n\n ngAfterViewInit(): void {\n combineLatest([tuiLineChartDrivers(this.charts), this.hovered$])\n .pipe(\n filter(result => !result.some(Boolean)),\n tuiZonefree(this.ngZone),\n takeUntil(this.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\nexport function tuiLineChartDrivers(\n charts: QueryList<{drivers: QueryList<Observable<boolean>>}>,\n): Observable<boolean> {\n return combineLatest(\n charts.map(({drivers}) =>\n tuiQueryListChanges(drivers).pipe(\n map(drivers => drivers.map(driver => driver.pipe(startWith(false)))),\n ),\n ),\n ).pipe(\n map(all => all.reduce((acc, drivers) => acc.concat(drivers), [])),\n switchMap(drivers => combineLatest(drivers)),\n map(values => values.some(Boolean)),\n distinctUntilChanged(),\n );\n}\n","import {Location as NgLocation} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n Inject,\n Input,\n NgZone,\n Optional,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {LOCATION} from '@ng-web-apis/common';\nimport {TuiLineChartHintContext} from '@taiga-ui/addon-charts/interfaces';\nimport {tuiDraw, tuiPrepareExternalUrl} from '@taiga-ui/addon-charts/utils';\nimport {\n EMPTY_QUERY,\n tuiDefaultProp,\n TuiIdService,\n tuiInRange,\n tuiIsPresent,\n tuiPure,\n TuiStringHandler,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {\n TuiHintHoverDirective,\n TuiHintOptionsDirective,\n tuiHintOptionsProvider,\n TuiPoint,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiLineChartHintDirective} from './line-chart-hint.directive';\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 viewProviders: [tuiHintOptionsProvider({direction: 'top', hideDelay: 0})],\n})\nexport class TuiLineChartComponent {\n private readonly _hovered$ = new Subject<number>();\n\n private readonly autoIdString: string;\n\n @ViewChildren(TuiHintHoverDirective)\n readonly drivers: QueryList<Observable<boolean>> = EMPTY_QUERY;\n\n @Input('value')\n @tuiDefaultProp()\n set valueSetter(value: readonly TuiPoint[]) {\n this.value = value.filter(item => !item.some(Number.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(\n (smoothingFactor: number) => tuiInRange(smoothingFactor, 0, 100),\n 'smoothingFactor must be between 0 and 100',\n )\n smoothingFactor = 0;\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(NgLocation) private readonly ngLocation: NgLocation,\n @Inject(LOCATION) private readonly locationRef: Location,\n @Optional()\n @Inject(TuiLineChartHintDirective)\n readonly hintDirective: TuiLineChartHintDirective | null,\n @Optional()\n @Inject(TuiHintOptionsDirective)\n readonly hintOptions: TuiHintOptionsDirective | 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 hintContent(): PolymorpheusContent<TuiLineChartHintContext<TuiPoint>> {\n return this.hintOptions?.content || '';\n }\n\n get fillId(): string {\n return `tui-line-chart-${this.autoIdString}`;\n }\n\n get fill(): string {\n return this.filled\n ? tuiPrepareExternalUrl(this.ngLocation, this.locationRef, this.fillId)\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<TuiPoint | 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 | null): TuiPoint | null {\n // This checks for NaN and null too since async pipe returns null before first item\n return tuiIsPresent(hovered) && Number.isInteger(hovered)\n ? this.value[hovered]\n : 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} ${tuiDraw(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","<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 <!-- TODO: Fix hint type -->\n <div\n *ngIf=\"value.length > 1 || dots\"\n class=\"t-column\"\n [class.t-column_hovered]=\"hovered === index\"\n [class.t-column_hint_hovered]=\"drivers.get(index) | async\"\n [tuiHintHost]=\"hintHost\"\n [tuiHint]=\"$any(hintDirective?.hint || hintContent)\"\n [tuiHintContext]=\"getContentContext(point, index)\"\n [tuiHintDescribe]=\"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 [id]=\"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-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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {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 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":["NgLocation","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-charts-components-line-chart.js","sources":["../../../projects/addon-charts/components/line-chart/line-chart-hint.directive.ts","../../../projects/addon-charts/components/line-chart/line-chart-options.ts","../../../projects/addon-charts/components/line-chart/line-chart.component.ts","../../../projects/addon-charts/components/line-chart/line-chart.template.html","../../../projects/addon-charts/components/line-chart/line-chart.module.ts","../../../projects/addon-charts/components/line-chart/taiga-ui-addon-charts-components-line-chart.ts"],"sourcesContent":["import {\n AfterViewInit,\n ContentChildren,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n NgZone,\n QueryList,\n Renderer2,\n Self,\n} from '@angular/core';\nimport {TuiLineChartHintContext} from '@taiga-ui/addon-charts/interfaces';\nimport {\n EMPTY_QUERY,\n TuiContextWithImplicit,\n TuiDestroyService,\n TuiHoveredService,\n tuiPure,\n tuiQueryListChanges,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {combineLatest, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n startWith,\n switchMap,\n takeUntil,\n} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiLineChartComponent} from './line-chart.component';\n\n@Directive({\n selector: '[tuiLineChartHint]',\n providers: [TuiDestroyService, TuiHoveredService],\n})\nexport class TuiLineChartHintDirective implements AfterViewInit {\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 hint: PolymorpheusContent<TuiContextWithImplicit<readonly TuiPoint[]>>;\n\n constructor(\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n ) {}\n\n ngAfterViewInit(): void {\n combineLatest([tuiLineChartDrivers(this.charts), this.hovered$])\n .pipe(\n filter(result => !result.some(Boolean)),\n tuiZonefree(this.ngZone),\n takeUntil(this.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\nexport function tuiLineChartDrivers(\n charts: QueryList<{drivers: QueryList<Observable<boolean>>}>,\n): Observable<boolean> {\n return combineLatest(\n charts.map(({drivers}) =>\n tuiQueryListChanges(drivers).pipe(\n map(drivers => drivers.map(driver => driver.pipe(startWith(false)))),\n ),\n ),\n ).pipe(\n map(all => all.reduce((acc, drivers) => acc.concat(drivers), [])),\n switchMap(drivers => combineLatest(drivers)),\n map(values => values.some(Boolean)),\n distinctUntilChanged(),\n );\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiLineChartOptions {\n readonly dots: boolean;\n readonly filled: boolean;\n readonly smoothingFactor: number;\n}\n\nexport const TUI_LINE_CHART_DEFAULT_OPTIONS: TuiLineChartOptions = {\n dots: false,\n filled: false,\n smoothingFactor: 0,\n};\n\nexport const TUI_LINE_CHART_OPTIONS = new InjectionToken<TuiLineChartOptions>(\n `[TUI_LINE_CHART_OPTIONS]`,\n {\n factory: () => TUI_LINE_CHART_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiLineChartOptionsProvider: (\n options: Partial<TuiLineChartOptions>,\n) => ValueProvider = (options: Partial<TuiLineChartOptions>) => ({\n provide: TUI_LINE_CHART_OPTIONS,\n useValue: {...TUI_LINE_CHART_DEFAULT_OPTIONS, ...options},\n});\n","import {Location as NgLocation} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostListener,\n Inject,\n Input,\n NgZone,\n Optional,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {LOCATION} from '@ng-web-apis/common';\nimport {TuiLineChartHintContext} from '@taiga-ui/addon-charts/interfaces';\nimport {tuiDraw, tuiPrepareExternalUrl} from '@taiga-ui/addon-charts/utils';\nimport {\n EMPTY_QUERY,\n tuiDefaultProp,\n TuiIdService,\n tuiInRange,\n tuiIsPresent,\n tuiPure,\n TuiStringHandler,\n tuiZoneOptimized,\n} from '@taiga-ui/cdk';\nimport {\n TuiHintHoverDirective,\n TuiHintOptionsDirective,\n tuiHintOptionsProvider,\n TuiPoint,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiLineChartHintDirective} from './line-chart-hint.directive';\nimport {TUI_LINE_CHART_OPTIONS, TuiLineChartOptions} from './line-chart-options';\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 viewProviders: [tuiHintOptionsProvider({direction: 'top', hideDelay: 0})],\n})\nexport class TuiLineChartComponent {\n private readonly _hovered$ = new Subject<number>();\n\n private readonly autoIdString: string;\n\n @ViewChildren(TuiHintHoverDirective)\n readonly drivers: QueryList<Observable<boolean>> = EMPTY_QUERY;\n\n @Input('value')\n @tuiDefaultProp()\n set valueSetter(value: readonly TuiPoint[]) {\n this.value = value.filter(item => !item.some(Number.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(\n (smoothingFactor: number) => tuiInRange(smoothingFactor, 0, 100),\n 'smoothingFactor must be between 0 and 100',\n )\n smoothingFactor = this.options.smoothingFactor;\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 = this.options.filled;\n\n @Input()\n @tuiDefaultProp()\n dots = this.options.dots;\n\n value: readonly TuiPoint[] = [];\n\n constructor(\n @Inject(TuiIdService) idService: TuiIdService,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(NgLocation) private readonly ngLocation: NgLocation,\n @Inject(LOCATION) private readonly locationRef: Location,\n @Optional()\n @Inject(TuiLineChartHintDirective)\n readonly hintDirective: TuiLineChartHintDirective | null,\n @Optional()\n @Inject(TuiHintOptionsDirective)\n readonly hintOptions: TuiHintOptionsDirective | null,\n @Inject(TUI_LINE_CHART_OPTIONS) private readonly options: TuiLineChartOptions,\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 hintContent(): PolymorpheusContent<TuiLineChartHintContext<TuiPoint>> {\n return this.hintOptions?.content || '';\n }\n\n get fillId(): string {\n return `tui-line-chart-${this.autoIdString}`;\n }\n\n get fill(): string {\n return this.filled\n ? tuiPrepareExternalUrl(this.ngLocation, this.locationRef, this.fillId)\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<TuiPoint | 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 | null): TuiPoint | null {\n // This checks for NaN and null too since async pipe returns null before first item\n return tuiIsPresent(hovered) && Number.isInteger(hovered)\n ? this.value[hovered]\n : 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} ${tuiDraw(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","<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 <!-- TODO: Fix hint type -->\n <div\n *ngIf=\"value.length > 1 || dots\"\n class=\"t-column\"\n [class.t-column_hovered]=\"hovered === index\"\n [class.t-column_hint_hovered]=\"drivers.get(index) | async\"\n [tuiHintHost]=\"hintHost\"\n [tuiHint]=\"$any(hintDirective?.hint || hintContent)\"\n [tuiHintContext]=\"getContentContext(point, index)\"\n [tuiHintDescribe]=\"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 [id]=\"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-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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {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 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":["NgLocation","i2"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { __decorate } from 'tslib';
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { NgZone, Directive, Self, Inject, ContentChildren, forwardRef, Input, Component, ChangeDetectionStrategy, Optional, ViewChildren, HostBinding, NgModule } from '@angular/core';
|
|
4
4
|
import * as i1$1 from '@taiga-ui/addon-charts/components/line-chart';
|
|
5
|
-
import { tuiLineChartDrivers, TuiLineChartHintDirective, TuiLineChartComponent, TuiLineChartModule } from '@taiga-ui/addon-charts/components/line-chart';
|
|
5
|
+
import { tuiLineChartDrivers, TUI_LINE_CHART_OPTIONS, TuiLineChartHintDirective, TuiLineChartComponent, TuiLineChartModule } from '@taiga-ui/addon-charts/components/line-chart';
|
|
6
6
|
import * as i1 from '@taiga-ui/cdk';
|
|
7
7
|
import { EMPTY_QUERY, tuiZonefree, TuiDestroyService, TuiHoveredService, tuiPure, TuiDay, EMPTY_ARRAY, TuiMonth, tuiIsNumber, tuiIsPresent, tuiDefaultProp } from '@taiga-ui/cdk';
|
|
8
8
|
import * as i2 from 'rxjs';
|
|
@@ -87,18 +87,19 @@ function find(value, current) {
|
|
|
87
87
|
|
|
88
88
|
const DUMMY = [NaN, NaN];
|
|
89
89
|
class TuiLineDaysChartComponent {
|
|
90
|
-
constructor(hintDirective, destroy$, ngZone, hovered
|
|
90
|
+
constructor(hintDirective, destroy$, ngZone, hovered$, options) {
|
|
91
91
|
this.hintDirective = hintDirective;
|
|
92
92
|
this.destroy$ = destroy$;
|
|
93
93
|
this.ngZone = ngZone;
|
|
94
94
|
this.hovered$ = hovered$;
|
|
95
|
+
this.options = options;
|
|
95
96
|
this.charts = EMPTY_QUERY;
|
|
96
97
|
this.y = 0;
|
|
97
98
|
this.height = 0;
|
|
98
|
-
this.smoothingFactor =
|
|
99
|
+
this.smoothingFactor = this.options.smoothingFactor;
|
|
99
100
|
this.xStringify = null;
|
|
100
101
|
this.yStringify = null;
|
|
101
|
-
this.dots =
|
|
102
|
+
this.dots = this.options.dots;
|
|
102
103
|
this.zIndex = 0;
|
|
103
104
|
this.value = [];
|
|
104
105
|
this.daysStringify = index => this.xStringify ? this.xStringify(this.getDay(index)) : '';
|
|
@@ -199,7 +200,7 @@ class TuiLineDaysChartComponent {
|
|
|
199
200
|
return this.value[index - this.value[0][0].day + 1][0];
|
|
200
201
|
}
|
|
201
202
|
}
|
|
202
|
-
TuiLineDaysChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiLineDaysChartComponent, deps: [{ token: TuiLineDaysChartHintDirective, optional: true }, { token: TuiDestroyService, self: true }, { token: NgZone }, { token: TuiHoveredService }], target: i0.ɵɵFactoryTarget.Component });
|
|
203
|
+
TuiLineDaysChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiLineDaysChartComponent, deps: [{ token: TuiLineDaysChartHintDirective, optional: true }, { token: TuiDestroyService, self: true }, { token: NgZone }, { token: TuiHoveredService }, { token: TUI_LINE_CHART_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
203
204
|
TuiLineDaysChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiLineDaysChartComponent, selector: "tui-line-days-chart", inputs: { valueSetter: ["value", "valueSetter"], y: "y", height: "height", smoothingFactor: "smoothingFactor", hintContent: "hintContent", xStringify: "xStringify", yStringify: "yStringify", dots: "dots" }, host: { properties: { "style.zIndex": "this.zIndex" } }, providers: [
|
|
204
205
|
TuiDestroyService,
|
|
205
206
|
TuiHoveredService,
|
|
@@ -267,6 +268,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
267
268
|
}] }, { type: i2.Observable, decorators: [{
|
|
268
269
|
type: Inject,
|
|
269
270
|
args: [TuiHoveredService]
|
|
271
|
+
}] }, { type: undefined, decorators: [{
|
|
272
|
+
type: Inject,
|
|
273
|
+
args: [TUI_LINE_CHART_OPTIONS]
|
|
270
274
|
}] }]; }, propDecorators: { charts: [{
|
|
271
275
|
type: ViewChildren,
|
|
272
276
|
args: [TuiLineChartComponent]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-charts-components-line-days-chart.js","sources":["../../../projects/addon-charts/components/line-days-chart/line-days-chart-hint.directive.ts","../../../projects/addon-charts/components/line-days-chart/line-days-chart.component.ts","../../../projects/addon-charts/components/line-days-chart/line-days-chart.template.html","../../../projects/addon-charts/components/line-days-chart/line-days-chart.module.ts","../../../projects/addon-charts/components/line-days-chart/taiga-ui-addon-charts-components-line-days-chart.ts"],"sourcesContent":["import {\n AfterContentInit,\n ContentChildren,\n Directive,\n forwardRef,\n Inject,\n Input,\n NgZone,\n QueryList,\n Self,\n} from '@angular/core';\nimport {tuiLineChartDrivers} from '@taiga-ui/addon-charts/components/line-chart';\nimport {\n EMPTY_QUERY,\n TuiContextWithImplicit,\n TuiDay,\n TuiDestroyService,\n TuiHoveredService,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {combineLatest, Observable} from 'rxjs';\nimport {filter, takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiLineDaysChartComponent} from './line-days-chart.component';\n\n// TODO: Consider extending TuiLineChartHintDirective\n@Directive({\n selector: '[tuiLineChartHint]',\n providers: [TuiDestroyService, TuiHoveredService],\n})\nexport class TuiLineDaysChartHintDirective implements AfterContentInit {\n @ContentChildren(forwardRef(() => TuiLineDaysChartComponent))\n private readonly charts: QueryList<TuiLineDaysChartComponent> = EMPTY_QUERY;\n\n @Input('tuiLineChartHint')\n hint: PolymorpheusContent<TuiContextWithImplicit<readonly TuiPoint[]>>;\n\n constructor(\n @Self() @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n ) {}\n\n ngAfterContentInit(): void {\n combineLatest([\n ...this.charts.map(({charts}) => tuiLineChartDrivers(charts)),\n this.hovered$,\n ])\n .pipe(\n filter(result => !result.some(Boolean)),\n tuiZonefree(this.ngZone),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.charts.forEach(chart => chart.onHovered(NaN));\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]) => !Number.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 AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n NgZone,\n Optional,\n QueryList,\n Self,\n ViewChildren,\n} from '@angular/core';\nimport {\n TuiLineChartComponent,\n tuiLineChartDrivers,\n TuiLineChartHintDirective,\n} from '@taiga-ui/addon-charts/components/line-chart';\nimport {\n EMPTY_ARRAY,\n EMPTY_QUERY,\n TuiContextWithImplicit,\n TuiDay,\n tuiDefaultProp,\n TuiDestroyService,\n TuiHoveredService,\n tuiIsNumber,\n tuiIsPresent,\n TuiMonth,\n tuiPure,\n TuiStringHandler,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {combineLatest, Observable} from 'rxjs';\nimport {filter, takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\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 TuiDestroyService,\n TuiHoveredService,\n {\n provide: TuiLineChartHintDirective,\n useExisting: TuiLineDaysChartComponent,\n },\n ],\n})\nexport class TuiLineDaysChartComponent implements AfterViewInit {\n @ViewChildren(TuiLineChartComponent)\n 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 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 @Self() @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\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?.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 ngAfterViewInit(): void {\n combineLatest([tuiLineChartDrivers(this.charts), this.hovered$])\n .pipe(\n filter(result => !result.some(Boolean)),\n tuiZonefree(this.ngZone),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.onHovered(NaN);\n });\n }\n\n readonly daysStringify: TuiStringHandler<number> = index =>\n this.xStringify ? this.xStringify(this.getDay(index)) : '';\n\n getX(index: number): number {\n const current = this.getDay(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 | number): void {\n if (tuiIsNumber(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 current = this.charts.get(index);\n\n this.charts.forEach(chart => {\n if (chart === current) {\n current.onHovered(current.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.getDay(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.getDay(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.getDay(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(tuiIsPresent),\n )\n .map((month, index, array) =>\n index === array.length - 1\n ? month\n : [\n ...month,\n array[index + 1].find(day => !Number.isNaN(day[1])) || DUMMY,\n ],\n );\n }\n\n private getDay(index: number): TuiDay {\n return this.value[index - this.value[0][0].day + 1][0];\n }\n}\n","<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 [tuiHintContent]=\"hintContent ? hint : ''\"\n [yStringify]=\"yStringify\"\n [xStringify]=\"xStringify ? daysStringify : null\"\n></tui-line-chart>\n<ng-template\n #hint\n let-point\n>\n <ng-container *polymorpheusOutlet=\"hintContent as text; context: getHintContext(point[0], value)\">\n {{ text }}\n </ng-container>\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLineChartModule} from '@taiga-ui/addon-charts/components/line-chart';\nimport {TuiHintModule} from '@taiga-ui/core';\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, TuiHintModule],\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":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-charts-components-line-days-chart.js","sources":["../../../projects/addon-charts/components/line-days-chart/line-days-chart-hint.directive.ts","../../../projects/addon-charts/components/line-days-chart/line-days-chart.component.ts","../../../projects/addon-charts/components/line-days-chart/line-days-chart.template.html","../../../projects/addon-charts/components/line-days-chart/line-days-chart.module.ts","../../../projects/addon-charts/components/line-days-chart/taiga-ui-addon-charts-components-line-days-chart.ts"],"sourcesContent":["import {\n AfterContentInit,\n ContentChildren,\n Directive,\n forwardRef,\n Inject,\n Input,\n NgZone,\n QueryList,\n Self,\n} from '@angular/core';\nimport {tuiLineChartDrivers} from '@taiga-ui/addon-charts/components/line-chart';\nimport {\n EMPTY_QUERY,\n TuiContextWithImplicit,\n TuiDay,\n TuiDestroyService,\n TuiHoveredService,\n tuiPure,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {combineLatest, Observable} from 'rxjs';\nimport {filter, takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiLineDaysChartComponent} from './line-days-chart.component';\n\n// TODO: Consider extending TuiLineChartHintDirective\n@Directive({\n selector: '[tuiLineChartHint]',\n providers: [TuiDestroyService, TuiHoveredService],\n})\nexport class TuiLineDaysChartHintDirective implements AfterContentInit {\n @ContentChildren(forwardRef(() => TuiLineDaysChartComponent))\n private readonly charts: QueryList<TuiLineDaysChartComponent> = EMPTY_QUERY;\n\n @Input('tuiLineChartHint')\n hint: PolymorpheusContent<TuiContextWithImplicit<readonly TuiPoint[]>>;\n\n constructor(\n @Self() @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n ) {}\n\n ngAfterContentInit(): void {\n combineLatest([\n ...this.charts.map(({charts}) => tuiLineChartDrivers(charts)),\n this.hovered$,\n ])\n .pipe(\n filter(result => !result.some(Boolean)),\n tuiZonefree(this.ngZone),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.charts.forEach(chart => chart.onHovered(NaN));\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]) => !Number.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 AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n NgZone,\n Optional,\n QueryList,\n Self,\n ViewChildren,\n} from '@angular/core';\nimport {\n TUI_LINE_CHART_OPTIONS,\n TuiLineChartComponent,\n tuiLineChartDrivers,\n TuiLineChartHintDirective,\n TuiLineChartOptions,\n} from '@taiga-ui/addon-charts/components/line-chart';\nimport {\n EMPTY_ARRAY,\n EMPTY_QUERY,\n TuiContextWithImplicit,\n TuiDay,\n tuiDefaultProp,\n TuiDestroyService,\n TuiHoveredService,\n tuiIsNumber,\n tuiIsPresent,\n TuiMonth,\n tuiPure,\n TuiStringHandler,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {TuiPoint} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {combineLatest, Observable} from 'rxjs';\nimport {filter, takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\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 TuiDestroyService,\n TuiHoveredService,\n {\n provide: TuiLineChartHintDirective,\n useExisting: TuiLineDaysChartComponent,\n },\n ],\n})\nexport class TuiLineDaysChartComponent implements AfterViewInit {\n @ViewChildren(TuiLineChartComponent)\n 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 = this.options.smoothingFactor;\n\n @Input()\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 = this.options.dots;\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 @Self() @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n @Inject(TUI_LINE_CHART_OPTIONS) private readonly options: TuiLineChartOptions,\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?.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 ngAfterViewInit(): void {\n combineLatest([tuiLineChartDrivers(this.charts), this.hovered$])\n .pipe(\n filter(result => !result.some(Boolean)),\n tuiZonefree(this.ngZone),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.onHovered(NaN);\n });\n }\n\n readonly daysStringify: TuiStringHandler<number> = index =>\n this.xStringify ? this.xStringify(this.getDay(index)) : '';\n\n getX(index: number): number {\n const current = this.getDay(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 | number): void {\n if (tuiIsNumber(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 current = this.charts.get(index);\n\n this.charts.forEach(chart => {\n if (chart === current) {\n current.onHovered(current.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.getDay(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.getDay(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.getDay(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(tuiIsPresent),\n )\n .map((month, index, array) =>\n index === array.length - 1\n ? month\n : [\n ...month,\n array[index + 1].find(day => !Number.isNaN(day[1])) || DUMMY,\n ],\n );\n }\n\n private getDay(index: number): TuiDay {\n return this.value[index - this.value[0][0].day + 1][0];\n }\n}\n","<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 [tuiHintContent]=\"hintContent ? hint : ''\"\n [yStringify]=\"yStringify\"\n [xStringify]=\"xStringify ? daysStringify : null\"\n></tui-line-chart>\n<ng-template\n #hint\n let-point\n>\n <ng-container *polymorpheusOutlet=\"hintContent as text; context: getHintContext(point[0], value)\">\n {{ text }}\n </ng-container>\n</ng-template>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLineChartModule} from '@taiga-ui/addon-charts/components/line-chart';\nimport {TuiHintModule} from '@taiga-ui/core';\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, TuiHintModule],\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":["i1","i2"],"mappings":"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"}
|
package/package.json
CHANGED