ecabs-components 1.1.54 → 1.1.56
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/README.md +4 -2
- package/esm2022/lib/base/consts/error-messages.consts.mjs +13 -1
- package/esm2022/lib/ecabs-buttons-v2/ecabs-buttons-v2.component.mjs +62 -0
- package/esm2022/lib/ecabs-buttons-v2/ecabs-buttons-v2.module.mjs +21 -0
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +2 -2
- package/esm2022/lib/ecabs-date-range-picker-v2/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header-v2.component.mjs +21 -0
- package/esm2022/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.mjs +256 -0
- package/esm2022/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.module.mjs +76 -0
- package/esm2022/public-api.mjs +6 -1
- package/fesm2022/ecabs-components.mjs +424 -24
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/ecabs-buttons-v2/ecabs-buttons-v2.component.d.ts +24 -0
- package/lib/ecabs-buttons-v2/ecabs-buttons-v2.module.d.ts +11 -0
- package/lib/ecabs-date-range-picker-v2/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header-v2.component.d.ts +9 -0
- package/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.d.ts +70 -0
- package/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.module.d.ts +21 -0
- package/package.json +1 -1
- package/public-api.d.ts +5 -0
- package/src/assets/styles/scss/modules/_form.scss +74 -1
- package/src/assets/styles/scss/utilities/_variables.scss +1 -0
- package/src/assets/styles/tailwind/index.scss +1 -1
package/README.md
CHANGED
|
@@ -112,5 +112,7 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C
|
|
|
112
112
|
- **v1.1.50** — Add `Documentation` for `EcabsTableModule`.
|
|
113
113
|
- **v1.1.51** — Implement option of displaying dynamic content for `EcabsTableComponent` when empty.
|
|
114
114
|
- **v1.1.52** — Update styling overrides for Material nav-style tabs, including active state.
|
|
115
|
-
- **v1.1.53** —
|
|
116
|
-
- **v1.1.54** —
|
|
115
|
+
- **v1.1.53** — Introduce new gray color palette and update references and apply styling improvements.
|
|
116
|
+
- **v1.1.54** — Implement `EcabsButtonToggleComponent` with support for small, medium, and large sizes.
|
|
117
|
+
- **v1.1.55** — `EcabsButtonsV2Component`: Added version 2 of `EcabsButtonsComponent` with support for small, medium, and large sizes.
|
|
118
|
+
- **v1.1.56** — Implement `EcabsDateRangePickerComponentV2`.
|
|
@@ -91,5 +91,17 @@ export const errorMessages = [
|
|
|
91
91
|
type: 'alphanumeric',
|
|
92
92
|
message: 'FORMS.VALIDATION.ALPHANUMERIC',
|
|
93
93
|
},
|
|
94
|
+
{
|
|
95
|
+
type: 'dateFromRangeRequired',
|
|
96
|
+
message: 'FORMS.VALIDATION.DATE_FROM_RANGE_REQUIRED',
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
type: 'dateToRangeRequired',
|
|
100
|
+
message: 'FORMS.VALIDATION.DATE_TO_RANGE_REQUIRED',
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
type: 'dateFromMoreThanDateTo',
|
|
104
|
+
message: 'FORMS.VALIDATION.DATE_FROM_MORE_THAN_DATE_TO',
|
|
105
|
+
},
|
|
94
106
|
];
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZXMuY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2Jhc2UvY29uc3RzL2Vycm9yLW1lc3NhZ2VzLmNvbnN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQW1CO0lBQzNDO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLGlDQUFpQztLQUMzQztJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFdBQVc7UUFDakIsT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLEtBQUs7UUFDWCxPQUFPLEVBQUUsc0JBQXNCO0tBQ2hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsS0FBSztRQUNYLE9BQU8sRUFBRSxzQkFBc0I7S0FDaEM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSw0QkFBNEI7S0FDdEM7SUFDRDtRQUNFLElBQUksRUFBRSxVQUFVO1FBQ2hCLE9BQU8sRUFBRSw0QkFBNEI7S0FDdEM7SUFDRDtRQUNFLElBQUksRUFBRSxxQkFBcUI7UUFDM0IsT0FBTyxFQUFFLHdDQUF3QztLQUNsRDtJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLGdDQUFnQztLQUMxQztJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLDRCQUE0QjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLE9BQU87UUFDYixPQUFPLEVBQUUsd0JBQXdCO0tBQ2xDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRSxrQ0FBa0M7S0FDNUM7SUFDRDtRQUNFLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsT0FBTyxFQUFFLGtDQUFrQztLQUM1QztJQUNEO1FBQ0UsSUFBSSxFQUFFLFlBQVk7UUFDbEIsT0FBTyxFQUFFLCtCQUErQjtLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsdUJBQXVCO0tBQ2pDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUsaUNBQWlDO0tBQzNDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsYUFBYTtRQUNuQixPQUFPLEVBQUUsOEJBQThCO0tBQ3hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE9BQU8sRUFBRSxvQ0FBb0M7S0FDOUM7SUFDRDtRQUNFLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsT0FBTyxFQUFFLDRDQUE0QztLQUN0RDtJQUNEO1FBQ0UsSUFBSSxFQUFFLFlBQVk7UUFDbEIsT0FBTyxFQUFFLDZCQUE2QjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLGNBQWM7UUFDcEIsT0FBTyxFQUFFLCtCQUErQjtLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixPQUFPLEVBQUUsMkNBQTJDO0tBQ3JEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLE9BQU8sRUFBRSx5Q0FBeUM7S0FDbkQ7SUFDRDtRQUNFLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsT0FBTyxFQUFFLDhDQUE4QztLQUN4RDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvck1lc3NhZ2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lY2Ficy1jb21wb25lbnRzLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZVtdID0gW1xyXG4gIHtcclxuICAgIHR5cGU6ICdyZXF1aXJlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5MQUJFTF9SRVFVSVJFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnbWlubGVuZ3RoJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLk1JTl9MRU5HVEgnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ21heGxlbmd0aCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5NQVhfTEVOR1RIJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdtaW4nLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uTUlOJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdtYXgnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uTUFYJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdtaW5WYWx1ZScsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5NSU5fVkFMVUUnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ21heFZhbHVlJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLk1BWF9WQUxVRScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAndmFsaWRhdGVQaG9uZU51bWJlcicsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5WQUxJREFURV9QSE9ORV9OVU1CRVInLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ3Bhc3REYXRlJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLlBBU1RfREFURScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnYWZmZWN0c0Vycm9yJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLkFGRkVDVFNfRVJST1InLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ21vcmVUaGFuJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLk1PUkVfVEhBTicsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnbGVzc1RoYW4nLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uTEVTU19USEFOJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdlbWFpbCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5FTUFJTCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnbnVtYmVyTW9yZVRoYW4nLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uVkFMVUVfTU9SRV9USEFOJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdudW1iZXJMZXNzVGhhbicsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5WQUxVRV9MRVNTX1RIQU4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ291dE9mUmFuZ2UnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uT1VUX09GX1JBTkdFJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdpYmFuJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLklCQU4nLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ3RpbWVJc0FmdGVyJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLkxFU1NfVEhBTl9USU1FJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICdibGFja2xpc3RlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5CTEFDS0xJU1RFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnZnJvbVRvTm90Rm91bmQnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uRlJPTV9UT19OT1RfRk9VTkQnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2Zyb21Ub05vdENvcnJlY3RDb3VudCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5GUk9NX1RPX05PVF9DT1JSRUNUX0NPVU5UJyxcclxuICB9LFxyXG4gIHtcclxuICAgIHR5cGU6ICd3aGl0ZXNwYWNlJyxcclxuICAgIG1lc3NhZ2U6ICdGT1JNUy5WQUxJREFUSU9OLldISVRFU1BBQ0UnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2FscGhhbnVtZXJpYycsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5BTFBIQU5VTUVSSUMnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2RhdGVGcm9tUmFuZ2VSZXF1aXJlZCcsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5EQVRFX0ZST01fUkFOR0VfUkVRVUlSRUQnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdHlwZTogJ2RhdGVUb1JhbmdlUmVxdWlyZWQnLFxyXG4gICAgbWVzc2FnZTogJ0ZPUk1TLlZBTElEQVRJT04uREFURV9UT19SQU5HRV9SRVFVSVJFRCcsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0eXBlOiAnZGF0ZUZyb21Nb3JlVGhhbkRhdGVUbycsXHJcbiAgICBtZXNzYWdlOiAnRk9STVMuVkFMSURBVElPTi5EQVRFX0ZST01fTU9SRV9USEFOX0RBVEVfVE8nLFxyXG4gIH0sXHJcbl07XHJcbiJdfQ==
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/material/button";
|
|
5
|
+
import * as i3 from "../ecabs-loading/spinner/spinner.component";
|
|
6
|
+
export class ButtonsV2Component {
|
|
7
|
+
disabled = false;
|
|
8
|
+
loading = false;
|
|
9
|
+
size = 'medium';
|
|
10
|
+
type = 'button';
|
|
11
|
+
style = 'basic';
|
|
12
|
+
color = 'primary';
|
|
13
|
+
fullWidth = false;
|
|
14
|
+
hostWidth = '';
|
|
15
|
+
classAttr = '';
|
|
16
|
+
ngOnChanges(changes) {
|
|
17
|
+
const disableInteraction = this.disabled || this.loading;
|
|
18
|
+
this.classAttr = disableInteraction ? 'pointer-events-none' : '';
|
|
19
|
+
if (changes['fullWidth']) {
|
|
20
|
+
this.updateHostWidth();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
updateHostWidth() {
|
|
24
|
+
this.hostWidth = this.fullWidth ? '100%' : '';
|
|
25
|
+
}
|
|
26
|
+
get sizeClass() {
|
|
27
|
+
return `ecabs-button-v2--${this.size}`;
|
|
28
|
+
}
|
|
29
|
+
get buttonClasses() {
|
|
30
|
+
return {
|
|
31
|
+
'!w-full': this.fullWidth,
|
|
32
|
+
'loading !leading-none': this.loading
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsV2Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ButtonsV2Component, selector: "ecabs-buttons-v2", inputs: { disabled: "disabled", loading: "loading", size: "size", type: "type", style: "style", color: "color", fullWidth: "fullWidth" }, host: { properties: { "style.width": "this.hostWidth", "class": "this.classAttr" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"style\">\r\n <button \r\n mat-flat-button \r\n *ngSwitchCase=\"'flat'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-stroked-button \r\n *ngSwitchCase=\"'stroked'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-raised-button \r\n *ngSwitchCase=\"'raised'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-button \r\n *ngSwitchCase=\"'basic'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n</ng-container>\r\n\r\n<ng-template #content>\r\n <ecabs-loading-spinner \r\n size=\"tiny\" \r\n *ngIf=\"loading\"\r\n >\r\n </ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [".ecabs-button-v2--small.mat-mdc-button,.ecabs-button-v2--small.mat-mdc-outlined-button,.ecabs-button-v2--small.mat-mdc-unelevated-button,.ecabs-button-v2--small.mat-mdc-raised-button{height:32px;min-width:90px;padding:0 12px;font-size:12px;font-weight:600;line-height:18px;letter-spacing:0;border-radius:8px;text-align:center}.ecabs-button-v2--medium.mat-mdc-button,.ecabs-button-v2--medium.mat-mdc-outlined-button,.ecabs-button-v2--medium.mat-mdc-unelevated-button,.ecabs-button-v2--medium.mat-mdc-raised-button{height:40px;min-width:120px;padding:0 16px;font-size:14px;font-weight:600;line-height:21px;letter-spacing:0;border-radius:8px;text-align:center}.ecabs-button-v2--large.mat-mdc-button,.ecabs-button-v2--large.mat-mdc-outlined-button,.ecabs-button-v2--large.mat-mdc-unelevated-button,.ecabs-button-v2--large.mat-mdc-raised-button{height:48px;min-width:140px;padding:0 20px;font-size:16px;font-weight:600;line-height:24px;letter-spacing:0;border-radius:8px;text-align:center}.ecabs-button-v2--small.mat-mdc-button,.ecabs-button-v2--medium.mat-mdc-button,.ecabs-button-v2--large.mat-mdc-button{color:var(--color-gray-500)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.EcabsSpinnerComponent, selector: "ecabs-loading-spinner", inputs: ["size"] }] });
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ButtonsV2Component, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: 'ecabs-buttons-v2', template: "<ng-container [ngSwitch]=\"style\">\r\n <button \r\n mat-flat-button \r\n *ngSwitchCase=\"'flat'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-stroked-button \r\n *ngSwitchCase=\"'stroked'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-raised-button \r\n *ngSwitchCase=\"'raised'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [color]=\"color\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n <button \r\n mat-button \r\n *ngSwitchCase=\"'basic'\" \r\n [ngClass]=\"buttonClasses\" \r\n [class]=\"sizeClass\" \r\n [disabled]=\"disabled\" \r\n [type]=\"type\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\r\n </button>\r\n</ng-container>\r\n\r\n<ng-template #content>\r\n <ecabs-loading-spinner \r\n size=\"tiny\" \r\n *ngIf=\"loading\"\r\n >\r\n </ecabs-loading-spinner>\r\n <ng-container *ngIf=\"!loading\">\r\n <ng-content select=\"mat-icon\"></ng-content>\r\n <ng-content></ng-content>\r\n </ng-container>\r\n</ng-template>\r\n", styles: [".ecabs-button-v2--small.mat-mdc-button,.ecabs-button-v2--small.mat-mdc-outlined-button,.ecabs-button-v2--small.mat-mdc-unelevated-button,.ecabs-button-v2--small.mat-mdc-raised-button{height:32px;min-width:90px;padding:0 12px;font-size:12px;font-weight:600;line-height:18px;letter-spacing:0;border-radius:8px;text-align:center}.ecabs-button-v2--medium.mat-mdc-button,.ecabs-button-v2--medium.mat-mdc-outlined-button,.ecabs-button-v2--medium.mat-mdc-unelevated-button,.ecabs-button-v2--medium.mat-mdc-raised-button{height:40px;min-width:120px;padding:0 16px;font-size:14px;font-weight:600;line-height:21px;letter-spacing:0;border-radius:8px;text-align:center}.ecabs-button-v2--large.mat-mdc-button,.ecabs-button-v2--large.mat-mdc-outlined-button,.ecabs-button-v2--large.mat-mdc-unelevated-button,.ecabs-button-v2--large.mat-mdc-raised-button{height:48px;min-width:140px;padding:0 20px;font-size:16px;font-weight:600;line-height:24px;letter-spacing:0;border-radius:8px;text-align:center}.ecabs-button-v2--small.mat-mdc-button,.ecabs-button-v2--medium.mat-mdc-button,.ecabs-button-v2--large.mat-mdc-button{color:var(--color-gray-500)}\n"] }]
|
|
41
|
+
}], propDecorators: { disabled: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], loading: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], size: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], type: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], style: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], color: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], fullWidth: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], hostWidth: [{
|
|
56
|
+
type: HostBinding,
|
|
57
|
+
args: ['style.width']
|
|
58
|
+
}], classAttr: [{
|
|
59
|
+
type: HostBinding,
|
|
60
|
+
args: ['class']
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtYnV0dG9ucy12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtYnV0dG9ucy12Mi9lY2Ficy1idXR0b25zLXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1idXR0b25zLXYyL2VjYWJzLWJ1dHRvbnMtdjIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFXeEYsTUFBTSxPQUFPLGtCQUFrQjtJQUU3QixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBR2pCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFHaEIsSUFBSSxHQUFlLFFBQVEsQ0FBQztJQUc1QixJQUFJLEdBQXdCLFFBQVEsQ0FBQztJQUdyQyxLQUFLLEdBQWdCLE9BQU8sQ0FBQztJQUc3QixLQUFLLEdBQW9DLFNBQVMsQ0FBQztJQUduRCxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBR2xCLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFHZixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBRWYsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3pELElBQUksQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFakUsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxvQkFBb0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPO1lBQ0wsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLHVCQUF1QixFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RDLENBQUM7SUFDSixDQUFDO3dHQWxEVSxrQkFBa0I7NEZBQWxCLGtCQUFrQiw2U0NYL0IsMmlEQXlEQTs7NEZEOUNhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxrQkFBa0I7OEJBTTVCLFFBQVE7c0JBRFAsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLFdBQVc7dUJBQUMsYUFBYTtnQkFJMUIsU0FBUztzQkFEUixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBCdXR0b25TdHlsZSB9IGZyb20gJy4uL2Jhc2UvY29uc3RzL2J1dHRvbnMuY29uc3RzJztcclxuXHJcbmV4cG9ydCB0eXBlIEJ1dHRvblNpemUgPSAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1idXR0b25zLXYyJyxcclxuICBzdHlsZVVybHM6IFsnLi9lY2Ficy1idXR0b25zLXYyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWJ1dHRvbnMtdjIuY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnV0dG9uc1YyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNpemU6IEJ1dHRvblNpemUgPSAnbWVkaXVtJztcclxuXHJcbiAgQElucHV0KClcclxuICB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnID0gJ2J1dHRvbic7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc3R5bGU6IEJ1dHRvblN0eWxlID0gJ2Jhc2ljJztcclxuXHJcbiAgQElucHV0KClcclxuICBjb2xvcjogVGhlbWVQYWxldHRlIHwgJ3N1Y2Nlc3MnIHwgbnVsbCA9ICdwcmltYXJ5JztcclxuXHJcbiAgQElucHV0KClcclxuICBmdWxsV2lkdGggPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXHJcbiAgaG9zdFdpZHRoID0gJyc7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxyXG4gIGNsYXNzQXR0ciA9ICcnO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaXNhYmxlSW50ZXJhY3Rpb24gPSB0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9hZGluZztcclxuICAgIHRoaXMuY2xhc3NBdHRyID0gZGlzYWJsZUludGVyYWN0aW9uID8gJ3BvaW50ZXItZXZlbnRzLW5vbmUnIDogJyc7XHJcblxyXG4gICAgaWYgKGNoYW5nZXNbJ2Z1bGxXaWR0aCddKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlSG9zdFdpZHRoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUhvc3RXaWR0aCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaG9zdFdpZHRoID0gdGhpcy5mdWxsV2lkdGggPyAnMTAwJScgOiAnJztcclxuICB9XHJcblxyXG4gIGdldCBzaXplQ2xhc3MoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgZWNhYnMtYnV0dG9uLXYyLS0ke3RoaXMuc2l6ZX1gO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGJ1dHRvbkNsYXNzZXMoKTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgJyF3LWZ1bGwnOiB0aGlzLmZ1bGxXaWR0aCxcclxuICAgICAgJ2xvYWRpbmcgIWxlYWRpbmctbm9uZSc6IHRoaXMubG9hZGluZ1xyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwic3R5bGVcIj5cclxuICA8YnV0dG9uIFxyXG4gICAgbWF0LWZsYXQtYnV0dG9uIFxyXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidmbGF0J1wiIFxyXG4gICAgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3Nlc1wiIFxyXG4gICAgW2NsYXNzXT1cInNpemVDbGFzc1wiIFxyXG4gICAgW2NvbG9yXT1cImNvbG9yXCIgXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcclxuICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gID5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxidXR0b24gXHJcbiAgICBtYXQtc3Ryb2tlZC1idXR0b24gXHJcbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ3N0cm9rZWQnXCIgXHJcbiAgICBbbmdDbGFzc109XCJidXR0b25DbGFzc2VzXCIgXHJcbiAgICBbY2xhc3NdPVwic2l6ZUNsYXNzXCIgXHJcbiAgICBbY29sb3JdPVwiY29sb3JcIiBcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFxyXG4gICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBcclxuICAgIG1hdC1yYWlzZWQtYnV0dG9uIFxyXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidyYWlzZWQnXCIgXHJcbiAgICBbbmdDbGFzc109XCJidXR0b25DbGFzc2VzXCIgXHJcbiAgICBbY2xhc3NdPVwic2l6ZUNsYXNzXCIgXHJcbiAgICBbY29sb3JdPVwiY29sb3JcIiBcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFxyXG4gICAgW3R5cGVdPVwidHlwZVwiXHJcbiAgPlxyXG4gICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9idXR0b24+XHJcbiAgPGJ1dHRvbiBcclxuICAgIG1hdC1idXR0b24gXHJcbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2Jhc2ljJ1wiIFxyXG4gICAgW25nQ2xhc3NdPVwiYnV0dG9uQ2xhc3Nlc1wiIFxyXG4gICAgW2NsYXNzXT1cInNpemVDbGFzc1wiIFxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgXHJcbiAgICBbdHlwZV09XCJ0eXBlXCJcclxuICA+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2J1dHRvbj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XHJcbiAgPGVjYWJzLWxvYWRpbmctc3Bpbm5lciBcclxuICAgIHNpemU9XCJ0aW55XCIgXHJcbiAgICAqbmdJZj1cImxvYWRpbmdcIlxyXG4gID5cclxuICA8L2VjYWJzLWxvYWRpbmctc3Bpbm5lcj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdcIj5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1hdC1pY29uXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { ButtonsV2Component } from './ecabs-buttons-v2.component';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
+
import { EcabsLoadingModule } from '../ecabs-loading/ecabs-loading.module';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class EcabsButtonsV2Module {
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsButtonsV2Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsButtonsV2Module, declarations: [ButtonsV2Component], imports: [CommonModule, MatButtonModule, EcabsLoadingModule, MatIconModule], exports: [ButtonsV2Component] });
|
|
11
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsButtonsV2Module, imports: [CommonModule, MatButtonModule, EcabsLoadingModule, MatIconModule] });
|
|
12
|
+
}
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsButtonsV2Module, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [ButtonsV2Component],
|
|
17
|
+
imports: [CommonModule, MatButtonModule, EcabsLoadingModule, MatIconModule],
|
|
18
|
+
exports: [ButtonsV2Component],
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtYnV0dG9ucy12Mi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtYnV0dG9ucy12Mi9lY2Ficy1idXR0b25zLXYyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQU8zRSxNQUFNLE9BQU8sb0JBQW9CO3dHQUFwQixvQkFBb0I7eUdBQXBCLG9CQUFvQixpQkFKaEIsa0JBQWtCLGFBQ3ZCLFlBQVksRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxhQUNoRSxrQkFBa0I7eUdBRWpCLG9CQUFvQixZQUhyQixZQUFZLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGFBQWE7OzRGQUcvRCxvQkFBb0I7a0JBTGhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxDQUFDO29CQUMzRSxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBCdXR0b25zVjJDb21wb25lbnQgfSBmcm9tICcuL2VjYWJzLWJ1dHRvbnMtdjIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBFY2Fic0xvYWRpbmdNb2R1bGUgfSBmcm9tICcuLi9lY2Ficy1sb2FkaW5nL2VjYWJzLWxvYWRpbmcubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbQnV0dG9uc1YyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIEVjYWJzTG9hZGluZ01vZHVsZSwgTWF0SWNvbk1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0J1dHRvbnNWMkNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0J1dHRvbnNWMk1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -88,7 +88,7 @@ export class EcabsCheckboxToggleComponent extends EcabsElementBaseComponent {
|
|
|
88
88
|
useExisting: EcabsCheckboxToggleComponent,
|
|
89
89
|
multi: true,
|
|
90
90
|
},
|
|
91
|
-
], viewQueries: [{ propertyName: "matCheckbox", first: true, predicate: MatCheckbox, descendants: true }, { propertyName: "matSlideToggle", first: true, predicate: MatSlideToggle, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <mat-checkbox\r\n (change)=\"change($event)\"\r\n (click)=\"onClick($event)\"\r\n (blur)=\"onBlur()\"\r\n [checked]=\"checked\"\r\n [indeterminate]=\"indeterminate\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n [labelPosition]=\"labelPosition\"\r\n [ngClass]=\"{ 'indeterminate': indeterminate }\"\r\n *ngSwitchCase=\"'checkbox'\"\r\n >\r\n {{ text }}\r\n </mat-checkbox>\r\n\r\n <mat-slide-toggle\r\n (change)=\"change($event)\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [labelPosition]=\"labelPosition\"\r\n *ngSwitchCase=\"'toggle'\"\r\n >{{ text }}</mat-slide-toggle\r\n >\r\n </ng-container>\r\n</ecabs-element-wrapper>\r\n", styles: [":root{--color-black: #020618;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CAD5E2;--color-gray-400: #90A1B9;--color-gray-500: #62748E;--color-gray-600: #45556C;--color-gray-700: #314158;--color-gray-800: #1D293D;--color-gray-900: #0F172B;--color-gray-950: #020618;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #075145;--color-success--opacity: #affebf;--color-success-rgb: 7, 81, 69;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5);--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-500: #64748b;--color-slate-900: #0f172a}.form-field__subscript--wrapper,form-field__subscript--wrapper,.form-field--required .form-field__label:after,form-field--required .form-field__label:after{position:absolute;content:\"\"}.form-field--required .form-field__label:after,form-field--required .form-field__label:after{content:\"*\"!important;margin-left:.2rem;margin-top:2px;color:var(--color-error)}.form-field,form-field{margin-bottom:1rem;position:relative}.form-field__label,form-field__label{font-size:12px;font-size:.75rem;display:inline-block;margin-bottom:.25rem;color:var(--color-gray-500);cursor:pointer}.form-field__label .icon,form-field__label .icon{font-size:16px;font-size:1rem;display:inline;vertical-align:middle;margin-left:.375rem}.form-field__label-note,form-field__label-note{font-size:14px;font-size:.875rem;display:inline-block;margin-bottom:.25rem;color:var(--color-gray-400);cursor:pointer}.form-field__input,form-field__input{font-size:16px;font-size:1rem;display:block;width:100%;padding:.5rem 1rem;border-radius:.25rem;border:1px solid var(--color-gray-500);color:var(--color-black);line-height:1.5}.form-field__input:focus,form-field__input:focus{border-color:var(--color-brand-dark)}.form-field__input:focus-visible,form-field__input:focus-visible{outline:none}.form-field__input--wrapper,form-field__input--wrapper{display:flex;position:relative;line-height:1}.form-field__input--suffix,.form-field__textarea--prefix,form-field__textarea--prefix,.form-field__input--prefix,form-field__input--prefix,form-field__input--suffix{position:absolute!important;top:50%;right:1rem;color:var(--color-gray-500);transform:translateY(-50%)}.form-field__input--suffix,.form-field__textarea--prefix,form-field__textarea--prefix,.form-field__input--prefix,form-field__input--prefix,.form-field__input--suffix i,.form-field__textarea--prefix i,form-field__textarea--prefix i,.form-field__input--prefix i,form-field__input--prefix i,.form-field__input--suffix .mat-icon,.form-field__textarea--prefix .mat-icon,form-field__textarea--prefix .mat-icon,.form-field__input--prefix .mat-icon,form-field__input--prefix .mat-icon,form-field__input--suffix,form-field__input--suffix i,form-field__input--suffix .mat-icon{font-size:18px;font-size:1.125rem;width:1.125rem;height:1.125rem}.form-field__input--prefix,form-field__input--prefix{right:unset;left:1rem}.form-field__input--disabled,form-field__input--disabled{background-color:var(--color-gray-100);border-color:transparent}.form-field__input--invalid,form-field__input--invalid{border-color:var(--color-error);color:var(--color-error)}.form-field__textarea,form-field__textarea{font-size:16px;font-size:1rem;display:block;width:100%;padding:1rem;border-radius:.25rem;border:1px solid var(--color-gray-500);color:var(--color-black);line-height:1.5}.form-field__textarea:focus,form-field__textarea:focus{border-color:var(--color-brand-dark)}.form-field__textarea--wrapper,form-field__textarea--wrapper{display:flex;position:relative;line-height:1}.form-field__textarea--suffix,form-field__textarea--suffix{position:absolute!important;top:50%;right:1rem;color:var(--color-gray-500);transform:translateY(-50%)}.form-field__textarea--suffix,.form-field__textarea--suffix i,.form-field__textarea--suffix .mat-icon,form-field__textarea--suffix,form-field__textarea--suffix i,form-field__textarea--suffix .mat-icon{font-size:18px;font-size:1.125rem;width:1.125rem;height:1.125rem}.form-field__textarea--prefix,form-field__textarea--prefix{right:unset;left:1rem}.form-field__textarea--disabled,form-field__textarea--disabled{background-color:var(--color-gray-100);border-color:transparent}.form-field--invalid,.form-field--invalid .form-field__input,.form-field--invalid .form-field__textarea,form-field--invalid,form-field--invalid .form-field__input,form-field--invalid .form-field__textarea{color:var(--color-error);border-color:var(--color-error)}.form-field__validation,form-field__validation{padding-top:.5rem;font-size:12px;font-size:.75rem;color:var(--color-error)}.form-field__validation--item,form-field__validation--item{padding-bottom:.6rem}.form-field__validation--item:last-of-type,form-field__validation--item:last-of-type{padding-bottom:0}.form-field__subscript--wrapper,form-field__subscript--wrapper{margin-top:1.2rem}.form-field.disabled input,.form-field.disabled textarea,form-field.disabled input,form-field.disabled textarea{background-color:var(--color-white-opacity-05);border-color:var(--color-gray-300)}.form-field .spinner,form-field .spinner{position:absolute;right:.25rem;top:1.85rem}.form-field .hint,form-field .hint{font-size:10px;text-align:right;margin-right:1.0625rem;transform:translateY(-1rem);margin-bottom:-1rem}.form .mat-mdc-form-field-appearance-standard .mat-mdc-form-field-flex,form .mat-mdc-form-field-appearance-standard .mat-mdc-form-field-flex{padding-top:0}.form .mat-mdc-form-field-infix,form .mat-mdc-form-field-infix{border-top:0}.form .mat-mdc-form-field .mat-mdc-form-field-flex,form .mat-mdc-form-field .mat-mdc-form-field-flex{padding-top:0}.mat-mdc-form-field-type-mat-date-range-input .mat-mdc-form-field-infix{width:auto}.mat-mdc-text-field-wrapper{padding-bottom:0}:host::ng-deep .form-field{display:flex;margin:0}:host::ng-deep .mat-mdc-slide-toggle .mdc-label{font-size:14px;font-size:.875rem}:host::ng-deep .mat-mdc-slide-toggle{margin-right:.96rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
91
|
+
], viewQueries: [{ propertyName: "matCheckbox", first: true, predicate: MatCheckbox, descendants: true }, { propertyName: "matSlideToggle", first: true, predicate: MatSlideToggle, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <mat-checkbox\r\n (change)=\"change($event)\"\r\n (click)=\"onClick($event)\"\r\n (blur)=\"onBlur()\"\r\n [checked]=\"checked\"\r\n [indeterminate]=\"indeterminate\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n [labelPosition]=\"labelPosition\"\r\n [ngClass]=\"{ 'indeterminate': indeterminate }\"\r\n *ngSwitchCase=\"'checkbox'\"\r\n >\r\n {{ text }}\r\n </mat-checkbox>\r\n\r\n <mat-slide-toggle\r\n (change)=\"change($event)\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [labelPosition]=\"labelPosition\"\r\n *ngSwitchCase=\"'toggle'\"\r\n >{{ text }}</mat-slide-toggle\r\n >\r\n </ng-container>\r\n</ecabs-element-wrapper>\r\n", styles: [":root{--color-black: #020618;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CAD5E2;--color-gray-400: #90A1B9;--color-gray-500: #62748E;--color-gray-600: #45556C;--color-gray-700: #314158;--color-gray-800: #1D293D;--color-gray-900: #0F172B;--color-gray-950: #020618;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #075145;--color-success--opacity: #affebf;--color-success-rgb: 7, 81, 69;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5);--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-500: #64748b;--color-slate-900: #0f172a}.form-field__subscript--wrapper,form-field__subscript--wrapper,.form-field--required .form-field__label:after,form-field--required .form-field__label:after{position:absolute;content:\"\"}.form-field--required .form-field__label:after,form-field--required .form-field__label:after{content:\"*\"!important;margin-left:.2rem;margin-top:2px;color:var(--color-error)}.form-field,form-field{margin-bottom:1rem;position:relative}.form-field__label,form-field__label{font-size:12px;font-size:.75rem;display:inline-block;margin-bottom:.25rem;color:var(--color-gray-500);cursor:pointer}.form-field__label .icon,form-field__label .icon{font-size:16px;font-size:1rem;display:inline;vertical-align:middle;margin-left:.375rem}.form-field__label-note,form-field__label-note{font-size:14px;font-size:.875rem;display:inline-block;margin-bottom:.25rem;color:var(--color-gray-400);cursor:pointer}.form-field__input,form-field__input{font-size:16px;font-size:1rem;display:block;width:100%;padding:.5rem 1rem;border-radius:.25rem;border:1px solid var(--color-gray-500);color:var(--color-black);line-height:1.5}.form-field__input:focus,form-field__input:focus{border-color:var(--color-brand-dark)}.form-field__input:focus-visible,form-field__input:focus-visible{outline:none}.form-field__input--wrapper,form-field__input--wrapper{display:flex;position:relative;line-height:1}.form-field__input--suffix,.form-field__textarea--prefix,form-field__textarea--prefix,.form-field__input--prefix,form-field__input--prefix,form-field__input--suffix{position:absolute!important;top:50%;right:1rem;color:var(--color-gray-500);transform:translateY(-50%)}.form-field__input--suffix,.form-field__textarea--prefix,form-field__textarea--prefix,.form-field__input--prefix,form-field__input--prefix,.form-field__input--suffix i,.form-field__textarea--prefix i,form-field__textarea--prefix i,.form-field__input--prefix i,form-field__input--prefix i,.form-field__input--suffix .mat-icon,.form-field__textarea--prefix .mat-icon,form-field__textarea--prefix .mat-icon,.form-field__input--prefix .mat-icon,form-field__input--prefix .mat-icon,form-field__input--suffix,form-field__input--suffix i,form-field__input--suffix .mat-icon{font-size:18px;font-size:1.125rem;width:1.125rem;height:1.125rem}.form-field__input--prefix,form-field__input--prefix{right:unset;left:1rem}.form-field__input--disabled,form-field__input--disabled{background-color:var(--color-gray-100);border-color:transparent}.form-field__input--invalid,form-field__input--invalid{border-color:var(--color-error);color:var(--color-error)}.form-field__textarea,form-field__textarea{font-size:16px;font-size:1rem;display:block;width:100%;padding:1rem;border-radius:.25rem;border:1px solid var(--color-gray-500);color:var(--color-black);line-height:1.5}.form-field__textarea:focus,form-field__textarea:focus{border-color:var(--color-brand-dark)}.form-field__textarea--wrapper,form-field__textarea--wrapper{display:flex;position:relative;line-height:1}.form-field__textarea--suffix,form-field__textarea--suffix{position:absolute!important;top:50%;right:1rem;color:var(--color-gray-500);transform:translateY(-50%)}.form-field__textarea--suffix,.form-field__textarea--suffix i,.form-field__textarea--suffix .mat-icon,form-field__textarea--suffix,form-field__textarea--suffix i,form-field__textarea--suffix .mat-icon{font-size:18px;font-size:1.125rem;width:1.125rem;height:1.125rem}.form-field__textarea--prefix,form-field__textarea--prefix{right:unset;left:1rem}.form-field__textarea--disabled,form-field__textarea--disabled{background-color:var(--color-gray-100);border-color:transparent}.form-field__range,form-field__range{font-size:16px;font-size:1rem;display:block;width:100%;padding:.5rem 1rem;color:var(--color-black);line-height:1.5;border:none}.form-field__range:focus-visible,form-field__range:focus-visible{outline:none}.form-field__range--wrapper,form-field__range--wrapper{display:grid;grid-template-columns:1fr auto 1fr;border-radius:.75rem;border:1px solid var(--color-gray-300);align-items:center;line-height:1;background-color:var(--color-white)}.form-field__range--wrapper:focus-within,form-field__range--wrapper:focus-within{border-color:var(--color-brand-dark)}.form-field__range--suffix,.form-field__range--prefix,form-field__range--prefix,form-field__range--suffix{position:absolute!important;top:50%;right:1rem;color:var(--color-gray-500);transform:translateY(-50%)}.form-field__range--suffix,.form-field__range--prefix,form-field__range--prefix,.form-field__range--suffix i,.form-field__range--prefix i,form-field__range--prefix i,.form-field__range--suffix .mat-icon,.form-field__range--prefix .mat-icon,form-field__range--prefix .mat-icon,form-field__range--suffix,form-field__range--suffix i,form-field__range--suffix .mat-icon{font-size:18px;font-size:1.125rem;width:1.125rem;height:1.125rem}.form-field__range--prefix,form-field__range--prefix{right:unset;left:1rem}.form-field__range--disabled,form-field__range--disabled{background-color:var(--color-gray-100);border-color:transparent}.form-field__range--invalid,form-field__range--invalid{border-color:var(--color-error)!important;color:var(--color-error)!important}.form-field--invalid,.form-field--invalid .form-field__input,.form-field--invalid .form-field__textarea,.form-field--invalid .form-field__range,form-field--invalid,form-field--invalid .form-field__input,form-field--invalid .form-field__textarea,form-field--invalid .form-field__range{color:var(--color-error);border-color:var(--color-error)}.form-field--invalid,.form-field--invalid .form-field__range--wrapper,form-field--invalid,form-field--invalid .form-field__range--wrapper{border-color:var(--color-error)}.form-field__validation,form-field__validation{padding-top:.5rem;font-size:12px;font-size:.75rem;color:var(--color-error)}.form-field__validation--item,form-field__validation--item{padding-bottom:.6rem}.form-field__validation--item:last-of-type,form-field__validation--item:last-of-type{padding-bottom:0}.form-field__subscript--wrapper,form-field__subscript--wrapper{margin-top:1.2rem}.form-field.disabled input,.form-field.disabled textarea,form-field.disabled input,form-field.disabled textarea{background-color:var(--color-white-opacity-05);border-color:var(--color-gray-300)}.form-field .spinner,form-field .spinner{position:absolute;right:.25rem;top:1.85rem}.form-field .hint,form-field .hint{font-size:10px;text-align:right;margin-right:1.0625rem;transform:translateY(-1rem);margin-bottom:-1rem}.form .mat-mdc-form-field-appearance-standard .mat-mdc-form-field-flex,form .mat-mdc-form-field-appearance-standard .mat-mdc-form-field-flex{padding-top:0}.form .mat-mdc-form-field-infix,form .mat-mdc-form-field-infix{border-top:0}.form .mat-mdc-form-field .mat-mdc-form-field-flex,form .mat-mdc-form-field .mat-mdc-form-field-flex{padding-top:0}.mat-mdc-form-field-type-mat-date-range-input .mat-mdc-form-field-infix{width:auto}.mat-mdc-text-field-wrapper{padding-bottom:0}:host::ng-deep .form-field{display:flex;margin:0}:host::ng-deep .mat-mdc-slide-toggle .mdc-label{font-size:14px;font-size:.875rem}:host::ng-deep .mat-mdc-slide-toggle{margin-right:.96rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
92
92
|
}
|
|
93
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsCheckboxToggleComponent, decorators: [{
|
|
94
94
|
type: Component,
|
|
@@ -98,7 +98,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
98
98
|
useExisting: EcabsCheckboxToggleComponent,
|
|
99
99
|
multi: true,
|
|
100
100
|
},
|
|
101
|
-
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <mat-checkbox\r\n (change)=\"change($event)\"\r\n (click)=\"onClick($event)\"\r\n (blur)=\"onBlur()\"\r\n [checked]=\"checked\"\r\n [indeterminate]=\"indeterminate\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n [labelPosition]=\"labelPosition\"\r\n [ngClass]=\"{ 'indeterminate': indeterminate }\"\r\n *ngSwitchCase=\"'checkbox'\"\r\n >\r\n {{ text }}\r\n </mat-checkbox>\r\n\r\n <mat-slide-toggle\r\n (change)=\"change($event)\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [labelPosition]=\"labelPosition\"\r\n *ngSwitchCase=\"'toggle'\"\r\n >{{ text }}</mat-slide-toggle\r\n >\r\n </ng-container>\r\n</ecabs-element-wrapper>\r\n", styles: [":root{--color-black: #020618;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CAD5E2;--color-gray-400: #90A1B9;--color-gray-500: #62748E;--color-gray-600: #45556C;--color-gray-700: #314158;--color-gray-800: #1D293D;--color-gray-900: #0F172B;--color-gray-950: #020618;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #075145;--color-success--opacity: #affebf;--color-success-rgb: 7, 81, 69;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5);--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-500: #64748b;--color-slate-900: #0f172a}.form-field__subscript--wrapper,form-field__subscript--wrapper,.form-field--required .form-field__label:after,form-field--required .form-field__label:after{position:absolute;content:\"\"}.form-field--required .form-field__label:after,form-field--required .form-field__label:after{content:\"*\"!important;margin-left:.2rem;margin-top:2px;color:var(--color-error)}.form-field,form-field{margin-bottom:1rem;position:relative}.form-field__label,form-field__label{font-size:12px;font-size:.75rem;display:inline-block;margin-bottom:.25rem;color:var(--color-gray-500);cursor:pointer}.form-field__label .icon,form-field__label .icon{font-size:16px;font-size:1rem;display:inline;vertical-align:middle;margin-left:.375rem}.form-field__label-note,form-field__label-note{font-size:14px;font-size:.875rem;display:inline-block;margin-bottom:.25rem;color:var(--color-gray-400);cursor:pointer}.form-field__input,form-field__input{font-size:16px;font-size:1rem;display:block;width:100%;padding:.5rem 1rem;border-radius:.25rem;border:1px solid var(--color-gray-500);color:var(--color-black);line-height:1.5}.form-field__input:focus,form-field__input:focus{border-color:var(--color-brand-dark)}.form-field__input:focus-visible,form-field__input:focus-visible{outline:none}.form-field__input--wrapper,form-field__input--wrapper{display:flex;position:relative;line-height:1}.form-field__input--suffix,.form-field__textarea--prefix,form-field__textarea--prefix,.form-field__input--prefix,form-field__input--prefix,form-field__input--suffix{position:absolute!important;top:50%;right:1rem;color:var(--color-gray-500);transform:translateY(-50%)}.form-field__input--suffix,.form-field__textarea--prefix,form-field__textarea--prefix,.form-field__input--prefix,form-field__input--prefix,.form-field__input--suffix i,.form-field__textarea--prefix i,form-field__textarea--prefix i,.form-field__input--prefix i,form-field__input--prefix i,.form-field__input--suffix .mat-icon,.form-field__textarea--prefix .mat-icon,form-field__textarea--prefix .mat-icon,.form-field__input--prefix .mat-icon,form-field__input--prefix .mat-icon,form-field__input--suffix,form-field__input--suffix i,form-field__input--suffix .mat-icon{font-size:18px;font-size:1.125rem;width:1.125rem;height:1.125rem}.form-field__input--prefix,form-field__input--prefix{right:unset;left:1rem}.form-field__input--disabled,form-field__input--disabled{background-color:var(--color-gray-100);border-color:transparent}.form-field__input--invalid,form-field__input--invalid{border-color:var(--color-error);color:var(--color-error)}.form-field__textarea,form-field__textarea{font-size:16px;font-size:1rem;display:block;width:100%;padding:1rem;border-radius:.25rem;border:1px solid var(--color-gray-500);color:var(--color-black);line-height:1.5}.form-field__textarea:focus,form-field__textarea:focus{border-color:var(--color-brand-dark)}.form-field__textarea--wrapper,form-field__textarea--wrapper{display:flex;position:relative;line-height:1}.form-field__textarea--suffix,form-field__textarea--suffix{position:absolute!important;top:50%;right:1rem;color:var(--color-gray-500);transform:translateY(-50%)}.form-field__textarea--suffix,.form-field__textarea--suffix i,.form-field__textarea--suffix .mat-icon,form-field__textarea--suffix,form-field__textarea--suffix i,form-field__textarea--suffix .mat-icon{font-size:18px;font-size:1.125rem;width:1.125rem;height:1.125rem}.form-field__textarea--prefix,form-field__textarea--prefix{right:unset;left:1rem}.form-field__textarea--disabled,form-field__textarea--disabled{background-color:var(--color-gray-100);border-color:transparent}.form-field--invalid,.form-field--invalid .form-field__input,.form-field--invalid .form-field__textarea,form-field--invalid,form-field--invalid .form-field__input,form-field--invalid .form-field__textarea{color:var(--color-error);border-color:var(--color-error)}.form-field__validation,form-field__validation{padding-top:.5rem;font-size:12px;font-size:.75rem;color:var(--color-error)}.form-field__validation--item,form-field__validation--item{padding-bottom:.6rem}.form-field__validation--item:last-of-type,form-field__validation--item:last-of-type{padding-bottom:0}.form-field__subscript--wrapper,form-field__subscript--wrapper{margin-top:1.2rem}.form-field.disabled input,.form-field.disabled textarea,form-field.disabled input,form-field.disabled textarea{background-color:var(--color-white-opacity-05);border-color:var(--color-gray-300)}.form-field .spinner,form-field .spinner{position:absolute;right:.25rem;top:1.85rem}.form-field .hint,form-field .hint{font-size:10px;text-align:right;margin-right:1.0625rem;transform:translateY(-1rem);margin-bottom:-1rem}.form .mat-mdc-form-field-appearance-standard .mat-mdc-form-field-flex,form .mat-mdc-form-field-appearance-standard .mat-mdc-form-field-flex{padding-top:0}.form .mat-mdc-form-field-infix,form .mat-mdc-form-field-infix{border-top:0}.form .mat-mdc-form-field .mat-mdc-form-field-flex,form .mat-mdc-form-field .mat-mdc-form-field-flex{padding-top:0}.mat-mdc-form-field-type-mat-date-range-input .mat-mdc-form-field-infix{width:auto}.mat-mdc-text-field-wrapper{padding-bottom:0}:host::ng-deep .form-field{display:flex;margin:0}:host::ng-deep .mat-mdc-slide-toggle .mdc-label{font-size:14px;font-size:.875rem}:host::ng-deep .mat-mdc-slide-toggle{margin-right:.96rem}\n"] }]
|
|
101
|
+
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <ng-container [ngSwitch]=\"type\">\r\n <mat-checkbox\r\n (change)=\"change($event)\"\r\n (click)=\"onClick($event)\"\r\n (blur)=\"onBlur()\"\r\n [checked]=\"checked\"\r\n [indeterminate]=\"indeterminate\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [id]=\"name\"\r\n [labelPosition]=\"labelPosition\"\r\n [ngClass]=\"{ 'indeterminate': indeterminate }\"\r\n *ngSwitchCase=\"'checkbox'\"\r\n >\r\n {{ text }}\r\n </mat-checkbox>\r\n\r\n <mat-slide-toggle\r\n (change)=\"change($event)\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n [labelPosition]=\"labelPosition\"\r\n *ngSwitchCase=\"'toggle'\"\r\n >{{ text }}</mat-slide-toggle\r\n >\r\n </ng-container>\r\n</ecabs-element-wrapper>\r\n", styles: [":root{--color-black: #020618;--color-white: #ffffff;--color-white-opacity-05: rgba(0, 0, 0, .05);--color-gray-50: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-300: #CAD5E2;--color-gray-400: #90A1B9;--color-gray-500: #62748E;--color-gray-600: #45556C;--color-gray-700: #314158;--color-gray-800: #1D293D;--color-gray-900: #0F172B;--color-gray-950: #020618;--color-brand-dark: #193273;--color-brand-dark-rgb: 25, 50, 115;--color-brand-light: #325FDA;--color-brand-light2: #e7efff;--color-brand-light-rgb: 50, 95, 218;--color-brand-300: #e7efff;--color-brand-300-rgb: 231, 239, 255;--color-error: #df3838;--color-error-opacity: #fbe4e4;--color-error-rgb: 223, 56, 56;--color-notification: #f4d04f;--color-notification-rgb: 244, 208, 79;--color-warn: #f2994a;--color-warn-rgb: 242, 153, 74;--color-info: #325fda;--color-info-rgb: 50, 95, 218;--color-warning: #f2994a;--color-warning-opacity: #fdf0e4;--color-success: #075145;--color-success--opacity: #affebf;--color-success-rgb: 7, 81, 69;--color-allocation-started: #E8F8E5;--color-allocation-scheduled: #FDF0E4;--color-allocation-ended: #FBE4E4;--color-allocation-sick: #E7EFFF;--color-allocation-no-show: #EAE5FF;--color-allocation-unavailable: #F2F2F2;--cropper-outline-color: rgba(0, 0, 0, .5);--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-500: #64748b;--color-slate-900: #0f172a}.form-field__subscript--wrapper,form-field__subscript--wrapper,.form-field--required .form-field__label:after,form-field--required .form-field__label:after{position:absolute;content:\"\"}.form-field--required .form-field__label:after,form-field--required .form-field__label:after{content:\"*\"!important;margin-left:.2rem;margin-top:2px;color:var(--color-error)}.form-field,form-field{margin-bottom:1rem;position:relative}.form-field__label,form-field__label{font-size:12px;font-size:.75rem;display:inline-block;margin-bottom:.25rem;color:var(--color-gray-500);cursor:pointer}.form-field__label .icon,form-field__label .icon{font-size:16px;font-size:1rem;display:inline;vertical-align:middle;margin-left:.375rem}.form-field__label-note,form-field__label-note{font-size:14px;font-size:.875rem;display:inline-block;margin-bottom:.25rem;color:var(--color-gray-400);cursor:pointer}.form-field__input,form-field__input{font-size:16px;font-size:1rem;display:block;width:100%;padding:.5rem 1rem;border-radius:.25rem;border:1px solid var(--color-gray-500);color:var(--color-black);line-height:1.5}.form-field__input:focus,form-field__input:focus{border-color:var(--color-brand-dark)}.form-field__input:focus-visible,form-field__input:focus-visible{outline:none}.form-field__input--wrapper,form-field__input--wrapper{display:flex;position:relative;line-height:1}.form-field__input--suffix,.form-field__textarea--prefix,form-field__textarea--prefix,.form-field__input--prefix,form-field__input--prefix,form-field__input--suffix{position:absolute!important;top:50%;right:1rem;color:var(--color-gray-500);transform:translateY(-50%)}.form-field__input--suffix,.form-field__textarea--prefix,form-field__textarea--prefix,.form-field__input--prefix,form-field__input--prefix,.form-field__input--suffix i,.form-field__textarea--prefix i,form-field__textarea--prefix i,.form-field__input--prefix i,form-field__input--prefix i,.form-field__input--suffix .mat-icon,.form-field__textarea--prefix .mat-icon,form-field__textarea--prefix .mat-icon,.form-field__input--prefix .mat-icon,form-field__input--prefix .mat-icon,form-field__input--suffix,form-field__input--suffix i,form-field__input--suffix .mat-icon{font-size:18px;font-size:1.125rem;width:1.125rem;height:1.125rem}.form-field__input--prefix,form-field__input--prefix{right:unset;left:1rem}.form-field__input--disabled,form-field__input--disabled{background-color:var(--color-gray-100);border-color:transparent}.form-field__input--invalid,form-field__input--invalid{border-color:var(--color-error);color:var(--color-error)}.form-field__textarea,form-field__textarea{font-size:16px;font-size:1rem;display:block;width:100%;padding:1rem;border-radius:.25rem;border:1px solid var(--color-gray-500);color:var(--color-black);line-height:1.5}.form-field__textarea:focus,form-field__textarea:focus{border-color:var(--color-brand-dark)}.form-field__textarea--wrapper,form-field__textarea--wrapper{display:flex;position:relative;line-height:1}.form-field__textarea--suffix,form-field__textarea--suffix{position:absolute!important;top:50%;right:1rem;color:var(--color-gray-500);transform:translateY(-50%)}.form-field__textarea--suffix,.form-field__textarea--suffix i,.form-field__textarea--suffix .mat-icon,form-field__textarea--suffix,form-field__textarea--suffix i,form-field__textarea--suffix .mat-icon{font-size:18px;font-size:1.125rem;width:1.125rem;height:1.125rem}.form-field__textarea--prefix,form-field__textarea--prefix{right:unset;left:1rem}.form-field__textarea--disabled,form-field__textarea--disabled{background-color:var(--color-gray-100);border-color:transparent}.form-field__range,form-field__range{font-size:16px;font-size:1rem;display:block;width:100%;padding:.5rem 1rem;color:var(--color-black);line-height:1.5;border:none}.form-field__range:focus-visible,form-field__range:focus-visible{outline:none}.form-field__range--wrapper,form-field__range--wrapper{display:grid;grid-template-columns:1fr auto 1fr;border-radius:.75rem;border:1px solid var(--color-gray-300);align-items:center;line-height:1;background-color:var(--color-white)}.form-field__range--wrapper:focus-within,form-field__range--wrapper:focus-within{border-color:var(--color-brand-dark)}.form-field__range--suffix,.form-field__range--prefix,form-field__range--prefix,form-field__range--suffix{position:absolute!important;top:50%;right:1rem;color:var(--color-gray-500);transform:translateY(-50%)}.form-field__range--suffix,.form-field__range--prefix,form-field__range--prefix,.form-field__range--suffix i,.form-field__range--prefix i,form-field__range--prefix i,.form-field__range--suffix .mat-icon,.form-field__range--prefix .mat-icon,form-field__range--prefix .mat-icon,form-field__range--suffix,form-field__range--suffix i,form-field__range--suffix .mat-icon{font-size:18px;font-size:1.125rem;width:1.125rem;height:1.125rem}.form-field__range--prefix,form-field__range--prefix{right:unset;left:1rem}.form-field__range--disabled,form-field__range--disabled{background-color:var(--color-gray-100);border-color:transparent}.form-field__range--invalid,form-field__range--invalid{border-color:var(--color-error)!important;color:var(--color-error)!important}.form-field--invalid,.form-field--invalid .form-field__input,.form-field--invalid .form-field__textarea,.form-field--invalid .form-field__range,form-field--invalid,form-field--invalid .form-field__input,form-field--invalid .form-field__textarea,form-field--invalid .form-field__range{color:var(--color-error);border-color:var(--color-error)}.form-field--invalid,.form-field--invalid .form-field__range--wrapper,form-field--invalid,form-field--invalid .form-field__range--wrapper{border-color:var(--color-error)}.form-field__validation,form-field__validation{padding-top:.5rem;font-size:12px;font-size:.75rem;color:var(--color-error)}.form-field__validation--item,form-field__validation--item{padding-bottom:.6rem}.form-field__validation--item:last-of-type,form-field__validation--item:last-of-type{padding-bottom:0}.form-field__subscript--wrapper,form-field__subscript--wrapper{margin-top:1.2rem}.form-field.disabled input,.form-field.disabled textarea,form-field.disabled input,form-field.disabled textarea{background-color:var(--color-white-opacity-05);border-color:var(--color-gray-300)}.form-field .spinner,form-field .spinner{position:absolute;right:.25rem;top:1.85rem}.form-field .hint,form-field .hint{font-size:10px;text-align:right;margin-right:1.0625rem;transform:translateY(-1rem);margin-bottom:-1rem}.form .mat-mdc-form-field-appearance-standard .mat-mdc-form-field-flex,form .mat-mdc-form-field-appearance-standard .mat-mdc-form-field-flex{padding-top:0}.form .mat-mdc-form-field-infix,form .mat-mdc-form-field-infix{border-top:0}.form .mat-mdc-form-field .mat-mdc-form-field-flex,form .mat-mdc-form-field .mat-mdc-form-field-flex{padding-top:0}.mat-mdc-form-field-type-mat-date-range-input .mat-mdc-form-field-infix{width:auto}.mat-mdc-text-field-wrapper{padding-bottom:0}:host::ng-deep .form-field{display:flex;margin:0}:host::ng-deep .mat-mdc-slide-toggle .mdc-label{font-size:14px;font-size:.875rem}:host::ng-deep .mat-mdc-slide-toggle{margin-right:.96rem}\n"] }]
|
|
102
102
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.DestroyRef }]; }, propDecorators: { matCheckbox: [{
|
|
103
103
|
type: ViewChild,
|
|
104
104
|
args: [MatCheckbox, { static: false }]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../../base/services/ecabs-date-picker-translations.service";
|
|
4
|
+
import * as i2 from "../../../ecabs-picker-header/ecabs-picker-header.component";
|
|
5
|
+
import * as i3 from "@angular/common";
|
|
6
|
+
export class EcabsDateRangePickerHeaderComponentV2 {
|
|
7
|
+
ecabsDatePickerHeaderService;
|
|
8
|
+
selectDateLabel;
|
|
9
|
+
constructor(ecabsDatePickerHeaderService) {
|
|
10
|
+
this.ecabsDatePickerHeaderService = ecabsDatePickerHeaderService;
|
|
11
|
+
}
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateRangePickerHeaderComponentV2, deps: [{ token: i1.EcabsDatePickerHeaderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateRangePickerHeaderComponentV2, selector: "ecabs-date-range-picker-header-v2", inputs: { selectDateLabel: "selectDateLabel" }, ngImport: i0, template: "<div class=\"select-date-label text-xl font-semibold\">\r\n {{ selectDateLabel ?? (ecabsDatePickerHeaderService.getConfig() | async)?.selectDateLabel}}\r\n</div>\r\n<ecabs-picker-header></ecabs-picker-header>\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.EcabsPickerHeaderComponent, selector: "ecabs-picker-header" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateRangePickerHeaderComponentV2, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'ecabs-date-range-picker-header-v2', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"select-date-label text-xl font-semibold\">\r\n {{ selectDateLabel ?? (ecabsDatePickerHeaderService.getConfig() | async)?.selectDateLabel}}\r\n</div>\r\n<ecabs-picker-header></ecabs-picker-header>\r\n" }]
|
|
18
|
+
}], ctorParameters: function () { return [{ type: i1.EcabsDatePickerHeaderService }]; }, propDecorators: { selectDateLabel: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS1yYW5nZS1waWNrZXItaGVhZGVyLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXJhbmdlLXBpY2tlci12Mi9jb21wb25lbnRzL2VjYWJzLWRhdGUtcmFuZ2UtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXJhbmdlLXBpY2tlci1oZWFkZXItdjIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRhdGUtcmFuZ2UtcGlja2VyLXYyL2NvbXBvbmVudHMvZWNhYnMtZGF0ZS1yYW5nZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtcmFuZ2UtcGlja2VyLWhlYWRlci12Mi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFVMUUsTUFBTSxPQUFPLHFDQUFxQztJQUk5QjtJQUhULGVBQWUsQ0FBUztJQUVqQyxZQUNrQiw0QkFBMEQ7UUFBMUQsaUNBQTRCLEdBQTVCLDRCQUE0QixDQUE4QjtJQUN6RSxDQUFDO3dHQUxPLHFDQUFxQzs0RkFBckMscUNBQXFDLHlIQ1ZsRCx1TkFJQTs7NEZETWEscUNBQXFDO2tCQU5qRCxTQUFTOytCQUNFLG1DQUFtQyxtQkFHNUIsdUJBQXVCLENBQUMsTUFBTTttSEFHdEMsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBFY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYmFzZS9zZXJ2aWNlcy9lY2Ficy1kYXRlLXBpY2tlci10cmFuc2xhdGlvbnMuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWRhdGUtcmFuZ2UtcGlja2VyLWhlYWRlci12MicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWRhdGUtcmFuZ2UtcGlja2VyLWhlYWRlci12Mi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWNhYnMtZGF0ZS1yYW5nZS1waWNrZXItaGVhZGVyLXYyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0RhdGVSYW5nZVBpY2tlckhlYWRlckNvbXBvbmVudFYyIHtcclxuICBASW5wdXQoKSBzZWxlY3REYXRlTGFiZWw6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWNhYnNEYXRlUGlja2VySGVhZGVyU2VydmljZTogRWNhYnNEYXRlUGlja2VySGVhZGVyU2VydmljZSxcclxuICApIHt9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNlbGVjdC1kYXRlLWxhYmVsIHRleHQteGwgZm9udC1zZW1pYm9sZFwiPlxyXG4gIHt7IHNlbGVjdERhdGVMYWJlbCA/PyAoZWNhYnNEYXRlUGlja2VySGVhZGVyU2VydmljZS5nZXRDb25maWcoKSB8IGFzeW5jKT8uc2VsZWN0RGF0ZUxhYmVsfX1cclxuPC9kaXY+XHJcbjxlY2Ficy1waWNrZXItaGVhZGVyPjwvZWNhYnMtcGlja2VyLWhlYWRlcj5cclxuIl19
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';
|
|
3
|
+
import { format, isEqual, isValid } from 'date-fns';
|
|
4
|
+
import Holidays from 'date-holidays';
|
|
5
|
+
import { isEqual as lodashIsEqual } from 'lodash';
|
|
6
|
+
import { takeUntil } from 'rxjs';
|
|
7
|
+
import EcabsElementBaseComponent from '../base/element-base';
|
|
8
|
+
import { UnsubscribeService } from '../base/services/unsubscribe.service';
|
|
9
|
+
import { EcabsDateRangePickerHeaderComponentV2 } from './components/ecabs-date-range-picker-header/ecabs-date-range-picker-header-v2.component';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "../base/services/ecabs-date-picker-translations.service";
|
|
12
|
+
import * as i2 from "../base/services/unsubscribe.service";
|
|
13
|
+
import * as i3 from "../base/element-wrapper/element-wrapper.component";
|
|
14
|
+
import * as i4 from "@angular/material/datepicker";
|
|
15
|
+
import * as i5 from "@angular/forms";
|
|
16
|
+
export class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
17
|
+
injector;
|
|
18
|
+
ecabsDatePickerHeaderService;
|
|
19
|
+
unsubscribeService;
|
|
20
|
+
minDate;
|
|
21
|
+
maxDate;
|
|
22
|
+
touchUi = false;
|
|
23
|
+
cancelLabel;
|
|
24
|
+
applyLabel;
|
|
25
|
+
startDatePlaceholder;
|
|
26
|
+
endDatePlaceholder;
|
|
27
|
+
separatorLabel = 'to';
|
|
28
|
+
excludeHolidays;
|
|
29
|
+
excludeWeekends;
|
|
30
|
+
specificDates;
|
|
31
|
+
holidayOptions;
|
|
32
|
+
onblur = new EventEmitter();
|
|
33
|
+
val;
|
|
34
|
+
pickerTo;
|
|
35
|
+
header = EcabsDateRangePickerHeaderComponentV2;
|
|
36
|
+
_dateFrom;
|
|
37
|
+
_dateTo;
|
|
38
|
+
translationConfig;
|
|
39
|
+
minDateFrom = undefined;
|
|
40
|
+
maxDateFrom = undefined;
|
|
41
|
+
minDateTo = undefined;
|
|
42
|
+
maxDateTo = undefined;
|
|
43
|
+
holidayInstance;
|
|
44
|
+
get value() {
|
|
45
|
+
return this.val;
|
|
46
|
+
}
|
|
47
|
+
get dateFrom() {
|
|
48
|
+
return this._dateFrom;
|
|
49
|
+
}
|
|
50
|
+
get dateTo() {
|
|
51
|
+
return this._dateTo;
|
|
52
|
+
}
|
|
53
|
+
//eslint-disable-next-line
|
|
54
|
+
set value(val) {
|
|
55
|
+
if (this.val !== val) {
|
|
56
|
+
this.val = val;
|
|
57
|
+
this.dateFrom = val.dateFrom;
|
|
58
|
+
this.dateTo = val.dateTo;
|
|
59
|
+
this.onChange(val);
|
|
60
|
+
this.onTouch(val);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//eslint-disable-next-line
|
|
64
|
+
set dateFrom(val) {
|
|
65
|
+
if (this._dateFrom !== val && isValid(new Date(val))) {
|
|
66
|
+
this._dateFrom = val;
|
|
67
|
+
this.minDateTo = new Date(val);
|
|
68
|
+
if (!this.dateTo) {
|
|
69
|
+
this.pickerTo?.open();
|
|
70
|
+
}
|
|
71
|
+
this.onApply();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//eslint-disable-next-line
|
|
75
|
+
set dateTo(val) {
|
|
76
|
+
if (this._dateTo !== val && isValid(new Date(val))) {
|
|
77
|
+
this._dateTo = val;
|
|
78
|
+
this.maxDateFrom = new Date(val);
|
|
79
|
+
this.onApply();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
constructor(injector, ecabsDatePickerHeaderService, unsubscribeService) {
|
|
83
|
+
super();
|
|
84
|
+
this.injector = injector;
|
|
85
|
+
this.ecabsDatePickerHeaderService = ecabsDatePickerHeaderService;
|
|
86
|
+
this.unsubscribeService = unsubscribeService;
|
|
87
|
+
}
|
|
88
|
+
ngOnChanges(changes) {
|
|
89
|
+
const { minDate, maxDate } = changes;
|
|
90
|
+
if (minDate?.currentValue) {
|
|
91
|
+
this.minDateFrom = minDate?.currentValue;
|
|
92
|
+
this.minDateTo = minDate?.currentValue;
|
|
93
|
+
}
|
|
94
|
+
if (maxDate?.currentValue) {
|
|
95
|
+
this.maxDateFrom = maxDate?.currentValue;
|
|
96
|
+
this.maxDateTo = maxDate?.currentValue;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
ngOnInit() {
|
|
100
|
+
this.ecabsDatePickerHeaderService
|
|
101
|
+
.getConfig()
|
|
102
|
+
.pipe(takeUntil(this.unsubscribeService.subscription()))
|
|
103
|
+
.subscribe((config) => (this.translationConfig = config));
|
|
104
|
+
if (this.holidayOptions?.countryCode) {
|
|
105
|
+
this.holidayInstance = new Holidays(this.holidayOptions.countryCode.toUpperCase());
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
ngAfterViewInit() {
|
|
109
|
+
const ngControl = this.injector.get(NgControl, null);
|
|
110
|
+
if (ngControl) {
|
|
111
|
+
this.control = ngControl.control;
|
|
112
|
+
this.control.valueChanges
|
|
113
|
+
.pipe(takeUntil(this.unsubscribeService.subscription()))
|
|
114
|
+
.subscribe(() => this.dateRangeValidator(this.control));
|
|
115
|
+
setTimeout(() => {
|
|
116
|
+
this.dateFrom = this.value.dateFrom;
|
|
117
|
+
this.dateTo = this.value.dateTo;
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
ngOnDestroy() {
|
|
122
|
+
this.unsubscribeService.destroy();
|
|
123
|
+
}
|
|
124
|
+
onChange = () => { };
|
|
125
|
+
onTouch = () => { };
|
|
126
|
+
writeValue(value) {
|
|
127
|
+
this.value = value;
|
|
128
|
+
}
|
|
129
|
+
registerOnChange(fn) {
|
|
130
|
+
this.onChange = fn;
|
|
131
|
+
}
|
|
132
|
+
registerOnTouched(fn) {
|
|
133
|
+
this.onTouch = fn;
|
|
134
|
+
}
|
|
135
|
+
blurChange(e) {
|
|
136
|
+
this.onblur.emit(e);
|
|
137
|
+
}
|
|
138
|
+
onApply() {
|
|
139
|
+
const newValue = {
|
|
140
|
+
dateFrom: this.dateFrom,
|
|
141
|
+
dateTo: this.dateTo,
|
|
142
|
+
};
|
|
143
|
+
if (!lodashIsEqual(this.value, newValue)) {
|
|
144
|
+
this.val = newValue;
|
|
145
|
+
this.onChange(newValue);
|
|
146
|
+
this.onTouch(newValue);
|
|
147
|
+
}
|
|
148
|
+
this.value = {
|
|
149
|
+
dateFrom: this.dateFrom,
|
|
150
|
+
dateTo: this.dateTo,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
filterDateRange = (date) => {
|
|
154
|
+
let result = true;
|
|
155
|
+
if (isValid(new Date(date))) {
|
|
156
|
+
const day = date?.getDay();
|
|
157
|
+
if (this.excludeWeekends) {
|
|
158
|
+
result = result && day !== 0 && day !== 6;
|
|
159
|
+
}
|
|
160
|
+
if (this.excludeHolidays) {
|
|
161
|
+
result = result && this.isDateNotHoliday(date);
|
|
162
|
+
}
|
|
163
|
+
if (this.specificDates?.length > 0) {
|
|
164
|
+
const specificDates = this.specificDates;
|
|
165
|
+
if (specificDates && specificDates.length > 0) {
|
|
166
|
+
const index = specificDates.findIndex((specificDate) => isEqual(date, specificDate));
|
|
167
|
+
result = result && index === -1;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
return result;
|
|
172
|
+
};
|
|
173
|
+
isDateNotHoliday(date) {
|
|
174
|
+
const { countryCode, timeZoneOffset } = this.holidayOptions ?? {};
|
|
175
|
+
if (countryCode && timeZoneOffset) {
|
|
176
|
+
return !this.holidayInstance?.isHoliday(`${format(date, 'yyyy-MM-dd')}T00:00:00${timeZoneOffset}`);
|
|
177
|
+
}
|
|
178
|
+
return true;
|
|
179
|
+
}
|
|
180
|
+
dateRangeValidator(control) {
|
|
181
|
+
const required = control?.hasValidator(Validators.required);
|
|
182
|
+
if (control.value) {
|
|
183
|
+
const { dateFrom, dateTo } = control.value;
|
|
184
|
+
control.setErrors(null);
|
|
185
|
+
if (required && (!dateFrom || dateFrom?.length === 0) && (!dateTo || dateTo?.length === 0)) {
|
|
186
|
+
control.setErrors({ required: true });
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
if (!dateFrom && dateTo) {
|
|
190
|
+
control.setErrors({ dateFromRangeRequired: true });
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
if (dateFrom && !dateTo) {
|
|
194
|
+
control.setErrors({ dateToRangeRequired: true });
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
if (new Date(dateFrom) > new Date(dateTo)) {
|
|
198
|
+
control.setErrors({ dateFromMoreThanDateTo: true });
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
if (!control.errors) {
|
|
203
|
+
control.setErrors(required ? { required: true } : null);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateRangePickerComponentV2, deps: [{ token: i0.Injector }, { token: i1.EcabsDatePickerHeaderService }, { token: i2.UnsubscribeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
207
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateRangePickerComponentV2, selector: "ecabs-date-range-picker-v2", inputs: { minDate: "minDate", maxDate: "maxDate", touchUi: "touchUi", cancelLabel: "cancelLabel", applyLabel: "applyLabel", startDatePlaceholder: "startDatePlaceholder", endDatePlaceholder: "endDatePlaceholder", separatorLabel: "separatorLabel", excludeHolidays: "excludeHolidays", excludeWeekends: "excludeWeekends", specificDates: "specificDates", holidayOptions: "holidayOptions" }, outputs: { onblur: "onblur" }, providers: [
|
|
208
|
+
{
|
|
209
|
+
provide: NG_VALUE_ACCESSOR,
|
|
210
|
+
useExisting: EcabsDateRangePickerComponentV2,
|
|
211
|
+
multi: true,
|
|
212
|
+
},
|
|
213
|
+
UnsubscribeService,
|
|
214
|
+
], viewQueries: [{ propertyName: "pickerTo", first: true, predicate: ["pickerTo"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__range--wrapper\">\r\n <div class=\"form-field__range\">\r\n <input\r\n class=\"border-none w-full\"\r\n id=\"{{ name + 'dateFrom' }}\"\r\n [(ngModel)]=\"dateFrom\"\r\n [placeholder]=\"startDatePlaceholder ?? translationConfig?.startDatePlaceholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"pickerFrom\"\r\n [min]=\"minDateFrom\"\r\n [max]=\"maxDateFrom\"\r\n [matDatepickerFilter]=\"filterDateRange\"\r\n (blur)=\"onTouch()\"\r\n (click)=\"pickerFrom.open()\"\r\n />\r\n <mat-datepicker #pickerFrom [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\"> </mat-datepicker>\r\n </div>\r\n\r\n <span class=\"text-gray-400 px-3 text-sm\">{{ separatorLabel }}</span>\r\n <div class=\"form-field__range\">\r\n <input\r\n class=\"border-none w-full\"\r\n id=\"{{ name + 'dateTo' }}\"\r\n [(ngModel)]=\"dateTo\"\r\n [placeholder]=\"endDatePlaceholder ?? translationConfig?.endDatePlaceholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"pickerTo\"\r\n [min]=\"minDateTo\"\r\n [max]=\"maxDateTo\"\r\n [matDatepickerFilter]=\"filterDateRange\"\r\n (blur)=\"onTouch()\"\r\n (click)=\"pickerTo.open()\"\r\n />\r\n <mat-datepicker #pickerTo [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\"> </mat-datepicker>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", styles: [":host ::ng-deep .mat-datepicker-input{text-align:center}:host ::ng-deep .mat-calendar-content{padding:0 1.6rem}:host ::ng-deep input{border:none;box-shadow:none}:host ::ng-deep input:focus{outline:none;box-shadow:none}\n"], dependencies: [{ kind: "component", type: i3.EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
215
|
+
}
|
|
216
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateRangePickerComponentV2, decorators: [{
|
|
217
|
+
type: Component,
|
|
218
|
+
args: [{ selector: 'ecabs-date-range-picker-v2', providers: [
|
|
219
|
+
{
|
|
220
|
+
provide: NG_VALUE_ACCESSOR,
|
|
221
|
+
useExisting: EcabsDateRangePickerComponentV2,
|
|
222
|
+
multi: true,
|
|
223
|
+
},
|
|
224
|
+
UnsubscribeService,
|
|
225
|
+
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__range--wrapper\">\r\n <div class=\"form-field__range\">\r\n <input\r\n class=\"border-none w-full\"\r\n id=\"{{ name + 'dateFrom' }}\"\r\n [(ngModel)]=\"dateFrom\"\r\n [placeholder]=\"startDatePlaceholder ?? translationConfig?.startDatePlaceholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"pickerFrom\"\r\n [min]=\"minDateFrom\"\r\n [max]=\"maxDateFrom\"\r\n [matDatepickerFilter]=\"filterDateRange\"\r\n (blur)=\"onTouch()\"\r\n (click)=\"pickerFrom.open()\"\r\n />\r\n <mat-datepicker #pickerFrom [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\"> </mat-datepicker>\r\n </div>\r\n\r\n <span class=\"text-gray-400 px-3 text-sm\">{{ separatorLabel }}</span>\r\n <div class=\"form-field__range\">\r\n <input\r\n class=\"border-none w-full\"\r\n id=\"{{ name + 'dateTo' }}\"\r\n [(ngModel)]=\"dateTo\"\r\n [placeholder]=\"endDatePlaceholder ?? translationConfig?.endDatePlaceholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"pickerTo\"\r\n [min]=\"minDateTo\"\r\n [max]=\"maxDateTo\"\r\n [matDatepickerFilter]=\"filterDateRange\"\r\n (blur)=\"onTouch()\"\r\n (click)=\"pickerTo.open()\"\r\n />\r\n <mat-datepicker #pickerTo [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\"> </mat-datepicker>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", styles: [":host ::ng-deep .mat-datepicker-input{text-align:center}:host ::ng-deep .mat-calendar-content{padding:0 1.6rem}:host ::ng-deep input{border:none;box-shadow:none}:host ::ng-deep input:focus{outline:none;box-shadow:none}\n"] }]
|
|
226
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.EcabsDatePickerHeaderService }, { type: i2.UnsubscribeService }]; }, propDecorators: { minDate: [{
|
|
227
|
+
type: Input
|
|
228
|
+
}], maxDate: [{
|
|
229
|
+
type: Input
|
|
230
|
+
}], touchUi: [{
|
|
231
|
+
type: Input
|
|
232
|
+
}], cancelLabel: [{
|
|
233
|
+
type: Input
|
|
234
|
+
}], applyLabel: [{
|
|
235
|
+
type: Input
|
|
236
|
+
}], startDatePlaceholder: [{
|
|
237
|
+
type: Input
|
|
238
|
+
}], endDatePlaceholder: [{
|
|
239
|
+
type: Input
|
|
240
|
+
}], separatorLabel: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], excludeHolidays: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], excludeWeekends: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], specificDates: [{
|
|
247
|
+
type: Input
|
|
248
|
+
}], holidayOptions: [{
|
|
249
|
+
type: Input
|
|
250
|
+
}], onblur: [{
|
|
251
|
+
type: Output
|
|
252
|
+
}], pickerTo: [{
|
|
253
|
+
type: ViewChild,
|
|
254
|
+
args: ['pickerTo']
|
|
255
|
+
}] } });
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS1yYW5nZS1waWNrZXItdjIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRhdGUtcmFuZ2UtcGlja2VyLXYyL2VjYWJzLWRhdGUtcmFuZ2UtcGlja2VyLXYyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXJhbmdlLXBpY2tlci12Mi9lY2Ficy1kYXRlLXJhbmdlLXBpY2tlci12Mi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFFWixLQUFLLEVBSUwsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFNBQVMsRUFBc0IsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BELE9BQU8sUUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxJQUFJLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8seUJBQXlCLE1BQU0sc0JBQXNCLENBQUM7QUFNN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFDQUFxQyxFQUFFLE1BQU0seUZBQXlGLENBQUM7Ozs7Ozs7QUFlaEosTUFBTSxPQUFPLCtCQUNYLFNBQVEseUJBQXlCO0lBcUZkO0lBQ0E7SUFDQTtJQXBGVixPQUFPLENBQU87SUFDZCxPQUFPLENBQU87SUFDZCxP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LFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERhdGVSYW5nZVBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBmb3JtYXQsIGlzRXF1YWwsIGlzVmFsaWQgfSBmcm9tICdkYXRlLWZucyc7XHJcbmltcG9ydCBIb2xpZGF5cyBmcm9tICdkYXRlLWhvbGlkYXlzJztcclxuaW1wb3J0IHsgaXNFcXVhbCBhcyBsb2Rhc2hJc0VxdWFsIH0gZnJvbSAnbG9kYXNoJztcclxuXHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5pbXBvcnQge1xyXG4gIEVjYWJzRGF0ZVBpY2tlckhvbGlkYXlPcHRpb25zLFxyXG4gIEVjYWJzRGF0ZVBpY2tlclRyYW5zbGF0aW9ucyxcclxufSBmcm9tICcuLi9iYXNlL21vZGVscy9lY2Ficy1kYXRlLXBpY2tlci10cmFuc2xhdGlvbnMubW9kZWxzJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlUGlja2VySGVhZGVyU2VydmljZSB9IGZyb20gJy4uL2Jhc2Uvc2VydmljZXMvZWNhYnMtZGF0ZS1waWNrZXItdHJhbnNsYXRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbnN1YnNjcmliZVNlcnZpY2UgfSBmcm9tICcuLi9iYXNlL3NlcnZpY2VzL3Vuc3Vic2NyaWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFY2Fic0RhdGVSYW5nZVBpY2tlckhlYWRlckNvbXBvbmVudFYyIH0gZnJvbSAnLi9jb21wb25lbnRzL2VjYWJzLWRhdGUtcmFuZ2UtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXJhbmdlLXBpY2tlci1oZWFkZXItdjIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtZGF0ZS1yYW5nZS1waWNrZXItdjInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1kYXRlLXJhbmdlLXBpY2tlci12Mi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWNhYnMtZGF0ZS1yYW5nZS1waWNrZXItdjIuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic0RhdGVSYW5nZVBpY2tlckNvbXBvbmVudFYyLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICBVbnN1YnNjcmliZVNlcnZpY2UsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50VjJcclxuICBleHRlbmRzIEVjYWJzRWxlbWVudEJhc2VDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95XHJcbntcclxuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlO1xyXG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGU7XHJcbiAgQElucHV0KCkgdG91Y2hVaSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNhbmNlbExhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYXBwbHlMYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN0YXJ0RGF0ZVBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZW5kRGF0ZVBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2VwYXJhdG9yTGFiZWwgPSAndG8nO1xyXG4gIEBJbnB1dCgpIGV4Y2x1ZGVIb2xpZGF5czogYm9vbGVhbjtcclxuICBASW5wdXQoKSBleGNsdWRlV2Vla2VuZHM6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc3BlY2lmaWNEYXRlczogRGF0ZVtdO1xyXG4gIEBJbnB1dCgpIGhvbGlkYXlPcHRpb25zOiBFY2Fic0RhdGVQaWNrZXJIb2xpZGF5T3B0aW9ucztcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHZhbDoge1xyXG4gICAgZGF0ZUZyb206IHN0cmluZztcclxuICAgIGRhdGVUbzogc3RyaW5nO1xyXG4gIH07XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3BpY2tlclRvJykgcGlja2VyVG86IE1hdERhdGVSYW5nZVBpY2tlcjxhbnk+IHwgdW5kZWZpbmVkO1xyXG5cclxuICBoZWFkZXIgPSBFY2Fic0RhdGVSYW5nZVBpY2tlckhlYWRlckNvbXBvbmVudFYyO1xyXG4gIF9kYXRlRnJvbTogc3RyaW5nO1xyXG4gIF9kYXRlVG86IHN0cmluZztcclxuICB0cmFuc2xhdGlvbkNvbmZpZzogRWNhYnNEYXRlUGlja2VyVHJhbnNsYXRpb25zO1xyXG4gIG1pbkRhdGVGcm9tPzogRGF0ZSA9IHVuZGVmaW5lZDtcclxuICBtYXhEYXRlRnJvbT86IERhdGUgPSB1bmRlZmluZWQ7XHJcbiAgbWluRGF0ZVRvPzogRGF0ZSA9IHVuZGVmaW5lZDtcclxuICBtYXhEYXRlVG8/OiBEYXRlID0gdW5kZWZpbmVkO1xyXG5cclxuICBwcml2YXRlIGhvbGlkYXlJbnN0YW5jZTogSG9saWRheXM7XHJcblxyXG4gIGdldCB2YWx1ZSgpOiB7XHJcbiAgICBkYXRlRnJvbTogc3RyaW5nO1xyXG4gICAgZGF0ZVRvOiBzdHJpbmc7XHJcbiAgfSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBnZXQgZGF0ZUZyb20oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRlRnJvbTtcclxuICB9XHJcblxyXG4gIGdldCBkYXRlVG8oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRlVG87XHJcbiAgfVxyXG5cclxuICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gIHNldCB2YWx1ZSh2YWw6IHsgZGF0ZUZyb206IHN0cmluZzsgZGF0ZVRvOiBzdHJpbmcgfSkge1xyXG4gICAgaWYgKHRoaXMudmFsICE9PSB2YWwpIHtcclxuICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgIHRoaXMuZGF0ZUZyb20gPSB2YWwuZGF0ZUZyb207XHJcbiAgICAgIHRoaXMuZGF0ZVRvID0gdmFsLmRhdGVUbztcclxuICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG4gICAgICB0aGlzLm9uVG91Y2godmFsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbiAgc2V0IGRhdGVGcm9tKHZhbDogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5fZGF0ZUZyb20gIT09IHZhbCAmJiBpc1ZhbGlkKG5ldyBEYXRlKHZhbCkpKSB7XHJcbiAgICAgIHRoaXMuX2RhdGVGcm9tID0gdmFsO1xyXG4gICAgICB0aGlzLm1pbkRhdGVUbyA9IG5ldyBEYXRlKHZhbCk7XHJcblxyXG4gICAgICBpZiAoIXRoaXMuZGF0ZVRvKSB7XHJcbiAgICAgICAgdGhpcy5waWNrZXJUbz8ub3BlbigpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLm9uQXBwbHkoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbiAgc2V0IGRhdGVUbyh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuX2RhdGVUbyAhPT0gdmFsICYmIGlzVmFsaWQobmV3IERhdGUodmFsKSkpIHtcclxuICAgICAgdGhpcy5fZGF0ZVRvID0gdmFsO1xyXG4gICAgICB0aGlzLm1heERhdGVGcm9tID0gbmV3IERhdGUodmFsKTtcclxuICAgICAgdGhpcy5vbkFwcGx5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBlY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlOiBFY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZVNlcnZpY2U6IFVuc3Vic2NyaWJlU2VydmljZSxcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IG1pbkRhdGUsIG1heERhdGUgfSA9IGNoYW5nZXM7XHJcblxyXG4gICAgaWYgKG1pbkRhdGU/LmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICB0aGlzLm1pbkRhdGVGcm9tID0gbWluRGF0ZT8uY3VycmVudFZhbHVlO1xyXG4gICAgICB0aGlzLm1pbkRhdGVUbyA9IG1pbkRhdGU/LmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobWF4RGF0ZT8uY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIHRoaXMubWF4RGF0ZUZyb20gPSBtYXhEYXRlPy5jdXJyZW50VmFsdWU7XHJcbiAgICAgIHRoaXMubWF4RGF0ZVRvID0gbWF4RGF0ZT8uY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVjYWJzRGF0ZVBpY2tlckhlYWRlclNlcnZpY2VcclxuICAgICAgLmdldENvbmZpZygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlU2VydmljZS5zdWJzY3JpcHRpb24oKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZykgPT4gKHRoaXMudHJhbnNsYXRpb25Db25maWcgPSBjb25maWcpKTtcclxuXHJcbiAgICBpZiAodGhpcy5ob2xpZGF5T3B0aW9ucz8uY291bnRyeUNvZGUpIHtcclxuICAgICAgdGhpcy5ob2xpZGF5SW5zdGFuY2UgPSBuZXcgSG9saWRheXModGhpcy5ob2xpZGF5T3B0aW9ucy5jb3VudHJ5Q29kZS50b1VwcGVyQ2FzZSgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuICAgIGlmIChuZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVTZXJ2aWNlLnN1YnNjcmlwdGlvbigpKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZGF0ZVJhbmdlVmFsaWRhdG9yKHRoaXMuY29udHJvbCkpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmRhdGVGcm9tID0gdGhpcy52YWx1ZS5kYXRlRnJvbTtcclxuICAgICAgICB0aGlzLmRhdGVUbyA9IHRoaXMudmFsdWUuZGF0ZVRvO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZVNlcnZpY2UuZGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xyXG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBibHVyQ2hhbmdlKGUpOiB2b2lkIHtcclxuICAgIHRoaXMub25ibHVyLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICBvbkFwcGx5KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmV3VmFsdWUgPSB7XHJcbiAgICAgIGRhdGVGcm9tOiB0aGlzLmRhdGVGcm9tLFxyXG4gICAgICBkYXRlVG86IHRoaXMuZGF0ZVRvLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoIWxvZGFzaElzRXF1YWwodGhpcy52YWx1ZSwgbmV3VmFsdWUpKSB7XHJcbiAgICAgIHRoaXMudmFsID0gbmV3VmFsdWU7XHJcbiAgICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xyXG4gICAgICB0aGlzLm9uVG91Y2gobmV3VmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudmFsdWUgPSB7XHJcbiAgICAgIGRhdGVGcm9tOiB0aGlzLmRhdGVGcm9tLFxyXG4gICAgICBkYXRlVG86IHRoaXMuZGF0ZVRvLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGZpbHRlckRhdGVSYW5nZSA9IChkYXRlOiBEYXRlKTogYm9vbGVhbiA9PiB7XHJcbiAgICBsZXQgcmVzdWx0ID0gdHJ1ZTtcclxuXHJcbiAgICBpZiAoaXNWYWxpZChuZXcgRGF0ZShkYXRlKSkpIHtcclxuICAgICAgY29uc3QgZGF5ID0gZGF0ZT8uZ2V0RGF5KCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5leGNsdWRlV2Vla2VuZHMpIHtcclxuICAgICAgICByZXN1bHQgPSByZXN1bHQgJiYgZGF5ICE9PSAwICYmIGRheSAhPT0gNjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuZXhjbHVkZUhvbGlkYXlzKSB7XHJcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0ICYmIHRoaXMuaXNEYXRlTm90SG9saWRheShkYXRlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuc3BlY2lmaWNEYXRlcz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGNvbnN0IHNwZWNpZmljRGF0ZXMgPSB0aGlzLnNwZWNpZmljRGF0ZXM7XHJcbiAgICAgICAgaWYgKHNwZWNpZmljRGF0ZXMgJiYgc3BlY2lmaWNEYXRlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHNwZWNpZmljRGF0ZXMuZmluZEluZGV4KChzcGVjaWZpY0RhdGUpID0+IGlzRXF1YWwoZGF0ZSwgc3BlY2lmaWNEYXRlKSk7XHJcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQgJiYgaW5kZXggPT09IC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfTtcclxuXHJcbiAgaXNEYXRlTm90SG9saWRheShkYXRlOiBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCB7IGNvdW50cnlDb2RlLCB0aW1lWm9uZU9mZnNldCB9ID0gdGhpcy5ob2xpZGF5T3B0aW9ucyA/PyB7fTtcclxuXHJcbiAgICBpZiAoY291bnRyeUNvZGUgJiYgdGltZVpvbmVPZmZzZXQpIHtcclxuICAgICAgcmV0dXJuICF0aGlzLmhvbGlkYXlJbnN0YW5jZT8uaXNIb2xpZGF5KGAke2Zvcm1hdChkYXRlLCAneXl5eS1NTS1kZCcpfVQwMDowMDowMCR7dGltZVpvbmVPZmZzZXR9YCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBkYXRlUmFuZ2VWYWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKSB7XHJcbiAgICBjb25zdCByZXF1aXJlZCA9IGNvbnRyb2w/Lmhhc1ZhbGlkYXRvcihWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuXHJcbiAgICBpZiAoY29udHJvbC52YWx1ZSkge1xyXG4gICAgICBjb25zdCB7IGRhdGVGcm9tLCBkYXRlVG8gfSA9IGNvbnRyb2wudmFsdWU7XHJcbiAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xyXG5cclxuICAgICAgaWYgKHJlcXVpcmVkICYmICghZGF0ZUZyb20gfHwgZGF0ZUZyb20/Lmxlbmd0aCA9PT0gMCkgJiYgKCFkYXRlVG8gfHwgZGF0ZVRvPy5sZW5ndGggPT09IDApKSB7XHJcbiAgICAgICAgY29udHJvbC5zZXRFcnJvcnMoeyByZXF1aXJlZDogdHJ1ZSB9KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghZGF0ZUZyb20gJiYgZGF0ZVRvKSB7XHJcbiAgICAgICAgY29udHJvbC5zZXRFcnJvcnMoeyBkYXRlRnJvbVJhbmdlUmVxdWlyZWQ6IHRydWUgfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZGF0ZUZyb20gJiYgIWRhdGVUbykge1xyXG4gICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKHsgZGF0ZVRvUmFuZ2VSZXF1aXJlZDogdHJ1ZSB9KTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChuZXcgRGF0ZShkYXRlRnJvbSkgPiBuZXcgRGF0ZShkYXRlVG8pKSB7XHJcbiAgICAgICAgY29udHJvbC5zZXRFcnJvcnMoeyBkYXRlRnJvbU1vcmVUaGFuRGF0ZVRvOiB0cnVlIH0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKCFjb250cm9sLmVycm9ycykge1xyXG4gICAgICBjb250cm9sLnNldEVycm9ycyhyZXF1aXJlZCA/IHsgcmVxdWlyZWQ6IHRydWUgfSA6IG51bGwpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZWNhYnMtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19yYW5nZS0td3JhcHBlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX3JhbmdlXCI+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIGNsYXNzPVwiYm9yZGVyLW5vbmUgdy1mdWxsXCJcclxuICAgICAgICBpZD1cInt7IG5hbWUgKyAnZGF0ZUZyb20nIH19XCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cImRhdGVGcm9tXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwic3RhcnREYXRlUGxhY2Vob2xkZXIgPz8gdHJhbnNsYXRpb25Db25maWc/LnN0YXJ0RGF0ZVBsYWNlaG9sZGVyXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlckZyb21cIlxyXG4gICAgICAgIFttaW5dPVwibWluRGF0ZUZyb21cIlxyXG4gICAgICAgIFttYXhdPVwibWF4RGF0ZUZyb21cIlxyXG4gICAgICAgIFttYXREYXRlcGlja2VyRmlsdGVyXT1cImZpbHRlckRhdGVSYW5nZVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgICAgICAoY2xpY2spPVwicGlja2VyRnJvbS5vcGVuKClcIlxyXG4gICAgICAvPlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlckZyb20gW2NhbGVuZGFySGVhZGVyQ29tcG9uZW50XT1cImhlYWRlclwiIFt0b3VjaFVpXT1cInRvdWNoVWlcIj4gPC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ncmF5LTQwMCBweC0zIHRleHQtc21cIj57eyBzZXBhcmF0b3JMYWJlbCB9fTwvc3Bhbj5cclxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19yYW5nZVwiPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBjbGFzcz1cImJvcmRlci1ub25lIHctZnVsbFwiXHJcbiAgICAgICAgaWQ9XCJ7eyBuYW1lICsgJ2RhdGVUbycgfX1cIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwiZGF0ZVRvXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZW5kRGF0ZVBsYWNlaG9sZGVyID8/IHRyYW5zbGF0aW9uQ29uZmlnPy5lbmREYXRlUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyVG9cIlxyXG4gICAgICAgIFttaW5dPVwibWluRGF0ZVRvXCJcclxuICAgICAgICBbbWF4XT1cIm1heERhdGVUb1wiXHJcbiAgICAgICAgW21hdERhdGVwaWNrZXJGaWx0ZXJdPVwiZmlsdGVyRGF0ZVJhbmdlXCJcclxuICAgICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgICAgIChjbGljayk9XCJwaWNrZXJUby5vcGVuKClcIlxyXG4gICAgICAvPlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlclRvIFtjYWxlbmRhckhlYWRlckNvbXBvbmVudF09XCJoZWFkZXJcIiBbdG91Y2hVaV09XCJ0b3VjaFVpXCI+IDwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9lY2Ficy1lbGVtZW50LXdyYXBwZXI+XHJcbiJdfQ==
|