@unovis/angular 1.3.4-beta.2 → 1.4.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/bundles/unovis-angular.umd.js +53 -6
- package/dist/lib/bundles/unovis-angular.umd.js.map +1 -1
- package/dist/lib/components/annotations/annotations.component.d.ts +26 -0
- package/dist/lib/components/area/area.component.d.ts +1 -1
- package/dist/lib/containers/single-container/single-container.component.d.ts +3 -1
- package/dist/lib/containers/xy-container/xy-container.component.d.ts +3 -1
- package/dist/lib/esm2015/components/annotations/annotations.component.js +37 -0
- package/dist/lib/esm2015/components/area/area.component.js +1 -1
- package/dist/lib/esm2015/containers/single-container/single-container.component.js +9 -4
- package/dist/lib/esm2015/containers/xy-container/xy-container.component.js +9 -3
- package/dist/lib/fesm2015/unovis-angular.js +48 -6
- package/dist/lib/fesm2015/unovis-angular.js.map +1 -1
- package/dist/lib/package.json +2 -2
- package/package.json +2 -2
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AfterViewInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { Annotations, AnnotationsConfigInterface, ContainerCore, AnnotationItem } from '@unovis/ts';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class VisAnnotationsComponent implements AnnotationsConfigInterface, AfterViewInit {
|
|
5
|
+
/** Legend items. Array of `AnnotationItem`:
|
|
6
|
+
* ```
|
|
7
|
+
* {
|
|
8
|
+
* content: string | UnovisText | UnovisText[];
|
|
9
|
+
* subject?: AnnotationSubject;
|
|
10
|
+
* x?: LengthUnit;
|
|
11
|
+
* y?: LengthUnit;
|
|
12
|
+
* width?: LengthUnit;
|
|
13
|
+
* height?: LengthUnit;
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
* To learn more, see our docs https://unovis.dev/docs/auxiliary/Annotations/
|
|
17
|
+
* Default: `[]` */
|
|
18
|
+
items: AnnotationItem[] | undefined;
|
|
19
|
+
component: Annotations | undefined;
|
|
20
|
+
componentContainer: ContainerCore | undefined;
|
|
21
|
+
ngAfterViewInit(): void;
|
|
22
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
23
|
+
private getConfig;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VisAnnotationsComponent, never>;
|
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VisAnnotationsComponent, "vis-annotations", never, { "items": "items"; }, {}, never, never>;
|
|
26
|
+
}
|
|
@@ -71,7 +71,7 @@ export declare class VisAreaComponent<Datum> implements AreaConfigInterface<Datu
|
|
|
71
71
|
* Default: `false` */
|
|
72
72
|
excludeFromDomainCalculation?: boolean;
|
|
73
73
|
/** Curve type from the CurveType enum. Default: `CurveType.MonotoneX` */
|
|
74
|
-
curveType?: CurveType;
|
|
74
|
+
curveType?: CurveType | string;
|
|
75
75
|
/** Baseline value or accessor function. Default: `undefined` */
|
|
76
76
|
baseline?: NumericAccessor<Datum>;
|
|
77
77
|
/** Opacity value or accessor function. Default: `1` */
|
|
@@ -2,11 +2,13 @@ import { ElementRef, AfterViewInit, OnDestroy, SimpleChanges } from '@angular/co
|
|
|
2
2
|
import { ComponentCore, SingleContainer, SingleContainerConfigInterface, Spacing } from '@unovis/ts';
|
|
3
3
|
import { VisCoreComponent } from '../../core';
|
|
4
4
|
import { VisTooltipComponent } from '../../components/tooltip/tooltip.component';
|
|
5
|
+
import { VisAnnotationsComponent } from '../../components/annotations/annotations.component';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class VisSingleContainerComponent<Data = unknown, C extends ComponentCore<Data> = ComponentCore<Data>> implements AfterViewInit, OnDestroy {
|
|
7
8
|
containerRef: ElementRef;
|
|
8
9
|
visComponent: VisCoreComponent;
|
|
9
10
|
tooltipComponent: VisTooltipComponent;
|
|
11
|
+
annotationsComponent: VisAnnotationsComponent;
|
|
10
12
|
/** Width in pixels. By default, Container automatically fits to the size of the parent element. Default: `undefined`. */
|
|
11
13
|
width?: number;
|
|
12
14
|
/** Height in pixels. By default, Container automatically fits to the size of the parent element. Default: `undefined`. */
|
|
@@ -27,5 +29,5 @@ export declare class VisSingleContainerComponent<Data = unknown, C extends Compo
|
|
|
27
29
|
getConfig(): SingleContainerConfigInterface<Data>;
|
|
28
30
|
ngOnDestroy(): void;
|
|
29
31
|
static ɵfac: i0.ɵɵFactoryDeclaration<VisSingleContainerComponent<any, any>, never>;
|
|
30
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<VisSingleContainerComponent<any, any>, "vis-single-container", never, { "width": "width"; "height": "height"; "margin": "margin"; "duration": "duration"; "ariaLabel": "ariaLabel"; "data": "data"; }, {}, ["visComponent", "tooltipComponent"], ["*"]>;
|
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VisSingleContainerComponent<any, any>, "vis-single-container", never, { "width": "width"; "height": "height"; "margin": "margin"; "duration": "duration"; "ariaLabel": "ariaLabel"; "data": "data"; }, {}, ["visComponent", "tooltipComponent", "annotationsComponent"], ["*"]>;
|
|
31
33
|
}
|
|
@@ -2,11 +2,13 @@ import { AfterContentInit, AfterViewInit, ElementRef, OnDestroy, QueryList, Simp
|
|
|
2
2
|
import { ContinuousScale, Direction, Spacing, XYContainer, XYContainerConfigInterface } from '@unovis/ts';
|
|
3
3
|
import { VisXYComponent } from '../../core';
|
|
4
4
|
import { VisTooltipComponent } from '../../components/tooltip/tooltip.component';
|
|
5
|
+
import { VisAnnotationsComponent } from '../../components/annotations/annotations.component';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class VisXYContainerComponent<Datum> implements AfterViewInit, AfterContentInit, OnDestroy {
|
|
7
8
|
containerRef: ElementRef;
|
|
8
9
|
visComponents: QueryList<VisXYComponent>;
|
|
9
10
|
tooltipComponent: VisTooltipComponent;
|
|
11
|
+
annotationsComponent: VisAnnotationsComponent;
|
|
10
12
|
/** Width in pixels. By default, Container automatically fits to the size of the parent element. Default: `undefined`. */
|
|
11
13
|
width?: number;
|
|
12
14
|
/** Height in pixels. By default, Container automatically fits to the size of the parent element. Default: `undefined`. */
|
|
@@ -87,5 +89,5 @@ export declare class VisXYContainerComponent<Datum> implements AfterViewInit, Af
|
|
|
87
89
|
passContainerReferenceToChildren(): void;
|
|
88
90
|
ngOnDestroy(): void;
|
|
89
91
|
static ɵfac: i0.ɵɵFactoryDeclaration<VisXYContainerComponent<any>, never>;
|
|
90
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<VisXYContainerComponent<any>, "vis-xy-container", never, { "width": "width"; "height": "height"; "xScale": "xScale"; "xDomain": "xDomain"; "xDomainMinConstraint": "xDomainMinConstraint"; "xDomainMaxConstraint": "xDomainMaxConstraint"; "xRange": "xRange"; "yScale": "yScale"; "yDomain": "yDomain"; "yDomainMinConstraint": "yDomainMinConstraint"; "yDomainMaxConstraint": "yDomainMaxConstraint"; "yRange": "yRange"; "yDirection": "yDirection"; "preventEmptyDomain": "preventEmptyDomain"; "duration": "duration"; "margin": "margin"; "padding": "padding"; "scaleByDomain": "scaleByDomain"; "autoMargin": "autoMargin"; "ariaLabel": "ariaLabel"; "data": "data"; }, {}, ["tooltipComponent", "visComponents"], ["*"]>;
|
|
92
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<VisXYContainerComponent<any>, "vis-xy-container", never, { "width": "width"; "height": "height"; "xScale": "xScale"; "xDomain": "xDomain"; "xDomainMinConstraint": "xDomainMinConstraint"; "xDomainMaxConstraint": "xDomainMaxConstraint"; "xRange": "xRange"; "yScale": "yScale"; "yDomain": "yDomain"; "yDomainMinConstraint": "yDomainMinConstraint"; "yDomainMaxConstraint": "yDomainMaxConstraint"; "yRange": "yRange"; "yDirection": "yDirection"; "preventEmptyDomain": "preventEmptyDomain"; "duration": "duration"; "margin": "margin"; "padding": "padding"; "scaleByDomain": "scaleByDomain"; "autoMargin": "autoMargin"; "ariaLabel": "ariaLabel"; "data": "data"; }, {}, ["tooltipComponent", "annotationsComponent", "visComponents"], ["*"]>;
|
|
91
93
|
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// !!! This code was automatically generated. You should not change it !!!
|
|
2
|
+
import { Component, Input } from '@angular/core';
|
|
3
|
+
import { Annotations } from '@unovis/ts';
|
|
4
|
+
import { VisGenericComponent } from '../../core';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class VisAnnotationsComponent {
|
|
7
|
+
ngAfterViewInit() {
|
|
8
|
+
this.component = new Annotations(this.getConfig());
|
|
9
|
+
}
|
|
10
|
+
ngOnChanges(changes) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
(_a = this.component) === null || _a === void 0 ? void 0 : _a.setConfig(this.getConfig());
|
|
13
|
+
(_b = this.componentContainer) === null || _b === void 0 ? void 0 : _b.render();
|
|
14
|
+
}
|
|
15
|
+
getConfig() {
|
|
16
|
+
const { items } = this;
|
|
17
|
+
const config = { items };
|
|
18
|
+
const keys = Object.keys(config);
|
|
19
|
+
keys.forEach(key => { if (config[key] === undefined)
|
|
20
|
+
delete config[key]; });
|
|
21
|
+
return config;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
VisAnnotationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
VisAnnotationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAnnotationsComponent, selector: "vis-annotations", inputs: { items: "items" }, providers: [{ provide: VisGenericComponent, useExisting: VisAnnotationsComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{
|
|
29
|
+
selector: 'vis-annotations',
|
|
30
|
+
template: '',
|
|
31
|
+
// eslint-disable-next-line no-use-before-define
|
|
32
|
+
providers: [{ provide: VisGenericComponent, useExisting: VisAnnotationsComponent }],
|
|
33
|
+
}]
|
|
34
|
+
}], propDecorators: { items: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}] } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ub3RhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQTZELE1BQU0sWUFBWSxDQUFBO0FBQ25HLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRaEQsTUFBTSxPQUFPLHVCQUF1QjtJQW9CbEMsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7UUFDM0MsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLE1BQU0sRUFBRSxDQUFBO0lBQ25DLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQTtRQUN0QixNQUFNLE1BQU0sR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFBO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUF5QyxDQUFBO1FBQ3hFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO1lBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxRSxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUM7O3FIQXBDVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixzRUFGdkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQywrQ0FGekUsRUFBRTs0RkFJRCx1QkFBdUI7a0JBTm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZ0RBQWdEO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHlCQUF5QixFQUFFLENBQUM7aUJBQ3BGOzhCQWVVLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vICEhISBUaGlzIGNvZGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLiBZb3Ugc2hvdWxkIG5vdCBjaGFuZ2UgaXQgISEhXG5pbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEFubm90YXRpb25zLCBBbm5vdGF0aW9uc0NvbmZpZ0ludGVyZmFjZSwgQ29udGFpbmVyQ29yZSwgQW5ub3RhdGlvbkl0ZW0gfSBmcm9tICdAdW5vdmlzL3RzJ1xuaW1wb3J0IHsgVmlzR2VuZXJpY0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1hbm5vdGF0aW9ucycsXG4gIHRlbXBsYXRlOiAnJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZS1iZWZvcmUtZGVmaW5lXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVmlzR2VuZXJpY0NvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IFZpc0Fubm90YXRpb25zQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNBbm5vdGF0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFubm90YXRpb25zQ29uZmlnSW50ZXJmYWNlLCBBZnRlclZpZXdJbml0IHtcbiAgLyoqIExlZ2VuZCBpdGVtcy4gQXJyYXkgb2YgYEFubm90YXRpb25JdGVtYDpcbiAgICogYGBgXG4gICAqIHtcbiAgICogIGNvbnRlbnQ6IHN0cmluZyB8IFVub3Zpc1RleHQgfCBVbm92aXNUZXh0W107XG4gICAqICBzdWJqZWN0PzogQW5ub3RhdGlvblN1YmplY3Q7XG4gICAqICB4PzogTGVuZ3RoVW5pdDtcbiAgICogIHk/OiBMZW5ndGhVbml0O1xuICAgKiAgd2lkdGg/OiBMZW5ndGhVbml0O1xuICAgKiAgaGVpZ2h0PzogTGVuZ3RoVW5pdDtcbiAgICogfVxuICAgKiBgYGBcbiAgICogVG8gbGVhcm4gbW9yZSwgc2VlIG91ciBkb2NzIGh0dHBzOi8vdW5vdmlzLmRldi9kb2NzL2F1eGlsaWFyeS9Bbm5vdGF0aW9ucy9cbiAgICogRGVmYXVsdDogYFtdYCAqL1xuICBASW5wdXQoKSBpdGVtczogQW5ub3RhdGlvbkl0ZW1bXSB8IHVuZGVmaW5lZFxuXG5cbiAgY29tcG9uZW50OiBBbm5vdGF0aW9ucyB8IHVuZGVmaW5lZFxuICBwdWJsaWMgY29tcG9uZW50Q29udGFpbmVyOiBDb250YWluZXJDb3JlIHwgdW5kZWZpbmVkXG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudCA9IG5ldyBBbm5vdGF0aW9ucyh0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudD8uc2V0Q29uZmlnKHRoaXMuZ2V0Q29uZmlnKCkpXG4gICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gIH1cblxuICBwcml2YXRlIGdldENvbmZpZyAoKTogQW5ub3RhdGlvbnNDb25maWdJbnRlcmZhY2Uge1xuICAgIGNvbnN0IHsgaXRlbXMgfSA9IHRoaXNcbiAgICBjb25zdCBjb25maWcgPSB7IGl0ZW1zIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY29uZmlnKSBhcyAoa2V5b2YgQW5ub3RhdGlvbnNDb25maWdJbnRlcmZhY2UpW11cbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsgaWYgKGNvbmZpZ1trZXldID09PSB1bmRlZmluZWQpIGRlbGV0ZSBjb25maWdba2V5XSB9KVxuXG4gICAgcmV0dXJuIGNvbmZpZ1xuICB9XG59XG4iXX0=
|
|
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
72
72
|
}], data: [{
|
|
73
73
|
type: Input
|
|
74
74
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcmVhL2FyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBVUwsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQXFHM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsNEJBQTRCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNoSyxNQUFNLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLDRCQUE0QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQTtRQUNsSyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBeUMsQ0FBQTtRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUztZQUFFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFMUUsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDOzs4R0EzSFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsNlhBRmhCLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLCtDQUY3RCxFQUFFOzRGQUlELGdCQUFnQjtrQkFONUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZ0RBQWdEO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxDQUFDO2lCQUN4RTs4QkFHVSxRQUFRO3NCQUFoQixLQUFLO2dCQW1CRyxNQUFNO3NCQUFkLEtBQUs7Z0JBd0JHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csQ0FBQztzQkFBVCxLQUFLO2dCQUdHLENBQUM7c0JBQVQsS0FBSztnQkFHRyxFQUFFO3NCQUFWLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBTUcsNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQU1HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQXJlYSxcbiAgQXJlYUNvbmZpZ0ludGVyZmFjZSxcbiAgQ29udGFpbmVyQ29yZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBOdW1lcmljQWNjZXNzb3IsXG4gIENvbG9yQWNjZXNzb3IsXG4gIENvbnRpbnVvdXNTY2FsZSxcbiAgQ3VydmVUeXBlLFxuICBTdHJpbmdBY2Nlc3Nvcixcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc1hZQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLWFyZWEnLFxuICB0ZW1wbGF0ZTogJycsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc1hZQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzQXJlYUNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzQXJlYUNvbXBvbmVudDxEYXR1bT4gaW1wbGVtZW50cyBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPiwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgdGhlIGRhdGEgdXBkYXRlIHRyYW5zaXRpb25zIGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdDogYDYwMGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRXZlbnRzIGNvbmZpZ3VyYXRpb24uIEFuIG9iamVjdCBjb250YWluaW5nIHByb3BlcnRpZXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbZXZlbnRUeXBlXTogY2FsbGJhY2tGdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBjbGljazogKGQpID0+IGNvbnNvbGUubG9nKFwiQ2xpY2tlZCBBcmVhXCIsIGQpXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGV2ZW50cz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFtldmVudFR5cGUgaW4gVmlzRXZlbnRUeXBlXT86IFZpc0V2ZW50Q2FsbGJhY2tcbiAgICB9O1xuICB9XG5cbiAgLyoqIFlvdSBjYW4gc2V0IGV2ZXJ5IFNWRyBhbmQgSFRNTCB2aXN1YWxpemF0aW9uIG9iamVjdCB0byBoYXZlIGEgY3VzdG9tIERPTSBhdHRyaWJ1dGVzLCB3aGljaCBpcyB1c2VmdWxcbiAgICogd2hlbiB5b3Ugd2FudCB0byBkbyB1bml0IG9yIGVuZC10by1lbmQgdGVzdGluZy4gQXR0cmlidXRlcyBjb25maWd1cmF0aW9uIG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbYXR0cmlidXRlTmFtZV06IGF0dHJpYnV0ZSBjb25zdGFudCB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBcInRlc3QtdmFsdWVcIjogZCA9PiBkLnZhbHVlXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbYXR0cjogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8ICgoZGF0dW06IGFueSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbik7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBBY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdmFsdWVzIGFsb25nIHRoZSBYIGF4aXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHg6IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogQSBzaW5nbGUgb2YgbXVsdGlwbGUgYWNjZXNzb3IgZnVuY3Rpb25zIGZvciBnZXR0aW5nIHRoZSB2YWx1ZXMgYWxvbmcgdGhlIFkgYXhpcy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeTogTnVtZXJpY0FjY2Vzc29yPERhdHVtPiB8IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5bXVxuXG4gIC8qKiBBY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdW5pcXVlIGRhdGEgcmVjb3JkIGlkLiBVc2VkIGZvciBtb3JlIHBlcnNpc3RlbnQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgKGQsIGkpID0+IGQuaWQgPz8gaWAgKi9cbiAgQElucHV0KCkgaWQ/OiAoKGQ6IERhdHVtLCBpOiBudW1iZXIsIC4uLnJlc3QpID0+IHN0cmluZylcblxuICAvKiogQXJlYSBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbi4gVGhlIHdob2xlIGRhdGEgYXJyYXkgd2lsbCBiZSBwYXNzZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBjb2xvcj86IENvbG9yQWNjZXNzb3I8RGF0dW1bXT5cblxuICAvKiogU2NhbGUgZm9yIFggZGltZW5zaW9uLCBlLmcuIFNjYWxlLnNjYWxlTGluZWFyKCkuIElmIHlvdSBzZXQgeFNjYWxlIHlvdSdsbCBiZSByZXNwb25zaWJsZSBmb3Igc2V0dGluZyBpdCdzIGBkb21haW5gIGFuZCBgcmFuZ2VgIGFzIHdlbGwuXG4gICAqIE9ubHkgY29udGludW91cyBzY2FsZXMgYXJlIHN1cHBvcnRlZC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeFNjYWxlPzogQ29udGludW91c1NjYWxlXG5cbiAgLyoqIFNjYWxlIGZvciBZIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5zY2FsZUxpbmVhcigpLiBJZiB5b3Ugc2V0IHlTY2FsZSB5b3UnbGwgYmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgaXQncyBgZG9tYWluYCBhbmQgYHJhbmdlYCBhcyB3ZWxsLlxuICAgKiBPbmx5IGNvbnRpbnVvdXMgc2NhbGVzIGFyZSBzdXBwb3J0ZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuXG4gIC8qKiBJZGVudGlmaWVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBvdmVyYWxsIFggYW5kIFkgZG9tYWluIGNhbGN1bGF0aW9ucyBvciBub3QuXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHBhc3MgaW5kaXZpZHVhbCBkYXRhIHRvIGEgY29tcG9uZW50IGFuZCB5b3UgZG9uJ3Qgd2FudCBpdCB0byBhZmZlY3RcbiAgICogdGhlIHNjYWxlcyBvZiB0aGUgY2hhcnQuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbj86IGJvb2xlYW5cblxuICAvKiogQ3VydmUgdHlwZSBmcm9tIHRoZSBDdXJ2ZVR5cGUgZW51bS4gRGVmYXVsdDogYEN1cnZlVHlwZS5Nb25vdG9uZVhgICovXG4gIEBJbnB1dCgpIGN1cnZlVHlwZT86IEN1cnZlVHlwZVxuXG4gIC8qKiBCYXNlbGluZSB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgYmFzZWxpbmU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIE9wYWNpdHkgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGAxYCAqL1xuICBASW5wdXQoKSBvcGFjaXR5PzogTnVtZXJpY0FjY2Vzc29yPERhdHVtW10+XG5cbiAgLyoqIE9wdGlvbmFsIGFyZWEgY3Vyc29yLiBTdHJpbmcgb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBjdXJzb3I/OiBTdHJpbmdBY2Nlc3NvcjxEYXR1bVtdPlxuXG4gIC8qKiBJZiBhbiBhcmVhIGlzIHNtYWxsZXIgdGhhbiAxcHgsIGV4dGVuZCBpdCB0byBoYXZlIDFweCBoZWlnaHQuXG4gICAqIFRoaXMgc2V0dGluZyBpcyB1c2VmdWwgd2hlbiBzb21lIG9mIHRoZSBhcmVhIHZhbHVlcyBhcmUgemVyb3Mgb3IgdmVyeSBzbWFsbCBzbyB2aXN1YWxseSB0aGV5IGJlY29tZVxuICAgKiBwcmFjdGljYWxseSBpbnZpc2libGUsIGJ1dCB5b3Ugd2FudCB0byBzaG93IHRoYXQgdGhlIGRhdGEgYmVoaW5kIHRoZW0gZXhpc3RzIGFuZCB0aGV5J3JlIG5vdCBqdXN0IGVtcHR5IHNlZ21lbnRzLlxuICAgKiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIG1pbkhlaWdodDFQeD86IGJvb2xlYW5cbiAgQElucHV0KCkgZGF0YTogRGF0dW1bXVxuXG4gIGNvbXBvbmVudDogQXJlYTxEYXR1bT4gfCB1bmRlZmluZWRcbiAgcHVibGljIGNvbXBvbmVudENvbnRhaW5lcjogQ29udGFpbmVyQ29yZSB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgQXJlYTxEYXR1bT4odGhpcy5nZXRDb25maWcoKSlcblxuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LnNldERhdGEodGhpcy5kYXRhKVxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7IHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSkgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPiB7XG4gICAgY29uc3QgeyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCB4LCB5LCBpZCwgY29sb3IsIHhTY2FsZSwgeVNjYWxlLCBleGNsdWRlRnJvbURvbWFpbkNhbGN1bGF0aW9uLCBjdXJ2ZVR5cGUsIGJhc2VsaW5lLCBvcGFjaXR5LCBjdXJzb3IsIG1pbkhlaWdodDFQeCB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgeSwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgY3VydmVUeXBlLCBiYXNlbGluZSwgb3BhY2l0eSwgY3Vyc29yLCBtaW5IZWlnaHQxUHggfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPilbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hcmVhL2FyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBFQUEwRTtBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixLQUFLLEVBQWlCLE1BQU0sZUFBZSxDQUFBO0FBQzlFLE9BQU8sRUFDTCxJQUFJLEdBVUwsTUFBTSxZQUFZLENBQUE7QUFDbkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQTs7QUFRM0MsTUFBTSxPQUFPLGdCQUFnQjtJQXFHM0IsZUFBZTs7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxDQUFRLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBRWxELElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNqQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7U0FDbEM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFFLE9BQXNCOztRQUNqQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFBRSxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7U0FBRTtRQUN4RCxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUMzQyxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsTUFBTSxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsNEJBQTRCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQTtRQUNoSyxNQUFNLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLDRCQUE0QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQTtRQUNsSyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBeUMsQ0FBQTtRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUztZQUFFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFFMUUsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDOzs4R0EzSFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsNlhBRmhCLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLCtDQUY3RCxFQUFFOzRGQUlELGdCQUFnQjtrQkFONUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZ0RBQWdEO29CQUNoRCxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxrQkFBa0IsRUFBRSxDQUFDO2lCQUN4RTs4QkFHVSxRQUFRO3NCQUFoQixLQUFLO2dCQW1CRyxNQUFNO3NCQUFkLEtBQUs7Z0JBd0JHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csQ0FBQztzQkFBVCxLQUFLO2dCQUdHLENBQUM7c0JBQVQsS0FBSztnQkFHRyxFQUFFO3NCQUFWLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBTUcsNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQU1HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy8gISEhIFRoaXMgY29kZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuIFlvdSBzaG91bGQgbm90IGNoYW5nZSBpdCAhISFcbmltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQXJlYSxcbiAgQXJlYUNvbmZpZ0ludGVyZmFjZSxcbiAgQ29udGFpbmVyQ29yZSxcbiAgVmlzRXZlbnRUeXBlLFxuICBWaXNFdmVudENhbGxiYWNrLFxuICBOdW1lcmljQWNjZXNzb3IsXG4gIENvbG9yQWNjZXNzb3IsXG4gIENvbnRpbnVvdXNTY2FsZSxcbiAgQ3VydmVUeXBlLFxuICBTdHJpbmdBY2Nlc3Nvcixcbn0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc1hZQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmlzLWFyZWEnLFxuICB0ZW1wbGF0ZTogJycsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZVxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFZpc1hZQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVmlzQXJlYUNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzQXJlYUNvbXBvbmVudDxEYXR1bT4gaW1wbGVtZW50cyBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPiwgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8qKiBBbmltYXRpb24gZHVyYXRpb24gb2YgdGhlIGRhdGEgdXBkYXRlIHRyYW5zaXRpb25zIGluIG1pbGxpc2Vjb25kcy4gRGVmYXVsdDogYDYwMGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXJcblxuICAvKiogRXZlbnRzIGNvbmZpZ3VyYXRpb24uIEFuIG9iamVjdCBjb250YWluaW5nIHByb3BlcnRpZXMgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbZXZlbnRUeXBlXTogY2FsbGJhY2tGdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBjbGljazogKGQpID0+IGNvbnNvbGUubG9nKFwiQ2xpY2tlZCBBcmVhXCIsIGQpXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGV2ZW50cz86IHtcbiAgICBbc2VsZWN0b3I6IHN0cmluZ106IHtcbiAgICAgIFtldmVudFR5cGUgaW4gVmlzRXZlbnRUeXBlXT86IFZpc0V2ZW50Q2FsbGJhY2tcbiAgICB9O1xuICB9XG5cbiAgLyoqIFlvdSBjYW4gc2V0IGV2ZXJ5IFNWRyBhbmQgSFRNTCB2aXN1YWxpemF0aW9uIG9iamVjdCB0byBoYXZlIGEgY3VzdG9tIERPTSBhdHRyaWJ1dGVzLCB3aGljaCBpcyB1c2VmdWxcbiAgICogd2hlbiB5b3Ugd2FudCB0byBkbyB1bml0IG9yIGVuZC10by1lbmQgdGVzdGluZy4gQXR0cmlidXRlcyBjb25maWd1cmF0aW9uIG9iamVjdCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6XG4gICAqXG4gICAqIGBgYFxuICAgKiB7XG4gICAqIFxcW3NlbGVjdG9yU3RyaW5nXToge1xuICAgKiAgICAgXFxbYXR0cmlidXRlTmFtZV06IGF0dHJpYnV0ZSBjb25zdGFudCB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvblxuICAgKiAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKiBlLmcuOlxuICAgKiBgYGBcbiAgICoge1xuICAgKiBcXFtBcmVhLnNlbGVjdG9ycy5hcmVhXToge1xuICAgKiAgICBcInRlc3QtdmFsdWVcIjogZCA9PiBkLnZhbHVlXG4gICAqICB9XG4gICAqIH1cbiAgICogYGBgICovXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZXM/OiB7XG4gICAgW3NlbGVjdG9yOiBzdHJpbmddOiB7XG4gICAgICBbYXR0cjogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8ICgoZGF0dW06IGFueSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbik7XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBBY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdmFsdWVzIGFsb25nIHRoZSBYIGF4aXMuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHg6IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5cblxuICAvKiogQSBzaW5nbGUgb2YgbXVsdGlwbGUgYWNjZXNzb3IgZnVuY3Rpb25zIGZvciBnZXR0aW5nIHRoZSB2YWx1ZXMgYWxvbmcgdGhlIFkgYXhpcy4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeTogTnVtZXJpY0FjY2Vzc29yPERhdHVtPiB8IE51bWVyaWNBY2Nlc3NvcjxEYXR1bT5bXVxuXG4gIC8qKiBBY2Nlc3NvciBmdW5jdGlvbiBmb3IgZ2V0dGluZyB0aGUgdW5pcXVlIGRhdGEgcmVjb3JkIGlkLiBVc2VkIGZvciBtb3JlIHBlcnNpc3RlbnQgZGF0YSB1cGRhdGVzLiBEZWZhdWx0OiBgKGQsIGkpID0+IGQuaWQgPz8gaWAgKi9cbiAgQElucHV0KCkgaWQ/OiAoKGQ6IERhdHVtLCBpOiBudW1iZXIsIC4uLnJlc3QpID0+IHN0cmluZylcblxuICAvKiogQXJlYSBjb2xvciBhY2Nlc3NvciBmdW5jdGlvbi4gVGhlIHdob2xlIGRhdGEgYXJyYXkgd2lsbCBiZSBwYXNzZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSBjb2xvcj86IENvbG9yQWNjZXNzb3I8RGF0dW1bXT5cblxuICAvKiogU2NhbGUgZm9yIFggZGltZW5zaW9uLCBlLmcuIFNjYWxlLnNjYWxlTGluZWFyKCkuIElmIHlvdSBzZXQgeFNjYWxlIHlvdSdsbCBiZSByZXNwb25zaWJsZSBmb3Igc2V0dGluZyBpdCdzIGBkb21haW5gIGFuZCBgcmFuZ2VgIGFzIHdlbGwuXG4gICAqIE9ubHkgY29udGludW91cyBzY2FsZXMgYXJlIHN1cHBvcnRlZC5cbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeFNjYWxlPzogQ29udGludW91c1NjYWxlXG5cbiAgLyoqIFNjYWxlIGZvciBZIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5zY2FsZUxpbmVhcigpLiBJZiB5b3Ugc2V0IHlTY2FsZSB5b3UnbGwgYmUgcmVzcG9uc2libGUgZm9yIHNldHRpbmcgaXQncyBgZG9tYWluYCBhbmQgYHJhbmdlYCBhcyB3ZWxsLlxuICAgKiBPbmx5IGNvbnRpbnVvdXMgc2NhbGVzIGFyZSBzdXBwb3J0ZWQuXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuXG4gIC8qKiBJZGVudGlmaWVzIHdoZXRoZXIgdGhlIGNvbXBvbmVudCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBvdmVyYWxsIFggYW5kIFkgZG9tYWluIGNhbGN1bGF0aW9ucyBvciBub3QuXG4gICAqIFRoaXMgcHJvcGVydHkgY2FuIGJlIHVzZWZ1bCB3aGVuIHlvdSB3YW50IHBhc3MgaW5kaXZpZHVhbCBkYXRhIHRvIGEgY29tcG9uZW50IGFuZCB5b3UgZG9uJ3Qgd2FudCBpdCB0byBhZmZlY3RcbiAgICogdGhlIHNjYWxlcyBvZiB0aGUgY2hhcnQuXG4gICAqIERlZmF1bHQ6IGBmYWxzZWAgKi9cbiAgQElucHV0KCkgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbj86IGJvb2xlYW5cblxuICAvKiogQ3VydmUgdHlwZSBmcm9tIHRoZSBDdXJ2ZVR5cGUgZW51bS4gRGVmYXVsdDogYEN1cnZlVHlwZS5Nb25vdG9uZVhgICovXG4gIEBJbnB1dCgpIGN1cnZlVHlwZT86IEN1cnZlVHlwZSB8IHN0cmluZ1xuXG4gIC8qKiBCYXNlbGluZSB2YWx1ZSBvciBhY2Nlc3NvciBmdW5jdGlvbi4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgYmFzZWxpbmU/OiBOdW1lcmljQWNjZXNzb3I8RGF0dW0+XG5cbiAgLyoqIE9wYWNpdHkgdmFsdWUgb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGAxYCAqL1xuICBASW5wdXQoKSBvcGFjaXR5PzogTnVtZXJpY0FjY2Vzc29yPERhdHVtW10+XG5cbiAgLyoqIE9wdGlvbmFsIGFyZWEgY3Vyc29yLiBTdHJpbmcgb3IgYWNjZXNzb3IgZnVuY3Rpb24uIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBjdXJzb3I/OiBTdHJpbmdBY2Nlc3NvcjxEYXR1bVtdPlxuXG4gIC8qKiBJZiBhbiBhcmVhIGlzIHNtYWxsZXIgdGhhbiAxcHgsIGV4dGVuZCBpdCB0byBoYXZlIDFweCBoZWlnaHQuXG4gICAqIFRoaXMgc2V0dGluZyBpcyB1c2VmdWwgd2hlbiBzb21lIG9mIHRoZSBhcmVhIHZhbHVlcyBhcmUgemVyb3Mgb3IgdmVyeSBzbWFsbCBzbyB2aXN1YWxseSB0aGV5IGJlY29tZVxuICAgKiBwcmFjdGljYWxseSBpbnZpc2libGUsIGJ1dCB5b3Ugd2FudCB0byBzaG93IHRoYXQgdGhlIGRhdGEgYmVoaW5kIHRoZW0gZXhpc3RzIGFuZCB0aGV5J3JlIG5vdCBqdXN0IGVtcHR5IHNlZ21lbnRzLlxuICAgKiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIG1pbkhlaWdodDFQeD86IGJvb2xlYW5cbiAgQElucHV0KCkgZGF0YTogRGF0dW1bXVxuXG4gIGNvbXBvbmVudDogQXJlYTxEYXR1bT4gfCB1bmRlZmluZWRcbiAgcHVibGljIGNvbXBvbmVudENvbnRhaW5lcjogQ29udGFpbmVyQ29yZSB8IHVuZGVmaW5lZFxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQgPSBuZXcgQXJlYTxEYXR1bT4odGhpcy5nZXRDb25maWcoKSlcblxuICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50LnNldERhdGEodGhpcy5kYXRhKVxuICAgICAgdGhpcy5jb21wb25lbnRDb250YWluZXI/LnJlbmRlcigpXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7IHRoaXMuY29tcG9uZW50Py5zZXREYXRhKHRoaXMuZGF0YSkgfVxuICAgIHRoaXMuY29tcG9uZW50Py5zZXRDb25maWcodGhpcy5nZXRDb25maWcoKSlcbiAgICB0aGlzLmNvbXBvbmVudENvbnRhaW5lcj8ucmVuZGVyKClcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uZmlnICgpOiBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPiB7XG4gICAgY29uc3QgeyBkdXJhdGlvbiwgZXZlbnRzLCBhdHRyaWJ1dGVzLCB4LCB5LCBpZCwgY29sb3IsIHhTY2FsZSwgeVNjYWxlLCBleGNsdWRlRnJvbURvbWFpbkNhbGN1bGF0aW9uLCBjdXJ2ZVR5cGUsIGJhc2VsaW5lLCBvcGFjaXR5LCBjdXJzb3IsIG1pbkhlaWdodDFQeCB9ID0gdGhpc1xuICAgIGNvbnN0IGNvbmZpZyA9IHsgZHVyYXRpb24sIGV2ZW50cywgYXR0cmlidXRlcywgeCwgeSwgaWQsIGNvbG9yLCB4U2NhbGUsIHlTY2FsZSwgZXhjbHVkZUZyb21Eb21haW5DYWxjdWxhdGlvbiwgY3VydmVUeXBlLCBiYXNlbGluZSwgb3BhY2l0eSwgY3Vyc29yLCBtaW5IZWlnaHQxUHggfVxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhjb25maWcpIGFzIChrZXlvZiBBcmVhQ29uZmlnSW50ZXJmYWNlPERhdHVtPilbXVxuICAgIGtleXMuZm9yRWFjaChrZXkgPT4geyBpZiAoY29uZmlnW2tleV0gPT09IHVuZGVmaW5lZCkgZGVsZXRlIGNvbmZpZ1trZXldIH0pXG5cbiAgICByZXR1cm4gY29uZmlnXG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,6 +3,7 @@ import { Component, ViewChild, Input, ContentChild } from '@angular/core';
|
|
|
3
3
|
import { SingleContainer } from '@unovis/ts';
|
|
4
4
|
import { VisCoreComponent } from '../../core';
|
|
5
5
|
import { VisTooltipComponent } from '../../components/tooltip/tooltip.component';
|
|
6
|
+
import { VisAnnotationsComponent } from '../../components/annotations/annotations.component';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class VisSingleContainerComponent {
|
|
8
9
|
constructor() {
|
|
@@ -25,18 +26,19 @@ export class VisSingleContainerComponent {
|
|
|
25
26
|
(_b = this.chart) === null || _b === void 0 ? void 0 : _b.updateContainer(this.getConfig());
|
|
26
27
|
}
|
|
27
28
|
getConfig() {
|
|
28
|
-
var _a, _b;
|
|
29
|
+
var _a, _b, _c;
|
|
29
30
|
const { width, height, duration, margin, ariaLabel } = this;
|
|
30
31
|
const component = (_a = this.visComponent) === null || _a === void 0 ? void 0 : _a.component;
|
|
31
32
|
const tooltip = (_b = this.tooltipComponent) === null || _b === void 0 ? void 0 : _b.component;
|
|
32
|
-
|
|
33
|
+
const annotations = (_c = this.annotationsComponent) === null || _c === void 0 ? void 0 : _c.component;
|
|
34
|
+
return { width, height, duration, margin, component, tooltip, ariaLabel, annotations };
|
|
33
35
|
}
|
|
34
36
|
ngOnDestroy() {
|
|
35
37
|
this.chart.destroy();
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
VisSingleContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSingleContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
-
VisSingleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSingleContainerComponent, selector: "vis-single-container", inputs: { width: "width", height: "height", margin: "margin", duration: "duration", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "visComponent", first: true, predicate: VisCoreComponent, descendants: true }, { propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-single-container">
|
|
41
|
+
VisSingleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSingleContainerComponent, selector: "vis-single-container", inputs: { width: "width", height: "height", margin: "margin", duration: "duration", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "visComponent", first: true, predicate: VisCoreComponent, descendants: true }, { propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "annotationsComponent", first: true, predicate: VisAnnotationsComponent, descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-single-container">
|
|
40
42
|
<ng-content></ng-content>
|
|
41
43
|
</div>`, isInline: true, styles: [".unovis-single-container { width: 100%; height: 100%; position: relative; }"] });
|
|
42
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSingleContainerComponent, decorators: [{
|
|
@@ -57,6 +59,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
57
59
|
}], tooltipComponent: [{
|
|
58
60
|
type: ContentChild,
|
|
59
61
|
args: [VisTooltipComponent]
|
|
62
|
+
}], annotationsComponent: [{
|
|
63
|
+
type: ContentChild,
|
|
64
|
+
args: [VisAnnotationsComponent]
|
|
60
65
|
}], width: [{
|
|
61
66
|
type: Input
|
|
62
67
|
}], height: [{
|
|
@@ -70,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
70
75
|
}], data: [{
|
|
71
76
|
type: Input
|
|
72
77
|
}] } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29udGFpbmVycy9zaW5nbGUtY29udGFpbmVyL3NpbmdsZS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE2QixLQUFLLEVBQTRCLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU5SCxNQUFNO0FBQ04sT0FBTyxFQUFpQixlQUFlLEVBQWlFLE1BQU0sWUFBWSxDQUFBO0FBQzFILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQTtBQUNoRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQTs7QUFTNUYsTUFBTSxPQUFPLDJCQUEyQjtJQVB4QztRQWtCRSxtRUFBbUU7UUFDMUQsV0FBTSxHQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFBO0tBMENyRTtJQTlCQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BHLHVGQUF1RjtRQUN2RixJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7SUFDbkQsQ0FBQztJQUVELFdBQVcsQ0FBRSxPQUFzQjs7UUFDakMsaUNBQWlDO1FBQ2pDLElBQUksT0FBTyxDQUFDLElBQUksRUFBRTtZQUNoQixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ3BDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQTtTQUNwQjtRQUVELDhCQUE4QjtRQUM5QixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQsU0FBUzs7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQTtRQUUzRCxNQUFNLFNBQVMsR0FBRyxNQUFBLElBQUksQ0FBQyxZQUFZLDBDQUFFLFNBQWMsQ0FBQTtRQUNuRCxNQUFNLE9BQU8sR0FBRyxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsMENBQUUsU0FBb0IsQ0FBQTtRQUMzRCxNQUFNLFdBQVcsR0FBRyxNQUFBLElBQUksQ0FBQyxvQkFBb0IsMENBQUUsU0FBd0IsQ0FBQTtRQUV2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFBO0lBQ3hGLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN0QixDQUFDOzt5SEFyRFUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsa09BRXhCLGdCQUFnQixtRkFDaEIsbUJBQW1CLHVGQUNuQix1QkFBdUIsZ0xBVDNCOztTQUVIOzRGQUdJLDJCQUEyQjtrQkFQdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7O1NBRUg7b0JBQ1AsTUFBTSxFQUFFLENBQUMsNkVBQTZFLENBQUM7aUJBQ3hGOzhCQUU0QyxZQUFZO3NCQUF0RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ1QsWUFBWTtzQkFBM0MsWUFBWTt1QkFBQyxnQkFBZ0I7Z0JBQ0ssZ0JBQWdCO3NCQUFsRCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFDTSxvQkFBb0I7c0JBQTFELFlBQVk7dUJBQUMsdUJBQXVCO2dCQUc1QixLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQsIElucHV0LCBPbkRlc3Ryb3ksIFNpbXBsZUNoYW5nZXMsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbi8vIFZpc1xuaW1wb3J0IHsgQ29tcG9uZW50Q29yZSwgU2luZ2xlQ29udGFpbmVyLCBTaW5nbGVDb250YWluZXJDb25maWdJbnRlcmZhY2UsIFRvb2x0aXAsIFNwYWNpbmcsIEFubm90YXRpb25zIH0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc0NvcmVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuaW1wb3J0IHsgVmlzVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCdcbmltcG9ydCB7IFZpc0Fubm90YXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hbm5vdGF0aW9ucy9hbm5vdGF0aW9ucy5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy1zaW5nbGUtY29udGFpbmVyJyxcbiAgdGVtcGxhdGU6IGA8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJ1bm92aXMtc2luZ2xlLWNvbnRhaW5lclwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9kaXY+YCxcbiAgc3R5bGVzOiBbJy51bm92aXMtc2luZ2xlLWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSddLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNTaW5nbGVDb250YWluZXJDb21wb25lbnQ8RGF0YSA9IHVua25vd24sIEMgZXh0ZW5kcyBDb21wb25lbnRDb3JlPERhdGE+ID0gQ29tcG9uZW50Q29yZTxEYXRhPj4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGFpbmVyUmVmOiBFbGVtZW50UmVmXG4gIEBDb250ZW50Q2hpbGQoVmlzQ29yZUNvbXBvbmVudCkgdmlzQ29tcG9uZW50OiBWaXNDb3JlQ29tcG9uZW50XG4gIEBDb250ZW50Q2hpbGQoVmlzVG9vbHRpcENvbXBvbmVudCkgdG9vbHRpcENvbXBvbmVudDogVmlzVG9vbHRpcENvbXBvbmVudFxuICBAQ29udGVudENoaWxkKFZpc0Fubm90YXRpb25zQ29tcG9uZW50KSBhbm5vdGF0aW9uc0NvbXBvbmVudDogVmlzQW5ub3RhdGlvbnNDb21wb25lbnRcblxuICAvKiogV2lkdGggaW4gcGl4ZWxzLiBCeSBkZWZhdWx0LCBDb250YWluZXIgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIHdpZHRoPzogbnVtYmVyXG4gIC8qKiBIZWlnaHQgaW4gcGl4ZWxzLiBCeSBkZWZhdWx0LCBDb250YWluZXIgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlclxuXG4gIC8qKiBNYXJnaW5zLiBEZWZhdWx0OiBgeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfWAgKi9cbiAgQElucHV0KCkgbWFyZ2luPzogU3BhY2luZyA9IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH1cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiBhbGwgdGhlIGNvbXBvbmVudHMgd2l0aGluIHRoZSBjb250YWluZXIuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyXG4gIC8qKiBBbHRlcm5hdGl2ZSB0ZXh0IGRlc2NyaXB0aW9uIG9mIHRoZSBjaGFydCBmb3IgYWNjZXNzaWJpbGl0eSBwdXJwb3Nlcy4gSXQgd2lsbCBiZSBhcHBsaWVkIGFzIGFuXG4gICAqIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gdGhlIGRpdiBlbGVtZW50IGNvbnRhaW5pbmcgeW91ciBjaGFydC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuXG4gICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgLyoqIERhdGEgdG8gYmUgcGFzc2VkIHRvIHRoZSBjb21wb25lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSBkYXRhPzogRGF0YVxuXG4gIGNoYXJ0OiBTaW5nbGVDb250YWluZXI8RGF0YT5cblxuICBuZ0FmdGVyVmlld0luaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcnQgPSBuZXcgU2luZ2xlQ29udGFpbmVyPERhdGE+KHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZ2V0Q29uZmlnKCksIHRoaXMuZGF0YSlcbiAgICAvLyBXZSBwYXNzIHRoZSBjb250YWluZXIgZm9yIHRoZSBjb21wb25lbnQgdG8gdHJpZ2dlciByZS1yZW5kZXIgaWYgdGhlIGRhdGEgaGFzIGNoYW5nZWRcbiAgICB0aGlzLnZpc0NvbXBvbmVudC5jb21wb25lbnRDb250YWluZXIgPSB0aGlzLmNoYXJ0XG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIC8vIFNldCBuZXcgRGF0YSB3aXRob3V0IHJlLXJlbmRlclxuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcbiAgICAgIHRoaXMuY2hhcnQ/LnNldERhdGEodGhpcy5kYXRhLCB0cnVlKVxuICAgICAgZGVsZXRlIGNoYW5nZXMuZGF0YVxuICAgIH1cblxuICAgIC8vIFVwZGF0ZSBDb250YWluZXIgYW5kIHJlbmRlclxuICAgIHRoaXMuY2hhcnQ/LnVwZGF0ZUNvbnRhaW5lcih0aGlzLmdldENvbmZpZygpKVxuICB9XG5cbiAgZ2V0Q29uZmlnICgpOiBTaW5nbGVDb250YWluZXJDb25maWdJbnRlcmZhY2U8RGF0YT4ge1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgZHVyYXRpb24sIG1hcmdpbiwgYXJpYUxhYmVsIH0gPSB0aGlzXG5cbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLnZpc0NvbXBvbmVudD8uY29tcG9uZW50IGFzIENcbiAgICBjb25zdCB0b29sdGlwID0gdGhpcy50b29sdGlwQ29tcG9uZW50Py5jb21wb25lbnQgYXMgVG9vbHRpcFxuICAgIGNvbnN0IGFubm90YXRpb25zID0gdGhpcy5hbm5vdGF0aW9uc0NvbXBvbmVudD8uY29tcG9uZW50IGFzIEFubm90YXRpb25zXG5cbiAgICByZXR1cm4geyB3aWR0aCwgaGVpZ2h0LCBkdXJhdGlvbiwgbWFyZ2luLCBjb21wb25lbnQsIHRvb2x0aXAsIGFyaWFMYWJlbCwgYW5ub3RhdGlvbnMgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3kgKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcnQuZGVzdHJveSgpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,6 +3,7 @@ import { Component, ContentChild, ContentChildren, Input, ViewChild, } from '@an
|
|
|
3
3
|
import { Axis, Crosshair, Direction, Tooltip, XYContainer } from '@unovis/ts';
|
|
4
4
|
import { VisXYComponent } from '../../core';
|
|
5
5
|
import { VisTooltipComponent } from '../../components/tooltip/tooltip.component';
|
|
6
|
+
import { VisAnnotationsComponent } from '../../components/annotations/annotations.component';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class VisXYContainerComponent {
|
|
8
9
|
constructor() {
|
|
@@ -58,13 +59,14 @@ export class VisXYContainerComponent {
|
|
|
58
59
|
(_b = this.chart) === null || _b === void 0 ? void 0 : _b.updateContainer(this.getConfig());
|
|
59
60
|
}
|
|
60
61
|
getConfig() {
|
|
61
|
-
var _a;
|
|
62
|
+
var _a, _b;
|
|
62
63
|
const { duration, margin, padding, scaleByDomain, autoMargin, width, height, xScale, xDomain, xDomainMinConstraint, xDomainMaxConstraint, xRange, yScale, yDomain, yDomainMinConstraint, yDomainMaxConstraint, yRange, yDirection, ariaLabel, } = this;
|
|
63
64
|
const visComponents = this.visComponents.toArray().map(d => d.component);
|
|
64
65
|
const crosshair = visComponents.find(c => c instanceof Crosshair);
|
|
65
66
|
const tooltip = (_a = this.tooltipComponent) === null || _a === void 0 ? void 0 : _a.component;
|
|
66
67
|
const xAxis = visComponents.find(c => { var _a; return c instanceof Axis && ((_a = c === null || c === void 0 ? void 0 : c.config) === null || _a === void 0 ? void 0 : _a.type) === 'x'; });
|
|
67
68
|
const yAxis = visComponents.find(c => { var _a; return c instanceof Axis && ((_a = c === null || c === void 0 ? void 0 : c.config) === null || _a === void 0 ? void 0 : _a.type) === 'y'; });
|
|
69
|
+
const annotations = (_b = this.annotationsComponent) === null || _b === void 0 ? void 0 : _b.component;
|
|
68
70
|
const components = visComponents.filter(c => !(c instanceof Crosshair) && !(c instanceof Tooltip) && !(c instanceof Axis));
|
|
69
71
|
return {
|
|
70
72
|
components,
|
|
@@ -77,6 +79,7 @@ export class VisXYContainerComponent {
|
|
|
77
79
|
yAxis,
|
|
78
80
|
tooltip,
|
|
79
81
|
crosshair,
|
|
82
|
+
annotations,
|
|
80
83
|
scaleByDomain,
|
|
81
84
|
autoMargin,
|
|
82
85
|
xScale,
|
|
@@ -104,7 +107,7 @@ export class VisXYContainerComponent {
|
|
|
104
107
|
}
|
|
105
108
|
}
|
|
106
109
|
VisXYContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisXYContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
107
|
-
VisXYContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisXYContainerComponent, selector: "vis-xy-container", inputs: { width: "width", height: "height", xScale: "xScale", xDomain: "xDomain", xDomainMinConstraint: "xDomainMinConstraint", xDomainMaxConstraint: "xDomainMaxConstraint", xRange: "xRange", yScale: "yScale", yDomain: "yDomain", yDomainMinConstraint: "yDomainMinConstraint", yDomainMaxConstraint: "yDomainMaxConstraint", yRange: "yRange", yDirection: "yDirection", preventEmptyDomain: "preventEmptyDomain", duration: "duration", margin: "margin", padding: "padding", scaleByDomain: "scaleByDomain", autoMargin: "autoMargin", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "visComponents", predicate: VisXYComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-xy-container">
|
|
110
|
+
VisXYContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisXYContainerComponent, selector: "vis-xy-container", inputs: { width: "width", height: "height", xScale: "xScale", xDomain: "xDomain", xDomainMinConstraint: "xDomainMinConstraint", xDomainMaxConstraint: "xDomainMaxConstraint", xRange: "xRange", yScale: "yScale", yDomain: "yDomain", yDomainMinConstraint: "yDomainMinConstraint", yDomainMaxConstraint: "yDomainMaxConstraint", yRange: "yRange", yDirection: "yDirection", preventEmptyDomain: "preventEmptyDomain", duration: "duration", margin: "margin", padding: "padding", scaleByDomain: "scaleByDomain", autoMargin: "autoMargin", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "annotationsComponent", first: true, predicate: VisAnnotationsComponent, descendants: true }, { propertyName: "visComponents", predicate: VisXYComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-xy-container">
|
|
108
111
|
<ng-content></ng-content>
|
|
109
112
|
</div>`, isInline: true, styles: [".unovis-xy-container { width: 100%; height: 100%; position: relative; }"] });
|
|
110
113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisXYContainerComponent, decorators: [{
|
|
@@ -125,6 +128,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
125
128
|
}], tooltipComponent: [{
|
|
126
129
|
type: ContentChild,
|
|
127
130
|
args: [VisTooltipComponent]
|
|
131
|
+
}], annotationsComponent: [{
|
|
132
|
+
type: ContentChild,
|
|
133
|
+
args: [VisAnnotationsComponent]
|
|
128
134
|
}], width: [{
|
|
129
135
|
type: Input
|
|
130
136
|
}], height: [{
|
|
@@ -168,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
168
174
|
}], data: [{
|
|
169
175
|
type: Input
|
|
170
176
|
}] } });
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb250YWluZXJzL3h5LWNvbnRhaW5lci94eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFFZixLQUFLLEVBSUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE1BQU07QUFDTixPQUFPLEVBQUUsSUFBSSxFQUFtQixTQUFTLEVBQUUsU0FBUyxFQUFXLE9BQU8sRUFBRSxXQUFXLEVBQThCLE1BQU0sWUFBWSxDQUFBO0FBQ25JLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUE7O0FBU2hGLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUEyQ0U7Ozs7O2tDQUswQjtRQUNqQix5QkFBb0IsR0FBOEMsU0FBUyxDQUFBO1FBV3BGLG1EQUFtRDtRQUMxQyxlQUFVLEdBQWdELFNBQVMsQ0FBQyxLQUFLLENBQUE7UUFDbEY7Ozs7OzhCQUtzQjtRQUNiLHVCQUFrQixHQUFvQixJQUFJLENBQUE7UUFFbkQsMEZBQTBGO1FBQ2pGLGFBQVEsR0FBWSxTQUFTLENBQUE7UUFDdEMsbUVBQW1FO1FBQzFELFdBQU0sR0FBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQTtRQUNwRSxtRUFBbUU7UUFDMUQsWUFBTyxHQUFhLEVBQUUsQ0FBQTtRQUcvQixvR0FBb0c7UUFDM0YsZUFBVSxHQUFhLElBQUksQ0FBQTtRQU9wQzs4REFDc0Q7UUFDN0MsU0FBSSxHQUF5QixTQUFTLENBQUE7S0FrRmhEO0lBOUVDLGVBQWU7UUFDYixJ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NUIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFPRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBT0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUtHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUcsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbi8vIFZpc1xuaW1wb3J0IHsgQXhpcywgQ29udGludW91c1NjYWxlLCBDcm9zc2hhaXIsIERpcmVjdGlvbiwgU3BhY2luZywgVG9vbHRpcCwgWFlDb250YWluZXIsIFhZQ29udGFpbmVyQ29uZmlnSW50ZXJmYWNlIH0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc1hZQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcbmltcG9ydCB7IFZpc1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Zpcy14eS1jb250YWluZXInLFxuICB0ZW1wbGF0ZTogYDxkaXYgI2NvbnRhaW5lciBjbGFzcz1cInVub3Zpcy14eS1jb250YWluZXJcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PmAsXG4gIHN0eWxlczogWycudW5vdmlzLXh5LWNvbnRhaW5lciB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfSddLFxufSlcbmV4cG9ydCBjbGFzcyBWaXNYWUNvbnRhaW5lckNvbXBvbmVudDxEYXR1bT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGFpbmVyUmVmOiBFbGVtZW50UmVmXG4gIEBDb250ZW50Q2hpbGRyZW4oVmlzWFlDb21wb25lbnQpIHZpc0NvbXBvbmVudHM6IFF1ZXJ5TGlzdDxWaXNYWUNvbXBvbmVudD5cbiAgQENvbnRlbnRDaGlsZChWaXNUb29sdGlwQ29tcG9uZW50KSB0b29sdGlwQ29tcG9uZW50OiBWaXNUb29sdGlwQ29tcG9uZW50XG5cbiAgLyoqIFdpZHRoIGluIHBpeGVscy4gQnkgZGVmYXVsdCwgQ29udGFpbmVyIGF1dG9tYXRpY2FsbHkgZml0cyB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSB3aWR0aD86IG51bWJlclxuICAvKiogSGVpZ2h0IGluIHBpeGVscy4gQnkgZGVmYXVsdCwgQ29udGFpbmVyIGF1dG9tYXRpY2FsbHkgZml0cyB0byB0aGUgc2l6ZSBvZiB0aGUgcGFyZW50IGVsZW1lbnQuIERlZmF1bHQ6IGB1bmRlZmluZWRgLiAqL1xuICBASW5wdXQoKSBoZWlnaHQ/OiBudW1iZXJcblxuICAvKiogU2NhbGUgZm9yIFggZGltZW5zaW9uLCBlLmcuIFNjYWxlLnNjYWxlTGluZWFyKCkuIERlZmF1bHQ6IGBTY2FsZS5zY2FsZUxpbmVhcigpYCAqL1xuICBASW5wdXQoKSB4U2NhbGU/OiBDb250aW51b3VzU2NhbGVcbiAgLyoqIFNjYWxlIGRvbWFpbiAoZGF0YSBleHRlbnQpIGZvciBYIGRpbWVuc2lvbi4gQnkgZGVmYXVsdCB0aGlzIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiBkYXRhLiAqL1xuICBASW5wdXQoKSB4RG9tYWluPzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXVxuICAvKiogQ29uc3RyYWludCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgWCBzY2FsZSBkb21haW4uIFVzZWZ1bCB3aGVuIHRoZSBkYXRhIGlzIHBsb3R0ZWQgYWxvbmcgdGhlIFggYXhpcy5cbiAgICogRm9yIGV4YW1wbGUsIGltYWdpbmUgdGhhdCB5b3UgaGF2ZSBhIGNoYXJ0IHdpdGggZHluYW1pYyBkYXRhIHRoYXQgaGFzIG5lZ2F0aXZlIHZhbHVlcy4gV2hlbiB2YWx1ZXMgYXJlIHNtYWxsXG4gICAqIChsZXQncyBzYXkgaW4gdGhlIHJhbmdlIG9mIFstMC4wMSwgMF0pLCB5b3UgbWlnaHQgc3RpbGwgd2FudCB0aGUgY2hhcnQgdG8gZGlzcGxheSBzb21lIG1lYW5pbmdmdWwgdmFsdWUgcmFuZ2UgKGUuZy4gWy0xLCAwXSkuIFRoYXQgY2FuXG4gICAqIGJlIGFjaGlldmVkIGJ5IHNldHRpbmcgYHhEb21haW5NaW5Db25zdHJhaW50YCB0byBgW3VuZGVmaW5lZCwgLTFdYC4gSW4gYWRkaXRpb24gdG8gdGhhdCwgaWYgeW91IHdhbnQgdG8gY3V0IG9mZiB0aGVcbiAgICogdmFsdWVzIHRoYXQgYXJlIHRvbyBsb3cgKGxldCdzIHNheSBsb3dlciB0aGFuIC0xMDApLCB5b3UgY2FuIHNldCB0aGUgY29uc3RyYWludCB0byBgWy0xMDAsIC0xXWBcbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeERvbWFpbk1pbkNvbnN0cmFpbnQ/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdXG4gIC8qKiBDb25zdHJhaW50IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBYIHNjYWxlIGRvbWFpbi4gVXNlZnVsIHdoZW4gdGhlIGRhdGEgaXMgcGxvdHRlZCBhbG9uZyB0aGUgWCBheGlzLlxuICAgKiBGb3IgZXhhbXBsZSwgaW1hZ2luZSB0aGF0IHlvdSBoYXZlIGEgY2hhcnQgd2l0aCBkeW5hbWljIGRhdGEuIFdoZW4gdmFsdWVzIGFyZSBzbWFsbFxuICAgKiAobGV0J3Mgc2F5IDwgMC4wMSksIHlvdSBtaWdodCBzdGlsbCB3YW50IHRoZSBjaGFydCB0byBkaXNwbGF5IHNvbWUgbWVhbmluZ2Z1bCB2YWx1ZSByYW5nZSAoZS5nLiBbMCwgMV0pLiBUaGF0IGNhblxuICAgKiBiZSBhY2hpZXZlZCBieSBzZXR0aW5nIGB4RG9tYWluTWF4Q29uc3RyYWludGAgdG8gYFsxLCB1bmRlZmluZWRdYC4gSW4gYWRkaXRpb24gdG8gdGhhdCwgaWYgeW91IHdhbnQgdG8gY3V0IG9mZiB0aGVcbiAgICogdmFsdWVzIHRoYXQgYXJlIHRvbyBoaWdoIChsZXQncyBzYXkgaGlnaGVyIHRoYW4gMTAwKSwgeW91IGNhbiBzZXQgdGhlIGNvbnN0cmFpbnQgdG8gYFsxLCAxMDBdYFxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB4RG9tYWluTWF4Q29uc3RyYWludD86IFtudW1iZXIgfCB1bmRlZmluZWQsIG51bWJlciB8IHVuZGVmaW5lZF1cbiAgLyoqIEZvcmNlIHNldCB0aGUgWCBzY2FsZSByYW5nZSAoaW4gdGhlIHNjcmVlbiBzcGFjZSkuIEJ5IGRlZmF1bHQgdGhlIHJhbmdlIGlzIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiB0aGVcbiAgICogY2hhcnQncyBzZXQgdXAgKi9cbiAgQElucHV0KCkgeFJhbmdlPzogW251bWJlciwgbnVtYmVyXVxuXG4gIC8qKiBTY2FsZSBmb3IgWSBkaW1lbnNpb24sIGUuZy4gU2NhbGUuU2NhbGVMaW5lYXIuIERlZmF1bHQ6IGBTY2FsZS5TY2FsZUxpbmVhcigpYCAqL1xuICBASW5wdXQoKSB5U2NhbGU/OiBDb250aW51b3VzU2NhbGVcbiAgLyoqIFNjYWxlIGRvbWFpbiAoZGF0YSBleHRlbnQpIGZvciBZIGRpbWVuc2lvbi4gQnkgZGVmYXVsdCB0aGlzIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXV0b21hdGljYWxseSBiYXNlZCBvbiBkYXRhLiAqL1xuICBASW5wdXQoKSB5RG9tYWluPzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXVxuICAvKiogQ29uc3RyYWludCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgWSBzY2FsZSBkb21haW4uXG4gICAqIEZvciBleGFtcGxlLCBpbWFnaW5lIHRoYXQgeW91IGhhdmUgYSBjaGFydCB3aXRoIGR5bmFtaWMgZGF0YSB0aGF0IGhhcyBuZWdhdGl2ZSB2YWx1ZXMuIFdoZW4gdmFsdWVzIGFyZSBzbWFsbFxuICAgKiAobGV0J3Mgc2F5IGluIHRoZSByYW5nZSBvZiBbLTAuMDEsIDBdKSwgeW91IG1pZ2h0IHN0aWxsIHdhbnQgdGhlIGNoYXJ0IHRvIGRpc3BsYXkgc29tZSBtZWFuaW5nZnVsIHZhbHVlIHJhbmdlIChlLmcuIFstMSwgMF0pLiBUaGF0IGNhblxuICAgKiBiZSBhY2hpZXZlZCBieSBzZXR0aW5nIGB5RG9tYWluTWluQ29uc3RyYWludGAgdG8gYFt1bmRlZmluZWQsIC0xXWAuIEluIGFkZGl0aW9uIHRvIHRoYXQsIGlmIHlvdSB3YW50IHRvIGN1dCBvZmYgdGhlXG4gICAqIHZhbHVlcyB0aGF0IGFyZSB0b28gbG93IChsZXQncyBzYXkgbG93ZXIgdGhhbiAtMTAwKSwgeW91IGNhbiBzZXQgdGhlIGNvbnN0cmFpbnQgdG8gYFstMTAwLCAtMV1gXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlEb21haW5NaW5Db25zdHJhaW50PzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXSA9IHVuZGVmaW5lZFxuICAvKiogQ29uc3RyYWludCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgWSBzY2FsZSBkb21haW4uXG4gICAqIEZvciBleGFtcGxlLCBpbWFnaW5lIHRoYXQgeW91IGhhdmUgYSBjaGFydCB3aXRoIGR5bmFtaWMgZGF0YS4gV2hlbiB2YWx1ZXMgYXJlIHNtYWxsXG4gICAqIChsZXQncyBzYXkgPCAwLjAxKSwgeW91IG1pZ2h0IHN0aWxsIHdhbnQgdGhlIGNoYXJ0IHRvIGRpc3BsYXkgc29tZSBtZWFuaW5nZnVsIHZhbHVlIHJhbmdlIChlLmcuIFswLCAxXSkuIFRoYXQgY2FuXG4gICAqIGJlIGFjaGlldmVkIGJ5IHNldHRpbmcgYHlEb21haW5NYXhDb25zdHJhaW50YCB0byBgWzEsIHVuZGVmaW5lZF1gLiBJbiBhZGRpdGlvbiB0byB0aGF0LCBpZiB5b3Ugd2FudCB0byBjdXQgb2ZmIHRoZVxuICAgKiB2YWx1ZXMgdGhhdCBhcmUgdG9vIGhpZ2ggKGxldCdzIHNheSBoaWdoZXIgdGhhbiAxMDApLCB5b3UgY2FuIHNldCB0aGUgY29uc3RyYWludCB0byBgWzEsIDEwMF1gXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHlEb21haW5NYXhDb25zdHJhaW50PzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXVxuICAvKiogRm9yY2Ugc2V0IHRoZSBZIHNjYWxlIHJhbmdlIChpbiB0aGUgc2NyZWVuIHNwYWNlKS4gQnkgZGVmYXVsdCB0aGUgcmFuZ2UgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIHRoZVxuICAgKiBjaGFydCdzIHNldCB1cCAqL1xuICBASW5wdXQoKSB5UmFuZ2U/OiBbbnVtYmVyLCBudW1iZXJdXG4gIC8qKiBZIEF4aXMgZGlyZWN0aW9uLiBEZWZhdWx0OiBgRGlyZWN0aW9uLk5vcnRoYCAqL1xuICBASW5wdXQoKSB5RGlyZWN0aW9uPzogRGlyZWN0aW9uLlNvdXRoIHwgRGlyZWN0aW9uLk5vcnRoIHwgc3RyaW5nID0gRGlyZWN0aW9uLk5vcnRoXG4gIC8qKiBQcmV2ZW50cyB0aGUgY2hhcnQgZG9tYWluIGZyb20gYmVpbmcgZW1wdHkgKHdoZW4gZG9tYWluJ3MgbWluIGFuZCBtYXggdmFsdWVzIGFyZSBlcXVhbCkuXG4gICAqICBUaGF0IHVzdWFsbHkgaGFwcGVucyB3aGVuIGFsbCB0aGUgZGF0YSB2YWx1ZXMgYXJlIHRoZSBzYW1lIG9yIHdoZW4gdGhlcmUncyBubyBkYXRhLlxuICAgKiAgU2V0dGluZyB0byBgdHJ1ZWAgd2lsbCBhdXRvbWF0aWNhbGx5IGV4dGVuZCB0aGUgZG9tYWluIGJ5IGArMWAgd2hlbiBuZWVkZWQuXG4gICAqICBTZXR0aW5nIHRvIGBudWxsYCB3aWxsIGV4dGVuZCB0aGUgZG9tYWluIG9ubHkgd2hlbiB0aGVyZSdzIG5vIGRhdGEuXG4gICAqICBTZXR0aW5nIHRvIGBmYWxzZWAgd2lsbCBrZWVwIHRoZSBkb21haW4gYXMgaXMuXG4gICAqICBEZWZhdWx0OiBgbnVsbGAgKi9cbiAgQElucHV0KCkgcHJldmVudEVtcHR5RG9tYWluPzogYm9vbGVhbiB8IG51bGwgPSBudWxsXG5cbiAgLyoqIEFuaW1hdGlvbiBkdXJhdGlvbiBvZiBhbGwgdGhlIGNvbXBvbmVudHMgd2l0aGluIHRoZSBjb250YWluZXIuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogbnVtYmVyID0gdW5kZWZpbmVkXG4gIC8qKiBNYXJnaW5zLiBEZWZhdWx0OiBgeyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfWAgKi9cbiAgQElucHV0KCkgbWFyZ2luPzogU3BhY2luZyA9IHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH1cbiAgLyoqIFBhZGRpbmcuIERlZmF1bHQ6IGB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9YCAqL1xuICBASW5wdXQoKSBwYWRkaW5nPzogU3BhY2luZyA9IHt9XG4gIC8qKiBTZXRzIHRoZSBZIHNjYWxlIGRvbWFpbiBiYXNlZCBvbiB0aGUgY3VycmVudCBYIHNjYWxlIGRvbWFpbiAobm90IHRoZSB3aG9sZSBkYXRhc2V0KS4gRGVmYXVsdDogYGZhbHNlYCAqL1xuICBASW5wdXQoKSBzY2FsZUJ5RG9tYWluPzogYm9vbGVhblxuICAvKiogRW5hYmxlcyBhdXRvbWF0aWMgY2FsY3VsYXRpb24gb2YgY2hhcnQgbWFyZ2lucyBiYXNlZCBvbiB0aGUgc2l6ZSBvZiB0aGUgYXhlcy4gRGVmYXVsdDogYHRydWVgICovXG4gIEBJbnB1dCgpIGF1dG9NYXJnaW4/OiBib29sZWFuID0gdHJ1ZVxuXG4gIC8qKiBBbHRlcm5hdGl2ZSB0ZXh0IGRlc2NyaXB0aW9uIG9mIHRoZSBjaGFydCBmb3IgYWNjZXNzaWJpbGl0eSBwdXJwb3Nlcy4gSXQgd2lsbCBiZSBhcHBsaWVkIGFzIGFuXG4gICAqIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUgdG8gdGhlIGRpdiBlbGVtZW50IGNvbnRhaW5pbmcgeW91ciBjaGFydC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuXG4gICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbD86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcblxuICAvKiogRGF0YSB0byBiZSBwYXNzZWQgdG8gYWxsIGNoaWxkIGNvbXBvbmVudHMuIEJ1dCBpZiBgZGF0YWAgaXMgYHVuZGVmaW5lZGAgaXQnbGwgdG8gYmUgcGFzc2VkIGFsbG93aW5nIGNvbXBvbmVudHMgdG9cbiAgICogaGF2ZSB0aGVpciBpbmRpdmlkdWFsIGRhdGEuIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIGRhdGE/OiBEYXR1bVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG5cbiAgY2hhcnQ6IFhZQ29udGFpbmVyPERhdHVtPlxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5jaGFydCA9IG5ldyBYWUNvbnRhaW5lcjxEYXR1bT4odGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCwgdGhpcy5nZXRDb25maWcoKSwgdGhpcy5kYXRhKVxuICAgIHRoaXMucGFzc0NvbnRhaW5lclJlZmVyZW5jZVRvQ2hpbGRyZW4oKVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0ICgpOiB2b2lkIHtcbiAgICAvLyBRdWVyeUxpc3QgZG9lcyB1bnN1YnNjcmliZSBhdXRvbWF0aWNhbGx5IHdoZW4gaXQgZ2V0cyBkZXN0cm95ZWRcbiAgICB0aGlzLnZpc0NvbXBvbmVudHMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5wYXNzQ29udGFpbmVyUmVmZXJlbmNlVG9DaGlsZHJlbigpXG4gICAgICB0aGlzLmNoYXJ0Py51cGRhdGVDb250YWluZXIodGhpcy5nZXRDb25maWcoKSlcbiAgICB9KVxuICB9XG5cbiAgbmdPbkNoYW5nZXMgKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2ZW50UmVuZGVyID0gdHJ1ZVxuXG4gICAgLy8gU2V0IG5ldyBEYXRhIHdpdGhvdXQgcmUtcmVuZGVyXG4gICAgaWYgKGNoYW5nZXMuZGF0YSkge1xuICAgICAgdGhpcy5jaGFydD8uc2V0RGF0YSh0aGlzLmRhdGEsIHByZXZlbnRSZW5kZXIpXG4gICAgICBkZWxldGUgY2hhbmdlcy5kYXRhXG4gICAgfVxuXG4gICAgLy8gVXBkYXRlIENvbnRhaW5lciBhbmQgcmVuZGVyXG4gICAgdGhpcy5jaGFydD8udXBkYXRlQ29udGFpbmVyKHRoaXMuZ2V0Q29uZmlnKCkpXG4gIH1cblxuICBnZXRDb25maWcgKCk6IFhZQ29udGFpbmVyQ29uZmlnSW50ZXJmYWNlPERhdHVtPiB7XG4gICAgY29uc3Qge1xuICAgICAgZHVyYXRpb24sIG1hcmdpbiwgcGFkZGluZywgc2NhbGVCeURvbWFpbiwgYXV0b01hcmdpbiwgd2lkdGgsIGhlaWdodCxcbiAgICAgIHhTY2FsZSwgeERvbWFpbiwgeERvbWFpbk1pbkNvbnN0cmFpbnQsIHhEb21haW5NYXhDb25zdHJhaW50LCB4UmFuZ2UsXG4gICAgICB5U2NhbGUsIHlEb21haW4sIHlEb21haW5NaW5Db25zdHJhaW50LCB5RG9tYWluTWF4Q29uc3RyYWludCwgeVJhbmdlLFxuICAgICAgeURpcmVjdGlvbiwgYXJpYUxhYmVsLFxuICAgIH0gPSB0aGlzXG4gICAgY29uc3QgdmlzQ29tcG9uZW50cyA9IHRoaXMudmlzQ29tcG9uZW50cy50b0FycmF5KCkubWFwKGQgPT4gZC5jb21wb25lbnQpXG5cbiAgICBjb25zdCBjcm9zc2hhaXIgPSB2aXNDb21wb25lbnRzLmZpbmQoYyA9PiBjIGluc3RhbmNlb2YgQ3Jvc3NoYWlyKSBhcyBDcm9zc2hhaXI8RGF0dW0+XG4gICAgY29uc3QgdG9vbHRpcCA9IHRoaXMudG9vbHRpcENvbXBvbmVudD8uY29tcG9uZW50IGFzIFRvb2x0aXBcbiAgICBjb25zdCB4QXhpcyA9IHZpc0NvbXBvbmVudHMuZmluZChjID0+IGMgaW5zdGFuY2VvZiBBeGlzICYmIGM/LmNvbmZpZz8udHlwZSA9PT0gJ3gnKSBhcyBBeGlzPERhdHVtPlxuICAgIGNvbnN0IHlBeGlzID0gdmlzQ29tcG9uZW50cy5maW5kKGMgPT4gYyBpbnN0YW5jZW9mIEF4aXMgJiYgYz8uY29uZmlnPy50eXBlID09PSAneScpIGFzIEF4aXM8RGF0dW0+XG5cbiAgICBjb25zdCBjb21wb25lbnRzID0gdmlzQ29tcG9uZW50cy5maWx0ZXIoYyA9PiAhKGMgaW5zdGFuY2VvZiBDcm9zc2hhaXIpICYmICEoYyBpbnN0YW5jZW9mIFRvb2x0aXApICYmICEoYyBpbnN0YW5jZW9mIEF4aXMpKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudHMsXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICAgIGR1cmF0aW9uLFxuICAgICAgbWFyZ2luLFxuICAgICAgcGFkZGluZyxcbiAgICAgIHhBeGlzLFxuICAgICAgeUF4aXMsXG4gICAgICB0b29sdGlwLFxuICAgICAgY3Jvc3NoYWlyLFxuICAgICAgc2NhbGVCeURvbWFpbixcbiAgICAgIGF1dG9NYXJnaW4sXG4gICAgICB4U2NhbGUsXG4gICAgICB4RG9tYWluLFxuICAgICAgeERvbWFpbk1pbkNvbnN0cmFpbnQsXG4gICAgICB4RG9tYWluTWF4Q29uc3RyYWludCxcbiAgICAgIHhSYW5nZSxcbiAgICAgIHlTY2FsZSxcbiAgICAgIHlEb21haW4sXG4gICAgICB5RG9tYWluTWluQ29uc3RyYWludCxcbiAgICAgIHlEb21haW5NYXhDb25zdHJhaW50LFxuICAgICAgeVJhbmdlLFxuICAgICAgeURpcmVjdGlvbixcbiAgICAgIGFyaWFMYWJlbCxcbiAgICB9XG4gIH1cblxuICBwYXNzQ29udGFpbmVyUmVmZXJlbmNlVG9DaGlsZHJlbiAoKTogdm9pZCB7XG4gICAgLy8gV2Ugc2V0IHRoZSBjb250YWluZXIgZm9yIGVhY2ggdmlzIGNvbXBvbmVudCB0byB0cmlnZ2VyIGNoYXJ0IHJlLXJlbmRlciBpZiB0aGUgZGF0YSBoYXMgY2hhbmdlZFxuICAgIGlmICh0aGlzLmNoYXJ0KSB0aGlzLnZpc0NvbXBvbmVudHMudG9BcnJheSgpLmZvckVhY2goYyA9PiB7IGMuY29tcG9uZW50Q29udGFpbmVyID0gdGhpcy5jaGFydCB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3kgKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKVxuICB9XG59XG4iXX0=
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHktY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb250YWluZXJzL3h5LWNvbnRhaW5lci94eS1jb250YWluZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFFZixLQUFLLEVBSUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE1BQU07QUFDTixPQUFPLEVBQWUsSUFBSSxFQUFtQixTQUFTLEVBQUUsU0FBUyxFQUFXLE9BQU8sRUFBRSxXQUFXLEVBQThCLE1BQU0sWUFBWSxDQUFBO0FBQ2hKLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFDaEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUE7O0FBUzVGLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUE0Q0U7Ozs7O2tDQUswQjtRQUNqQix5QkFBb0IsR0FBOEMsU0FBUyxDQUFBO1FBV3BGLG1EQUFtRDtRQUMxQyxlQUFVLEdBQWdELFNBQVMsQ0FBQyxLQUFLLENBQUE7UUFDbEY7Ozs7OzhCQUtzQjtRQUNiLHVCQUFrQixHQUFvQixJQUFJLENBQUE7UUFFbkQsMEZBQTBGO1FBQ2pGLGFBQVEsR0FBWSxTQUFTLENBQUE7UUFDdEMsbUVBQW1FO1FBQzFELFdBQU0sR0FBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQTtRQUNwRSxtRUFBbUU7UUFDMUQsWUFBTyxHQUFhLEVBQUUsQ0FBQTtRQUcvQixvR0FBb0c7UUFDM0YsZUFBVSxHQUFhLElBQUksQ0FBQTtRQU9wQzs4REFDc0Q7UUFDN0Ms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QUNNLG9CQUFvQjtzQkFBMUQsWUFBWTt1QkFBQyx1QkFBdUI7Z0JBRzVCLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFPRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBT0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQU9HLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFPRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFJRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuLy8gVmlzXG5pbXBvcnQgeyBBbm5vdGF0aW9ucywgQXhpcywgQ29udGludW91c1NjYWxlLCBDcm9zc2hhaXIsIERpcmVjdGlvbiwgU3BhY2luZywgVG9vbHRpcCwgWFlDb250YWluZXIsIFhZQ29udGFpbmVyQ29uZmlnSW50ZXJmYWNlIH0gZnJvbSAnQHVub3Zpcy90cydcbmltcG9ydCB7IFZpc1hZQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZSdcbmltcG9ydCB7IFZpc1Rvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQnXG5pbXBvcnQgeyBWaXNBbm5vdGF0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYW5ub3RhdGlvbnMvYW5ub3RhdGlvbnMuY29tcG9uZW50J1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2aXMteHktY29udGFpbmVyJyxcbiAgdGVtcGxhdGU6IGA8ZGl2ICNjb250YWluZXIgY2xhc3M9XCJ1bm92aXMteHktY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5gLFxuICBzdHlsZXM6IFsnLnVub3Zpcy14eS1jb250YWluZXIgeyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBwb3NpdGlvbjogcmVsYXRpdmU7IH0nXSxcbn0pXG5leHBvcnQgY2xhc3MgVmlzWFlDb250YWluZXJDb21wb25lbnQ8RGF0dW0+IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRhaW5lclJlZjogRWxlbWVudFJlZlxuICBAQ29udGVudENoaWxkcmVuKFZpc1hZQ29tcG9uZW50KSB2aXNDb21wb25lbnRzOiBRdWVyeUxpc3Q8VmlzWFlDb21wb25lbnQ+XG4gIEBDb250ZW50Q2hpbGQoVmlzVG9vbHRpcENvbXBvbmVudCkgdG9vbHRpcENvbXBvbmVudDogVmlzVG9vbHRpcENvbXBvbmVudFxuICBAQ29udGVudENoaWxkKFZpc0Fubm90YXRpb25zQ29tcG9uZW50KSBhbm5vdGF0aW9uc0NvbXBvbmVudDogVmlzQW5ub3RhdGlvbnNDb21wb25lbnRcblxuICAvKiogV2lkdGggaW4gcGl4ZWxzLiBCeSBkZWZhdWx0LCBDb250YWluZXIgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIHdpZHRoPzogbnVtYmVyXG4gIC8qKiBIZWlnaHQgaW4gcGl4ZWxzLiBCeSBkZWZhdWx0LCBDb250YWluZXIgYXV0b21hdGljYWxseSBmaXRzIHRvIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgZWxlbWVudC4gRGVmYXVsdDogYHVuZGVmaW5lZGAuICovXG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlclxuXG4gIC8qKiBTY2FsZSBmb3IgWCBkaW1lbnNpb24sIGUuZy4gU2NhbGUuc2NhbGVMaW5lYXIoKS4gRGVmYXVsdDogYFNjYWxlLnNjYWxlTGluZWFyKClgICovXG4gIEBJbnB1dCgpIHhTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuICAvKiogU2NhbGUgZG9tYWluIChkYXRhIGV4dGVudCkgZm9yIFggZGltZW5zaW9uLiBCeSBkZWZhdWx0IHRoaXMgdmFsdWUgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGRhdGEuICovXG4gIEBJbnB1dCgpIHhEb21haW4/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdXG4gIC8qKiBDb25zdHJhaW50IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBYIHNjYWxlIGRvbWFpbi4gVXNlZnVsIHdoZW4gdGhlIGRhdGEgaXMgcGxvdHRlZCBhbG9uZyB0aGUgWCBheGlzLlxuICAgKiBGb3IgZXhhbXBsZSwgaW1hZ2luZSB0aGF0IHlvdSBoYXZlIGEgY2hhcnQgd2l0aCBkeW5hbWljIGRhdGEgdGhhdCBoYXMgbmVnYXRpdmUgdmFsdWVzLiBXaGVuIHZhbHVlcyBhcmUgc21hbGxcbiAgICogKGxldCdzIHNheSBpbiB0aGUgcmFuZ2Ugb2YgWy0wLjAxLCAwXSksIHlvdSBtaWdodCBzdGlsbCB3YW50IHRoZSBjaGFydCB0byBkaXNwbGF5IHNvbWUgbWVhbmluZ2Z1bCB2YWx1ZSByYW5nZSAoZS5nLiBbLTEsIDBdKS4gVGhhdCBjYW5cbiAgICogYmUgYWNoaWV2ZWQgYnkgc2V0dGluZyBgeERvbWFpbk1pbkNvbnN0cmFpbnRgIHRvIGBbdW5kZWZpbmVkLCAtMV1gLiBJbiBhZGRpdGlvbiB0byB0aGF0LCBpZiB5b3Ugd2FudCB0byBjdXQgb2ZmIHRoZVxuICAgKiB2YWx1ZXMgdGhhdCBhcmUgdG9vIGxvdyAobGV0J3Mgc2F5IGxvd2VyIHRoYW4gLTEwMCksIHlvdSBjYW4gc2V0IHRoZSBjb25zdHJhaW50IHRvIGBbLTEwMCwgLTFdYFxuICAgKiBEZWZhdWx0OiBgdW5kZWZpbmVkYCAqL1xuICBASW5wdXQoKSB4RG9tYWluTWluQ29uc3RyYWludD86IFtudW1iZXIgfCB1bmRlZmluZWQsIG51bWJlciB8IHVuZGVmaW5lZF1cbiAgLyoqIENvbnN0cmFpbnQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIFggc2NhbGUgZG9tYWluLiBVc2VmdWwgd2hlbiB0aGUgZGF0YSBpcyBwbG90dGVkIGFsb25nIHRoZSBYIGF4aXMuXG4gICAqIEZvciBleGFtcGxlLCBpbWFnaW5lIHRoYXQgeW91IGhhdmUgYSBjaGFydCB3aXRoIGR5bmFtaWMgZGF0YS4gV2hlbiB2YWx1ZXMgYXJlIHNtYWxsXG4gICAqIChsZXQncyBzYXkgPCAwLjAxKSwgeW91IG1pZ2h0IHN0aWxsIHdhbnQgdGhlIGNoYXJ0IHRvIGRpc3BsYXkgc29tZSBtZWFuaW5nZnVsIHZhbHVlIHJhbmdlIChlLmcuIFswLCAxXSkuIFRoYXQgY2FuXG4gICAqIGJlIGFjaGlldmVkIGJ5IHNldHRpbmcgYHhEb21haW5NYXhDb25zdHJhaW50YCB0byBgWzEsIHVuZGVmaW5lZF1gLiBJbiBhZGRpdGlvbiB0byB0aGF0LCBpZiB5b3Ugd2FudCB0byBjdXQgb2ZmIHRoZVxuICAgKiB2YWx1ZXMgdGhhdCBhcmUgdG9vIGhpZ2ggKGxldCdzIHNheSBoaWdoZXIgdGhhbiAxMDApLCB5b3UgY2FuIHNldCB0aGUgY29uc3RyYWludCB0byBgWzEsIDEwMF1gXG4gICAqIERlZmF1bHQ6IGB1bmRlZmluZWRgICovXG4gIEBJbnB1dCgpIHhEb21haW5NYXhDb25zdHJhaW50PzogW251bWJlciB8IHVuZGVmaW5lZCwgbnVtYmVyIHwgdW5kZWZpbmVkXVxuICAvKiogRm9yY2Ugc2V0IHRoZSBYIHNjYWxlIHJhbmdlIChpbiB0aGUgc2NyZWVuIHNwYWNlKS4gQnkgZGVmYXVsdCB0aGUgcmFuZ2UgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIHRoZVxuICAgKiBjaGFydCdzIHNldCB1cCAqL1xuICBASW5wdXQoKSB4UmFuZ2U/OiBbbnVtYmVyLCBudW1iZXJdXG5cbiAgLyoqIFNjYWxlIGZvciBZIGRpbWVuc2lvbiwgZS5nLiBTY2FsZS5TY2FsZUxpbmVhci4gRGVmYXVsdDogYFNjYWxlLlNjYWxlTGluZWFyKClgICovXG4gIEBJbnB1dCgpIHlTY2FsZT86IENvbnRpbnVvdXNTY2FsZVxuICAvKiogU2NhbGUgZG9tYWluIChkYXRhIGV4dGVudCkgZm9yIFkgZGltZW5zaW9uLiBCeSBkZWZhdWx0IHRoaXMgdmFsdWUgaXMgY2FsY3VsYXRlZCBhdXRvbWF0aWNhbGx5IGJhc2VkIG9uIGRhdGEuICovXG4gIEBJbnB1dCgpIHlEb21haW4/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdXG4gIC8qKiBDb25zdHJhaW50IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBZIHNjYWxlIGRvbWFpbi5cbiAgICogRm9yIGV4YW1wbGUsIGltYWdpbmUgdGhhdCB5b3UgaGF2ZSBhIGNoYXJ0IHdpdGggZHluYW1pYyBkYXRhIHRoYXQgaGFzIG5lZ2F0aXZlIHZhbHVlcy4gV2hlbiB2YWx1ZXMgYXJlIHNtYWxsXG4gICAqIChsZXQncyBzYXkgaW4gdGhlIHJhbmdlIG9mIFstMC4wMSwgMF0pLCB5b3UgbWlnaHQgc3RpbGwgd2FudCB0aGUgY2hhcnQgdG8gZGlzcGxheSBzb21lIG1lYW5pbmdmdWwgdmFsdWUgcmFuZ2UgKGUuZy4gWy0xLCAwXSkuIFRoYXQgY2FuXG4gICAqIGJlIGFjaGlldmVkIGJ5IHNldHRpbmcgYHlEb21haW5NaW5Db25zdHJhaW50YCB0byBgW3VuZGVmaW5lZCwgLTFdYC4gSW4gYWRkaXRpb24gdG8gdGhhdCwgaWYgeW91IHdhbnQgdG8gY3V0IG9mZiB0aGVcbiAgICogdmFsdWVzIHRoYXQgYXJlIHRvbyBsb3cgKGxldCdzIHNheSBsb3dlciB0aGFuIC0xMDApLCB5b3UgY2FuIHNldCB0aGUgY29uc3RyYWludCB0byBgWy0xMDAsIC0xXWBcbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeURvbWFpbk1pbkNvbnN0cmFpbnQ/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdID0gdW5kZWZpbmVkXG4gIC8qKiBDb25zdHJhaW50IHRoZSBtaW5pbXVtIHZhbHVlIG9mIHRoZSBZIHNjYWxlIGRvbWFpbi5cbiAgICogRm9yIGV4YW1wbGUsIGltYWdpbmUgdGhhdCB5b3UgaGF2ZSBhIGNoYXJ0IHdpdGggZHluYW1pYyBkYXRhLiBXaGVuIHZhbHVlcyBhcmUgc21hbGxcbiAgICogKGxldCdzIHNheSA8IDAuMDEpLCB5b3UgbWlnaHQgc3RpbGwgd2FudCB0aGUgY2hhcnQgdG8gZGlzcGxheSBzb21lIG1lYW5pbmdmdWwgdmFsdWUgcmFuZ2UgKGUuZy4gWzAsIDFdKS4gVGhhdCBjYW5cbiAgICogYmUgYWNoaWV2ZWQgYnkgc2V0dGluZyBgeURvbWFpbk1heENvbnN0cmFpbnRgIHRvIGBbMSwgdW5kZWZpbmVkXWAuIEluIGFkZGl0aW9uIHRvIHRoYXQsIGlmIHlvdSB3YW50IHRvIGN1dCBvZmYgdGhlXG4gICAqIHZhbHVlcyB0aGF0IGFyZSB0b28gaGlnaCAobGV0J3Mgc2F5IGhpZ2hlciB0aGFuIDEwMCksIHlvdSBjYW4gc2V0IHRoZSBjb25zdHJhaW50IHRvIGBbMSwgMTAwXWBcbiAgICogRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgeURvbWFpbk1heENvbnN0cmFpbnQ/OiBbbnVtYmVyIHwgdW5kZWZpbmVkLCBudW1iZXIgfCB1bmRlZmluZWRdXG4gIC8qKiBGb3JjZSBzZXQgdGhlIFkgc2NhbGUgcmFuZ2UgKGluIHRoZSBzY3JlZW4gc3BhY2UpLiBCeSBkZWZhdWx0IHRoZSByYW5nZSBpcyBjYWxjdWxhdGVkIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gdGhlXG4gICAqIGNoYXJ0J3Mgc2V0IHVwICovXG4gIEBJbnB1dCgpIHlSYW5nZT86IFtudW1iZXIsIG51bWJlcl1cbiAgLyoqIFkgQXhpcyBkaXJlY3Rpb24uIERlZmF1bHQ6IGBEaXJlY3Rpb24uTm9ydGhgICovXG4gIEBJbnB1dCgpIHlEaXJlY3Rpb24/OiBEaXJlY3Rpb24uU291dGggfCBEaXJlY3Rpb24uTm9ydGggfCBzdHJpbmcgPSBEaXJlY3Rpb24uTm9ydGhcbiAgLyoqIFByZXZlbnRzIHRoZSBjaGFydCBkb21haW4gZnJvbSBiZWluZyBlbXB0eSAod2hlbiBkb21haW4ncyBtaW4gYW5kIG1heCB2YWx1ZXMgYXJlIGVxdWFsKS5cbiAgICogIFRoYXQgdXN1YWxseSBoYXBwZW5zIHdoZW4gYWxsIHRoZSBkYXRhIHZhbHVlcyBhcmUgdGhlIHNhbWUgb3Igd2hlbiB0aGVyZSdzIG5vIGRhdGEuXG4gICAqICBTZXR0aW5nIHRvIGB0cnVlYCB3aWxsIGF1dG9tYXRpY2FsbHkgZXh0ZW5kIHRoZSBkb21haW4gYnkgYCsxYCB3aGVuIG5lZWRlZC5cbiAgICogIFNldHRpbmcgdG8gYG51bGxgIHdpbGwgZXh0ZW5kIHRoZSBkb21haW4gb25seSB3aGVuIHRoZXJlJ3Mgbm8gZGF0YS5cbiAgICogIFNldHRpbmcgdG8gYGZhbHNlYCB3aWxsIGtlZXAgdGhlIGRvbWFpbiBhcyBpcy5cbiAgICogIERlZmF1bHQ6IGBudWxsYCAqL1xuICBASW5wdXQoKSBwcmV2ZW50RW1wdHlEb21haW4/OiBib29sZWFuIHwgbnVsbCA9IG51bGxcblxuICAvKiogQW5pbWF0aW9uIGR1cmF0aW9uIG9mIGFsbCB0aGUgY29tcG9uZW50cyB3aXRoaW4gdGhlIGNvbnRhaW5lci4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgZHVyYXRpb24/OiBudW1iZXIgPSB1bmRlZmluZWRcbiAgLyoqIE1hcmdpbnMuIERlZmF1bHQ6IGB7IHRvcDogMCwgYm90dG9tOiAwLCBsZWZ0OiAwLCByaWdodDogMCB9YCAqL1xuICBASW5wdXQoKSBtYXJnaW4/OiBTcGFjaW5nID0geyB0b3A6IDAsIGJvdHRvbTogMCwgbGVmdDogMCwgcmlnaHQ6IDAgfVxuICAvKiogUGFkZGluZy4gRGVmYXVsdDogYHsgdG9wOiAwLCBib3R0b206IDAsIGxlZnQ6IDAsIHJpZ2h0OiAwIH1gICovXG4gIEBJbnB1dCgpIHBhZGRpbmc/OiBTcGFjaW5nID0ge31cbiAgLyoqIFNldHMgdGhlIFkgc2NhbGUgZG9tYWluIGJhc2VkIG9uIHRoZSBjdXJyZW50IFggc2NhbGUgZG9tYWluIChub3QgdGhlIHdob2xlIGRhdGFzZXQpLiBEZWZhdWx0OiBgZmFsc2VgICovXG4gIEBJbnB1dCgpIHNjYWxlQnlEb21haW4/OiBib29sZWFuXG4gIC8qKiBFbmFibGVzIGF1dG9tYXRpYyBjYWxjdWxhdGlvbiBvZiBjaGFydCBtYXJnaW5zIGJhc2VkIG9uIHRoZSBzaXplIG9mIHRoZSBheGVzLiBEZWZhdWx0OiBgdHJ1ZWAgKi9cbiAgQElucHV0KCkgYXV0b01hcmdpbj86IGJvb2xlYW4gPSB0cnVlXG5cbiAgLyoqIEFsdGVybmF0aXZlIHRleHQgZGVzY3JpcHRpb24gb2YgdGhlIGNoYXJ0IGZvciBhY2Nlc3NpYmlsaXR5IHB1cnBvc2VzLiBJdCB3aWxsIGJlIGFwcGxpZWQgYXMgYW5cbiAgICogYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZSB0byB0aGUgZGl2IGVsZW1lbnQgY29udGFpbmluZyB5b3VyIGNoYXJ0LiBEZWZhdWx0OiBgdW5kZWZpbmVkYC5cbiAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZFxuXG4gIC8qKiBEYXRhIHRvIGJlIHBhc3NlZCB0byBhbGwgY2hpbGQgY29tcG9uZW50cy4gQnV0IGlmIGBkYXRhYCBpcyBgdW5kZWZpbmVkYCBpdCdsbCB0byBiZSBwYXNzZWQgYWxsb3dpbmcgY29tcG9uZW50cyB0b1xuICAgKiBoYXZlIHRoZWlyIGluZGl2aWR1YWwgZGF0YS4gRGVmYXVsdDogYHVuZGVmaW5lZGAgKi9cbiAgQElucHV0KCkgZGF0YT86IERhdHVtW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcblxuICBjaGFydDogWFlDb250YWluZXI8RGF0dW0+XG5cbiAgbmdBZnRlclZpZXdJbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYXJ0ID0gbmV3IFhZQ29udGFpbmVyPERhdHVtPih0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmdldENvbmZpZygpLCB0aGlzLmRhdGEpXG4gICAgdGhpcy5wYXNzQ29udGFpbmVyUmVmZXJlbmNlVG9DaGlsZHJlbigpXG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQgKCk6IHZvaWQge1xuICAgIC8vIFF1ZXJ5TGlzdCBkb2VzIHVuc3Vic2NyaWJlIGF1dG9tYXRpY2FsbHkgd2hlbiBpdCBnZXRzIGRlc3Ryb3llZFxuICAgIHRoaXMudmlzQ29tcG9uZW50cy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnBhc3NDb250YWluZXJSZWZlcmVuY2VUb0NoaWxkcmVuKClcbiAgICAgIHRoaXMuY2hhcnQ/LnVwZGF0ZUNvbnRhaW5lcih0aGlzLmdldENvbmZpZygpKVxuICAgIH0pXG4gIH1cblxuICBuZ09uQ2hhbmdlcyAoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZlbnRSZW5kZXIgPSB0cnVlXG5cbiAgICAvLyBTZXQgbmV3IERhdGEgd2l0aG91dCByZS1yZW5kZXJcbiAgICBpZiAoY2hhbmdlcy5kYXRhKSB7XG4gICAgICB0aGlzLmNoYXJ0Py5zZXREYXRhKHRoaXMuZGF0YSwgcHJldmVudFJlbmRlcilcbiAgICAgIGRlbGV0ZSBjaGFuZ2VzLmRhdGFcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgQ29udGFpbmVyIGFuZCByZW5kZXJcbiAgICB0aGlzLmNoYXJ0Py51cGRhdGVDb250YWluZXIodGhpcy5nZXRDb25maWcoKSlcbiAgfVxuXG4gIGdldENvbmZpZyAoKTogWFlDb250YWluZXJDb25maWdJbnRlcmZhY2U8RGF0dW0+IHtcbiAgICBjb25zdCB7XG4gICAgICBkdXJhdGlvbiwgbWFyZ2luLCBwYWRkaW5nLCBzY2FsZUJ5RG9tYWluLCBhdXRvTWFyZ2luLCB3aWR0aCwgaGVpZ2h0LFxuICAgICAgeFNjYWxlLCB4RG9tYWluLCB4RG9tYWluTWluQ29uc3RyYWludCwgeERvbWFpbk1heENvbnN0cmFpbnQsIHhSYW5nZSxcbiAgICAgIHlTY2FsZSwgeURvbWFpbiwgeURvbWFpbk1pbkNvbnN0cmFpbnQsIHlEb21haW5NYXhDb25zdHJhaW50LCB5UmFuZ2UsXG4gICAgICB5RGlyZWN0aW9uLCBhcmlhTGFiZWwsXG4gICAgfSA9IHRoaXNcbiAgICBjb25zdCB2aXNDb21wb25lbnRzID0gdGhpcy52aXNDb21wb25lbnRzLnRvQXJyYXkoKS5tYXAoZCA9PiBkLmNvbXBvbmVudClcblxuICAgIGNvbnN0IGNyb3NzaGFpciA9IHZpc0NvbXBvbmVudHMuZmluZChjID0+IGMgaW5zdGFuY2VvZiBDcm9zc2hhaXIpIGFzIENyb3NzaGFpcjxEYXR1bT5cbiAgICBjb25zdCB0b29sdGlwID0gdGhpcy50b29sdGlwQ29tcG9uZW50Py5jb21wb25lbnQgYXMgVG9vbHRpcFxuICAgIGNvbnN0IHhBeGlzID0gdmlzQ29tcG9uZW50cy5maW5kKGMgPT4gYyBpbnN0YW5jZW9mIEF4aXMgJiYgYz8uY29uZmlnPy50eXBlID09PSAneCcpIGFzIEF4aXM8RGF0dW0+XG4gICAgY29uc3QgeUF4aXMgPSB2aXNDb21wb25lbnRzLmZpbmQoYyA9PiBjIGluc3RhbmNlb2YgQXhpcyAmJiBjPy5jb25maWc/LnR5cGUgPT09ICd5JykgYXMgQXhpczxEYXR1bT5cbiAgICBjb25zdCBhbm5vdGF0aW9ucyA9IHRoaXMuYW5ub3RhdGlvbnNDb21wb25lbnQ/LmNvbXBvbmVudCBhcyBBbm5vdGF0aW9uc1xuXG4gICAgY29uc3QgY29tcG9uZW50cyA9IHZpc0NvbXBvbmVudHMuZmlsdGVyKGMgPT4gIShjIGluc3RhbmNlb2YgQ3Jvc3NoYWlyKSAmJiAhKGMgaW5zdGFuY2VvZiBUb29sdGlwKSAmJiAhKGMgaW5zdGFuY2VvZiBBeGlzKSlcblxuICAgIHJldHVybiB7XG4gICAgICBjb21wb25lbnRzLFxuICAgICAgd2lkdGgsXG4gICAgICBoZWlnaHQsXG4gICAgICBkdXJhdGlvbixcbiAgICAgIG1hcmdpbixcbiAgICAgIHBhZGRpbmcsXG4gICAgICB4QXhpcyxcbiAgICAgIHlBeGlzLFxuICAgICAgdG9vbHRpcCxcbiAgICAgIGNyb3NzaGFpcixcbiAgICAgIGFubm90YXRpb25zLFxuICAgICAgc2NhbGVCeURvbWFpbixcbiAgICAgIGF1dG9NYXJnaW4sXG4gICAgICB4U2NhbGUsXG4gICAgICB4RG9tYWluLFxuICAgICAgeERvbWFpbk1pbkNvbnN0cmFpbnQsXG4gICAgICB4RG9tYWluTWF4Q29uc3RyYWludCxcbiAgICAgIHhSYW5nZSxcbiAgICAgIHlTY2FsZSxcbiAgICAgIHlEb21haW4sXG4gICAgICB5RG9tYWluTWluQ29uc3RyYWludCxcbiAgICAgIHlEb21haW5NYXhDb25zdHJhaW50LFxuICAgICAgeVJhbmdlLFxuICAgICAgeURpcmVjdGlvbixcbiAgICAgIGFyaWFMYWJlbCxcbiAgICB9XG4gIH1cblxuICBwYXNzQ29udGFpbmVyUmVmZXJlbmNlVG9DaGlsZHJlbiAoKTogdm9pZCB7XG4gICAgLy8gV2Ugc2V0IHRoZSBjb250YWluZXIgZm9yIGVhY2ggdmlzIGNvbXBvbmVudCB0byB0cmlnZ2VyIGNoYXJ0IHJlLXJlbmRlciBpZiB0aGUgZGF0YSBoYXMgY2hhbmdlZFxuICAgIGlmICh0aGlzLmNoYXJ0KSB0aGlzLnZpc0NvbXBvbmVudHMudG9BcnJheSgpLmZvckVhY2goYyA9PiB7IGMuY29tcG9uZW50Q29udGFpbmVyID0gdGhpcy5jaGFydCB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3kgKCk6IHZvaWQge1xuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKVxuICB9XG59XG4iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Component, Input, ViewChild, ContentChildren, ContentChild, NgModule } from '@angular/core';
|
|
3
|
-
import { Tooltip, Direction, XYContainer, Crosshair, Axis, SingleContainer, Area, Brush, ChordDiagram, Donut, FreeBrush, Graph, GroupedBar, Line, NestedDonut, Sankey, Scatter, StackedBar, Timeline, XYLabels, TopoJSONMap, LeafletMap, LeafletFlowMap, BulletLegend } from '@unovis/ts';
|
|
3
|
+
import { Tooltip, Annotations, Direction, XYContainer, Crosshair, Axis, SingleContainer, Area, Brush, ChordDiagram, Donut, FreeBrush, Graph, GroupedBar, Line, NestedDonut, Sankey, Scatter, StackedBar, Timeline, XYLabels, TopoJSONMap, LeafletMap, LeafletFlowMap, BulletLegend } from '@unovis/ts';
|
|
4
4
|
|
|
5
5
|
class VisGenericComponent {
|
|
6
6
|
}
|
|
@@ -58,6 +58,39 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
58
58
|
type: Input
|
|
59
59
|
}] } });
|
|
60
60
|
|
|
61
|
+
// !!! This code was automatically generated. You should not change it !!!
|
|
62
|
+
class VisAnnotationsComponent {
|
|
63
|
+
ngAfterViewInit() {
|
|
64
|
+
this.component = new Annotations(this.getConfig());
|
|
65
|
+
}
|
|
66
|
+
ngOnChanges(changes) {
|
|
67
|
+
var _a, _b;
|
|
68
|
+
(_a = this.component) === null || _a === void 0 ? void 0 : _a.setConfig(this.getConfig());
|
|
69
|
+
(_b = this.componentContainer) === null || _b === void 0 ? void 0 : _b.render();
|
|
70
|
+
}
|
|
71
|
+
getConfig() {
|
|
72
|
+
const { items } = this;
|
|
73
|
+
const config = { items };
|
|
74
|
+
const keys = Object.keys(config);
|
|
75
|
+
keys.forEach(key => { if (config[key] === undefined)
|
|
76
|
+
delete config[key]; });
|
|
77
|
+
return config;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
VisAnnotationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
+
VisAnnotationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisAnnotationsComponent, selector: "vis-annotations", inputs: { items: "items" }, providers: [{ provide: VisGenericComponent, useExisting: VisAnnotationsComponent }], usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisAnnotationsComponent, decorators: [{
|
|
83
|
+
type: Component,
|
|
84
|
+
args: [{
|
|
85
|
+
selector: 'vis-annotations',
|
|
86
|
+
template: '',
|
|
87
|
+
// eslint-disable-next-line no-use-before-define
|
|
88
|
+
providers: [{ provide: VisGenericComponent, useExisting: VisAnnotationsComponent }],
|
|
89
|
+
}]
|
|
90
|
+
}], propDecorators: { items: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}] } });
|
|
93
|
+
|
|
61
94
|
class VisXYContainerComponent {
|
|
62
95
|
constructor() {
|
|
63
96
|
/** Constraint the minimum value of the Y scale domain.
|
|
@@ -112,13 +145,14 @@ class VisXYContainerComponent {
|
|
|
112
145
|
(_b = this.chart) === null || _b === void 0 ? void 0 : _b.updateContainer(this.getConfig());
|
|
113
146
|
}
|
|
114
147
|
getConfig() {
|
|
115
|
-
var _a;
|
|
148
|
+
var _a, _b;
|
|
116
149
|
const { duration, margin, padding, scaleByDomain, autoMargin, width, height, xScale, xDomain, xDomainMinConstraint, xDomainMaxConstraint, xRange, yScale, yDomain, yDomainMinConstraint, yDomainMaxConstraint, yRange, yDirection, ariaLabel, } = this;
|
|
117
150
|
const visComponents = this.visComponents.toArray().map(d => d.component);
|
|
118
151
|
const crosshair = visComponents.find(c => c instanceof Crosshair);
|
|
119
152
|
const tooltip = (_a = this.tooltipComponent) === null || _a === void 0 ? void 0 : _a.component;
|
|
120
153
|
const xAxis = visComponents.find(c => { var _a; return c instanceof Axis && ((_a = c === null || c === void 0 ? void 0 : c.config) === null || _a === void 0 ? void 0 : _a.type) === 'x'; });
|
|
121
154
|
const yAxis = visComponents.find(c => { var _a; return c instanceof Axis && ((_a = c === null || c === void 0 ? void 0 : c.config) === null || _a === void 0 ? void 0 : _a.type) === 'y'; });
|
|
155
|
+
const annotations = (_b = this.annotationsComponent) === null || _b === void 0 ? void 0 : _b.component;
|
|
122
156
|
const components = visComponents.filter(c => !(c instanceof Crosshair) && !(c instanceof Tooltip) && !(c instanceof Axis));
|
|
123
157
|
return {
|
|
124
158
|
components,
|
|
@@ -131,6 +165,7 @@ class VisXYContainerComponent {
|
|
|
131
165
|
yAxis,
|
|
132
166
|
tooltip,
|
|
133
167
|
crosshair,
|
|
168
|
+
annotations,
|
|
134
169
|
scaleByDomain,
|
|
135
170
|
autoMargin,
|
|
136
171
|
xScale,
|
|
@@ -158,7 +193,7 @@ class VisXYContainerComponent {
|
|
|
158
193
|
}
|
|
159
194
|
}
|
|
160
195
|
VisXYContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisXYContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
161
|
-
VisXYContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisXYContainerComponent, selector: "vis-xy-container", inputs: { width: "width", height: "height", xScale: "xScale", xDomain: "xDomain", xDomainMinConstraint: "xDomainMinConstraint", xDomainMaxConstraint: "xDomainMaxConstraint", xRange: "xRange", yScale: "yScale", yDomain: "yDomain", yDomainMinConstraint: "yDomainMinConstraint", yDomainMaxConstraint: "yDomainMaxConstraint", yRange: "yRange", yDirection: "yDirection", preventEmptyDomain: "preventEmptyDomain", duration: "duration", margin: "margin", padding: "padding", scaleByDomain: "scaleByDomain", autoMargin: "autoMargin", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "visComponents", predicate: VisXYComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-xy-container">
|
|
196
|
+
VisXYContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisXYContainerComponent, selector: "vis-xy-container", inputs: { width: "width", height: "height", xScale: "xScale", xDomain: "xDomain", xDomainMinConstraint: "xDomainMinConstraint", xDomainMaxConstraint: "xDomainMaxConstraint", xRange: "xRange", yScale: "yScale", yDomain: "yDomain", yDomainMinConstraint: "yDomainMinConstraint", yDomainMaxConstraint: "yDomainMaxConstraint", yRange: "yRange", yDirection: "yDirection", preventEmptyDomain: "preventEmptyDomain", duration: "duration", margin: "margin", padding: "padding", scaleByDomain: "scaleByDomain", autoMargin: "autoMargin", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "annotationsComponent", first: true, predicate: VisAnnotationsComponent, descendants: true }, { propertyName: "visComponents", predicate: VisXYComponent }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-xy-container">
|
|
162
197
|
<ng-content></ng-content>
|
|
163
198
|
</div>`, isInline: true, styles: [".unovis-xy-container { width: 100%; height: 100%; position: relative; }"] });
|
|
164
199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisXYContainerComponent, decorators: [{
|
|
@@ -179,6 +214,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
179
214
|
}], tooltipComponent: [{
|
|
180
215
|
type: ContentChild,
|
|
181
216
|
args: [VisTooltipComponent]
|
|
217
|
+
}], annotationsComponent: [{
|
|
218
|
+
type: ContentChild,
|
|
219
|
+
args: [VisAnnotationsComponent]
|
|
182
220
|
}], width: [{
|
|
183
221
|
type: Input
|
|
184
222
|
}], height: [{
|
|
@@ -258,18 +296,19 @@ class VisSingleContainerComponent {
|
|
|
258
296
|
(_b = this.chart) === null || _b === void 0 ? void 0 : _b.updateContainer(this.getConfig());
|
|
259
297
|
}
|
|
260
298
|
getConfig() {
|
|
261
|
-
var _a, _b;
|
|
299
|
+
var _a, _b, _c;
|
|
262
300
|
const { width, height, duration, margin, ariaLabel } = this;
|
|
263
301
|
const component = (_a = this.visComponent) === null || _a === void 0 ? void 0 : _a.component;
|
|
264
302
|
const tooltip = (_b = this.tooltipComponent) === null || _b === void 0 ? void 0 : _b.component;
|
|
265
|
-
|
|
303
|
+
const annotations = (_c = this.annotationsComponent) === null || _c === void 0 ? void 0 : _c.component;
|
|
304
|
+
return { width, height, duration, margin, component, tooltip, ariaLabel, annotations };
|
|
266
305
|
}
|
|
267
306
|
ngOnDestroy() {
|
|
268
307
|
this.chart.destroy();
|
|
269
308
|
}
|
|
270
309
|
}
|
|
271
310
|
VisSingleContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSingleContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
272
|
-
VisSingleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSingleContainerComponent, selector: "vis-single-container", inputs: { width: "width", height: "height", margin: "margin", duration: "duration", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "visComponent", first: true, predicate: VisCoreComponent, descendants: true }, { propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-single-container">
|
|
311
|
+
VisSingleContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VisSingleContainerComponent, selector: "vis-single-container", inputs: { width: "width", height: "height", margin: "margin", duration: "duration", ariaLabel: "ariaLabel", data: "data" }, queries: [{ propertyName: "visComponent", first: true, predicate: VisCoreComponent, descendants: true }, { propertyName: "tooltipComponent", first: true, predicate: VisTooltipComponent, descendants: true }, { propertyName: "annotationsComponent", first: true, predicate: VisAnnotationsComponent, descendants: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: `<div #container class="unovis-single-container">
|
|
273
312
|
<ng-content></ng-content>
|
|
274
313
|
</div>`, isInline: true, styles: [".unovis-single-container { width: 100%; height: 100%; position: relative; }"] });
|
|
275
314
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VisSingleContainerComponent, decorators: [{
|
|
@@ -290,6 +329,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
290
329
|
}], tooltipComponent: [{
|
|
291
330
|
type: ContentChild,
|
|
292
331
|
args: [VisTooltipComponent]
|
|
332
|
+
}], annotationsComponent: [{
|
|
333
|
+
type: ContentChild,
|
|
334
|
+
args: [VisAnnotationsComponent]
|
|
293
335
|
}], width: [{
|
|
294
336
|
type: Input
|
|
295
337
|
}], height: [{
|