@dereekb/dbx-form 13.7.0 → 13.9.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.
Files changed (42) hide show
  1. package/fesm2022/dereekb-dbx-form-calendar.mjs +425 -144
  2. package/fesm2022/dereekb-dbx-form-calendar.mjs.map +1 -1
  3. package/fesm2022/dereekb-dbx-form-expand.field.component-Bp5_uO1A.mjs +56 -0
  4. package/fesm2022/dereekb-dbx-form-expand.field.component-Bp5_uO1A.mjs.map +1 -0
  5. package/fesm2022/dereekb-dbx-form-flex.wrapper.component-CpOHCk87.mjs +39 -0
  6. package/fesm2022/dereekb-dbx-form-flex.wrapper.component-CpOHCk87.mjs.map +1 -0
  7. package/fesm2022/dereekb-dbx-form-info.field.component-B0cFprvc.mjs +50 -0
  8. package/fesm2022/dereekb-dbx-form-info.field.component-B0cFprvc.mjs.map +1 -0
  9. package/fesm2022/dereekb-dbx-form-info.wrapper.component-18n632L-.mjs +61 -0
  10. package/fesm2022/dereekb-dbx-form-info.wrapper.component-18n632L-.mjs.map +1 -0
  11. package/fesm2022/dereekb-dbx-form-mapbox.mjs +639 -32
  12. package/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -1
  13. package/fesm2022/dereekb-dbx-form-quiz.mjs +46 -55
  14. package/fesm2022/dereekb-dbx-form-quiz.mjs.map +1 -1
  15. package/fesm2022/dereekb-dbx-form-section.wrapper.component-vq21oG6v.mjs +52 -0
  16. package/fesm2022/dereekb-dbx-form-section.wrapper.component-vq21oG6v.mjs.map +1 -0
  17. package/fesm2022/dereekb-dbx-form-style.wrapper.component-BbKj-IHD.mjs +42 -0
  18. package/fesm2022/dereekb-dbx-form-style.wrapper.component-BbKj-IHD.mjs.map +1 -0
  19. package/fesm2022/dereekb-dbx-form.mjs +13688 -5235
  20. package/fesm2022/dereekb-dbx-form.mjs.map +1 -1
  21. package/lib/forge/_forge.scss +14 -0
  22. package/lib/forge/field/_field.scss +12 -0
  23. package/lib/forge/field/selection/_selection.scss +18 -0
  24. package/lib/forge/field/selection/list/_list.scss +17 -0
  25. package/lib/forge/field/selection/pickable/_pickable.scss +36 -0
  26. package/lib/forge/field/selection/searchable/_searchable.scss +34 -0
  27. package/lib/forge/field/selection/sourceselect/_sourceselect.scss +30 -0
  28. package/lib/forge/field/wrapper/_wrapper.scss +72 -0
  29. package/lib/{formly/form/_form.scss → forge/preset/_preset.scss} +3 -12
  30. package/lib/forge/style/_shared.scss +36 -0
  31. package/lib/form/_form.scss +109 -0
  32. package/lib/formly/field/selection/sourceselect/_sourceselect.scss +0 -7
  33. package/lib/formly/field/texteditor/_texteditor.scss +8 -0
  34. package/lib/formly/field/value/array/_array.scss +6 -0
  35. package/lib/formly/field/value/phone/_phone.scss +4 -1
  36. package/lib/style/_all-core.scss +2 -2
  37. package/lib/style/_all-theme.scss +2 -2
  38. package/lib/style/_all-typography.scss +1 -1
  39. package/package.json +16 -14
  40. package/types/dereekb-dbx-form-calendar.d.ts +306 -100
  41. package/types/dereekb-dbx-form-mapbox.d.ts +304 -8
  42. package/types/dereekb-dbx-form.d.ts +8837 -2720
@@ -1,14 +1,14 @@
1
1
  import * as i1 from '@dereekb/dbx-form';
2
- import { formlyField, propsAndConfigForFieldConfig, flexLayoutWrapper, toggleField, AbstractSyncFormlyFormDirective, DbxFormlyFormComponentImportsModule, DbxFormFormlyWrapperModule, DbxFormFormlyBooleanFieldModule, dbxFormlyFormComponentProviders, DBX_FORMLY_FORM_COMPONENT_TEMPLATE, DbxFormSourceDirective, DbxActionFormDirective } from '@dereekb/dbx-form';
2
+ import { formlyField, propsAndConfigForFieldConfig, dbxForgeToggleField, AbstractSyncForgeFormDirective, DbxForgeFormComponentImportsModule, dbxForgeFormComponentProviders, DBX_FORGE_FORM_COMPONENT_TEMPLATE, DbxFormSourceDirective, DbxActionFormDirective, formlyFlexLayoutWrapper, formlyToggleField, AbstractSyncFormlyFormDirective, DbxFormlyFormComponentImportsModule, DbxFormFormlyWrapperModule, DbxFormFormlyBooleanFieldModule, dbxFormlyFormComponentProviders, DBX_FORMLY_FORM_COMPONENT_TEMPLATE } from '@dereekb/dbx-form';
3
3
  import * as i1$3 from '@dereekb/dbx-web';
4
4
  import { DbxActionModule, DbxButtonSpacerDirective, DbxContentContainerDirective, DbxLabelBlockComponent, AbstractPopoverDirective, DbxPopoverInteractionModule, DbxPopoverService, DbxButtonComponent, AbstractDialogDirective, sanitizeDbxDialogContentConfig, DbxDialogModule, CompactContextStore } from '@dereekb/dbx-web';
5
5
  import * as i0 from '@angular/core';
6
6
  import { Injectable, inject, Directive, Optional, SkipSelf, Injector, ChangeDetectionStrategy, Component, viewChild, input, effect, computed, ElementRef, 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, filter, combineLatest, EMPTY, startWith, throttleTime } from 'rxjs';
8
+ import { switchMap, first, tap, map, distinctUntilChanged, shareReplay, of, combineLatestWith, BehaviorSubject, filter, combineLatest, EMPTY, startWith, throttleTime, skip } from 'rxjs';
9
9
  import { filterMaybe, distinctUntilHasDifferentValues, SubscriptionObject, asObservableFromGetter, asObservable } from '@dereekb/rxjs';
10
10
  import { DateCellScheduleDayCode, expandDateCellScheduleDayCodesToDayOfWeekSet, dateCellTimingStartsAtForStartOfDay, dateCellTimingRelativeIndexFactory, dateCellDayOfWeekFactory, dateTimezoneUtcNormal, findMaxDate, findMinDate, isSameDateRange, isSameDateDay, isSameDate, dateCellTimingDateFactory, expandDateCellScheduleRange, formatToISO8601DayStringForSystem, changeDateCellScheduleDateRangeToTimezone, isSameDateCellScheduleDateRange, dateCellTimingRelativeIndexArrayFactory, isInfiniteDateRange, copyDateCellScheduleDateFilterConfig, SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE, dateCellScheduleDateFilter, fullDateCellScheduleRange, dateCellTimingTimezoneNormalInstance, expandDateCellScheduleDayCodes, fullWeekDateCellScheduleDayCodes, dateCellScheduleDayCodesAreSetsEquivalent, simplifyDateCellScheduleDayCodes, dateCellTimingStartDateFactory, isDateInDateRangeFunction, isDateWithinDateCellRangeFunction, dateCellScheduleEncodedWeek, enabledDaysFromDateCellScheduleDayCodes, dateCellScheduleDayCodesFromEnabledDays, formatToMonthDayString, dateRange, DateRangeType } from '@dereekb/date';
11
- import { isInAllowedDaysOfWeekSet, mapValuesToSet, unique, mergeArrays, iterableToArray, isIterable, firstValueFromIterable, minAndMaxNumber, range, toggleInSet, removeFromSet, addToSet, isIndexNumberInIndexRangeFunction, getDaysOfWeekNames, reduceBooleansWithAnd, mergeObjects, KeyValueTypleValueFilter } from '@dereekb/util';
11
+ import { isInAllowedDaysOfWeekSet, mapValuesToSet, unique, mergeArrays, iterableToArray, isIterable, firstValueFromIterable, minAndMaxNumber, range, toggleInSet, removeFromSet, addToSet, isIndexNumberInIndexRangeFunction, getDaysOfWeekNames, reduceBooleansWithAnd, mergeObjects, KeyValueTypleValueFilter, filterFromPOJO } from '@dereekb/util';
12
12
  import { ComponentStore } from '@ngrx/component-store';
13
13
  import { endOfDay, startOfDay, isBefore, endOfWeek } from 'date-fns';
14
14
  import * as i1$1 from '@dereekb/dbx-core';
@@ -28,10 +28,13 @@ import * as i1$4 from '@angular/material/icon';
28
28
  import { MatIconModule } from '@angular/material/icon';
29
29
  import * as i1$5 from '@ngx-formly/core';
30
30
  import { FormlyModule } from '@ngx-formly/core';
31
+ import { DEFAULT_PROPS, DEFAULT_VALIDATION_MESSAGES } from '@ng-forge/dynamic-forms';
32
+ import { setupMetaTracking, resolveValueFieldContext, buildValueFieldInputs } from '@ng-forge/dynamic-forms/integration';
31
33
 
32
34
  /**
33
35
  * Creates a Formly field configuration for a date schedule range picker with calendar-based selection.
34
36
  *
37
+ * @deprecated Use dbxForgeDateScheduleRangeField() from the forge API instead.
35
38
  * @param config - Optional schedule range field configuration overrides
36
39
  * @returns A validated Formly field configuration for date schedule range selection
37
40
  */
@@ -207,12 +210,7 @@ class DbxCalendarScheduleSelectionStore extends ComponentStore {
207
210
  inputStart$ = this.state$.pipe(map((x) => x.inputStart), distinctUntilChanged(isSameDate), shareReplay(1));
208
211
  inputEnd$ = this.state$.pipe(map((x) => x.inputEnd), distinctUntilChanged(isSameDate), shareReplay(1));
209
212
  currentInputRange$ = this.state$.pipe(map(({ inputStart, inputEnd }) => ({ start: inputStart, end: inputEnd })), distinctUntilChanged((a, b) => isSameDateRange(a, b)), map((x) => ({ inputStart: x.start, inputEnd: x.end })), map((x) => {
210
- if (x.inputStart && x.inputEnd) {
211
- return x;
212
- }
213
- else {
214
- return undefined;
215
- }
213
+ return x.inputStart && x.inputEnd ? x : undefined;
216
214
  }), shareReplay(1));
217
215
  inputRange$ = this.currentInputRange$.pipe(filterMaybe(), shareReplay(1));
218
216
  isEnabledFilterDayFunction$ = this.state$.pipe(map((x) => x.isEnabledFilterDay), distinctUntilChanged(), shareReplay(1));
@@ -311,10 +309,10 @@ class DbxCalendarScheduleSelectionStore extends ComponentStore {
311
309
  * Should typically not be used by the user directly with the intention of the parent synchronizing to this state.
312
310
  */
313
311
  setViewReadonlyState = this.updater((state, isViewReadonly) => ({ ...state, isViewReadonly }));
314
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxCalendarScheduleSelectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
315
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxCalendarScheduleSelectionStore });
312
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxCalendarScheduleSelectionStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
313
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxCalendarScheduleSelectionStore });
316
314
  }
317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxCalendarScheduleSelectionStore, decorators: [{
315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxCalendarScheduleSelectionStore, decorators: [{
318
316
  type: Injectable
319
317
  }], ctorParameters: () => [] });
320
318
  /**
@@ -538,9 +536,7 @@ function updateStateWithTimezoneValue(state, timezone) {
538
536
  };
539
537
  return updateStateWithDateCellScheduleRangeValue({ ...state, outputTimezone: timezone, outputTimezoneNormal: timezoneNormal }, newRange);
540
538
  }
541
- else {
542
- return { ...state, outputTimezone: timezone, outputTimezoneNormal: timezoneNormal }; // no change in value
543
- }
539
+ return { ...state, outputTimezone: timezone, outputTimezoneNormal: timezoneNormal }; // no change in value
544
540
  }
545
541
  /**
546
542
  * Updates the state from an external date cell schedule range value, converting timezone-aware inputs
@@ -580,15 +576,15 @@ function updateStateWithDateCellScheduleRangeValue(state, inputChange) {
580
576
  if (isSameValue) {
581
577
  return state;
582
578
  }
583
- else {
584
- if (change != null) {
585
- const nextState = { ...state, inputStart: change.start, inputEnd: change.end, toggledIndexes: new Set(change.ex) };
586
- return updateStateWithChangedScheduleDays(finalizeNewCalendarScheduleSelectionState(nextState), expandDateCellScheduleDayCodes(change.w || '89'));
587
- }
588
- else {
589
- return noSelectionCalendarScheduleSelectionState(state); // clear selection, retain disabled days
590
- }
579
+ if (change != null) {
580
+ // The incoming ex indexes are relative to change.start, but toggledIndexes must be
581
+ // relative to state.start. Adjust by the offset between them.
582
+ const inputStartIndex = state.indexFactory(change.start);
583
+ const adjustedEx = inputStartIndex !== 0 && change.ex ? change.ex.map((i) => i + inputStartIndex) : (change.ex ?? []);
584
+ const nextState = { ...state, inputStart: change.start, inputEnd: change.end, toggledIndexes: new Set(adjustedEx) };
585
+ return updateStateWithChangedScheduleDays(finalizeNewCalendarScheduleSelectionState(nextState), expandDateCellScheduleDayCodes(change.w || '89'));
591
586
  }
587
+ return noSelectionCalendarScheduleSelectionState(state); // clear selection, retain disabled days
592
588
  }
593
589
  /**
594
590
  * Updates the default schedule day codes (used when no explicit schedule days are set) and recalculates allowed days.
@@ -603,9 +599,7 @@ function updateStateWithChangedDefaultScheduleDays(state, change) {
603
599
  if (dateCellScheduleDayCodesAreSetsEquivalent(defaultScheduleDays, currentDefaultScheduleDays)) {
604
600
  return state; // no change
605
601
  }
606
- else {
607
- return finalizeUpdateStateWithChangedScheduleDays(state, { ...state, defaultScheduleDays });
608
- }
602
+ return finalizeUpdateStateWithChangedScheduleDays(state, { ...state, defaultScheduleDays });
609
603
  }
610
604
  /**
611
605
  * Updates the explicit schedule day codes override and recalculates allowed days of the week.
@@ -632,9 +626,7 @@ function updateStateWithChangedScheduleDays(state, change) {
632
626
  if (newScheduleDays === undefined) {
633
627
  return state;
634
628
  }
635
- else {
636
- return finalizeUpdateStateWithChangedScheduleDays(state, { ...state, scheduleDays: newScheduleDays ?? undefined });
637
- }
629
+ return finalizeUpdateStateWithChangedScheduleDays(state, { ...state, scheduleDays: newScheduleDays ?? undefined });
638
630
  }
639
631
  /**
640
632
  * Switches between single and multiple selection mode, trimming the selection to a single value when switching to single mode.
@@ -650,14 +642,10 @@ function updateStateWithSelectionMode(state, selectionMode) {
650
642
  if (selectionMode === 'multiple') {
651
643
  return nextState;
652
644
  }
653
- else {
654
- const currentSelectionRange = computeCalendarScheduleSelectionDateCellRange(nextState);
655
- return currentSelectionRange ? updateStateWithChangedDates(nextState, { set: [currentSelectionRange.i], invertSetBehavior: true }) : nextState;
656
- }
657
- }
658
- else {
659
- return state;
645
+ const currentSelectionRange = computeCalendarScheduleSelectionDateCellRange(nextState);
646
+ return currentSelectionRange ? updateStateWithChangedDates(nextState, { set: [currentSelectionRange.i], invertSetBehavior: true }) : nextState;
660
647
  }
648
+ return state;
661
649
  }
662
650
  /**
663
651
  * Finalizes a schedule days change by recalculating allowed days of the week and updating toggled indexes accordingly.
@@ -672,16 +660,14 @@ function finalizeUpdateStateWithChangedScheduleDays(previousState, nextState) {
672
660
  if (dateCellScheduleDayCodesAreSetsEquivalent(nextScheduleDays, previousScheduleDays)) {
673
661
  return nextState; // the default or input schedule changed but the schedule is still the same, so no need for an update.
674
662
  }
675
- else {
676
- const effectiveScheduleDays = new Set(simplifyDateCellScheduleDayCodes(nextScheduleDays));
677
- const allowedDaysOfWeek = expandDateCellScheduleDayCodesToDayOfWeekSet(nextScheduleDays);
678
- return finalizeNewCalendarScheduleSelectionState({
679
- ...nextState,
680
- // update the effective schedule days and allowed days of week
681
- effectiveScheduleDays,
682
- allowedDaysOfWeek
683
- });
684
- }
663
+ const effectiveScheduleDays = new Set(simplifyDateCellScheduleDayCodes(nextScheduleDays));
664
+ const allowedDaysOfWeek = expandDateCellScheduleDayCodesToDayOfWeekSet(nextScheduleDays);
665
+ return finalizeNewCalendarScheduleSelectionState({
666
+ ...nextState,
667
+ // update the effective schedule days and allowed days of week
668
+ effectiveScheduleDays,
669
+ allowedDaysOfWeek
670
+ });
685
671
  }
686
672
  /**
687
673
  * Applies date changes (toggle, add, remove, set, selectAll, or reset) to the calendar selection state,
@@ -832,10 +818,8 @@ function updateStateWithChangedDates(state, change) {
832
818
  if (rangeAndExclusion) {
833
819
  return finalizeNewCalendarScheduleSelectionState({ ...nextState, toggledIndexes: new Set(rangeAndExclusion.excluded), inputStart: rangeAndExclusion.start, inputEnd: rangeAndExclusion.end });
834
820
  }
835
- else {
836
- // no selected days
837
- return noSelectionCalendarScheduleSelectionState(nextState);
838
- }
821
+ // no selected days
822
+ return noSelectionCalendarScheduleSelectionState(nextState);
839
823
  }
840
824
  /**
841
825
  * Clears all date selections from the state, retaining other configuration like schedule days and filter.
@@ -928,7 +912,7 @@ function computeScheduleSelectionValue(state) {
928
912
  let end = rangeEnd;
929
913
  // If computeSelectionResultRelativeToFilter is true, then we need to offset the values to be relative to that start.
930
914
  if (computeSelectionResultRelativeToFilter && filter?.start) {
931
- start = filter.start; // always start at the filter's start date
915
+ start = filter.start; // start at the filter's start date
932
916
  let startInSystemTimezone = start;
933
917
  if (filter.timezone) {
934
918
  timezone = filter.timezone;
@@ -939,8 +923,26 @@ function computeScheduleSelectionValue(state) {
939
923
  const rangeStartIndex = systemIndexFactory(rangeStart);
940
924
  const startIndex = systemIndexFactory(startInSystemTimezone);
941
925
  const filterStartIndexOffset = rangeStartIndex - startIndex;
942
- filterOffsetExcludedRange = range(0, filterStartIndexOffset);
943
- indexOffset = indexOffset - filterStartIndexOffset;
926
+ // When minMaxDateRange constrains the start to after filter.start,
927
+ // use rangeStart as the output start instead of filter.start.
928
+ // This prevents outputting a start date that violates the minMaxDateRange
929
+ // and avoids the round-trip corruption when the value is synced back to the store.
930
+ if (filterStartIndexOffset > 0 && state.minMaxDateRange?.start) {
931
+ // rangeStart already respects minMaxDateRange. Convert it to the filter's timezone for the output.
932
+ if (filter.timezone) {
933
+ const filterNormal = dateTimezoneUtcNormal(filter.timezone);
934
+ start = filterNormal.startOfDayInTargetTimezone(rangeStart);
935
+ }
936
+ else {
937
+ start = rangeStart;
938
+ }
939
+ // No filter offset exclusions needed since start is at the selection start.
940
+ // indexOffset stays as dateCellRange.i (relative to state.start → rangeStart).
941
+ }
942
+ else {
943
+ filterOffsetExcludedRange = range(0, filterStartIndexOffset);
944
+ indexOffset = indexOffset - filterStartIndexOffset;
945
+ }
944
946
  }
945
947
  const excluded = computeSelectionResultRelativeToFilter
946
948
  ? allExcluded.filter((x) => {
@@ -1051,12 +1053,7 @@ function computeCalendarScheduleSelectionDateCellRange(state) {
1051
1053
  }
1052
1054
  }
1053
1055
  }
1054
- if (startRange != null && endRange != null) {
1055
- return { i: startRange, to: endRange };
1056
- }
1057
- else {
1058
- return undefined;
1059
- }
1056
+ return startRange != null && endRange != null ? { i: startRange, to: endRange } : undefined;
1060
1057
  }
1061
1058
 
1062
1059
  /**
@@ -1064,17 +1061,17 @@ function computeCalendarScheduleSelectionDateCellRange(state) {
1064
1061
  */
1065
1062
  class DbxCalendarScheduleSelectionStoreProviderBlock {
1066
1063
  dbxCalendarScheduleSelectionStore = inject(DbxCalendarScheduleSelectionStore, { skipSelf: true });
1067
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxCalendarScheduleSelectionStoreProviderBlock, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1068
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxCalendarScheduleSelectionStoreProviderBlock });
1064
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxCalendarScheduleSelectionStoreProviderBlock, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1065
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxCalendarScheduleSelectionStoreProviderBlock });
1069
1066
  }
1070
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxCalendarScheduleSelectionStoreProviderBlock, decorators: [{
1067
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxCalendarScheduleSelectionStoreProviderBlock, decorators: [{
1071
1068
  type: Injectable
1072
1069
  }] });
1073
1070
  class DbxCalendarScheduleSelectionStoreInjectionBlockDirective {
1074
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxCalendarScheduleSelectionStoreInjectionBlockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1075
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.3", type: DbxCalendarScheduleSelectionStoreInjectionBlockDirective, isStandalone: true, selector: "[dbxCalendarScheduleSelectionStoreParentBlocker]", providers: [DbxCalendarScheduleSelectionStoreProviderBlock], ngImport: i0 });
1071
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxCalendarScheduleSelectionStoreInjectionBlockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1072
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.4", type: DbxCalendarScheduleSelectionStoreInjectionBlockDirective, isStandalone: true, selector: "[dbxCalendarScheduleSelectionStoreParentBlocker]", providers: [DbxCalendarScheduleSelectionStoreProviderBlock], ngImport: i0 });
1076
1073
  }
1077
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxCalendarScheduleSelectionStoreInjectionBlockDirective, decorators: [{
1074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxCalendarScheduleSelectionStoreInjectionBlockDirective, decorators: [{
1078
1075
  type: Directive,
1079
1076
  args: [{
1080
1077
  selector: '[dbxCalendarScheduleSelectionStoreParentBlocker]',
@@ -1109,41 +1106,43 @@ function provideCalendarScheduleSelectionStoreIfParentIsUnavailable() {
1109
1106
  }
1110
1107
 
1111
1108
  /**
1112
- * Creates form fields for selecting which days of the week are enabled in a schedule selection calendar,
1113
- * wrapped in a responsive flex layout.
1109
+ * Creates forge form fields for selecting which days of the week are enabled in a schedule selection calendar
1110
+ * as a vertical list of toggle fields with styled boxes.
1114
1111
  *
1115
- * @returns An array of Formly field configs with toggle fields for each day of the week
1112
+ * This is the forge equivalent of {@link dbxScheduleSelectionCalendarDateDaysFormFields}.
1113
+ *
1114
+ * @returns A FormConfig with toggle fields for each day of the week
1116
1115
  */
1117
- function dbxScheduleSelectionCalendarDateDaysFormFields() {
1118
- const fields = dbxScheduleSelectionCalendarDateDaysFormDayFields();
1119
- return [flexLayoutWrapper(fields, { relative: true, size: 3 })];
1116
+ function dbxScheduleSelectionCalendarDateDaysForgeFormFields() {
1117
+ return { fields: dbxScheduleSelectionCalendarDateDaysForgeFormDayFields() };
1120
1118
  }
1121
1119
  /**
1122
- * Creates an array of toggle field configs, one for each day of the week, keyed by lowercase day name.
1120
+ * Creates an array of forge toggle field definitions, one for each day of the week, keyed by lowercase day name.
1123
1121
  *
1124
- * @returns An array of toggle Formly field configs for each day of the week
1122
+ * @returns An array of forge toggle field definitions for each day of the week
1125
1123
  */
1126
- function dbxScheduleSelectionCalendarDateDaysFormDayFields() {
1124
+ function dbxScheduleSelectionCalendarDateDaysForgeFormDayFields() {
1127
1125
  return getDaysOfWeekNames(false).map((dayOfWeekName) => {
1128
- return toggleField({
1126
+ return dbxForgeToggleField({
1129
1127
  key: dayOfWeekName.toLowerCase(),
1130
- label: dayOfWeekName
1128
+ label: dayOfWeekName,
1129
+ styledBox: false
1131
1130
  });
1132
1131
  });
1133
1132
  }
1134
1133
 
1135
- class DbxScheduleSelectionCalendarDateDaysFormComponent extends AbstractSyncFormlyFormDirective {
1136
- fields = dbxScheduleSelectionCalendarDateDaysFormFields();
1137
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1138
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxScheduleSelectionCalendarDateDaysFormComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-days-form", providers: dbxFormlyFormComponentProviders(), usesInheritance: true, ngImport: i0, template: "<dbx-formly></dbx-formly>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxFormlyFormComponentImportsModule }, { kind: "component", type: i1.DbxFormlyComponent, selector: "dbx-formly", exportAs: ["formly"] }, { kind: "ngmodule", type: DbxFormFormlyWrapperModule }, { kind: "ngmodule", type: DbxFormFormlyBooleanFieldModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1134
+ class DbxScheduleSelectionCalendarDateDaysForgeFormComponent extends AbstractSyncForgeFormDirective {
1135
+ formConfig = dbxScheduleSelectionCalendarDateDaysForgeFormFields();
1136
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysForgeFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1137
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: DbxScheduleSelectionCalendarDateDaysForgeFormComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-days-forge-form", providers: dbxForgeFormComponentProviders(), usesInheritance: true, ngImport: i0, template: "<dbx-forge></dbx-forge>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxForgeFormComponentImportsModule }, { kind: "component", type: i1.DbxForgeFormComponent, selector: "dbx-forge" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1139
1138
  }
1140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysFormComponent, decorators: [{
1139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysForgeFormComponent, decorators: [{
1141
1140
  type: Component,
1142
1141
  args: [{
1143
- selector: 'dbx-schedule-selection-calendar-date-days-form',
1144
- template: DBX_FORMLY_FORM_COMPONENT_TEMPLATE,
1145
- providers: dbxFormlyFormComponentProviders(),
1146
- imports: [DbxFormlyFormComponentImportsModule, DbxFormFormlyWrapperModule, DbxFormFormlyBooleanFieldModule],
1142
+ selector: 'dbx-schedule-selection-calendar-date-days-forge-form',
1143
+ template: DBX_FORGE_FORM_COMPONENT_TEMPLATE,
1144
+ providers: dbxForgeFormComponentProviders(),
1145
+ imports: [DbxForgeFormComponentImportsModule],
1147
1146
  changeDetection: ChangeDetectionStrategy.OnPush,
1148
1147
  standalone: true
1149
1148
  }]
@@ -1163,23 +1162,23 @@ class DbxScheduleSelectionCalendarDateDaysComponent {
1163
1162
  this.dbxCalendarScheduleSelectionStore.setScheduleDays(new Set(dateCellScheduleDayCodesFromEnabledDays(value)));
1164
1163
  return of(true);
1165
1164
  };
1166
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1167
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxScheduleSelectionCalendarDateDaysComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-days", ngImport: i0, template: `
1165
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1166
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: DbxScheduleSelectionCalendarDateDaysComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-days", ngImport: i0, template: `
1168
1167
  <div class="dbx-schedule-selection-calendar-date-days" dbxAction dbxActionAutoTrigger dbxActionEnforceModified [useInstantTriggerPreset]="true" [dbxActionHandler]="updateScheduleDays">
1169
- <dbx-schedule-selection-calendar-date-days-form dbxActionForm [dbxFormSource]="template$" [dbxActionFormIsModified]="isFormModified"></dbx-schedule-selection-calendar-date-days-form>
1168
+ <dbx-schedule-selection-calendar-date-days-forge-form dbxActionForm [dbxFormSource]="template$" [dbxActionFormIsModified]="isFormModified"></dbx-schedule-selection-calendar-date-days-forge-form>
1170
1169
  </div>
1171
- `, isInline: true, dependencies: [{ kind: "component", type: DbxScheduleSelectionCalendarDateDaysFormComponent, selector: "dbx-schedule-selection-calendar-date-days-form" }, { kind: "directive", type: DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i1$1.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1$1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1$1.DbxActionEnforceModifiedDirective, selector: "[dbxActionEnforceModified]", inputs: ["dbxActionEnforceModified"] }, { kind: "directive", type: i1$1.DbxActionAutoTriggerDirective, selector: "dbxActionAutoTrigger,[dbxActionAutoTrigger]", inputs: ["triggerDebounce", "triggerThrottle", "triggerErrorThrottle", "maxErrorsForThrottle", "triggerLimit", "dbxActionAutoTrigger", "useFastTriggerPreset", "useInstantTriggerPreset"] }, { kind: "directive", type: DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormDisabledOnWorking", "dbxActionFormIsValid", "dbxActionFormIsEqual", "dbxActionFormIsModified", "dbxActionFormMapValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1170
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxScheduleSelectionCalendarDateDaysForgeFormComponent, selector: "dbx-schedule-selection-calendar-date-days-forge-form" }, { kind: "directive", type: DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: ["dbxFormSourceMode", "dbxFormSource"] }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i1$1.DbxActionDirective, selector: "dbx-action,[dbxAction]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i1$1.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i1$1.DbxActionEnforceModifiedDirective, selector: "[dbxActionEnforceModified]", inputs: ["dbxActionEnforceModified"] }, { kind: "directive", type: i1$1.DbxActionAutoTriggerDirective, selector: "dbxActionAutoTrigger,[dbxActionAutoTrigger]", inputs: ["triggerDebounce", "triggerThrottle", "triggerErrorThrottle", "maxErrorsForThrottle", "triggerLimit", "dbxActionAutoTrigger", "useFastTriggerPreset", "useInstantTriggerPreset"] }, { kind: "directive", type: DbxActionFormDirective, selector: "[dbxActionForm]", inputs: ["dbxActionFormDisabledOnWorking", "dbxActionFormIsValid", "dbxActionFormIsEqual", "dbxActionFormIsModified", "dbxActionFormMapValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1172
1171
  }
1173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysComponent, decorators: [{
1172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysComponent, decorators: [{
1174
1173
  type: Component,
1175
1174
  args: [{
1176
1175
  selector: 'dbx-schedule-selection-calendar-date-days',
1177
1176
  template: `
1178
1177
  <div class="dbx-schedule-selection-calendar-date-days" dbxAction dbxActionAutoTrigger dbxActionEnforceModified [useInstantTriggerPreset]="true" [dbxActionHandler]="updateScheduleDays">
1179
- <dbx-schedule-selection-calendar-date-days-form dbxActionForm [dbxFormSource]="template$" [dbxActionFormIsModified]="isFormModified"></dbx-schedule-selection-calendar-date-days-form>
1178
+ <dbx-schedule-selection-calendar-date-days-forge-form dbxActionForm [dbxFormSource]="template$" [dbxActionFormIsModified]="isFormModified"></dbx-schedule-selection-calendar-date-days-forge-form>
1180
1179
  </div>
1181
1180
  `,
1182
- imports: [DbxScheduleSelectionCalendarDateDaysFormComponent, DbxFormSourceDirective, DbxActionModule, DbxActionFormDirective],
1181
+ imports: [DbxScheduleSelectionCalendarDateDaysForgeFormComponent, DbxFormSourceDirective, DbxActionModule, DbxActionFormDirective],
1183
1182
  changeDetection: ChangeDetectionStrategy.OnPush,
1184
1183
  standalone: true
1185
1184
  }]
@@ -1215,12 +1214,7 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
1215
1214
  });
1216
1215
  errorStateMatcher = {
1217
1216
  isErrorState: (control, _form) => {
1218
- if (control) {
1219
- return (control.invalid && (control.dirty || control.touched)) || (control.touched && this.range.invalid);
1220
- }
1221
- else {
1222
- return false;
1223
- }
1217
+ return control ? (control.invalid && (control.dirty || control.touched)) || (control.touched && this.range.invalid) : false;
1224
1218
  }
1225
1219
  };
1226
1220
  minDate$ = this.dbxCalendarScheduleSelectionStore.minDate$;
@@ -1325,17 +1319,17 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
1325
1319
  pickerClosed() {
1326
1320
  this._pickerOpened.next(false);
1327
1321
  }
1328
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1329
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxScheduleSelectionCalendarDateRangeComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-range", inputs: { required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, openPickerOnTextClick: { classPropertyName: "openPickerOnTextClick", publicName: "openPickerOnTextClick", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showCustomize: { classPropertyName: "showCustomize", publicName: "showCustomize", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true, isSignal: true }], ngImport: i0, template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n @if (label()) {\n <mat-label>{{ label() }}</mat-label>\n }\n <div class=\"dbx-schedule-selection-calendar-date-range-field-content\">\n <!-- Primary Content -->\n <div class=\"dbx-flex\">\n @if (showCustomLabelSignal()) {\n <div class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n }\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle class=\"mat-datepicker-button-highlight\" matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input (click)=\"clickedDateRangeInput()\" [required]=\"required()\" [dateFilter]=\"datePickerFilterSignal()\" [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 @if (timezoneSignal()) {\n <span class=\"dbx-schedule-selection-timezone dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezoneSignal() | timezoneAbbreviation: timezoneReleventDateSignal() }}</span>\n }\n @if (showCustomize()) {\n <div>\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n }\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 @if (currentErrorMessageSignal()) {\n <mat-error>{{ currentErrorMessageSignal() }}</mat-error>\n }\n <mat-hint>{{ hint() }}</mat-hint>\n</mat-form-field>\n", dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i3.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i3.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i3.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i3.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "pipe", type: TimezoneAbbreviationPipe, name: "timezoneAbbreviation" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1322
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1323
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: DbxScheduleSelectionCalendarDateRangeComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-range", inputs: { required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, openPickerOnTextClick: { classPropertyName: "openPickerOnTextClick", publicName: "openPickerOnTextClick", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showCustomize: { classPropertyName: "showCustomize", publicName: "showCustomize", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true, isSignal: true }], ngImport: i0, template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n @if (label()) {\n <mat-label>{{ label() }}</mat-label>\n }\n <div class=\"dbx-schedule-selection-calendar-date-range-field-content\">\n <!-- Primary Content -->\n <div class=\"dbx-flex\">\n @if (showCustomLabelSignal()) {\n <div class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n }\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle class=\"mat-datepicker-button-highlight\" matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input (click)=\"clickedDateRangeInput()\" [required]=\"required()\" [dateFilter]=\"datePickerFilterSignal()\" [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 @if (timezoneSignal()) {\n <span class=\"dbx-schedule-selection-timezone dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezoneSignal() | timezoneAbbreviation: timezoneReleventDateSignal() }}</span>\n }\n @if (showCustomize()) {\n <div>\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n }\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 @if (currentErrorMessageSignal()) {\n <mat-error>{{ currentErrorMessageSignal() }}</mat-error>\n }\n <mat-hint>{{ hint() }}</mat-hint>\n</mat-form-field>\n", dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i3.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i3.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i3.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i3.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "pipe", type: TimezoneAbbreviationPipe, name: "timezoneAbbreviation" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1330
1324
  }
1331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, decorators: [{
1325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, decorators: [{
1332
1326
  type: Component,
1333
1327
  args: [{ selector: 'dbx-schedule-selection-calendar-date-range', imports: [MatFormFieldModule, FormsModule, ReactiveFormsModule, DbxButtonSpacerDirective, MatDatepickerModule, TimezoneAbbreviationPipe], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n @if (label()) {\n <mat-label>{{ label() }}</mat-label>\n }\n <div class=\"dbx-schedule-selection-calendar-date-range-field-content\">\n <!-- Primary Content -->\n <div class=\"dbx-flex\">\n @if (showCustomLabelSignal()) {\n <div class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n }\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle class=\"mat-datepicker-button-highlight\" matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input (click)=\"clickedDateRangeInput()\" [required]=\"required()\" [dateFilter]=\"datePickerFilterSignal()\" [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 @if (timezoneSignal()) {\n <span class=\"dbx-schedule-selection-timezone dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezoneSignal() | timezoneAbbreviation: timezoneReleventDateSignal() }}</span>\n }\n @if (showCustomize()) {\n <div>\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n }\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 @if (currentErrorMessageSignal()) {\n <mat-error>{{ currentErrorMessageSignal() }}</mat-error>\n }\n <mat-hint>{{ hint() }}</mat-hint>\n</mat-form-field>\n" }]
1334
1328
  }], propDecorators: { picker: [{ type: i0.ViewChild, args: ['picker', { isSignal: true }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], openPickerOnTextClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "openPickerOnTextClick", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], showCustomize: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCustomize", required: false }] }] } });
1335
1329
 
1336
1330
  class DbxScheduleSelectionCalendarDatePopoverContentComponent {
1337
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1338
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxScheduleSelectionCalendarDatePopoverContentComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-popover-content", ngImport: i0, template: `
1331
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1332
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: DbxScheduleSelectionCalendarDatePopoverContentComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-popover-content", ngImport: i0, template: `
1339
1333
  <dbx-content-container padding="min" topPadding="normal">
1340
1334
  <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="false"></dbx-schedule-selection-calendar-date-range>
1341
1335
  <dbx-label-block header="Allowed Days Of Week">
@@ -1344,7 +1338,7 @@ class DbxScheduleSelectionCalendarDatePopoverContentComponent {
1344
1338
  </dbx-content-container>
1345
1339
  `, isInline: true, dependencies: [{ kind: "directive", type: DbxContentContainerDirective, selector: "dbx-content-container,[dbxContentContainer],.dbx-content-container", inputs: ["grow", "padding", "topPadding"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["required", "openPickerOnTextClick", "label", "hint", "disabled", "showCustomize"] }, { kind: "component", type: DbxLabelBlockComponent, selector: "dbx-label-block", inputs: ["header"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateDaysComponent, selector: "dbx-schedule-selection-calendar-date-days" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1346
1340
  }
1347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverContentComponent, decorators: [{
1341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverContentComponent, decorators: [{
1348
1342
  type: Component,
1349
1343
  args: [{
1350
1344
  selector: 'dbx-schedule-selection-calendar-date-popover-content',
@@ -1372,8 +1366,8 @@ class DbxScheduleSelectionCalendarDatePopoverComponent extends AbstractPopoverDi
1372
1366
  injector
1373
1367
  });
1374
1368
  }
1375
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1376
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxScheduleSelectionCalendarDatePopoverComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-popover", usesInheritance: true, ngImport: i0, template: `
1369
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1370
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: DbxScheduleSelectionCalendarDatePopoverComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-popover", usesInheritance: true, ngImport: i0, template: `
1377
1371
  <dbx-popover-content>
1378
1372
  <dbx-popover-scroll-content>
1379
1373
  <dbx-schedule-selection-calendar-date-popover-content></dbx-schedule-selection-calendar-date-popover-content>
@@ -1381,7 +1375,7 @@ class DbxScheduleSelectionCalendarDatePopoverComponent extends AbstractPopoverDi
1381
1375
  </dbx-popover-content>
1382
1376
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: DbxPopoverInteractionModule }, { kind: "component", type: i1$3.DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "directive", type: i1$3.DbxPopoverScrollContentDirective, selector: "dbx-popover-scroll-content,[dbxPopoverScrollContent],.dbx-popover-scroll-content" }, { kind: "component", type: DbxScheduleSelectionCalendarDatePopoverContentComponent, selector: "dbx-schedule-selection-calendar-date-popover-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1383
1377
  }
1384
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverComponent, decorators: [{
1378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverComponent, decorators: [{
1385
1379
  type: Component,
1386
1380
  args: [{
1387
1381
  selector: 'dbx-schedule-selection-calendar-date-popover',
@@ -1410,9 +1404,7 @@ class DbxScheduleSelectionCalendarDatePopoverButtonComponent {
1410
1404
  const endString = formatToMonthDayString(x.end);
1411
1405
  return startString === endString ? startString : `${formatToMonthDayString(x.start)} - ${formatToMonthDayString(x.end)}`;
1412
1406
  }
1413
- else {
1414
- return 'Pick a Date Range';
1415
- }
1407
+ return 'Pick a Date Range';
1416
1408
  }), shareReplay(1));
1417
1409
  disabledSignal = toSignal(this.disabled$, { initialValue: false });
1418
1410
  buttonTextSignal = toSignal(this.buttonText$, { initialValue: 'Pick a Date Range' });
@@ -1422,12 +1414,12 @@ class DbxScheduleSelectionCalendarDatePopoverButtonComponent {
1422
1414
  DbxScheduleSelectionCalendarDatePopoverComponent.openPopover(this.popoverService, { origin: buttonElement, injector: this.injector });
1423
1415
  }
1424
1416
  }
1425
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1426
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.3", type: DbxScheduleSelectionCalendarDatePopoverButtonComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-popover-button", viewQueries: [{ propertyName: "buttonPopoverOrigin", first: true, predicate: ["buttonPopoverOrigin"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
1417
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1418
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.4", type: DbxScheduleSelectionCalendarDatePopoverButtonComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-popover-button", viewQueries: [{ propertyName: "buttonPopoverOrigin", first: true, predicate: ["buttonPopoverOrigin"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
1427
1419
  <dbx-button #buttonPopoverOrigin icon="date_range" [disabled]="disabledSignal()" [raised]="true" color="accent" [text]="buttonTextSignal()" (buttonClick)="openPopover()"></dbx-button>
1428
1420
  `, isInline: true, dependencies: [{ kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1429
1421
  }
1430
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverButtonComponent, decorators: [{
1422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverButtonComponent, decorators: [{
1431
1423
  type: Component,
1432
1424
  args: [{
1433
1425
  selector: 'dbx-schedule-selection-calendar-date-popover-button',
@@ -1448,15 +1440,15 @@ class DbxScheduleSelectionCalendarCellComponent {
1448
1440
  contentSignal = toSignal(this.cellContent$, { initialValue: {} });
1449
1441
  iconSignal = computed(() => this.contentSignal().icon, ...(ngDevMode ? [{ debugName: "iconSignal" }] : /* istanbul ignore next */ []));
1450
1442
  textSignal = computed(() => this.contentSignal().text, ...(ngDevMode ? [{ debugName: "textSignal" }] : /* istanbul ignore next */ []));
1451
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1452
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxScheduleSelectionCalendarCellComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-cell", inputs: { day: { classPropertyName: "day", publicName: "day", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "dbx-schedule-selection-calendar-cell" }, ngImport: i0, template: `
1443
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1444
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: DbxScheduleSelectionCalendarCellComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-cell", inputs: { day: { classPropertyName: "day", publicName: "day", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "dbx-schedule-selection-calendar-cell" }, ngImport: i0, template: `
1453
1445
  @if (iconSignal()) {
1454
1446
  <mat-icon>{{ iconSignal() }}</mat-icon>
1455
1447
  }
1456
1448
  <span>{{ textSignal() }}</span>
1457
1449
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1458
1450
  }
1459
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarCellComponent, decorators: [{
1451
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarCellComponent, decorators: [{
1460
1452
  type: Component,
1461
1453
  args: [{
1462
1454
  selector: 'dbx-schedule-selection-calendar-cell',
@@ -1519,12 +1511,12 @@ class DbxScheduleSelectionCalendarSelectionToggleButtonComponent {
1519
1511
  toggleSelection() {
1520
1512
  this.dbxCalendarScheduleSelectionStore.toggleSelection();
1521
1513
  }
1522
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1523
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.3", type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-selection-toggle-button", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
1514
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1515
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-selection-toggle-button", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
1524
1516
  <dbx-button [disabled]="disableButtonSignal()" [buttonDisplay]="buttonDisplaySignal()" [raised]="true" (buttonClick)="toggleSelection()"></dbx-button>
1525
1517
  `, isInline: true, dependencies: [{ kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1526
1518
  }
1527
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, decorators: [{
1519
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, decorators: [{
1528
1520
  type: Component,
1529
1521
  args: [{
1530
1522
  selector: 'dbx-schedule-selection-calendar-selection-toggle-button',
@@ -1601,9 +1593,7 @@ class DbxScheduleSelectionCalendarComponent {
1601
1593
  if (x) {
1602
1594
  return of(true);
1603
1595
  }
1604
- else {
1605
- return this.readonly$.pipe(map((x) => !x));
1606
- }
1596
+ return this.readonly$.pipe(map((x) => !x));
1607
1597
  }), distinctUntilChanged(), shareReplay(1));
1608
1598
  showClearSelectionButton$ = this.config$.pipe(map((config) => config?.showClearSelectionButton ?? true), combineLatestWith(this.showButtons$), map((x) => reduceBooleansWithAnd(x)), distinctUntilChanged(), shareReplay(1));
1609
1599
  datePopoverButtonInjectionConfig$ = this.config$.pipe(map((x) => x?.buttonInjectionConfig), switchMapDbxInjectionComponentConfig(DbxScheduleSelectionCalendarDatePopoverButtonComponent), combineLatestWith(this.showButtons$), map(([config, showButton]) => (showButton ? config : undefined)), shareReplay(1));
@@ -1674,10 +1664,10 @@ class DbxScheduleSelectionCalendarComponent {
1674
1664
  beforeMonthViewRender(renderEvent) {
1675
1665
  this.beforeMonthViewRenderSignal()?.(renderEvent);
1676
1666
  }
1677
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1678
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxScheduleSelectionCalendarComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clickEvent: "clickEvent" }, providers: [DbxCalendarStore], ngImport: i0, template: "<dbx-calendar-base class=\"dbx-schedule-selection-calendar\" [ngClass]=\"readonlySignal() ? 'dbx-schedule-selection-calendar-readonly' : ''\">\n <ng-container controls>\n @if (showClearSelectionButtonSignal()) {\n <dbx-schedule-selection-calendar-selection-toggle-button [disabled]=\"readonlySignal()\"></dbx-schedule-selection-calendar-selection-toggle-button>\n <dbx-button-spacer></dbx-button-spacer>\n }\n <dbx-injection [config]=\"datePopoverButtonInjectionConfigSignal()\"></dbx-injection>\n </ng-container>\n <div class=\"dbx-calendar-content dbx-calendar-content-month\">\n <mwl-calendar-month-view [refresh]=\"refresh$\" [viewDate]=\"viewDateSignal()!\" [events]=\"eventsSignal()\" (dayClicked)=\"dayClicked($event.day)\" (eventClicked)=\"eventClicked('Clicked', $event.event)\" (beforeViewRender)=\"beforeMonthViewRender($event)\" [cellTemplate]=\"monthDayCellTemplate\"></mwl-calendar-month-view>\n </div>\n</dbx-calendar-base>\n\n<!-- Cell -->\n<ng-template #monthDayCellTemplate let-day=\"day\" let-locale=\"locale\">\n <div class=\"cal-cell-top\">\n @if (day.badgeTotal > 0) {\n <span class=\"cal-day-badge\">{{ day.badgeTotal }}</span>\n }\n <span class=\"cal-day-number\">{{ day.date | calendarDate: 'monthViewDayNumber' : locale }}</span>\n </div>\n <dbx-schedule-selection-calendar-cell [day]=\"day\"></dbx-schedule-selection-calendar-cell>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CalendarMonthViewComponent, selector: "mwl-calendar-month-view", inputs: ["viewDate", "events", "excludeDays", "activeDayIsOpen", "activeDay", "refresh", "locale", "tooltipPlacement", "tooltipTemplate", "tooltipAppendToBody", "tooltipDelay", "weekStartsOn", "headerTemplate", "cellTemplate", "openDayEventsTemplate", "eventTitleTemplate", "eventActionsTemplate", "weekendDays"], outputs: ["beforeViewRender", "dayClicked", "eventClicked", "columnHeaderClicked", "eventTimesChanged"] }, { kind: "component", type: DbxCalendarBaseComponent, selector: "dbx-calendar-base" }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: DbxScheduleSelectionCalendarCellComponent, selector: "dbx-schedule-selection-calendar-cell", inputs: ["day"] }, { kind: "component", type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, selector: "dbx-schedule-selection-calendar-selection-toggle-button", inputs: ["disabled"] }, { kind: "pipe", type: CalendarDatePipe, name: "calendarDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1667
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1668
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: DbxScheduleSelectionCalendarComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clickEvent: "clickEvent" }, providers: [DbxCalendarStore], ngImport: i0, template: "<dbx-calendar-base class=\"dbx-schedule-selection-calendar\" [ngClass]=\"readonlySignal() ? 'dbx-schedule-selection-calendar-readonly' : ''\">\n <ng-container controls>\n @if (showClearSelectionButtonSignal()) {\n <dbx-schedule-selection-calendar-selection-toggle-button [disabled]=\"readonlySignal()\"></dbx-schedule-selection-calendar-selection-toggle-button>\n <dbx-button-spacer></dbx-button-spacer>\n }\n <dbx-injection [config]=\"datePopoverButtonInjectionConfigSignal()\"></dbx-injection>\n </ng-container>\n <div class=\"dbx-calendar-content dbx-calendar-content-month\">\n <mwl-calendar-month-view [refresh]=\"refresh$\" [viewDate]=\"viewDateSignal()!\" [events]=\"eventsSignal()\" (dayClicked)=\"dayClicked($event.day)\" (eventClicked)=\"eventClicked('Clicked', $event.event)\" (beforeViewRender)=\"beforeMonthViewRender($event)\" [cellTemplate]=\"monthDayCellTemplate\"></mwl-calendar-month-view>\n </div>\n</dbx-calendar-base>\n\n<!-- Cell -->\n<ng-template #monthDayCellTemplate let-day=\"day\" let-locale=\"locale\">\n <div class=\"cal-cell-top\">\n @if (day.badgeTotal > 0) {\n <span class=\"cal-day-badge\">{{ day.badgeTotal }}</span>\n }\n <span class=\"cal-day-number\">{{ day.date | calendarDate: 'monthViewDayNumber' : locale }}</span>\n </div>\n <dbx-schedule-selection-calendar-cell [day]=\"day\"></dbx-schedule-selection-calendar-cell>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CalendarMonthViewComponent, selector: "mwl-calendar-month-view", inputs: ["viewDate", "events", "excludeDays", "activeDayIsOpen", "activeDay", "refresh", "locale", "tooltipPlacement", "tooltipTemplate", "tooltipAppendToBody", "tooltipDelay", "weekStartsOn", "headerTemplate", "cellTemplate", "openDayEventsTemplate", "eventTitleTemplate", "eventActionsTemplate", "weekendDays"], outputs: ["beforeViewRender", "dayClicked", "eventClicked", "columnHeaderClicked", "eventTimesChanged"] }, { kind: "component", type: DbxCalendarBaseComponent, selector: "dbx-calendar-base" }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: DbxScheduleSelectionCalendarCellComponent, selector: "dbx-schedule-selection-calendar-cell", inputs: ["day"] }, { kind: "component", type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, selector: "dbx-schedule-selection-calendar-selection-toggle-button", inputs: ["disabled"] }, { kind: "pipe", type: CalendarDatePipe, name: "calendarDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1679
1669
  }
1680
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarComponent, decorators: [{
1670
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarComponent, decorators: [{
1681
1671
  type: Component,
1682
1672
  args: [{ selector: 'dbx-schedule-selection-calendar', imports: [NgClass, CalendarMonthViewComponent, CalendarDatePipe, DbxCalendarBaseComponent, DbxInjectionComponent, DbxButtonSpacerDirective, DbxScheduleSelectionCalendarCellComponent, DbxScheduleSelectionCalendarSelectionToggleButtonComponent], providers: [DbxCalendarStore], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-calendar-base class=\"dbx-schedule-selection-calendar\" [ngClass]=\"readonlySignal() ? 'dbx-schedule-selection-calendar-readonly' : ''\">\n <ng-container controls>\n @if (showClearSelectionButtonSignal()) {\n <dbx-schedule-selection-calendar-selection-toggle-button [disabled]=\"readonlySignal()\"></dbx-schedule-selection-calendar-selection-toggle-button>\n <dbx-button-spacer></dbx-button-spacer>\n }\n <dbx-injection [config]=\"datePopoverButtonInjectionConfigSignal()\"></dbx-injection>\n </ng-container>\n <div class=\"dbx-calendar-content dbx-calendar-content-month\">\n <mwl-calendar-month-view [refresh]=\"refresh$\" [viewDate]=\"viewDateSignal()!\" [events]=\"eventsSignal()\" (dayClicked)=\"dayClicked($event.day)\" (eventClicked)=\"eventClicked('Clicked', $event.event)\" (beforeViewRender)=\"beforeMonthViewRender($event)\" [cellTemplate]=\"monthDayCellTemplate\"></mwl-calendar-month-view>\n </div>\n</dbx-calendar-base>\n\n<!-- Cell -->\n<ng-template #monthDayCellTemplate let-day=\"day\" let-locale=\"locale\">\n <div class=\"cal-cell-top\">\n @if (day.badgeTotal > 0) {\n <span class=\"cal-day-badge\">{{ day.badgeTotal }}</span>\n }\n <span class=\"cal-day-number\">{{ day.date | calendarDate: 'monthViewDayNumber' : locale }}</span>\n </div>\n <dbx-schedule-selection-calendar-cell [day]=\"day\"></dbx-schedule-selection-calendar-cell>\n</ng-template>\n" }]
1683
1673
  }], propDecorators: { clickEvent: [{ type: i0.Output, args: ["clickEvent"] }], config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }] } });
@@ -1710,8 +1700,8 @@ class DbxScheduleSelectionCalendarDateDialogComponent extends AbstractDialogDire
1710
1700
  }
1711
1701
  });
1712
1702
  }
1713
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1714
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxScheduleSelectionCalendarDateDialogComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1703
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1704
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: DbxScheduleSelectionCalendarDateDialogComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
1715
1705
  <dbx-dialog-content class="dbx-schedule-selection-calendar-date-dialog">
1716
1706
  <dbx-dialog-content-close (close)="close()"></dbx-dialog-content-close>
1717
1707
  <dbx-schedule-selection-calendar></dbx-schedule-selection-calendar>
@@ -1719,7 +1709,7 @@ class DbxScheduleSelectionCalendarDateDialogComponent extends AbstractDialogDire
1719
1709
  </dbx-dialog-content>
1720
1710
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: DbxDialogModule }, { kind: "directive", type: i1$3.DbxDialogContentDirective, selector: "dbx-dialog-content,[dbxDialogContent],.dbx-dialog-content", inputs: ["width"] }, { kind: "component", type: i1$3.DbxDialogContentFooterComponent, selector: "dbx-dialog-content-footer", inputs: ["config", "closeText", "buttonColor"], outputs: ["close"] }, { kind: "component", type: i1$3.DbxDialogContentCloseComponent, selector: "dbx-dialog-content-close", inputs: ["padded"], outputs: ["close"] }, { kind: "component", type: DbxScheduleSelectionCalendarComponent, selector: "dbx-schedule-selection-calendar", inputs: ["config", "readonly"], outputs: ["clickEvent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1721
1711
  }
1722
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateDialogComponent, decorators: [{
1712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateDialogComponent, decorators: [{
1723
1713
  type: Component,
1724
1714
  args: [{
1725
1715
  template: `
@@ -1744,12 +1734,12 @@ class DbxScheduleSelectionCalendarDateDialogButtonComponent {
1744
1734
  clickCustomize() {
1745
1735
  DbxScheduleSelectionCalendarDateDialogComponent.openDialog(this.matDialog, { injector: this.injector, contentConfig: this.contentConfig() });
1746
1736
  }
1747
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateDialogButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1748
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.3", type: DbxScheduleSelectionCalendarDateDialogButtonComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-dialog-button", inputs: { buttonText: { classPropertyName: "buttonText", publicName: "buttonText", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, contentConfig: { classPropertyName: "contentConfig", publicName: "contentConfig", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
1737
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateDialogButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1738
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: DbxScheduleSelectionCalendarDateDialogButtonComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-dialog-button", inputs: { buttonText: { classPropertyName: "buttonText", publicName: "buttonText", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, contentConfig: { classPropertyName: "contentConfig", publicName: "contentConfig", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
1749
1739
  <dbx-button [raised]="true" color="accent" [text]="buttonText()" [disabled]="disabled()" (buttonClick)="clickCustomize()"></dbx-button>
1750
1740
  `, isInline: true, dependencies: [{ kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1751
1741
  }
1752
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateDialogButtonComponent, decorators: [{
1742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateDialogButtonComponent, decorators: [{
1753
1743
  type: Component,
1754
1744
  args: [{
1755
1745
  selector: 'dbx-schedule-selection-calendar-date-dialog-button',
@@ -1762,6 +1752,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
1762
1752
  }]
1763
1753
  }], propDecorators: { buttonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonText", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], contentConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentConfig", required: false }] }] } });
1764
1754
 
1755
+ /**
1756
+ * @deprecated Use DbxForgeCalendarDateScheduleRangeFieldComponent instead.
1757
+ */
1765
1758
  class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
1766
1759
  compact = inject(CompactContextStore, { optional: true });
1767
1760
  dbxCalendarScheduleSelectionStore = inject(DbxCalendarScheduleSelectionStore);
@@ -1875,8 +1868,8 @@ class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
1875
1868
  this._exclusionsSub.destroy();
1876
1869
  this._formControlObs.complete();
1877
1870
  }
1878
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1879
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.3", type: DbxFormCalendarDateScheduleRangeFieldComponent, isStandalone: true, selector: "ng-component", providers: [provideCalendarScheduleSelectionStoreIfParentIsUnavailable()], usesInheritance: true, ngImport: i0, template: `
1871
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1872
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: DbxFormCalendarDateScheduleRangeFieldComponent, isStandalone: true, selector: "ng-component", providers: [provideCalendarScheduleSelectionStoreIfParentIsUnavailable()], usesInheritance: true, ngImport: i0, template: `
1880
1873
  <div class="dbx-schedule-selection-field">
1881
1874
  <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="openPickerOnTextClick" [showCustomize]="showCustomize" [required]="required" [disabled]="isReadonlyOrDisabled" [label]="label" [hint]="description">
1882
1875
  <dbx-schedule-selection-calendar-date-dialog-button customizeButton [disabled]="disabledSignal()" [contentConfig]="dialogContentConfig"></dbx-schedule-selection-calendar-date-dialog-button>
@@ -1885,7 +1878,7 @@ class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
1885
1878
  </div>
1886
1879
  `, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["required", "openPickerOnTextClick", "label", "hint", "disabled", "showCustomize"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateDialogButtonComponent, selector: "dbx-schedule-selection-calendar-date-dialog-button", inputs: ["buttonText", "disabled", "contentConfig"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1887
1880
  }
1888
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, decorators: [{
1881
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, decorators: [{
1889
1882
  type: Component,
1890
1883
  args: [{
1891
1884
  template: `
@@ -1904,14 +1897,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
1904
1897
  }] });
1905
1898
 
1906
1899
  const importsAndExports$1 = [DbxFormCalendarDateScheduleRangeFieldComponent];
1900
+ /**
1901
+ * @deprecated Use provideDbxForgeCalendarFieldDeclarations() instead.
1902
+ */
1907
1903
  class DbxFormDateScheduleRangeFieldModule {
1908
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1909
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.3", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, imports: [DbxFormCalendarDateScheduleRangeFieldComponent, i1$5.FormlyModule], exports: [DbxFormCalendarDateScheduleRangeFieldComponent] });
1910
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, imports: [importsAndExports$1, FormlyModule.forChild({
1904
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1905
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.4", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, imports: [DbxFormCalendarDateScheduleRangeFieldComponent, i1$5.FormlyModule], exports: [DbxFormCalendarDateScheduleRangeFieldComponent] });
1906
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, imports: [importsAndExports$1, FormlyModule.forChild({
1911
1907
  types: [{ name: 'date-schedule-range', component: DbxFormCalendarDateScheduleRangeFieldComponent }]
1912
1908
  })] });
1913
1909
  }
1914
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, decorators: [{
1910
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, decorators: [{
1915
1911
  type: NgModule,
1916
1912
  args: [{
1917
1913
  imports: [
@@ -1924,7 +1920,273 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
1924
1920
  }]
1925
1921
  }] });
1926
1922
 
1927
- // export * from './selection';
1923
+ /**
1924
+ * The custom forge field type name for the calendar date schedule range field.
1925
+ */
1926
+ const FORGE_CALENDAR_DATE_SCHEDULE_RANGE_FIELD_TYPE = 'dbx-forge-calendar-date-schedule-range';
1927
+ /**
1928
+ * Creates a forge field definition for a calendar date schedule range picker.
1929
+ *
1930
+ * This is the forge equivalent of {@link dateScheduleRangeField}.
1931
+ *
1932
+ * @param config - Optional schedule range field configuration overrides
1933
+ * @returns A validated forge field definition for date schedule range selection
1934
+ */
1935
+ function dbxForgeDateScheduleRangeField(config = {}) {
1936
+ const { key = 'schedule', label, description, required, readonly: isReadonly, appearance, allowTextInput, hideCustomize, allowCustomizeWithoutDateRange, outputTimezone, defaultScheduleDays, minMaxDateRange, filter, exclusions, dialogContentConfig, computeSelectionResultRelativeToFilter, initialSelectionState, cellContentFactory, customDetailsConfig } = config;
1937
+ const props = filterFromPOJO({
1938
+ label: label ?? 'Schedule',
1939
+ description,
1940
+ appearance,
1941
+ allowTextInput,
1942
+ hideCustomize,
1943
+ allowCustomizeWithoutDateRange,
1944
+ outputTimezone,
1945
+ defaultScheduleDays,
1946
+ minMaxDateRange,
1947
+ filter,
1948
+ exclusions,
1949
+ dialogContentConfig,
1950
+ computeSelectionResultRelativeToFilter,
1951
+ initialSelectionState,
1952
+ cellContentFactory,
1953
+ customDetailsConfig
1954
+ });
1955
+ return filterFromPOJO({
1956
+ key,
1957
+ type: FORGE_CALENDAR_DATE_SCHEDULE_RANGE_FIELD_TYPE,
1958
+ label: label ?? 'Schedule',
1959
+ value: undefined,
1960
+ required,
1961
+ readonly: isReadonly,
1962
+ props: Object.keys(props).length > 0 ? props : undefined
1963
+ });
1964
+ }
1965
+
1966
+ /**
1967
+ * Forge custom field component for calendar date schedule range selection.
1968
+ *
1969
+ * This is the forge equivalent of {@link DbxFormCalendarDateScheduleRangeFieldComponent}.
1970
+ * It bridges ng-forge Signal Forms with the {@link DbxCalendarScheduleSelectionStore}.
1971
+ *
1972
+ * Registered as ng-forge type 'dbx-forge-calendar-date-schedule-range'.
1973
+ */
1974
+ class DbxForgeCalendarDateScheduleRangeFieldComponent {
1975
+ compact = inject(CompactContextStore, { optional: true });
1976
+ dbxCalendarScheduleSelectionStore = inject(DbxCalendarScheduleSelectionStore);
1977
+ elementRef = inject((ElementRef));
1978
+ // Standard ng-forge value field inputs
1979
+ field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
1980
+ key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
1981
+ label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
1982
+ placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
1983
+ className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
1984
+ tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
1985
+ props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
1986
+ meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
1987
+ validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
1988
+ defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
1989
+ // Subscription management
1990
+ _syncSub = new SubscriptionObject();
1991
+ _valueSub = new SubscriptionObject();
1992
+ _timezoneSub = new SubscriptionObject();
1993
+ _minMaxDateRangeSub = new SubscriptionObject();
1994
+ _defaultWeekSub = new SubscriptionObject();
1995
+ _filterSub = new SubscriptionObject();
1996
+ _exclusionsSub = new SubscriptionObject();
1997
+ // Field value signal (double-call pattern: field()() to get FieldState)
1998
+ fieldValue = computed(() => {
1999
+ const state = this.field()?.();
2000
+ return state?.value?.();
2001
+ }, ...(ngDevMode ? [{ debugName: "fieldValue" }] : /* istanbul ignore next */ []));
2002
+ isDisabled = computed(() => {
2003
+ const state = this.field()?.();
2004
+ return state?.disabled?.() ?? false;
2005
+ }, ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
2006
+ isRequiredSignal = computed(() => {
2007
+ const state = this.field()?.();
2008
+ return state?.required?.() ?? false;
2009
+ }, ...(ngDevMode ? [{ debugName: "isRequiredSignal" }] : /* istanbul ignore next */ []));
2010
+ // Computed props
2011
+ labelTextSignal = computed(() => this.props()?.label, ...(ngDevMode ? [{ debugName: "labelTextSignal" }] : /* istanbul ignore next */ []));
2012
+ descriptionSignal = computed(() => this.props()?.description, ...(ngDevMode ? [{ debugName: "descriptionSignal" }] : /* istanbul ignore next */ []));
2013
+ isReadonlyOrDisabledSignal = computed(() => this.props()?.readonly || this.isDisabled(), ...(ngDevMode ? [{ debugName: "isReadonlyOrDisabledSignal" }] : /* istanbul ignore next */ []));
2014
+ openPickerOnTextClickSignal = computed(() => this.props()?.allowTextInput !== true, ...(ngDevMode ? [{ debugName: "openPickerOnTextClickSignal" }] : /* istanbul ignore next */ []));
2015
+ showCustomizeSignal = computed(() => !this.props()?.hideCustomize, ...(ngDevMode ? [{ debugName: "showCustomizeSignal" }] : /* istanbul ignore next */ []));
2016
+ dialogContentConfigSignal = computed(() => this.props()?.dialogContentConfig, ...(ngDevMode ? [{ debugName: "dialogContentConfigSignal" }] : /* istanbul ignore next */ []));
2017
+ customDetailsConfigSignal = computed(() => this.props()?.customDetailsConfig, ...(ngDevMode ? [{ debugName: "customDetailsConfigSignal" }] : /* istanbul ignore next */ []));
2018
+ allowCustomizeWithoutDateRangeSignal = computed(() => this.props()?.allowCustomizeWithoutDateRange ?? false, ...(ngDevMode ? [{ debugName: "allowCustomizeWithoutDateRangeSignal" }] : /* istanbul ignore next */ []));
2019
+ disableCustomizeSignal = computed(() => {
2020
+ if (this.allowCustomizeWithoutDateRangeSignal()) {
2021
+ return false;
2022
+ }
2023
+ return !this.fieldValue();
2024
+ }, ...(ngDevMode ? [{ debugName: "disableCustomizeSignal" }] : /* istanbul ignore next */ []));
2025
+ _setFieldValue(value) {
2026
+ try {
2027
+ const state = this.field()?.();
2028
+ if (state?.value?.set) {
2029
+ state.value.set(value);
2030
+ }
2031
+ }
2032
+ catch {
2033
+ // field input may not be available yet (NG0950) during early store emissions
2034
+ }
2035
+ }
2036
+ constructor() {
2037
+ setupMetaTracking(this.elementRef, this.meta, { selector: 'dbx-schedule-selection-calendar-date-range' });
2038
+ // Convert field value to observable for store sync
2039
+ const fieldValue$ = toObservable(this.fieldValue);
2040
+ // Sync field value → store (skip initial emission)
2041
+ this._syncSub.subscription = fieldValue$
2042
+ .pipe(skip(1), distinctUntilChanged((a, b) => isSameDateCellScheduleDateRange(a, b)))
2043
+ .subscribe((x) => {
2044
+ this.dbxCalendarScheduleSelectionStore.setDateScheduleRangeValue(x);
2045
+ });
2046
+ // Sync store → field value
2047
+ this._valueSub.subscription = this.dbxCalendarScheduleSelectionStore.currentDateCellScheduleRangeValue$.subscribe((x) => {
2048
+ this._setFieldValue(x);
2049
+ });
2050
+ // Set up store configuration from props (runs once on init via effect)
2051
+ effect(() => {
2052
+ const p = this.props();
2053
+ if (!p) {
2054
+ return;
2055
+ }
2056
+ const { outputTimezone, minMaxDateRange, filter, exclusions, defaultScheduleDays, initialSelectionState, computeSelectionResultRelativeToFilter, cellContentFactory } = p;
2057
+ if (filter != null) {
2058
+ this._filterSub.subscription = this.dbxCalendarScheduleSelectionStore.setFilter(asObservable(filter));
2059
+ }
2060
+ if (defaultScheduleDays != null) {
2061
+ this._defaultWeekSub.subscription = this.dbxCalendarScheduleSelectionStore.setDefaultScheduleDays(asObservable(defaultScheduleDays));
2062
+ }
2063
+ if (minMaxDateRange != null) {
2064
+ this._minMaxDateRangeSub.subscription = this.dbxCalendarScheduleSelectionStore.setMinMaxDateRange(asObservable(minMaxDateRange));
2065
+ }
2066
+ if (exclusions != null) {
2067
+ this._exclusionsSub.subscription = this.dbxCalendarScheduleSelectionStore.setExclusions(asObservable(exclusions));
2068
+ }
2069
+ if (outputTimezone != null) {
2070
+ this.dbxCalendarScheduleSelectionStore.setOutputTimezone(asObservable(outputTimezone));
2071
+ }
2072
+ if (initialSelectionState !== undefined) {
2073
+ this.dbxCalendarScheduleSelectionStore.setInitialSelectionState(initialSelectionState);
2074
+ }
2075
+ if (computeSelectionResultRelativeToFilter != null) {
2076
+ this.dbxCalendarScheduleSelectionStore.setComputeSelectionResultRelativeToFilter(computeSelectionResultRelativeToFilter);
2077
+ }
2078
+ if (cellContentFactory != null) {
2079
+ this.dbxCalendarScheduleSelectionStore.setCellContentFactory(cellContentFactory);
2080
+ }
2081
+ });
2082
+ }
2083
+ ngOnDestroy() {
2084
+ this._syncSub.destroy();
2085
+ this._valueSub.destroy();
2086
+ this._filterSub.destroy();
2087
+ this._timezoneSub.destroy();
2088
+ this._minMaxDateRangeSub.destroy();
2089
+ this._defaultWeekSub.destroy();
2090
+ this._exclusionsSub.destroy();
2091
+ }
2092
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxForgeCalendarDateScheduleRangeFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2093
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.4", type: DbxForgeCalendarDateScheduleRangeFieldComponent, isStandalone: true, selector: "dbx-forge-calendar-date-schedule-range-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null }, props: { classPropertyName: "props", publicName: "props", isSignal: true, isRequired: false, transformFunction: null }, meta: { classPropertyName: "meta", publicName: "meta", isSignal: true, isRequired: false, transformFunction: null }, validationMessages: { classPropertyName: "validationMessages", publicName: "validationMessages", isSignal: true, isRequired: false, transformFunction: null }, defaultValidationMessages: { classPropertyName: "defaultValidationMessages", publicName: "defaultValidationMessages", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideCalendarScheduleSelectionStoreIfParentIsUnavailable()], ngImport: i0, template: `
2094
+ <div class="dbx-schedule-selection-field">
2095
+ <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="openPickerOnTextClickSignal()" [showCustomize]="showCustomizeSignal()" [required]="isRequiredSignal()" [disabled]="isReadonlyOrDisabledSignal()" [label]="labelTextSignal()" [hint]="descriptionSignal()">
2096
+ <dbx-schedule-selection-calendar-date-dialog-button customizeButton [disabled]="disableCustomizeSignal()" [contentConfig]="dialogContentConfigSignal()"></dbx-schedule-selection-calendar-date-dialog-button>
2097
+ <dbx-injection [config]="customDetailsConfigSignal()"></dbx-injection>
2098
+ </dbx-schedule-selection-calendar-date-range>
2099
+ </div>
2100
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["required", "openPickerOnTextClick", "label", "hint", "disabled", "showCustomize"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateDialogButtonComponent, selector: "dbx-schedule-selection-calendar-date-dialog-button", inputs: ["buttonText", "disabled", "contentConfig"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2101
+ }
2102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxForgeCalendarDateScheduleRangeFieldComponent, decorators: [{
2103
+ type: Component,
2104
+ args: [{
2105
+ selector: 'dbx-forge-calendar-date-schedule-range-field',
2106
+ template: `
2107
+ <div class="dbx-schedule-selection-field">
2108
+ <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="openPickerOnTextClickSignal()" [showCustomize]="showCustomizeSignal()" [required]="isRequiredSignal()" [disabled]="isReadonlyOrDisabledSignal()" [label]="labelTextSignal()" [hint]="descriptionSignal()">
2109
+ <dbx-schedule-selection-calendar-date-dialog-button customizeButton [disabled]="disableCustomizeSignal()" [contentConfig]="dialogContentConfigSignal()"></dbx-schedule-selection-calendar-date-dialog-button>
2110
+ <dbx-injection [config]="customDetailsConfigSignal()"></dbx-injection>
2111
+ </dbx-schedule-selection-calendar-date-range>
2112
+ </div>
2113
+ `,
2114
+ providers: [provideCalendarScheduleSelectionStoreIfParentIsUnavailable()],
2115
+ imports: [DbxInjectionComponent, DbxScheduleSelectionCalendarDateRangeComponent, DbxScheduleSelectionCalendarDateDialogButtonComponent],
2116
+ changeDetection: ChangeDetectionStrategy.OnPush,
2117
+ standalone: true
2118
+ }]
2119
+ }], ctorParameters: () => [], propDecorators: { field: [{ type: i0.Input, args: [{ isSignal: true, alias: "field", required: true }] }], key: [{ type: i0.Input, args: [{ isSignal: true, alias: "key", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], tabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabIndex", required: false }] }], props: [{ type: i0.Input, args: [{ isSignal: true, alias: "props", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], validationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "validationMessages", required: false }] }], defaultValidationMessages: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValidationMessages", required: false }] }] } });
2120
+ /**
2121
+ * Custom mapper for the forge calendar date schedule range field.
2122
+ *
2123
+ * Uses the standard buildValueFieldInputs to bridge the ng-forge field definition
2124
+ * to the component's input signals.
2125
+ *
2126
+ * @param fieldDef - Field definition configuration
2127
+ * @param fieldDef.key - Form model key for the field
2128
+ * @returns Signal containing a Record of input names to values for ngComponentOutlet
2129
+ */
2130
+ function calendarDateScheduleRangeFieldMapper(fieldDef) {
2131
+ const ctx = resolveValueFieldContext();
2132
+ const defaultProps = inject(DEFAULT_PROPS);
2133
+ const defaultValidationMessages = inject(DEFAULT_VALIDATION_MESSAGES);
2134
+ return computed(() => {
2135
+ return buildValueFieldInputs(fieldDef, ctx, defaultProps?.(), defaultValidationMessages?.());
2136
+ });
2137
+ }
2138
+
2139
+ var calendar_schedule_forge_field_component = /*#__PURE__*/Object.freeze({
2140
+ __proto__: null,
2141
+ DbxForgeCalendarDateScheduleRangeFieldComponent: DbxForgeCalendarDateScheduleRangeFieldComponent,
2142
+ calendarDateScheduleRangeFieldMapper: calendarDateScheduleRangeFieldMapper
2143
+ });
2144
+
2145
+ /**
2146
+ * Creates form fields for selecting which days of the week are enabled in a schedule selection calendar,
2147
+ * wrapped in a responsive flex layout.
2148
+ *
2149
+ * @deprecated Use dbxScheduleSelectionCalendarDateDaysForgeFormFields() instead.
2150
+ * @returns An array of Formly field configs with toggle fields for each day of the week
2151
+ */
2152
+ function dbxScheduleSelectionCalendarDateDaysFormFields() {
2153
+ const fields = dbxScheduleSelectionCalendarDateDaysFormDayFields();
2154
+ return [formlyFlexLayoutWrapper(fields, { relative: true, size: 3 })];
2155
+ }
2156
+ /**
2157
+ * Creates an array of toggle field configs, one for each day of the week, keyed by lowercase day name.
2158
+ *
2159
+ * @deprecated Use forge toggle fields directly.
2160
+ * @returns An array of toggle Formly field configs for each day of the week
2161
+ */
2162
+ function dbxScheduleSelectionCalendarDateDaysFormDayFields() {
2163
+ return getDaysOfWeekNames(false).map((dayOfWeekName) => {
2164
+ return formlyToggleField({
2165
+ key: dayOfWeekName.toLowerCase(),
2166
+ label: dayOfWeekName
2167
+ });
2168
+ });
2169
+ }
2170
+
2171
+ /**
2172
+ * @deprecated Use DbxScheduleSelectionCalendarDateDaysForgeFormComponent instead.
2173
+ */
2174
+ class DbxScheduleSelectionCalendarDateDaysFormComponent extends AbstractSyncFormlyFormDirective {
2175
+ fields = dbxScheduleSelectionCalendarDateDaysFormFields();
2176
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2177
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: DbxScheduleSelectionCalendarDateDaysFormComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-days-form", providers: dbxFormlyFormComponentProviders(), usesInheritance: true, ngImport: i0, template: "<dbx-formly></dbx-formly>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxFormlyFormComponentImportsModule }, { kind: "component", type: i1.DbxFormlyComponent, selector: "dbx-formly", exportAs: ["formly"] }, { kind: "ngmodule", type: DbxFormFormlyWrapperModule }, { kind: "ngmodule", type: DbxFormFormlyBooleanFieldModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2178
+ }
2179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysFormComponent, decorators: [{
2180
+ type: Component,
2181
+ args: [{
2182
+ selector: 'dbx-schedule-selection-calendar-date-days-form',
2183
+ template: DBX_FORMLY_FORM_COMPONENT_TEMPLATE,
2184
+ providers: dbxFormlyFormComponentProviders(),
2185
+ imports: [DbxFormlyFormComponentImportsModule, DbxFormFormlyWrapperModule, DbxFormFormlyBooleanFieldModule],
2186
+ changeDetection: ChangeDetectionStrategy.OnPush,
2187
+ standalone: true
2188
+ }]
2189
+ }] });
1928
2190
 
1929
2191
  const importsAndExports = [
1930
2192
  DbxScheduleSelectionCalendarComponent,
@@ -1942,9 +2204,12 @@ const importsAndExports = [
1942
2204
  //
1943
2205
  DbxFormFormlyWrapperModule
1944
2206
  ];
2207
+ /**
2208
+ * @deprecated Import components directly and use provideDbxForgeCalendarFieldDeclarations().
2209
+ */
1945
2210
  class DbxFormCalendarModule {
1946
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1947
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.3", ngImport: i0, type: DbxFormCalendarModule, imports: [DbxScheduleSelectionCalendarComponent,
2211
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxFormCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2212
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.4", ngImport: i0, type: DbxFormCalendarModule, imports: [DbxScheduleSelectionCalendarComponent,
1948
2213
  DbxScheduleSelectionCalendarDateDaysComponent,
1949
2214
  DbxScheduleSelectionCalendarDateDaysFormComponent,
1950
2215
  DbxScheduleSelectionCalendarDateRangeComponent,
@@ -1971,7 +2236,7 @@ class DbxFormCalendarModule {
1971
2236
  DbxScheduleSelectionCalendarSelectionToggleButtonComponent,
1972
2237
  //
1973
2238
  DbxFormFormlyWrapperModule] });
1974
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormCalendarModule, imports: [DbxScheduleSelectionCalendarComponent,
2239
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxFormCalendarModule, imports: [DbxScheduleSelectionCalendarComponent,
1975
2240
  DbxScheduleSelectionCalendarDateDaysComponent,
1976
2241
  DbxScheduleSelectionCalendarDateDaysFormComponent,
1977
2242
  DbxScheduleSelectionCalendarDateRangeComponent,
@@ -1987,7 +2252,7 @@ class DbxFormCalendarModule {
1987
2252
  //
1988
2253
  DbxFormFormlyWrapperModule] });
1989
2254
  }
1990
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormCalendarModule, decorators: [{
2255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxFormCalendarModule, decorators: [{
1991
2256
  type: NgModule,
1992
2257
  args: [{
1993
2258
  imports: importsAndExports,
@@ -1995,9 +2260,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
1995
2260
  }]
1996
2261
  }] });
1997
2262
 
2263
+ /**
2264
+ * Forge calendar date schedule range field type definition.
2265
+ *
2266
+ * Registers the custom calendar date schedule range field component with ng-forge's dynamic form system.
2267
+ * Uses lazy loading for the component.
2268
+ */
2269
+ const DbxForgeCalendarDateScheduleRangeFieldType = {
2270
+ name: FORGE_CALENDAR_DATE_SCHEDULE_RANGE_FIELD_TYPE,
2271
+ loadComponent: () => Promise.resolve().then(function () { return calendar_schedule_forge_field_component; }).then((m) => m.DbxForgeCalendarDateScheduleRangeFieldComponent),
2272
+ mapper: calendarDateScheduleRangeFieldMapper
2273
+ };
2274
+ /**
2275
+ * All custom dbx-form/calendar forge field type definitions.
2276
+ */
2277
+ const DBX_FORGE_CALENDAR_FIELD_TYPES = [DbxForgeCalendarDateScheduleRangeFieldType];
2278
+
1998
2279
  /**
1999
2280
  * Generated bundle index. Do not edit.
2000
2281
  */
2001
2282
 
2002
- export { CalendarScheduleSelectionDayState, DEFAULT_DBX_SCHEDULE_SELECTION_CALENDAR_DATE_POPUP_CONTENT_CONFIG_TOKEN, DEFAULT_SCHEDULE_SELECTION_CALENDAR_DATE_POPOVER_KEY, DbxCalendarScheduleSelectionStore, DbxCalendarScheduleSelectionStoreInjectionBlockDirective, DbxCalendarScheduleSelectionStoreProviderBlock, DbxFormCalendarDateScheduleRangeFieldComponent, DbxFormCalendarModule, DbxFormDateScheduleRangeFieldModule, DbxScheduleSelectionCalendarCellComponent, DbxScheduleSelectionCalendarComponent, DbxScheduleSelectionCalendarDateDaysComponent, DbxScheduleSelectionCalendarDateDaysFormComponent, DbxScheduleSelectionCalendarDateDialogButtonComponent, DbxScheduleSelectionCalendarDateDialogComponent, DbxScheduleSelectionCalendarDatePopoverButtonComponent, DbxScheduleSelectionCalendarDatePopoverComponent, DbxScheduleSelectionCalendarDatePopoverContentComponent, DbxScheduleSelectionCalendarDateRangeComponent, DbxScheduleSelectionCalendarSelectionToggleButtonComponent, calendarScheduleMaxDate, calendarScheduleMinAndMaxDateRange, calendarScheduleMinDate, calendarScheduleStartBeingUsedFromFilter, computeCalendarScheduleSelectionDateCellRange, computeCalendarScheduleSelectionRange, computeScheduleSelectionRangeAndExclusion, computeScheduleSelectionValue, dateScheduleRangeField, dbxScheduleSelectionCalendarBeforeMonthViewRenderFactory, dbxScheduleSelectionCalendarDateDaysFormDayFields, dbxScheduleSelectionCalendarDateDaysFormFields, defaultCalendarScheduleSelectionCellContentFactory, finalizeNewCalendarScheduleSelectionState, finalizeUpdateStateWithChangedScheduleDays, initialCalendarScheduleSelectionState, isEnabledDayInCalendarScheduleSelectionState, noSelectionCalendarScheduleSelectionState, provideCalendarScheduleSelectionStoreIfParentIsUnavailable, updateStateWithChangedDates, updateStateWithChangedDefaultScheduleDays, updateStateWithChangedRange, updateStateWithChangedScheduleDays, updateStateWithComputeSelectionResultRelativeToFilter, updateStateWithDateCellScheduleRangeValue, updateStateWithExclusions, updateStateWithFilter, updateStateWithInitialSelectionState, updateStateWithMinMaxDateRange, updateStateWithSelectionMode, updateStateWithTimezoneValue };
2283
+ export { CalendarScheduleSelectionDayState, DBX_FORGE_CALENDAR_FIELD_TYPES, DEFAULT_DBX_SCHEDULE_SELECTION_CALENDAR_DATE_POPUP_CONTENT_CONFIG_TOKEN, DEFAULT_SCHEDULE_SELECTION_CALENDAR_DATE_POPOVER_KEY, DbxCalendarScheduleSelectionStore, DbxCalendarScheduleSelectionStoreInjectionBlockDirective, DbxCalendarScheduleSelectionStoreProviderBlock, DbxForgeCalendarDateScheduleRangeFieldComponent, DbxFormCalendarDateScheduleRangeFieldComponent, DbxFormCalendarModule, DbxFormDateScheduleRangeFieldModule, DbxScheduleSelectionCalendarCellComponent, DbxScheduleSelectionCalendarComponent, DbxScheduleSelectionCalendarDateDaysComponent, DbxScheduleSelectionCalendarDateDaysForgeFormComponent, DbxScheduleSelectionCalendarDateDaysFormComponent, DbxScheduleSelectionCalendarDateDialogButtonComponent, DbxScheduleSelectionCalendarDateDialogComponent, DbxScheduleSelectionCalendarDatePopoverButtonComponent, DbxScheduleSelectionCalendarDatePopoverComponent, DbxScheduleSelectionCalendarDatePopoverContentComponent, DbxScheduleSelectionCalendarDateRangeComponent, DbxScheduleSelectionCalendarSelectionToggleButtonComponent, FORGE_CALENDAR_DATE_SCHEDULE_RANGE_FIELD_TYPE, calendarDateScheduleRangeFieldMapper, calendarScheduleMaxDate, calendarScheduleMinAndMaxDateRange, calendarScheduleMinDate, calendarScheduleStartBeingUsedFromFilter, computeCalendarScheduleSelectionDateCellRange, computeCalendarScheduleSelectionRange, computeScheduleSelectionRangeAndExclusion, computeScheduleSelectionValue, dateScheduleRangeField, dbxForgeDateScheduleRangeField, dbxScheduleSelectionCalendarBeforeMonthViewRenderFactory, dbxScheduleSelectionCalendarDateDaysForgeFormDayFields, dbxScheduleSelectionCalendarDateDaysForgeFormFields, dbxScheduleSelectionCalendarDateDaysFormDayFields, dbxScheduleSelectionCalendarDateDaysFormFields, defaultCalendarScheduleSelectionCellContentFactory, finalizeNewCalendarScheduleSelectionState, finalizeUpdateStateWithChangedScheduleDays, initialCalendarScheduleSelectionState, isEnabledDayInCalendarScheduleSelectionState, noSelectionCalendarScheduleSelectionState, provideCalendarScheduleSelectionStoreIfParentIsUnavailable, updateStateWithChangedDates, updateStateWithChangedDefaultScheduleDays, updateStateWithChangedRange, updateStateWithChangedScheduleDays, updateStateWithComputeSelectionResultRelativeToFilter, updateStateWithDateCellScheduleRangeValue, updateStateWithExclusions, updateStateWithFilter, updateStateWithInitialSelectionState, updateStateWithMinMaxDateRange, updateStateWithSelectionMode, updateStateWithTimezoneValue };
2003
2284
  //# sourceMappingURL=dereekb-dbx-form-calendar.mjs.map