ecabs-components 1.0.22 → 1.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/ecabs-components.mjs +4 -4
- package/esm2022/lib/base/consts/date-mask.consts.mjs +56 -56
- package/esm2022/lib/base/directives/date-mask.directive.mjs +65 -67
- package/esm2022/lib/base/directives/date-mask.directive.module.mjs +22 -22
- package/esm2022/lib/base/directives/digits-only.directive.mjs +130 -133
- package/esm2022/lib/base/directives/digits-only.directive.module.mjs +22 -22
- package/esm2022/lib/base/directives/number-border.directive.mjs +54 -58
- package/esm2022/lib/base/directives/number-border.directive.module.mjs +22 -22
- package/esm2022/lib/base/element-base.mjs +100 -105
- package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +53 -56
- package/esm2022/lib/base/element-wrapper/element-wrapper.module.mjs +52 -52
- package/esm2022/lib/base/hint/hint.component.mjs +21 -21
- package/esm2022/lib/base/hint/hint.module.mjs +20 -20
- package/esm2022/lib/base/validation/validation.component.mjs +70 -75
- package/esm2022/lib/base/validation/validation.module.mjs +20 -20
- package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +16 -17
- package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +20 -20
- package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +63 -64
- package/esm2022/lib/ecabs-buttons/ecabs-buttons.module.mjs +21 -21
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +101 -94
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +36 -36
- package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +17 -15
- package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +85 -89
- package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +48 -48
- package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +17 -15
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +179 -186
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +64 -64
- package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +17 -15
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +193 -199
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +65 -65
- package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +45 -48
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +47 -50
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +20 -20
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +44 -47
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +20 -20
- package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +19 -22
- package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +19 -19
- package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +76 -85
- package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +24 -24
- package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +78 -83
- package/esm2022/lib/ecabs-increment/ecabs-increment.module.mjs +23 -23
- package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +83 -90
- package/esm2022/lib/ecabs-input/ecabs-input.module.mjs +22 -22
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +62 -64
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +39 -39
- package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +24 -22
- package/esm2022/lib/ecabs-loading/ecabs-loading.module.mjs +19 -19
- package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +16 -14
- package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +30 -28
- package/esm2022/lib/ecabs-note/ecabs-note.module.mjs +19 -19
- package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +104 -111
- package/esm2022/lib/ecabs-phone/ecabs-phone.module.mjs +22 -22
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +50 -53
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +22 -22
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +65 -68
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +32 -32
- package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +310 -316
- package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +60 -60
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +17 -19
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +24 -24
- package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +43 -48
- package/esm2022/lib/ecabs-table/ecabs-table.module.mjs +33 -33
- package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +62 -65
- package/esm2022/lib/ecabs-textarea/ecabs-textarea.module.mjs +20 -20
- package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +137 -144
- package/esm2022/lib/ecabs-timepicker/config.model.mjs +1 -1
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +312 -322
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +20 -20
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +31 -29
- package/esm2022/lib/models/bread-crumb.mjs +1 -1
- package/esm2022/lib/models/timepicker.models.mjs +1 -1
- package/esm2022/lib/services/ecabs-components.service.mjs +32 -31
- package/esm2022/public-api.mjs +54 -54
- package/fesm2022/ecabs-components.mjs +3192 -3292
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/base/consts/date-mask.consts.d.ts +7 -7
- package/lib/base/directives/date-mask.directive.d.ts +16 -16
- package/lib/base/directives/date-mask.directive.module.d.ts +8 -8
- package/lib/base/directives/digits-only.directive.d.ts +26 -26
- package/lib/base/directives/digits-only.directive.module.d.ts +8 -8
- package/lib/base/directives/number-border.directive.d.ts +13 -13
- package/lib/base/directives/number-border.directive.module.d.ts +8 -8
- package/lib/base/element-base.d.ts +28 -28
- package/lib/base/element-wrapper/element-wrapper.component.d.ts +19 -19
- package/lib/base/element-wrapper/element-wrapper.module.d.ts +16 -16
- package/lib/base/hint/hint.component.d.ts +8 -8
- package/lib/base/hint/hint.module.d.ts +10 -10
- package/lib/base/validation/validation.component.d.ts +24 -24
- package/lib/base/validation/validation.module.d.ts +10 -10
- package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +7 -7
- package/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.d.ts +10 -10
- package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +20 -20
- package/lib/ecabs-buttons/ecabs-buttons.module.d.ts +11 -11
- package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +31 -29
- package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.d.ts +12 -12
- package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +6 -6
- package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +29 -29
- package/lib/ecabs-date-picker/ecabs-date-picker.module.d.ts +15 -15
- package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +6 -6
- package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +51 -51
- package/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.d.ts +19 -19
- package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.d.ts +6 -6
- package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +58 -58
- package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.d.ts +20 -20
- package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +15 -15
- package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +31 -31
- package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.d.ts +11 -11
- package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +28 -28
- package/lib/ecabs-dialog-message/ecabs-dialog-message.module.d.ts +11 -11
- package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +12 -12
- package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.d.ts +9 -9
- package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +28 -28
- package/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.d.ts +14 -14
- package/lib/ecabs-increment/ecabs-increment.component.d.ts +26 -26
- package/lib/ecabs-increment/ecabs-increment.module.d.ts +13 -13
- package/lib/ecabs-input/ecabs-input.component.d.ts +27 -27
- package/lib/ecabs-input/ecabs-input.module.d.ts +12 -12
- package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +20 -20
- package/lib/ecabs-language-selector/ecabs-language-selector.module.d.ts +12 -12
- package/lib/ecabs-loading/ecabs-loading.component.d.ts +8 -8
- package/lib/ecabs-loading/ecabs-loading.module.d.ts +9 -9
- package/lib/ecabs-loading/spinner/spinner.component.d.ts +6 -6
- package/lib/ecabs-note/ecabs-note.component.d.ts +7 -7
- package/lib/ecabs-note/ecabs-note.module.d.ts +9 -9
- package/lib/ecabs-phone/ecabs-phone.component.d.ts +33 -33
- package/lib/ecabs-phone/ecabs-phone.module.d.ts +12 -12
- package/lib/ecabs-picker-header/ecabs-picker-header.component.d.ts +19 -19
- package/lib/ecabs-picker-header/ecabs-picker-header.module.d.ts +12 -12
- package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +24 -24
- package/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.d.ts +11 -11
- package/lib/ecabs-select/ecabs-select.component.d.ts +71 -71
- package/lib/ecabs-select/ecabs-select.module.d.ts +15 -15
- package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +8 -8
- package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.d.ts +9 -9
- package/lib/ecabs-table/ecabs-table.component.d.ts +18 -18
- package/lib/ecabs-table/ecabs-table.module.d.ts +12 -12
- package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +20 -20
- package/lib/ecabs-textarea/ecabs-textarea.module.d.ts +10 -10
- package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +40 -40
- package/lib/ecabs-timepicker/config.model.d.ts +5 -5
- package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +53 -53
- package/lib/ecabs-timepicker/ecabs-timepicker.module.d.ts +10 -10
- package/lib/ecabs-timepicker/ecabs-timepicker.service.d.ts +12 -12
- package/lib/models/bread-crumb.d.ts +5 -5
- package/lib/models/timepicker.models.d.ts +6 -6
- package/lib/services/ecabs-components.service.d.ts +16 -16
- package/package.json +1 -1
- package/public-api.d.ts +54 -54
- package/styles/material/overrides/_form.scss +13 -1
- package/styles/scss/modules/_form.scss +13 -8
- package/styles/scss/utilities/_helpers.scss +9 -0
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../../ecabs-picker-header/ecabs-picker-header.component";
|
|
4
|
-
export class EcabsDateTimePickerHeaderComponent {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵ
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../../ecabs-picker-header/ecabs-picker-header.component";
|
|
4
|
+
export class EcabsDateTimePickerHeaderComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.headerLabel = 'Select date and time';
|
|
7
|
+
}
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateTimePickerHeaderComponent, selector: "ecabs-time-date-picker-header", inputs: { headerLabel: "headerLabel" }, ngImport: i0, template: "<div class=\"select-date-label text-xl font-semibold\">\r\n {{ headerLabel }}\r\n</div>\r\n<ecabs-picker-header></ecabs-picker-header>\r\n", styles: [".select-date-label{color:var(--color-brand-dark);padding-top:1.6rem;padding-left:1.6rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-semibold{font-weight:600}\n"], dependencies: [{ kind: "component", type: i1.EcabsPickerHeaderComponent, selector: "ecabs-picker-header" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerHeaderComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'ecabs-time-date-picker-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"select-date-label text-xl font-semibold\">\r\n {{ headerLabel }}\r\n</div>\r\n<ecabs-picker-header></ecabs-picker-header>\r\n", styles: [".select-date-label{color:var(--color-brand-dark);padding-top:1.6rem;padding-left:1.6rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-semibold{font-weight:600}\n"] }]
|
|
14
|
+
}], propDecorators: { headerLabel: [{
|
|
15
|
+
type: Input
|
|
16
|
+
}] } });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXBpY2tlci1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRhdGUtdGltZS1waWNrZXIvY29tcG9uZW50cy9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9jb21wb25lbnRzL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRMUUsTUFBTSxPQUFPLGtDQUFrQztJQU4vQztRQU9XLGdCQUFXLEdBQUcsc0JBQXNCLENBQUM7S0FDL0M7K0dBRlksa0NBQWtDO21HQUFsQyxrQ0FBa0MsNkdDUi9DLDZJQUlBOzs0RkRJYSxrQ0FBa0M7a0JBTjlDLFNBQVM7K0JBQ0UsK0JBQStCLG1CQUd4Qix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXRpbWUtZGF0ZS1waWNrZXItaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtZGF0ZS10aW1lLXBpY2tlci1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci5jb21wb25lbnQuc2NzcycgXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0RhdGVUaW1lUGlja2VySGVhZGVyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBoZWFkZXJMYWJlbCA9ICdTZWxlY3QgZGF0ZSBhbmQgdGltZSc7XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNlbGVjdC1kYXRlLWxhYmVsIHRleHQteGwgZm9udC1zZW1pYm9sZFwiPlxyXG4gIHt7IGhlYWRlckxhYmVsIH19XHJcbjwvZGl2PlxyXG48ZWNhYnMtcGlja2VyLWhlYWRlcj48L2VjYWJzLXBpY2tlci1oZWFkZXI+XHJcbiJdfQ==
|
|
@@ -1,186 +1,179 @@
|
|
|
1
|
-
import { DecimalPipe } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
-
import { format, isValid, parse, setHours, setMinutes, setSeconds } from 'date-fns';
|
|
4
|
-
import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
|
|
5
|
-
import ElementBaseComponent from '../base/element-base';
|
|
6
|
-
import { EcabsDateTimePickerHeaderComponent } from './components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/common";
|
|
9
|
-
import * as i2 from "../base/element-wrapper/element-wrapper.component";
|
|
10
|
-
import * as i3 from "@angular/material/icon";
|
|
11
|
-
import * as i4 from "@angular/material/datepicker";
|
|
12
|
-
import * as i5 from "@angular/material/legacy-button";
|
|
13
|
-
import * as i6 from "@angular/forms";
|
|
14
|
-
import * as i7 from "../base/directives/digits-only.directive";
|
|
15
|
-
import * as i8 from "../base/directives/number-border.directive";
|
|
16
|
-
import * as i9 from "../base/directives/date-mask.directive";
|
|
17
|
-
export class EcabsDateTimePickerComponent extends ElementBaseComponent {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
this.
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
}], applyLabel: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], selectDateLabel: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], onblur: [{
|
|
184
|
-
type: Output
|
|
185
|
-
}] } });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBWSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFNBQVMsRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG9GQUFvRixDQUFDOzs7Ozs7Ozs7OztBQWV4SSxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsb0JBQW9CO0lBa0Z0QztJQUFxQztJQWpGMUQsT0FBTyxDQUFPO0lBQ2QsT0FBTyxDQUFPO0lBQ2QsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQ25CLFdBQVcsR0FBRyxRQUFRLENBQUM7SUFDdkIsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUNyQixlQUFlLEdBQUcsc0JBQXNCLENBQUM7SUFFeEMs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bXBvcnQgeyBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmb3JtYXQsIGlzVmFsaWQsIHBhcnNlLCBzZXRIb3Vycywgc2V0TWludXRlcywgc2V0U2Vjb25kcyB9IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IEVsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlVGltZVBpY2tlckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtZGF0ZS10aW1lLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIERlY2ltYWxQaXBlLFxyXG4gIF0sXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNEYXRlVGltZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xyXG4gIEBJbnB1dCgpIG1pbkRhdGU6IERhdGU7XHJcbiAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZTtcclxuICBASW5wdXQoKSB0b3VjaFVpID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaGlkZVNlY29uZHMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGNhbmNsZUxhYmVsID0gJ0NhbmNlbCc7XHJcbiAgQElucHV0KCkgYXBwbHlMYWJlbCA9ICdBcHBseSc7XHJcbiAgQElucHV0KCkgc2VsZWN0RGF0ZUxhYmVsID0gJ1NlbGVjdCBkYXRlIGFuZCB0aW1lJztcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBfaG91cnMgPSAnMTInO1xyXG4gIF9taW51dGVzID0gJzAwJztcclxuICBfc2Vjb25kcyA9ICcwMCc7XHJcbiAgX2RhdGU6IERhdGU7XHJcbiAgX3BpY2tlclZhbHVlOiBzdHJpbmc7XHJcbiAgdmFsOiBEYXRlO1xyXG4gIGhlYWRlciA9IEVjYWJzRGF0ZVRpbWVQaWNrZXJIZWFkZXJDb21wb25lbnQ7XHJcbiAgbWF4VmFsdWVIb3VycyA9IDIzO1xyXG4gIG1heFZhbHVlTWludXRlc1NlY29uZHMgPSA1OTtcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IERhdGUge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHBpY2tlclZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGlja2VyVmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgaG91cnMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9ob3VycztcclxuICB9XHJcblxyXG4gIGdldCBtaW51dGVzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fbWludXRlcztcclxuICB9XHJcblxyXG4gIGdldCBzZWNvbmRzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2Vjb25kcztcclxuICB9XHJcblxyXG4gIHNldCBob3VycyggdmFsdWU6IHN0cmluZyApIHtcclxuICAgIGlmICggdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9ob3VycyAhPT0gdmFsdWUgKSB7XHJcbiAgICAgIHRoaXMuX2hvdXJzID0gdGhpcy5yb3VuZE51bWJlciggK3ZhbHVlICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgbWludXRlcyggdmFsdWU6IHN0cmluZyApIHtcclxuICAgIGlmICggdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9taW51dGVzICE9PSB2YWx1ZSApIHtcclxuICAgICAgdGhpcy5fbWludXRlcyA9IHRoaXMucm91bmROdW1iZXIoICt2YWx1ZSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IHNlY29uZHMoIHZhbHVlOiBzdHJpbmcgKSB7XHJcbiAgICBpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fc2Vjb25kcyAhPT0gdmFsdWUgKSB7XHJcbiAgICAgIHRoaXMuX3NlY29uZHMgPSB0aGlzLnJvdW5kTnVtYmVyKCArdmFsdWUgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSggdmFsICkge1xyXG4gICAgaWYgKCB2YWwgJiYgdGhpcy52YWwgIT09IG5ldyBEYXRlKCB2YWwgKSApIHtcclxuICAgICAgdGhpcy52YWwgPSBuZXcgRGF0ZSggdmFsICk7XHJcbiAgICAgIHRoaXMucGlja2VyVmFsdWUgPSB0aGlzLmZvcm1hdERhdGVUaW1lKCB2YWwgKTtcclxuICAgICAgdGhpcy5vbkNoYW5nZSggdmFsICk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCggdmFsICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgcGlja2VyVmFsdWUoIHZhbDogc3RyaW5nICkge1xyXG4gICAgaWYgKCB2YWwgKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBwYXJzZShcclxuICAgICAgICB2YWwucmVwbGFjZSggJ18nLCAnJyApLFxyXG4gICAgICAgIHRoaXMuaGlkZVNlY29uZHMgPyBgZGQvTU0veXl5eSwgSEg6bW1gIDogYGRkL01NL3l5eXksIEhIOm1tOnNzYCxcclxuICAgICAgICBuZXcgRGF0ZSgpXHJcbiAgICAgICk7XHJcbiAgICAgIGlmICggaXNWYWxpZCggZGF0ZSApICYmIHRoaXMuX3BpY2tlclZhbHVlICE9PSB2YWwgKSB7XHJcbiAgICAgICAgdGhpcy5fcGlja2VyVmFsdWUgPSB2YWw7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSByZWFkb25seSBkZWNpbWFsUGlwZTogRGVjaW1hbFBpcGUgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmdDb250cm9sOiBOZ0NvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldCggTmdDb250cm9sLCBudWxsICk7XHJcbiAgICBpZiAoIG5nQ29udHJvbCApIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG5cclxuICAgICAgc2V0VGltZW91dCggKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xEYXRlID0gISF0aGlzLmNvbnRyb2wudmFsdWUgPyBuZXcgRGF0ZSggdGhpcy5jb250cm9sLnZhbHVlICkgOiBuZXcgRGF0ZSgpO1xyXG5cclxuICAgICAgICBpZiAoIGNvbnRyb2xEYXRlICkge1xyXG4gICAgICAgICAgdGhpcy5zZXRWYWx1ZXMoIGNvbnRyb2xEYXRlICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCAxMCApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7IH07XHJcblxyXG4gIHdyaXRlVmFsdWUoIHZhbHVlOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKCBmbjogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcblxyXG4gIGJsdXJDaGFuZ2UoIGU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25ibHVyLmVtaXQoIGUgKTtcclxuICB9XHJcblxyXG4gIG9uQXBwbHkoKTogdm9pZCB7XHJcbiAgICBpZiAoIHRoaXMuX2RhdGUgJiYgdGhpcy5fc2Vjb25kcyAmJiB0aGlzLl9taW51dGVzICYmIHRoaXMuX2hvdXJzICkge1xyXG4gICAgICBjb25zdCBkYXRlID0gc2V0U2Vjb25kcyggc2V0TWludXRlcyggc2V0SG91cnMoIG5ldyBEYXRlKCB0aGlzLl9kYXRlICksICt0aGlzLl9ob3VycyApLCArdGhpcy5fbWludXRlcyApLCArdGhpcy5fc2Vjb25kcyApO1xyXG5cclxuICAgICAgaWYgKCB0aGlzLm1pbkRhdGUgJiYgZGF0ZSA8IHRoaXMubWluRGF0ZSApIHtcclxuICAgICAgICB0aGlzLnNldFZhbHVlcyggdGhpcy5taW5EYXRlICk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWluRGF0ZTtcclxuXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIHRoaXMubWF4RGF0ZSAmJiBkYXRlID4gdGhpcy5tYXhEYXRlICkge1xyXG4gICAgICAgIHRoaXMuc2V0VmFsdWVzKCB0aGlzLm1heERhdGUgKTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXhEYXRlO1xyXG5cclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMudmFsdWUgPSBkYXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXREYXRlVGltZSggZGF0ZTogRGF0ZSApOiBzdHJpbmcge1xyXG4gICAgbGV0IHJlc3VsdCA9ICcnO1xyXG5cclxuICAgIGlmICggZGF0ZSAmJiBpc1ZhbGlkKCBuZXcgRGF0ZSggZGF0ZSApICkgKSB7XHJcbiAgICAgIHJlc3VsdCA9IHRoaXMuaGlkZVNlY29uZHNcclxuICAgICAgICA/IGZvcm1hdCggbmV3IERhdGUoIGRhdGUgKSwgYGRkL01NL3l5eXksIEhIOm1tYCApXHJcbiAgICAgICAgOiBmb3JtYXQoIG5ldyBEYXRlKCBkYXRlICksIGBkZC9NTS95eXl5LCBISDptbTpzc2AgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByb3VuZE51bWJlciggbnVtOiBudW1iZXIgKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0oIG51bSwgJzIuMC0wJyApID8/ICcwMCc7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZhbHVlcyggZGF0ZTogRGF0ZSApOiB2b2lkIHtcclxuICAgIHRoaXMuX2RhdGUgPSBkYXRlO1xyXG4gICAgdGhpcy5ob3VycyA9IGRhdGUuZ2V0SG91cnMoKS50b1N0cmluZygpO1xyXG4gICAgdGhpcy5taW51dGVzID0gZGF0ZS5nZXRNaW51dGVzKCkudG9TdHJpbmcoKTtcclxuICAgIHRoaXMuc2Vjb25kcyA9IGRhdGUuZ2V0U2Vjb25kcygpLnRvU3RyaW5nKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0td3JhcHBlciB3LWZ1bGxcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZha2UtaW5wdXRcIlxyXG4gICAgICBbaWRdPVwiX2RhdGVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cIl9kYXRlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcclxuICAgICAgW21pbl09XCJtaW5EYXRlXCJcclxuICAgICAgW21heF09XCJtYXhEYXRlXCJcclxuICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgIC8+XHJcbiAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlciBbY2FsZW5kYXJIZWFkZXJDb21wb25lbnRdPVwiaGVhZGVyXCIgW3RvdWNoVWldPVwidG91Y2hVaVwiPlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtaW5wdXRzIHRpbWUtLWlucHV0c1wiPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICBbZGlnaXRzT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbaWRdPVwiaG91cnNcIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJfaG91cnNcIlxyXG4gICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZUhvdXJzXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImhvdXJzXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj46PC9zcGFuPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgIFtpZF09XCJtaW51dGVzXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1pbnV0ZXNcIlxyXG4gICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICBbZGlnaXRzT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVNaW51dGVzU2Vjb25kc1wiXHJcbiAgICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVTZWNvbmRzXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj46PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB0aW1lXCJcclxuICAgICAgICAgICAgICAgIFtpZF09XCJzZWNvbmRzXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2Vjb25kc1wiXHJcbiAgICAgICAgICAgICAgICBhcHBEaWdpdHNPbmx5XHJcbiAgICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW21heFZhbHVlXT1cIm1heFZhbHVlTWludXRlc1NlY29uZHNcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQtcGlja2VyLWFjdGlvbnNcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNsYXNzPVwidy1mdWxsIGNhbmNlbC1idXR0b25cIiBjb2xvcj1cInByaW1hcnlcIiBtYXREYXRlcGlja2VyQ2FuY2VsPlxyXG4gICAgICAgICAgICAgIHt7IGNhbmNsZUxhYmVsIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgICBjbGFzcz1cInctZnVsbCBtbC0wIGFwcGx5LWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICBtYXREYXRlcGlja2VyQXBwbHlcclxuICAgICAgICAgICAgICAoY2xpY2spPVwib25BcHBseSgpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBhcHBseUxhYmVsIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgIDwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICA8aW5wdXRcclxuICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB3LWZ1bGwgZGF0ZS1pbnB1dFwiXHJcbiAgICAgIFtpZF09XCJuYW1lXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJwaWNrZXJWYWx1ZVwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIGFwcE1hc2tEYXRlXHJcbiAgICAgIFtpc0RhdGVUaW1lTWFza109XCJ0cnVlXCJcclxuICAgICAgW2NvbnNpZGVyU2Vjb25kc109XCIhaGlkZVNlY29uZHNcIlxyXG4gICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgLz5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cImRhdGVwaWNrZXItdG9nZ2xlXCIgKGNsaWNrKT1cInBpY2tlci5vcGVuKClcIj5cclxuICAgICAgPG1hdC1pY29uPmNhbGVuZGFyX3RvZGF5PC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2FwcC1lbGVtZW50LXdyYXBwZXI+XHJcbiJdfQ==
|
|
1
|
+
import { DecimalPipe } from '@angular/common';
|
|
2
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
|
+
import { format, isValid, parse, setHours, setMinutes, setSeconds } from 'date-fns';
|
|
4
|
+
import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
|
|
5
|
+
import ElementBaseComponent from '../base/element-base';
|
|
6
|
+
import { EcabsDateTimePickerHeaderComponent } from './components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "../base/element-wrapper/element-wrapper.component";
|
|
10
|
+
import * as i3 from "@angular/material/icon";
|
|
11
|
+
import * as i4 from "@angular/material/datepicker";
|
|
12
|
+
import * as i5 from "@angular/material/legacy-button";
|
|
13
|
+
import * as i6 from "@angular/forms";
|
|
14
|
+
import * as i7 from "../base/directives/digits-only.directive";
|
|
15
|
+
import * as i8 from "../base/directives/number-border.directive";
|
|
16
|
+
import * as i9 from "../base/directives/date-mask.directive";
|
|
17
|
+
export class EcabsDateTimePickerComponent extends ElementBaseComponent {
|
|
18
|
+
get value() {
|
|
19
|
+
return this.val;
|
|
20
|
+
}
|
|
21
|
+
get pickerValue() {
|
|
22
|
+
return this._pickerValue;
|
|
23
|
+
}
|
|
24
|
+
get hours() {
|
|
25
|
+
return this._hours;
|
|
26
|
+
}
|
|
27
|
+
get minutes() {
|
|
28
|
+
return this._minutes;
|
|
29
|
+
}
|
|
30
|
+
get seconds() {
|
|
31
|
+
return this._seconds;
|
|
32
|
+
}
|
|
33
|
+
set hours(value) {
|
|
34
|
+
if (value !== undefined && this._hours !== value) {
|
|
35
|
+
this._hours = this.roundNumber(+value);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
set minutes(value) {
|
|
39
|
+
if (value !== undefined && this._minutes !== value) {
|
|
40
|
+
this._minutes = this.roundNumber(+value);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
set seconds(value) {
|
|
44
|
+
if (value !== undefined && this._seconds !== value) {
|
|
45
|
+
this._seconds = this.roundNumber(+value);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
set value(val) {
|
|
49
|
+
if (val && this.val !== new Date(val)) {
|
|
50
|
+
this.val = new Date(val);
|
|
51
|
+
this.pickerValue = this.formatDateTime(val);
|
|
52
|
+
this.onChange(val);
|
|
53
|
+
this.onTouch(val);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
set pickerValue(val) {
|
|
57
|
+
if (val) {
|
|
58
|
+
const date = parse(val.replace('_', ''), this.hideSeconds ? `dd/MM/yyyy, HH:mm` : `dd/MM/yyyy, HH:mm:ss`, new Date());
|
|
59
|
+
if (isValid(date) && this._pickerValue !== val) {
|
|
60
|
+
this._pickerValue = val;
|
|
61
|
+
this.value = date;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
constructor(injector, decimalPipe) {
|
|
66
|
+
super();
|
|
67
|
+
this.injector = injector;
|
|
68
|
+
this.decimalPipe = decimalPipe;
|
|
69
|
+
this.touchUi = false;
|
|
70
|
+
this.hideSeconds = true;
|
|
71
|
+
this.cancleLabel = 'Cancel';
|
|
72
|
+
this.applyLabel = 'Apply';
|
|
73
|
+
this.selectDateLabel = 'Select date and time';
|
|
74
|
+
this.onblur = new EventEmitter();
|
|
75
|
+
this._hours = '12';
|
|
76
|
+
this._minutes = '00';
|
|
77
|
+
this._seconds = '00';
|
|
78
|
+
this.header = EcabsDateTimePickerHeaderComponent;
|
|
79
|
+
this.maxValueHours = 23;
|
|
80
|
+
this.maxValueMinutesSeconds = 59;
|
|
81
|
+
this.onChange = () => { };
|
|
82
|
+
this.onTouch = () => { };
|
|
83
|
+
}
|
|
84
|
+
ngAfterViewInit() {
|
|
85
|
+
const ngControl = this.injector.get(NgControl, null);
|
|
86
|
+
if (ngControl) {
|
|
87
|
+
this.control = ngControl.control;
|
|
88
|
+
setTimeout(() => {
|
|
89
|
+
const controlDate = !!this.control.value ? new Date(this.control.value) : new Date();
|
|
90
|
+
if (controlDate) {
|
|
91
|
+
this.setValues(controlDate);
|
|
92
|
+
}
|
|
93
|
+
}, 10);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
writeValue(value) {
|
|
97
|
+
this.value = value;
|
|
98
|
+
}
|
|
99
|
+
registerOnChange(fn) {
|
|
100
|
+
this.onChange = fn;
|
|
101
|
+
}
|
|
102
|
+
registerOnTouched(fn) {
|
|
103
|
+
this.onTouch = fn;
|
|
104
|
+
}
|
|
105
|
+
blurChange(e) {
|
|
106
|
+
this.onblur.emit(e);
|
|
107
|
+
}
|
|
108
|
+
onApply() {
|
|
109
|
+
if (this._date && this._seconds && this._minutes && this._hours) {
|
|
110
|
+
const date = setSeconds(setMinutes(setHours(new Date(this._date), +this._hours), +this._minutes), +this._seconds);
|
|
111
|
+
if (this.minDate && date < this.minDate) {
|
|
112
|
+
this.setValues(this.minDate);
|
|
113
|
+
this.value = this.minDate;
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
if (this.maxDate && date > this.maxDate) {
|
|
117
|
+
this.setValues(this.maxDate);
|
|
118
|
+
this.value = this.maxDate;
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
this.value = date;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
formatDateTime(date) {
|
|
125
|
+
let result = '';
|
|
126
|
+
if (date && isValid(new Date(date))) {
|
|
127
|
+
result = this.hideSeconds
|
|
128
|
+
? format(new Date(date), `dd/MM/yyyy, HH:mm`)
|
|
129
|
+
: format(new Date(date), `dd/MM/yyyy, HH:mm:ss`);
|
|
130
|
+
}
|
|
131
|
+
return result;
|
|
132
|
+
}
|
|
133
|
+
roundNumber(num) {
|
|
134
|
+
return this.decimalPipe.transform(num, '2.0-0') ?? '00';
|
|
135
|
+
}
|
|
136
|
+
setValues(date) {
|
|
137
|
+
this._date = date;
|
|
138
|
+
this.hours = date.getHours().toString();
|
|
139
|
+
this.minutes = date.getMinutes().toString();
|
|
140
|
+
this.seconds = date.getSeconds().toString();
|
|
141
|
+
}
|
|
142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerComponent, deps: [{ token: i0.Injector }, { token: i1.DecimalPipe }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
143
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateTimePickerComponent, selector: "ecabs-date-time-picker", inputs: { minDate: "minDate", maxDate: "maxDate", touchUi: "touchUi", hideSeconds: "hideSeconds", cancleLabel: "cancleLabel", applyLabel: "applyLabel", selectDateLabel: "selectDateLabel" }, outputs: { onblur: "onblur" }, providers: [
|
|
144
|
+
{
|
|
145
|
+
provide: NG_VALUE_ACCESSOR,
|
|
146
|
+
useExisting: EcabsDateTimePickerComponent,
|
|
147
|
+
multi: true,
|
|
148
|
+
},
|
|
149
|
+
DecimalPipe,
|
|
150
|
+
], usesInheritance: true, ngImport: i0, template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n class=\"fake-input\"\r\n [id]=\"_date\"\r\n [(ngModel)]=\"_date\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker #picker [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\">\r\n <mat-datepicker-actions>\r\n <div class=\"actions\">\r\n <div class=\"time-inputs time--inputs\">\r\n <input\r\n class=\"form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hours\"\r\n [value]=\"_hours\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hours\"\r\n />\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutes\"\r\n [(ngModel)]=\"minutes\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n\r\n <ng-container *ngIf=\"!hideSeconds\">\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"seconds\"\r\n [(ngModel)]=\"seconds\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"grid-picker-actions\">\r\n <button type=\"button\" mat-stroked-button class=\"w-full cancel-button\" color=\"primary\" matDatepickerCancel>\r\n {{ cancleLabel }}\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n mat-button\r\n class=\"w-full ml-0 apply-button\"\r\n color=\"primary\"\r\n matDatepickerApply\r\n (click)=\"onApply()\"\r\n >\r\n {{ applyLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n <input\r\n class=\"form-field__input w-full date-input\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"pickerValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n appMaskDate\r\n [isDateTimeMask]=\"true\"\r\n [considerSeconds]=\"!hideSeconds\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <button type=\"button\" mat-icon-button class=\"datepicker-toggle\" (click)=\"picker.open()\">\r\n <mat-icon>calendar_today</mat-icon>\r\n </button>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: [":host ::ng-deep .time--inputs:before,:host ::ng-deep .time--inputs:after{position:absolute;content:\"\"}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}:host ::ng-deep .datepicker-toggle{transform:translate(-1.25rem);background-color:inherit;left:-.125rem}:host ::ng-deep .time{width:3.375rem}:host ::ng-deep .fake-input{visibility:hidden;width:0;padding:0;margin:0}:host ::ng-deep .date-input{margin:0rem -1.25rem 0rem -.25rem}:host ::ng-deep .time--inputs{position:relative;margin-top:2.4rem;margin-bottom:2.4rem}:host ::ng-deep .time--inputs:before,:host ::ng-deep .time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300)}:host ::ng-deep .time--inputs:before{top:-1.6rem}:host ::ng-deep .time--inputs:after{bottom:-1.6rem}:host ::ng-deep .font-bold{font-weight:700}:host ::ng-deep .actions{display:flex;flex-direction:column;width:100%!important;row-gap:1rem}:host ::ng-deep .time-inputs{display:flex;gap:.5rem;justify-content:center;align-items:center}:host ::ng-deep .grid-picker-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}:host ::ng-deep .grid-picker-actions button{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { 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: "component", type: i4.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i4.MatDatepickerCancel, selector: "[matDatepickerCancel], [matDateRangePickerCancel]" }, { kind: "directive", type: i4.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "component", type: i5.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i7.DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i8.NumberBorderDirective, selector: "[appNumberBorder]", inputs: ["maxValue", "minValue"] }, { kind: "directive", type: i9.MaskDateDirective, selector: "[appMaskDate]", inputs: ["isDateTimeMask", "considerSeconds"] }] }); }
|
|
151
|
+
}
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerComponent, decorators: [{
|
|
153
|
+
type: Component,
|
|
154
|
+
args: [{ selector: 'ecabs-date-time-picker', providers: [
|
|
155
|
+
{
|
|
156
|
+
provide: NG_VALUE_ACCESSOR,
|
|
157
|
+
useExisting: EcabsDateTimePickerComponent,
|
|
158
|
+
multi: true,
|
|
159
|
+
},
|
|
160
|
+
DecimalPipe,
|
|
161
|
+
], template: "<app-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__input--wrapper w-full\">\r\n <input\r\n class=\"fake-input\"\r\n [id]=\"_date\"\r\n [(ngModel)]=\"_date\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"picker\"\r\n [min]=\"minDate\"\r\n [max]=\"maxDate\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker #picker [calendarHeaderComponent]=\"header\" [touchUi]=\"touchUi\">\r\n <mat-datepicker-actions>\r\n <div class=\"actions\">\r\n <div class=\"time-inputs time--inputs\">\r\n <input\r\n class=\"form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hours\"\r\n [value]=\"_hours\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hours\"\r\n />\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutes\"\r\n [(ngModel)]=\"minutes\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n\r\n <ng-container *ngIf=\"!hideSeconds\">\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"seconds\"\r\n [(ngModel)]=\"seconds\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"grid-picker-actions\">\r\n <button type=\"button\" mat-stroked-button class=\"w-full cancel-button\" color=\"primary\" matDatepickerCancel>\r\n {{ cancleLabel }}\r\n </button>\r\n\r\n <button\r\n type=\"button\"\r\n mat-button\r\n class=\"w-full ml-0 apply-button\"\r\n color=\"primary\"\r\n matDatepickerApply\r\n (click)=\"onApply()\"\r\n >\r\n {{ applyLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n </mat-datepicker-actions>\r\n </mat-datepicker>\r\n <input\r\n class=\"form-field__input w-full date-input\"\r\n [id]=\"name\"\r\n [(ngModel)]=\"pickerValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n appMaskDate\r\n [isDateTimeMask]=\"true\"\r\n [considerSeconds]=\"!hideSeconds\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <button type=\"button\" mat-icon-button class=\"datepicker-toggle\" (click)=\"picker.open()\">\r\n <mat-icon>calendar_today</mat-icon>\r\n </button>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: [":host ::ng-deep .time--inputs:before,:host ::ng-deep .time--inputs:after{position:absolute;content:\"\"}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}:host ::ng-deep .datepicker-toggle{transform:translate(-1.25rem);background-color:inherit;left:-.125rem}:host ::ng-deep .time{width:3.375rem}:host ::ng-deep .fake-input{visibility:hidden;width:0;padding:0;margin:0}:host ::ng-deep .date-input{margin:0rem -1.25rem 0rem -.25rem}:host ::ng-deep .time--inputs{position:relative;margin-top:2.4rem;margin-bottom:2.4rem}:host ::ng-deep .time--inputs:before,:host ::ng-deep .time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300)}:host ::ng-deep .time--inputs:before{top:-1.6rem}:host ::ng-deep .time--inputs:after{bottom:-1.6rem}:host ::ng-deep .font-bold{font-weight:700}:host ::ng-deep .actions{display:flex;flex-direction:column;width:100%!important;row-gap:1rem}:host ::ng-deep .time-inputs{display:flex;gap:.5rem;justify-content:center;align-items:center}:host ::ng-deep .grid-picker-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}:host ::ng-deep .grid-picker-actions button{width:100%}\n"] }]
|
|
162
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.DecimalPipe }]; }, propDecorators: { minDate: [{
|
|
163
|
+
type: Input
|
|
164
|
+
}], maxDate: [{
|
|
165
|
+
type: Input
|
|
166
|
+
}], touchUi: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}], hideSeconds: [{
|
|
169
|
+
type: Input
|
|
170
|
+
}], cancleLabel: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], applyLabel: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], selectDateLabel: [{
|
|
175
|
+
type: Input
|
|
176
|
+
}], onblur: [{
|
|
177
|
+
type: Output
|
|
178
|
+
}] } });
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFlBQVksRUFBWSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwRixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLFNBQVMsRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG9GQUFvRixDQUFDOzs7Ozs7Ozs7OztBQWV4SSxNQUFNLE9BQU8sNEJBQTZCLFNBQVEsb0JBQW9CO0lBcUJwRSxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLE9B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QUMsV0FBVyxDQUFDLFNBQVMsQ0FBRSxHQUFHLEVBQUUsT0FBTyxDQUFFLElBQUksSUFBSSxDQUFDO0lBQzVELENBQUM7SUFFTyxTQUFTLENBQUUsSUFBVTtRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QyxDQUFDOytHQW5LVSw0QkFBNEI7bUdBQTVCLDRCQUE0Qiw4UUFUNUI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsNEJBQTRCO2dCQUN6QyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsV0FBVztTQUNaLGlEQ2xCSCxvK0ZBdUZBOzs0RkRuRWEsNEJBQTRCO2tCQWJ4QyxTQUFTOytCQUNFLHdCQUF3QixhQUd2Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLDhCQUE4Qjs0QkFDekMsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0QsV0FBVztxQkFDWjt5SEFHUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZvcm1hdCwgaXNWYWxpZCwgcGFyc2UsIHNldEhvdXJzLCBzZXRNaW51dGVzLCBzZXRTZWNvbmRzIH0gZnJvbSAnZGF0ZS1mbnMnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5pbXBvcnQgeyBFY2Fic0RhdGVUaW1lUGlja2VySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KCB7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1kYXRlLXRpbWUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZWNhYnMtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbICcuL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNEYXRlVGltZVBpY2tlckNvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAgRGVjaW1hbFBpcGUsXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0RhdGVUaW1lUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgRWxlbWVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQElucHV0KCkgbWluRGF0ZTogRGF0ZTtcclxuICBASW5wdXQoKSBtYXhEYXRlOiBEYXRlO1xyXG4gIEBJbnB1dCgpIHRvdWNoVWkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBoaWRlU2Vjb25kcyA9IHRydWU7XHJcbiAgQElucHV0KCkgY2FuY2xlTGFiZWwgPSAnQ2FuY2VsJztcclxuICBASW5wdXQoKSBhcHBseUxhYmVsID0gJ0FwcGx5JztcclxuICBASW5wdXQoKSBzZWxlY3REYXRlTGFiZWwgPSAnU2VsZWN0IGRhdGUgYW5kIHRpbWUnO1xyXG5cclxuICBAT3V0cHV0KCkgb25ibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIF9ob3VycyA9ICcxMic7XHJcbiAgX21pbnV0ZXMgPSAnMDAnO1xyXG4gIF9zZWNvbmRzID0gJzAwJztcclxuICBfZGF0ZTogRGF0ZTtcclxuICBfcGlja2VyVmFsdWU6IHN0cmluZztcclxuICB2YWw6IERhdGU7XHJcbiAgaGVhZGVyID0gRWNhYnNEYXRlVGltZVBpY2tlckhlYWRlckNvbXBvbmVudDtcclxuICBtYXhWYWx1ZUhvdXJzID0gMjM7XHJcbiAgbWF4VmFsdWVNaW51dGVzU2Vjb25kcyA9IDU5O1xyXG5cclxuICBnZXQgdmFsdWUoKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBnZXQgcGlja2VyVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9waWNrZXJWYWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBob3VycygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hvdXJzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1pbnV0ZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9taW51dGVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlY29uZHMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWNvbmRzO1xyXG4gIH1cclxuXHJcbiAgc2V0IGhvdXJzKCB2YWx1ZTogc3RyaW5nICkge1xyXG4gICAgaWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX2hvdXJzICE9PSB2YWx1ZSApIHtcclxuICAgICAgdGhpcy5faG91cnMgPSB0aGlzLnJvdW5kTnVtYmVyKCArdmFsdWUgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBtaW51dGVzKCB2YWx1ZTogc3RyaW5nICkge1xyXG4gICAgaWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX21pbnV0ZXMgIT09IHZhbHVlICkge1xyXG4gICAgICB0aGlzLl9taW51dGVzID0gdGhpcy5yb3VuZE51bWJlciggK3ZhbHVlICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgc2Vjb25kcyggdmFsdWU6IHN0cmluZyApIHtcclxuICAgIGlmICggdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9zZWNvbmRzICE9PSB2YWx1ZSApIHtcclxuICAgICAgdGhpcy5fc2Vjb25kcyA9IHRoaXMucm91bmROdW1iZXIoICt2YWx1ZSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKCB2YWwgKSB7XHJcbiAgICBpZiAoIHZhbCAmJiB0aGlzLnZhbCAhPT0gbmV3IERhdGUoIHZhbCApICkge1xyXG4gICAgICB0aGlzLnZhbCA9IG5ldyBEYXRlKCB2YWwgKTtcclxuICAgICAgdGhpcy5waWNrZXJWYWx1ZSA9IHRoaXMuZm9ybWF0RGF0ZVRpbWUoIHZhbCApO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKCB2YWwgKTtcclxuICAgICAgdGhpcy5vblRvdWNoKCB2YWwgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBwaWNrZXJWYWx1ZSggdmFsOiBzdHJpbmcgKSB7XHJcbiAgICBpZiAoIHZhbCApIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IHBhcnNlKFxyXG4gICAgICAgIHZhbC5yZXBsYWNlKCAnXycsICcnICksXHJcbiAgICAgICAgdGhpcy5oaWRlU2Vjb25kcyA/IGBkZC9NTS95eXl5LCBISDptbWAgOiBgZGQvTU0veXl5eSwgSEg6bW06c3NgLFxyXG4gICAgICAgIG5ldyBEYXRlKClcclxuICAgICAgKTtcclxuICAgICAgaWYgKCBpc1ZhbGlkKCBkYXRlICkgJiYgdGhpcy5fcGlja2VyVmFsdWUgIT09IHZhbCApIHtcclxuICAgICAgICB0aGlzLl9waWNrZXJWYWx1ZSA9IHZhbDtcclxuICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLCBwcml2YXRlIHJlYWRvbmx5IGRlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZSApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCBOZ0NvbnRyb2wsIG51bGwgKTtcclxuICAgIGlmICggbmdDb250cm9sICkge1xyXG4gICAgICB0aGlzLmNvbnRyb2wgPSBuZ0NvbnRyb2wuY29udHJvbCBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcblxyXG4gICAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29udHJvbERhdGUgPSAhIXRoaXMuY29udHJvbC52YWx1ZSA/IG5ldyBEYXRlKCB0aGlzLmNvbnRyb2wudmFsdWUgKSA6IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgICAgIGlmICggY29udHJvbERhdGUgKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFZhbHVlcyggY29udHJvbERhdGUgKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gIG9uVG91Y2g6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgd3JpdGVWYWx1ZSggdmFsdWU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoIGZuOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZCggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgYmx1ckNoYW5nZSggZTogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vbmJsdXIuZW1pdCggZSApO1xyXG4gIH1cclxuXHJcbiAgb25BcHBseSgpOiB2b2lkIHtcclxuICAgIGlmICggdGhpcy5fZGF0ZSAmJiB0aGlzLl9zZWNvbmRzICYmIHRoaXMuX21pbnV0ZXMgJiYgdGhpcy5faG91cnMgKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBzZXRTZWNvbmRzKCBzZXRNaW51dGVzKCBzZXRIb3VycyggbmV3IERhdGUoIHRoaXMuX2RhdGUgKSwgK3RoaXMuX2hvdXJzICksICt0aGlzLl9taW51dGVzICksICt0aGlzLl9zZWNvbmRzICk7XHJcblxyXG4gICAgICBpZiAoIHRoaXMubWluRGF0ZSAmJiBkYXRlIDwgdGhpcy5taW5EYXRlICkge1xyXG4gICAgICAgIHRoaXMuc2V0VmFsdWVzKCB0aGlzLm1pbkRhdGUgKTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW5EYXRlO1xyXG5cclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICggdGhpcy5tYXhEYXRlICYmIGRhdGUgPiB0aGlzLm1heERhdGUgKSB7XHJcbiAgICAgICAgdGhpcy5zZXRWYWx1ZXMoIHRoaXMubWF4RGF0ZSApO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1heERhdGU7XHJcblxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy52YWx1ZSA9IGRhdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdERhdGVUaW1lKCBkYXRlOiBEYXRlICk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcblxyXG4gICAgaWYgKCBkYXRlICYmIGlzVmFsaWQoIG5ldyBEYXRlKCBkYXRlICkgKSApIHtcclxuICAgICAgcmVzdWx0ID0gdGhpcy5oaWRlU2Vjb25kc1xyXG4gICAgICAgID8gZm9ybWF0KCBuZXcgRGF0ZSggZGF0ZSApLCBgZGQvTU0veXl5eSwgSEg6bW1gIClcclxuICAgICAgICA6IGZvcm1hdCggbmV3IERhdGUoIGRhdGUgKSwgYGRkL01NL3l5eXksIEhIOm1tOnNzYCApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJvdW5kTnVtYmVyKCBudW06IG51bWJlciApOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybSggbnVtLCAnMi4wLTAnICkgPz8gJzAwJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmFsdWVzKCBkYXRlOiBEYXRlICk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGF0ZSA9IGRhdGU7XHJcbiAgICB0aGlzLmhvdXJzID0gZGF0ZS5nZXRIb3VycygpLnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLm1pbnV0ZXMgPSBkYXRlLmdldE1pbnV0ZXMoKS50b1N0cmluZygpO1xyXG4gICAgdGhpcy5zZWNvbmRzID0gZGF0ZS5nZXRTZWNvbmRzKCkudG9TdHJpbmcoKTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1lbGVtZW50LXdyYXBwZXIgW2RhdGFdPVwiZ2V0RGF0YSgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS13cmFwcGVyIHctZnVsbFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIGNsYXNzPVwiZmFrZS1pbnB1dFwiXHJcbiAgICAgIFtpZF09XCJfZGF0ZVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwiX2RhdGVcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxyXG4gICAgICBbbWluXT1cIm1pbkRhdGVcIlxyXG4gICAgICBbbWF4XT1cIm1heERhdGVcIlxyXG4gICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgLz5cclxuICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyIFtjYWxlbmRhckhlYWRlckNvbXBvbmVudF09XCJoZWFkZXJcIiBbdG91Y2hVaV09XCJ0b3VjaFVpXCI+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1pbnB1dHMgdGltZS0taW5wdXRzXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdGltZVwiXHJcbiAgICAgICAgICAgICAgYXBwRGlnaXRzT25seVxyXG4gICAgICAgICAgICAgIGFwcE51bWJlckJvcmRlclxyXG4gICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtpZF09XCJob3Vyc1wiXHJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIl9ob3Vyc1wiXHJcbiAgICAgICAgICAgICAgW21heFZhbHVlXT1cIm1heFZhbHVlSG91cnNcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaG91cnNcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPjo8L3NwYW4+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdGltZVwiXHJcbiAgICAgICAgICAgICAgW2lkXT1cIm1pbnV0ZXNcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWludXRlc1wiXHJcbiAgICAgICAgICAgICAgYXBwRGlnaXRzT25seVxyXG4gICAgICAgICAgICAgIGFwcE51bWJlckJvcmRlclxyXG4gICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZU1pbnV0ZXNTZWNvbmRzXCJcclxuICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGlkZVNlY29uZHNcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPjo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgICAgW2lkXT1cInNlY29uZHNcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWNvbmRzXCJcclxuICAgICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICAgIGFwcE51bWJlckJvcmRlclxyXG4gICAgICAgICAgICAgICAgW2RpZ2l0c09ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVNaW51dGVzU2Vjb25kc1wiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZC1waWNrZXItYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY2xhc3M9XCJ3LWZ1bGwgY2FuY2VsLWJ1dHRvblwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdERhdGVwaWNrZXJDYW5jZWw+XHJcbiAgICAgICAgICAgICAge3sgY2FuY2xlTGFiZWwgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIG1sLTAgYXBwbHktYnV0dG9uXCJcclxuICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgIG1hdERhdGVwaWNrZXJBcHBseVxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJvbkFwcGx5KClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IGFwcGx5TGFiZWwgfX1cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9tYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxyXG4gICAgPC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHctZnVsbCBkYXRlLWlucHV0XCJcclxuICAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInBpY2tlclZhbHVlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgYXBwTWFza0RhdGVcclxuICAgICAgW2lzRGF0ZVRpbWVNYXNrXT1cInRydWVcIlxyXG4gICAgICBbY29uc2lkZXJTZWNvbmRzXT1cIiFoaWRlU2Vjb25kc1wiXHJcbiAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXHJcbiAgICAvPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiZGF0ZXBpY2tlci10b2dnbGVcIiAoY2xpY2spPVwicGlja2VyLm9wZW4oKVwiPlxyXG4gICAgICA8bWF0LWljb24+Y2FsZW5kYXJfdG9kYXk8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvYXBwLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
|