ecabs-components 1.1.66 → 1.1.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/esm2022/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.mjs +57 -46
- package/esm2022/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.mjs +33 -23
- package/fesm2022/ecabs-components.mjs +82 -59
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/lib/ecabs-date-range-picker-v2/ecabs-date-range-picker-v2.component.d.ts +6 -7
- package/lib/ecabs-time-range-input-v2/ecabs-time-range-input-v2.component.d.ts +2 -1
- package/package.json +1 -1
- package/src/assets/styles/tailwind/index.scss +1 -1
|
@@ -8688,6 +8688,7 @@ class EcabsTimeRangeInputV2Component extends EcabsElementBaseComponent {
|
|
|
8688
8688
|
separatorLabel = 'to';
|
|
8689
8689
|
startTimePlaceholder;
|
|
8690
8690
|
endTimePlaceholder;
|
|
8691
|
+
allowCrossMidnight = false;
|
|
8691
8692
|
val;
|
|
8692
8693
|
_timeFrom;
|
|
8693
8694
|
_timeTo;
|
|
@@ -8736,6 +8737,9 @@ class EcabsTimeRangeInputV2Component extends EcabsElementBaseComponent {
|
|
|
8736
8737
|
this.control.valueChanges
|
|
8737
8738
|
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
8738
8739
|
.subscribe(() => this.timeRangeValidator(this.control));
|
|
8740
|
+
setTimeout(() => {
|
|
8741
|
+
this.timeRangeValidator(this.control);
|
|
8742
|
+
});
|
|
8739
8743
|
}
|
|
8740
8744
|
}
|
|
8741
8745
|
onChange = () => { };
|
|
@@ -8763,31 +8767,35 @@ class EcabsTimeRangeInputV2Component extends EcabsElementBaseComponent {
|
|
|
8763
8767
|
}
|
|
8764
8768
|
timeRangeValidator(control) {
|
|
8765
8769
|
const required = control.hasValidator(Validators.required);
|
|
8766
|
-
if (control.value) {
|
|
8767
|
-
|
|
8768
|
-
|
|
8769
|
-
|
|
8770
|
-
|
|
8771
|
-
|
|
8772
|
-
|
|
8773
|
-
|
|
8774
|
-
|
|
8775
|
-
|
|
8776
|
-
|
|
8777
|
-
|
|
8778
|
-
}
|
|
8779
|
-
|
|
8780
|
-
|
|
8781
|
-
|
|
8782
|
-
|
|
8783
|
-
|
|
8784
|
-
|
|
8785
|
-
|
|
8786
|
-
|
|
8770
|
+
if (!control.value && !required) {
|
|
8771
|
+
return;
|
|
8772
|
+
}
|
|
8773
|
+
if (!control.value) {
|
|
8774
|
+
control.setErrors({ required: true });
|
|
8775
|
+
return;
|
|
8776
|
+
}
|
|
8777
|
+
const { timeFrom, timeTo } = control.value;
|
|
8778
|
+
control.setErrors(null);
|
|
8779
|
+
if (required &&
|
|
8780
|
+
(!timeFrom || timeFrom?.length === 0) &&
|
|
8781
|
+
(!timeTo || timeTo?.length === 0)) {
|
|
8782
|
+
control.setErrors({ required: true });
|
|
8783
|
+
}
|
|
8784
|
+
else if (!timeFrom && timeTo) {
|
|
8785
|
+
control.setErrors({ rangeFrom: true });
|
|
8786
|
+
}
|
|
8787
|
+
else if (timeFrom && !timeTo) {
|
|
8788
|
+
control.setErrors({ rangeTo: true });
|
|
8789
|
+
}
|
|
8790
|
+
else if (timeFrom &&
|
|
8791
|
+
timeTo &&
|
|
8792
|
+
timeFrom > timeTo &&
|
|
8793
|
+
!this.allowCrossMidnight) {
|
|
8794
|
+
control.setErrors({ rangeOrder: true });
|
|
8787
8795
|
}
|
|
8788
8796
|
}
|
|
8789
8797
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeRangeInputV2Component, deps: [{ token: i0.Injector }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8790
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTimeRangeInputV2Component, selector: "ecabs-time-range-input-v2", inputs: { showCloseIcon: "showCloseIcon", listPlacement: "listPlacement", appendTo: "appendTo", min: "min", max: "max", showDayStart: "showDayStart", showDayEnd: "showDayEnd", addSecond: "addSecond", dayStartLabel: "dayStartLabel", dayEndLabel: "dayEndLabel", separatorLabel: "separatorLabel", startTimePlaceholder: "startTimePlaceholder", endTimePlaceholder: "endTimePlaceholder" }, providers: [
|
|
8798
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTimeRangeInputV2Component, selector: "ecabs-time-range-input-v2", inputs: { showCloseIcon: "showCloseIcon", listPlacement: "listPlacement", appendTo: "appendTo", min: "min", max: "max", showDayStart: "showDayStart", showDayEnd: "showDayEnd", addSecond: "addSecond", dayStartLabel: "dayStartLabel", dayEndLabel: "dayEndLabel", separatorLabel: "separatorLabel", startTimePlaceholder: "startTimePlaceholder", endTimePlaceholder: "endTimePlaceholder", allowCrossMidnight: "allowCrossMidnight" }, providers: [
|
|
8791
8799
|
{
|
|
8792
8800
|
provide: NG_VALUE_ACCESSOR,
|
|
8793
8801
|
useExisting: forwardRef(() => EcabsTimeRangeInputV2Component),
|
|
@@ -8830,6 +8838,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
8830
8838
|
type: Input
|
|
8831
8839
|
}], endTimePlaceholder: [{
|
|
8832
8840
|
type: Input
|
|
8841
|
+
}], allowCrossMidnight: [{
|
|
8842
|
+
type: Input
|
|
8833
8843
|
}] } });
|
|
8834
8844
|
|
|
8835
8845
|
class EcabsTimeRangeInputV2Module {
|
|
@@ -9147,7 +9157,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
9147
9157
|
class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
9148
9158
|
injector;
|
|
9149
9159
|
ecabsDatePickerHeaderService;
|
|
9150
|
-
|
|
9160
|
+
destroyRef;
|
|
9151
9161
|
minDate;
|
|
9152
9162
|
maxDate;
|
|
9153
9163
|
touchUi = false;
|
|
@@ -9160,6 +9170,7 @@ class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
|
9160
9170
|
excludeWeekends;
|
|
9161
9171
|
specificDates;
|
|
9162
9172
|
holidayOptions;
|
|
9173
|
+
dateToOptional = false;
|
|
9163
9174
|
onblur = new EventEmitter();
|
|
9164
9175
|
val;
|
|
9165
9176
|
pickerTo;
|
|
@@ -9194,28 +9205,42 @@ class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
|
9194
9205
|
}
|
|
9195
9206
|
//eslint-disable-next-line
|
|
9196
9207
|
set dateFrom(val) {
|
|
9197
|
-
if (this._dateFrom
|
|
9208
|
+
if (this._dateFrom === val) {
|
|
9209
|
+
return;
|
|
9210
|
+
}
|
|
9211
|
+
if (val && isValid(new Date(val))) {
|
|
9198
9212
|
this._dateFrom = val;
|
|
9199
9213
|
this.minDateTo = new Date(val);
|
|
9200
|
-
if (!this.dateTo) {
|
|
9214
|
+
if (!this.dateTo && !this.dateToOptional) {
|
|
9201
9215
|
this.pickerTo?.open();
|
|
9202
9216
|
}
|
|
9203
|
-
this.onApply();
|
|
9204
9217
|
}
|
|
9218
|
+
else if (!val) {
|
|
9219
|
+
this._dateFrom = val;
|
|
9220
|
+
this.minDateTo = this.minDate;
|
|
9221
|
+
}
|
|
9222
|
+
this.onApply();
|
|
9205
9223
|
}
|
|
9206
9224
|
//eslint-disable-next-line
|
|
9207
9225
|
set dateTo(val) {
|
|
9208
|
-
if (this._dateTo
|
|
9226
|
+
if (this._dateTo === val) {
|
|
9227
|
+
return;
|
|
9228
|
+
}
|
|
9229
|
+
if (val && isValid(new Date(val))) {
|
|
9209
9230
|
this._dateTo = val;
|
|
9210
9231
|
this.maxDateFrom = new Date(val);
|
|
9211
|
-
this.onApply();
|
|
9212
9232
|
}
|
|
9233
|
+
else if (!val) {
|
|
9234
|
+
this._dateTo = val;
|
|
9235
|
+
this.maxDateFrom = this.maxDate;
|
|
9236
|
+
}
|
|
9237
|
+
this.onApply();
|
|
9213
9238
|
}
|
|
9214
|
-
constructor(injector, ecabsDatePickerHeaderService,
|
|
9239
|
+
constructor(injector, ecabsDatePickerHeaderService, destroyRef) {
|
|
9215
9240
|
super();
|
|
9216
9241
|
this.injector = injector;
|
|
9217
9242
|
this.ecabsDatePickerHeaderService = ecabsDatePickerHeaderService;
|
|
9218
|
-
this.
|
|
9243
|
+
this.destroyRef = destroyRef;
|
|
9219
9244
|
}
|
|
9220
9245
|
ngOnChanges(changes) {
|
|
9221
9246
|
const { minDate, maxDate } = changes;
|
|
@@ -9231,7 +9256,7 @@ class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
|
9231
9256
|
ngOnInit() {
|
|
9232
9257
|
this.ecabsDatePickerHeaderService
|
|
9233
9258
|
.getConfig()
|
|
9234
|
-
.pipe(
|
|
9259
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
9235
9260
|
.subscribe((config) => (this.translationConfig = config));
|
|
9236
9261
|
if (this.holidayOptions?.countryCode) {
|
|
9237
9262
|
this.holidayInstance = new Holidays(this.holidayOptions.countryCode.toUpperCase());
|
|
@@ -9242,17 +9267,15 @@ class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
|
9242
9267
|
if (ngControl) {
|
|
9243
9268
|
this.control = ngControl.control;
|
|
9244
9269
|
this.control.valueChanges
|
|
9245
|
-
.pipe(
|
|
9270
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
9246
9271
|
.subscribe(() => this.dateRangeValidator(this.control));
|
|
9247
9272
|
setTimeout(() => {
|
|
9248
9273
|
this.dateFrom = this.value.dateFrom;
|
|
9249
9274
|
this.dateTo = this.value.dateTo;
|
|
9275
|
+
this.dateRangeValidator(this.control);
|
|
9250
9276
|
});
|
|
9251
9277
|
}
|
|
9252
9278
|
}
|
|
9253
|
-
ngOnDestroy() {
|
|
9254
|
-
this.unsubscribeService.destroy();
|
|
9255
|
-
}
|
|
9256
9279
|
onChange = () => { };
|
|
9257
9280
|
onTouch = () => { };
|
|
9258
9281
|
writeValue(value) {
|
|
@@ -9311,37 +9334,36 @@ class EcabsDateRangePickerComponentV2 extends EcabsElementBaseComponent {
|
|
|
9311
9334
|
}
|
|
9312
9335
|
dateRangeValidator(control) {
|
|
9313
9336
|
const required = control?.hasValidator(Validators.required);
|
|
9314
|
-
if (control.value) {
|
|
9315
|
-
|
|
9316
|
-
control.setErrors(null);
|
|
9317
|
-
if (required &&
|
|
9318
|
-
(!dateFrom || dateFrom?.length === 0) &&
|
|
9319
|
-
(!dateTo || dateTo?.length === 0)) {
|
|
9337
|
+
if (!control.value) {
|
|
9338
|
+
if (required) {
|
|
9320
9339
|
control.setErrors({ required: true });
|
|
9321
|
-
return;
|
|
9322
|
-
}
|
|
9323
|
-
if (!dateFrom && dateTo) {
|
|
9324
|
-
control.setErrors({ dateFromRangeRequired: true });
|
|
9325
|
-
return;
|
|
9326
|
-
}
|
|
9327
|
-
if (dateFrom && !dateTo) {
|
|
9328
|
-
control.setErrors({ dateToRangeRequired: true });
|
|
9329
|
-
return;
|
|
9330
|
-
}
|
|
9331
|
-
if (new Date(dateFrom) > new Date(dateTo)) {
|
|
9332
|
-
control.setErrors({ dateFromMoreThanDateTo: true });
|
|
9333
|
-
return;
|
|
9334
9340
|
}
|
|
9341
|
+
return;
|
|
9342
|
+
}
|
|
9343
|
+
const { dateFrom, dateTo } = control.value;
|
|
9344
|
+
control.setErrors(null);
|
|
9345
|
+
if (required &&
|
|
9346
|
+
(!dateFrom || dateFrom?.length === 0) &&
|
|
9347
|
+
(!dateTo || dateTo?.length === 0)) {
|
|
9348
|
+
control.setErrors({ required: true });
|
|
9349
|
+
}
|
|
9350
|
+
else if (!dateFrom && dateTo) {
|
|
9351
|
+
control.setErrors({ rangeFrom: true });
|
|
9352
|
+
}
|
|
9353
|
+
else if (dateFrom && !dateTo && !this.dateToOptional) {
|
|
9354
|
+
control.setErrors({ rangeTo: true });
|
|
9355
|
+
}
|
|
9356
|
+
else if (dateFrom && dateTo && new Date(dateFrom) > new Date(dateTo)) {
|
|
9357
|
+
control.setErrors({ rangeOrder: true });
|
|
9335
9358
|
}
|
|
9336
9359
|
}
|
|
9337
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateRangePickerComponentV2, deps: [{ token: i0.Injector }, { token: EcabsDatePickerHeaderService }, { token:
|
|
9338
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateRangePickerComponentV2, selector: "ecabs-date-range-picker-v2", inputs: { minDate: "minDate", maxDate: "maxDate", touchUi: "touchUi", cancelLabel: "cancelLabel", applyLabel: "applyLabel", startDatePlaceholder: "startDatePlaceholder", endDatePlaceholder: "endDatePlaceholder", separatorLabel: "separatorLabel", excludeHolidays: "excludeHolidays", excludeWeekends: "excludeWeekends", specificDates: "specificDates", holidayOptions: "holidayOptions" }, outputs: { onblur: "onblur" }, providers: [
|
|
9360
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateRangePickerComponentV2, deps: [{ token: i0.Injector }, { token: EcabsDatePickerHeaderService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
9361
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsDateRangePickerComponentV2, selector: "ecabs-date-range-picker-v2", inputs: { minDate: "minDate", maxDate: "maxDate", touchUi: "touchUi", cancelLabel: "cancelLabel", applyLabel: "applyLabel", startDatePlaceholder: "startDatePlaceholder", endDatePlaceholder: "endDatePlaceholder", separatorLabel: "separatorLabel", excludeHolidays: "excludeHolidays", excludeWeekends: "excludeWeekends", specificDates: "specificDates", holidayOptions: "holidayOptions", dateToOptional: "dateToOptional" }, outputs: { onblur: "onblur" }, providers: [
|
|
9339
9362
|
{
|
|
9340
9363
|
provide: NG_VALUE_ACCESSOR,
|
|
9341
9364
|
useExisting: EcabsDateRangePickerComponentV2,
|
|
9342
9365
|
multi: true,
|
|
9343
9366
|
},
|
|
9344
|
-
UnsubscribeService,
|
|
9345
9367
|
], viewQueries: [{ propertyName: "pickerTo", first: true, predicate: ["pickerTo"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__range--wrapper\">\r\n <div class=\"form-field__range\">\r\n <input\r\n class=\"border-none w-full\"\r\n id=\"{{ name + 'dateFrom' }}\"\r\n [(ngModel)]=\"dateFrom\"\r\n [placeholder]=\"startDatePlaceholder ?? translationConfig?.startDatePlaceholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"pickerFrom\"\r\n [min]=\"minDateFrom\"\r\n [max]=\"maxDateFrom\"\r\n [matDatepickerFilter]=\"filterDateRange\"\r\n ecabsMaskDate\r\n (blur)=\"onTouch()\"\r\n (click)=\"pickerFrom.open()\"\r\n />\r\n <mat-datepicker #pickerFrom\r\n [panelClass]=\"panelClass\"\r\n [calendarHeaderComponent]=\"header\"\r\n [touchUi]=\"touchUi\">\r\n </mat-datepicker>\r\n </div>\r\n\r\n <span class=\"text-gray-400 px-3 text-sm\">{{ separatorLabel }}</span>\r\n <div class=\"form-field__range\">\r\n <input\r\n class=\"border-none w-full\"\r\n id=\"{{ name + 'dateTo' }}\"\r\n [(ngModel)]=\"dateTo\"\r\n [placeholder]=\"endDatePlaceholder ?? translationConfig?.endDatePlaceholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"pickerTo\"\r\n [min]=\"minDateTo\"\r\n [max]=\"maxDateTo\"\r\n [matDatepickerFilter]=\"filterDateRange\"\r\n ecabsMaskDate\r\n (blur)=\"onTouch()\"\r\n (click)=\"pickerTo.open()\"\r\n />\r\n <mat-datepicker #pickerTo\r\n [panelClass]=\"panelClass\"\r\n [calendarHeaderComponent]=\"header\"\r\n [touchUi]=\"touchUi\">\r\n </mat-datepicker>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n", styles: [""], dependencies: [{ kind: "component", type: EcabsElementWrapperComponent, selector: "ecabs-element-wrapper", inputs: ["data", "showCloseIcon", "focusedFlag", "showPassword", "control"], outputs: ["showHidePassword", "clear", "increase", "decrease"] }, { 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: "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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: EcabsMaskDateDirective, selector: "[ecabsMaskDate]", inputs: ["isDateTimeMask", "considerSeconds"] }] });
|
|
9346
9368
|
}
|
|
9347
9369
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsDateRangePickerComponentV2, decorators: [{
|
|
@@ -9352,9 +9374,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
9352
9374
|
useExisting: EcabsDateRangePickerComponentV2,
|
|
9353
9375
|
multi: true,
|
|
9354
9376
|
},
|
|
9355
|
-
UnsubscribeService,
|
|
9356
9377
|
], template: "<ecabs-element-wrapper [data]=\"getData()\">\r\n <div class=\"form-field__range--wrapper\">\r\n <div class=\"form-field__range\">\r\n <input\r\n class=\"border-none w-full\"\r\n id=\"{{ name + 'dateFrom' }}\"\r\n [(ngModel)]=\"dateFrom\"\r\n [placeholder]=\"startDatePlaceholder ?? translationConfig?.startDatePlaceholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"pickerFrom\"\r\n [min]=\"minDateFrom\"\r\n [max]=\"maxDateFrom\"\r\n [matDatepickerFilter]=\"filterDateRange\"\r\n ecabsMaskDate\r\n (blur)=\"onTouch()\"\r\n (click)=\"pickerFrom.open()\"\r\n />\r\n <mat-datepicker #pickerFrom\r\n [panelClass]=\"panelClass\"\r\n [calendarHeaderComponent]=\"header\"\r\n [touchUi]=\"touchUi\">\r\n </mat-datepicker>\r\n </div>\r\n\r\n <span class=\"text-gray-400 px-3 text-sm\">{{ separatorLabel }}</span>\r\n <div class=\"form-field__range\">\r\n <input\r\n class=\"border-none w-full\"\r\n id=\"{{ name + 'dateTo' }}\"\r\n [(ngModel)]=\"dateTo\"\r\n [placeholder]=\"endDatePlaceholder ?? translationConfig?.endDatePlaceholder\"\r\n [disabled]=\"disabled\"\r\n [matDatepicker]=\"pickerTo\"\r\n [min]=\"minDateTo\"\r\n [max]=\"maxDateTo\"\r\n [matDatepickerFilter]=\"filterDateRange\"\r\n ecabsMaskDate\r\n (blur)=\"onTouch()\"\r\n (click)=\"pickerTo.open()\"\r\n />\r\n <mat-datepicker #pickerTo\r\n [panelClass]=\"panelClass\"\r\n [calendarHeaderComponent]=\"header\"\r\n [touchUi]=\"touchUi\">\r\n </mat-datepicker>\r\n </div>\r\n </div>\r\n</ecabs-element-wrapper>\r\n" }]
|
|
9357
|
-
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: EcabsDatePickerHeaderService }, { type:
|
|
9378
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: EcabsDatePickerHeaderService }, { type: i0.DestroyRef }]; }, propDecorators: { minDate: [{
|
|
9358
9379
|
type: Input
|
|
9359
9380
|
}], maxDate: [{
|
|
9360
9381
|
type: Input
|
|
@@ -9378,6 +9399,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
9378
9399
|
type: Input
|
|
9379
9400
|
}], holidayOptions: [{
|
|
9380
9401
|
type: Input
|
|
9402
|
+
}], dateToOptional: [{
|
|
9403
|
+
type: Input
|
|
9381
9404
|
}], onblur: [{
|
|
9382
9405
|
type: Output
|
|
9383
9406
|
}], pickerTo: [{
|