@dereekb/dbx-form 9.24.16 → 9.24.18

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.
Files changed (39) hide show
  1. package/calendar/lib/calendar.module.d.ts +1 -1
  2. package/calendar/lib/calendar.schedule.selection.dialog.button.component.d.ts +2 -1
  3. package/calendar/lib/calendar.schedule.selection.range.component.d.ts +6 -1
  4. package/calendar/lib/field/schedule/calendar.schedule.field.component.d.ts +23 -0
  5. package/calendar/lib/field/schedule/calendar.schedule.module.d.ts +10 -9
  6. package/esm2020/calendar/lib/calendar.module.mjs +8 -2
  7. package/esm2020/calendar/lib/calendar.schedule.selection.component.mjs +24 -8
  8. package/esm2020/calendar/lib/calendar.schedule.selection.dialog.button.component.mjs +8 -6
  9. package/esm2020/calendar/lib/calendar.schedule.selection.popover.content.component.mjs +17 -12
  10. package/esm2020/calendar/lib/calendar.schedule.selection.range.component.mjs +45 -5
  11. package/esm2020/calendar/lib/field/schedule/calendar.schedule.field.component.mjs +23 -9
  12. package/esm2020/calendar/lib/field/schedule/calendar.schedule.field.mjs +5 -3
  13. package/esm2020/calendar/lib/field/schedule/calendar.schedule.module.mjs +7 -3
  14. package/esm2020/lib/formly/config/validation.mjs +3 -2
  15. package/esm2020/lib/formly/field/value/number/number.field.mjs +34 -1
  16. package/esm2020/lib/formly/field/value/number/number.field.module.mjs +5 -4
  17. package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +84 -5
  18. package/esm2020/lib/formly/field/value/phone/phone.field.mjs +9 -3
  19. package/esm2020/lib/validator/index.mjs +2 -1
  20. package/esm2020/lib/validator/phone.mjs +61 -0
  21. package/fesm2015/dereekb-dbx-form-calendar.mjs +123 -39
  22. package/fesm2015/dereekb-dbx-form-calendar.mjs.map +1 -1
  23. package/fesm2015/dereekb-dbx-form.mjs +171 -11
  24. package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
  25. package/fesm2020/dereekb-dbx-form-calendar.mjs +124 -41
  26. package/fesm2020/dereekb-dbx-form-calendar.mjs.map +1 -1
  27. package/fesm2020/dereekb-dbx-form.mjs +182 -10
  28. package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
  29. package/lib/extension/calendar/_calendar.scss +13 -0
  30. package/lib/formly/config/validation.d.ts +4 -0
  31. package/lib/formly/field/value/date/_date.scss +4 -0
  32. package/lib/formly/field/value/number/number.field.d.ts +27 -0
  33. package/lib/formly/field/value/number/number.field.module.d.ts +3 -2
  34. package/lib/formly/field/value/phone/_phone.scss +22 -13
  35. package/lib/formly/field/value/phone/phone.field.component.d.ts +19 -0
  36. package/lib/validator/index.d.ts +1 -0
  37. package/lib/validator/phone.d.ts +16 -0
  38. package/mapbox/package.json +4 -4
  39. package/package.json +4 -4
@@ -1,50 +1,50 @@
1
1
  import * as i4$1 from '@dereekb/dbx-form';
2
2
  import { formlyField, propsAndConfigForFieldConfig, flexLayoutWrapper, toggleField, AbstractSyncFormlyFormDirective, provideFormlyContext, DbxFormModule, DbxFormlyModule } from '@dereekb/dbx-form';
3
3
  import * as i1$1 from '@dereekb/dbx-web';
4
- import { AbstractPopoverDirective, AbstractDialogDirective, sanitizeDbxDialogContentConfig, DbxActionModule, DbxButtonModule, DbxDialogInteractionModule, DbxPopoverInteractionModule, DbxTextModule } from '@dereekb/dbx-web';
4
+ import { AbstractPopoverDirective, AbstractDialogDirective, sanitizeDbxDialogContentConfig, DbxContentLayoutModule, DbxTextModule, DbxActionModule, DbxButtonModule, DbxDialogInteractionModule, DbxPopoverInteractionModule } from '@dereekb/dbx-web';
5
5
  import * as i0 from '@angular/core';
6
- import { Injectable, SkipSelf, Directive, Injector, Optional, Component, Inject, Input, ElementRef, ViewChild, ChangeDetectionStrategy, EventEmitter, Output, InjectionToken, NgModule } from '@angular/core';
6
+ import { Injectable, SkipSelf, Directive, Injector, Optional, Component, Inject, Input, ViewChild, ElementRef, ChangeDetectionStrategy, EventEmitter, Output, InjectionToken, NgModule } from '@angular/core';
7
7
  import { FieldType } from '@ngx-formly/material';
8
- import { switchMap, first, tap, map, distinctUntilChanged, shareReplay, of, combineLatestWith, BehaviorSubject, startWith, filter, throttleTime, combineLatest } from 'rxjs';
8
+ import { switchMap, first, tap, map, distinctUntilChanged, shareReplay, of, combineLatestWith, BehaviorSubject, filter, startWith, throttleTime, combineLatest } from 'rxjs';
9
9
  import { filterMaybe, distinctUntilHasDifferentValues, SubscriptionObject, asObservableFromGetter, asObservable } from '@dereekb/rxjs';
10
10
  import { DateScheduleDayCode, expandDateScheduleDayCodesToDayOfWeekSet, dateTimingRelativeIndexFactory, dateBlockDayOfWeekFactory, findMaxDate, findMinDate, isSameDateRange, isSameDateDay, isSameDate, dateBlockTimingDateFactory, expandDateScheduleRange, formatToISO8601DayString, isSameDateScheduleRange, dateTimingRelativeIndexArrayFactory, isInfiniteDateRange, copyDateScheduleDateFilterConfig, dateScheduleDateFilter, dateTimezoneUtcNormal, expandDateScheduleDayCodes, isDateInDateRangeFunction, isDateWithinDateBlockRangeFunction, copyHoursAndMinutesFromDate, dateScheduleEncodedWeek, enabledDaysFromDateScheduleDayCodes, dateScheduleDayCodesFromEnabledDays, formatToMonthDayString, dateRange, DateRangeType } from '@dereekb/date';
11
11
  import { setsAreEquivalent, mapValuesToSet, unique, mergeArrays, iterableToArray, range, toggleInSet, removeFromSet, addToSet, isIndexNumberInIndexRangeFunction, minAndMaxNumber, getDaysOfWeekNames, reduceBooleansWithAnd, mergeObjects, KeyValueTypleValueFilter } from '@dereekb/util';
12
12
  import { ComponentStore } from '@ngrx/component-store';
13
13
  import { startOfDay, endOfDay, isBefore, endOfWeek } from 'date-fns';
14
+ import * as i3$1 from '@dereekb/dbx-core';
15
+ import { switchMapDbxInjectionComponentConfig, DbxInjectionComponentModule, DbxDatePipeModule } from '@dereekb/dbx-core';
14
16
  import * as i1 from '@dereekb/dbx-web/calendar';
15
17
  import { prepareAndSortCalendarEvents, DbxCalendarStore, DbxCalendarModule } from '@dereekb/dbx-web/calendar';
16
18
  import * as i3 from '@angular/forms';
17
19
  import { FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
18
20
  import * as i5 from '@angular/material/form-field';
19
21
  import { MAT_FORM_FIELD_DEFAULT_OPTIONS, MatFormFieldModule } from '@angular/material/form-field';
20
- import * as i4 from '@angular/common';
21
- import { CommonModule } from '@angular/common';
22
22
  import * as i7 from '@angular/material/datepicker';
23
23
  import { MatDatepickerModule } from '@angular/material/datepicker';
24
- import * as i3$1 from '@dereekb/dbx-core';
25
- import { switchMapDbxInjectionComponentConfig, DbxInjectionComponentModule, DbxDatePipeModule } from '@dereekb/dbx-core';
24
+ import * as i4 from '@angular/common';
25
+ import { CommonModule } from '@angular/common';
26
26
  import * as i1$2 from '@angular/material/dialog';
27
27
  import * as i6 from 'angular-calendar';
28
28
  import { CalendarModule, CalendarDayModule, CalendarWeekModule } from 'angular-calendar';
29
29
  import * as i7$1 from '@angular/flex-layout/extended';
30
30
  import * as i3$2 from '@angular/material/icon';
31
31
  import { MatIconModule } from '@angular/material/icon';
32
- import * as i2 from '@angular/material/button';
33
- import { MatButtonModule } from '@angular/material/button';
34
32
  import * as i1$3 from '@ngx-formly/core';
35
33
  import { FormlyModule } from '@ngx-formly/core';
36
34
  import { MatInputModule } from '@angular/material/input';
35
+ import { MatButtonModule } from '@angular/material/button';
37
36
  import { MatButtonToggleModule } from '@angular/material/button-toggle';
38
37
  import { FlexLayoutModule } from '@angular/flex-layout';
39
38
 
40
39
  function dateScheduleRangeField(config = {}) {
41
- const { key = 'schedule', appearance, hideCustomize, filter, timezone, initialSelectionState, computeSelectionResultRelativeToFilter, exclusions, minMaxDateRange, cellContentFactory, dialogContentConfig, closeDialogConfig } = config;
40
+ const { key = 'schedule', appearance, hideCustomize, allowTextInput, filter, timezone, initialSelectionState, computeSelectionResultRelativeToFilter, exclusions, minMaxDateRange, cellContentFactory, dialogContentConfig, closeDialogConfig, customDetailsConfig } = config;
42
41
  const fieldConfig = {
43
42
  ...formlyField({
44
43
  key,
45
44
  type: 'date-schedule-range',
46
45
  ...propsAndConfigForFieldConfig(config, {
47
46
  label: config.label ?? 'Schedule',
47
+ allowTextInput,
48
48
  appearance,
49
49
  hideCustomize,
50
50
  timezone,
@@ -55,7 +55,8 @@ function dateScheduleRangeField(config = {}) {
55
55
  closeDialogConfig,
56
56
  computeSelectionResultRelativeToFilter,
57
57
  initialSelectionState,
58
- cellContentFactory
58
+ cellContentFactory,
59
+ customDetailsConfig
59
60
  })
60
61
  })
61
62
  };
@@ -696,6 +697,7 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
696
697
  this._required = new BehaviorSubject(false);
697
698
  this.required$ = this._required.asObservable();
698
699
  this.timezone$ = this.dbxCalendarScheduleSelectionStore.currentTimezone$;
700
+ this.openPickerOnTextClick = true;
699
701
  this.label = 'Enter a date range';
700
702
  this.showCustomize = false;
701
703
  this._pickerOpened = new BehaviorSubject(false);
@@ -722,6 +724,34 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
722
724
  return currentDateRange ? currentDateRange.start ?? currentDateRange.end : undefined ?? new Date();
723
725
  }), shareReplay(1));
724
726
  this.isCustomized$ = this.dbxCalendarScheduleSelectionStore.isCustomized$;
727
+ this.currentErrorMessage$ = this.range.statusChanges.pipe(filter((x) => x === 'INVALID' || x === 'VALID'), map((x) => {
728
+ let currentErrorMessage;
729
+ if (x === 'INVALID') {
730
+ const { start, end } = this.range.controls;
731
+ if (this.range.hasError('required')) {
732
+ currentErrorMessage = 'Date range is required';
733
+ }
734
+ else if (start.hasError('matStartDateInvalid')) {
735
+ currentErrorMessage = 'Invalid start date';
736
+ }
737
+ else if (start.hasError('matDatepickerMin')) {
738
+ currentErrorMessage = 'Start date is too early';
739
+ }
740
+ else if (start.hasError('matDatepickerMax')) {
741
+ currentErrorMessage = 'Start date is too late';
742
+ }
743
+ else if (end.hasError('matStartDateInvalid')) {
744
+ currentErrorMessage = 'Invalid end date';
745
+ }
746
+ else if (end.hasError('matDatepickerMin')) {
747
+ currentErrorMessage = 'End date is too early';
748
+ }
749
+ else if (end.hasError('matDatepickerMax')) {
750
+ currentErrorMessage = 'End date is too late';
751
+ }
752
+ }
753
+ return currentErrorMessage;
754
+ }), shareReplay(1));
725
755
  this.pickerOpened$ = this._pickerOpened.asObservable();
726
756
  }
727
757
  set disabled(disabled) {
@@ -784,6 +814,11 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
784
814
  set required(required) {
785
815
  this._required.next(required);
786
816
  }
817
+ clickedDateRangeInput() {
818
+ if (this.openPickerOnTextClick) {
819
+ this.picker.open();
820
+ }
821
+ }
787
822
  pickerOpened() {
788
823
  this._pickerOpened.next(true);
789
824
  }
@@ -792,14 +827,19 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
792
827
  }
793
828
  }
794
829
  DbxScheduleSelectionCalendarDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, deps: [{ token: i1.DbxCalendarStore }, { token: DbxCalendarScheduleSelectionStore }, { token: MAT_FORM_FIELD_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
795
- DbxScheduleSelectionCalendarDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: { label: "label", hint: "hint", disabled: "disabled", showCustomize: "showCustomize", required: "required" }, ngImport: i0, template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <div *ngIf=\"showCustomize && (isCustomized$ | async)\" class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input [required]=\"required$ | async\" [min]=\"minDate$ | async\" [max]=\"maxDate$ | async\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input [errorStateMatcher]=\"errorStateMatcher\" matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input [errorStateMatcher]=\"errorStateMatcher\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n <span *ngIf=\"timezone$ | async\" class=\"dbx-flex-bar dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezone$ | async | timezoneAbbreviation: (timezoneReleventDate$ | async) }}</span>\n <div *ngIf=\"showCustomize\">\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n <mat-error *ngIf=\"range.hasError('required')\">Date range is required</mat-error>\n <mat-error *ngIf=\"range.controls.start.hasError('matStartDateInvalid')\">Invalid start date</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matEndDateInvalid')\">Invalid end date</mat-error>\n <mat-error *ngIf=\"range.controls.start.hasError('matDatepickerMin')\">Start date is too early</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matDatepickerMin')\">End date is too early.</mat-error>\n <mat-error *ngIf=\"range.controls.start.hasError('matDatepickerMax')\">Start date is too late.</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matDatepickerMax')\">End date is too late</mat-error>\n <mat-hint>{{ hint }}</mat-hint>\n</mat-form-field>\n", dependencies: [{ 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$1.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: i7.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i7.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i7.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i7.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i7.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TimezoneAbbreviationPipe, name: "timezoneAbbreviation" }] });
830
+ DbxScheduleSelectionCalendarDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: { openPickerOnTextClick: "openPickerOnTextClick", label: "label", hint: "hint", disabled: "disabled", showCustomize: "showCustomize", required: "required" }, viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true }], ngImport: i0, template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <div class=\"dbx-schedule-selection-calendar-date-range-field-content\">\n <!-- Primary Content -->\n <div class=\"dbx-flex\">\n <div *ngIf=\"showCustomize && (isCustomized$ | async)\" class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input (click)=\"clickedDateRangeInput()\" [required]=\"required$ | async\" [min]=\"minDate$ | async\" [max]=\"maxDate$ | async\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input [errorStateMatcher]=\"errorStateMatcher\" matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input [errorStateMatcher]=\"errorStateMatcher\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n <span *ngIf=\"timezone$ | async\" class=\"dbx-flex-bar dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezone$ | async | timezoneAbbreviation: (timezoneReleventDate$ | async) }}</span>\n <div *ngIf=\"showCustomize\">\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n </div>\n <!-- Custom Content -->\n <div>\n <ng-content></ng-content>\n </div>\n </div>\n <mat-error *ngIf=\"currentErrorMessage$ | async\">{{ currentErrorMessage$ | async }}</mat-error>\n <mat-hint>{{ hint }}</mat-hint>\n</mat-form-field>\n", dependencies: [{ 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$1.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: i7.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i7.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i7.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i7.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i7.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.TimezoneAbbreviationPipe, name: "timezoneAbbreviation" }] });
796
831
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, decorators: [{
797
832
  type: Component,
798
- args: [{ selector: 'dbx-schedule-selection-calendar-date-range', template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <div *ngIf=\"showCustomize && (isCustomized$ | async)\" class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input [required]=\"required$ | async\" [min]=\"minDate$ | async\" [max]=\"maxDate$ | async\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input [errorStateMatcher]=\"errorStateMatcher\" matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input [errorStateMatcher]=\"errorStateMatcher\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n <span *ngIf=\"timezone$ | async\" class=\"dbx-flex-bar dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezone$ | async | timezoneAbbreviation: (timezoneReleventDate$ | async) }}</span>\n <div *ngIf=\"showCustomize\">\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n <mat-error *ngIf=\"range.hasError('required')\">Date range is required</mat-error>\n <mat-error *ngIf=\"range.controls.start.hasError('matStartDateInvalid')\">Invalid start date</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matEndDateInvalid')\">Invalid end date</mat-error>\n <mat-error *ngIf=\"range.controls.start.hasError('matDatepickerMin')\">Start date is too early</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matDatepickerMin')\">End date is too early.</mat-error>\n <mat-error *ngIf=\"range.controls.start.hasError('matDatepickerMax')\">Start date is too late.</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matDatepickerMax')\">End date is too late</mat-error>\n <mat-hint>{{ hint }}</mat-hint>\n</mat-form-field>\n" }]
833
+ args: [{ selector: 'dbx-schedule-selection-calendar-date-range', template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <div class=\"dbx-schedule-selection-calendar-date-range-field-content\">\n <!-- Primary Content -->\n <div class=\"dbx-flex\">\n <div *ngIf=\"showCustomize && (isCustomized$ | async)\" class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input (click)=\"clickedDateRangeInput()\" [required]=\"required$ | async\" [min]=\"minDate$ | async\" [max]=\"maxDate$ | async\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input [errorStateMatcher]=\"errorStateMatcher\" matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input [errorStateMatcher]=\"errorStateMatcher\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n <span *ngIf=\"timezone$ | async\" class=\"dbx-flex-bar dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezone$ | async | timezoneAbbreviation: (timezoneReleventDate$ | async) }}</span>\n <div *ngIf=\"showCustomize\">\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n </div>\n <!-- Custom Content -->\n <div>\n <ng-content></ng-content>\n </div>\n </div>\n <mat-error *ngIf=\"currentErrorMessage$ | async\">{{ currentErrorMessage$ | async }}</mat-error>\n <mat-hint>{{ hint }}</mat-hint>\n</mat-form-field>\n" }]
799
834
  }], ctorParameters: function () { return [{ type: i1.DbxCalendarStore }, { type: DbxCalendarScheduleSelectionStore }, { type: undefined, decorators: [{
800
835
  type: Inject,
801
836
  args: [MAT_FORM_FIELD_DEFAULT_OPTIONS]
802
- }] }]; }, propDecorators: { label: [{
837
+ }] }]; }, propDecorators: { openPickerOnTextClick: [{
838
+ type: Input
839
+ }], picker: [{
840
+ type: ViewChild,
841
+ args: ['picker']
842
+ }], label: [{
803
843
  type: Input
804
844
  }], hint: [{
805
845
  type: Input
@@ -882,20 +922,24 @@ class DbxScheduleSelectionCalendarDatePopoverContentComponent {
882
922
  }
883
923
  DbxScheduleSelectionCalendarDatePopoverContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
884
924
  DbxScheduleSelectionCalendarDatePopoverContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxScheduleSelectionCalendarDatePopoverContentComponent, selector: "dbx-schedule-selection-calendar-date-popover-content", ngImport: i0, template: `
885
- <div>
886
- <dbx-schedule-selection-calendar-date-range></dbx-schedule-selection-calendar-date-range>
887
- <dbx-schedule-selection-calendar-date-days></dbx-schedule-selection-calendar-date-days>
888
- </div>
889
- `, isInline: true, dependencies: [{ kind: "component", type: DbxScheduleSelectionCalendarDateDaysComponent, selector: "dbx-schedule-selection-calendar-date-days" }, { kind: "component", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["label", "hint", "disabled", "showCustomize", "required"] }] });
925
+ <dbx-content-container padding="min" topPadding="normal">
926
+ <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="false"></dbx-schedule-selection-calendar-date-range>
927
+ <dbx-label-block header="Allowed Days Of Week">
928
+ <dbx-schedule-selection-calendar-date-days></dbx-schedule-selection-calendar-date-days>
929
+ </dbx-label-block>
930
+ </dbx-content-container>
931
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1$1.DbxContentContainerDirective, selector: "dbx-content-container,[dbxContentContainer],.dbx-content-container", inputs: ["grow", "padding", "topPadding"] }, { kind: "component", type: i1$1.DbxLabelBlockComponent, selector: "dbx-label-block", inputs: ["header"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateDaysComponent, selector: "dbx-schedule-selection-calendar-date-days" }, { kind: "component", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["openPickerOnTextClick", "label", "hint", "disabled", "showCustomize", "required"] }] });
890
932
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverContentComponent, decorators: [{
891
933
  type: Component,
892
934
  args: [{
893
935
  selector: 'dbx-schedule-selection-calendar-date-popover-content',
894
936
  template: `
895
- <div>
896
- <dbx-schedule-selection-calendar-date-range></dbx-schedule-selection-calendar-date-range>
897
- <dbx-schedule-selection-calendar-date-days></dbx-schedule-selection-calendar-date-days>
898
- </div>
937
+ <dbx-content-container padding="min" topPadding="normal">
938
+ <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="false"></dbx-schedule-selection-calendar-date-range>
939
+ <dbx-label-block header="Allowed Days Of Week">
940
+ <dbx-schedule-selection-calendar-date-days></dbx-schedule-selection-calendar-date-days>
941
+ </dbx-label-block>
942
+ </dbx-content-container>
899
943
  `
900
944
  }]
901
945
  }] });
@@ -1153,20 +1197,36 @@ class DbxScheduleSelectionCalendarComponent {
1153
1197
  this.calendarStore.setNavigationRangeLimit(this.dbxCalendarScheduleSelectionStore.minMaxDateRange$); // set navigation limit to the min/max allowed dates.
1154
1198
  this.calendarStore.setShowPageButtons(true);
1155
1199
  // when a new filter is set, if the first two pages of selectable indexes fit within the calendar month, focus on that calendar month.
1156
- this._centerRangeSub.subscription = this.dbxCalendarScheduleSelectionStore.minMaxDateRange$.subscribe((x) => {
1157
- if (x?.start && x.end) {
1200
+ this._centerRangeSub.subscription = this.dbxCalendarScheduleSelectionStore.currentDateRange$
1201
+ .pipe(first(), switchMap((x) => {
1202
+ let result = x
1203
+ ? of([x, true])
1204
+ : this.dbxCalendarScheduleSelectionStore.minMaxDateRange$.pipe(first(), map((y) => [y, false]));
1205
+ return result;
1206
+ }))
1207
+ .subscribe(([x, isFromSelectedDateRange]) => {
1208
+ if (x?.start) {
1209
+ let tapDay;
1158
1210
  const startMonth = dateRange({ date: x.start, type: DateRangeType.CALENDAR_MONTH });
1159
- const endMonth = dateRange({ date: x.end, type: DateRangeType.CALENDAR_MONTH });
1160
- if (isSameDate(startMonth.start, endMonth.start)) {
1161
- const monthToFocus = endOfWeek(startMonth.start);
1162
- this.calendarStore.tapDay(monthToFocus);
1211
+ const monthToFocus = endOfWeek(startMonth.start);
1212
+ if (x.end != null) {
1213
+ const endMonth = dateRange({ date: x.end, type: DateRangeType.CALENDAR_MONTH });
1214
+ if (isSameDate(startMonth.start, endMonth.start)) {
1215
+ tapDay = monthToFocus;
1216
+ }
1217
+ }
1218
+ if (!tapDay && isFromSelectedDateRange) {
1219
+ tapDay = monthToFocus;
1220
+ }
1221
+ if (tapDay) {
1222
+ this.calendarStore.tapDay(tapDay);
1163
1223
  }
1164
1224
  }
1165
1225
  });
1166
1226
  }
1167
1227
  ngOnDestroy() {
1168
- this._inputReadonly.complete();
1169
1228
  this.clickEvent.complete();
1229
+ this._inputReadonly.complete();
1170
1230
  this._config.complete();
1171
1231
  this._centerRangeSub.destroy();
1172
1232
  }
@@ -1278,19 +1338,21 @@ class DbxScheduleSelectionCalendarDateDialogButtonComponent {
1278
1338
  }
1279
1339
  }
1280
1340
  DbxScheduleSelectionCalendarDateDialogButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarDateDialogButtonComponent, deps: [{ token: i1$2.MatDialog }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
1281
- DbxScheduleSelectionCalendarDateDialogButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxScheduleSelectionCalendarDateDialogButtonComponent, selector: "dbx-schedule-selection-calendar-date-dialog-button", inputs: { buttonText: "buttonText", contentConfig: "contentConfig", closeConfig: "closeConfig" }, ngImport: i0, template: `
1282
- <button mat-raised-button color="accent" (click)="clickCustomize()">{{ buttonText }}</button>
1283
- `, isInline: true, dependencies: [{ kind: "component", type: i2.MatButton, 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"] }] });
1341
+ DbxScheduleSelectionCalendarDateDialogButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxScheduleSelectionCalendarDateDialogButtonComponent, selector: "dbx-schedule-selection-calendar-date-dialog-button", inputs: { buttonText: "buttonText", disabled: "disabled", contentConfig: "contentConfig", closeConfig: "closeConfig" }, ngImport: i0, template: `
1342
+ <dbx-button [raised]="true" color="accent" [text]="buttonText" [disabled]="disabled" (buttonClick)="clickCustomize()"></dbx-button>
1343
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$1.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "iconOnly", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }] });
1284
1344
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarDateDialogButtonComponent, decorators: [{
1285
1345
  type: Component,
1286
1346
  args: [{
1287
1347
  selector: 'dbx-schedule-selection-calendar-date-dialog-button',
1288
1348
  template: `
1289
- <button mat-raised-button color="accent" (click)="clickCustomize()">{{ buttonText }}</button>
1349
+ <dbx-button [raised]="true" color="accent" [text]="buttonText" [disabled]="disabled" (buttonClick)="clickCustomize()"></dbx-button>
1290
1350
  `
1291
1351
  }]
1292
1352
  }], ctorParameters: function () { return [{ type: i1$2.MatDialog }, { type: i0.Injector }]; }, propDecorators: { buttonText: [{
1293
1353
  type: Input
1354
+ }], disabled: [{
1355
+ type: Input
1294
1356
  }], contentConfig: [{
1295
1357
  type: Input
1296
1358
  }], closeConfig: [{
@@ -1312,6 +1374,7 @@ class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
1312
1374
  this._formControlObs = new BehaviorSubject(undefined);
1313
1375
  this.formControl$ = this._formControlObs.pipe(filterMaybe());
1314
1376
  this.value$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value))), shareReplay(1));
1377
+ this.disableCustomize$ = this.value$.pipe(map((x) => (this.allowCustomizeWithoutDateRange ? false : !x)), distinctUntilChanged(), shareReplay(1));
1315
1378
  }
1316
1379
  get formGroupName() {
1317
1380
  return this.field.key;
@@ -1328,6 +1391,12 @@ class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
1328
1391
  get isReadonlyOrDisabled() {
1329
1392
  return this.props.readonly || this.disabled;
1330
1393
  }
1394
+ get openPickerOnTextClick() {
1395
+ return this.props.allowTextInput !== true; // Opposite of allowTextInput
1396
+ }
1397
+ get allowCustomizeWithoutDateRange() {
1398
+ return this.props.allowCustomizeWithoutDateRange ?? false;
1399
+ }
1331
1400
  get showCustomize() {
1332
1401
  return !this.props.hideCustomize;
1333
1402
  }
@@ -1355,6 +1424,9 @@ class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
1355
1424
  get dialogContentConfig() {
1356
1425
  return this.props.dialogContentConfig;
1357
1426
  }
1427
+ get customDetailsConfig() {
1428
+ return this.props.customDetailsConfig;
1429
+ }
1358
1430
  get cellContentFactory() {
1359
1431
  return this.props.cellContentFactory;
1360
1432
  }
@@ -1403,18 +1475,20 @@ class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
1403
1475
  DbxFormCalendarDateScheduleRangeFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, deps: [{ token: i1$1.CompactContextStore, optional: true }, { token: DbxCalendarScheduleSelectionStore }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1404
1476
  DbxFormCalendarDateScheduleRangeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFormCalendarDateScheduleRangeFieldComponent, selector: "ng-component", providers: [provideCalendarScheduleSelectionStoreIfParentIsUnavailable()], usesInheritance: true, ngImport: i0, template: `
1405
1477
  <div class="dbx-schedule-selection-field">
1406
- <dbx-schedule-selection-calendar-date-range [showCustomize]="showCustomize" [required]="required" [disabled]="isReadonlyOrDisabled" [label]="label" [hint]="description">
1407
- <dbx-schedule-selection-calendar-date-dialog-button [contentConfig]="dialogContentConfig" [closeConfig]="closeDialogConfig" customizeButton></dbx-schedule-selection-calendar-date-dialog-button>
1478
+ <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="openPickerOnTextClick" [showCustomize]="showCustomize" [required]="required" [disabled]="isReadonlyOrDisabled" [label]="label" [hint]="description">
1479
+ <dbx-schedule-selection-calendar-date-dialog-button customizeButton [disabled]="disableCustomize$ | async" [contentConfig]="dialogContentConfig" [closeConfig]="closeDialogConfig"></dbx-schedule-selection-calendar-date-dialog-button>
1480
+ <dbx-injection [config]="customDetailsConfig"></dbx-injection>
1408
1481
  </dbx-schedule-selection-calendar-date-range>
1409
1482
  </div>
1410
- `, isInline: true, dependencies: [{ kind: "component", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["label", "hint", "disabled", "showCustomize", "required"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateDialogButtonComponent, selector: "dbx-schedule-selection-calendar-date-dialog-button", inputs: ["buttonText", "contentConfig", "closeConfig"] }] });
1483
+ `, isInline: true, dependencies: [{ kind: "component", type: i3$1.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["openPickerOnTextClick", "label", "hint", "disabled", "showCustomize", "required"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateDialogButtonComponent, selector: "dbx-schedule-selection-calendar-date-dialog-button", inputs: ["buttonText", "disabled", "contentConfig", "closeConfig"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
1411
1484
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, decorators: [{
1412
1485
  type: Component,
1413
1486
  args: [{
1414
1487
  template: `
1415
1488
  <div class="dbx-schedule-selection-field">
1416
- <dbx-schedule-selection-calendar-date-range [showCustomize]="showCustomize" [required]="required" [disabled]="isReadonlyOrDisabled" [label]="label" [hint]="description">
1417
- <dbx-schedule-selection-calendar-date-dialog-button [contentConfig]="dialogContentConfig" [closeConfig]="closeDialogConfig" customizeButton></dbx-schedule-selection-calendar-date-dialog-button>
1489
+ <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="openPickerOnTextClick" [showCustomize]="showCustomize" [required]="required" [disabled]="isReadonlyOrDisabled" [label]="label" [hint]="description">
1490
+ <dbx-schedule-selection-calendar-date-dialog-button customizeButton [disabled]="disableCustomize$ | async" [contentConfig]="dialogContentConfig" [closeConfig]="closeDialogConfig"></dbx-schedule-selection-calendar-date-dialog-button>
1491
+ <dbx-injection [config]="customDetailsConfig"></dbx-injection>
1418
1492
  </dbx-schedule-selection-calendar-date-range>
1419
1493
  </div>
1420
1494
  `,
@@ -1458,6 +1532,8 @@ DbxFormCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", v
1458
1532
  DbxScheduleSelectionCalendarSelectionToggleButtonComponent], imports: [
1459
1533
  //
1460
1534
  DbxInjectionComponentModule,
1535
+ DbxContentLayoutModule,
1536
+ DbxTextModule,
1461
1537
  DbxActionModule,
1462
1538
  DbxFormModule,
1463
1539
  DbxFormlyModule,
@@ -1494,6 +1570,8 @@ DbxFormCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", v
1494
1570
  DbxFormCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormCalendarModule, imports: [
1495
1571
  //
1496
1572
  DbxInjectionComponentModule,
1573
+ DbxContentLayoutModule,
1574
+ DbxTextModule,
1497
1575
  DbxActionModule,
1498
1576
  DbxFormModule,
1499
1577
  DbxFormlyModule,
@@ -1520,6 +1598,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1520
1598
  imports: [
1521
1599
  //
1522
1600
  DbxInjectionComponentModule,
1601
+ DbxContentLayoutModule,
1602
+ DbxTextModule,
1523
1603
  DbxActionModule,
1524
1604
  DbxFormModule,
1525
1605
  DbxFormlyModule,
@@ -1549,7 +1629,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1549
1629
  class DbxFormDateScheduleRangeFieldModule {
1550
1630
  }
1551
1631
  DbxFormDateScheduleRangeFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1552
- DbxFormDateScheduleRangeFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, declarations: [DbxFormCalendarDateScheduleRangeFieldComponent], imports: [CommonModule,
1632
+ DbxFormDateScheduleRangeFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, declarations: [DbxFormCalendarDateScheduleRangeFieldComponent], imports: [DbxInjectionComponentModule,
1633
+ CommonModule,
1553
1634
  MatIconModule,
1554
1635
  DbxFormCalendarModule,
1555
1636
  MatButtonModule,
@@ -1557,7 +1638,8 @@ DbxFormDateScheduleRangeFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersio
1557
1638
  FormsModule,
1558
1639
  ReactiveFormsModule,
1559
1640
  MatInputModule, i1$3.FormlyModule] });
1560
- DbxFormDateScheduleRangeFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, imports: [CommonModule,
1641
+ DbxFormDateScheduleRangeFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, imports: [DbxInjectionComponentModule,
1642
+ CommonModule,
1561
1643
  MatIconModule,
1562
1644
  DbxFormCalendarModule,
1563
1645
  MatButtonModule,
@@ -1572,6 +1654,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1572
1654
  type: NgModule,
1573
1655
  args: [{
1574
1656
  imports: [
1657
+ DbxInjectionComponentModule,
1575
1658
  CommonModule,
1576
1659
  MatIconModule,
1577
1660
  DbxFormCalendarModule,