@sarasanalytics-com/design-system 0.0.13 → 0.0.15
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/esm2022/lib/button/button.component.mjs +9 -4
- package/esm2022/lib/form-input/form-input.component.mjs +31 -16
- package/esm2022/lib/form-select/form-select.component.mjs +22 -4
- package/esm2022/lib/grid-cell/grid-cell.component.mjs +2 -2
- package/esm2022/lib/header/header.component.mjs +2 -2
- package/esm2022/lib/left-nav/left-nav.component.mjs +4 -4
- package/esm2022/lib/toast/toast.component.mjs +4 -4
- package/esm2022/lib/tool-tip/tool-tip.component.mjs +2 -2
- package/fesm2022/sarasanalytics-com-design-system.mjs +69 -31
- package/fesm2022/sarasanalytics-com-design-system.mjs.map +1 -1
- package/lib/button/button.component.d.ts +4 -2
- package/lib/form-input/form-input.component.d.ts +3 -1
- package/lib/form-select/form-select.component.d.ts +2 -1
- package/lib/left-nav/left-nav.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ export class ButtonComponent {
|
|
|
15
15
|
this.eventEmitObject = {};
|
|
16
16
|
this.uuid = nextId++;
|
|
17
17
|
}
|
|
18
|
-
ngOnChanges() {
|
|
18
|
+
ngOnChanges(changes) {
|
|
19
19
|
this.svgStyle = {
|
|
20
20
|
'-webkit-mask-image': `url(${this.ImagePath})`,
|
|
21
21
|
'mask-image': `url(${this.ImagePath})`,
|
|
@@ -23,6 +23,9 @@ export class ButtonComponent {
|
|
|
23
23
|
this.eventEmitObject = {
|
|
24
24
|
id: this.id
|
|
25
25
|
};
|
|
26
|
+
if (changes && changes['width'] && changes['width'].currentValue) {
|
|
27
|
+
console.log(this.width);
|
|
28
|
+
}
|
|
26
29
|
}
|
|
27
30
|
buttonClicked(evt) {
|
|
28
31
|
if (this.state == "disabled")
|
|
@@ -49,11 +52,11 @@ export class ButtonComponent {
|
|
|
49
52
|
this.onMouseOutEvent.emit();
|
|
50
53
|
}
|
|
51
54
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ButtonComponent, isStandalone: true, selector: "sa-button", inputs: { id: "id", type: "type", state: "state", size: "size", text: "text", ImagePath: "ImagePath", iconPosition: "iconPosition", href: "href", hrefTarget: "hrefTarget", isSubmit: "isSubmit" }, outputs: { onClickEvent: "onClickEvent", onMouseInEvent: "onMouseInEvent", onMouseOutEvent: "onMouseOutEvent" }, usesOnChanges: true, ngImport: i0, template: "<button (click)=\"buttonClicked($event)\" id=\"sa-button-{{uuid}}\" class=\"btn-hide\"\n [type]=\"isSubmit ? 'submit' : 'button'\"></button>\n<!-- (click)=\"buttonClicked()\" on button instead of label breaks whole thing -->\n<label for=\"sa-button-{{uuid}}\" role=\"button\" tabindex=\"0\" (mouseenter)=\"mouseIn()\"
|
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: ButtonComponent, isStandalone: true, selector: "sa-button", inputs: { id: "id", type: "type", state: "state", size: "size", text: "text", ImagePath: "ImagePath", iconPosition: "iconPosition", href: "href", hrefTarget: "hrefTarget", width: "width", isSubmit: "isSubmit" }, outputs: { onClickEvent: "onClickEvent", onMouseInEvent: "onMouseInEvent", onMouseOutEvent: "onMouseOutEvent" }, usesOnChanges: true, ngImport: i0, template: "<button (click)=\"buttonClicked($event)\" id=\"sa-button-{{uuid}}\" class=\"btn-hide\"\n [type]=\"isSubmit ? 'submit' : 'button'\"></button>\n<!-- (click)=\"buttonClicked()\" on button instead of label breaks whole thing -->\n<label for=\"sa-button-{{uuid}}\" [ngStyle]=\"{'width':width}\" role=\"button\" tabindex=\"0\" (mouseenter)=\"mouseIn()\"\n (mouseleave)=\"mouseOut()\" (keydown.enter)=\"buttonClicked($event)\" for=\"sa-button\"\n class=\"sa-button {{state}} {{type}} {{size}}\">\n <div class=\"svg-icon\" [style]=\"svgStyle\"\n [style.display]=\"(iconPosition == 'left' || iconPosition == 'both') ? 'block' : 'none'\"></div>\n {{text}}\n <div class=\"svg-icon\" [style]=\"svgStyle\"\n [style.display]=\"(iconPosition == 'right' || iconPosition == 'both') ? 'block' : 'none'\"></div>\n</label>", styles: [".primary{--default-bg: var(--primary-500);--default-color: var(--text-white);--default-border: transparent;--hover-bg: var(--primary-700);--hover-color: var(--text-white);--hover-border: transparent;--disabled-bg: var(--grey-100);--disabled-color: var(--text-white);--disabled-border: transparent;--error-default-bg: var(--semantic-error-500);--error-hover-bg: var(--semantic-error-600);--error-default-color: var(--text-white);--error-hover-color: var(--text-white);--error-default-border: var(--semantic-error-500);--error-hover-border: var(--semantic-error-500);--svg-icon-color: var(--default-color)}.outline{--default-bg: none;--default-color: var(--primary-500);--default-border: var(--primary-500);--hover-bg: var(--primary-50);--hover-color: var(--primary-700);--hover-border: var(--primary-700);--disabled-bg: none;--disabled-color: var(--grey-100);--disabled-border: var(--grey-100);--error-default-bg: none;--error-hover-bg: var(--semantic-error-50);--error-default-color: var(--semantic-error-500);--error-hover-color: var(--semantic-error-600);--error-default-border: var(--semantic-error-500);--error-hover-border: var(--semantic-error-600);--svg-icon-color: var(--default-color)}.transparent{--default-bg: none;--default-color: var(--primary-500);--default-border: transparent;--hover-bg: var(--primary-50);--hover-color: var(--primary-700);--hover-border: transparent;--disabled-bg: none;--disabled-color: var(--grey-100);--disabled-border: transparent;--error-default-bg: none;--error-hover-bg: var(--semantic-error-50);--error-default-color: var(--semantic-error-500);--error-hover-color: var(--semantic-error-600);--error-default-border: transparent;--error-hover-border: transparent;--svg-icon-color: var(--default-color)}.large{--sizing-1: var(--small-8px);--sizing-2: var(--small-16px);--sizing-3: var(--small-8px);--height: var(--medium-36px);--font-size: var(--small-14px)}.medium{--sizing-1: var(--small-6px);--sizing-2: var(--small-12px);--sizing-3: var(--small-8px);--height: var(--medium-32px);--font-size: var(--small-14px)}.small{--sizing-1: var(--small-4px);--sizing-2: var(--small-8px);--sizing-3: var(--small-8px);--height: var(--medium-24px);--font-size: var(--small-12px)}.disabled{background-color:var(--disabled-bg)!important;color:var(--disabled-color)!important;border:1px solid var(--disabled-border)!important;cursor:default!important;--svg-icon-color: var(--disabled-color) !important}.error{background-color:var(--error-default-bg)!important;color:var(--error-default-color)!important;border:1px solid var(--error-default-border)!important;--svg-icon-color: var(--error-default-color) !important}.error:hover{background-color:var(--error-hover-bg)!important;color:var(--error-hover-color)!important;--svg-icon-color: var(--error-hover-color) !important}.sa-button{display:flex;width:max-content;padding:var(--sizing-1) var(--sizing-2);justify-content:center;align-items:center;gap:var(--sizing-3);box-sizing:border-box;height:var(--height);border-radius:4px;font-family:var(--font);font-size:var(--font-size);cursor:pointer;background-color:var(--default-bg);border:1px solid var(--default-border);color:var(--default-color);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.sa-button:hover{background-color:var(--hover-bg);border:1px solid var(--hover-border);color:var(--hover-color);--svg-icon-color: var(--hover-color)}.svg-icon{-webkit-mask-size:contain;mask-size:contain;width:16px;height:16px;background-color:var(--svg-icon-color)}.btn-hide{display:none}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
53
56
|
}
|
|
54
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
55
58
|
type: Component,
|
|
56
|
-
args: [{ selector: 'sa-button', standalone: true, imports: [NgIf, NgStyle], template: "<button (click)=\"buttonClicked($event)\" id=\"sa-button-{{uuid}}\" class=\"btn-hide\"\n [type]=\"isSubmit ? 'submit' : 'button'\"></button>\n<!-- (click)=\"buttonClicked()\" on button instead of label breaks whole thing -->\n<label for=\"sa-button-{{uuid}}\" role=\"button\" tabindex=\"0\" (mouseenter)=\"mouseIn()\"
|
|
59
|
+
args: [{ selector: 'sa-button', standalone: true, imports: [NgIf, NgStyle], template: "<button (click)=\"buttonClicked($event)\" id=\"sa-button-{{uuid}}\" class=\"btn-hide\"\n [type]=\"isSubmit ? 'submit' : 'button'\"></button>\n<!-- (click)=\"buttonClicked()\" on button instead of label breaks whole thing -->\n<label for=\"sa-button-{{uuid}}\" [ngStyle]=\"{'width':width}\" role=\"button\" tabindex=\"0\" (mouseenter)=\"mouseIn()\"\n (mouseleave)=\"mouseOut()\" (keydown.enter)=\"buttonClicked($event)\" for=\"sa-button\"\n class=\"sa-button {{state}} {{type}} {{size}}\">\n <div class=\"svg-icon\" [style]=\"svgStyle\"\n [style.display]=\"(iconPosition == 'left' || iconPosition == 'both') ? 'block' : 'none'\"></div>\n {{text}}\n <div class=\"svg-icon\" [style]=\"svgStyle\"\n [style.display]=\"(iconPosition == 'right' || iconPosition == 'both') ? 'block' : 'none'\"></div>\n</label>", styles: [".primary{--default-bg: var(--primary-500);--default-color: var(--text-white);--default-border: transparent;--hover-bg: var(--primary-700);--hover-color: var(--text-white);--hover-border: transparent;--disabled-bg: var(--grey-100);--disabled-color: var(--text-white);--disabled-border: transparent;--error-default-bg: var(--semantic-error-500);--error-hover-bg: var(--semantic-error-600);--error-default-color: var(--text-white);--error-hover-color: var(--text-white);--error-default-border: var(--semantic-error-500);--error-hover-border: var(--semantic-error-500);--svg-icon-color: var(--default-color)}.outline{--default-bg: none;--default-color: var(--primary-500);--default-border: var(--primary-500);--hover-bg: var(--primary-50);--hover-color: var(--primary-700);--hover-border: var(--primary-700);--disabled-bg: none;--disabled-color: var(--grey-100);--disabled-border: var(--grey-100);--error-default-bg: none;--error-hover-bg: var(--semantic-error-50);--error-default-color: var(--semantic-error-500);--error-hover-color: var(--semantic-error-600);--error-default-border: var(--semantic-error-500);--error-hover-border: var(--semantic-error-600);--svg-icon-color: var(--default-color)}.transparent{--default-bg: none;--default-color: var(--primary-500);--default-border: transparent;--hover-bg: var(--primary-50);--hover-color: var(--primary-700);--hover-border: transparent;--disabled-bg: none;--disabled-color: var(--grey-100);--disabled-border: transparent;--error-default-bg: none;--error-hover-bg: var(--semantic-error-50);--error-default-color: var(--semantic-error-500);--error-hover-color: var(--semantic-error-600);--error-default-border: transparent;--error-hover-border: transparent;--svg-icon-color: var(--default-color)}.large{--sizing-1: var(--small-8px);--sizing-2: var(--small-16px);--sizing-3: var(--small-8px);--height: var(--medium-36px);--font-size: var(--small-14px)}.medium{--sizing-1: var(--small-6px);--sizing-2: var(--small-12px);--sizing-3: var(--small-8px);--height: var(--medium-32px);--font-size: var(--small-14px)}.small{--sizing-1: var(--small-4px);--sizing-2: var(--small-8px);--sizing-3: var(--small-8px);--height: var(--medium-24px);--font-size: var(--small-12px)}.disabled{background-color:var(--disabled-bg)!important;color:var(--disabled-color)!important;border:1px solid var(--disabled-border)!important;cursor:default!important;--svg-icon-color: var(--disabled-color) !important}.error{background-color:var(--error-default-bg)!important;color:var(--error-default-color)!important;border:1px solid var(--error-default-border)!important;--svg-icon-color: var(--error-default-color) !important}.error:hover{background-color:var(--error-hover-bg)!important;color:var(--error-hover-color)!important;--svg-icon-color: var(--error-hover-color) !important}.sa-button{display:flex;width:max-content;padding:var(--sizing-1) var(--sizing-2);justify-content:center;align-items:center;gap:var(--sizing-3);box-sizing:border-box;height:var(--height);border-radius:4px;font-family:var(--font);font-size:var(--font-size);cursor:pointer;background-color:var(--default-bg);border:1px solid var(--default-border);color:var(--default-color);-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.sa-button:hover{background-color:var(--hover-bg);border:1px solid var(--hover-border);color:var(--hover-color);--svg-icon-color: var(--hover-color)}.svg-icon{-webkit-mask-size:contain;mask-size:contain;width:16px;height:16px;background-color:var(--svg-icon-color)}.btn-hide{display:none}\n"] }]
|
|
57
60
|
}], propDecorators: { id: [{
|
|
58
61
|
type: Input
|
|
59
62
|
}], type: [{
|
|
@@ -72,6 +75,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
72
75
|
type: Input
|
|
73
76
|
}], hrefTarget: [{
|
|
74
77
|
type: Input
|
|
78
|
+
}], width: [{
|
|
79
|
+
type: Input
|
|
75
80
|
}], isSubmit: [{
|
|
76
81
|
type: Input
|
|
77
82
|
}], onClickEvent: [{
|
|
@@ -81,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
81
86
|
}], onMouseOutEvent: [{
|
|
82
87
|
type: Output
|
|
83
88
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUUxQyxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBSSxpREFBaUQ7QUFVcEUsTUFBTSxPQUFPLGVBQWU7SUFSNUI7UUFtQlcsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUV6QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvQyxhQUFRLEdBQUcsRUFBRSxDQUFBO1FBQ2Isb0JBQWUsR0FBRyxFQUFFLENBQUE7UUFDcEIsU0FBSSxHQUFXLE1BQU0sRUFBRSxDQUFDO0tBb0N6QjtJQWxDQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLG9CQUFvQixFQUFFLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRztZQUM5QyxZQUFZLEVBQUUsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHO1NBQ3ZDLENBQUE7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHO1lBQ3JCLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtTQUNaLENBQUE7UUFDRCxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQVU7UUFDdEIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLFVBQVU7WUFBRSxPQUFPO1FBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ3JCLEdBQUcsSUFBSSxDQUFDLGVBQWU7WUFDdkIsR0FBRztTQUNKLENBQUMsQ0FBQztRQUNILElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNwQixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTztnQkFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDbEQsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLE1BQU07Z0JBQUUsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxVQUFVO1lBQUUsT0FBTztRQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLFVBQVU7WUFBRSxPQUFPO1FBQ3JDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQzs4R0F0RFUsZUFBZTtrR0FBZixlQUFlLCtaQ2hCNUIsZ3pCQVdRLHdpSERBVSxPQUFPOzsyRkFLWixlQUFlO2tCQVIzQixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDOzhCQU1mLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmxldCBuZXh0SWQgPSAwOyAgICAvLyB1c2VkIHRvIGdpdmUgdW5pcXVlIGlkcyB0byBpbnB1dHMgdXNlZCBpbiBodG1sXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhLWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtOZ0lmLCBOZ1N0eWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9idXR0b24uY29tcG9uZW50LmNzcydcbn0pXG5cbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKSBpZDogc3RyaW5nIHwgbnVtYmVyO1xuICBASW5wdXQoKSB0eXBlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0YXRlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nIHwgbnVtYmVyO1xuICBASW5wdXQoKSBJbWFnZVBhdGg6IHN0cmluZztcbiAgQElucHV0KCkgaWNvblBvc2l0aW9uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGhyZWY6IHN0cmluZztcbiAgQElucHV0KCkgaHJlZlRhcmdldDogc3RyaW5nO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nO1xuICBASW5wdXQoKSBpc1N1Ym1pdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBvbkNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbk1vdXNlSW5FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uTW91c2VPdXRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBzdmdTdHlsZSA9IHt9XG4gIGV2ZW50RW1pdE9iamVjdCA9IHt9XG4gIHV1aWQ6IG51bWJlciA9IG5leHRJZCsrO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnN2Z1N0eWxlID0ge1xuICAgICAgJy13ZWJraXQtbWFzay1pbWFnZSc6IGB1cmwoJHt0aGlzLkltYWdlUGF0aH0pYCxcbiAgICAgICdtYXNrLWltYWdlJzogYHVybCgke3RoaXMuSW1hZ2VQYXRofSlgLFxuICAgIH1cbiAgICB0aGlzLmV2ZW50RW1pdE9iamVjdCA9IHtcbiAgICAgIGlkOiB0aGlzLmlkXG4gICAgfVxuICAgIGlmIChjaGFuZ2VzICYmIGNoYW5nZXNbJ3dpZHRoJ10gJiYgY2hhbmdlc1snd2lkdGgnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMud2lkdGgpXG4gICAgfVxuICB9XG5cbiAgYnV0dG9uQ2xpY2tlZChldnQ6IEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT0gXCJkaXNhYmxlZFwiKSByZXR1cm47XG4gICAgdGhpcy5vbkNsaWNrRXZlbnQuZW1pdCh7XG4gICAgICAuLi50aGlzLmV2ZW50RW1pdE9iamVjdCxcbiAgICAgIGV2dFxuICAgIH0pO1xuICAgIGlmICh0aGlzLmhyZWYgIT0gXCJcIikge1xuICAgICAgaWYgKHRoaXMuaHJlZlRhcmdldCA9PSBcImJsYW5rXCIpIHdpbmRvdy5vcGVuKHRoaXMuaHJlZik7XG4gICAgICBlbHNlIGlmICh0aGlzLmhyZWZUYXJnZXQgPT0gXCJzZWxmXCIpIGxvY2F0aW9uLmhyZWYgPSB0aGlzLmhyZWY7XG4gICAgfVxuICB9XG5cbiAgbW91c2VJbigpIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PSBcImRpc2FibGVkXCIpIHJldHVybjtcbiAgICB0aGlzLm9uTW91c2VJbkV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIG1vdXNlT3V0KCkge1xuICAgIGlmICh0aGlzLnN0YXRlID09IFwiZGlzYWJsZWRcIikgcmV0dXJuO1xuICAgIHRoaXMub25Nb3VzZU91dEV2ZW50LmVtaXQoKTtcbiAgfVxufVxuIiwiPGJ1dHRvbiAoY2xpY2spPVwiYnV0dG9uQ2xpY2tlZCgkZXZlbnQpXCIgaWQ9XCJzYS1idXR0b24te3t1dWlkfX1cIiBjbGFzcz1cImJ0bi1oaWRlXCJcbiAgW3R5cGVdPVwiaXNTdWJtaXQgPyAnc3VibWl0JyA6ICdidXR0b24nXCI+PC9idXR0b24+XG48IS0tIChjbGljayk9XCJidXR0b25DbGlja2VkKClcIiBvbiBidXR0b24gaW5zdGVhZCBvZiBsYWJlbCBicmVha3Mgd2hvbGUgdGhpbmcgLS0+XG48bGFiZWwgZm9yPVwic2EtYnV0dG9uLXt7dXVpZH19XCIgW25nU3R5bGVdPVwieyd3aWR0aCc6d2lkdGh9XCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIChtb3VzZWVudGVyKT1cIm1vdXNlSW4oKVwiXG4gIChtb3VzZWxlYXZlKT1cIm1vdXNlT3V0KClcIiAoa2V5ZG93bi5lbnRlcik9XCJidXR0b25DbGlja2VkKCRldmVudClcIiBmb3I9XCJzYS1idXR0b25cIlxuICBjbGFzcz1cInNhLWJ1dHRvbiB7e3N0YXRlfX0ge3t0eXBlfX0ge3tzaXplfX1cIj5cbiAgPGRpdiBjbGFzcz1cInN2Zy1pY29uXCIgW3N0eWxlXT1cInN2Z1N0eWxlXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCIoaWNvblBvc2l0aW9uID09ICdsZWZ0JyB8fCBpY29uUG9zaXRpb24gPT0gJ2JvdGgnKSA/ICdibG9jaycgOiAnbm9uZSdcIj48L2Rpdj5cbiAge3t0ZXh0fX1cbiAgPGRpdiBjbGFzcz1cInN2Zy1pY29uXCIgW3N0eWxlXT1cInN2Z1N0eWxlXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCIoaWNvblBvc2l0aW9uID09ICdyaWdodCcgfHwgaWNvblBvc2l0aW9uID09ICdib3RoJykgPyAnYmxvY2snIDogJ25vbmUnXCI+PC9kaXY+XG48L2xhYmVsPiJdfQ==
|
|
@@ -18,6 +18,8 @@ export class FormInputComponent extends FieldType {
|
|
|
18
18
|
// icon: IInputIcon | null;
|
|
19
19
|
this.type = '';
|
|
20
20
|
this.inputErrorText = 'invalid input';
|
|
21
|
+
this.showEmailIcon = false;
|
|
22
|
+
this.disabled = false;
|
|
21
23
|
this.suppressOnBlur = false;
|
|
22
24
|
this.predefinedValidators = {
|
|
23
25
|
email: [Validators.email, Validators.required],
|
|
@@ -27,6 +29,7 @@ export class FormInputComponent extends FieldType {
|
|
|
27
29
|
}
|
|
28
30
|
ngOnInit() {
|
|
29
31
|
this.inputVal = this.field.props['value'];
|
|
32
|
+
this.disabled = this.field.props.disabled || false;
|
|
30
33
|
this.formControl?.setValue(this.inputVal);
|
|
31
34
|
this.params = this.field.props['params'];
|
|
32
35
|
this.icon = this.field.props['icon'] || {};
|
|
@@ -35,6 +38,9 @@ export class FormInputComponent extends FieldType {
|
|
|
35
38
|
this.setValidators();
|
|
36
39
|
this.setDependents();
|
|
37
40
|
this.formControl.statusChanges.subscribe((state) => {
|
|
41
|
+
if (this.type === 'email') {
|
|
42
|
+
this.showEmailIcon = (state === 'VALID') || (state === 'INVALID' && this.formControl.hasError('invalid'));
|
|
43
|
+
}
|
|
38
44
|
});
|
|
39
45
|
this.formControl.valueChanges.subscribe((val) => {
|
|
40
46
|
this.formInput.nativeElement.value = val;
|
|
@@ -54,8 +60,17 @@ export class FormInputComponent extends FieldType {
|
|
|
54
60
|
if (this.params?.dependent) {
|
|
55
61
|
this.dependent = this.form.get([this.params?.dependent]);
|
|
56
62
|
this.dependent?.valueChanges.subscribe((val) => {
|
|
57
|
-
|
|
63
|
+
if (Array.isArray(val)) {
|
|
64
|
+
this.dependentVal = val.length ? val[0] : null;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
this.dependentVal = val;
|
|
68
|
+
}
|
|
58
69
|
this.formControl.reset();
|
|
70
|
+
this.formControl.setValue(this.inputVal);
|
|
71
|
+
if (this.type === 'tel') {
|
|
72
|
+
this.pretext = this.dependentVal?.dial_code;
|
|
73
|
+
}
|
|
59
74
|
});
|
|
60
75
|
}
|
|
61
76
|
}
|
|
@@ -87,13 +102,13 @@ export class FormInputComponent extends FieldType {
|
|
|
87
102
|
}
|
|
88
103
|
this.formControl?.setValue(this.inputVal);
|
|
89
104
|
this.checkValidity();
|
|
90
|
-
if (this.params?.eventListener) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
105
|
+
/*if (this.params?.eventListener) {
|
|
106
|
+
this.params?.eventListener({
|
|
107
|
+
type: IInputEventType.INPUT_CHANGE,
|
|
108
|
+
value: this.inputVal,
|
|
109
|
+
formControl: this.formControl
|
|
110
|
+
} as IInputEvent).then(this.onFieldCallback.bind(this));
|
|
111
|
+
}*/
|
|
97
112
|
}
|
|
98
113
|
onInputFieldClick(event = 'input') {
|
|
99
114
|
if (event === 'input' || event.target.classList.contains('sa-input-field')) {
|
|
@@ -118,20 +133,20 @@ export class FormInputComponent extends FieldType {
|
|
|
118
133
|
this.onInputFieldClick();
|
|
119
134
|
}
|
|
120
135
|
}
|
|
121
|
-
onFieldCallback(param) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
136
|
+
/*onFieldCallback(param: IInputParam) {
|
|
137
|
+
this.icon = param.icon || this.icon;
|
|
138
|
+
this.checkValidity();
|
|
139
|
+
}*/
|
|
125
140
|
getFormSupportText() {
|
|
126
141
|
if (this.formControl.invalid && this.formControl.touched) {
|
|
127
142
|
return getValidationMessage(this.formControl.errors) || 'invalid input';
|
|
128
143
|
}
|
|
129
144
|
else {
|
|
130
|
-
return this.params.
|
|
145
|
+
return this.params.supportText || '';
|
|
131
146
|
}
|
|
132
147
|
}
|
|
133
148
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: FormInputComponent, isStandalone: true, selector: "sa-input", inputs: { icon: "icon" }, viewQueries: [{ propertyName: "formInput", first: true, predicate: ["formInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sa-input\">\n @if(!!inputVal.length && !!params?.placeholder){\n <span class=\"sa-input-tag\">{{params?.placeholder}}</span>\n }\n <div class=\"sa-input-field\" [ngClass]=\"formControl.invalid && formControl.touched ? 'invalid' : 'idle' \"\n (click)=\"onInputFieldClick($event)\">\n <input matInput [type]=\"type\" value=\"\" [pattern]=\"type==='tel' ? '[0-9]' : '' \"\n [placeholder]=\"params?.placeholder || '' \"
|
|
149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.4", type: FormInputComponent, isStandalone: true, selector: "sa-input", inputs: { icon: "icon" }, viewQueries: [{ propertyName: "formInput", first: true, predicate: ["formInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"sa-input\" [ngClass]=\"disabled ? 'disabled' : '' \">\n @if(pretext || (!!inputVal.length && !!params?.placeholder)){\n <span class=\"sa-input-tag\">{{params?.placeholder}}</span>\n }\n <div class=\"sa-input-field\" [ngClass]=\"formControl.invalid && formControl.touched ? 'invalid' : 'idle' \"\n (click)=\"onInputFieldClick($event)\">\n @if(pretext){\n <div class=\"sa-input-pretext\">\n {{pretext}}\n </div>\n }\n <input matInput [type]=\"type\" value=\"\" [pattern]=\"type==='tel' ? '[0-9]' : '' \"\n [disabled]=\"field.props.disabled || false\" [placeholder]=\"!pretext && params?.placeholder || '' \"\n (focus)=\"onFocus()\" (blur)=\"onBlur()\" (input)=\"onInput($event)\" [(ngModel)]=\"inputVal\" #formInput />\n\n @if(params?.type === 'password'){\n <sa-icon class=\"flex\" icon=\"eye\" [size]=\"icon.size || '24'\" (click)=\"inputIconClick()\"\n [ngClass]=\"!icon.name || icon.name === 'eye' ? '' : 'hide'\"></sa-icon>\n <sa-icon class=\"flex\" icon=\"eye_filled\" [size]=\"icon.size || '24'\" (click)=\"inputIconClick()\"\n [ngClass]=\"icon.name === 'eye_filled' ? '' : 'hide'\"></sa-icon>\n }@else if(params?.type === 'email' && icon.show){\n <sa-icon class=\"flex\" [icon]=\"icon.name || 'checkmark'\" [size]=\"icon.size || '24'\" (click)=\"inputIconClick()\"\n [ngClass]=\"showEmailIcon ? '' : 'hide'\"></sa-icon>\n }\n @else if(icon.name){\n <sa-icon class=\"flex\" [icon]=\"icon.name\" [size]=\"icon.size || '24'\" [color]=\"icon.color || ''\"\n [ngClass]=\"icon.show ? '' : 'hide'\"></sa-icon>\n }\n\n\n <!-- <sa-icon [icon]=\"icon\" size=\"24\" (click)=\"inputIconClick()\"></sa-icon> -->\n </div>\n @if((!formControl.valid) || (params && params.supportText)){\n <div class=\"support-label\" [ngClass]=\"formControl.invalid && formControl.touched ? 'invalid' : 'idle'\">\n <!-- {{!formControl.valid ? inputErrorText : params.supportText}} -->\n {{getFormSupportText()}}\n </div>\n }\n</div>", styles: ["*{--error-red: #e25c61 }.idle{--border: 1px solid var(--grey-50)}.focus{--border: 1px solid var(--primary-300)}.disabled .sa-input-field,[disabled]{background-color:#efefef4d}.sa-input-field>input,.sa-input-field>input:focus-visible{--border: 1px solid var(--primary-300);border:none;outline:none}.sa-input-field:hover{--border: 1px solid var(--primary-300);--font-color: var(--text-highemphasis)}.sa-input-field>input:focus-visible~sa-icon,.sa-input-field:hover sa-icon{color:var(--primary-300)}.sa-input-field.invalid>input,.sa-input-field.invalid sa-icon,.sa-input-field.invalid .sa-input-pretext{color:#e25c61!important}.sa-input-field.invalid{--border: 1px solid #e25c61}.sa-input-field.invalid sa-icon{--form-email-icon-color: #e25c61}.sa-input-field.idle sa-icon{--form-email-icon-color: #33961F}.sa-input{position:relative;padding:8px 0}.sa-input-field{width:100%;box-sizing:border-box;position:relative;display:inline-flex;padding:0px var(--small-12px);height:40px;justify-content:center;align-items:center;border:var(--border);border-radius:var(--small-4px);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;--font-color: var(--text-lowemphasis)}.sa-input-field input{width:inherit}.sa-input-tag{position:absolute;background:#fff;padding:2px 6px;top:-1px;left:12px;z-index:2;font-size:11px;font-weight:500;line-height:16px;letter-spacing:.5px;text-align:left;color:var(--text-lowemphasis)}.support-label{font-family:var(--font);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0px var(--small-16px)}.support-label.invalid{color:var(--error-red)}.hide{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: IconComponent, selector: "sa-icon", inputs: ["icon", "size", "color"] }] }); }
|
|
135
150
|
}
|
|
136
151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormInputComponent, decorators: [{
|
|
137
152
|
type: Component,
|
|
@@ -141,7 +156,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
141
156
|
ReactiveFormsModule,
|
|
142
157
|
FormlyModule,
|
|
143
158
|
IconComponent
|
|
144
|
-
], template: "<div class=\"sa-input\">\n @if(!!inputVal.length && !!params?.placeholder){\n <span class=\"sa-input-tag\">{{params?.placeholder}}</span>\n }\n <div class=\"sa-input-field\" [ngClass]=\"formControl.invalid && formControl.touched ? 'invalid' : 'idle' \"\n (click)=\"onInputFieldClick($event)\">\n <input matInput [type]=\"type\" value=\"\" [pattern]=\"type==='tel' ? '[0-9]' : '' \"\n [placeholder]=\"params?.placeholder || '' \"
|
|
159
|
+
], template: "<div class=\"sa-input\" [ngClass]=\"disabled ? 'disabled' : '' \">\n @if(pretext || (!!inputVal.length && !!params?.placeholder)){\n <span class=\"sa-input-tag\">{{params?.placeholder}}</span>\n }\n <div class=\"sa-input-field\" [ngClass]=\"formControl.invalid && formControl.touched ? 'invalid' : 'idle' \"\n (click)=\"onInputFieldClick($event)\">\n @if(pretext){\n <div class=\"sa-input-pretext\">\n {{pretext}}\n </div>\n }\n <input matInput [type]=\"type\" value=\"\" [pattern]=\"type==='tel' ? '[0-9]' : '' \"\n [disabled]=\"field.props.disabled || false\" [placeholder]=\"!pretext && params?.placeholder || '' \"\n (focus)=\"onFocus()\" (blur)=\"onBlur()\" (input)=\"onInput($event)\" [(ngModel)]=\"inputVal\" #formInput />\n\n @if(params?.type === 'password'){\n <sa-icon class=\"flex\" icon=\"eye\" [size]=\"icon.size || '24'\" (click)=\"inputIconClick()\"\n [ngClass]=\"!icon.name || icon.name === 'eye' ? '' : 'hide'\"></sa-icon>\n <sa-icon class=\"flex\" icon=\"eye_filled\" [size]=\"icon.size || '24'\" (click)=\"inputIconClick()\"\n [ngClass]=\"icon.name === 'eye_filled' ? '' : 'hide'\"></sa-icon>\n }@else if(params?.type === 'email' && icon.show){\n <sa-icon class=\"flex\" [icon]=\"icon.name || 'checkmark'\" [size]=\"icon.size || '24'\" (click)=\"inputIconClick()\"\n [ngClass]=\"showEmailIcon ? '' : 'hide'\"></sa-icon>\n }\n @else if(icon.name){\n <sa-icon class=\"flex\" [icon]=\"icon.name\" [size]=\"icon.size || '24'\" [color]=\"icon.color || ''\"\n [ngClass]=\"icon.show ? '' : 'hide'\"></sa-icon>\n }\n\n\n <!-- <sa-icon [icon]=\"icon\" size=\"24\" (click)=\"inputIconClick()\"></sa-icon> -->\n </div>\n @if((!formControl.valid) || (params && params.supportText)){\n <div class=\"support-label\" [ngClass]=\"formControl.invalid && formControl.touched ? 'invalid' : 'idle'\">\n <!-- {{!formControl.valid ? inputErrorText : params.supportText}} -->\n {{getFormSupportText()}}\n </div>\n }\n</div>", styles: ["*{--error-red: #e25c61 }.idle{--border: 1px solid var(--grey-50)}.focus{--border: 1px solid var(--primary-300)}.disabled .sa-input-field,[disabled]{background-color:#efefef4d}.sa-input-field>input,.sa-input-field>input:focus-visible{--border: 1px solid var(--primary-300);border:none;outline:none}.sa-input-field:hover{--border: 1px solid var(--primary-300);--font-color: var(--text-highemphasis)}.sa-input-field>input:focus-visible~sa-icon,.sa-input-field:hover sa-icon{color:var(--primary-300)}.sa-input-field.invalid>input,.sa-input-field.invalid sa-icon,.sa-input-field.invalid .sa-input-pretext{color:#e25c61!important}.sa-input-field.invalid{--border: 1px solid #e25c61}.sa-input-field.invalid sa-icon{--form-email-icon-color: #e25c61}.sa-input-field.idle sa-icon{--form-email-icon-color: #33961F}.sa-input{position:relative;padding:8px 0}.sa-input-field{width:100%;box-sizing:border-box;position:relative;display:inline-flex;padding:0px var(--small-12px);height:40px;justify-content:center;align-items:center;border:var(--border);border-radius:var(--small-4px);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;--font-color: var(--text-lowemphasis)}.sa-input-field input{width:inherit}.sa-input-tag{position:absolute;background:#fff;padding:2px 6px;top:-1px;left:12px;z-index:2;font-size:11px;font-weight:500;line-height:16px;letter-spacing:.5px;text-align:left;color:var(--text-lowemphasis)}.support-label{font-family:var(--font);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0px var(--small-16px)}.support-label.invalid{color:var(--error-red)}.hide{display:none}\n"] }]
|
|
145
160
|
}], ctorParameters: () => [], propDecorators: { formInput: [{
|
|
146
161
|
type: ViewChild,
|
|
147
162
|
args: ['formInput']
|
|
@@ -155,4 +170,4 @@ export var IInputEventType;
|
|
|
155
170
|
IInputEventType["STATE_CHANGE"] = "STATE_CHANGE";
|
|
156
171
|
IInputEventType["ICON_CLICK"] = "ICON_CLICK";
|
|
157
172
|
})(IInputEventType || (IInputEventType = {}));
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFnQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBd0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFldkQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQTBCO0lBc0JoRTtRQUNFLEtBQUssRUFBRSxDQUFDO1FBakJWLGVBQVUsR0FBRyxNQUFNLENBQUM7UUFDcEIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUdkLGlCQUFZLEdBQVEsSUFBSSxDQUFDO1FBQ3pCLG1DQUFtQztRQUNuQywyQkFBMkI7UUFFM0IsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUlsQixtQkFBYyxHQUFXLGVBQWUsQ0FBQztRQUVqQyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQTRIL0IseUJBQW9CLEdBQVE7WUFDMUIsS0FBSyxFQUFF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QUFBO0lBQzdCLGdEQUE2QixDQUFBO0lBQzdCLDRDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxlQUFlLEtBQWYsZUFBZSxRQUkxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSwgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBnZXRWYWxpZGF0aW9uTWVzc2FnZSwgcGhvbmVOdW1iZXJWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi91dGlscy92YWxpZGF0b3JzJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2EtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybWx5TW9kdWxlLFxuICAgIEljb25Db21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZm9ybS1pbnB1dC5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPiB7XG5cbiAgQFZpZXdDaGlsZCgnZm9ybUlucHV0JykgZm9ybUlucHV0ITogRWxlbWVudFJlZjtcblxuICBASW5wdXQoJ2ljb24nKSBpY29uOiBJSW5wdXRJY29uO1xuXG4gIGlucHV0U3RhdGUgPSAnaWRsZSc7XG4gIGlucHV0VmFsID0gJyc7XG4gIHBhcmFtczogSUlucHV0UGFyYW0gfCBudWxsO1xuICBkZXBlbmRlbnQ6IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4gfCBudWxsO1xuICBkZXBlbmRlbnRWYWw6IGFueSA9IG51bGw7XG4gIC8vIGR5bmFtaWNJY29uOiBEeW5hbWljSWNvbiB8IG51bGw7XG4gIC8vIGljb246IElJbnB1dEljb24gfCBudWxsO1xuXG4gIHR5cGU6IHN0cmluZyA9ICcnO1xuICB2YWxpZGF0b3JzOiBhbnlbXTtcbiAgYXN5bmNWYWxpZGF0b3JzOiBhbnlbXTtcblxuICBpbnB1dEVycm9yVGV4dDogc3RyaW5nID0gJ2ludmFsaWQgaW5wdXQnO1xuXG4gIHByaXZhdGUgc3VwcHJlc3NPbkJsdXIgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmlucHV0VmFsID0gdGhpcy5maWVsZC5wcm9wc1sndmFsdWUnXTtcbiAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRWYWx1ZSh0aGlzLmlucHV0VmFsKTtcblxuICAgIHRoaXMucGFyYW1zID0gdGhpcy5maWVsZC5wcm9wc1sncGFyYW1zJ107XG4gICAgdGhpcy5pY29uID0gdGhpcy5maWVsZC5wcm9wc1snaWNvbiddIHx8IHt9O1xuICAgIHRoaXMudHlwZSA9IHRoaXMucGFyYW1zPy50eXBlIHx8ICcnO1xuXG4gICAgLy8gdGhpcy5keW5hbWljSWNvbiA9IHRoaXMuZmllbGQucHJvcHNbJ2R5bmFtaWNJY29uJ107XG4gICAgdGhpcy5zZXRWYWxpZGF0b3JzKCk7XG4gICAgdGhpcy5zZXREZXBlbmRlbnRzKCk7XG5cbiAgICB0aGlzLmZvcm1Db250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuXG4gICAgfSlcbiAgICB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgdGhpcy5mb3JtSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbDtcbiAgICB9KVxuICB9XG5cbiAgc2V0VmFsaWRhdG9ycygpIHtcbiAgICB0aGlzLnZhbGlkYXRvcnMgPSB0aGlzLnBhcmFtcz8udmFsaWRhdG9ycyB8fCBbXTtcbiAgICB0aGlzLmFzeW5jVmFsaWRhdG9ycyA9IHRoaXMucGFyYW1zPy5hc3luY1ZhbGlkYXRvcnMgfHwgW107XG4gICAgdGhpcy5mb3JtQ29udHJvbD8uc2V0VmFsaWRhdG9ycyhbLi4uKHRoaXMudHlwZSA/IHRoaXMucHJlZGVmaW5lZFZhbGlkYXRvcnNbdGhpcy50eXBlXSB8fCBbXSA6IFtdKSwgLi4udGhpcy52YWxpZGF0b3JzXSk7XG4gICAgaWYgKHRoaXMuYXN5bmNWYWxpZGF0b3JzKVxuICAgICAgdGhpcy5mb3JtQ29udHJvbD8uc2V0QXN5bmNWYWxpZGF0b3JzKHRoaXMuYXN5bmNWYWxpZGF0b3JzKTtcbiAgfVxuXG4gIC8qXG4gICAgQXNzdW1pbmcgZGVwZW5kZW50IGZpZWxkIGlzIGEgc2luZ2xlIHNlbGVjdCBkcm9wZG93blxuICAqL1xuICBzZXREZXBlbmRlbnRzKCkge1xuICAgIGlmICh0aGlzLnBhcmFtcz8uZGVwZW5kZW50KSB7XG4gICAgICB0aGlzLmRlcGVuZGVudCA9IHRoaXMuZm9ybS5nZXQoW3RoaXMucGFyYW1zPy5kZXBlbmRlbnRdKTtcblxuICAgICAgdGhpcy5kZXBlbmRlbnQ/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgICB0aGlzLmRlcGVuZGVudFZhbCA9IHZhbC5sZW5ndGggPyB2YWxbMF0gOiBudWxsO1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnJlc2V0KCk7XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGNoZWNrVmFsaWRpdHkoZGVmYXVsdElucHV0U3RhdGUgPSAnZm9jdXMnKSB7XG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wgJiYgIXRoaXMuZm9ybUNvbnRyb2wudmFsaWQgJiYgdGhpcy5mb3JtQ29udHJvbC50b3VjaGVkICYmICF0aGlzLmZvcm1Db250cm9sLnBlbmRpbmcpIHtcbiAgICAgIHRoaXMuaW5wdXRTdGF0ZSA9ICdpbnZhbGlkJztcbiAgICAgIHRoaXMuaW5wdXRFcnJvclRleHQgPSBnZXRWYWxpZGF0aW9uTWVzc2FnZSh0aGlzLmZvcm1Db250cm9sLmVycm9ycykgfHwgJ2ludmFsaWQgaW5wdXQnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlucHV0U3RhdGUgPSBkZWZhdWx0SW5wdXRTdGF0ZTtcbiAgICB9XG4gIH1cblxuICBvbkZvY3VzKCkge1xuICAgIGlmICh0aGlzLmZvcm1Db250cm9sLnZhbGlkKVxuICAgICAgdGhpcy5pbnB1dFN0YXRlID0gJ2ZvY3VzJ1xuICB9XG4gIG9uQmx1cigpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zdXBwcmVzc09uQmx1cikge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5jaGVja1ZhbGlkaXR5KCdpZGxlJyk7XG4gICAgICB9XG4gICAgICB0aGlzLnN1cHByZXNzT25CbHVyID0gZmFsc2U7XG4gICAgfSwgMjAwKVxuICB9XG5cbiAgb25JbnB1dChldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMucGFyYW1zPy50eXBlID09PSAndGVsJykge1xuICAgICAgdGhpcy5pbnB1dFZhbCA9IHRoaXMuaW5wdXRWYWwucmVwbGFjZSgvW14wLTkoKStcXC0gXS9nLCAnJyk7XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtQ29udHJvbD8uc2V0VmFsdWUodGhpcy5pbnB1dFZhbCk7XG4gICAgdGhpcy5jaGVja1ZhbGlkaXR5KCk7XG4gICAgaWYgKHRoaXMucGFyYW1zPy5ldmVudExpc3RlbmVyKSB7XG4gICAgICB0aGlzLnBhcmFtcz8uZXZlbnRMaXN0ZW5lcih7XG4gICAgICAgIHR5cGU6IElJbnB1dEV2ZW50VHlwZS5JTlBVVF9DSEFOR0UsXG4gICAgICAgIHZhbHVlOiB0aGlzLmlucHV0VmFsLFxuICAgICAgICBmb3JtQ29udHJvbDogdGhpcy5mb3JtQ29udHJvbFxuICAgICAgfSBhcyBJSW5wdXRFdmVudCkudGhlbih0aGlzLm9uRmllbGRDYWxsYmFjay5iaW5kKHRoaXMpKTtcbiAgICB9XG4gIH1cblxuICBvbklucHV0RmllbGRDbGljayhldmVudDogYW55ID0gJ2lucHV0Jykge1xuICAgIGlmIChldmVudCA9PT0gJ2lucHV0JyB8fCBldmVudC50YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKCdzYS1pbnB1dC1maWVsZCcpKSB7XG4gICAgICB0aGlzLmZvcm1JbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICBpZiAodGhpcy5wYXJhbXM/LnR5cGUgIT09ICdlbWFpbCcpIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmZvcm1JbnB1dC5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHRoaXMuaW5wdXRWYWwubGVuZ3RoLCB0aGlzLmlucHV0VmFsLmxlbmd0aClcbiAgICAgIH0sIDEwKVxuICAgIH1cbiAgfVxuXG4gIGlucHV0SWNvbkNsaWNrKCkge1xuICAgIGlmICh0aGlzLnBhcmFtcz8udHlwZSA9PT0gJ3Bhc3N3b3JkJykge1xuICAgICAgdGhpcy5zdXBwcmVzc09uQmx1ciA9IHRydWU7XG4gICAgICBpZiAodGhpcy50eXBlID09PSAncGFzc3dvcmQnKSB7XG4gICAgICAgIHRoaXMudHlwZSA9ICd0ZXh0JztcbiAgICAgICAgdGhpcy5pY29uLm5hbWUgPSAnZXllX2ZpbGxlZCc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnR5cGUgPSAncGFzc3dvcmQnO1xuICAgICAgICB0aGlzLmljb24ubmFtZSA9ICdleWUnO1xuICAgICAgfVxuICAgICAgdGhpcy5vbklucHV0RmllbGRDbGljaygpO1xuICAgIH1cbiAgfVxuXG4gIG9uRmllbGRDYWxsYmFjayhwYXJhbTogSUlucHV0UGFyYW0pIHtcbiAgICB0aGlzLmljb24gPSBwYXJhbS5pY29uIHx8IHRoaXMuaWNvbjtcbiAgICB0aGlzLmNoZWNrVmFsaWRpdHkoKTtcbiAgfVxuXG4gIGdldEZvcm1TdXBwb3J0VGV4dCgpIHtcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbC5pbnZhbGlkICYmIHRoaXMuZm9ybUNvbnRyb2wudG91Y2hlZCkge1xuICAgICAgcmV0dXJuIGdldFZhbGlkYXRpb25NZXNzYWdlKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzKSB8fCAnaW52YWxpZCBpbnB1dCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcmFtcy5wbGFjZWhvbGRlciB8fCAnJztcbiAgICB9XG4gIH1cblxuICBwcmVkZWZpbmVkVmFsaWRhdG9yczogYW55ID0ge1xuICAgIGVtYWlsOiBbVmFsaWRhdG9ycy5lbWFpbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgcGFzc3dvcmQ6IFtWYWxpZGF0b3JzLm1pbkxlbmd0aCg4KSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgdGVsOiBbVmFsaWRhdG9ycy5wYXR0ZXJuKCdeWzAtOSArXFxcXC0oKV0qJCcpXVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUlucHV0SWNvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2hvdz86IGJvb2xlYW47XG4gIGNvbG9yPzogc3RyaW5nO1xuICBzaXplPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElJbnB1dFBhcmFtIHtcbiAgdmFsaWRhdG9ycz86IGFueVtdO1xuICBhc3luY1ZhbGlkYXRvcnM/OiBhbnlbXTtcbiAgc3VwcG9ydFRleHQ/OiBzdHJpbmcsXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nLFxuICB0eXBlPzogc3RyaW5nLFxuICBkZXBlbmRlbnQ/OiBzdHJpbmcsXG4gIGV2ZW50TGlzdGVuZXI/OiBGdW5jdGlvbixcbiAgaWNvbj86IElJbnB1dEljb25cbiAgZXJyb3JzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfVxufVxuZXhwb3J0IGludGVyZmFjZSBJSW5wdXRFdmVudCB7XG4gIHR5cGU6IElJbnB1dEV2ZW50VHlwZTtcbiAgdmFsdWU6IHN0cmluZztcbiAgY2FsbEJhY2s6IGFueTtcbiAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sXG59XG5leHBvcnQgZW51bSBJSW5wdXRFdmVudFR5cGUge1xuICBJTlBVVF9DSEFOR0UgPSAnSU5QVVRfQ0hBTkdFJyxcbiAgU1RBVEVfQ0hBTkdFID0gJ1NUQVRFX0NIQU5HRScsXG4gIElDT05fQ0xJQ0sgPSAnSUNPTl9DTElDSydcbn0iLCI8ZGl2IGNsYXNzPVwic2EtaW5wdXRcIj5cbiAgICBAaWYoISFpbnB1dFZhbC5sZW5ndGggJiYgISFwYXJhbXM/LnBsYWNlaG9sZGVyKXtcbiAgICA8c3BhbiBjbGFzcz1cInNhLWlucHV0LXRhZ1wiPnt7cGFyYW1zPy5wbGFjZWhvbGRlcn19PC9zcGFuPlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwic2EtaW5wdXQtZmllbGRcIiBbbmdDbGFzc109XCJmb3JtQ29udHJvbC5pbnZhbGlkICYmIGZvcm1Db250cm9sLnRvdWNoZWQgPyAnaW52YWxpZCcgOiAnaWRsZScgXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uSW5wdXRGaWVsZENsaWNrKCRldmVudClcIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IFt0eXBlXT1cInR5cGVcIiB2YWx1ZT1cIlwiIFtwYXR0ZXJuXT1cInR5cGU9PT0ndGVsJyA/ICdbMC05XScgOiAnJyBcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBhcmFtcz8ucGxhY2Vob2xkZXIgfHwgJycgXCIgKGZvY3VzKT1cIm9uRm9jdXMoKVwiIChibHVyKT1cIm9uQmx1cigpXCIgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImlucHV0VmFsXCIgI2Zvcm1JbnB1dCAvPlxuICAgICAgICBAaWYocGFyYW1zPy50eXBlID09PSAncGFzc3dvcmQnKXtcbiAgICAgICAgPHNhLWljb24gY2xhc3M9XCJmbGV4XCIgaWNvbj1cImV5ZVwiIHNpemU9XCIyNFwiIChjbGljayk9XCJpbnB1dEljb25DbGljaygpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIiFpY29uLm5hbWUgfHwgaWNvbi5uYW1lID09PSAnZXllJyA/ICcnIDogJ2hpZGUnXCI+PC9zYS1pY29uPlxuICAgICAgICA8c2EtaWNvbiBjbGFzcz1cImZsZXhcIiBpY29uPVwiZXllX2ZpbGxlZFwiIHNpemU9XCIyNFwiIChjbGljayk9XCJpbnB1dEljb25DbGljaygpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImljb24ubmFtZSA9PT0gJ2V5ZV9maWxsZWQnID8gJycgOiAnaGlkZSdcIj48L3NhLWljb24+XG4gICAgICAgIH0gQGVsc2UgaWYoaWNvbi5uYW1lKXtcbiAgICAgICAgPHNhLWljb24gY2xhc3M9XCJmbGV4XCIgW2ljb25dPVwiaWNvbi5uYW1lXCIgW3NpemVdPVwiaWNvbi5zaXplIHx8ICcyNCdcIiBbY29sb3JdPVwiaWNvbi5jb2xvciB8fCAnJ1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJpY29uLnNob3cgPyAnJyA6ICdoaWRlJ1wiPjwvc2EtaWNvbj5cbiAgICAgICAgfVxuXG5cbiAgICAgICAgPCEtLSA8c2EtaWNvbiBbaWNvbl09XCJpY29uXCIgc2l6ZT1cIjI0XCIgKGNsaWNrKT1cImlucHV0SWNvbkNsaWNrKClcIj48L3NhLWljb24+IC0tPlxuICAgIDwvZGl2PlxuICAgIEBpZigoIWZvcm1Db250cm9sLnZhbGlkKSB8fCAocGFyYW1zICYmIHBhcmFtcy5zdXBwb3J0VGV4dCkpe1xuICAgIDxkaXYgY2xhc3M9XCJzdXBwb3J0LWxhYmVsXCIgW25nQ2xhc3NdPVwiZm9ybUNvbnRyb2wuaW52YWxpZCAmJiBmb3JtQ29udHJvbC50b3VjaGVkID8gJ2ludmFsaWQnIDogJ2lkbGUnXCI+XG4gICAgICAgIDwhLS0ge3shZm9ybUNvbnRyb2wudmFsaWQgPyBpbnB1dEVycm9yVGV4dCA6IHBhcmFtcy5zdXBwb3J0VGV4dH19IC0tPlxuICAgICAgICB7e2dldEZvcm1TdXBwb3J0VGV4dCgpfX1cbiAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj4iXX0=
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFnQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBd0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFldkQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQTBCO0lBMkJoRTtRQUNFLEtBQUssRUFBRSxDQUFDO1FBcEJWLGVBQVUsR0FBRyxNQUFNLENBQUM7UUFDcEIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUdkLGlCQUFZLEdBQVEsSUFBSSxDQUFDO1FBQ3pCLG1DQUFtQztRQUNuQywyQkFBMkI7UUFFM0IsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUlsQixtQkFBYyxHQUFXLGVBQWUsQ0FBQztRQUV6QyxrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBRWxCLG1C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K0JBQ1osYUFBYTs7MkZBS0osa0JBQWtCO2tCQWI5QixTQUFTOytCQUNFLFVBQVUsY0FDUixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixhQUFhO3FCQUNkO3dEQU11QixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBRVAsSUFBSTtzQkFBbEIsS0FBSzt1QkFBQyxNQUFNOztBQTJMZixNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3pCLGdEQUE2QixDQUFBO0lBQzdCLGdEQUE2QixDQUFBO0lBQzdCLDRDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxlQUFlLEtBQWYsZUFBZSxRQUkxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSwgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBOZ1NlbGVjdE1vZHVsZSB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBnZXRWYWxpZGF0aW9uTWVzc2FnZSwgcGhvbmVOdW1iZXJWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi91dGlscy92YWxpZGF0b3JzJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2EtaW5wdXQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybWx5TW9kdWxlLFxuICAgIEljb25Db21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZm9ybS1pbnB1dC5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPiB7XG5cbiAgQFZpZXdDaGlsZCgnZm9ybUlucHV0JykgZm9ybUlucHV0ITogRWxlbWVudFJlZjtcblxuICBASW5wdXQoJ2ljb24nKSBpY29uOiBJSW5wdXRJY29uO1xuXG4gIHByZXRleHQ6IHN0cmluZztcblxuICBpbnB1dFN0YXRlID0gJ2lkbGUnO1xuICBpbnB1dFZhbCA9ICcnO1xuICBwYXJhbXM6IElJbnB1dFBhcmFtIHwgbnVsbDtcbiAgZGVwZW5kZW50OiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbDtcbiAgZGVwZW5kZW50VmFsOiBhbnkgPSBudWxsO1xuICAvLyBkeW5hbWljSWNvbjogRHluYW1pY0ljb24gfCBudWxsO1xuICAvLyBpY29uOiBJSW5wdXRJY29uIHwgbnVsbDtcblxuICB0eXBlOiBzdHJpbmcgPSAnJztcbiAgdmFsaWRhdG9yczogYW55W107XG4gIGFzeW5jVmFsaWRhdG9yczogYW55W107XG5cbiAgaW5wdXRFcnJvclRleHQ6IHN0cmluZyA9ICdpbnZhbGlkIGlucHV0JztcblxuICBzaG93RW1haWxJY29uOiBib29sZWFuID0gZmFsc2U7XG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBzdXBwcmVzc09uQmx1ciA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5wdXRWYWwgPSB0aGlzLmZpZWxkLnByb3BzWyd2YWx1ZSddO1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmZpZWxkLnByb3BzLmRpc2FibGVkIHx8IGZhbHNlO1xuICAgIHRoaXMuZm9ybUNvbnRyb2w/LnNldFZhbHVlKHRoaXMuaW5wdXRWYWwpO1xuXG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLmZpZWxkLnByb3BzWydwYXJhbXMnXTtcbiAgICB0aGlzLmljb24gPSB0aGlzLmZpZWxkLnByb3BzWydpY29uJ10gfHwge307XG4gICAgdGhpcy50eXBlID0gdGhpcy5wYXJhbXM/LnR5cGUgfHwgJyc7XG5cbiAgICAvLyB0aGlzLmR5bmFtaWNJY29uID0gdGhpcy5maWVsZC5wcm9wc1snZHluYW1pY0ljb24nXTtcbiAgICB0aGlzLnNldFZhbGlkYXRvcnMoKTtcbiAgICB0aGlzLnNldERlcGVuZGVudHMoKTtcblxuICAgIHRoaXMuZm9ybUNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICBpZiAodGhpcy50eXBlID09PSAnZW1haWwnKSB7XG4gICAgICAgIHRoaXMuc2hvd0VtYWlsSWNvbiA9IChzdGF0ZSA9PT0gJ1ZBTElEJykgfHwgKHN0YXRlID09PSAnSU5WQUxJRCcgJiYgdGhpcy5mb3JtQ29udHJvbC5oYXNFcnJvcignaW52YWxpZCcpKTtcbiAgICAgIH1cbiAgICB9KVxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICB0aGlzLmZvcm1JbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsO1xuICAgIH0pXG4gIH1cblxuICBzZXRWYWxpZGF0b3JzKCkge1xuICAgIHRoaXMudmFsaWRhdG9ycyA9IHRoaXMucGFyYW1zPy52YWxpZGF0b3JzIHx8IFtdO1xuICAgIHRoaXMuYXN5bmNWYWxpZGF0b3JzID0gdGhpcy5wYXJhbXM/LmFzeW5jVmFsaWRhdG9ycyB8fCBbXTtcbiAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRWYWxpZGF0b3JzKFsuLi4odGhpcy50eXBlID8gdGhpcy5wcmVkZWZpbmVkVmFsaWRhdG9yc1t0aGlzLnR5cGVdIHx8IFtdIDogW10pLCAuLi50aGlzLnZhbGlkYXRvcnNdKTtcbiAgICBpZiAodGhpcy5hc3luY1ZhbGlkYXRvcnMpXG4gICAgICB0aGlzLmZvcm1Db250cm9sPy5zZXRBc3luY1ZhbGlkYXRvcnModGhpcy5hc3luY1ZhbGlkYXRvcnMpO1xuICB9XG5cbiAgLypcbiAgICBBc3N1bWluZyBkZXBlbmRlbnQgZmllbGQgaXMgYSBzaW5nbGUgc2VsZWN0IGRyb3Bkb3duXG4gICovXG4gIHNldERlcGVuZGVudHMoKSB7XG4gICAgaWYgKHRoaXMucGFyYW1zPy5kZXBlbmRlbnQpIHtcbiAgICAgIHRoaXMuZGVwZW5kZW50ID0gdGhpcy5mb3JtLmdldChbdGhpcy5wYXJhbXM/LmRlcGVuZGVudF0pO1xuXG4gICAgICB0aGlzLmRlcGVuZGVudD8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAgICB0aGlzLmRlcGVuZGVudFZhbCA9IHZhbC5sZW5ndGggPyB2YWxbMF0gOiBudWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZGVwZW5kZW50VmFsID0gdmFsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wucmVzZXQoKTtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmlucHV0VmFsKTtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3RlbCcpIHtcbiAgICAgICAgICB0aGlzLnByZXRleHQgPSB0aGlzLmRlcGVuZGVudFZhbD8uZGlhbF9jb2RlO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGNoZWNrVmFsaWRpdHkoZGVmYXVsdElucHV0U3RhdGUgPSAnZm9jdXMnKSB7XG4gICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wgJiYgIXRoaXMuZm9ybUNvbnRyb2wudmFsaWQgJiYgdGhpcy5mb3JtQ29udHJvbC50b3VjaGVkICYmICF0aGlzLmZvcm1Db250cm9sLnBlbmRpbmcpIHtcbiAgICAgIHRoaXMuaW5wdXRTdGF0ZSA9ICdpbnZhbGlkJztcbiAgICAgIHRoaXMuaW5wdXRFcnJvclRleHQgPSBnZXRWYWxpZGF0aW9uTWVzc2FnZSh0aGlzLmZvcm1Db250cm9sLmVycm9ycykgfHwgJ2ludmFsaWQgaW5wdXQnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlucHV0U3RhdGUgPSBkZWZhdWx0SW5wdXRTdGF0ZTtcbiAgICB9XG4gIH1cblxuICBvbkZvY3VzKCkge1xuICAgIGlmICh0aGlzLmZvcm1Db250cm9sLnZhbGlkKVxuICAgICAgdGhpcy5pbnB1dFN0YXRlID0gJ2ZvY3VzJ1xuICB9XG4gIG9uQmx1cigpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zdXBwcmVzc09uQmx1cikge1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5jaGVja1ZhbGlkaXR5KCdpZGxlJyk7XG4gICAgICB9XG4gICAgICB0aGlzLnN1cHByZXNzT25CbHVyID0gZmFsc2U7XG4gICAgfSwgMjAwKVxuICB9XG5cbiAgb25JbnB1dChldmVudDogYW55KSB7XG4gICAgaWYgKHRoaXMucGFyYW1zPy50eXBlID09PSAndGVsJykge1xuICAgICAgdGhpcy5pbnB1dFZhbCA9IHRoaXMuaW5wdXRWYWwucmVwbGFjZSgvW14wLTkoKStcXC0gXS9nLCAnJyk7XG4gICAgfVxuXG4gICAgdGhpcy5mb3JtQ29udHJvbD8uc2V0VmFsdWUodGhpcy5pbnB1dFZhbCk7XG4gICAgdGhpcy5jaGVja1ZhbGlkaXR5KCk7XG4gICAgLyppZiAodGhpcy5wYXJhbXM/LmV2ZW50TGlzdGVuZXIpIHtcbiAgICAgIHRoaXMucGFyYW1zPy5ldmVudExpc3RlbmVyKHtcbiAgICAgICAgdHlwZTogSUlucHV0RXZlbnRUeXBlLklOUFVUX0NIQU5HRSxcbiAgICAgICAgdmFsdWU6IHRoaXMuaW5wdXRWYWwsXG4gICAgICAgIGZvcm1Db250cm9sOiB0aGlzLmZvcm1Db250cm9sXG4gICAgICB9IGFzIElJbnB1dEV2ZW50KS50aGVuKHRoaXMub25GaWVsZENhbGxiYWNrLmJpbmQodGhpcykpO1xuICAgIH0qL1xuICB9XG5cbiAgb25JbnB1dEZpZWxkQ2xpY2soZXZlbnQ6IGFueSA9ICdpbnB1dCcpIHtcbiAgICBpZiAoZXZlbnQgPT09ICdpbnB1dCcgfHwgZXZlbnQudGFyZ2V0LmNsYXNzTGlzdC5jb250YWlucygnc2EtaW5wdXQtZmllbGQnKSkge1xuICAgICAgdGhpcy5mb3JtSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgaWYgKHRoaXMucGFyYW1zPy50eXBlICE9PSAnZW1haWwnKSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5mb3JtSW5wdXQubmF0aXZlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSh0aGlzLmlucHV0VmFsLmxlbmd0aCwgdGhpcy5pbnB1dFZhbC5sZW5ndGgpXG4gICAgICB9LCAxMClcbiAgICB9XG4gIH1cblxuICBpbnB1dEljb25DbGljaygpIHtcbiAgICBpZiAodGhpcy5wYXJhbXM/LnR5cGUgPT09ICdwYXNzd29yZCcpIHtcbiAgICAgIHRoaXMuc3VwcHJlc3NPbkJsdXIgPSB0cnVlO1xuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3Bhc3N3b3JkJykge1xuICAgICAgICB0aGlzLnR5cGUgPSAndGV4dCc7XG4gICAgICAgIHRoaXMuaWNvbi5uYW1lID0gJ2V5ZV9maWxsZWQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50eXBlID0gJ3Bhc3N3b3JkJztcbiAgICAgICAgdGhpcy5pY29uLm5hbWUgPSAnZXllJztcbiAgICAgIH1cbiAgICAgIHRoaXMub25JbnB1dEZpZWxkQ2xpY2soKTtcbiAgICB9XG4gIH1cblxuICAvKm9uRmllbGRDYWxsYmFjayhwYXJhbTogSUlucHV0UGFyYW0pIHtcbiAgICB0aGlzLmljb24gPSBwYXJhbS5pY29uIHx8IHRoaXMuaWNvbjtcbiAgICB0aGlzLmNoZWNrVmFsaWRpdHkoKTtcbiAgfSovXG5cbiAgZ2V0Rm9ybVN1cHBvcnRUZXh0KCkge1xuICAgIGlmICh0aGlzLmZvcm1Db250cm9sLmludmFsaWQgJiYgdGhpcy5mb3JtQ29udHJvbC50b3VjaGVkKSB7XG4gICAgICByZXR1cm4gZ2V0VmFsaWRhdGlvbk1lc3NhZ2UodGhpcy5mb3JtQ29udHJvbC5lcnJvcnMpIHx8ICdpbnZhbGlkIGlucHV0JztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMucGFyYW1zLnN1cHBvcnRUZXh0IHx8ICcnO1xuICAgIH1cbiAgfVxuXG4gIHByZWRlZmluZWRWYWxpZGF0b3JzOiBhbnkgPSB7XG4gICAgZW1haWw6IFtWYWxpZGF0b3JzLmVtYWlsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICBwYXNzd29yZDogW1ZhbGlkYXRvcnMubWluTGVuZ3RoKDgpLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICB0ZWw6IFtWYWxpZGF0b3JzLnBhdHRlcm4oJ15bMC05ICtcXFxcLSgpXSokJyldXG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSW5wdXRJY29uIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzaG93PzogYm9vbGVhbjtcbiAgY29sb3I/OiBzdHJpbmc7XG4gIHNpemU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUlucHV0UGFyYW0ge1xuICB2YWxpZGF0b3JzPzogYW55W107XG4gIGFzeW5jVmFsaWRhdG9ycz86IGFueVtdO1xuICBzdXBwb3J0VGV4dD86IHN0cmluZyxcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmcsXG4gIHR5cGU/OiBzdHJpbmcsXG4gIGRlcGVuZGVudD86IHN0cmluZyxcbiAgZXZlbnRMaXN0ZW5lcj86IEZ1bmN0aW9uLFxuICBpY29uPzogSUlucHV0SWNvblxuICBlcnJvcnM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9XG59XG5leHBvcnQgaW50ZXJmYWNlIElJbnB1dEV2ZW50IHtcbiAgdHlwZTogSUlucHV0RXZlbnRUeXBlO1xuICB2YWx1ZTogc3RyaW5nO1xuICBjYWxsQmFjazogYW55O1xuICBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2xcbn1cbmV4cG9ydCBlbnVtIElJbnB1dEV2ZW50VHlwZSB7XG4gIElOUFVUX0NIQU5HRSA9ICdJTlBVVF9DSEFOR0UnLFxuICBTVEFURV9DSEFOR0UgPSAnU1RBVEVfQ0hBTkdFJyxcbiAgSUNPTl9DTElDSyA9ICdJQ09OX0NMSUNLJ1xufSIsIjxkaXYgY2xhc3M9XCJzYS1pbnB1dFwiIFtuZ0NsYXNzXT1cImRpc2FibGVkID8gJ2Rpc2FibGVkJyA6ICcnIFwiPlxuICAgIEBpZihwcmV0ZXh0IHx8ICghIWlucHV0VmFsLmxlbmd0aCAmJiAhIXBhcmFtcz8ucGxhY2Vob2xkZXIpKXtcbiAgICA8c3BhbiBjbGFzcz1cInNhLWlucHV0LXRhZ1wiPnt7cGFyYW1zPy5wbGFjZWhvbGRlcn19PC9zcGFuPlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwic2EtaW5wdXQtZmllbGRcIiBbbmdDbGFzc109XCJmb3JtQ29udHJvbC5pbnZhbGlkICYmIGZvcm1Db250cm9sLnRvdWNoZWQgPyAnaW52YWxpZCcgOiAnaWRsZScgXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uSW5wdXRGaWVsZENsaWNrKCRldmVudClcIj5cbiAgICAgICAgQGlmKHByZXRleHQpe1xuICAgICAgICA8ZGl2IGNsYXNzPVwic2EtaW5wdXQtcHJldGV4dFwiPlxuICAgICAgICAgICAge3twcmV0ZXh0fX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAgPGlucHV0IG1hdElucHV0IFt0eXBlXT1cInR5cGVcIiB2YWx1ZT1cIlwiIFtwYXR0ZXJuXT1cInR5cGU9PT0ndGVsJyA/ICdbMC05XScgOiAnJyBcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLnByb3BzLmRpc2FibGVkIHx8IGZhbHNlXCIgW3BsYWNlaG9sZGVyXT1cIiFwcmV0ZXh0ICYmIHBhcmFtcz8ucGxhY2Vob2xkZXIgfHwgJycgXCJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIiBbKG5nTW9kZWwpXT1cImlucHV0VmFsXCIgI2Zvcm1JbnB1dCAvPlxuXG4gICAgICAgIEBpZihwYXJhbXM/LnR5cGUgPT09ICdwYXNzd29yZCcpe1xuICAgICAgICA8c2EtaWNvbiBjbGFzcz1cImZsZXhcIiBpY29uPVwiZXllXCIgW3NpemVdPVwiaWNvbi5zaXplIHx8ICcyNCdcIiAoY2xpY2spPVwiaW5wdXRJY29uQ2xpY2soKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCIhaWNvbi5uYW1lIHx8IGljb24ubmFtZSA9PT0gJ2V5ZScgPyAnJyA6ICdoaWRlJ1wiPjwvc2EtaWNvbj5cbiAgICAgICAgPHNhLWljb24gY2xhc3M9XCJmbGV4XCIgaWNvbj1cImV5ZV9maWxsZWRcIiBbc2l6ZV09XCJpY29uLnNpemUgfHwgJzI0J1wiIChjbGljayk9XCJpbnB1dEljb25DbGljaygpXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cImljb24ubmFtZSA9PT0gJ2V5ZV9maWxsZWQnID8gJycgOiAnaGlkZSdcIj48L3NhLWljb24+XG4gICAgICAgIH1AZWxzZSBpZihwYXJhbXM/LnR5cGUgPT09ICdlbWFpbCcgJiYgaWNvbi5zaG93KXtcbiAgICAgICAgPHNhLWljb24gY2xhc3M9XCJmbGV4XCIgW2ljb25dPVwiaWNvbi5uYW1lIHx8ICdjaGVja21hcmsnXCIgW3NpemVdPVwiaWNvbi5zaXplIHx8ICcyNCdcIiAoY2xpY2spPVwiaW5wdXRJY29uQ2xpY2soKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJzaG93RW1haWxJY29uID8gJycgOiAnaGlkZSdcIj48L3NhLWljb24+XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2UgaWYoaWNvbi5uYW1lKXtcbiAgICAgICAgPHNhLWljb24gY2xhc3M9XCJmbGV4XCIgW2ljb25dPVwiaWNvbi5uYW1lXCIgW3NpemVdPVwiaWNvbi5zaXplIHx8ICcyNCdcIiBbY29sb3JdPVwiaWNvbi5jb2xvciB8fCAnJ1wiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJpY29uLnNob3cgPyAnJyA6ICdoaWRlJ1wiPjwvc2EtaWNvbj5cbiAgICAgICAgfVxuXG5cbiAgICAgICAgPCEtLSA8c2EtaWNvbiBbaWNvbl09XCJpY29uXCIgc2l6ZT1cIjI0XCIgKGNsaWNrKT1cImlucHV0SWNvbkNsaWNrKClcIj48L3NhLWljb24+IC0tPlxuICAgIDwvZGl2PlxuICAgIEBpZigoIWZvcm1Db250cm9sLnZhbGlkKSB8fCAocGFyYW1zICYmIHBhcmFtcy5zdXBwb3J0VGV4dCkpe1xuICAgIDxkaXYgY2xhc3M9XCJzdXBwb3J0LWxhYmVsXCIgW25nQ2xhc3NdPVwiZm9ybUNvbnRyb2wuaW52YWxpZCAmJiBmb3JtQ29udHJvbC50b3VjaGVkID8gJ2ludmFsaWQnIDogJ2lkbGUnXCI+XG4gICAgICAgIDwhLS0ge3shZm9ybUNvbnRyb2wudmFsaWQgPyBpbnB1dEVycm9yVGV4dCA6IHBhcmFtcy5zdXBwb3J0VGV4dH19IC0tPlxuICAgICAgICB7e2dldEZvcm1TdXBwb3J0VGV4dCgpfX1cbiAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj4iXX0=
|
|
@@ -20,6 +20,8 @@ export class FormSelectComponent extends FieldType {
|
|
|
20
20
|
ngOnInit() {
|
|
21
21
|
this.selectables = this.field.props.options;
|
|
22
22
|
this.params = this.field.props['params'];
|
|
23
|
+
this.placeholderLabel = this.params.label;
|
|
24
|
+
console.log('search', this.field.props['searchable']);
|
|
23
25
|
this.svgStyle = {
|
|
24
26
|
'-webkit-mask-image': `url(${this.params.dropIcon})})`,
|
|
25
27
|
'mask-image': `url(${this.params.dropIcon})`,
|
|
@@ -29,6 +31,12 @@ export class FormSelectComponent extends FieldType {
|
|
|
29
31
|
if (this.field.props.disabled)
|
|
30
32
|
return;
|
|
31
33
|
this.openState = state;
|
|
34
|
+
if (state || this.formControl.value?.length > 0) {
|
|
35
|
+
this.placeholderLabel = '';
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
this.placeholderLabel = this.params.label;
|
|
39
|
+
}
|
|
32
40
|
}
|
|
33
41
|
shiftLabel(action) {
|
|
34
42
|
if (action == 'clicked')
|
|
@@ -38,11 +46,21 @@ export class FormSelectComponent extends FieldType {
|
|
|
38
46
|
if (action == 'removed' && this.startInd > 0)
|
|
39
47
|
this.startInd--;
|
|
40
48
|
}
|
|
41
|
-
checkForZero(selected) {
|
|
49
|
+
checkForZero(selected, state) {
|
|
42
50
|
this.topLabel = selected.length == 0 ? false : true;
|
|
51
|
+
// console.log("test", this.formControl.value?.length)
|
|
52
|
+
// console.log("test", this.openState)
|
|
53
|
+
// console.log("placeholder--- ", this.placeholderLabel)
|
|
54
|
+
// console.log("params.label--- ", this.params.label)
|
|
55
|
+
if (this.openState || this.formControl.value?.length > 0) {
|
|
56
|
+
this.placeholderLabel = '';
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
this.placeholderLabel = this.params.label;
|
|
60
|
+
}
|
|
43
61
|
}
|
|
44
62
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: FormSelectComponent, isStandalone: true, selector: "lib-form-select", usesInheritance: true, ngImport: i0, template: "<div [style.visibility]=\"(openState || topLabel) ? 'visible' : 'hidden'\" class=\"clicked-label\">{{params.label}}</div>\n<div class=\"ng-select-field {{openState ? 'activated' : 'idle'}} {{field.props.disabled ? 'disabled' : ''}}\">\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"left-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'left' || params.dropIconPosition == 'both')\">\n </div>\n\n <ng-select (change)=\"checkForZero($event)\" (remove)=\"shiftLabel('removed')\" (clear)=\"shiftLabel('cleared')\"\n (search)=\"openClose(true)\" (focus)=\"openClose(true)\" (blur)=\" openClose(false)\" [isOpen]=\"openState\"\n placeholder
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: FormSelectComponent, isStandalone: true, selector: "lib-form-select", usesInheritance: true, ngImport: i0, template: "<div [style.visibility]=\"(openState || topLabel) ? 'visible' : 'hidden'\" class=\"clicked-label\">{{params.label}}</div>\n<div class=\"ng-select-field {{openState ? 'activated' : 'idle'}} {{field.props.disabled ? 'disabled' : ''}}\">\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"left-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'left' || params.dropIconPosition == 'both')\">\n </div>\n\n <ng-select (change)=\"checkForZero($event)\" (remove)=\"shiftLabel('removed')\" (clear)=\"shiftLabel('cleared')\"\n (search)=\"openClose(true)\" (focus)=\"openClose(true)\" (blur)=\" openClose(false)\" [isOpen]=\"openState\"\n [placeholder]=\"placeholderLabel\" bindLabel=\"name\" [items]=\"selectables\" [multiple]=\"params.multiple\"\n [formControl]=\"formControl\" [style] [formlyAttributes]=\"field\" [searchable]=\"field.props['searchable']\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <div *ngFor=\"let item of (items ? items.slice(startInd,startInd+labelLimit): [])\">\n <sa-chip (onClickEvent)=\" (!field.props.disabled) ? clear(item) : null\" [id]=\"item.id\"\n [iconPath]=\"params.iconPath\" [text]=\"item.name\" [type]=\"params.type\"\n [state]=\"field.props.disabled ? 'neutral' : params.state\" [filling]=\"params.filling\"\n [iconPosition]=\"params.iconPosition\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('clicked')\" class=\"ng-value overflow-label\" *ngIf=\"items.length > (startInd+labelLimit)\">\n <sa-chip text=\"+{{items.length-(startInd+labelLimit)}}\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('cleared')\" *ngIf=\"startInd == items.length-labelLimit\" class=\"ng-value overflow-label\">\n <sa-chip text=\"...\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n </ng-template>\n </ng-select>\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"right-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'right' || params.dropIconPosition == 'both')\">\n </div>\n\n</div>\n<div class=\"support-label\">{{params.supportText}}</div>", styles: [".idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.disabled{border:1px solid var(--grey-50)!important}.ng-select-field:hover{--border: 1px solid var(--primary-300);--font-color: var(--text-highemphasis)}.ng-select-field{width:100%;box-sizing:border-box;position:relative;display:inline-flex;padding:0px var(--small-12px);height:40px;justify-content:center;align-items:center;border:var(--border);border-radius:var(--small-4px);font-family:var(--font);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;--font-color: var(--text-lowemphasis)}.ng-select{width:inherit;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0}.ng-select ::ng-deep .ng-select-container{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;font-family:var(--font);box-sizing:border-box;border:none}.ng-select ::ng-deep .ng-dropdown-panel{margin-top:2px;border:1px solid var(--grey-50);box-shadow:none!important}.ng-select ::ng-deep .ng-select-container{box-shadow:none!important;position:relative!important;z-index:1!important}.ng-select ::ng-deep .ng-value-container{padding:0!important;flex-wrap:nowrap!important;display:flex;justify-content:flex-start;gap:5px;overflow-x:hidden}.ng-select ::ng-deep .ng-value{flex:none;margin:0!important}.overflow-label{padding:0 5px;cursor:pointer}.ng-select ::ng-deep .ng-placeholder{padding:0!important;position:inherit!important;color:var(--text-lowemphasis)}.ng-select ::ng-deep .ng-input{padding:0!important;position:inherit!important}.ng-select ::ng-deep .ng-clear-wrapper{z-index:9;display:flex;margin-left:5px}.ng-select ::ng-deep .ng-arrow{border-color:none!important;border-style:none!important;border-width:0!important}.svg-icon{-webkit-mask-size:contain;mask-size:contain;width:20px;height:20px;background-color:gray}.svg-icon:hover{cursor:pointer}.ng-select ::ng-deep .ng-arrow-wrapper{display:none}.support-label{font-family:var(--font);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0px var(--small-16px)}.clicked-label{position:relative;width:max-content;font-family:var(--font);font-size:11px;font-style:normal;font-weight:500;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:0 var(--small-8px);margin-left:12px;margin-bottom:-8px;z-index:99;background-color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i2.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i3.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i3.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "component", type: ChipsComponent, selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText"], outputs: ["onClickEvent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
46
64
|
}
|
|
47
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: FormSelectComponent, decorators: [{
|
|
48
66
|
type: Component,
|
|
@@ -54,6 +72,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
54
72
|
ChipsComponent,
|
|
55
73
|
NgIf,
|
|
56
74
|
NgFor
|
|
57
|
-
], template: "<div [style.visibility]=\"(openState || topLabel) ? 'visible' : 'hidden'\" class=\"clicked-label\">{{params.label}}</div>\n<div class=\"ng-select-field {{openState ? 'activated' : 'idle'}} {{field.props.disabled ? 'disabled' : ''}}\">\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"left-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'left' || params.dropIconPosition == 'both')\">\n </div>\n\n <ng-select (change)=\"checkForZero($event)\" (remove)=\"shiftLabel('removed')\" (clear)=\"shiftLabel('cleared')\"\n (search)=\"openClose(true)\" (focus)=\"openClose(true)\" (blur)=\" openClose(false)\" [isOpen]=\"openState\"\n placeholder
|
|
75
|
+
], template: "<div [style.visibility]=\"(openState || topLabel) ? 'visible' : 'hidden'\" class=\"clicked-label\">{{params.label}}</div>\n<div class=\"ng-select-field {{openState ? 'activated' : 'idle'}} {{field.props.disabled ? 'disabled' : ''}}\">\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"left-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'left' || params.dropIconPosition == 'both')\">\n </div>\n\n <ng-select (change)=\"checkForZero($event)\" (remove)=\"shiftLabel('removed')\" (clear)=\"shiftLabel('cleared')\"\n (search)=\"openClose(true)\" (focus)=\"openClose(true)\" (blur)=\" openClose(false)\" [isOpen]=\"openState\"\n [placeholder]=\"placeholderLabel\" bindLabel=\"name\" [items]=\"selectables\" [multiple]=\"params.multiple\"\n [formControl]=\"formControl\" [style] [formlyAttributes]=\"field\" [searchable]=\"field.props['searchable']\">\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <div *ngFor=\"let item of (items ? items.slice(startInd,startInd+labelLimit): [])\">\n <sa-chip (onClickEvent)=\" (!field.props.disabled) ? clear(item) : null\" [id]=\"item.id\"\n [iconPath]=\"params.iconPath\" [text]=\"item.name\" [type]=\"params.type\"\n [state]=\"field.props.disabled ? 'neutral' : params.state\" [filling]=\"params.filling\"\n [iconPosition]=\"params.iconPosition\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('clicked')\" class=\"ng-value overflow-label\" *ngIf=\"items.length > (startInd+labelLimit)\">\n <sa-chip text=\"+{{items.length-(startInd+labelLimit)}}\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n <div (click)=\"shiftLabel('cleared')\" *ngIf=\"startInd == items.length-labelLimit\" class=\"ng-value overflow-label\">\n <sa-chip text=\"...\" type=\"regular\" state=\"default\" filling=\"filled\">\n </sa-chip>\n </div>\n </ng-template>\n </ng-select>\n\n <div role=\"button\" title=\"drop-button\" tabindex=\"0\" class=\"right-icon svg-icon\" [style]=\"svgStyle\"\n (click)=\"openClose(true)\" (blur)=\"openClose(false)\"\n *ngIf=\"(params.dropIconPosition == 'right' || params.dropIconPosition == 'both')\">\n </div>\n\n</div>\n<div class=\"support-label\">{{params.supportText}}</div>", styles: [".idle{--border: 1px solid var(--grey-50)}.activated{--border: 1px solid var(--primary-300)}.disabled{border:1px solid var(--grey-50)!important}.ng-select-field:hover{--border: 1px solid var(--primary-300);--font-color: var(--text-highemphasis)}.ng-select-field{width:100%;box-sizing:border-box;position:relative;display:inline-flex;padding:0px var(--small-12px);height:40px;justify-content:center;align-items:center;border:var(--border);border-radius:var(--small-4px);font-family:var(--font);font-size:14px;font-style:normal;font-weight:400;line-height:20px;letter-spacing:.25px;--font-color: var(--text-lowemphasis)}.ng-select{width:inherit;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0}.ng-select ::ng-deep .ng-select-container{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;font-family:var(--font);box-sizing:border-box;border:none}.ng-select ::ng-deep .ng-dropdown-panel{margin-top:2px;border:1px solid var(--grey-50);box-shadow:none!important}.ng-select ::ng-deep .ng-select-container{box-shadow:none!important;position:relative!important;z-index:1!important}.ng-select ::ng-deep .ng-value-container{padding:0!important;flex-wrap:nowrap!important;display:flex;justify-content:flex-start;gap:5px;overflow-x:hidden}.ng-select ::ng-deep .ng-value{flex:none;margin:0!important}.overflow-label{padding:0 5px;cursor:pointer}.ng-select ::ng-deep .ng-placeholder{padding:0!important;position:inherit!important;color:var(--text-lowemphasis)}.ng-select ::ng-deep .ng-input{padding:0!important;position:inherit!important}.ng-select ::ng-deep .ng-clear-wrapper{z-index:9;display:flex;margin-left:5px}.ng-select ::ng-deep .ng-arrow{border-color:none!important;border-style:none!important;border-width:0!important}.svg-icon{-webkit-mask-size:contain;mask-size:contain;width:20px;height:20px;background-color:gray}.svg-icon:hover{cursor:pointer}.ng-select ::ng-deep .ng-arrow-wrapper{display:none}.support-label{font-family:var(--font);font-size:11px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:var(--small-4px) var(--small-16px) 0px var(--small-16px)}.clicked-label{position:relative;width:max-content;font-family:var(--font);font-size:11px;font-style:normal;font-weight:500;line-height:16px;letter-spacing:.5px;color:var(--text-lowemphasis);padding:0 var(--small-8px);margin-left:12px;margin-bottom:-8px;z-index:99;background-color:#fff}\n"] }]
|
|
58
76
|
}] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50LWxpYnJhcnkvc3JjL2xpYi9mb3JtLXNlbGVjdC9mb3JtLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2Zvcm0tc2VsZWN0L2Zvcm0tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQWlCOUMsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQTBCO0lBZm5FOztRQW1CRSxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUUzQixhQUFRLEdBQVcsQ0FBQyxDQUFDO1FBQ3JCLGVBQVUsR0FBVyxDQUFDLENBQUM7S0F3Q3hCO0lBcENDLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFBO1FBQ3JELElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxvQkFBb0IsRUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxLQUFLO1lBQ3RELFlBQVksRUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHO1NBQzdDLENBQUE7SUFDSCxDQUFDO0lBQ0QsU0FBUyxDQUFDLEtBQWM7UUFDdEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUM3QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUNELFVBQVUsQ0FBQyxNQUFjO1FBQ3ZCLElBQUksTUFBTSxJQUFJLFNBQVM7WUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekMsSUFBSSxNQUFNLElBQUksU0FBUztZQUFFLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksTUFBTSxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUM7WUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUNELFlBQVksQ0FBQyxRQUFhLEVBQUUsS0FBZTtRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNwRCxzREFBc0Q7UUFDdEQsc0NBQXNDO1FBQ3RDLHdEQUF3RDtRQUN4RCxxREFBcUQ7UUFDckQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDOzhHQS9DVSxtQkFBbUI7a0dBQW5CLG1CQUFtQixrR0N2QmhDLHkzRUFxQ3VELGc5RUR6Qm5ELG1CQUFtQix5VEFDbkIsWUFBWSxxSkFFWixjQUFjLHMvQkFDZCxjQUFjLG1NQUNkLElBQUksNkZBQ0osS0FBSzs7MkZBS0ksbUJBQW1CO2tCQWYvQixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUDt3QkFDUCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsSUFBSTt3QkFDSixLQUFLO3FCQUNOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZpZWxkVHlwZUNvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4uL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1mb3JtLXNlbGVjdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE5nU2VsZWN0TW9kdWxlLFxuICAgIENoaXBzQ29tcG9uZW50LFxuICAgIE5nSWYsXG4gICAgTmdGb3JcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm0tc2VsZWN0LmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1TZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPiB7XG4gIHNlbGVjdGFibGVzOiBhbnk7XG4gIHBhcmFtczogYW55O1xuXG4gIHN2Z1N0eWxlID0ge307XG4gIG9wZW5TdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICB0b3BMYWJlbDogYm9vbGVhbjtcbiAgc3RhcnRJbmQ6IG51bWJlciA9IDA7XG4gIGxhYmVsTGltaXQ6IG51bWJlciA9IDI7XG5cbiAgcGxhY2Vob2xkZXJMYWJlbDogc3RyaW5nO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2VsZWN0YWJsZXMgPSB0aGlzLmZpZWxkLnByb3BzLm9wdGlvbnM7XG4gICAgdGhpcy5wYXJhbXMgPSB0aGlzLmZpZWxkLnByb3BzWydwYXJhbXMnXTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyTGFiZWwgPSB0aGlzLnBhcmFtcy5sYWJlbDtcbiAgICBjb25zb2xlLmxvZygnc2VhcmNoJywgdGhpcy5maWVsZC5wcm9wc1snc2VhcmNoYWJsZSddKVxuICAgIHRoaXMuc3ZnU3R5bGUgPSB7XG4gICAgICAnLXdlYmtpdC1tYXNrLWltYWdlJzogYHVybCgke3RoaXMucGFyYW1zLmRyb3BJY29ufSl9KWAsXG4gICAgICAnbWFzay1pbWFnZSc6IGB1cmwoJHt0aGlzLnBhcmFtcy5kcm9wSWNvbn0pYCxcbiAgICB9XG4gIH1cbiAgb3BlbkNsb3NlKHN0YXRlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuZmllbGQucHJvcHMuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLm9wZW5TdGF0ZSA9IHN0YXRlO1xuICAgIGlmIChzdGF0ZSB8fCB0aGlzLmZvcm1Db250cm9sLnZhbHVlPy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnBsYWNlaG9sZGVyTGFiZWwgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wbGFjZWhvbGRlckxhYmVsID0gdGhpcy5wYXJhbXMubGFiZWw7XG4gICAgfVxuICB9XG4gIHNoaWZ0TGFiZWwoYWN0aW9uOiBzdHJpbmcpIHtcbiAgICBpZiAoYWN0aW9uID09ICdjbGlja2VkJykgdGhpcy5zdGFydEluZCsrO1xuICAgIGlmIChhY3Rpb24gPT0gJ2NsZWFyZWQnKSB0aGlzLnN0YXJ0SW5kID0gMDtcbiAgICBpZiAoYWN0aW9uID09ICdyZW1vdmVkJyAmJiB0aGlzLnN0YXJ0SW5kID4gMCkgdGhpcy5zdGFydEluZC0tO1xuICB9XG4gIGNoZWNrRm9yWmVybyhzZWxlY3RlZDogYW55LCBzdGF0ZT86IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRvcExhYmVsID0gc2VsZWN0ZWQubGVuZ3RoID09IDAgPyBmYWxzZSA6IHRydWU7XG4gICAgLy8gY29uc29sZS5sb2coXCJ0ZXN0XCIsIHRoaXMuZm9ybUNvbnRyb2wudmFsdWU/Lmxlbmd0aClcbiAgICAvLyBjb25zb2xlLmxvZyhcInRlc3RcIiwgdGhpcy5vcGVuU3RhdGUpXG4gICAgLy8gY29uc29sZS5sb2coXCJwbGFjZWhvbGRlci0tLSBcIiwgdGhpcy5wbGFjZWhvbGRlckxhYmVsKVxuICAgIC8vIGNvbnNvbGUubG9nKFwicGFyYW1zLmxhYmVsLS0tIFwiLCB0aGlzLnBhcmFtcy5sYWJlbClcbiAgICBpZiAodGhpcy5vcGVuU3RhdGUgfHwgdGhpcy5mb3JtQ29udHJvbC52YWx1ZT8ubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5wbGFjZWhvbGRlckxhYmVsID0gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGxhY2Vob2xkZXJMYWJlbCA9IHRoaXMucGFyYW1zLmxhYmVsO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBbc3R5bGUudmlzaWJpbGl0eV09XCIob3BlblN0YXRlIHx8IHRvcExhYmVsKSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nXCIgY2xhc3M9XCJjbGlja2VkLWxhYmVsXCI+e3twYXJhbXMubGFiZWx9fTwvZGl2PlxuPGRpdiBjbGFzcz1cIm5nLXNlbGVjdC1maWVsZCB7e29wZW5TdGF0ZSA/ICdhY3RpdmF0ZWQnIDogJ2lkbGUnfX0ge3tmaWVsZC5wcm9wcy5kaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiAnJ319XCI+XG5cbiAgPGRpdiByb2xlPVwiYnV0dG9uXCIgdGl0bGU9XCJkcm9wLWJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwibGVmdC1pY29uIHN2Zy1pY29uXCIgW3N0eWxlXT1cInN2Z1N0eWxlXCJcbiAgICAoY2xpY2spPVwib3BlbkNsb3NlKHRydWUpXCIgKGJsdXIpPVwib3BlbkNsb3NlKGZhbHNlKVwiXG4gICAgKm5nSWY9XCIocGFyYW1zLmRyb3BJY29uUG9zaXRpb24gPT0gJ2xlZnQnIHx8IHBhcmFtcy5kcm9wSWNvblBvc2l0aW9uID09ICdib3RoJylcIj5cbiAgPC9kaXY+XG5cbiAgPG5nLXNlbGVjdCAoY2hhbmdlKT1cImNoZWNrRm9yWmVybygkZXZlbnQpXCIgKHJlbW92ZSk9XCJzaGlmdExhYmVsKCdyZW1vdmVkJylcIiAoY2xlYXIpPVwic2hpZnRMYWJlbCgnY2xlYXJlZCcpXCJcbiAgICAoc2VhcmNoKT1cIm9wZW5DbG9zZSh0cnVlKVwiIChmb2N1cyk9XCJvcGVuQ2xvc2UodHJ1ZSlcIiAoYmx1cik9XCIgb3BlbkNsb3NlKGZhbHNlKVwiIFtpc09wZW5dPVwib3BlblN0YXRlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJMYWJlbFwiIGJpbmRMYWJlbD1cIm5hbWVcIiBbaXRlbXNdPVwic2VsZWN0YWJsZXNcIiBbbXVsdGlwbGVdPVwicGFyYW1zLm11bHRpcGxlXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBbc3R5bGVdIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCIgW3NlYXJjaGFibGVdPVwiZmllbGQucHJvcHNbJ3NlYXJjaGFibGUnXVwiPlxuICAgIDxuZy10ZW1wbGF0ZSBuZy1tdWx0aS1sYWJlbC10bXAgbGV0LWl0ZW1zPVwiaXRlbXNcIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiAoaXRlbXMgPyBpdGVtcy5zbGljZShzdGFydEluZCxzdGFydEluZCtsYWJlbExpbWl0KTogW10pXCI+XG4gICAgICAgIDxzYS1jaGlwIChvbkNsaWNrRXZlbnQpPVwiICghZmllbGQucHJvcHMuZGlzYWJsZWQpID8gIGNsZWFyKGl0ZW0pIDogbnVsbFwiIFtpZF09XCJpdGVtLmlkXCJcbiAgICAgICAgICBbaWNvblBhdGhdPVwicGFyYW1zLmljb25QYXRoXCIgW3RleHRdPVwiaXRlbS5uYW1lXCIgW3R5cGVdPVwicGFyYW1zLnR5cGVcIlxuICAgICAgICAgIFtzdGF0ZV09XCJmaWVsZC5wcm9wcy5kaXNhYmxlZCA/ICduZXV0cmFsJyA6IHBhcmFtcy5zdGF0ZVwiIFtmaWxsaW5nXT1cInBhcmFtcy5maWxsaW5nXCJcbiAgICAgICAgICBbaWNvblBvc2l0aW9uXT1cInBhcmFtcy5pY29uUG9zaXRpb25cIj5cbiAgICAgICAgPC9zYS1jaGlwPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IChjbGljayk9XCJzaGlmdExhYmVsKCdjbGlja2VkJylcIiBjbGFzcz1cIm5nLXZhbHVlIG92ZXJmbG93LWxhYmVsXCIgKm5nSWY9XCJpdGVtcy5sZW5ndGggPiAoc3RhcnRJbmQrbGFiZWxMaW1pdClcIj5cbiAgICAgICAgPHNhLWNoaXAgdGV4dD1cIit7e2l0ZW1zLmxlbmd0aC0oc3RhcnRJbmQrbGFiZWxMaW1pdCl9fVwiIHR5cGU9XCJyZWd1bGFyXCIgc3RhdGU9XCJkZWZhdWx0XCIgZmlsbGluZz1cImZpbGxlZFwiPlxuICAgICAgICA8L3NhLWNoaXA+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKGNsaWNrKT1cInNoaWZ0TGFiZWwoJ2NsZWFyZWQnKVwiICpuZ0lmPVwic3RhcnRJbmQgPT0gaXRlbXMubGVuZ3RoLWxhYmVsTGltaXRcIiBjbGFzcz1cIm5nLXZhbHVlIG92ZXJmbG93LWxhYmVsXCI+XG4gICAgICAgIDxzYS1jaGlwIHRleHQ9XCIuLi5cIiB0eXBlPVwicmVndWxhclwiIHN0YXRlPVwiZGVmYXVsdFwiIGZpbGxpbmc9XCJmaWxsZWRcIj5cbiAgICAgICAgPC9zYS1jaGlwPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1zZWxlY3Q+XG5cbiAgPGRpdiByb2xlPVwiYnV0dG9uXCIgdGl0bGU9XCJkcm9wLWJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwicmlnaHQtaWNvbiBzdmctaWNvblwiIFtzdHlsZV09XCJzdmdTdHlsZVwiXG4gICAgKGNsaWNrKT1cIm9wZW5DbG9zZSh0cnVlKVwiIChibHVyKT1cIm9wZW5DbG9zZShmYWxzZSlcIlxuICAgICpuZ0lmPVwiKHBhcmFtcy5kcm9wSWNvblBvc2l0aW9uID09ICdyaWdodCcgfHwgcGFyYW1zLmRyb3BJY29uUG9zaXRpb24gPT0gJ2JvdGgnKVwiPlxuICA8L2Rpdj5cblxuPC9kaXY+XG48ZGl2IGNsYXNzPVwic3VwcG9ydC1sYWJlbFwiPnt7cGFyYW1zLnN1cHBvcnRUZXh0fX08L2Rpdj4iXX0=
|
|
@@ -62,7 +62,7 @@ export class GridCellComponent {
|
|
|
62
62
|
return false; // not sure what this return value does.
|
|
63
63
|
}
|
|
64
64
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: GridCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: GridCellComponent, isStandalone: true, selector: "lib-grid-cell", outputs: { onClickButtonEvent: "onClickButtonEvent", onClickChipEvent: "onClickChipEvent", onClickLinkEvent: "onClickLinkEvent", onClickAvatarEvent: "onClickAvatarEvent" }, ngImport: i0, template: "<div class=\"grid-cell {{params.cellType}}\">\n\n <img class=\"icons\" src={{params.iconPath}} [style.display]=\"(params.viewLeadingIcon) ? 'block' : 'none'\" alt=\"\">\n\n <sa-avatar [id]=\"params.avatarConfig?.id\" [altText]=\"params.avatarConfig?.altText\"\n [imagePath]=\"params.avatarConfig?.imagePath\" [size]=\"params.avatarConfig?.size\"\n [style.display]=\"(params.viewAvatar) ? 'block' : 'none'\" (onClickEvent)=\"avatarClicked($event)\">\n </sa-avatar>\n\n <div class=\"grid-text\" [style.display]=\"(params.viewText) ? 'block' : 'none'\">\n <div [style.display]=\"(params.text) ? 'block' : 'none'\" (click)=\"linkClicked()\" class=\"main-text\">{{params.text}}\n </div>\n\n <div [style.display]=\"(params.subText) ? 'block' : 'none'\" class=\"sub-text\">{{params.subText}}</div>\n </div>\n\n <img class=\"icons\" src={{params.iconPath}} [style.display]=\"(params.viewTrailingIcon) ? 'block' : 'none'\" alt=\"\">\n\n\n <sa-chip *ngFor=\"let config of params.chipConfig, let i = index\" [id]=\"config.id\" [filling]=\"config.filling\"\n id=\"chip_{{rowNum}}_{{config.id}}\" [iconPath]=\"config.iconPath\" [iconPosition]=\"config.iconPosition\"\n [largeStateIcon]=\"config.largeStateIcon\" [state]=\"config.state\" [type]=\"config.type\" [text]=\"config.text\"\n [style.display]=\"(params.viewChip) ? 'block' : 'none'\" (onClickEvent)=\"chipClicked($event)\"></sa-chip>\n\n <sa-button [iconPosition]=\"params.buttonConfig?.iconPosition\" [ImagePath]=\"params.buttonConfig?.imagePath\"\n [id]=\"params.buttonConfig?.id\" [size]=\"params.buttonConfig?.size\" [state]=\"params.buttonConfig?.state\"\n [type]=\"params.buttonConfig?.type\" [text]=\"params.buttonConfig?.text\" [href]=\"params.buttonConfig?.href\"\n [hrefTarget]=\"params.buttonConfig?.hrefTarget\" [style.display]=\"(params.viewButton) ? 'block' : 'none'\"\n (onClickEvent)=\"buttonClicked($event)\"></sa-button>\n\n</div>\n", styles: [".header{--bg: var(--primary-50);--color: var(--text-highemphasis);--border: none;--flex-direction: left}.header:hover{cursor:pointer}.row{--color: var(--text-highemphasis);--cursor: default;--border: var(--grey-50);--flex-direction: left}.numeric{--color: var(--text-highemphasis);--cursor: default;--border: var(--grey-50);--flex-direction: right}.interactive{--color: var(--primary-500);--cursor: pointer;--border: var(--grey-50);--flex-direction: left}.grid-cell{display:flex;height:48px;padding:var(--small-12px);justify-content:var(--flex-direction);align-items:center;gap:var(--small-8px);flex-shrink:0;font-family:var(--font);box-sizing:border-box;border-bottom:1px solid var(--border);width:calc(100% - 20px);background-color:var(--bg)}.grid-text{display:flex;flex-direction:column}.main-text{color:var(--color);font-size:14px;font-weight:400;height:20px;line-height:20px}.main-text:hover{cursor:var(--cursor)}.sub-text{font-size:11px;font-weight:400;height:16px;line-height:16px;color:var(--text-mediumemphasis)}.icons{width:var(--medium-20px);height:var(--medium-20px)}\n"], dependencies: [{ kind: "component", type: AvatarComponent, selector: "sa-avatar", inputs: ["id", "imagePath", "altText", "size"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }, { kind: "component", type: ChipsComponent, selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText"], outputs: ["onClickEvent"] }, { kind: "component", type: ButtonComponent, selector: "sa-button", inputs: ["id", "type", "state", "size", "text", "ImagePath", "iconPosition", "href", "hrefTarget", "isSubmit"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: GridCellComponent, isStandalone: true, selector: "lib-grid-cell", outputs: { onClickButtonEvent: "onClickButtonEvent", onClickChipEvent: "onClickChipEvent", onClickLinkEvent: "onClickLinkEvent", onClickAvatarEvent: "onClickAvatarEvent" }, ngImport: i0, template: "<div class=\"grid-cell {{params.cellType}}\">\n\n <img class=\"icons\" src={{params.iconPath}} [style.display]=\"(params.viewLeadingIcon) ? 'block' : 'none'\" alt=\"\">\n\n <sa-avatar [id]=\"params.avatarConfig?.id\" [altText]=\"params.avatarConfig?.altText\"\n [imagePath]=\"params.avatarConfig?.imagePath\" [size]=\"params.avatarConfig?.size\"\n [style.display]=\"(params.viewAvatar) ? 'block' : 'none'\" (onClickEvent)=\"avatarClicked($event)\">\n </sa-avatar>\n\n <div class=\"grid-text\" [style.display]=\"(params.viewText) ? 'block' : 'none'\">\n <div [style.display]=\"(params.text) ? 'block' : 'none'\" (click)=\"linkClicked()\" class=\"main-text\">{{params.text}}\n </div>\n\n <div [style.display]=\"(params.subText) ? 'block' : 'none'\" class=\"sub-text\">{{params.subText}}</div>\n </div>\n\n <img class=\"icons\" src={{params.iconPath}} [style.display]=\"(params.viewTrailingIcon) ? 'block' : 'none'\" alt=\"\">\n\n\n <sa-chip *ngFor=\"let config of params.chipConfig, let i = index\" [id]=\"config.id\" [filling]=\"config.filling\"\n id=\"chip_{{rowNum}}_{{config.id}}\" [iconPath]=\"config.iconPath\" [iconPosition]=\"config.iconPosition\"\n [largeStateIcon]=\"config.largeStateIcon\" [state]=\"config.state\" [type]=\"config.type\" [text]=\"config.text\"\n [style.display]=\"(params.viewChip) ? 'block' : 'none'\" (onClickEvent)=\"chipClicked($event)\"></sa-chip>\n\n <sa-button [iconPosition]=\"params.buttonConfig?.iconPosition\" [ImagePath]=\"params.buttonConfig?.imagePath\"\n [id]=\"params.buttonConfig?.id\" [size]=\"params.buttonConfig?.size\" [state]=\"params.buttonConfig?.state\"\n [type]=\"params.buttonConfig?.type\" [text]=\"params.buttonConfig?.text\" [href]=\"params.buttonConfig?.href\"\n [hrefTarget]=\"params.buttonConfig?.hrefTarget\" [style.display]=\"(params.viewButton) ? 'block' : 'none'\"\n (onClickEvent)=\"buttonClicked($event)\"></sa-button>\n\n</div>\n", styles: [".header{--bg: var(--primary-50);--color: var(--text-highemphasis);--border: none;--flex-direction: left}.header:hover{cursor:pointer}.row{--color: var(--text-highemphasis);--cursor: default;--border: var(--grey-50);--flex-direction: left}.numeric{--color: var(--text-highemphasis);--cursor: default;--border: var(--grey-50);--flex-direction: right}.interactive{--color: var(--primary-500);--cursor: pointer;--border: var(--grey-50);--flex-direction: left}.grid-cell{display:flex;height:48px;padding:var(--small-12px);justify-content:var(--flex-direction);align-items:center;gap:var(--small-8px);flex-shrink:0;font-family:var(--font);box-sizing:border-box;border-bottom:1px solid var(--border);width:calc(100% - 20px);background-color:var(--bg)}.grid-text{display:flex;flex-direction:column}.main-text{color:var(--color);font-size:14px;font-weight:400;height:20px;line-height:20px}.main-text:hover{cursor:var(--cursor)}.sub-text{font-size:11px;font-weight:400;height:16px;line-height:16px;color:var(--text-mediumemphasis)}.icons{width:var(--medium-20px);height:var(--medium-20px)}\n"], dependencies: [{ kind: "component", type: AvatarComponent, selector: "sa-avatar", inputs: ["id", "imagePath", "altText", "size"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }, { kind: "component", type: ChipsComponent, selector: "sa-chip", inputs: ["id", "iconPath", "text", "type", "state", "filling", "iconPosition", "largeStateIcon", "largeStateText"], outputs: ["onClickEvent"] }, { kind: "component", type: ButtonComponent, selector: "sa-button", inputs: ["id", "type", "state", "size", "text", "ImagePath", "iconPosition", "href", "hrefTarget", "width", "isSubmit"], outputs: ["onClickEvent", "onMouseInEvent", "onMouseOutEvent"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
66
66
|
}
|
|
67
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: GridCellComponent, decorators: [{
|
|
68
68
|
type: Component,
|
|
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
81
81
|
}], onClickAvatarEvent: [{
|
|
82
82
|
type: Output
|
|
83
83
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvZ3JpZC1jZWxsL2dyaWQtY2VsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2dyaWQtY2VsbC9ncmlkLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZ0J4QyxNQUFNLE9BQU8saUJBQWlCO0lBWjlCO1FBZ0JZLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0E0RG5EO0lBMURDLGFBQWEsQ0FBQyxHQUFVO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ3JELEdBQUcsR0FBRztZQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNuQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFB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QUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCwgSUhlYWRlckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7IEdyaWRJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2dyaWQtaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdyaWQtY2VsbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgQ2hpcHNDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIE5nRm9yXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ3JpZC1jZWxsLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRDZWxsQ29tcG9uZW50IGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wLCBJSGVhZGVyQW5ndWxhckNvbXAge1xuICBwYXJhbXM6IEdyaWRJbnRlcmZhY2U7XG4gIHJvd051bTogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKSBvbkNsaWNrQnV0dG9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkNsaWNrQ2hpcEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25DbGlja0xpbmtFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uQ2xpY2tBdmF0YXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBidXR0b25DbGlja2VkKGV2dDogRXZlbnQpIHtcbiAgICB0aGlzLnBhcmFtcy5idXR0b25DbGlja2VkICYmIHRoaXMucGFyYW1zLmJ1dHRvbkNsaWNrZWQoeyAgICAgICAgICAgIC8vIGNhbGxzIHRoZSBmdW5jdGlvbiBwYXNzZWQgdmlhIHBhcmFtcyBpbiBncmlkSW50ZXJmYWNlLlxuICAgICAgLi4uZXZ0LFxuICAgICAgcm93SWQ6IHRoaXMucm93TnVtXG4gICAgfSk7XG4gICAgdGhpcy5vbkNsaWNrQnV0dG9uRXZlbnQuZW1pdCh7IC4uLmV2dCwgcm93SWQ6IHRoaXMucm93TnVtIH0pOyAgICAgIC8vIHRoaXMgZXZlbnQgaXNuJ3QgY2F1Z2h0IGJ5IGFueXRoaW5nLiBcbiAgfVxuXG4gIC8vIGFib3ZlIGZ1bmN0aW9uIGJlaGF2aW9yIGlzIHNhbWUgZm9yIGFsbCBmdW5jdGlvbnMgaW4gdGhpcyBjbGFzc1xuXG4gIGNoaXBDbGlja2VkKGV2dDogRXZlbnQpIHtcbiAgICB0aGlzLnBhcmFtcy5jaGlwQ2xpY2tlZCAmJiB0aGlzLnBhcmFtcy5jaGlwQ2xpY2tlZCh7XG4gICAgICAuLi5ldnQsXG4gICAgICByb3dJZDogdGhpcy5yb3dOdW1cbiAgICB9KTtcbiAgICB0aGlzLm9uQ2xpY2tDaGlwRXZlbnQuZW1pdCh7IC4uLmV2dCwgcm93SWQ6IHRoaXMucm93TnVtIH0pO1xuICB9XG5cbiAgbGlua0NsaWNrZWQoKSB7XG4gICAgaWYgKHRoaXMucGFyYW1zLmNlbGxUeXBlICE9IFwiaW50ZXJhY3RpdmVcIikgcmV0dXJuO1xuXG4gICAgdGhpcy5wYXJhbXMubGlua0NsaWNrZWQgJiYgdGhpcy5wYXJhbXMubGlua0NsaWNrZWQoeyAgICAgICAgIC8vY2FsbGluZyBmdW5jdGlvbiBwYXNzZWQgaW4gcGFyYW1zIHdpdGggcm93SWQgb2JqZWN0IGluIGFyZ3VtZW50c1xuICAgICAgcm93SWQ6IHRoaXMucm93TnVtXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5wYXJhbXMuaW50ZXJhY3RpdmVMaW5rICE9IFwiXCIpIHtcbiAgICAgIGlmICh0aGlzLnBhcmFtcy5pbnRlcmFjdGl2ZUxpbmtUYXJnZXQgPT0gXCJibGFua1wiKSB7XG4gICAgICAgIHdpbmRvdy5vcGVuKHRoaXMucGFyYW1zLmludGVyYWN0aXZlTGluaykhO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAodGhpcy5wYXJhbXMuaW50ZXJhY3RpdmVMaW5rVGFyZ2V0ID09IFwic2VsZlwiKSB7XG4gICAgICAgIGxvY2F0aW9uLmhyZWYgPSB0aGlzLnBhcmFtcy5pbnRlcmFjdGl2ZUxpbmshO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm9uQ2xpY2tMaW5rRXZlbnQuZW1pdCh7IHJvd0lkOiB0aGlzLnJvd051bSB9KTtcbiAgfVxuXG4gIGF2YXRhckNsaWNrZWQoZXZ0OiBFdmVudCkge1xuICAgIHRoaXMucGFyYW1zLmF2YXRhckNsaWNrZWQgJiYgdGhpcy5wYXJhbXMuYXZhdGFyQ2xpY2tlZCh7XG4gICAgICAuLi5ldnQsXG4gICAgICByb3dJZDogdGhpcy5yb3dOdW1cbiAgICB9KTtcbiAgICB0aGlzLm9uQ2xpY2tDaGlwRXZlbnQuZW1pdCh7IC4uLmV2dCwgcm93SWQ6IHRoaXMucm93TnVtIH0pO1xuICB9XG5cbiAgYWdJbml0KGluUGFyYW1zOiBhbnkpOiB2b2lkIHsgICAgICAgICAgLy8gbXVzdCBleGlzdCB3aGVuIGNsYXNzIGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIC8gSUhlYWRlckFuZ3VsYXJDb21wXG5cbiAgICB0aGlzLnJvd051bSA9IGluUGFyYW1zLnJvd0luZGV4O1xuICAgIHRoaXMucGFyYW1zID0gaW5QYXJhbXMudmFsdWU7ICAgICAgIC8vIGluUGFyYW1zLnZhbHVlIGV4aXN0cyB3aGVuIGdyaWRDZWxsIGlzIHJlbmRlcmVkIGFzIGNlbGwsIGBjZWxsUmVuZGVyZXI6IEdyaWRDZWxsQ29tcG9uZW50YFxuICAgIGlmIChpblBhcmFtcy52YWx1ZSA9PSB1bmRlZmluZWQpIHsgICAgLy8gaW5QYXJhbXMudmFsdWUgaXMgdW5kZWZpbmVkIHdoZW4gZ3JpZENlbGwgaXMgcmVuZGVyZWQgYXMgaGVhZGVyLCBgaGVhZGVyQ29tcG9uZW50OiBHcmlkQ2VsbENvbXBvbmVudGAsIFxuICAgICAgdGhpcy5wYXJhbXMgPSBpblBhcmFtc1xuICAgIH1cbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhcmFtcyk7XG4gIH1cblxuICByZWZyZXNoKHBhcmFtczogYW55KSB7ICAgICAvLyBtdXN0IGV4aXN0IHdoZW4gY2xhc3MgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAgLyBJSGVhZGVyQW5ndWxhckNvbXBcbiAgICByZXR1cm4gZmFsc2U7ICAgICAgICAgICAvLyBub3Qgc3VyZSB3aGF0IHRoaXMgcmV0dXJuIHZhbHVlIGRvZXMuXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImdyaWQtY2VsbCB7e3BhcmFtcy5jZWxsVHlwZX19XCI+XG5cbiAgPGltZyBjbGFzcz1cImljb25zXCIgc3JjPXt7cGFyYW1zLmljb25QYXRofX0gW3N0eWxlLmRpc3BsYXldPVwiKHBhcmFtcy52aWV3TGVhZGluZ0ljb24pID8gJ2Jsb2NrJyA6ICdub25lJ1wiIGFsdD1cIlwiPlxuXG4gIDxzYS1hdmF0YXIgW2lkXT1cInBhcmFtcy5hdmF0YXJDb25maWc/LmlkXCIgW2FsdFRleHRdPVwicGFyYW1zLmF2YXRhckNvbmZpZz8uYWx0VGV4dFwiXG4gICAgW2ltYWdlUGF0aF09XCJwYXJhbXMuYXZhdGFyQ29uZmlnPy5pbWFnZVBhdGhcIiBbc2l6ZV09XCJwYXJhbXMuYXZhdGFyQ29uZmlnPy5zaXplXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCIocGFyYW1zLnZpZXdBdmF0YXIpID8gJ2Jsb2NrJyA6ICdub25lJ1wiIChvbkNsaWNrRXZlbnQpPVwiYXZhdGFyQ2xpY2tlZCgkZXZlbnQpXCI+XG4gIDwvc2EtYXZhdGFyPlxuXG4gIDxkaXYgY2xhc3M9XCJncmlkLXRleHRcIiBbc3R5bGUuZGlzcGxheV09XCIocGFyYW1zLnZpZXdUZXh0KSA/ICdibG9jaycgOiAnbm9uZSdcIj5cbiAgICA8ZGl2IFtzdHlsZS5kaXNwbGF5XT1cIihwYXJhbXMudGV4dCkgPyAnYmxvY2snIDogJ25vbmUnXCIgKGNsaWNrKT1cImxpbmtDbGlja2VkKClcIiBjbGFzcz1cIm1haW4tdGV4dFwiPnt7cGFyYW1zLnRleHR9fVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBbc3R5bGUuZGlzcGxheV09XCIocGFyYW1zLnN1YlRleHQpID8gJ2Jsb2NrJyA6ICdub25lJ1wiIGNsYXNzPVwic3ViLXRleHRcIj57e3BhcmFtcy5zdWJUZXh0fX08L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGltZyBjbGFzcz1cImljb25zXCIgc3JjPXt7cGFyYW1zLmljb25QYXRofX0gW3N0eWxlLmRpc3BsYXldPVwiKHBhcmFtcy52aWV3VHJhaWxpbmdJY29uKSA/ICdibG9jaycgOiAnbm9uZSdcIiBhbHQ9XCJcIj5cblxuXG4gIDxzYS1jaGlwICpuZ0Zvcj1cImxldCBjb25maWcgb2YgcGFyYW1zLmNoaXBDb25maWcsIGxldCBpID0gaW5kZXhcIiBbaWRdPVwiY29uZmlnLmlkXCIgW2ZpbGxpbmddPVwiY29uZmlnLmZpbGxpbmdcIlxuICAgIGlkPVwiY2hpcF97e3Jvd051bX19X3t7Y29uZmlnLmlkfX1cIiBbaWNvblBhdGhdPVwiY29uZmlnLmljb25QYXRoXCIgW2ljb25Qb3NpdGlvbl09XCJjb25maWcuaWNvblBvc2l0aW9uXCJcbiAgICBbbGFyZ2VTdGF0ZUljb25dPVwiY29uZmlnLmxhcmdlU3RhdGVJY29uXCIgW3N0YXRlXT1cImNvbmZpZy5zdGF0ZVwiIFt0eXBlXT1cImNvbmZpZy50eXBlXCIgW3RleHRdPVwiY29uZmlnLnRleHRcIlxuICAgIFtzdHlsZS5kaXNwbGF5XT1cIihwYXJhbXMudmlld0NoaXApID8gJ2Jsb2NrJyA6ICdub25lJ1wiIChvbkNsaWNrRXZlbnQpPVwiY2hpcENsaWNrZWQoJGV2ZW50KVwiPjwvc2EtY2hpcD5cblxuICA8c2EtYnV0dG9uIFtpY29uUG9zaXRpb25dPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uaWNvblBvc2l0aW9uXCIgW0ltYWdlUGF0aF09XCJwYXJhbXMuYnV0dG9uQ29uZmlnPy5pbWFnZVBhdGhcIlxuICAgIFtpZF09XCJwYXJhbXMuYnV0dG9uQ29uZmlnPy5pZFwiIFtzaXplXT1cInBhcmFtcy5idXR0b25Db25maWc/LnNpemVcIiBbc3RhdGVdPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uc3RhdGVcIlxuICAgIFt0eXBlXT1cInBhcmFtcy5idXR0b25Db25maWc/LnR5cGVcIiBbdGV4dF09XCJwYXJhbXMuYnV0dG9uQ29uZmlnPy50ZXh0XCIgW2hyZWZdPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uaHJlZlwiXG4gICAgW2hyZWZUYXJnZXRdPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uaHJlZlRhcmdldFwiIFtzdHlsZS5kaXNwbGF5XT1cIihwYXJhbXMudmlld0J1dHRvbikgPyAnYmxvY2snIDogJ25vbmUnXCJcbiAgICAob25DbGlja0V2ZW50KT1cImJ1dHRvbkNsaWNrZWQoJGV2ZW50KVwiPjwvc2EtYnV0dG9uPlxuXG48L2Rpdj5cbiJdfQ==
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudC1saWJyYXJ5L3NyYy9saWIvZ3JpZC1jZWxsL2dyaWQtY2VsbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnQtbGlicmFyeS9zcmMvbGliL2dyaWQtY2VsbC9ncmlkLWNlbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZ0J4QyxNQUFNLE9BQU8saUJBQWlCO0lBWjlCO1FBZ0JZLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3RDLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7S0E0RG5EO0lBMURDLGFBQWEsQ0FBQyxHQUFVO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ3JELEdBQUcsR0FBRztZQUNOLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNuQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFB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QUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uL2F2YXRhci9hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IENoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi4vY2hpcHMvY2hpcHMuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCwgSUhlYWRlckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7IEdyaWRJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2dyaWQtaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWdyaWQtY2VsbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBBdmF0YXJDb21wb25lbnQsXG4gICAgQ2hpcHNDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIE5nRm9yXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZ3JpZC1jZWxsLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRDZWxsQ29tcG9uZW50IGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wLCBJSGVhZGVyQW5ndWxhckNvbXAge1xuICBwYXJhbXM6IEdyaWRJbnRlcmZhY2U7XG4gIHJvd051bTogbnVtYmVyO1xuXG4gIEBPdXRwdXQoKSBvbkNsaWNrQnV0dG9uRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkNsaWNrQ2hpcEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25DbGlja0xpbmtFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uQ2xpY2tBdmF0YXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBidXR0b25DbGlja2VkKGV2dDogRXZlbnQpIHtcbiAgICB0aGlzLnBhcmFtcy5idXR0b25DbGlja2VkICYmIHRoaXMucGFyYW1zLmJ1dHRvbkNsaWNrZWQoeyAgICAgICAgICAgIC8vIGNhbGxzIHRoZSBmdW5jdGlvbiBwYXNzZWQgdmlhIHBhcmFtcyBpbiBncmlkSW50ZXJmYWNlLlxuICAgICAgLi4uZXZ0LFxuICAgICAgcm93SWQ6IHRoaXMucm93TnVtXG4gICAgfSk7XG4gICAgdGhpcy5vbkNsaWNrQnV0dG9uRXZlbnQuZW1pdCh7IC4uLmV2dCwgcm93SWQ6IHRoaXMucm93TnVtIH0pOyAgICAgIC8vIHRoaXMgZXZlbnQgaXNuJ3QgY2F1Z2h0IGJ5IGFueXRoaW5nLiBcbiAgfVxuXG4gIC8vIGFib3ZlIGZ1bmN0aW9uIGJlaGF2aW9yIGlzIHNhbWUgZm9yIGFsbCBmdW5jdGlvbnMgaW4gdGhpcyBjbGFzc1xuXG4gIGNoaXBDbGlja2VkKGV2dDogRXZlbnQpIHtcbiAgICB0aGlzLnBhcmFtcy5jaGlwQ2xpY2tlZCAmJiB0aGlzLnBhcmFtcy5jaGlwQ2xpY2tlZCh7XG4gICAgICAuLi5ldnQsXG4gICAgICByb3dJZDogdGhpcy5yb3dOdW1cbiAgICB9KTtcbiAgICB0aGlzLm9uQ2xpY2tDaGlwRXZlbnQuZW1pdCh7IC4uLmV2dCwgcm93SWQ6IHRoaXMucm93TnVtIH0pO1xuICB9XG5cbiAgbGlua0NsaWNrZWQoKSB7XG4gICAgaWYgKHRoaXMucGFyYW1zLmNlbGxUeXBlICE9IFwiaW50ZXJhY3RpdmVcIikgcmV0dXJuO1xuXG4gICAgdGhpcy5wYXJhbXMubGlua0NsaWNrZWQgJiYgdGhpcy5wYXJhbXMubGlua0NsaWNrZWQoeyAgICAgICAgIC8vY2FsbGluZyBmdW5jdGlvbiBwYXNzZWQgaW4gcGFyYW1zIHdpdGggcm93SWQgb2JqZWN0IGluIGFyZ3VtZW50c1xuICAgICAgcm93SWQ6IHRoaXMucm93TnVtXG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5wYXJhbXMuaW50ZXJhY3RpdmVMaW5rICE9IFwiXCIpIHtcbiAgICAgIGlmICh0aGlzLnBhcmFtcy5pbnRlcmFjdGl2ZUxpbmtUYXJnZXQgPT0gXCJibGFua1wiKSB7XG4gICAgICAgIHdpbmRvdy5vcGVuKHRoaXMucGFyYW1zLmludGVyYWN0aXZlTGluaykhO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAodGhpcy5wYXJhbXMuaW50ZXJhY3RpdmVMaW5rVGFyZ2V0ID09IFwic2VsZlwiKSB7XG4gICAgICAgIGxvY2F0aW9uLmhyZWYgPSB0aGlzLnBhcmFtcy5pbnRlcmFjdGl2ZUxpbmshO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm9uQ2xpY2tMaW5rRXZlbnQuZW1pdCh7IHJvd0lkOiB0aGlzLnJvd051bSB9KTtcbiAgfVxuXG4gIGF2YXRhckNsaWNrZWQoZXZ0OiBFdmVudCkge1xuICAgIHRoaXMucGFyYW1zLmF2YXRhckNsaWNrZWQgJiYgdGhpcy5wYXJhbXMuYXZhdGFyQ2xpY2tlZCh7XG4gICAgICAuLi5ldnQsXG4gICAgICByb3dJZDogdGhpcy5yb3dOdW1cbiAgICB9KTtcbiAgICB0aGlzLm9uQ2xpY2tDaGlwRXZlbnQuZW1pdCh7IC4uLmV2dCwgcm93SWQ6IHRoaXMucm93TnVtIH0pO1xuICB9XG5cbiAgYWdJbml0KGluUGFyYW1zOiBhbnkpOiB2b2lkIHsgICAgICAgICAgLy8gbXVzdCBleGlzdCB3aGVuIGNsYXNzIGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIC8gSUhlYWRlckFuZ3VsYXJDb21wXG5cbiAgICB0aGlzLnJvd051bSA9IGluUGFyYW1zLnJvd0luZGV4O1xuICAgIHRoaXMucGFyYW1zID0gaW5QYXJhbXMudmFsdWU7ICAgICAgIC8vIGluUGFyYW1zLnZhbHVlIGV4aXN0cyB3aGVuIGdyaWRDZWxsIGlzIHJlbmRlcmVkIGFzIGNlbGwsIGBjZWxsUmVuZGVyZXI6IEdyaWRDZWxsQ29tcG9uZW50YFxuICAgIGlmIChpblBhcmFtcy52YWx1ZSA9PSB1bmRlZmluZWQpIHsgICAgLy8gaW5QYXJhbXMudmFsdWUgaXMgdW5kZWZpbmVkIHdoZW4gZ3JpZENlbGwgaXMgcmVuZGVyZWQgYXMgaGVhZGVyLCBgaGVhZGVyQ29tcG9uZW50OiBHcmlkQ2VsbENvbXBvbmVudGAsIFxuICAgICAgdGhpcy5wYXJhbXMgPSBpblBhcmFtc1xuICAgIH1cbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnBhcmFtcyk7XG4gIH1cblxuICByZWZyZXNoKHBhcmFtczogYW55KSB7ICAgICAvLyBtdXN0IGV4aXN0IHdoZW4gY2xhc3MgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAgLyBJSGVhZGVyQW5ndWxhckNvbXBcbiAgICByZXR1cm4gZmFsc2U7ICAgICAgICAgICAvLyBub3Qgc3VyZSB3aGF0IHRoaXMgcmV0dXJuIHZhbHVlIGRvZXMuXG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImdyaWQtY2VsbCB7e3BhcmFtcy5jZWxsVHlwZX19XCI+XG5cbiAgPGltZyBjbGFzcz1cImljb25zXCIgc3JjPXt7cGFyYW1zLmljb25QYXRofX0gW3N0eWxlLmRpc3BsYXldPVwiKHBhcmFtcy52aWV3TGVhZGluZ0ljb24pID8gJ2Jsb2NrJyA6ICdub25lJ1wiIGFsdD1cIlwiPlxuXG4gIDxzYS1hdmF0YXIgW2lkXT1cInBhcmFtcy5hdmF0YXJDb25maWc/LmlkXCIgW2FsdFRleHRdPVwicGFyYW1zLmF2YXRhckNvbmZpZz8uYWx0VGV4dFwiXG4gICAgW2ltYWdlUGF0aF09XCJwYXJhbXMuYXZhdGFyQ29uZmlnPy5pbWFnZVBhdGhcIiBbc2l6ZV09XCJwYXJhbXMuYXZhdGFyQ29uZmlnPy5zaXplXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCIocGFyYW1zLnZpZXdBdmF0YXIpID8gJ2Jsb2NrJyA6ICdub25lJ1wiIChvbkNsaWNrRXZlbnQpPVwiYXZhdGFyQ2xpY2tlZCgkZXZlbnQpXCI+XG4gIDwvc2EtYXZhdGFyPlxuXG4gIDxkaXYgY2xhc3M9XCJncmlkLXRleHRcIiBbc3R5bGUuZGlzcGxheV09XCIocGFyYW1zLnZpZXdUZXh0KSA/ICdibG9jaycgOiAnbm9uZSdcIj5cbiAgICA8ZGl2IFtzdHlsZS5kaXNwbGF5XT1cIihwYXJhbXMudGV4dCkgPyAnYmxvY2snIDogJ25vbmUnXCIgKGNsaWNrKT1cImxpbmtDbGlja2VkKClcIiBjbGFzcz1cIm1haW4tdGV4dFwiPnt7cGFyYW1zLnRleHR9fVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBbc3R5bGUuZGlzcGxheV09XCIocGFyYW1zLnN1YlRleHQpID8gJ2Jsb2NrJyA6ICdub25lJ1wiIGNsYXNzPVwic3ViLXRleHRcIj57e3BhcmFtcy5zdWJUZXh0fX08L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGltZyBjbGFzcz1cImljb25zXCIgc3JjPXt7cGFyYW1zLmljb25QYXRofX0gW3N0eWxlLmRpc3BsYXldPVwiKHBhcmFtcy52aWV3VHJhaWxpbmdJY29uKSA/ICdibG9jaycgOiAnbm9uZSdcIiBhbHQ9XCJcIj5cblxuXG4gIDxzYS1jaGlwICpuZ0Zvcj1cImxldCBjb25maWcgb2YgcGFyYW1zLmNoaXBDb25maWcsIGxldCBpID0gaW5kZXhcIiBbaWRdPVwiY29uZmlnLmlkXCIgW2ZpbGxpbmddPVwiY29uZmlnLmZpbGxpbmdcIlxuICAgIGlkPVwiY2hpcF97e3Jvd051bX19X3t7Y29uZmlnLmlkfX1cIiBbaWNvblBhdGhdPVwiY29uZmlnLmljb25QYXRoXCIgW2ljb25Qb3NpdGlvbl09XCJjb25maWcuaWNvblBvc2l0aW9uXCJcbiAgICBbbGFyZ2VTdGF0ZUljb25dPVwiY29uZmlnLmxhcmdlU3RhdGVJY29uXCIgW3N0YXRlXT1cImNvbmZpZy5zdGF0ZVwiIFt0eXBlXT1cImNvbmZpZy50eXBlXCIgW3RleHRdPVwiY29uZmlnLnRleHRcIlxuICAgIFtzdHlsZS5kaXNwbGF5XT1cIihwYXJhbXMudmlld0NoaXApID8gJ2Jsb2NrJyA6ICdub25lJ1wiIChvbkNsaWNrRXZlbnQpPVwiY2hpcENsaWNrZWQoJGV2ZW50KVwiPjwvc2EtY2hpcD5cblxuICA8c2EtYnV0dG9uIFtpY29uUG9zaXRpb25dPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uaWNvblBvc2l0aW9uXCIgW0ltYWdlUGF0aF09XCJwYXJhbXMuYnV0dG9uQ29uZmlnPy5pbWFnZVBhdGhcIlxuICAgIFtpZF09XCJwYXJhbXMuYnV0dG9uQ29uZmlnPy5pZFwiIFtzaXplXT1cInBhcmFtcy5idXR0b25Db25maWc/LnNpemVcIiBbc3RhdGVdPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uc3RhdGVcIlxuICAgIFt0eXBlXT1cInBhcmFtcy5idXR0b25Db25maWc/LnR5cGVcIiBbdGV4dF09XCJwYXJhbXMuYnV0dG9uQ29uZmlnPy50ZXh0XCIgW2hyZWZdPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uaHJlZlwiXG4gICAgW2hyZWZUYXJnZXRdPVwicGFyYW1zLmJ1dHRvbkNvbmZpZz8uaHJlZlRhcmdldFwiIFtzdHlsZS5kaXNwbGF5XT1cIihwYXJhbXMudmlld0J1dHRvbikgPyAnYmxvY2snIDogJ25vbmUnXCJcbiAgICAob25DbGlja0V2ZW50KT1cImJ1dHRvbkNsaWNrZWQoJGV2ZW50KVwiPjwvc2EtYnV0dG9uPlxuXG48L2Rpdj5cbiJdfQ==
|