@enigmatry/entry-components 18.0.0 → 18.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,25 +1,26 @@
1
- import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
- import { MatDateFormats } from '@angular/material/core';
4
- import { EntryDateTimeAdapter, NgControlAccessorDirective } from '@enigmatry/entry-components/common';
5
3
  import { EntryTimePickerComponent } from './time-picker.component';
6
4
  import { Subject } from 'rxjs';
7
5
  import * as i0 from "@angular/core";
8
6
  import * as i1 from "@enigmatry/entry-components/common";
9
- export declare class EntryDateTimePickerComponent<D> implements OnInit, OnDestroy, OnChanges {
7
+ export declare class EntryDateTimePickerComponent<D> implements OnInit, OnDestroy {
10
8
  class: string;
11
9
  label: string;
12
10
  showSeconds: boolean;
13
- disabled: boolean;
14
11
  min: D;
15
12
  max: D;
16
13
  placeholder: string | undefined;
17
14
  hint: string | undefined;
18
15
  defaultTime: D | undefined;
19
16
  dateTimeChanged: Subject<D>;
20
- ngControlAccessor: NgControlAccessorDirective;
21
- dateTimeAdapter: EntryDateTimeAdapter<D, unknown>;
22
- format: MatDateFormats;
17
+ _disabled: boolean;
18
+ get disabled(): boolean;
19
+ set disabled(value: boolean);
20
+ private ngControlAccessor;
21
+ private dateTimeAdapter;
22
+ private format;
23
+ private changeDetectorRef;
23
24
  get formControl(): FormControl<D>;
24
25
  calendarControl: FormControl<D>;
25
26
  is12HourClock: boolean;
@@ -28,8 +29,8 @@ export declare class EntryDateTimePickerComponent<D> implements OnInit, OnDestro
28
29
  get minDate(): D;
29
30
  get maxDate(): D;
30
31
  ngOnInit(): void;
31
- ngOnChanges(_changes: SimpleChanges): void;
32
32
  ngOnDestroy(): void;
33
+ private setDisabled;
33
34
  static ɵfac: i0.ɵɵFactoryDeclaration<EntryDateTimePickerComponent<any>, never>;
34
- static ɵcmp: i0.ɵɵComponentDeclaration<EntryDateTimePickerComponent<any>, "entry-date-time-picker", never, { "label": { "alias": "label"; "required": false; }; "showSeconds": { "alias": "showSeconds"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "defaultTime": { "alias": "defaultTime"; "required": false; }; }, { "dateTimeChanged": "dateTimeChanged"; }, never, never, false, [{ directive: typeof i1.NoopControlValueAccessorDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.NgControlAccessorDirective; inputs: {}; outputs: {}; }]>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<EntryDateTimePickerComponent<any>, "entry-date-time-picker", never, { "label": { "alias": "label"; "required": false; }; "showSeconds": { "alias": "showSeconds"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "defaultTime": { "alias": "defaultTime"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "dateTimeChanged": "dateTimeChanged"; }, never, never, false, [{ directive: typeof i1.NoopControlValueAccessorDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.NgControlAccessorDirective; inputs: {}; outputs: {}; }]>;
35
36
  }
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, Input, Output, ViewChild, inject } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, Output, ViewChild, inject } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
3
  import { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';
4
4
  import { ENTRY_MAT_DATE_TIME_FORMATS, EntryDateTimeAdapter, NgControlAccessorDirective, NoopControlValueAccessorDirective } from '@enigmatry/entry-components/common';
@@ -22,11 +22,19 @@ export class EntryDateTimePickerComponent {
22
22
  this.ngControlAccessor = inject(NgControlAccessorDirective);
23
23
  this.dateTimeAdapter = inject(DateAdapter);
24
24
  this.format = inject(ENTRY_MAT_DATE_TIME_FORMATS);
25
+ this.changeDetectorRef = inject(ChangeDetectorRef);
25
26
  // Control that is connected to calendar
26
27
  this.calendarControl = new FormControl(undefined);
27
28
  this.is12HourClock = this.dateTimeAdapter.is12HoursClock(this.format.display.dateInput);
28
29
  this.$destroy = new Subject();
29
30
  }
31
+ get disabled() {
32
+ return this._disabled;
33
+ }
34
+ set disabled(value) {
35
+ this._disabled = value;
36
+ this.setDisabled();
37
+ }
30
38
  // Control bound to component using FormsApi (ngModel, formControl, formControlName)
31
39
  get formControl() {
32
40
  return this.ngControlAccessor.control;
@@ -49,6 +57,7 @@ export class EntryDateTimePickerComponent {
49
57
  }
50
58
  ngOnInit() {
51
59
  this.calendarControl.setValue(this.formControl.value, { emitEvent: false });
60
+ this.setDisabled();
52
61
  this.formControl.statusChanges
53
62
  .pipe(takeUntil(this.$destroy))
54
63
  .subscribe(status => {
@@ -58,6 +67,7 @@ export class EntryDateTimePickerComponent {
58
67
  else {
59
68
  this.calendarControl.enable({ emitEvent: false });
60
69
  }
70
+ this.changeDetectorRef.markForCheck();
61
71
  });
62
72
  this.formControl.valueChanges
63
73
  .pipe(takeUntil(this.$destroy))
@@ -75,25 +85,25 @@ export class EntryDateTimePickerComponent {
75
85
  this.formControl.markAsTouched();
76
86
  });
77
87
  }
78
- ngOnChanges(_changes) {
79
- if (this.disabled) {
80
- this.formControl.disable();
81
- this.calendarControl.disable();
82
- }
83
- else {
84
- this.formControl.enable();
85
- this.calendarControl.enable();
86
- }
87
- }
88
88
  ngOnDestroy() {
89
89
  this.$destroy.next();
90
90
  this.$destroy.complete();
91
91
  }
92
+ setDisabled() {
93
+ if (this._disabled && this.formControl?.enabled) {
94
+ this.formControl?.disable();
95
+ this.calendarControl?.disable({ emitEvent: false });
96
+ }
97
+ else if (this.formControl?.disabled) {
98
+ this.formControl?.enable();
99
+ this.calendarControl?.enable({ emitEvent: false });
100
+ }
101
+ }
92
102
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryDateTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EntryDateTimePickerComponent, selector: "entry-date-time-picker", inputs: { label: "label", showSeconds: "showSeconds", disabled: "disabled", min: "min", max: "max", placeholder: "placeholder", hint: "hint", defaultTime: "defaultTime" }, outputs: { dateTimeChanged: "dateTimeChanged" }, host: { properties: { "class": "this.class" } }, providers: [
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EntryDateTimePickerComponent, selector: "entry-date-time-picker", inputs: { label: "label", showSeconds: "showSeconds", min: "min", max: "max", placeholder: "placeholder", hint: "hint", defaultTime: "defaultTime", disabled: "disabled" }, outputs: { dateTimeChanged: "dateTimeChanged" }, host: { properties: { "class": "this.class" } }, providers: [
94
104
  { provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },
95
105
  { provide: DateAdapter, useClass: EntryDateTimeAdapter }
96
- ], viewQueries: [{ propertyName: "timePicker", first: true, predicate: EntryTimePickerComponent, descendants: true, static: true }], usesOnChanges: true, hostDirectives: [{ directive: i1.NoopControlValueAccessorDirective }, { directive: i1.NgControlAccessorDirective }], ngImport: i0, template: "<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder\" [formControl]=\"formControl\">\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-datepicker #hiddenPicker class=\"hidden\"></mat-datepicker>\n <input class=\"hidden\" matInput [min]=\"minDate\" [max]=\"maxDate\" [matDatepicker]=\"picker\"\n [formControl]=\"calendarControl\" aria-label=\"Calendar Control\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker (opened)=\"timePicker.update()\">\n <mat-datepicker-actions>\n <entry-time-picker [date]=\"formControl.value\" [showSeconds]=\"showSeconds\" [is12HourClock]=\"is12HourClock\"\n [defaultTime]=\"defaultTime\"></entry-time-picker>\n <button mat-raised-button color=\"primary\" matDateRangePickerApply class=\"entry-submit-button\">\n <mat-icon aria-hidden=\"false\" aria-label=\"Apply\" fontIcon=\"done\" class=\"icon\"></mat-icon>\n </button>\n </mat-datepicker-actions>\n </mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"formControl\"></mat-error>\n</mat-form-field>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i5.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i5.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }, { kind: "component", type: i10.EntryTimePickerComponent, selector: "entry-time-picker", inputs: ["date", "showSeconds", "is12HourClock", "defaultTime"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
106
+ ], viewQueries: [{ propertyName: "timePicker", first: true, predicate: EntryTimePickerComponent, descendants: true, static: true }], hostDirectives: [{ directive: i1.NoopControlValueAccessorDirective }, { directive: i1.NgControlAccessorDirective }], ngImport: i0, template: "<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder\" [formControl]=\"formControl\">\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-datepicker #hiddenPicker class=\"hidden\"></mat-datepicker>\n <input class=\"hidden\" matInput [min]=\"minDate\" [max]=\"maxDate\" [matDatepicker]=\"picker\"\n [formControl]=\"calendarControl\" aria-label=\"Calendar Control\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker (opened)=\"timePicker.update()\">\n <mat-datepicker-actions>\n <entry-time-picker [date]=\"formControl.value\" [showSeconds]=\"showSeconds\" [is12HourClock]=\"is12HourClock\"\n [defaultTime]=\"defaultTime\"></entry-time-picker>\n <button mat-raised-button color=\"primary\" matDateRangePickerApply class=\"entry-submit-button\">\n <mat-icon aria-hidden=\"false\" aria-label=\"Apply\" fontIcon=\"done\" class=\"icon\"></mat-icon>\n </button>\n </mat-datepicker-actions>\n </mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"formControl\"></mat-error>\n</mat-form-field>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i5.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i5.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }, { kind: "component", type: i10.EntryTimePickerComponent, selector: "entry-time-picker", inputs: ["date", "showSeconds", "is12HourClock", "defaultTime"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
97
107
  }
98
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryDateTimePickerComponent, decorators: [{
99
109
  type: Component,
@@ -108,8 +118,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
108
118
  type: Input
109
119
  }], showSeconds: [{
110
120
  type: Input
111
- }], disabled: [{
112
- type: Input
113
121
  }], min: [{
114
122
  type: Input
115
123
  }], max: [{
@@ -122,8 +130,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
122
130
  type: Input
123
131
  }], dateTimeChanged: [{
124
132
  type: Output
133
+ }], disabled: [{
134
+ type: Input
125
135
  }], timePicker: [{
126
136
  type: ViewChild,
127
137
  args: [EntryTimePickerComponent, { static: true }]
128
138
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFnQyxNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0osT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLG9CQUFvQixFQUFFLDBCQUEwQixFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEssT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7OztBQVkxQyxNQUFNLE9BQU8sNEJBQTRCO0lBVnpDO1FBV3dCLFVBQUssR0FBRyx3QkFBd0IsQ0FBQztRQVU3QyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFLLENBQUM7UUFFN0Msc0JBQWlCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDdkQsb0JBQWUsR0FBcUMsTUFBTSxDQUFDLFdBQVcsQ0FBcUMsQ0FBQztRQUM1RyxXQUFNLEdBQW1CLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBTzdE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RTt3QkFDcEYsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTtxQkFDekQsa0JBQ2UsQ0FBQyxpQ0FBaUMsRUFBRSwwQkFBMEIsQ0FBQyxtQkFDOUQsdUJBQXVCLENBQUMsTUFBTTs4QkFHekIsS0FBSztzQkFBMUIsV0FBVzt1QkFBQyxPQUFPO2dCQUVYLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBZ0JnRCxVQUFVO3NCQUFoRSxTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNQVRfREFURV9GT1JNQVRTLCBEYXRlQWRhcHRlciwgTWF0RGF0ZUZvcm1hdHMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IEVOVFJZX01BVF9EQVRFX1RJTUVfRk9STUFUUywgRW50cnlEYXRlVGltZUFkYXB0ZXIsIE5nQ29udHJvbEFjY2Vzc29yRGlyZWN0aXZlLCBOb29wQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEVudHJ5VGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vdGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbnRyeS1kYXRlLXRpbWUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZUZhY3Rvcnk6ICgpID0+IGluamVjdChFTlRSWV9NQVRfREFURV9USU1FX0ZPUk1BVFMpIH0sXG4gICAgeyBwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IEVudHJ5RGF0ZVRpbWVBZGFwdGVyIH1cbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtOb29wQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUsIE5nQ29udHJvbEFjY2Vzc29yRGlyZWN0aXZlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlEYXRlVGltZVBpY2tlckNvbXBvbmVudDxEPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnZW50cnktZGF0ZS10aW1lLXBpY2tlcic7XG5cbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgc2hvd1NlY29uZHM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xuICBASW5wdXQoKSBtaW46IEQ7XG4gIEBJbnB1dCgpIG1heDogRDtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaGludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBkZWZhdWx0VGltZTogRCB8IHVuZGVmaW5lZDtcbiAgQE91dHB1dCgpIGRhdGVUaW1lQ2hhbmdlZCA9IG5ldyBTdWJqZWN0PEQ+KCk7XG5cbiAgbmdDb250cm9sQWNjZXNzb3IgPSBpbmplY3QoTmdDb250cm9sQWNjZXNzb3JEaXJlY3RpdmUpO1xuICBkYXRlVGltZUFkYXB0ZXI6IEVudHJ5RGF0ZVRpbWVBZGFwdGVyPEQsIHVua25vd24+ID0gaW5qZWN0KERhdGVBZGFwdGVyKSBhcyBFbnRyeURhdGVUaW1lQWRhcHRlcjxELCB1bmtub3duPjtcbiAgZm9ybWF0OiBNYXREYXRlRm9ybWF0cyA9IGluamVjdChFTlRSWV9NQVRfREFURV9USU1FX0ZPUk1BVFMpO1xuXG4gIC8vIENvbnRyb2wgYm91bmQgdG8gY29tcG9uZW50IHVzaW5nIEZvcm1zQXBpIChuZ01vZGVsLCBmb3JtQ29udHJvbCwgZm9ybUNvbnRyb2xOYW1lKVxuICBnZXQgZm9ybUNvbnRyb2woKTogRm9ybUNvbnRyb2w8RD4ge1xuICAgIHJldHVybiB0aGlzLm5nQ29udHJvbEFjY2Vzc29yLmNvbnRyb2w7XG4gIH1cblxuICAvLyBDb250cm9sIHRoYXQgaXMgY29ubmVjdGVkIHRvIGNhbGVuZGFyXG4gIGNhbGVuZGFyQ29udHJvbDogRm9ybUNvbnRyb2w8RD4gPSBuZXcgRm9ybUNvbnRyb2w8RD4odW5kZWZpbmVkKTtcblxuICBpczEySG91ckNsb2NrID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuaXMxMkhvdXJzQ2xvY2sodGhpcy5mb3JtYXQuZGlzcGxheS5kYXRlSW5wdXQpO1xuXG4gIEBWaWV3Q2hpbGQoRW50cnlUaW1lUGlja2VyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSB0aW1lUGlja2VyOiBFbnRyeVRpbWVQaWNrZXJDb21wb25lbnQ8RD47XG5cbiAgcHJpdmF0ZSAkZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgZ2V0IG1pbkRhdGUoKSB7XG4gICAgaWYgKCF0aGlzLm1pbikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuY2xvbmUodGhpcy5taW4pO1xuICAgIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLnNldFRpbWUocmVzdWx0LCAwLCAwLCAwKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0IG1heERhdGUoKSB7XG4gICAgaWYgKCF0aGlzLm1heCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5kYXRlVGltZUFkYXB0ZXIuY2xvbmUodGhpcy5tYXgpO1xuICAgIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLnNldFRpbWUocmVzdWx0LCAwLCAwLCAwKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYWxlbmRhckNvbnRyb2wuc2V0VmFsdWUodGhpcy5mb3JtQ29udHJvbC52YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4kZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICAgIGlmIChzdGF0dXMgPT09ICdESVNBQkxFRCcpIHtcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyQ29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyQ29udHJvbC5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgdGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiRkZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLmNhbGVuZGFyQ29udHJvbC5zZXRWYWx1ZSh2YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB0aGlzLmRhdGVUaW1lQ2hhbmdlZC5uZXh0KHZhbHVlKTtcbiAgICAgIH1cbiAgICAgICk7XG5cbiAgICB0aGlzLmNhbGVuZGFyQ29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiRkZXN0cm95KSlcbiAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICB0aGlzLnRpbWVQaWNrZXIudG8yNEhvdXJDbG9jaygpO1xuICAgICAgICB0aGlzLmRhdGVUaW1lQWRhcHRlci5zZXRUaW1lKHZhbHVlLCB0aGlzLnRpbWVQaWNrZXIuaG91cnMsIHRoaXMudGltZVBpY2tlci5taW51dGVzLCB0aGlzLnRpbWVQaWNrZXIuc2Vjb25kcyk7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhfY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICAgIHRoaXMuY2FsZW5kYXJDb250cm9sLmRpc2FibGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5lbmFibGUoKTtcbiAgICAgIHRoaXMuY2FsZW5kYXJDb250cm9sLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuJGRlc3Ryb3kubmV4dCgpO1xuICAgIHRoaXMuJGRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgbGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICA8aW5wdXQgbWF0SW5wdXQgW21hdERhdGVwaWNrZXJdPVwiaGlkZGVuUGlja2VyXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCI+XG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiaGludFwiPnt7aGludH19PC9tYXQtaGludD5cbiAgICA8bWF0LWRhdGVwaWNrZXIgI2hpZGRlblBpY2tlciBjbGFzcz1cImhpZGRlblwiPjwvbWF0LWRhdGVwaWNrZXI+XG4gICAgPGlucHV0IGNsYXNzPVwiaGlkZGVuXCIgbWF0SW5wdXQgW21pbl09XCJtaW5EYXRlXCIgW21heF09XCJtYXhEYXRlXCIgW21hdERhdGVwaWNrZXJdPVwicGlja2VyXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImNhbGVuZGFyQ29udHJvbFwiIGFyaWEtbGFiZWw9XCJDYWxlbmRhciBDb250cm9sXCI+XG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICA8bWF0LWRhdGVwaWNrZXIgI3BpY2tlciAob3BlbmVkKT1cInRpbWVQaWNrZXIudXBkYXRlKClcIj5cbiAgICAgICAgPG1hdC1kYXRlcGlja2VyLWFjdGlvbnM+XG4gICAgICAgICAgICA8ZW50cnktdGltZS1waWNrZXIgW2RhdGVdPVwiZm9ybUNvbnRyb2wudmFsdWVcIiBbc2hvd1NlY29uZHNdPVwic2hvd1NlY29uZHNcIiBbaXMxMkhvdXJDbG9ja109XCJpczEySG91ckNsb2NrXCJcbiAgICAgICAgICAgICAgICBbZGVmYXVsdFRpbWVdPVwiZGVmYXVsdFRpbWVcIj48L2VudHJ5LXRpbWUtcGlja2VyPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBtYXREYXRlUmFuZ2VQaWNrZXJBcHBseSBjbGFzcz1cImVudHJ5LXN1Ym1pdC1idXR0b25cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gYXJpYS1oaWRkZW49XCJmYWxzZVwiIGFyaWEtbGFiZWw9XCJBcHBseVwiIGZvbnRJY29uPVwiZG9uZVwiIGNsYXNzPVwiaWNvblwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9tYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxuICAgIDwvbWF0LWRhdGVwaWNrZXI+XG4gICAgPG1hdC1lcnJvciBlbnRyeURpc3BsYXlDb250cm9sVmFsaWRhdGlvbiBbY29udHJvbF09XCJmb3JtQ29udHJvbFwiPjwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2VudHJ5LWNvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvZW50cnktY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsb0JBQW9CLEVBQUUsMEJBQTBCLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0SyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7O0FBWTFDLE1BQU0sT0FBTyw0QkFBNEI7SUFWekM7UUFXd0IsVUFBSyxHQUFHLHdCQUF3QixDQUFDO1FBUzdDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQUssQ0FBQztRQWNyQyxzQkFBaUIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN2RCxvQkFBZSxHQUFxQyxNQUFNLENBQUMsV0FBVyxDQUFxQyxDQUFDO1FBQzVHLFdBQU0sR0FBbUIsTUFBTSxDQUFDLDJCQUEyQixDQUFD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ZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNQVRfREFURV9GT1JNQVRTLCBEYXRlQWRhcHRlciwgTWF0RGF0ZUZvcm1hdHMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IEVOVFJZX01BVF9EQVRFX1RJTUVfRk9STUFUUywgRW50cnlEYXRlVGltZUFkYXB0ZXIsIE5nQ29udHJvbEFjY2Vzc29yRGlyZWN0aXZlLCBOb29wQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICdAZW5pZ21hdHJ5L2VudHJ5LWNvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEVudHJ5VGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vdGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbnRyeS1kYXRlLXRpbWUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZUZhY3Rvcnk6ICgpID0+IGluamVjdChFTlRSWV9NQVRfREFURV9USU1FX0ZPUk1BVFMpIH0sXG4gICAgeyBwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IEVudHJ5RGF0ZVRpbWVBZGFwdGVyIH1cbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtOb29wQ29udHJvbFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUsIE5nQ29udHJvbEFjY2Vzc29yRGlyZWN0aXZlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlEYXRlVGltZVBpY2tlckNvbXBvbmVudDxEPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ2VudHJ5LWRhdGUtdGltZS1waWNrZXInO1xuXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNob3dTZWNvbmRzOiBib29sZWFuO1xuICBASW5wdXQoKSBtaW46IEQ7XG4gIEBJbnB1dCgpIG1heDogRDtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaGludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBkZWZhdWx0VGltZTogRCB8IHVuZGVmaW5lZDtcbiAgQE91dHB1dCgpIGRhdGVUaW1lQ2hhbmdlZCA9IG5ldyBTdWJqZWN0PEQ+KCk7XG5cbiAgX2Rpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuc2V0RGlzYWJsZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgbmdDb250cm9sQWNjZXNzb3IgPSBpbmplY3QoTmdDb250cm9sQWNjZXNzb3JEaXJlY3RpdmUpO1xuICBwcml2YXRlIGRhdGVUaW1lQWRhcHRlcjogRW50cnlEYXRlVGltZUFkYXB0ZXI8RCwgdW5rbm93bj4gPSBpbmplY3QoRGF0ZUFkYXB0ZXIpIGFzIEVudHJ5RGF0ZVRpbWVBZGFwdGVyPEQsIHVua25vd24+O1xuICBwcml2YXRlIGZvcm1hdDogTWF0RGF0ZUZvcm1hdHMgPSBpbmplY3QoRU5UUllfTUFUX0RBVEVfVElNRV9GT1JNQVRTKTtcbiAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgLy8gQ29udHJvbCBib3VuZCB0byBjb21wb25lbnQgdXNpbmcgRm9ybXNBcGkgKG5nTW9kZWwsIGZvcm1Db250cm9sLCBmb3JtQ29udHJvbE5hbWUpXG4gIGdldCBmb3JtQ29udHJvbCgpOiBGb3JtQ29udHJvbDxEPiB7XG4gICAgcmV0dXJuIHRoaXMubmdDb250cm9sQWNjZXNzb3IuY29udHJvbDtcbiAgfVxuXG4gIC8vIENvbnRyb2wgdGhhdCBpcyBjb25uZWN0ZWQgdG8gY2FsZW5kYXJcbiAgY2FsZW5kYXJDb250cm9sOiBGb3JtQ29udHJvbDxEPiA9IG5ldyBGb3JtQ29udHJvbDxEPih1bmRlZmluZWQpO1xuXG4gIGlzMTJIb3VyQ2xvY2sgPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5pczEySG91cnNDbG9jayh0aGlzLmZvcm1hdC5kaXNwbGF5LmRhdGVJbnB1dCk7XG5cbiAgQFZpZXdDaGlsZChFbnRyeVRpbWVQaWNrZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHRpbWVQaWNrZXI6IEVudHJ5VGltZVBpY2tlckNvbXBvbmVudDxEPjtcblxuICBwcml2YXRlICRkZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBnZXQgbWluRGF0ZSgpIHtcbiAgICBpZiAoIXRoaXMubWluKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5jbG9uZSh0aGlzLm1pbik7XG4gICAgdGhpcy5kYXRlVGltZUFkYXB0ZXIuc2V0VGltZShyZXN1bHQsIDAsIDAsIDApO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBnZXQgbWF4RGF0ZSgpIHtcbiAgICBpZiAoIXRoaXMubWF4KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmRhdGVUaW1lQWRhcHRlci5jbG9uZSh0aGlzLm1heCk7XG4gICAgdGhpcy5kYXRlVGltZUFkYXB0ZXIuc2V0VGltZShyZXN1bHQsIDAsIDAsIDApO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbGVuZGFyQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZvcm1Db250cm9sLnZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy5zZXREaXNhYmxlZCgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wuc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuJGRlc3Ryb3kpKVxuICAgICAgLnN1YnNjcmliZShzdGF0dXMgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSAnRElTQUJMRUQnKSB7XG4gICAgICAgICAgdGhpcy5jYWxlbmRhckNvbnRyb2wuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jYWxlbmRhckNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSlcblxuICAgIHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4kZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5jYWxlbmRhckNvbnRyb2wuc2V0VmFsdWUodmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgdGhpcy5kYXRlVGltZUNoYW5nZWQubmV4dCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICApO1xuXG4gICAgdGhpcy5jYWxlbmRhckNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4kZGVzdHJveSkpXG4gICAgICAuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy50aW1lUGlja2VyLnRvMjRIb3VyQ2xvY2soKTtcbiAgICAgICAgdGhpcy5kYXRlVGltZUFkYXB0ZXIuc2V0VGltZSh2YWx1ZSwgdGhpcy50aW1lUGlja2VyLmhvdXJzLCB0aGlzLnRpbWVQaWNrZXIubWludXRlcywgdGhpcy50aW1lUGlja2VyLnNlY29uZHMpO1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4kZGVzdHJveS5uZXh0KCk7XG4gICAgdGhpcy4kZGVzdHJveS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXREaXNhYmxlZCgpIHtcbiAgICBpZiAodGhpcy5fZGlzYWJsZWQgJiYgdGhpcy5mb3JtQ29udHJvbD8uZW5hYmxlZCkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbD8uZGlzYWJsZSgpO1xuICAgICAgdGhpcy5jYWxlbmRhckNvbnRyb2w/LmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtQ29udHJvbD8uZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2w/LmVuYWJsZSgpO1xuICAgICAgdGhpcy5jYWxlbmRhckNvbnRyb2w/LmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dCBbbWF0RGF0ZXBpY2tlcl09XCJoaWRkZW5QaWNrZXJcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIj5cbiAgICA8bWF0LWhpbnQgKm5nSWY9XCJoaW50XCI+e3toaW50fX08L21hdC1oaW50PlxuICAgIDxtYXQtZGF0ZXBpY2tlciAjaGlkZGVuUGlja2VyIGNsYXNzPVwiaGlkZGVuXCI+PC9tYXQtZGF0ZXBpY2tlcj5cbiAgICA8aW5wdXQgY2xhc3M9XCJoaWRkZW5cIiBtYXRJbnB1dCBbbWluXT1cIm1pbkRhdGVcIiBbbWF4XT1cIm1heERhdGVcIiBbbWF0RGF0ZXBpY2tlcl09XCJwaWNrZXJcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiY2FsZW5kYXJDb250cm9sXCIgYXJpYS1sYWJlbD1cIkNhbGVuZGFyIENvbnRyb2xcIj5cbiAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cInBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgIDxtYXQtZGF0ZXBpY2tlciAjcGlja2VyIChvcGVuZWQpPVwidGltZVBpY2tlci51cGRhdGUoKVwiPlxuICAgICAgICA8bWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cbiAgICAgICAgICAgIDxlbnRyeS10aW1lLXBpY2tlciBbZGF0ZV09XCJmb3JtQ29udHJvbC52YWx1ZVwiIFtzaG93U2Vjb25kc109XCJzaG93U2Vjb25kc1wiIFtpczEySG91ckNsb2NrXT1cImlzMTJIb3VyQ2xvY2tcIlxuICAgICAgICAgICAgICAgIFtkZWZhdWx0VGltZV09XCJkZWZhdWx0VGltZVwiPjwvZW50cnktdGltZS1waWNrZXI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIG1hdERhdGVSYW5nZVBpY2tlckFwcGx5IGNsYXNzPVwiZW50cnktc3VibWl0LWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBhcmlhLWhpZGRlbj1cImZhbHNlXCIgYXJpYS1sYWJlbD1cIkFwcGx5XCIgZm9udEljb249XCJkb25lXCIgY2xhc3M9XCJpY29uXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L21hdC1kYXRlcGlja2VyLWFjdGlvbnM+XG4gICAgPC9tYXQtZGF0ZXBpY2tlcj5cbiAgICA8bWF0LWVycm9yIGVudHJ5RGlzcGxheUNvbnRyb2xWYWxpZGF0aW9uIFtjb250cm9sXT1cImZvcm1Db250cm9sXCI+PC9tYXQtZXJyb3I+XG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Component, HostBinding, Input, ChangeDetectionStrategy, Output, ViewChild, NgModule } from '@angular/core';
2
+ import { inject, Component, HostBinding, Input, ChangeDetectorRef, ChangeDetectionStrategy, Output, ViewChild, NgModule } from '@angular/core';
3
3
  import * as i3 from '@angular/forms';
4
4
  import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
5
  import * as i5 from '@angular/material/core';
@@ -103,11 +103,19 @@ class EntryDateTimePickerComponent {
103
103
  this.ngControlAccessor = inject(NgControlAccessorDirective);
104
104
  this.dateTimeAdapter = inject(DateAdapter);
105
105
  this.format = inject(ENTRY_MAT_DATE_TIME_FORMATS);
106
+ this.changeDetectorRef = inject(ChangeDetectorRef);
106
107
  // Control that is connected to calendar
107
108
  this.calendarControl = new FormControl(undefined);
108
109
  this.is12HourClock = this.dateTimeAdapter.is12HoursClock(this.format.display.dateInput);
109
110
  this.$destroy = new Subject();
110
111
  }
112
+ get disabled() {
113
+ return this._disabled;
114
+ }
115
+ set disabled(value) {
116
+ this._disabled = value;
117
+ this.setDisabled();
118
+ }
111
119
  // Control bound to component using FormsApi (ngModel, formControl, formControlName)
112
120
  get formControl() {
113
121
  return this.ngControlAccessor.control;
@@ -130,6 +138,7 @@ class EntryDateTimePickerComponent {
130
138
  }
131
139
  ngOnInit() {
132
140
  this.calendarControl.setValue(this.formControl.value, { emitEvent: false });
141
+ this.setDisabled();
133
142
  this.formControl.statusChanges
134
143
  .pipe(takeUntil(this.$destroy))
135
144
  .subscribe(status => {
@@ -139,6 +148,7 @@ class EntryDateTimePickerComponent {
139
148
  else {
140
149
  this.calendarControl.enable({ emitEvent: false });
141
150
  }
151
+ this.changeDetectorRef.markForCheck();
142
152
  });
143
153
  this.formControl.valueChanges
144
154
  .pipe(takeUntil(this.$destroy))
@@ -156,25 +166,25 @@ class EntryDateTimePickerComponent {
156
166
  this.formControl.markAsTouched();
157
167
  });
158
168
  }
159
- ngOnChanges(_changes) {
160
- if (this.disabled) {
161
- this.formControl.disable();
162
- this.calendarControl.disable();
163
- }
164
- else {
165
- this.formControl.enable();
166
- this.calendarControl.enable();
167
- }
168
- }
169
169
  ngOnDestroy() {
170
170
  this.$destroy.next();
171
171
  this.$destroy.complete();
172
172
  }
173
+ setDisabled() {
174
+ if (this._disabled && this.formControl?.enabled) {
175
+ this.formControl?.disable();
176
+ this.calendarControl?.disable({ emitEvent: false });
177
+ }
178
+ else if (this.formControl?.disabled) {
179
+ this.formControl?.enable();
180
+ this.calendarControl?.enable({ emitEvent: false });
181
+ }
182
+ }
173
183
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryDateTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
174
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EntryDateTimePickerComponent, selector: "entry-date-time-picker", inputs: { label: "label", showSeconds: "showSeconds", disabled: "disabled", min: "min", max: "max", placeholder: "placeholder", hint: "hint", defaultTime: "defaultTime" }, outputs: { dateTimeChanged: "dateTimeChanged" }, host: { properties: { "class": "this.class" } }, providers: [
184
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EntryDateTimePickerComponent, selector: "entry-date-time-picker", inputs: { label: "label", showSeconds: "showSeconds", min: "min", max: "max", placeholder: "placeholder", hint: "hint", defaultTime: "defaultTime", disabled: "disabled" }, outputs: { dateTimeChanged: "dateTimeChanged" }, host: { properties: { "class": "this.class" } }, providers: [
175
185
  { provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },
176
186
  { provide: DateAdapter, useClass: EntryDateTimeAdapter }
177
- ], viewQueries: [{ propertyName: "timePicker", first: true, predicate: EntryTimePickerComponent, descendants: true, static: true }], usesOnChanges: true, hostDirectives: [{ directive: i1$1.NoopControlValueAccessorDirective }, { directive: i1$1.NgControlAccessorDirective }], ngImport: i0, template: "<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder\" [formControl]=\"formControl\">\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-datepicker #hiddenPicker class=\"hidden\"></mat-datepicker>\n <input class=\"hidden\" matInput [min]=\"minDate\" [max]=\"maxDate\" [matDatepicker]=\"picker\"\n [formControl]=\"calendarControl\" aria-label=\"Calendar Control\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker (opened)=\"timePicker.update()\">\n <mat-datepicker-actions>\n <entry-time-picker [date]=\"formControl.value\" [showSeconds]=\"showSeconds\" [is12HourClock]=\"is12HourClock\"\n [defaultTime]=\"defaultTime\"></entry-time-picker>\n <button mat-raised-button color=\"primary\" matDateRangePickerApply class=\"entry-submit-button\">\n <mat-icon aria-hidden=\"false\" aria-label=\"Apply\" fontIcon=\"done\" class=\"icon\"></mat-icon>\n </button>\n </mat-datepicker-actions>\n </mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"formControl\"></mat-error>\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i5$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5$1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i5$1.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i5$1.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }, { kind: "component", type: EntryTimePickerComponent, selector: "entry-time-picker", inputs: ["date", "showSeconds", "is12HourClock", "defaultTime"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
187
+ ], viewQueries: [{ propertyName: "timePicker", first: true, predicate: EntryTimePickerComponent, descendants: true, static: true }], hostDirectives: [{ directive: i1$1.NoopControlValueAccessorDirective }, { directive: i1$1.NgControlAccessorDirective }], ngImport: i0, template: "<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder\" [formControl]=\"formControl\">\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-datepicker #hiddenPicker class=\"hidden\"></mat-datepicker>\n <input class=\"hidden\" matInput [min]=\"minDate\" [max]=\"maxDate\" [matDatepicker]=\"picker\"\n [formControl]=\"calendarControl\" aria-label=\"Calendar Control\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker (opened)=\"timePicker.update()\">\n <mat-datepicker-actions>\n <entry-time-picker [date]=\"formControl.value\" [showSeconds]=\"showSeconds\" [is12HourClock]=\"is12HourClock\"\n [defaultTime]=\"defaultTime\"></entry-time-picker>\n <button mat-raised-button color=\"primary\" matDateRangePickerApply class=\"entry-submit-button\">\n <mat-icon aria-hidden=\"false\" aria-label=\"Apply\" fontIcon=\"done\" class=\"icon\"></mat-icon>\n </button>\n </mat-datepicker-actions>\n </mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"formControl\"></mat-error>\n</mat-form-field>", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i5$1.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5$1.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5$1.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i5$1.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i5$1.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i9.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }, { kind: "component", type: EntryTimePickerComponent, selector: "entry-time-picker", inputs: ["date", "showSeconds", "is12HourClock", "defaultTime"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
178
188
  }
179
189
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EntryDateTimePickerComponent, decorators: [{
180
190
  type: Component,
@@ -189,8 +199,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
189
199
  type: Input
190
200
  }], showSeconds: [{
191
201
  type: Input
192
- }], disabled: [{
193
- type: Input
194
202
  }], min: [{
195
203
  type: Input
196
204
  }], max: [{
@@ -203,6 +211,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
203
211
  type: Input
204
212
  }], dateTimeChanged: [{
205
213
  type: Output
214
+ }], disabled: [{
215
+ type: Input
206
216
  }], timePicker: [{
207
217
  type: ViewChild,
208
218
  args: [EntryTimePickerComponent, { static: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"enigmatry-entry-components-date-time-picker.mjs","sources":["../../../../libs/entry-components/date-time-picker/time-picker.component.ts","../../../../libs/entry-components/date-time-picker/time-picker.component.html","../../../../libs/entry-components/date-time-picker/date-time-picker.component.ts","../../../../libs/entry-components/date-time-picker/date-time-picker.component.html","../../../../libs/entry-components/date-time-picker/date-time-picker.module.ts","../../../../libs/entry-components/date-time-picker/enigmatry-entry-components-date-time-picker.ts"],"sourcesContent":["import { Component, HostBinding, Input, OnChanges, SimpleChanges, inject } from '@angular/core';\nimport { DateAdapter } from '@angular/material/core';\nimport { EntryDateTimeAdapter } from '@enigmatry/entry-components/common';\n\nexport type meridiem = 'am' | 'pm';\n\n@Component({\n selector: 'entry-time-picker',\n templateUrl: './time-picker.component.html'\n})\nexport class EntryTimePickerComponent<D> implements OnChanges {\n @HostBinding('class') class = 'entry-time-picker';\n\n readonly timeAdapter = inject(DateAdapter) as EntryDateTimeAdapter<D, unknown>;\n\n @Input() date: D | undefined;\n @Input() showSeconds: boolean;\n @Input() is12HourClock: boolean;\n @Input() defaultTime: D | undefined;\n\n hours = 0;\n minutes = 0;\n seconds = 0;\n meridiem: meridiem = 'am';\n\n readonly hours12 = Array.from(Array(12), (_, i) => i + 1);\n readonly hours24 = Array.from(Array(24), (_, i) => i);\n readonly sixty = Array.from(Array(60), (_, i) => i);\n\n get possibleHours() {\n return this.is12HourClock ? this.hours12 : this.hours24;\n }\n\n ngOnChanges(_changes: SimpleChanges): void {\n this.update();\n }\n\n update() {\n const now = this.timeAdapter.today();\n\n this.hours = this.date\n ? this.timeAdapter.getHours(this.date)\n : this.timeAdapter.getHours(this.defaultTime ?? now);\n\n this.minutes = this.date\n ? this.timeAdapter.getMinutes(this.date)\n : this.timeAdapter.getMinutes(this.defaultTime ?? now);\n\n this.seconds = (this.showSeconds && this.date)\n ? this.timeAdapter.getSeconds(this.date)\n : this.timeAdapter.getSeconds(this.defaultTime ?? now);\n\n this.meridiem = this.hours >= 12 ? 'pm' : 'am';\n\n if (this.is12HourClock) {\n this.to12HourClock();\n }\n }\n\n to12HourClock() {\n if (this.hours > 12) {\n this.hours = this.hours - 12;\n }\n if (this.hours === 0) {\n this.hours = 12;\n }\n }\n\n to24HourClock() {\n if (!this.is12HourClock) {\n return;\n }\n if (this.meridiem === \"am\" && this.hours === 12) {\n this.hours = 0;\n }\n if (this.meridiem == \"pm\" && this.hours != 12) {\n this.hours = this.hours + 12;\n }\n }\n}\n","<mat-form-field appearance=\"fill\">\n <mat-select [(ngModel)]=\"hours\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option *ngFor=\"let hour of possibleHours\" [value]=\"hour\">{{hour | number:'2.0'}}</mat-option>\n </mat-select>\n</mat-form-field>\n<span class=\"time-separator\">&#58;</span>\n<mat-form-field appearance=\"fill\">\n <mat-select [(ngModel)]=\"minutes\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option *ngFor=\"let minute of sixty\" [value]=\"minute\">{{minute | number:'2.0'}}</mat-option>\n </mat-select>\n</mat-form-field>\n<span *ngIf=\"showSeconds\" class=\"time-separator\">&#58;</span>\n<mat-form-field *ngIf=\"showSeconds\" appearance=\"fill\">\n <mat-select [(ngModel)]=\"seconds\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option *ngFor=\"let second of sixty\" [value]=\"second\">{{second | number:'2.0'}}</mat-option>\n </mat-select>\n</mat-form-field>\n<mat-form-field *ngIf=\"is12HourClock\" appearance=\"fill\">\n <mat-select [(ngModel)]=\"meridiem\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option value=\"am\">AM</mat-option>\n <mat-option value=\"pm\">PM</mat-option>\n </mat-select>\n</mat-form-field>","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild, inject } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MAT_DATE_FORMATS, DateAdapter, MatDateFormats } from '@angular/material/core';\nimport { ENTRY_MAT_DATE_TIME_FORMATS, EntryDateTimeAdapter, NgControlAccessorDirective, NoopControlValueAccessorDirective } from '@enigmatry/entry-components/common';\nimport { EntryTimePickerComponent } from './time-picker.component';\nimport { Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'entry-date-time-picker',\n templateUrl: './date-time-picker.component.html',\n providers: [\n { provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },\n { provide: DateAdapter, useClass: EntryDateTimeAdapter }\n ],\n hostDirectives: [NoopControlValueAccessorDirective, NgControlAccessorDirective],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EntryDateTimePickerComponent<D> implements OnInit, OnDestroy, OnChanges {\n @HostBinding('class') class = 'entry-date-time-picker';\n\n @Input() label: string;\n @Input() showSeconds: boolean;\n @Input() disabled: boolean;\n @Input() min: D;\n @Input() max: D;\n @Input() placeholder: string | undefined;\n @Input() hint: string | undefined;\n @Input() defaultTime: D | undefined;\n @Output() dateTimeChanged = new Subject<D>();\n\n ngControlAccessor = inject(NgControlAccessorDirective);\n dateTimeAdapter: EntryDateTimeAdapter<D, unknown> = inject(DateAdapter) as EntryDateTimeAdapter<D, unknown>;\n format: MatDateFormats = inject(ENTRY_MAT_DATE_TIME_FORMATS);\n\n // Control bound to component using FormsApi (ngModel, formControl, formControlName)\n get formControl(): FormControl<D> {\n return this.ngControlAccessor.control;\n }\n\n // Control that is connected to calendar\n calendarControl: FormControl<D> = new FormControl<D>(undefined);\n\n is12HourClock = this.dateTimeAdapter.is12HoursClock(this.format.display.dateInput);\n\n @ViewChild(EntryTimePickerComponent, { static: true }) timePicker: EntryTimePickerComponent<D>;\n\n private $destroy = new Subject<void>();\n\n get minDate() {\n if (!this.min) {\n return undefined;\n }\n const result = this.dateTimeAdapter.clone(this.min);\n this.dateTimeAdapter.setTime(result, 0, 0, 0);\n return result;\n }\n\n get maxDate() {\n if (!this.max) {\n return undefined;\n }\n const result = this.dateTimeAdapter.clone(this.max);\n this.dateTimeAdapter.setTime(result, 0, 0, 0);\n return result;\n }\n\n ngOnInit(): void {\n this.calendarControl.setValue(this.formControl.value, { emitEvent: false });\n\n this.formControl.statusChanges\n .pipe(takeUntil(this.$destroy))\n .subscribe(status => {\n if (status === 'DISABLED') {\n this.calendarControl.disable({ emitEvent: false });\n } else {\n this.calendarControl.enable({ emitEvent: false });\n }\n })\n\n this.formControl.valueChanges\n .pipe(takeUntil(this.$destroy))\n .subscribe(value => {\n this.calendarControl.setValue(value, { emitEvent: false });\n this.dateTimeChanged.next(value);\n }\n );\n\n this.calendarControl.valueChanges\n .pipe(takeUntil(this.$destroy))\n .subscribe(value => {\n this.timePicker.to24HourClock();\n this.dateTimeAdapter.setTime(value, this.timePicker.hours, this.timePicker.minutes, this.timePicker.seconds);\n this.formControl.setValue(value);\n this.formControl.markAsDirty();\n this.formControl.markAsTouched();\n });\n }\n\n ngOnChanges(_changes: SimpleChanges): void {\n if (this.disabled) {\n this.formControl.disable();\n this.calendarControl.disable();\n } else {\n this.formControl.enable();\n this.calendarControl.enable();\n }\n }\n\n ngOnDestroy(): void {\n this.$destroy.next();\n this.$destroy.complete();\n }\n}\n","<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder\" [formControl]=\"formControl\">\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-datepicker #hiddenPicker class=\"hidden\"></mat-datepicker>\n <input class=\"hidden\" matInput [min]=\"minDate\" [max]=\"maxDate\" [matDatepicker]=\"picker\"\n [formControl]=\"calendarControl\" aria-label=\"Calendar Control\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker (opened)=\"timePicker.update()\">\n <mat-datepicker-actions>\n <entry-time-picker [date]=\"formControl.value\" [showSeconds]=\"showSeconds\" [is12HourClock]=\"is12HourClock\"\n [defaultTime]=\"defaultTime\"></entry-time-picker>\n <button mat-raised-button color=\"primary\" matDateRangePickerApply class=\"entry-submit-button\">\n <mat-icon aria-hidden=\"false\" aria-label=\"Apply\" fontIcon=\"done\" class=\"icon\"></mat-icon>\n </button>\n </mat-datepicker-actions>\n </mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"formControl\"></mat-error>\n</mat-form-field>","import { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { CommonModule } from \"@angular/common\";\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { EntryValidationModule } from \"@enigmatry/entry-components/validation\";\nimport { EntryDateTimePickerComponent } from \"./date-time-picker.component\";\nimport { EntryTimePickerComponent } from './time-picker.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatDatepickerModule,\n MatInputModule,\n MatSelectModule,\n MatButtonModule,\n MatIconModule,\n EntryValidationModule\n ],\n declarations: [\n EntryDateTimePickerComponent,\n EntryTimePickerComponent\n ],\n exports: [\n EntryDateTimePickerComponent\n ]\n})\nexport class EntryDateTimePickerModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i4","i5","i10.EntryTimePickerComponent"],"mappings":"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"}
1
+ {"version":3,"file":"enigmatry-entry-components-date-time-picker.mjs","sources":["../../../../libs/entry-components/date-time-picker/time-picker.component.ts","../../../../libs/entry-components/date-time-picker/time-picker.component.html","../../../../libs/entry-components/date-time-picker/date-time-picker.component.ts","../../../../libs/entry-components/date-time-picker/date-time-picker.component.html","../../../../libs/entry-components/date-time-picker/date-time-picker.module.ts","../../../../libs/entry-components/date-time-picker/enigmatry-entry-components-date-time-picker.ts"],"sourcesContent":["import { Component, HostBinding, Input, OnChanges, SimpleChanges, inject } from '@angular/core';\nimport { DateAdapter } from '@angular/material/core';\nimport { EntryDateTimeAdapter } from '@enigmatry/entry-components/common';\n\nexport type meridiem = 'am' | 'pm';\n\n@Component({\n selector: 'entry-time-picker',\n templateUrl: './time-picker.component.html'\n})\nexport class EntryTimePickerComponent<D> implements OnChanges {\n @HostBinding('class') class = 'entry-time-picker';\n\n readonly timeAdapter = inject(DateAdapter) as EntryDateTimeAdapter<D, unknown>;\n\n @Input() date: D | undefined;\n @Input() showSeconds: boolean;\n @Input() is12HourClock: boolean;\n @Input() defaultTime: D | undefined;\n\n hours = 0;\n minutes = 0;\n seconds = 0;\n meridiem: meridiem = 'am';\n\n readonly hours12 = Array.from(Array(12), (_, i) => i + 1);\n readonly hours24 = Array.from(Array(24), (_, i) => i);\n readonly sixty = Array.from(Array(60), (_, i) => i);\n\n get possibleHours() {\n return this.is12HourClock ? this.hours12 : this.hours24;\n }\n\n ngOnChanges(_changes: SimpleChanges): void {\n this.update();\n }\n\n update() {\n const now = this.timeAdapter.today();\n\n this.hours = this.date\n ? this.timeAdapter.getHours(this.date)\n : this.timeAdapter.getHours(this.defaultTime ?? now);\n\n this.minutes = this.date\n ? this.timeAdapter.getMinutes(this.date)\n : this.timeAdapter.getMinutes(this.defaultTime ?? now);\n\n this.seconds = (this.showSeconds && this.date)\n ? this.timeAdapter.getSeconds(this.date)\n : this.timeAdapter.getSeconds(this.defaultTime ?? now);\n\n this.meridiem = this.hours >= 12 ? 'pm' : 'am';\n\n if (this.is12HourClock) {\n this.to12HourClock();\n }\n }\n\n to12HourClock() {\n if (this.hours > 12) {\n this.hours = this.hours - 12;\n }\n if (this.hours === 0) {\n this.hours = 12;\n }\n }\n\n to24HourClock() {\n if (!this.is12HourClock) {\n return;\n }\n if (this.meridiem === \"am\" && this.hours === 12) {\n this.hours = 0;\n }\n if (this.meridiem == \"pm\" && this.hours != 12) {\n this.hours = this.hours + 12;\n }\n }\n}\n","<mat-form-field appearance=\"fill\">\n <mat-select [(ngModel)]=\"hours\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option *ngFor=\"let hour of possibleHours\" [value]=\"hour\">{{hour | number:'2.0'}}</mat-option>\n </mat-select>\n</mat-form-field>\n<span class=\"time-separator\">&#58;</span>\n<mat-form-field appearance=\"fill\">\n <mat-select [(ngModel)]=\"minutes\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option *ngFor=\"let minute of sixty\" [value]=\"minute\">{{minute | number:'2.0'}}</mat-option>\n </mat-select>\n</mat-form-field>\n<span *ngIf=\"showSeconds\" class=\"time-separator\">&#58;</span>\n<mat-form-field *ngIf=\"showSeconds\" appearance=\"fill\">\n <mat-select [(ngModel)]=\"seconds\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option *ngFor=\"let second of sixty\" [value]=\"second\">{{second | number:'2.0'}}</mat-option>\n </mat-select>\n</mat-form-field>\n<mat-form-field *ngIf=\"is12HourClock\" appearance=\"fill\">\n <mat-select [(ngModel)]=\"meridiem\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option value=\"am\">AM</mat-option>\n <mat-option value=\"pm\">PM</mat-option>\n </mat-select>\n</mat-form-field>","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, OnDestroy, OnInit, Output, ViewChild, inject } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MAT_DATE_FORMATS, DateAdapter, MatDateFormats } from '@angular/material/core';\nimport { ENTRY_MAT_DATE_TIME_FORMATS, EntryDateTimeAdapter, NgControlAccessorDirective, NoopControlValueAccessorDirective } from '@enigmatry/entry-components/common';\nimport { EntryTimePickerComponent } from './time-picker.component';\nimport { Subject, takeUntil } from 'rxjs';\n\n@Component({\n selector: 'entry-date-time-picker',\n templateUrl: './date-time-picker.component.html',\n providers: [\n { provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },\n { provide: DateAdapter, useClass: EntryDateTimeAdapter }\n ],\n hostDirectives: [NoopControlValueAccessorDirective, NgControlAccessorDirective],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EntryDateTimePickerComponent<D> implements OnInit, OnDestroy {\n @HostBinding('class') class = 'entry-date-time-picker';\n\n @Input() label: string;\n @Input() showSeconds: boolean;\n @Input() min: D;\n @Input() max: D;\n @Input() placeholder: string | undefined;\n @Input() hint: string | undefined;\n @Input() defaultTime: D | undefined;\n @Output() dateTimeChanged = new Subject<D>();\n\n _disabled: boolean;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n this.setDisabled();\n }\n\n private ngControlAccessor = inject(NgControlAccessorDirective);\n private dateTimeAdapter: EntryDateTimeAdapter<D, unknown> = inject(DateAdapter) as EntryDateTimeAdapter<D, unknown>;\n private format: MatDateFormats = inject(ENTRY_MAT_DATE_TIME_FORMATS);\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n // Control bound to component using FormsApi (ngModel, formControl, formControlName)\n get formControl(): FormControl<D> {\n return this.ngControlAccessor.control;\n }\n\n // Control that is connected to calendar\n calendarControl: FormControl<D> = new FormControl<D>(undefined);\n\n is12HourClock = this.dateTimeAdapter.is12HoursClock(this.format.display.dateInput);\n\n @ViewChild(EntryTimePickerComponent, { static: true }) timePicker: EntryTimePickerComponent<D>;\n\n private $destroy = new Subject<void>();\n\n get minDate() {\n if (!this.min) {\n return undefined;\n }\n const result = this.dateTimeAdapter.clone(this.min);\n this.dateTimeAdapter.setTime(result, 0, 0, 0);\n return result;\n }\n\n get maxDate() {\n if (!this.max) {\n return undefined;\n }\n const result = this.dateTimeAdapter.clone(this.max);\n this.dateTimeAdapter.setTime(result, 0, 0, 0);\n return result;\n }\n\n ngOnInit(): void {\n this.calendarControl.setValue(this.formControl.value, { emitEvent: false });\n this.setDisabled();\n this.formControl.statusChanges\n .pipe(takeUntil(this.$destroy))\n .subscribe(status => {\n if (status === 'DISABLED') {\n this.calendarControl.disable({ emitEvent: false });\n } else {\n this.calendarControl.enable({ emitEvent: false });\n }\n this.changeDetectorRef.markForCheck();\n })\n\n this.formControl.valueChanges\n .pipe(takeUntil(this.$destroy))\n .subscribe(value => {\n this.calendarControl.setValue(value, { emitEvent: false });\n this.dateTimeChanged.next(value);\n }\n );\n\n this.calendarControl.valueChanges\n .pipe(takeUntil(this.$destroy))\n .subscribe(value => {\n this.timePicker.to24HourClock();\n this.dateTimeAdapter.setTime(value, this.timePicker.hours, this.timePicker.minutes, this.timePicker.seconds);\n this.formControl.setValue(value);\n this.formControl.markAsDirty();\n this.formControl.markAsTouched();\n });\n }\n\n ngOnDestroy(): void {\n this.$destroy.next();\n this.$destroy.complete();\n }\n\n private setDisabled() {\n if (this._disabled && this.formControl?.enabled) {\n this.formControl?.disable();\n this.calendarControl?.disable({ emitEvent: false });\n } else if (this.formControl?.disabled) {\n this.formControl?.enable();\n this.calendarControl?.enable({ emitEvent: false });\n }\n }\n}\n","<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder\" [formControl]=\"formControl\">\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-datepicker #hiddenPicker class=\"hidden\"></mat-datepicker>\n <input class=\"hidden\" matInput [min]=\"minDate\" [max]=\"maxDate\" [matDatepicker]=\"picker\"\n [formControl]=\"calendarControl\" aria-label=\"Calendar Control\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker (opened)=\"timePicker.update()\">\n <mat-datepicker-actions>\n <entry-time-picker [date]=\"formControl.value\" [showSeconds]=\"showSeconds\" [is12HourClock]=\"is12HourClock\"\n [defaultTime]=\"defaultTime\"></entry-time-picker>\n <button mat-raised-button color=\"primary\" matDateRangePickerApply class=\"entry-submit-button\">\n <mat-icon aria-hidden=\"false\" aria-label=\"Apply\" fontIcon=\"done\" class=\"icon\"></mat-icon>\n </button>\n </mat-datepicker-actions>\n </mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"formControl\"></mat-error>\n</mat-form-field>","import { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { MatDatepickerModule } from \"@angular/material/datepicker\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { CommonModule } from \"@angular/common\";\nimport { MatSelectModule } from \"@angular/material/select\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { EntryValidationModule } from \"@enigmatry/entry-components/validation\";\nimport { EntryDateTimePickerComponent } from \"./date-time-picker.component\";\nimport { EntryTimePickerComponent } from './time-picker.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatDatepickerModule,\n MatInputModule,\n MatSelectModule,\n MatButtonModule,\n MatIconModule,\n EntryValidationModule\n ],\n declarations: [\n EntryDateTimePickerComponent,\n EntryTimePickerComponent\n ],\n exports: [\n EntryDateTimePickerComponent\n ]\n})\nexport class EntryDateTimePickerModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i4","i5","i10.EntryTimePickerComponent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enigmatry/entry-components",
3
- "version": "18.0.0",
3
+ "version": "18.1.0",
4
4
  "author": "Enigmatry",
5
5
  "description": "Enigmatry entry angular material components",
6
6
  "homepage": "https://github.com/enigmatry/entry-angular-building-blocks/tree/master/libs/entry-components#readme",