ecabs-components 1.0.66 → 1.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/base/consts/date-mask.consts.mjs +24 -5
- package/esm2022/lib/base/consts/error-messages.consts.mjs +91 -0
- package/esm2022/lib/base/consts/images.consts.mjs +1 -1
- package/esm2022/lib/base/directives/date-mask.directive.mjs +25 -3
- package/esm2022/lib/base/directives/date-mask.directive.module.mjs +3 -7
- package/esm2022/lib/base/directives/digits-only.directive.mjs +15 -6
- package/esm2022/lib/base/directives/digits-only.directive.module.mjs +3 -7
- package/esm2022/lib/base/directives/dynamic-bg-color.directive.mjs +3 -3
- package/esm2022/lib/base/directives/dynamic-bg-color.directive.module.mjs +4 -8
- package/esm2022/lib/base/directives/number-border.directive.mjs +2 -1
- package/esm2022/lib/base/directives/number-border.directive.module.mjs +3 -7
- package/esm2022/lib/base/directives/tooltip-if-truncated.directive.mjs +2 -2
- package/esm2022/lib/base/directives/tooltip-if-truncated.directive.module.mjs +3 -7
- package/esm2022/lib/base/element-base.mjs +6 -2
- package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +3 -3
- package/esm2022/lib/base/element-wrapper/element-wrapper.module.mjs +14 -6
- package/esm2022/lib/base/hint/hint.component.mjs +1 -1
- package/esm2022/lib/base/hint/hint.module.mjs +1 -1
- package/esm2022/lib/base/models/ecabs-date-picker-translations.models.mjs +1 -1
- package/esm2022/lib/base/models/header.models.mjs +1 -1
- package/esm2022/lib/base/models/sidebar.models.mjs +1 -1
- package/esm2022/lib/base/pipes/pipes.module.mjs +4 -8
- package/esm2022/lib/base/pipes/truncate.pipe.mjs +1 -1
- package/esm2022/lib/base/services/ecabs-components.service.mjs +9 -14
- package/esm2022/lib/base/services/ecabs-date-picker-translations.service.mjs +3 -3
- package/esm2022/lib/base/services/header.service.mjs +1 -1
- package/esm2022/lib/base/utils/menu-utils.mjs +1 -1
- package/esm2022/lib/base/validation/validation.component.mjs +6 -3
- package/esm2022/lib/base/validation/validation.module.mjs +1 -1
- package/esm2022/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.mjs +1 -1
- package/esm2022/lib/ecabs-active-status-filter/ecabs-active-status-filter.module.mjs +1 -1
- package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +1 -1
- package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +1 -1
- package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +8 -4
- package/esm2022/lib/ecabs-buttons/ecabs-buttons.module.mjs +1 -1
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +9 -10
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +2 -2
- package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +1 -1
- package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +8 -7
- package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +4 -4
- package/esm2022/lib/ecabs-date-picker-actions/ecabs-date-picker-actions.component.mjs +1 -1
- package/esm2022/lib/ecabs-date-picker-actions/ecabs-date-picker-actions.module.mjs +8 -20
- package/esm2022/lib/ecabs-date-range-picker/components/ecabs-date-range-picker-header/ecabs-date-range-picker-header.component.mjs +1 -1
- package/esm2022/lib/ecabs-date-range-picker/ecabs-date-range-picker.component.mjs +13 -11
- package/esm2022/lib/ecabs-date-range-picker/ecabs-date-range-picker.module.mjs +10 -6
- package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +1 -1
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +14 -10
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +9 -5
- package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +1 -1
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +44 -12
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +19 -7
- package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +16 -2
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +5 -3
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +1 -1
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +4 -2
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +1 -1
- package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +2 -2
- package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +1 -1
- package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +5 -3
- package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +24 -4
- package/esm2022/lib/ecabs-header/ecabs-header.component.mjs +5 -7
- package/esm2022/lib/ecabs-header/ecabs-header.module.mjs +6 -8
- package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +5 -5
- package/esm2022/lib/ecabs-increment/ecabs-increment.module.mjs +21 -4
- package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +3 -3
- package/esm2022/lib/ecabs-input/ecabs-input.module.mjs +18 -4
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +6 -3
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +3 -3
- package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +1 -1
- package/esm2022/lib/ecabs-logo/ecabs-logo.component.mjs +1 -1
- package/esm2022/lib/ecabs-logo/ecabs-logo.module.mjs +4 -10
- package/esm2022/lib/ecabs-menu-items/ecabs-menu-items.component.mjs +22 -14
- package/esm2022/lib/ecabs-menu-items/ecabs-menu-items.module.mjs +7 -11
- package/esm2022/lib/ecabs-multiple-dates-picker/ecabs-multiple-dates-picker.component.mjs +8 -7
- package/esm2022/lib/ecabs-multiple-dates-picker/ecabs-multiple-dates-picker.module.mjs +6 -6
- package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +3 -3
- package/esm2022/lib/ecabs-note/ecabs-note.module.mjs +1 -1
- package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +20 -11
- package/esm2022/lib/ecabs-phone/ecabs-phone.module.mjs +21 -4
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +13 -9
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +18 -4
- package/esm2022/lib/ecabs-place-autocomplete/ecabs-place-autocomplete.component.mjs +3 -3
- package/esm2022/lib/ecabs-place-autocomplete/ecabs-place-autocomplete.module.mjs +4 -15
- package/esm2022/lib/ecabs-profile/ecabs-profile.component.mjs +5 -5
- package/esm2022/lib/ecabs-profile/ecabs-profile.module.mjs +6 -11
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +9 -6
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +4 -15
- package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +32 -14
- package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +2 -2
- package/esm2022/lib/ecabs-sidebar/ecabs-sidebar.component.mjs +4 -4
- package/esm2022/lib/ecabs-sidebar/ecabs-sidebar.module.mjs +10 -14
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +1 -1
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +4 -9
- package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +2 -2
- package/esm2022/lib/ecabs-table/ecabs-table.module.mjs +2 -2
- package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +2 -2
- package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +11 -7
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +26 -15
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +1 -1
- package/esm2022/lib/ecabs-validation/ecabs-validation.component.mjs +1 -1
- package/esm2022/lib/ecabs-validation/ecabs-validation.module.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/ecabs-components.mjs +594 -304
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/base/consts/error-messages.consts.d.ts +2 -0
- package/lib/base/directives/tooltip-if-truncated.directive.d.ts +2 -2
- package/lib/base/element-base.d.ts +2 -1
- package/lib/base/element-wrapper/element-wrapper.module.d.ts +1 -1
- package/lib/base/models/ecabs-date-picker-translations.models.d.ts +1 -1
- package/lib/base/models/header.models.d.ts +3 -3
- package/lib/base/services/ecabs-components.service.d.ts +1 -2
- package/lib/base/services/header.service.d.ts +3 -3
- package/lib/base/utils/menu-utils.d.ts +1 -1
- package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +2 -1
- package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +2 -0
- package/lib/ecabs-header/ecabs-header.component.d.ts +3 -3
- package/lib/ecabs-menu-items/ecabs-menu-items.component.d.ts +5 -5
- package/lib/ecabs-phone/ecabs-phone.component.d.ts +5 -4
- package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +4 -2
- package/lib/ecabs-sidebar/ecabs-sidebar.component.d.ts +3 -3
- package/package.json +1 -1
- package/src/assets/styles/material/overrides/_select.scss +4 -0
- package/src/assets/styles/scss/modules/_form.scss +11 -1
- package/src/assets/styles/tailwind/index.scss +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { format, isValid, parse, setHours, setMinutes, setSeconds } from 'date-fns';
|
|
1
|
+
import { format, isValid, parse, setHours, setMinutes, setSeconds, } from 'date-fns';
|
|
2
2
|
import { takeUntil } from 'rxjs';
|
|
3
3
|
import { DecimalPipe } from '@angular/common';
|
|
4
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
5
|
-
import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
|
|
4
|
+
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
5
|
+
import { NG_VALUE_ACCESSOR, NgControl, } from '@angular/forms';
|
|
6
6
|
import ElementBaseComponent from '../base/element-base';
|
|
7
7
|
import { UnsubscribeService } from '../base/services/unsubscribe.service';
|
|
8
8
|
import { EcabsDateTimePickerHeaderComponent } from './components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component';
|
|
@@ -31,6 +31,7 @@ export class EcabsDateTimePickerComponent extends ElementBaseComponent {
|
|
|
31
31
|
hideSeconds = true;
|
|
32
32
|
cancelLabel;
|
|
33
33
|
applyLabel;
|
|
34
|
+
applyMinDateAuto = true;
|
|
34
35
|
onblur = new EventEmitter();
|
|
35
36
|
_hours = '12';
|
|
36
37
|
_minutes = '00';
|
|
@@ -86,7 +87,7 @@ export class EcabsDateTimePickerComponent extends ElementBaseComponent {
|
|
|
86
87
|
if (val) {
|
|
87
88
|
const date = parse(val.replace('_', ''), this.hideSeconds ? `dd/MM/yyyy, HH:mm` : `dd/MM/yyyy, HH:mm:ss`, new Date());
|
|
88
89
|
if (isValid(date) && this._pickerValue !== val) {
|
|
89
|
-
if (this.minDate && date < this.minDate) {
|
|
90
|
+
if (this.minDate && date < this.minDate && this.applyMinDateAuto) {
|
|
90
91
|
this.setValues(this.minDate);
|
|
91
92
|
this._pickerValue = val;
|
|
92
93
|
this.preventCallSetterPickerValue = true;
|
|
@@ -121,9 +122,10 @@ export class EcabsDateTimePickerComponent extends ElementBaseComponent {
|
|
|
121
122
|
this.unsubscribeService = unsubscribeService;
|
|
122
123
|
}
|
|
123
124
|
ngOnInit() {
|
|
124
|
-
this.ecabsDatePickerHeaderService
|
|
125
|
+
this.ecabsDatePickerHeaderService
|
|
126
|
+
.getConfig()
|
|
125
127
|
.pipe(takeUntil(this.unsubscribeService.subscription()))
|
|
126
|
-
.subscribe(config => this.translationConfig = config);
|
|
128
|
+
.subscribe((config) => (this.translationConfig = config));
|
|
127
129
|
}
|
|
128
130
|
ngAfterViewInit() {
|
|
129
131
|
const ngControl = this.injector.get(NgControl, null);
|
|
@@ -188,14 +190,14 @@ export class EcabsDateTimePickerComponent extends ElementBaseComponent {
|
|
|
188
190
|
}
|
|
189
191
|
}
|
|
190
192
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerComponent, deps: [{ token: i0.Injector }, { token: i1.DecimalPipe }, { token: i0.ChangeDetectorRef }, { token: i2.EcabsDatePickerHeaderService }, { token: i3.UnsubscribeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
191
|
-
static ɵ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", cancelLabel: "cancelLabel", applyLabel: "applyLabel" }, outputs: { onblur: "onblur" }, providers: [
|
|
193
|
+
static ɵ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", cancelLabel: "cancelLabel", applyLabel: "applyLabel", applyMinDateAuto: "applyMinDateAuto" }, outputs: { onblur: "onblur" }, providers: [
|
|
192
194
|
{
|
|
193
195
|
provide: NG_VALUE_ACCESSOR,
|
|
194
196
|
useExisting: EcabsDateTimePickerComponent,
|
|
195
197
|
multi: true,
|
|
196
198
|
},
|
|
197
199
|
DecimalPipe,
|
|
198
|
-
UnsubscribeService
|
|
200
|
+
UnsubscribeService,
|
|
199
201
|
], 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\" class=\"datepicker-ui\">\r\n <mat-datepicker-actions>\r\n <div class=\"actions\">\r\n <div class=\"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 <ecabs-date-picker-actions [applyLabel]=\"applyLabel ?? translationConfig?.applyLabel\"\r\n [cancelLabel]=\"cancelLabel ?? translationConfig?.cancelLabel\"\r\n (apply)=\"onApply()\">\r\n </ecabs-date-picker-actions>\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-ui__toggle text-gray-500\" (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: [".time--inputs:before,.time--inputs:after{position:absolute;content:\"\"}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0;margin:0}.time--inputs{position:relative;display:flex;gap:.5rem;justify-content:center;align-items:center;margin-top:2.4rem;margin-bottom:2.4rem}.time--inputs:before,.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300)}.time--inputs:before{top:-1.6rem}.time--inputs:after{bottom:-1.6rem}.font-bold{font-weight:700}.actions{display:flex;flex-direction:column;width:100%!important;row-gap:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "component", type: i7.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: i8.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: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i9.DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i10.NumberBorderDirective, selector: "[appNumberBorder]", inputs: ["maxValue", "minValue"] }, { kind: "directive", type: i11.MaskDateDirective, selector: "[appMaskDate]", inputs: ["isDateTimeMask", "considerSeconds"] }, { kind: "component", type: i12.EcabsDatePickerActionsComponent, selector: "ecabs-date-picker-actions", inputs: ["cancelLabel", "applyLabel"], outputs: ["apply"] }] });
|
|
200
202
|
}
|
|
201
203
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimePickerComponent, decorators: [{
|
|
@@ -207,7 +209,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
207
209
|
multi: true,
|
|
208
210
|
},
|
|
209
211
|
DecimalPipe,
|
|
210
|
-
UnsubscribeService
|
|
212
|
+
UnsubscribeService,
|
|
211
213
|
], 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\" class=\"datepicker-ui\">\r\n <mat-datepicker-actions>\r\n <div class=\"actions\">\r\n <div class=\"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 <ecabs-date-picker-actions [applyLabel]=\"applyLabel ?? translationConfig?.applyLabel\"\r\n [cancelLabel]=\"cancelLabel ?? translationConfig?.cancelLabel\"\r\n (apply)=\"onApply()\">\r\n </ecabs-date-picker-actions>\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-ui__toggle text-gray-500\" (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: [".time--inputs:before,.time--inputs:after{position:absolute;content:\"\"}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0;margin:0}.time--inputs{position:relative;display:flex;gap:.5rem;justify-content:center;align-items:center;margin-top:2.4rem;margin-bottom:2.4rem}.time--inputs:before,.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300)}.time--inputs:before{top:-1.6rem}.time--inputs:after{bottom:-1.6rem}.font-bold{font-weight:700}.actions{display:flex;flex-direction:column;width:100%!important;row-gap:1rem}\n"] }]
|
|
212
214
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.DecimalPipe }, { type: i0.ChangeDetectorRef }, { type: i2.EcabsDatePickerHeaderService }, { type: i3.UnsubscribeService }]; }, propDecorators: { minDate: [{
|
|
213
215
|
type: Input
|
|
@@ -221,7 +223,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
221
223
|
type: Input
|
|
222
224
|
}], applyLabel: [{
|
|
223
225
|
type: Input
|
|
226
|
+
}], applyMinDateAuto: [{
|
|
227
|
+
type: Input
|
|
224
228
|
}], onblur: [{
|
|
225
229
|
type: Output
|
|
226
230
|
}] } });
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFDNkIsU0FBUyxFQUFFLFlBQVksRUFBWSxLQUFLLEVBQVUsTUFBTSxFQUMzRixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ2lCLGlCQUFpQixFQUFFLFNBQVMsRUFDbkQsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBS3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFDTCxrQ0FBa0MsRUFDbkMsTUFBTSxvRkFBb0YsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFnQjVGLE1BQU0sT0FBTyw0QkFDWCxTQUFRLG9CQUFvQjtJQWdIVDtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBbEhWLE9BQU8sQ0FBTztJQUNkLE9BQU8sQ0FBTztJQUNkLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsV0FB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LFdBQVcsOEJBQThCOzRCQUN6QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxXQUFXO3dCQUNYLGtCQUFrQjtxQkFDbkI7cU9BS1EsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0LCBpc1ZhbGlkLCBwYXJzZSwgc2V0SG91cnMsIHNldE1pbnV0ZXMsIHNldFNlY29uZHMgfSBmcm9tICdkYXRlLWZucyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sLCBVbnR5cGVkRm9ybUNvbnRyb2xcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5pbXBvcnQgeyBFY2Fic0RhdGVQaWNrZXJUcmFuc2xhdGlvbnMgfSBmcm9tICcuLi9iYXNlL21vZGVscy9lY2Ficy1kYXRlLXBpY2tlci10cmFuc2xhdGlvbnMubW9kZWxzJztcclxuaW1wb3J0IHtcclxuICBFY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlXHJcbn0gZnJvbSAnLi4vYmFzZS9zZXJ2aWNlcy9lY2Ficy1kYXRlLXBpY2tlci10cmFuc2xhdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7IFVuc3Vic2NyaWJlU2VydmljZSB9IGZyb20gJy4uL2Jhc2Uvc2VydmljZXMvdW5zdWJzY3JpYmUuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgRWNhYnNEYXRlVGltZVBpY2tlckhlYWRlckNvbXBvbmVudFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCgge1xyXG4gIHNlbGVjdG9yOiAnZWNhYnMtZGF0ZS10aW1lLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyAnLi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEVjYWJzRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIERlY2ltYWxQaXBlLFxyXG4gICAgVW5zdWJzY3JpYmVTZXJ2aWNlXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0RhdGVUaW1lUGlja2VyQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBFbGVtZW50QmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbWluRGF0ZTogRGF0ZTtcclxuICBASW5wdXQoKSBtYXhEYXRlOiBEYXRlO1xyXG4gIEBJbnB1dCgpIHRvdWNoVWkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBoaWRlU2Vjb25kcyA9IHRydWU7XHJcbiAgQElucHV0KCkgY2FuY2VsTGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBhcHBseUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKSBvbmJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgX2hvdXJzID0gJzEyJztcclxuICBfbWludXRlcyA9ICcwMCc7XHJcbiAgX3NlY29uZHMgPSAnMDAnO1xyXG4gIF9kYXRlOiBEYXRlO1xyXG4gIF9waWNrZXJWYWx1ZTogc3RyaW5nO1xyXG4gIHZhbDogRGF0ZTtcclxuICBoZWFkZXIgPSBFY2Fic0RhdGVUaW1lUGlja2VySGVhZGVyQ29tcG9uZW50O1xyXG4gIG1heFZhbHVlSG91cnMgPSAyMztcclxuICBtYXhWYWx1ZU1pbnV0ZXNTZWNvbmRzID0gNTk7XHJcbiAgcHJldmVudENhbGxTZXR0ZXJQaWNrZXJWYWx1ZSA9IGZhbHNlO1xyXG4gIHJ1blRpbWVvdXQgPSBmYWxzZTtcclxuICB0cmFuc2xhdGlvbkNvbmZpZzogRWNhYnNEYXRlUGlja2VyVHJhbnNsYXRpb25zO1xyXG5cclxuICBnZXQgdmFsdWUoKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBnZXQgcGlja2VyVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9waWNrZXJWYWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBob3VycygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hvdXJzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1pbnV0ZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9taW51dGVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlY29uZHMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWNvbmRzO1xyXG4gIH1cclxuXHJcbiAgc2V0IGhvdXJzKCB2YWx1ZTogc3RyaW5nICkge1xyXG4gICAgaWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX2hvdXJzICE9PSB2YWx1ZSApIHtcclxuICAgICAgdGhpcy5faG91cnMgPSB0aGlzLnJvdW5kTnVtYmVyKCArdmFsdWUgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBtaW51dGVzKCB2YWx1ZTogc3RyaW5nICkge1xyXG4gICAgaWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX21pbnV0ZXMgIT09IHZhbHVlICkge1xyXG4gICAgICB0aGlzLl9taW51dGVzID0gdGhpcy5yb3VuZE51bWJlciggK3ZhbHVlICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgc2Vjb25kcyggdmFsdWU6IHN0cmluZyApIHtcclxuICAgIGlmICggdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9zZWNvbmRzICE9PSB2YWx1ZSApIHtcclxuICAgICAgdGhpcy5fc2Vjb25kcyA9IHRoaXMucm91bmROdW1iZXIoICt2YWx1ZSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKCB2YWwgKSB7XHJcbiAgICBpZiAoIHZhbCAmJiB0aGlzLnZhbD8uZ2V0VGltZSgpICE9PSBuZXcgRGF0ZSggdmFsICkuZ2V0VGltZSgpICkge1xyXG4gICAgICBpZiAoICF0aGlzLnByZXZlbnRDYWxsU2V0dGVyUGlja2VyVmFsdWUgKSB7XHJcbiAgICAgICAgdGhpcy5waWNrZXJWYWx1ZSA9IHRoaXMuZm9ybWF0RGF0ZVRpbWUoIHZhbCApO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucHJldmVudENhbGxTZXR0ZXJQaWNrZXJWYWx1ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IHBpY2tlclZhbHVlKCB2YWw6IHN0cmluZyApIHtcclxuICAgIGlmICggdmFsICkge1xyXG4gICAgICBjb25zdCBkYXRlID0gcGFyc2UoXHJcbiAgICAgICAgdmFsLnJlcGxhY2UoICdfJywgJycgKSxcclxuICAgICAgICB0aGlzLmhpZGVTZWNvbmRzID8gYGRkL01NL3l5eXksIEhIOm1tYCA6IGBkZC9NTS95eXl5LCBISDptbTpzc2AsXHJcbiAgICAgICAgbmV3IERhdGUoKSxcclxuICAgICAgKTtcclxuXHJcbiAgICAgIGlmICggaXNWYWxpZCggZGF0ZSApICYmIHRoaXMuX3BpY2tlclZhbHVlICE9PSB2YWwgKSB7XHJcbiAgICAgICAgaWYgKCB0aGlzLm1pbkRhdGUgJiYgZGF0ZSA8IHRoaXMubWluRGF0ZSApIHtcclxuICAgICAgICAgIHRoaXMuc2V0VmFsdWVzKCB0aGlzLm1pbkRhdGUgKTtcclxuICAgICAgICAgIHRoaXMuX3BpY2tlclZhbHVlID0gdmFsO1xyXG4gICAgICAgICAgdGhpcy5wcmV2ZW50Q2FsbFNldHRlclBpY2tlclZhbHVlID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1pbkRhdGU7XHJcbiAgICAgICAgICB0aGlzLnJ1blRpbWVvdXQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoUGlja2VyVmFsdWUoIHRoaXMubWluRGF0ZSApO1xyXG5cclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICggdGhpcy5tYXhEYXRlICYmIGRhdGUgPiB0aGlzLm1heERhdGUgKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFZhbHVlcyggdGhpcy5tYXhEYXRlICk7XHJcbiAgICAgICAgICB0aGlzLl9waWNrZXJWYWx1ZSA9IHZhbDtcclxuICAgICAgICAgIHRoaXMucHJldmVudENhbGxTZXR0ZXJQaWNrZXJWYWx1ZSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXhEYXRlO1xyXG4gICAgICAgICAgdGhpcy5ydW5UaW1lb3V0ID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMucmVmcmVzaFBpY2tlclZhbHVlKCB0aGlzLm1heERhdGUgKTtcclxuXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJ1blRpbWVvdXQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9waWNrZXJWYWx1ZSA9IHZhbDtcclxuICAgICAgICB0aGlzLnByZXZlbnRDYWxsU2V0dGVyUGlja2VyVmFsdWUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBkYXRlO1xyXG4gICAgICAgIHRoaXMuc2V0VmFsdWVzKCBkYXRlICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBlY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlOiBFY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZVNlcnZpY2U6IFVuc3Vic2NyaWJlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlLmdldENvbmZpZygpXHJcbiAgICAgIC5waXBlKCB0YWtlVW50aWwoIHRoaXMudW5zdWJzY3JpYmVTZXJ2aWNlLnN1YnNjcmlwdGlvbigpICksIClcclxuICAgICAgLnN1YnNjcmliZSggY29uZmlnID0+IHRoaXMudHJhbnNsYXRpb25Db25maWcgPSBjb25maWcgKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoIE5nQ29udHJvbCwgbnVsbCApO1xyXG4gICAgaWYgKCBuZ0NvbnRyb2wgKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoICgpID0+IHtcclxuICAgICAgICBjb25zdCBjb250cm9sRGF0ZSA9IHRoaXMuY29udHJvbC52YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKCBjb250cm9sRGF0ZSApIHtcclxuICAgICAgICAgIHRoaXMuc2V0VmFsdWVzKCBjb250cm9sRGF0ZSApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgMTAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICB3cml0ZVZhbHVlKCB2YWx1ZTogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZSggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCBmbjogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBibHVyQ2hhbmdlKCBlOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uYmx1ci5lbWl0KCBlICk7XHJcbiAgfVxyXG5cclxuICBvbkFwcGx5KCk6IHZvaWQge1xyXG4gICAgaWYgKCB0aGlzLl9kYXRlICYmIHRoaXMuX3NlY29uZHMgJiYgdGhpcy5fbWludXRlcyAmJiB0aGlzLl9ob3VycyApIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IHNldFNlY29uZHMoIHNldE1pbnV0ZXMoIHNldEhvdXJzKCBuZXcgRGF0ZSggdGhpcy5fZGF0ZSApLCArdGhpcy5faG91cnMgKSwgK3RoaXMuX21pbnV0ZXMgKSwgK3RoaXMuX3NlY29uZHMgKTtcclxuICAgICAgdGhpcy52YWx1ZSA9IGRhdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWZyZXNoUGlja2VyVmFsdWUoIGRhdGU6IERhdGUgKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XHJcbiAgICAgIGlmICggdGhpcy5ydW5UaW1lb3V0ICkge1xyXG4gICAgICAgIHRoaXMuX3BpY2tlclZhbHVlID0gdGhpcy5mb3JtYXREYXRlVGltZSggZGF0ZSApO1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9LCAzMDAwICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZvcm1hdERhdGVUaW1lKCBkYXRlOiBEYXRlICk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcblxyXG4gICAgaWYgKCBkYXRlICYmIGlzVmFsaWQoIG5ldyBEYXRlKCBkYXRlICkgKSApIHtcclxuICAgICAgcmVzdWx0ID0gdGhpcy5oaWRlU2Vjb25kc1xyXG4gICAgICAgID8gZm9ybWF0KCBuZXcgRGF0ZSggZGF0ZSApLCBgZGQvTU0veXl5eSwgSEg6bW1gIClcclxuICAgICAgICA6IGZvcm1hdCggbmV3IERhdGUoIGRhdGUgKSwgYGRkL01NL3l5eXksIEhIOm1tOnNzYCApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJvdW5kTnVtYmVyKCBudW06IG51bWJlciApOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybSggbnVtLCAnMi4wLTAnICkgPz8gJzAwJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmFsdWVzKCBkYXRlOiBEYXRlICk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSggZGF0ZSApO1xyXG4gICAgdGhpcy5vblRvdWNoKCBkYXRlICk7XHJcbiAgICB0aGlzLl9kYXRlID0gZGF0ZTtcclxuXHJcbiAgICBpZiAoIGRhdGUgJiYgaXNWYWxpZCggZGF0ZSApICkge1xyXG4gICAgICB0aGlzLmhvdXJzID0gZGF0ZS5nZXRIb3VycygpLnRvU3RyaW5nKCk7XHJcbiAgICAgIHRoaXMubWludXRlcyA9IGRhdGUuZ2V0TWludXRlcygpLnRvU3RyaW5nKCk7XHJcbiAgICAgIHRoaXMuc2Vjb25kcyA9IGRhdGUuZ2V0U2Vjb25kcygpLnRvU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0td3JhcHBlciB3LWZ1bGxcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZha2UtaW5wdXRcIlxyXG4gICAgICBbaWRdPVwiX2RhdGVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cIl9kYXRlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcclxuICAgICAgW21pbl09XCJtaW5EYXRlXCJcclxuICAgICAgW21heF09XCJtYXhEYXRlXCJcclxuICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgIC8+XHJcbiAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlciBbY2FsZW5kYXJIZWFkZXJDb21wb25lbnRdPVwiaGVhZGVyXCIgW3RvdWNoVWldPVwidG91Y2hVaVwiIGNsYXNzPVwiZGF0ZXBpY2tlci11aVwiPlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtLWlucHV0c1wiPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICBbZGlnaXRzT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbaWRdPVwiaG91cnNcIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJfaG91cnNcIlxyXG4gICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZUhvdXJzXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImhvdXJzXCJcclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj46PC9zcGFuPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgIFtpZF09XCJtaW51dGVzXCJcclxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1pbnV0ZXNcIlxyXG4gICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICBbZGlnaXRzT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVNaW51dGVzU2Vjb25kc1wiXHJcbiAgICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVTZWNvbmRzXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj46PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB0aW1lXCJcclxuICAgICAgICAgICAgICAgIFtpZF09XCJzZWNvbmRzXCJcclxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2Vjb25kc1wiXHJcbiAgICAgICAgICAgICAgICBhcHBEaWdpdHNPbmx5XHJcbiAgICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgW21heFZhbHVlXT1cIm1heFZhbHVlTWludXRlc1NlY29uZHNcIlxyXG4gICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGVjYWJzLWRhdGUtcGlja2VyLWFjdGlvbnMgW2FwcGx5TGFiZWxdPVwiYXBwbHlMYWJlbCA/PyB0cmFuc2xhdGlvbkNvbmZpZz8uYXBwbHlMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FuY2VsTGFiZWxdPVwiY2FuY2VsTGFiZWwgPz8gdHJhbnNsYXRpb25Db25maWc/LmNhbmNlbExhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBseSk9XCJvbkFwcGx5KClcIj5cclxuICAgICAgICAgIDwvZWNhYnMtZGF0ZS1waWNrZXItYWN0aW9ucz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9tYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxyXG4gICAgPC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHctZnVsbCBkYXRlLWlucHV0XCJcclxuICAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInBpY2tlclZhbHVlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgYXBwTWFza0RhdGVcclxuICAgICAgW2lzRGF0ZVRpbWVNYXNrXT1cInRydWVcIlxyXG4gICAgICBbY29uc2lkZXJTZWNvbmRzXT1cIiFoaWRlU2Vjb25kc1wiXHJcbiAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXHJcbiAgICAvPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwiZGF0ZXBpY2tlci11aV9fdG9nZ2xlIHRleHQtZ3JheS01MDBcIiAoY2xpY2spPVwicGlja2VyLm9wZW4oKVwiPlxyXG4gICAgICA8bWF0LWljb24+Y2FsZW5kYXJfdG9kYXk8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvYXBwLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyL2VjYWJzLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE1BQU0sRUFDTixPQUFPLEVBQ1AsS0FBSyxFQUNMLFFBQVEsRUFDUixVQUFVLEVBQ1YsVUFBVSxHQUNYLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFHTCxTQUFTLEVBQ1QsWUFBWSxFQUVaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEdBRVYsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLG9CQUFvQixNQUFNLHNCQUFzQixDQUFDO0FBR3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG9GQUFvRixDQUFDOzs7Ozs7Ozs7Ozs7OztBQWdCeEksTUFBTSxPQUFPLDRCQUNYLFNBQVEsb0JBQW9CO0lBa0hUO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFuSFYsT0FBTyxDQUFPO0lBQ2QsT0FBTyxDQUFPO0lBQ2QsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixXQUFXLEdB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LFNBQVM7K0JBQ0Usd0JBQXdCLGFBR3ZCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsOEJBQThCOzRCQUN6QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxXQUFXO3dCQUNYLGtCQUFrQjtxQkFDbkI7cU9BTVEsT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgZm9ybWF0LFxyXG4gIGlzVmFsaWQsXHJcbiAgcGFyc2UsXHJcbiAgc2V0SG91cnMsXHJcbiAgc2V0TWludXRlcyxcclxuICBzZXRTZWNvbmRzLFxyXG59IGZyb20gJ2RhdGUtZm5zJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBEZWNpbWFsUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgTmdDb250cm9sLFxyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgRWxlbWVudEJhc2VDb21wb25lbnQgZnJvbSAnLi4vYmFzZS9lbGVtZW50LWJhc2UnO1xyXG5pbXBvcnQgeyBFY2Fic0RhdGVQaWNrZXJUcmFuc2xhdGlvbnMgfSBmcm9tICcuLi9iYXNlL21vZGVscy9lY2Ficy1kYXRlLXBpY2tlci10cmFuc2xhdGlvbnMubW9kZWxzJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlUGlja2VySGVhZGVyU2VydmljZSB9IGZyb20gJy4uL2Jhc2Uvc2VydmljZXMvZWNhYnMtZGF0ZS1waWNrZXItdHJhbnNsYXRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbnN1YnNjcmliZVNlcnZpY2UgfSBmcm9tICcuLi9iYXNlL3NlcnZpY2VzL3Vuc3Vic2NyaWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFY2Fic0RhdGVUaW1lUGlja2VySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtdGltZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWRhdGUtdGltZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNEYXRlVGltZVBpY2tlckNvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LFxyXG4gICAgRGVjaW1hbFBpcGUsXHJcbiAgICBVbnN1YnNjcmliZVNlcnZpY2UsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVjYWJzRGF0ZVRpbWVQaWNrZXJDb21wb25lbnRcclxuICBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0XHJcbntcclxuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlO1xyXG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGU7XHJcbiAgQElucHV0KCkgdG91Y2hVaSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZGVTZWNvbmRzID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjYW5jZWxMYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFwcGx5TGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBhcHBseU1pbkRhdGVBdXRvID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBfaG91cnMgPSAnMTInO1xyXG4gIF9taW51dGVzID0gJzAwJztcclxuICBfc2Vjb25kcyA9ICcwMCc7XHJcbiAgX2RhdGU6IERhdGU7XHJcbiAgX3BpY2tlclZhbHVlOiBzdHJpbmc7XHJcbiAgdmFsOiBEYXRlO1xyXG4gIGhlYWRlciA9IEVjYWJzRGF0ZVRpbWVQaWNrZXJIZWFkZXJDb21wb25lbnQ7XHJcbiAgbWF4VmFsdWVIb3VycyA9IDIzO1xyXG4gIG1heFZhbHVlTWludXRlc1NlY29uZHMgPSA1OTtcclxuICBwcmV2ZW50Q2FsbFNldHRlclBpY2tlclZhbHVlID0gZmFsc2U7XHJcbiAgcnVuVGltZW91dCA9IGZhbHNlO1xyXG4gIHRyYW5zbGF0aW9uQ29uZmlnOiBFY2Fic0RhdGVQaWNrZXJUcmFuc2xhdGlvbnM7XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLnZhbDtcclxuICB9XHJcblxyXG4gIGdldCBwaWNrZXJWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BpY2tlclZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhvdXJzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5faG91cnM7XHJcbiAgfVxyXG5cclxuICBnZXQgbWludXRlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX21pbnV0ZXM7XHJcbiAgfVxyXG5cclxuICBnZXQgc2Vjb25kcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlY29uZHM7XHJcbiAgfVxyXG5cclxuICBzZXQgaG91cnModmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5faG91cnMgIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX2hvdXJzID0gdGhpcy5yb3VuZE51bWJlcigrdmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IG1pbnV0ZXModmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fbWludXRlcyAhPT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy5fbWludXRlcyA9IHRoaXMucm91bmROdW1iZXIoK3ZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBzZWNvbmRzKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3NlY29uZHMgIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX3NlY29uZHMgPSB0aGlzLnJvdW5kTnVtYmVyKCt2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsKSB7XHJcbiAgICBpZiAodmFsICYmIHRoaXMudmFsPy5nZXRUaW1lKCkgIT09IG5ldyBEYXRlKHZhbCkuZ2V0VGltZSgpKSB7XHJcbiAgICAgIGlmICghdGhpcy5wcmV2ZW50Q2FsbFNldHRlclBpY2tlclZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5waWNrZXJWYWx1ZSA9IHRoaXMuZm9ybWF0RGF0ZVRpbWUodmFsKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnByZXZlbnRDYWxsU2V0dGVyUGlja2VyVmFsdWUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBwaWNrZXJWYWx1ZSh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICBjb25zdCBkYXRlID0gcGFyc2UoXHJcbiAgICAgICAgdmFsLnJlcGxhY2UoJ18nLCAnJyksXHJcbiAgICAgICAgdGhpcy5oaWRlU2Vjb25kcyA/IGBkZC9NTS95eXl5LCBISDptbWAgOiBgZGQvTU0veXl5eSwgSEg6bW06c3NgLFxyXG4gICAgICAgIG5ldyBEYXRlKCksXHJcbiAgICAgICk7XHJcblxyXG4gICAgICBpZiAoaXNWYWxpZChkYXRlKSAmJiB0aGlzLl9waWNrZXJWYWx1ZSAhPT0gdmFsKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubWluRGF0ZSAmJiBkYXRlIDwgdGhpcy5taW5EYXRlICYmIHRoaXMuYXBwbHlNaW5EYXRlQXV0bykge1xyXG4gICAgICAgICAgdGhpcy5zZXRWYWx1ZXModGhpcy5taW5EYXRlKTtcclxuICAgICAgICAgIHRoaXMuX3BpY2tlclZhbHVlID0gdmFsO1xyXG4gICAgICAgICAgdGhpcy5wcmV2ZW50Q2FsbFNldHRlclBpY2tlclZhbHVlID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1pbkRhdGU7XHJcbiAgICAgICAgICB0aGlzLnJ1blRpbWVvdXQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoUGlja2VyVmFsdWUodGhpcy5taW5EYXRlKTtcclxuXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5tYXhEYXRlICYmIGRhdGUgPiB0aGlzLm1heERhdGUpIHtcclxuICAgICAgICAgIHRoaXMuc2V0VmFsdWVzKHRoaXMubWF4RGF0ZSk7XHJcbiAgICAgICAgICB0aGlzLl9waWNrZXJWYWx1ZSA9IHZhbDtcclxuICAgICAgICAgIHRoaXMucHJldmVudENhbGxTZXR0ZXJQaWNrZXJWYWx1ZSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXhEYXRlO1xyXG4gICAgICAgICAgdGhpcy5ydW5UaW1lb3V0ID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMucmVmcmVzaFBpY2tlclZhbHVlKHRoaXMubWF4RGF0ZSk7XHJcblxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5ydW5UaW1lb3V0ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fcGlja2VyVmFsdWUgPSB2YWw7XHJcbiAgICAgICAgdGhpcy5wcmV2ZW50Q2FsbFNldHRlclBpY2tlclZhbHVlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZTtcclxuICAgICAgICB0aGlzLnNldFZhbHVlcyhkYXRlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVjYWJzRGF0ZVBpY2tlckhlYWRlclNlcnZpY2U6IEVjYWJzRGF0ZVBpY2tlckhlYWRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVuc3Vic2NyaWJlU2VydmljZTogVW5zdWJzY3JpYmVTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlXHJcbiAgICAgIC5nZXRDb25maWcoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZVNlcnZpY2Uuc3Vic2NyaXB0aW9uKCkpKVxyXG4gICAgICAuc3Vic2NyaWJlKChjb25maWcpID0+ICh0aGlzLnRyYW5zbGF0aW9uQ29uZmlnID0gY29uZmlnKSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0KE5nQ29udHJvbCwgbnVsbCk7XHJcbiAgICBpZiAobmdDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xEYXRlID0gdGhpcy5jb250cm9sLnZhbHVlO1xyXG5cclxuICAgICAgICBpZiAoY29udHJvbERhdGUpIHtcclxuICAgICAgICAgIHRoaXMuc2V0VmFsdWVzKGNvbnRyb2xEYXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcclxuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgYmx1ckNoYW5nZShlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25ibHVyLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICBvbkFwcGx5KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2RhdGUgJiYgdGhpcy5fc2Vjb25kcyAmJiB0aGlzLl9taW51dGVzICYmIHRoaXMuX2hvdXJzKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBzZXRTZWNvbmRzKFxyXG4gICAgICAgIHNldE1pbnV0ZXMoXHJcbiAgICAgICAgICBzZXRIb3VycyhuZXcgRGF0ZSh0aGlzLl9kYXRlKSwgK3RoaXMuX2hvdXJzKSxcclxuICAgICAgICAgICt0aGlzLl9taW51dGVzLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgK3RoaXMuX3NlY29uZHMsXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBkYXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFBpY2tlclZhbHVlKGRhdGU6IERhdGUpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5ydW5UaW1lb3V0KSB7XHJcbiAgICAgICAgdGhpcy5fcGlja2VyVmFsdWUgPSB0aGlzLmZvcm1hdERhdGVUaW1lKGRhdGUpO1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9LCAzMDAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0RGF0ZVRpbWUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcblxyXG4gICAgaWYgKGRhdGUgJiYgaXNWYWxpZChuZXcgRGF0ZShkYXRlKSkpIHtcclxuICAgICAgcmVzdWx0ID0gdGhpcy5oaWRlU2Vjb25kc1xyXG4gICAgICAgID8gZm9ybWF0KG5ldyBEYXRlKGRhdGUpLCBgZGQvTU0veXl5eSwgSEg6bW1gKVxyXG4gICAgICAgIDogZm9ybWF0KG5ldyBEYXRlKGRhdGUpLCBgZGQvTU0veXl5eSwgSEg6bW06c3NgKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByb3VuZE51bWJlcihudW06IG51bWJlcik6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZGVjaW1hbFBpcGUudHJhbnNmb3JtKG51bSwgJzIuMC0wJykgPz8gJzAwJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmFsdWVzKGRhdGU6IERhdGUpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UoZGF0ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2goZGF0ZSk7XHJcbiAgICB0aGlzLl9kYXRlID0gZGF0ZTtcclxuXHJcbiAgICBpZiAoZGF0ZSAmJiBpc1ZhbGlkKGRhdGUpKSB7XHJcbiAgICAgIHRoaXMuaG91cnMgPSBkYXRlLmdldEhvdXJzKCkudG9TdHJpbmcoKTtcclxuICAgICAgdGhpcy5taW51dGVzID0gZGF0ZS5nZXRNaW51dGVzKCkudG9TdHJpbmcoKTtcclxuICAgICAgdGhpcy5zZWNvbmRzID0gZGF0ZS5nZXRTZWNvbmRzKCkudG9TdHJpbmcoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGFwcC1lbGVtZW50LXdyYXBwZXIgW2RhdGFdPVwiZ2V0RGF0YSgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS13cmFwcGVyIHctZnVsbFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIGNsYXNzPVwiZmFrZS1pbnB1dFwiXHJcbiAgICAgIFtpZF09XCJfZGF0ZVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwiX2RhdGVcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxyXG4gICAgICBbbWluXT1cIm1pbkRhdGVcIlxyXG4gICAgICBbbWF4XT1cIm1heERhdGVcIlxyXG4gICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgLz5cclxuICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyIFtjYWxlbmRhckhlYWRlckNvbXBvbmVudF09XCJoZWFkZXJcIiBbdG91Y2hVaV09XCJ0b3VjaFVpXCIgY2xhc3M9XCJkYXRlcGlja2VyLXVpXCI+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS0taW5wdXRzXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdGltZVwiXHJcbiAgICAgICAgICAgICAgYXBwRGlnaXRzT25seVxyXG4gICAgICAgICAgICAgIGFwcE51bWJlckJvcmRlclxyXG4gICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtpZF09XCJob3Vyc1wiXHJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cIl9ob3Vyc1wiXHJcbiAgICAgICAgICAgICAgW21heFZhbHVlXT1cIm1heFZhbHVlSG91cnNcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaG91cnNcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPjo8L3NwYW4+XHJcbiAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdGltZVwiXHJcbiAgICAgICAgICAgICAgW2lkXT1cIm1pbnV0ZXNcIlxyXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWludXRlc1wiXHJcbiAgICAgICAgICAgICAgYXBwRGlnaXRzT25seVxyXG4gICAgICAgICAgICAgIGFwcE51bWJlckJvcmRlclxyXG4gICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZU1pbnV0ZXNTZWNvbmRzXCJcclxuICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGlkZVNlY29uZHNcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPjo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgICAgW2lkXT1cInNlY29uZHNcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWNvbmRzXCJcclxuICAgICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICAgIGFwcE51bWJlckJvcmRlclxyXG4gICAgICAgICAgICAgICAgW2RpZ2l0c09ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVNaW51dGVzU2Vjb25kc1wiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZWNhYnMtZGF0ZS1waWNrZXItYWN0aW9ucyBbYXBwbHlMYWJlbF09XCJhcHBseUxhYmVsID8/IHRyYW5zbGF0aW9uQ29uZmlnPy5hcHBseUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYW5jZWxMYWJlbF09XCJjYW5jZWxMYWJlbCA/PyB0cmFuc2xhdGlvbkNvbmZpZz8uY2FuY2VsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGx5KT1cIm9uQXBwbHkoKVwiPlxyXG4gICAgICAgICAgPC9lY2Ficy1kYXRlLXBpY2tlci1hY3Rpb25zPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC1kYXRlcGlja2VyLWFjdGlvbnM+XHJcbiAgICA8L21hdC1kYXRlcGlja2VyPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdy1mdWxsIGRhdGUtaW5wdXRcIlxyXG4gICAgICBbaWRdPVwibmFtZVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwicGlja2VyVmFsdWVcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICBhcHBNYXNrRGF0ZVxyXG4gICAgICBbaXNEYXRlVGltZU1hc2tdPVwidHJ1ZVwiXHJcbiAgICAgIFtjb25zaWRlclNlY29uZHNdPVwiIWhpZGVTZWNvbmRzXCJcclxuICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgIC8+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtaWNvbi1idXR0b24gY2xhc3M9XCJkYXRlcGlja2VyLXVpX190b2dnbGUgdGV4dC1ncmF5LTUwMFwiIChjbGljayk9XCJwaWNrZXIub3BlbigpXCI+XHJcbiAgICAgIDxtYXQtaWNvbj5jYWxlbmRhcl90b2RheTwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9hcHAtZWxlbWVudC13cmFwcGVyPlxyXG4iXX0=
|
|
@@ -12,11 +12,12 @@ import { EcabsPickerHeaderModule } from '../ecabs-picker-header/ecabs-picker-hea
|
|
|
12
12
|
import { EcabsDateTimePickerHeaderComponent } from './components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component';
|
|
13
13
|
import { EcabsDateTimePickerComponent } from './ecabs-date-time-picker.component';
|
|
14
14
|
import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';
|
|
15
|
-
import { EcabsDatePickerActionsModule } from
|
|
15
|
+
import { EcabsDatePickerActionsModule } from '../ecabs-date-picker-actions/ecabs-date-picker-actions.module';
|
|
16
16
|
import * as i0 from "@angular/core";
|
|
17
17
|
export class EcabsDatetimePickerModule {
|
|
18
18
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimePickerModule, declarations: [EcabsDateTimePickerComponent,
|
|
19
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimePickerModule, declarations: [EcabsDateTimePickerComponent,
|
|
20
|
+
EcabsDateTimePickerHeaderComponent], imports: [CommonModule,
|
|
20
21
|
ElementWrapperModule,
|
|
21
22
|
MatIconModule,
|
|
22
23
|
MatDatepickerModule,
|
|
@@ -46,7 +47,10 @@ export class EcabsDatetimePickerModule {
|
|
|
46
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimePickerModule, decorators: [{
|
|
47
48
|
type: NgModule,
|
|
48
49
|
args: [{
|
|
49
|
-
declarations: [
|
|
50
|
+
declarations: [
|
|
51
|
+
EcabsDateTimePickerComponent,
|
|
52
|
+
EcabsDateTimePickerHeaderComponent,
|
|
53
|
+
],
|
|
50
54
|
imports: [
|
|
51
55
|
CommonModule,
|
|
52
56
|
ElementWrapperModule,
|
|
@@ -60,9 +64,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
60
64
|
DigitsOnlyDirectivesModule,
|
|
61
65
|
NumberBorderDirectiveModule,
|
|
62
66
|
MaskDateDirectiveModule,
|
|
63
|
-
EcabsDatePickerActionsModule
|
|
67
|
+
EcabsDatePickerActionsModule,
|
|
64
68
|
],
|
|
65
69
|
exports: [EcabsDateTimePickerComponent, EcabsDateTimePickerHeaderComponent],
|
|
66
70
|
}]
|
|
67
71
|
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ3hJLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsSUFBSSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7QUF3QjdHLE1BQU0sT0FBTyx5QkFBeUI7d0dBQXpCLHlCQUF5Qjt5R0FBekIseUJBQXlCLGlCQXBCbEMsNEJBQTRCO1lBQzVCLGtDQUFrQyxhQUdsQyxZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtZQUNsQiwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBQzNCLHVCQUF1QjtZQUN2Qiw0QkFBNEIsYUFFcEIsNEJBQTRCLEVBQUUsa0NBQWtDO3lHQUUvRCx5QkFBeUIsWUFoQmxDLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsV0FBVztZQUNYLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsdUJBQXVCO1lBQ3ZCLDRCQUE0Qjs7NEZBSW5CLHlCQUF5QjtrQkF0QnJDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDRCQUE0Qjt3QkFDNUIsa0NBQWtDO3FCQUNuQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxrQ0FBa0MsQ0FBQztpQkFDNUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hc2tEYXRlRGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vYmFzZS9kaXJlY3RpdmVzL2RhdGUtbWFzay5kaXJlY3RpdmUubW9kdWxlJztcclxuaW1wb3J0IHsgRGlnaXRzT25seURpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICcuLi9iYXNlL2RpcmVjdGl2ZXMvZGlnaXRzLW9ubHkuZGlyZWN0aXZlLm1vZHVsZSc7XHJcbmltcG9ydCB7IE51bWJlckJvcmRlckRpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uL2Jhc2UvZGlyZWN0aXZlcy9udW1iZXItYm9yZGVyLmRpcmVjdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBFbGVtZW50V3JhcHBlck1vZHVsZSB9IGZyb20gJy4uL2Jhc2UvZWxlbWVudC13cmFwcGVyL2VsZW1lbnQtd3JhcHBlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBFY2Fic0J1dHRvbnNNb2R1bGUgfSBmcm9tICcuLi9lY2Ficy1idXR0b25zL2VjYWJzLWJ1dHRvbnMubW9kdWxlJztcclxuaW1wb3J0IHsgRWNhYnNQaWNrZXJIZWFkZXJNb2R1bGUgfSBmcm9tICcuLi9lY2Ficy1waWNrZXItaGVhZGVyL2VjYWJzLXBpY2tlci1oZWFkZXIubW9kdWxlJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlVGltZVBpY2tlckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFY2Fic0RhdGVUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9lY2Ficy1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeUJ1dHRvbk1vZHVsZSBhcyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktYnV0dG9uJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlUGlja2VyQWN0aW9uc01vZHVsZSB9IGZyb20gJy4uL2VjYWJzLWRhdGUtcGlja2VyLWFjdGlvbnMvZWNhYnMtZGF0ZS1waWNrZXItYWN0aW9ucy5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEVjYWJzRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsXHJcbiAgICBFY2Fic0RhdGVUaW1lUGlja2VySGVhZGVyQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRWxlbWVudFdyYXBwZXJNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEVjYWJzUGlja2VySGVhZGVyTW9kdWxlLFxyXG4gICAgRWNhYnNCdXR0b25zTW9kdWxlLFxyXG4gICAgRGlnaXRzT25seURpcmVjdGl2ZXNNb2R1bGUsXHJcbiAgICBOdW1iZXJCb3JkZXJEaXJlY3RpdmVNb2R1bGUsXHJcbiAgICBNYXNrRGF0ZURpcmVjdGl2ZU1vZHVsZSxcclxuICAgIEVjYWJzRGF0ZVBpY2tlckFjdGlvbnNNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbRWNhYnNEYXRlVGltZVBpY2tlckNvbXBvbmVudCwgRWNhYnNEYXRlVGltZVBpY2tlckhlYWRlckNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0RhdGV0aW1lUGlja2VyTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
18
18
|
}], ctorParameters: function () { return [{ type: i1.EcabsDatePickerHeaderService }]; }, propDecorators: { headerLabel: [{
|
|
19
19
|
type: Input
|
|
20
20
|
}] } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXIvY29tcG9uZW50cy9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci9jb21wb25lbnRzL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVNqRCxNQUFNLE9BQU8sdUNBQXVDO0lBSWhDO0lBSFQsV0FBVyxDQUFTO0lBRTdCLFlBQ2tCLDRCQUEwRDtRQUExRCxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQThCO0lBQ3pFLENBQUM7d0dBTE8sdUNBQXVDOzRGQUF2Qyx1Q0FBdUMsbUhDVHBELGlPQUlBOzs0RkRLYSx1Q0FBdUM7a0JBTG5ELFNBQVM7K0JBQ0UscUNBQXFDO21IQUt0QyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRWNhYnNEYXRlUGlja2VySGVhZGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2Jhc2Uvc2VydmljZXMvZWNhYnMtZGF0ZS1waWNrZXItdHJhbnNsYXRpb25zLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNEYXRlVGltZVJhbmdlUGlja2VySGVhZGVyQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBoZWFkZXJMYWJlbDogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZWFkb25seSBlY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlOiBFY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlLFxyXG4gICkge31cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2VsZWN0LWRhdGUtbGFiZWwgdGV4dC14bCBmb250LXNlbWlib2xkXCI+XHJcbiAge3sgaGVhZGVyTGFiZWwgPz8gKGVjYWJzRGF0ZVBpY2tlckhlYWRlclNlcnZpY2UuZ2V0Q29uZmlnKCkgfCBhc3luYyk/LnNlbGVjdERhdGVUaW1lUmFuZ2VMYWJlbH19XHJcbiAgPC9kaXY+XHJcbiAgPGVjYWJzLXBpY2tlci1oZWFkZXIgPjwvZWNhYnMtcGlja2VyLWhlYWRlcj5cclxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { takeUntil } from 'rxjs';
|
|
2
2
|
import { DecimalPipe } from '@angular/common';
|
|
3
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
4
|
-
import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
|
|
3
|
+
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
4
|
+
import { NG_VALUE_ACCESSOR, NgControl, } from '@angular/forms';
|
|
5
5
|
import ElementBaseComponent from '../base/element-base';
|
|
6
6
|
import { UnsubscribeService } from '../base/services/unsubscribe.service';
|
|
7
7
|
import { EcabsDateTimeRangePickerHeaderComponent } from './components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component';
|
|
@@ -113,9 +113,10 @@ export class EcabsDateTimeRangePickerComponent extends ElementBaseComponent {
|
|
|
113
113
|
this.unsubscribeService = unsubscribeService;
|
|
114
114
|
}
|
|
115
115
|
ngOnInit() {
|
|
116
|
-
this.ecabsDatePickerHeaderService
|
|
116
|
+
this.ecabsDatePickerHeaderService
|
|
117
|
+
.getConfig()
|
|
117
118
|
.pipe(takeUntil(this.unsubscribeService.subscription()))
|
|
118
|
-
.subscribe(config => this.translationConfig = config);
|
|
119
|
+
.subscribe((config) => (this.translationConfig = config));
|
|
119
120
|
}
|
|
120
121
|
ngAfterViewInit() {
|
|
121
122
|
const ngControl = this.injector.get(NgControl, null);
|
|
@@ -123,7 +124,7 @@ export class EcabsDateTimeRangePickerComponent extends ElementBaseComponent {
|
|
|
123
124
|
this.control = ngControl.control;
|
|
124
125
|
setTimeout(() => {
|
|
125
126
|
this.controlDate = this.control;
|
|
126
|
-
const controlDate =
|
|
127
|
+
const controlDate = this.control.value ? this.control.value : '';
|
|
127
128
|
if (controlDate) {
|
|
128
129
|
this.setValues(controlDate);
|
|
129
130
|
}
|
|
@@ -154,9 +155,29 @@ export class EcabsDateTimeRangePickerComponent extends ElementBaseComponent {
|
|
|
154
155
|
}
|
|
155
156
|
}
|
|
156
157
|
onApply() {
|
|
157
|
-
if (this._minutesFrom &&
|
|
158
|
-
this.
|
|
159
|
-
this.
|
|
158
|
+
if (this._minutesFrom &&
|
|
159
|
+
this._hoursFrom &&
|
|
160
|
+
this._minutesTo &&
|
|
161
|
+
this._hoursTo) {
|
|
162
|
+
this._hoursFrom = this.validateMaxHour(this._hoursFrom);
|
|
163
|
+
this._minutesFrom = this.validateMaxMin(this._minutesFrom);
|
|
164
|
+
this._hoursTo = this.validateMaxHour(this._hoursTo);
|
|
165
|
+
this._minutesTo = this.validateMaxMin(this._minutesTo);
|
|
166
|
+
this.setValues(this._hoursFrom +
|
|
167
|
+
':' +
|
|
168
|
+
this._minutesFrom +
|
|
169
|
+
' - ' +
|
|
170
|
+
this._hoursTo +
|
|
171
|
+
':' +
|
|
172
|
+
this._minutesTo);
|
|
173
|
+
this.value =
|
|
174
|
+
this._hoursFrom +
|
|
175
|
+
':' +
|
|
176
|
+
this._minutesFrom +
|
|
177
|
+
' - ' +
|
|
178
|
+
this._hoursTo +
|
|
179
|
+
':' +
|
|
180
|
+
this._minutesTo;
|
|
160
181
|
return;
|
|
161
182
|
}
|
|
162
183
|
}
|
|
@@ -166,7 +187,8 @@ export class EcabsDateTimeRangePickerComponent extends ElementBaseComponent {
|
|
|
166
187
|
while (elements.length > 0) {
|
|
167
188
|
elements[0].parentNode.removeChild(elements[0]);
|
|
168
189
|
}
|
|
169
|
-
|
|
190
|
+
const cols = Array.from(document.getElementsByClassName('mat-calendar'));
|
|
191
|
+
//eslint-disable-next-line
|
|
170
192
|
for (let i = 0; i < cols.length; i++) {
|
|
171
193
|
cols[i].style.height = '50px';
|
|
172
194
|
}
|
|
@@ -178,6 +200,16 @@ export class EcabsDateTimeRangePickerComponent extends ElementBaseComponent {
|
|
|
178
200
|
setValues(date) {
|
|
179
201
|
this._date = date;
|
|
180
202
|
}
|
|
203
|
+
validateMaxHour(hour) {
|
|
204
|
+
return parseInt(hour) > this.maxValueHours
|
|
205
|
+
? this.maxValueHours.toString()
|
|
206
|
+
: hour;
|
|
207
|
+
}
|
|
208
|
+
validateMaxMin(min) {
|
|
209
|
+
return parseInt(min) > this.maxValueMinutesSeconds
|
|
210
|
+
? this.maxValueMinutesSeconds.toString()
|
|
211
|
+
: min;
|
|
212
|
+
}
|
|
181
213
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimeRangePickerComponent, deps: [{ token: i0.Injector }, { token: i1.DecimalPipe }, { token: i2.EcabsDatePickerHeaderService }, { token: i3.UnsubscribeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
182
214
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateTimeRangePickerComponent, selector: "ecabs-date-time-range-picker", inputs: { touchUi: "touchUi", cancelLabel: "cancelLabel", applyLabel: "applyLabel", all: "all", from: "from", to: "to" }, outputs: { onblur: "onblur" }, providers: [
|
|
183
215
|
{
|
|
@@ -186,7 +218,7 @@ export class EcabsDateTimeRangePickerComponent extends ElementBaseComponent {
|
|
|
186
218
|
multi: true,
|
|
187
219
|
},
|
|
188
220
|
DecimalPipe,
|
|
189
|
-
UnsubscribeService
|
|
221
|
+
UnsubscribeService,
|
|
190
222
|
], 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 || controlDate?.disabled\"\r\n [matDatepicker]=\"picker\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker\r\n (opened)=\"opened()\"\r\n #picker\r\n [calendarHeaderComponent]=\"header\"\r\n [touchUi]=\"touchUi\"\r\n >\r\n <mat-datepicker-actions>\r\n <div class=\"flex flex-col w-full gap-y-4\">\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <div class=\"flex flex-col justify-center\">\r\n <div class=\"text-center\">{{ from ?? translationConfig?.from }}</div>\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <input\r\n class=\"block form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hoursFrom\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hoursFrom\"\r\n />\r\n\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutesFrom\"\r\n [(ngModel)]=\"minutesFrom\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"time--inputs\"></div>\r\n <div class=\"flex gap-2 justify-center items-center mb-5\">\r\n <div class=\"flex flex-col justify-center\">\r\n <div class=\"text-center\">{{ to ?? translationConfig?.to }}</div>\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <input\r\n class=\"form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hoursTo\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hoursTo\"\r\n />\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutesTo\"\r\n [(ngModel)]=\"minutesTo\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <ecabs-date-picker-actions [applyLabel]=\"applyLabel ?? translationConfig?.applyLabel\"\r\n [cancelLabel]=\"cancelLabel ?? translationConfig?.cancelLabel\"\r\n (apply)=\"onApply()\">\r\n </ecabs-date-picker-actions>\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 || controlDate?.disabled\"\r\n appTimeRange\r\n [all]=\"allLabel\"\r\n (blur)=\"onTouch()\"\r\n (blur)=\"blurChange($event)\"\r\n (keyup)=\"blurChange($event)\"\r\n (keydown)=\"keydownChange($event)\"\r\n />\r\n <button type=\"button\" class=\"text-gray-500 -translate-x-9\" (click)=\"picker.open()\">\r\n <mat-icon>access_time</mat-icon>\r\n </button>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: [".time--inputs:after{position:absolute;content:\"\"}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0}.time--inputs{position:relative;margin-bottom:2.4rem}.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300);bottom:-1.6rem}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}\n"], dependencies: [{ kind: "component", type: i4.ElementWrapperComponent, selector: "app-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i6.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i8.DigitsOnlyDirective, selector: "[appDigitsOnly]", inputs: ["digitsOnly", "allowHyphen", "decimal", "decimalSeparator", "unit"] }, { kind: "directive", type: i9.NumberBorderDirective, selector: "[appNumberBorder]", inputs: ["maxValue", "minValue"] }, { kind: "component", type: i10.EcabsDatePickerActionsComponent, selector: "ecabs-date-picker-actions", inputs: ["cancelLabel", "applyLabel"], outputs: ["apply"] }, { kind: "directive", type: i11.TimeRangeDirective, selector: "[appTimeRange]", inputs: ["isDateTimeMask", "considerSeconds", "all"] }] });
|
|
191
223
|
}
|
|
192
224
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateTimeRangePickerComponent, decorators: [{
|
|
@@ -198,7 +230,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
198
230
|
multi: true,
|
|
199
231
|
},
|
|
200
232
|
DecimalPipe,
|
|
201
|
-
UnsubscribeService
|
|
233
|
+
UnsubscribeService,
|
|
202
234
|
], 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 || controlDate?.disabled\"\r\n [matDatepicker]=\"picker\"\r\n (blur)=\"onTouch()\"\r\n />\r\n <mat-datepicker\r\n (opened)=\"opened()\"\r\n #picker\r\n [calendarHeaderComponent]=\"header\"\r\n [touchUi]=\"touchUi\"\r\n >\r\n <mat-datepicker-actions>\r\n <div class=\"flex flex-col w-full gap-y-4\">\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <div class=\"flex flex-col justify-center\">\r\n <div class=\"text-center\">{{ from ?? translationConfig?.from }}</div>\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <input\r\n class=\"block form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hoursFrom\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hoursFrom\"\r\n />\r\n\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutesFrom\"\r\n [(ngModel)]=\"minutesFrom\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"time--inputs\"></div>\r\n <div class=\"flex gap-2 justify-center items-center mb-5\">\r\n <div class=\"flex flex-col justify-center\">\r\n <div class=\"text-center\">{{ to ?? translationConfig?.to }}</div>\r\n <div class=\"flex gap-2 justify-center items-center\">\r\n <input\r\n class=\"form-field__input time\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [id]=\"hoursTo\"\r\n [maxValue]=\"maxValueHours\"\r\n [(ngModel)]=\"hoursTo\"\r\n />\r\n <span class=\"font-bold\">:</span>\r\n <input\r\n class=\"form-field__input time\"\r\n [id]=\"minutesTo\"\r\n [(ngModel)]=\"minutesTo\"\r\n appDigitsOnly\r\n appNumberBorder\r\n [digitsOnly]=\"true\"\r\n [maxValue]=\"maxValueMinutesSeconds\"\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n <ecabs-date-picker-actions [applyLabel]=\"applyLabel ?? translationConfig?.applyLabel\"\r\n [cancelLabel]=\"cancelLabel ?? translationConfig?.cancelLabel\"\r\n (apply)=\"onApply()\">\r\n </ecabs-date-picker-actions>\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 || controlDate?.disabled\"\r\n appTimeRange\r\n [all]=\"allLabel\"\r\n (blur)=\"onTouch()\"\r\n (blur)=\"blurChange($event)\"\r\n (keyup)=\"blurChange($event)\"\r\n (keydown)=\"keydownChange($event)\"\r\n />\r\n <button type=\"button\" class=\"text-gray-500 -translate-x-9\" (click)=\"picker.open()\">\r\n <mat-icon>access_time</mat-icon>\r\n </button>\r\n </div>\r\n</app-element-wrapper>\r\n", styles: [".time--inputs:after{position:absolute;content:\"\"}.time{width:3.375rem}.fake-input{visibility:hidden;width:0;padding:0}.time--inputs{position:relative;margin-bottom:2.4rem}.time--inputs:after{height:1px;right:0;left:0;background-color:var(--color-gray-300);bottom:-1.6rem}:host ::ng-deep .form-field{margin-right:-1.25rem;margin-left:-.125rem}\n"] }]
|
|
203
235
|
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.DecimalPipe }, { type: i2.EcabsDatePickerHeaderService }, { type: i3.UnsubscribeService }]; }, propDecorators: { touchUi: [{
|
|
204
236
|
type: Input
|
|
@@ -215,4 +247,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
215
247
|
}], onblur: [{
|
|
216
248
|
type: Output
|
|
217
249
|
}] } });
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUNVLFNBQVMsRUFBRSxZQUFZLEVBQVksS0FBSyxFQUFVLE1BQU0sRUFDeEUsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNpQixpQkFBaUIsRUFBRSxTQUFTLEVBQ25ELE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxvQkFBb0IsTUFBTSxzQkFBc0IsQ0FBQztBQUt4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsdUNBQXVDLEVBQ3hDLE1BQU0sZ0dBQWdHLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFnQnhHLE1BQU0sT0FBTyxpQ0FDWCxTQUFRLG9CQUFvQjtJQXdHVDtJQUNBO0lBQ0E7SUFDQTtJQXpHVixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFdBQVcsQ0FBUztJQUNwQixVQUFVLENBQVM7SUFDbkIsR0FBRyxDQUFTO0lBQ1osSUFBSSxDQUFTO0lBQ2IsRUFBRSxDQUFTO0lBRVYsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFM0MsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNsQixZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEIsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNsQixRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ2hCLEtBQUssQ0FBUztJQUNkLFlBQVksQ0FBUztJQUNyQixHQUFHLENBQVM7SUFDWixNQUFNLEdBQUcsdUNBQXVDLENBQUM7SUFDakQsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUNuQixzQkFBc0IsR0FBRyxFQUFFLENBQUM7SUFDNUIsV0FBVyxDQUFxQjtJQUNoQyxpQkFBaUIsQ0FBOEI7SUFFL0MsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUUsS0FBYTtRQUMxQixJQUFLLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUc7WUFDdEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFFLENBQUMsS0FBSyxDQUFFLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUUsS0FBYTtRQUM1QixJQUFLLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLEVBQUc7WUFDeEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFFLENBQUMsS0FBSyxDQUFFLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUUsS0FBYTtRQUN4QixJQUFLLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUc7WUFDcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFFLENBQUMsS0FBSyxDQUFFLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUUsS0FBYTtRQUMxQixJQUFLLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUc7WUFDdEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFFLENBQUMsS0FBSyxDQUFFLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUUsS0FBYTtRQUN4QixJQUFLLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUc7WUFDcEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFFLENBQUMsS0FBSyxDQUFFLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUUsR0FBRztRQUNaLElBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFHO1lBQzdCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBRSxHQUFHLENB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LENBQUM7SUFFTyxTQUFTLENBQUUsSUFBWTtRQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDO3dHQWxNVSxpQ0FBaUM7NEZBQWpDLGlDQUFpQyxnTkFWakM7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsaUNBQWlDO2dCQUM5QyxLQUFLLEVBQUUsSUFBSTthQUNaO1lBQ0QsV0FBVztZQUNYLGtCQUFrQjtTQUNuQixpRENoQ0gsaTNIQWtHQTs7NEZEaEVhLGlDQUFpQztrQkFkN0MsU0FBUzsrQkFDRSw4QkFBOEIsYUFHN0I7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxtQ0FBbUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELFdBQVc7d0JBQ1gsa0JBQWtCO3FCQUNuQjtxTUFLUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ0NvbnRyb2wsIFVudHlwZWRGb3JtQ29udHJvbFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCBFbGVtZW50QmFzZUNvbXBvbmVudCBmcm9tICcuLi9iYXNlL2VsZW1lbnQtYmFzZSc7XHJcbmltcG9ydCB7IEVjYWJzRGF0ZVBpY2tlclRyYW5zbGF0aW9ucyB9IGZyb20gJy4uL2Jhc2UvbW9kZWxzL2VjYWJzLWRhdGUtcGlja2VyLXRyYW5zbGF0aW9ucy5tb2RlbHMnO1xyXG5pbXBvcnQge1xyXG4gIEVjYWJzRGF0ZVBpY2tlckhlYWRlclNlcnZpY2VcclxufSBmcm9tICcuLi9iYXNlL3NlcnZpY2VzL2VjYWJzLWRhdGUtcGlja2VyLXRyYW5zbGF0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVW5zdWJzY3JpYmVTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS9zZXJ2aWNlcy91bnN1YnNjcmliZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBFY2Fic0RhdGVUaW1lUmFuZ2VQaWNrZXJIZWFkZXJDb21wb25lbnRcclxufSBmcm9tICcuL2NvbXBvbmVudHMvZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci1oZWFkZXIvZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci1oZWFkZXIuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsgJy4vZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci5jb21wb25lbnQuc2NzcycgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBFY2Fic0RhdGVUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIERlY2ltYWxQaXBlLFxyXG4gICAgVW5zdWJzY3JpYmVTZXJ2aWNlXHJcbiAgXSxcclxufSApXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0RhdGVUaW1lUmFuZ2VQaWNrZXJDb21wb25lbnRcclxuICBleHRlbmRzIEVsZW1lbnRCYXNlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0IHtcclxuICBASW5wdXQoKSB0b3VjaFVpID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2FuY2VsTGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBhcHBseUxhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYWxsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZnJvbTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRvOiBzdHJpbmc7XHJcblxyXG4gIEBPdXRwdXQoKSBvbmJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgX2hvdXJzRnJvbSA9ICcxMic7XHJcbiAgX21pbnV0ZXNGcm9tID0gJzAwJztcclxuICBfaG91cnNUbyA9ICcxMic7XHJcbiAgX21pbnV0ZXNUbyA9ICcwMCc7XHJcbiAgX3NlY29uZHMgPSAnMDAnO1xyXG4gIF9kYXRlOiBzdHJpbmc7XHJcbiAgX3BpY2tlclZhbHVlOiBzdHJpbmc7XHJcbiAgdmFsOiBzdHJpbmc7XHJcbiAgaGVhZGVyID0gRWNhYnNEYXRlVGltZVJhbmdlUGlja2VySGVhZGVyQ29tcG9uZW50O1xyXG4gIG1heFZhbHVlSG91cnMgPSAyMztcclxuICBtYXhWYWx1ZU1pbnV0ZXNTZWNvbmRzID0gNTk7XHJcbiAgY29udHJvbERhdGU6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuICB0cmFuc2xhdGlvbkNvbmZpZzogRWNhYnNEYXRlUGlja2VyVHJhbnNsYXRpb25zO1xyXG5cclxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnZhbDtcclxuICB9XHJcblxyXG4gIGdldCBwaWNrZXJWYWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BpY2tlclZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhvdXJzRnJvbSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hvdXJzRnJvbTtcclxuICB9XHJcblxyXG4gIGdldCBtaW51dGVzRnJvbSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX21pbnV0ZXNGcm9tO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhvdXJzVG8oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9ob3Vyc1RvO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1pbnV0ZXNUbygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX21pbnV0ZXNUbztcclxuICB9XHJcblxyXG4gIGdldCBzZWNvbmRzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2Vjb25kcztcclxuICB9XHJcblxyXG4gIGdldCBhbGxMYWJlbCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuYWxsID8/IHRoaXMudHJhbnNsYXRpb25Db25maWc/LmFsbDtcclxuICB9XHJcblxyXG4gIHNldCBob3Vyc0Zyb20oIHZhbHVlOiBzdHJpbmcgKSB7XHJcbiAgICBpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5faG91cnNGcm9tICE9PSB2YWx1ZSApIHtcclxuICAgICAgdGhpcy5faG91cnNGcm9tID0gdGhpcy5yb3VuZE51bWJlciggK3ZhbHVlICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgbWludXRlc0Zyb20oIHZhbHVlOiBzdHJpbmcgKSB7XHJcbiAgICBpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fbWludXRlc0Zyb20gIT09IHZhbHVlICkge1xyXG4gICAgICB0aGlzLl9taW51dGVzRnJvbSA9IHRoaXMucm91bmROdW1iZXIoICt2YWx1ZSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IGhvdXJzVG8oIHZhbHVlOiBzdHJpbmcgKSB7XHJcbiAgICBpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5faG91cnNUbyAhPT0gdmFsdWUgKSB7XHJcbiAgICAgIHRoaXMuX2hvdXJzVG8gPSB0aGlzLnJvdW5kTnVtYmVyKCArdmFsdWUgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBtaW51dGVzVG8oIHZhbHVlOiBzdHJpbmcgKSB7XHJcbiAgICBpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fbWludXRlc1RvICE9PSB2YWx1ZSApIHtcclxuICAgICAgdGhpcy5fbWludXRlc1RvID0gdGhpcy5yb3VuZE51bWJlciggK3ZhbHVlICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgc2Vjb25kcyggdmFsdWU6IHN0cmluZyApIHtcclxuICAgIGlmICggdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl9zZWNvbmRzICE9PSB2YWx1ZSApIHtcclxuICAgICAgdGhpcy5fc2Vjb25kcyA9IHRoaXMucm91bmROdW1iZXIoICt2YWx1ZSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IHZhbHVlKCB2YWwgKSB7XHJcbiAgICBpZiAoIHZhbCAmJiB0aGlzLnZhbCAhPT0gdmFsICkge1xyXG4gICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgdGhpcy5waWNrZXJWYWx1ZSA9IHZhbDtcclxuICAgICAgdGhpcy5vbkNoYW5nZSggdmFsICk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCggdmFsICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgcGlja2VyVmFsdWUoIHZhbDogc3RyaW5nICkge1xyXG4gICAgaWYgKCB2YWwgKSB7XHJcbiAgICAgIHRoaXMuX3BpY2tlclZhbHVlID0gdmFsO1xyXG4gICAgICB0aGlzLnZhbHVlID0gdmFsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVjaW1hbFBpcGU6IERlY2ltYWxQaXBlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBlY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlOiBFY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB1bnN1YnNjcmliZVNlcnZpY2U6IFVuc3Vic2NyaWJlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5lY2Fic0RhdGVQaWNrZXJIZWFkZXJTZXJ2aWNlLmdldENvbmZpZygpXHJcbiAgICAgIC5waXBlKCB0YWtlVW50aWwoIHRoaXMudW5zdWJzY3JpYmVTZXJ2aWNlLnN1YnNjcmlwdGlvbigpICksIClcclxuICAgICAgLnN1YnNjcmliZSggY29uZmlnID0+IHRoaXMudHJhbnNsYXRpb25Db25maWcgPSBjb25maWcgKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoIE5nQ29udHJvbCwgbnVsbCApO1xyXG4gICAgaWYgKCBuZ0NvbnRyb2wgKSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IG5nQ29udHJvbC5jb250cm9sIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuXHJcbiAgICAgIHNldFRpbWVvdXQoICgpID0+IHtcclxuICAgICAgICB0aGlzLmNvbnRyb2xEYXRlID0gdGhpcy5jb250cm9sO1xyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xEYXRlID0gISF0aGlzLmNvbnRyb2wudmFsdWUgPyB0aGlzLmNvbnRyb2wudmFsdWUgOiAnJztcclxuXHJcbiAgICAgICAgaWYgKCBjb250cm9sRGF0ZSApIHtcclxuICAgICAgICAgIHRoaXMuc2V0VmFsdWVzKCBjb250cm9sRGF0ZSApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgMTAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgb25Ub3VjaDogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICB3cml0ZVZhbHVlKCB2YWx1ZTogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZSggZm46IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCBmbjogYW55ICk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBibHVyQ2hhbmdlKCBlOiBhbnkgKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uYmx1ci5lbWl0KCBlICk7XHJcbiAgfVxyXG5cclxuICBrZXlkb3duQ2hhbmdlKCBlOiBhbnkgKTogdm9pZCB7XHJcbiAgICBpZiAoIGU/LnRhcmdldC52YWx1ZSA9PT0gdGhpcy5hbGxMYWJlbCApIHtcclxuICAgICAgY29uc3QgdmFsID0gJyc7XHJcbiAgICAgIHRoaXMudmFsID0gdmFsO1xyXG4gICAgICB0aGlzLl9waWNrZXJWYWx1ZSA9IHZhbDtcclxuICAgICAgdGhpcy5vbkNoYW5nZSggdmFsICk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCggdmFsICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkFwcGx5KCk6IHZvaWQge1xyXG4gICAgaWYgKCB0aGlzLl9taW51dGVzRnJvbSAmJiB0aGlzLl9ob3Vyc0Zyb20gJiYgdGhpcy5fbWludXRlc1RvICYmIHRoaXMuX2hvdXJzVG8gKSB7XHJcbiAgICAgIHRoaXMuc2V0VmFsdWVzKCB0aGlzLl9ob3Vyc0Zyb20gKyAnOicgKyB0aGlzLl9taW51dGVzRnJvbSArICcgLSAnICsgdGhpcy5faG91cnNUbyArICc6JyArIHRoaXMuX21pbnV0ZXNUbyApO1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5faG91cnNGcm9tICsgJzonICsgdGhpcy5fbWludXRlc0Zyb20gKyAnIC0gJyArIHRoaXMuX2hvdXJzVG8gKyAnOicgKyB0aGlzLl9taW51dGVzVG87XHJcblxyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuZWQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSggJ21hdC1jYWxlbmRhci1jb250ZW50JyApO1xyXG4gICAgICB3aGlsZSAoIGVsZW1lbnRzLmxlbmd0aCA+IDAgKSB7XHJcbiAgICAgICAgZWxlbWVudHNbIDAgXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCBlbGVtZW50c1sgMCBdICk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCBjb2xzID0gQXJyYXkuZnJvbSggZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSggJ21hdC1jYWxlbmRhcicgKSBhcyBIVE1MQ29sbGVjdGlvbk9mPEhUTUxFbGVtZW50PiApO1xyXG4gICAgICBmb3IgKCBsZXQgaSA9IDA7IGkgPCBjb2xzLmxlbmd0aDsgaSsrICkge1xyXG4gICAgICAgIGNvbHNbIGkgXS5zdHlsZS5oZWlnaHQgPSAnNTBweCc7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9ICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJvdW5kTnVtYmVyKCBudW06IG51bWJlciApOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmRlY2ltYWxQaXBlLnRyYW5zZm9ybSggbnVtLCAnMi4wLTAnICkgPz8gJzAwJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmFsdWVzKCBkYXRlOiBzdHJpbmcgKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kYXRlID0gZGF0ZTtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1lbGVtZW50LXdyYXBwZXIgW2RhdGFdPVwiZ2V0RGF0YSgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0LS13cmFwcGVyIHctZnVsbFwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIGNsYXNzPVwiZmFrZS1pbnB1dFwiXHJcbiAgICAgIFtpZF09XCJfZGF0ZVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwiX2RhdGVcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgY29udHJvbERhdGU/LmRpc2FibGVkXCJcclxuICAgICAgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcclxuICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgIC8+XHJcbiAgICA8bWF0LWRhdGVwaWNrZXJcclxuICAgICAgKG9wZW5lZCk9XCJvcGVuZWQoKVwiXHJcbiAgICAgICNwaWNrZXJcclxuICAgICAgW2NhbGVuZGFySGVhZGVyQ29tcG9uZW50XT1cImhlYWRlclwiXHJcbiAgICAgIFt0b3VjaFVpXT1cInRvdWNoVWlcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCB3LWZ1bGwgZ2FwLXktNFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+e3sgZnJvbSA/PyB0cmFuc2xhdGlvbkNvbmZpZz8uZnJvbSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmxvY2sgZm9ybS1maWVsZF9faW5wdXQgdGltZVwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICAgICAgYXBwTnVtYmVyQm9yZGVyXHJcbiAgICAgICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbaWRdPVwiaG91cnNGcm9tXCJcclxuICAgICAgICAgICAgICAgICAgW21heFZhbHVlXT1cIm1heFZhbHVlSG91cnNcIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImhvdXJzRnJvbVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+Ojwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICBbaWRdPVwibWludXRlc0Zyb21cIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1pbnV0ZXNGcm9tXCJcclxuICAgICAgICAgICAgICAgICAgYXBwRGlnaXRzT25seVxyXG4gICAgICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICAgICAgW2RpZ2l0c09ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZU1pbnV0ZXNTZWNvbmRzXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS0taW5wdXRzXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgbWItNVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPnt7IHRvID8/IHRyYW5zbGF0aW9uQ29uZmlnPy50byB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdGltZVwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICAgICAgYXBwTnVtYmVyQm9yZGVyXHJcbiAgICAgICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbaWRdPVwiaG91cnNUb1wiXHJcbiAgICAgICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZUhvdXJzXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJob3Vyc1RvXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPjo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB0aW1lXCJcclxuICAgICAgICAgICAgICAgICAgW2lkXT1cIm1pbnV0ZXNUb1wiXHJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwibWludXRlc1RvXCJcclxuICAgICAgICAgICAgICAgICAgYXBwRGlnaXRzT25seVxyXG4gICAgICAgICAgICAgICAgICBhcHBOdW1iZXJCb3JkZXJcclxuICAgICAgICAgICAgICAgICAgW2RpZ2l0c09ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZU1pbnV0ZXNTZWNvbmRzXCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZWNhYnMtZGF0ZS1waWNrZXItYWN0aW9ucyBbYXBwbHlMYWJlbF09XCJhcHBseUxhYmVsID8/IHRyYW5zbGF0aW9uQ29uZmlnPy5hcHBseUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYW5jZWxMYWJlbF09XCJjYW5jZWxMYWJlbCA/PyB0cmFuc2xhdGlvbkNvbmZpZz8uY2FuY2VsTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGFwcGx5KT1cIm9uQXBwbHkoKVwiPlxyXG4gICAgICAgICAgPC9lY2Ficy1kYXRlLXBpY2tlci1hY3Rpb25zPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L21hdC1kYXRlcGlja2VyLWFjdGlvbnM+XHJcbiAgICA8L21hdC1kYXRlcGlja2VyPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdy1mdWxsIGRhdGUtaW5wdXRcIlxyXG4gICAgICBbaWRdPVwibmFtZVwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwicGlja2VyVmFsdWVcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgY29udHJvbERhdGU/LmRpc2FibGVkXCJcclxuICAgICAgYXBwVGltZVJhbmdlXHJcbiAgICAgIFthbGxdPVwiYWxsTGFiZWxcIlxyXG4gICAgICAoYmx1cik9XCJvblRvdWNoKClcIlxyXG4gICAgICAoYmx1cik9XCJibHVyQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAoa2V5dXApPVwiYmx1ckNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgKGtleWRvd24pPVwia2V5ZG93bkNoYW5nZSgkZXZlbnQpXCJcclxuICAgIC8+XHJcbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInRleHQtZ3JheS01MDAgLXRyYW5zbGF0ZS14LTlcIiAoY2xpY2spPVwicGlja2VyLm9wZW4oKVwiPlxyXG4gICAgICA8bWF0LWljb24+YWNjZXNzX3RpbWU8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvYXBwLWVsZW1lbnQtd3JhcHBlcj5cclxuIl19
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsR0FFVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sb0JBQW9CLE1BQU0sc0JBQXNCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sZ0dBQWdHLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFnQnpKLE1BQU0sT0FBTyxpQ0FDWCxTQUFRLG9CQUFvQjtJQXlHVDtJQUNBO0lBQ0E7SUFDQTtJQXpHVixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLFdBQVcsQ0FBUztJQUNwQixVQUFVLENBQVM7SUFDbkIsR0FBRyxDQUFTO0lBQ1osSUFBSSxDQUFTO0lBQ2IsRUFBRSxDQUFTO0lBRVYsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFM0MsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNsQixZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEIsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNsQixRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ2hCLEtBQUssQ0FBUztJQUNkLFlBQVksQ0FBUztJQUNyQixHQUFHLENBQVM7SUFDWixNQUFNLEdBQUcsdUNBQXVDLENBQUM7SUFDakQsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUNuQixzQkFBc0IsR0FBRyxFQUFFLENBQUM7SUFDNUIsV0FBVyxDQUFxQjtJQUNoQyxpQkFBaUIsQ0FBOEI7SUFFL0MsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUN6QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsS0FBYTtRQUMzQixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxLQUFLLEVBQUU7WUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBYTtRQUN2QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsS0FBYTtRQUN6QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsS0FBYTtRQUN2QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxLQUFLLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsR0FBRztRQUNYLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2YsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMs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d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxtQ0FBbUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELFdBQVc7d0JBQ1gsa0JBQWtCO3FCQUNuQjtxTUFNUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gIE5nQ29udHJvbCxcclxuICBVbnR5cGVkRm9ybUNvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IEVsZW1lbnRCYXNlQ29tcG9uZW50IGZyb20gJy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlUGlja2VyVHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vYmFzZS9tb2RlbHMvZWNhYnMtZGF0ZS1waWNrZXItdHJhbnNsYXRpb25zLm1vZGVscyc7XHJcbmltcG9ydCB7IEVjYWJzRGF0ZVBpY2tlckhlYWRlclNlcnZpY2UgfSBmcm9tICcuLi9iYXNlL3NlcnZpY2VzL2VjYWJzLWRhdGUtcGlja2VyLXRyYW5zbGF0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVW5zdWJzY3JpYmVTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS9zZXJ2aWNlcy91bnN1YnNjcmliZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlVGltZVJhbmdlUGlja2VySGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXItaGVhZGVyL2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLWRhdGUtdGltZS1yYW5nZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogRWNhYnNEYXRlVGltZVJhbmdlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgICBEZWNpbWFsUGlwZSxcclxuICAgIFVuc3Vic2NyaWJlU2VydmljZSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWNhYnNEYXRlVGltZVJhbmdlUGlja2VyQ29tcG9uZW50XHJcbiAgZXh0ZW5kcyBFbGVtZW50QmFzZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uSW5pdFxyXG57XHJcbiAgQElucHV0KCkgdG91Y2hVaSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNhbmNlbExhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYXBwbHlMYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFsbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZyb206IHN0cmluZztcclxuICBASW5wdXQoKSB0bzogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KCkgb25ibHVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIF9ob3Vyc0Zyb20gPSAnMTInO1xyXG4gIF9taW51dGVzRnJvbSA9ICcwMCc7XHJcbiAgX2hvdXJzVG8gPSAnMTInO1xyXG4gIF9taW51dGVzVG8gPSAnMDAnO1xyXG4gIF9zZWNvbmRzID0gJzAwJztcclxuICBfZGF0ZTogc3RyaW5nO1xyXG4gIF9waWNrZXJWYWx1ZTogc3RyaW5nO1xyXG4gIHZhbDogc3RyaW5nO1xyXG4gIGhlYWRlciA9IEVjYWJzRGF0ZVRpbWVSYW5nZVBpY2tlckhlYWRlckNvbXBvbmVudDtcclxuICBtYXhWYWx1ZUhvdXJzID0gMjM7XHJcbiAgbWF4VmFsdWVNaW51dGVzU2Vjb25kcyA9IDU5O1xyXG4gIGNvbnRyb2xEYXRlOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgdHJhbnNsYXRpb25Db25maWc6IEVjYWJzRGF0ZVBpY2tlclRyYW5zbGF0aW9ucztcclxuXHJcbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy52YWw7XHJcbiAgfVxyXG5cclxuICBnZXQgcGlja2VyVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9waWNrZXJWYWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBob3Vyc0Zyb20oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9ob3Vyc0Zyb207XHJcbiAgfVxyXG5cclxuICBnZXQgbWludXRlc0Zyb20oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9taW51dGVzRnJvbTtcclxuICB9XHJcblxyXG4gIGdldCBob3Vyc1RvKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5faG91cnNUbztcclxuICB9XHJcblxyXG4gIGdldCBtaW51dGVzVG8oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9taW51dGVzVG87XHJcbiAgfVxyXG5cclxuICBnZXQgc2Vjb25kcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlY29uZHM7XHJcbiAgfVxyXG5cclxuICBnZXQgYWxsTGFiZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmFsbCA/PyB0aGlzLnRyYW5zbGF0aW9uQ29uZmlnPy5hbGw7XHJcbiAgfVxyXG5cclxuICBzZXQgaG91cnNGcm9tKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX2hvdXJzRnJvbSAhPT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy5faG91cnNGcm9tID0gdGhpcy5yb3VuZE51bWJlcigrdmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IG1pbnV0ZXNGcm9tKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX21pbnV0ZXNGcm9tICE9PSB2YWx1ZSkge1xyXG4gICAgICB0aGlzLl9taW51dGVzRnJvbSA9IHRoaXMucm91bmROdW1iZXIoK3ZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBob3Vyc1RvKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX2hvdXJzVG8gIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX2hvdXJzVG8gPSB0aGlzLnJvdW5kTnVtYmVyKCt2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXQgbWludXRlc1RvKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX21pbnV0ZXNUbyAhPT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy5fbWludXRlc1RvID0gdGhpcy5yb3VuZE51bWJlcigrdmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0IHNlY29uZHModmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fc2Vjb25kcyAhPT0gdmFsdWUpIHtcclxuICAgICAgdGhpcy5fc2Vjb25kcyA9IHRoaXMucm91bmROdW1iZXIoK3ZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCB2YWx1ZSh2YWwpIHtcclxuICAgIGlmICh2YWwgJiYgdGhpcy52YWwgIT09IHZhbCkge1xyXG4gICAgICB0aGlzLnZhbCA9IHZhbDtcclxuICAgICAgdGhpcy5waWNrZXJWYWx1ZSA9IHZhbDtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG4gICAgICB0aGlzLm9uVG91Y2godmFsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldCBwaWNrZXJWYWx1ZSh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLl9waWNrZXJWYWx1ZSA9IHZhbDtcclxuICAgICAgdGhpcy52YWx1ZSA9IHZhbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlY2ltYWxQaXBlOiBEZWNpbWFsUGlwZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWNhYnNEYXRlUGlja2VySGVhZGVyU2VydmljZTogRWNhYnNEYXRlUGlja2VySGVhZGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdW5zdWJzY3JpYmVTZXJ2aWNlOiBVbnN1YnNjcmliZVNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVjYWJzRGF0ZVBpY2tlckhlYWRlclNlcnZpY2VcclxuICAgICAgLmdldENvbmZpZygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlU2VydmljZS5zdWJzY3JpcHRpb24oKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvbmZpZykgPT4gKHRoaXMudHJhbnNsYXRpb25Db25maWcgPSBjb25maWcpKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5nQ29udHJvbDogTmdDb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuICAgIGlmIChuZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgVW50eXBlZEZvcm1Db250cm9sO1xyXG5cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sRGF0ZSA9IHRoaXMuY29udHJvbDtcclxuICAgICAgICBjb25zdCBjb250cm9sRGF0ZSA9IHRoaXMuY29udHJvbC52YWx1ZSA/IHRoaXMuY29udHJvbC52YWx1ZSA6ICcnO1xyXG5cclxuICAgICAgICBpZiAoY29udHJvbERhdGUpIHtcclxuICAgICAgICAgIHRoaXMuc2V0VmFsdWVzKGNvbnRyb2xEYXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcclxuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgYmx1ckNoYW5nZShlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25ibHVyLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICBrZXlkb3duQ2hhbmdlKGU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGU/LnRhcmdldC52YWx1ZSA9PT0gdGhpcy5hbGxMYWJlbCkge1xyXG4gICAgICBjb25zdCB2YWwgPSAnJztcclxuICAgICAgdGhpcy52YWwgPSB2YWw7XHJcbiAgICAgIHRoaXMuX3BpY2tlclZhbHVlID0gdmFsO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbCk7XHJcbiAgICAgIHRoaXMub25Ub3VjaCh2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BcHBseSgpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5fbWludXRlc0Zyb20gJiZcclxuICAgICAgdGhpcy5faG91cnNGcm9tICYmXHJcbiAgICAgIHRoaXMuX21pbnV0ZXNUbyAmJlxyXG4gICAgICB0aGlzLl9ob3Vyc1RvXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5faG91cnNGcm9tID0gdGhpcy52YWxpZGF0ZU1heEhvdXIodGhpcy5faG91cnNGcm9tKTtcclxuICAgICAgdGhpcy5fbWludXRlc0Zyb20gPSB0aGlzLnZhbGlkYXRlTWF4TWluKHRoaXMuX21pbnV0ZXNGcm9tKTtcclxuICAgICAgdGhpcy5faG91cnNUbyA9IHRoaXMudmFsaWRhdGVNYXhIb3VyKHRoaXMuX2hvdXJzVG8pO1xyXG4gICAgICB0aGlzLl9taW51dGVzVG8gPSB0aGlzLnZhbGlkYXRlTWF4TWluKHRoaXMuX21pbnV0ZXNUbyk7XHJcbiAgICAgIHRoaXMuc2V0VmFsdWVzKFxyXG4gICAgICAgIHRoaXMuX2hvdXJzRnJvbSArXHJcbiAgICAgICAgICAnOicgK1xyXG4gICAgICAgICAgdGhpcy5fbWludXRlc0Zyb20gK1xyXG4gICAgICAgICAgJyAtICcgK1xyXG4gICAgICAgICAgdGhpcy5faG91cnNUbyArXHJcbiAgICAgICAgICAnOicgK1xyXG4gICAgICAgICAgdGhpcy5fbWludXRlc1RvLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnZhbHVlID1cclxuICAgICAgICB0aGlzLl9ob3Vyc0Zyb20gK1xyXG4gICAgICAgICc6JyArXHJcbiAgICAgICAgdGhpcy5fbWludXRlc0Zyb20gK1xyXG4gICAgICAgICcgLSAnICtcclxuICAgICAgICB0aGlzLl9ob3Vyc1RvICtcclxuICAgICAgICAnOicgK1xyXG4gICAgICAgIHRoaXMuX21pbnV0ZXNUbztcclxuXHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5lZCgpOiB2b2lkIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ21hdC1jYWxlbmRhci1jb250ZW50Jyk7XHJcbiAgICAgIHdoaWxlIChlbGVtZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZWxlbWVudHNbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtZW50c1swXSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGNvbHMgPSBBcnJheS5mcm9tKFxyXG4gICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXHJcbiAgICAgICAgICAnbWF0LWNhbGVuZGFyJyxcclxuICAgICAgICApIGFzIEhUTUxDb2xsZWN0aW9uT2Y8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICApO1xyXG4gICAgICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBjb2xzW2ldLnN0eWxlLmhlaWdodCA9ICc1MHB4JztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJvdW5kTnVtYmVyKG51bTogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWNpbWFsUGlwZS50cmFuc2Zvcm0obnVtLCAnMi4wLTAnKSA/PyAnMDAnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZXMoZGF0ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kYXRlID0gZGF0ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGVNYXhIb3VyKGhvdXI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gcGFyc2VJbnQoaG91cikgPiB0aGlzLm1heFZhbHVlSG91cnNcclxuICAgICAgPyB0aGlzLm1heFZhbHVlSG91cnMudG9TdHJpbmcoKVxyXG4gICAgICA6IGhvdXI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZhbGlkYXRlTWF4TWluKG1pbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBwYXJzZUludChtaW4pID4gdGhpcy5tYXhWYWx1ZU1pbnV0ZXNTZWNvbmRzXHJcbiAgICAgID8gdGhpcy5tYXhWYWx1ZU1pbnV0ZXNTZWNvbmRzLnRvU3RyaW5nKClcclxuICAgICAgOiBtaW47XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtZWxlbWVudC13cmFwcGVyIFtkYXRhXT1cImdldERhdGEoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dC0td3JhcHBlciB3LWZ1bGxcIj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZha2UtaW5wdXRcIlxyXG4gICAgICBbaWRdPVwiX2RhdGVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cIl9kYXRlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGNvbnRyb2xEYXRlPy5kaXNhYmxlZFwiXHJcbiAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXHJcbiAgICAgIChibHVyKT1cIm9uVG91Y2goKVwiXHJcbiAgICAvPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyXHJcbiAgICAgIChvcGVuZWQpPVwib3BlbmVkKClcIlxyXG4gICAgICAjcGlja2VyXHJcbiAgICAgIFtjYWxlbmRhckhlYWRlckNvbXBvbmVudF09XCJoZWFkZXJcIlxyXG4gICAgICBbdG91Y2hVaV09XCJ0b3VjaFVpXCJcclxuICAgID5cclxuICAgICAgPG1hdC1kYXRlcGlja2VyLWFjdGlvbnM+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgdy1mdWxsIGdhcC15LTRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC0yIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPnt7IGZyb20gPz8gdHJhbnNsYXRpb25Db25maWc/LmZyb20gfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImJsb2NrIGZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICBhcHBEaWdpdHNPbmx5XHJcbiAgICAgICAgICAgICAgICAgIGFwcE51bWJlckJvcmRlclxyXG4gICAgICAgICAgICAgICAgICBbZGlnaXRzT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW2lkXT1cImhvdXJzRnJvbVwiXHJcbiAgICAgICAgICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZUhvdXJzXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJob3Vyc0Zyb21cIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuXHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtYm9sZFwiPjo8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWZpZWxkX19pbnB1dCB0aW1lXCJcclxuICAgICAgICAgICAgICAgICAgW2lkXT1cIm1pbnV0ZXNGcm9tXCJcclxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJtaW51dGVzRnJvbVwiXHJcbiAgICAgICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICAgICAgYXBwTnVtYmVyQm9yZGVyXHJcbiAgICAgICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVNaW51dGVzU2Vjb25kc1wiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpbWUtLWlucHV0c1wiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIG1iLTVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj57eyB0byA/PyB0cmFuc2xhdGlvbkNvbmZpZz8udG8gfX08L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHRpbWVcIlxyXG4gICAgICAgICAgICAgICAgICBhcHBEaWdpdHNPbmx5XHJcbiAgICAgICAgICAgICAgICAgIGFwcE51bWJlckJvcmRlclxyXG4gICAgICAgICAgICAgICAgICBbZGlnaXRzT25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW2lkXT1cImhvdXJzVG9cIlxyXG4gICAgICAgICAgICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVIb3Vyc1wiXHJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiaG91cnNUb1wiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGRcIj46PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZF9faW5wdXQgdGltZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtpZF09XCJtaW51dGVzVG9cIlxyXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1pbnV0ZXNUb1wiXHJcbiAgICAgICAgICAgICAgICAgIGFwcERpZ2l0c09ubHlcclxuICAgICAgICAgICAgICAgICAgYXBwTnVtYmVyQm9yZGVyXHJcbiAgICAgICAgICAgICAgICAgIFtkaWdpdHNPbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVNaW51dGVzU2Vjb25kc1wiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGVjYWJzLWRhdGUtcGlja2VyLWFjdGlvbnMgW2FwcGx5TGFiZWxdPVwiYXBwbHlMYWJlbCA/PyB0cmFuc2xhdGlvbkNvbmZpZz8uYXBwbHlMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FuY2VsTGFiZWxdPVwiY2FuY2VsTGFiZWwgPz8gdHJhbnNsYXRpb25Db25maWc/LmNhbmNlbExhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBseSk9XCJvbkFwcGx5KClcIj5cclxuICAgICAgICAgIDwvZWNhYnMtZGF0ZS1waWNrZXItYWN0aW9ucz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9tYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxyXG4gICAgPC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz1cImZvcm0tZmllbGRfX2lucHV0IHctZnVsbCBkYXRlLWlucHV0XCJcclxuICAgICAgW2lkXT1cIm5hbWVcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInBpY2tlclZhbHVlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGNvbnRyb2xEYXRlPy5kaXNhYmxlZFwiXHJcbiAgICAgIGFwcFRpbWVSYW5nZVxyXG4gICAgICBbYWxsXT1cImFsbExhYmVsXCJcclxuICAgICAgKGJsdXIpPVwib25Ub3VjaCgpXCJcclxuICAgICAgKGJsdXIpPVwiYmx1ckNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgKGtleXVwKT1cImJsdXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIChrZXlkb3duKT1cImtleWRvd25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAvPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0ZXh0LWdyYXktNTAwIC10cmFuc2xhdGUteC05XCIgKGNsaWNrKT1cInBpY2tlci5vcGVuKClcIj5cclxuICAgICAgPG1hdC1pY29uPmFjY2Vzc190aW1lPC9tYXQtaWNvbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2FwcC1lbGVtZW50LXdyYXBwZXI+XHJcbiJdfQ==
|
|
@@ -13,11 +13,13 @@ import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/lega
|
|
|
13
13
|
import { EcabsDateTimeRangePickerComponent } from './ecabs-date-time-range-picker.component';
|
|
14
14
|
import { EcabsDateTimeRangePickerHeaderComponent } from './components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component';
|
|
15
15
|
import { TimeRangeDirective } from './time-range.directive';
|
|
16
|
-
import { EcabsDatePickerActionsModule } from
|
|
16
|
+
import { EcabsDatePickerActionsModule } from '../ecabs-date-picker-actions/ecabs-date-picker-actions.module';
|
|
17
17
|
import * as i0 from "@angular/core";
|
|
18
18
|
export class EcabsDatetimeRangePickerModule {
|
|
19
19
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimeRangePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
20
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimeRangePickerModule, declarations: [EcabsDateTimeRangePickerComponent,
|
|
20
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimeRangePickerModule, declarations: [EcabsDateTimeRangePickerComponent,
|
|
21
|
+
EcabsDateTimeRangePickerHeaderComponent,
|
|
22
|
+
TimeRangeDirective], imports: [CommonModule,
|
|
21
23
|
ElementWrapperModule,
|
|
22
24
|
MatIconModule,
|
|
23
25
|
MatDatepickerModule,
|
|
@@ -29,7 +31,9 @@ export class EcabsDatetimeRangePickerModule {
|
|
|
29
31
|
DigitsOnlyDirectivesModule,
|
|
30
32
|
NumberBorderDirectiveModule,
|
|
31
33
|
MaskDateDirectiveModule,
|
|
32
|
-
EcabsDatePickerActionsModule], exports: [EcabsDateTimeRangePickerComponent,
|
|
34
|
+
EcabsDatePickerActionsModule], exports: [EcabsDateTimeRangePickerComponent,
|
|
35
|
+
EcabsDateTimeRangePickerHeaderComponent,
|
|
36
|
+
TimeRangeDirective] });
|
|
33
37
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimeRangePickerModule, imports: [CommonModule,
|
|
34
38
|
ElementWrapperModule,
|
|
35
39
|
MatIconModule,
|
|
@@ -47,7 +51,11 @@ export class EcabsDatetimeRangePickerModule {
|
|
|
47
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDatetimeRangePickerModule, decorators: [{
|
|
48
52
|
type: NgModule,
|
|
49
53
|
args: [{
|
|
50
|
-
declarations: [
|
|
54
|
+
declarations: [
|
|
55
|
+
EcabsDateTimeRangePickerComponent,
|
|
56
|
+
EcabsDateTimeRangePickerHeaderComponent,
|
|
57
|
+
TimeRangeDirective,
|
|
58
|
+
],
|
|
51
59
|
imports: [
|
|
52
60
|
CommonModule,
|
|
53
61
|
ElementWrapperModule,
|
|
@@ -61,9 +69,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
61
69
|
DigitsOnlyDirectivesModule,
|
|
62
70
|
NumberBorderDirectiveModule,
|
|
63
71
|
MaskDateDirectiveModule,
|
|
64
|
-
EcabsDatePickerActionsModule
|
|
72
|
+
EcabsDatePickerActionsModule,
|
|
73
|
+
],
|
|
74
|
+
exports: [
|
|
75
|
+
EcabsDateTimeRangePickerComponent,
|
|
76
|
+
EcabsDateTimeRangePickerHeaderComponent,
|
|
77
|
+
TimeRangeDirective,
|
|
65
78
|
],
|
|
66
|
-
exports: [EcabsDateTimeRangePickerComponent, EcabsDateTimeRangePickerHeaderComponent, TimeRangeDirective],
|
|
67
79
|
}]
|
|
68
80
|
}] });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lY2Ficy1jb21wb25lbnRzL3NyYy9saWIvZWNhYnMtZGF0ZS10aW1lLXJhbmdlLXBpY2tlci9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxxQkFBcUIsSUFBSSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM3RixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxnR0FBZ0csQ0FBQztBQUN6SixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7QUE2QjdHLE1BQU0sT0FBTyw4QkFBOEI7d0dBQTlCLDhCQUE4Qjt5R0FBOUIsOEJBQThCLGlCQXpCdkMsaUNBQWlDO1lBQ2pDLHVDQUF1QztZQUN2QyxrQkFBa0IsYUFHbEIsWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2QixrQkFBa0I7WUFDbEIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQix1QkFBdUI7WUFDdkIsNEJBQTRCLGFBRzVCLGlDQUFpQztZQUNqQyx1Q0FBdUM7WUFDdkMsa0JBQWtCO3lHQUdULDhCQUE4QixZQXBCdkMsWUFBWTtZQUNaLG9CQUFvQjtZQUNwQixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2QixrQkFBa0I7WUFDbEIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQix1QkFBdUI7WUFDdkIsNEJBQTRCOzs0RkFRbkIsOEJBQThCO2tCQTNCMUMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUNBQWlDO3dCQUNqQyx1Q0FBdUM7d0JBQ3ZDLGtCQUFrQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBQ3ZCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlDQUFpQzt3QkFDakMsdUNBQXVDO3dCQUN2QyxrQkFBa0I7cUJBQ25CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXNrRGF0ZURpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uL2Jhc2UvZGlyZWN0aXZlcy9kYXRlLW1hc2suZGlyZWN0aXZlLm1vZHVsZSc7XHJcbmltcG9ydCB7IERpZ2l0c09ubHlEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnLi4vYmFzZS9kaXJlY3RpdmVzL2RpZ2l0cy1vbmx5LmRpcmVjdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBOdW1iZXJCb3JkZXJEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi9iYXNlL2RpcmVjdGl2ZXMvbnVtYmVyLWJvcmRlci5kaXJlY3RpdmUubW9kdWxlJztcclxuaW1wb3J0IHsgRWxlbWVudFdyYXBwZXJNb2R1bGUgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQtd3JhcHBlci9lbGVtZW50LXdyYXBwZXIubW9kdWxlJztcclxuaW1wb3J0IHsgRWNhYnNCdXR0b25zTW9kdWxlIH0gZnJvbSAnLi4vZWNhYnMtYnV0dG9ucy9lY2Ficy1idXR0b25zLm1vZHVsZSc7XHJcbmltcG9ydCB7IEVjYWJzUGlja2VySGVhZGVyTW9kdWxlIH0gZnJvbSAnLi4vZWNhYnMtcGlja2VyLWhlYWRlci9lY2Ficy1waWNrZXItaGVhZGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeUJ1dHRvbk1vZHVsZSBhcyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktYnV0dG9uJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlVGltZVJhbmdlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVjYWJzRGF0ZVRpbWVSYW5nZVBpY2tlckhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlci9lY2Ficy1kYXRlLXRpbWUtcmFuZ2UtcGlja2VyLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaW1lUmFuZ2VEaXJlY3RpdmUgfSBmcm9tICcuL3RpbWUtcmFuZ2UuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRWNhYnNEYXRlUGlja2VyQWN0aW9uc01vZHVsZSB9IGZyb20gJy4uL2VjYWJzLWRhdGUtcGlja2VyLWFjdGlvbnMvZWNhYnMtZGF0ZS1waWNrZXItYWN0aW9ucy5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIEVjYWJzRGF0ZVRpbWVSYW5nZVBpY2tlckNvbXBvbmVudCxcclxuICAgIEVjYWJzRGF0ZVRpbWVSYW5nZVBpY2tlckhlYWRlckNvbXBvbmVudCxcclxuICAgIFRpbWVSYW5nZURpcmVjdGl2ZSxcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEVsZW1lbnRXcmFwcGVyTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBFY2Fic1BpY2tlckhlYWRlck1vZHVsZSxcclxuICAgIEVjYWJzQnV0dG9uc01vZHVsZSxcclxuICAgIERpZ2l0c09ubHlEaXJlY3RpdmVzTW9kdWxlLFxyXG4gICAgTnVtYmVyQm9yZGVyRGlyZWN0aXZlTW9kdWxlLFxyXG4gICAgTWFza0RhdGVEaXJlY3RpdmVNb2R1bGUsXHJcbiAgICBFY2Fic0RhdGVQaWNrZXJBY3Rpb25zTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRWNhYnNEYXRlVGltZVJhbmdlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgRWNhYnNEYXRlVGltZVJhbmdlUGlja2VySGVhZGVyQ29tcG9uZW50LFxyXG4gICAgVGltZVJhbmdlRGlyZWN0aXZlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFY2Fic0RhdGV0aW1lUmFuZ2VQaWNrZXJNb2R1bGUge31cclxuIl19
|