@dereekb/dbx-form 13.6.17 → 13.8.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 (45) hide show
  1. package/fesm2022/dereekb-dbx-form-array.field.component-1wYSd4d3.mjs +169 -0
  2. package/fesm2022/dereekb-dbx-form-array.field.component-1wYSd4d3.mjs.map +1 -0
  3. package/fesm2022/dereekb-dbx-form-calendar.mjs +440 -147
  4. package/fesm2022/dereekb-dbx-form-calendar.mjs.map +1 -1
  5. package/fesm2022/dereekb-dbx-form-expand.field.component-Bp5_uO1A.mjs +56 -0
  6. package/fesm2022/dereekb-dbx-form-expand.field.component-Bp5_uO1A.mjs.map +1 -0
  7. package/fesm2022/dereekb-dbx-form-formfield.field.component-BQyujXe3.mjs +70 -0
  8. package/fesm2022/dereekb-dbx-form-formfield.field.component-BQyujXe3.mjs.map +1 -0
  9. package/fesm2022/dereekb-dbx-form-info.field.component-B0cFprvc.mjs +50 -0
  10. package/fesm2022/dereekb-dbx-form-info.field.component-B0cFprvc.mjs.map +1 -0
  11. package/fesm2022/dereekb-dbx-form-info.wrapper.field.component-Crm4wVr5.mjs +35 -0
  12. package/fesm2022/dereekb-dbx-form-info.wrapper.field.component-Crm4wVr5.mjs.map +1 -0
  13. package/fesm2022/dereekb-dbx-form-mapbox.mjs +629 -32
  14. package/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -1
  15. package/fesm2022/dereekb-dbx-form-quiz.mjs +46 -55
  16. package/fesm2022/dereekb-dbx-form-quiz.mjs.map +1 -1
  17. package/fesm2022/dereekb-dbx-form-section.field.component-DliafLqL.mjs +63 -0
  18. package/fesm2022/dereekb-dbx-form-section.field.component-DliafLqL.mjs.map +1 -0
  19. package/fesm2022/dereekb-dbx-form-style.field.component-C3ZNiotx.mjs +71 -0
  20. package/fesm2022/dereekb-dbx-form-style.field.component-C3ZNiotx.mjs.map +1 -0
  21. package/fesm2022/dereekb-dbx-form-working.field.component-CO8vK2bH.mjs +53 -0
  22. package/fesm2022/dereekb-dbx-form-working.field.component-CO8vK2bH.mjs.map +1 -0
  23. package/fesm2022/dereekb-dbx-form-working.wrapper.field.component-BtD7_5i5.mjs +54 -0
  24. package/fesm2022/dereekb-dbx-form-working.wrapper.field.component-BtD7_5i5.mjs.map +1 -0
  25. package/fesm2022/dereekb-dbx-form-wrapper.content.component-Cy4ND_se.mjs +87 -0
  26. package/fesm2022/dereekb-dbx-form-wrapper.content.component-Cy4ND_se.mjs.map +1 -0
  27. package/fesm2022/dereekb-dbx-form.mjs +11793 -4852
  28. package/fesm2022/dereekb-dbx-form.mjs.map +1 -1
  29. package/lib/forge/field/_field.scss +14 -0
  30. package/lib/forge/field/selection/_selection.scss +15 -0
  31. package/lib/forge/field/selection/pickable/_pickable.scss +11 -0
  32. package/lib/forge/field/selection/searchable/_searchable.scss +34 -0
  33. package/lib/forge/field/selection/sourceselect/_sourceselect.scss +46 -0
  34. package/lib/forge/field/wrapper/_wrapper.scss +62 -0
  35. package/lib/forge/style/_shared.scss +26 -0
  36. package/lib/form/_form.scss +95 -0
  37. package/lib/formly/field/texteditor/_texteditor.scss +8 -0
  38. package/lib/formly/field/value/array/_array.scss +6 -0
  39. package/lib/formly/field/value/phone/_phone.scss +4 -1
  40. package/lib/style/_all-core.scss +2 -0
  41. package/lib/style/_all-theme.scss +2 -0
  42. package/package.json +16 -13
  43. package/types/dereekb-dbx-form-calendar.d.ts +313 -96
  44. package/types/dereekb-dbx-form-mapbox.d.ts +297 -4
  45. package/types/dereekb-dbx-form.d.ts +8013 -2481
@@ -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, forgeToggleField, 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
- import { Injectable, inject, Directive, Injector, Optional, SkipSelf, ChangeDetectionStrategy, Component, viewChild, input, effect, computed, ElementRef, output, InjectionToken, NgModule } from '@angular/core';
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, provideDynamicForm } from '@ng-forge/dynamic-forms';
32
+ import { 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 forgeDateScheduleRangeField() 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]',
@@ -1092,54 +1089,60 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
1092
1089
  function provideCalendarScheduleSelectionStoreIfParentIsUnavailable() {
1093
1090
  return {
1094
1091
  provide: DbxCalendarScheduleSelectionStore,
1095
- useFactory: (parentInjector, dbxCalendarScheduleSelectionStoreInjectionBlock, dbxCalendarScheduleSelectionStore) => {
1092
+ useFactory: (dbxCalendarScheduleSelectionStoreInjectionBlock, dbxCalendarScheduleSelectionStore) => {
1096
1093
  if (!dbxCalendarScheduleSelectionStore || (dbxCalendarScheduleSelectionStore && dbxCalendarScheduleSelectionStoreInjectionBlock?.dbxCalendarScheduleSelectionStore === dbxCalendarScheduleSelectionStore)) {
1097
1094
  // create a new dbxCalendarScheduleSelectionStore to use
1095
+ const parentInjector = inject(Injector);
1098
1096
  const injector = Injector.create({ providers: [{ provide: DbxCalendarScheduleSelectionStore }], parent: parentInjector });
1099
1097
  dbxCalendarScheduleSelectionStore = injector.get(DbxCalendarScheduleSelectionStore);
1100
1098
  }
1101
1099
  return dbxCalendarScheduleSelectionStore;
1102
1100
  },
1103
- deps: [Injector, [new Optional(), DbxCalendarScheduleSelectionStoreProviderBlock], [new Optional(), new SkipSelf(), DbxCalendarScheduleSelectionStore]]
1101
+ deps: [
1102
+ [new Optional(), DbxCalendarScheduleSelectionStoreProviderBlock],
1103
+ [new Optional(), new SkipSelf(), DbxCalendarScheduleSelectionStore]
1104
+ ]
1104
1105
  };
1105
1106
  }
1106
1107
 
1107
1108
  /**
1108
- * Creates form fields for selecting which days of the week are enabled in a schedule selection calendar,
1109
- * 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.
1110
1111
  *
1111
- * @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
1112
1115
  */
1113
- function dbxScheduleSelectionCalendarDateDaysFormFields() {
1114
- const fields = dbxScheduleSelectionCalendarDateDaysFormDayFields();
1115
- return [flexLayoutWrapper(fields, { relative: true, size: 3 })];
1116
+ function dbxScheduleSelectionCalendarDateDaysForgeFormFields() {
1117
+ return { fields: dbxScheduleSelectionCalendarDateDaysForgeFormDayFields() };
1116
1118
  }
1117
1119
  /**
1118
- * 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.
1119
1121
  *
1120
- * @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
1121
1123
  */
1122
- function dbxScheduleSelectionCalendarDateDaysFormDayFields() {
1124
+ function dbxScheduleSelectionCalendarDateDaysForgeFormDayFields() {
1123
1125
  return getDaysOfWeekNames(false).map((dayOfWeekName) => {
1124
- return toggleField({
1126
+ return forgeToggleField({
1125
1127
  key: dayOfWeekName.toLowerCase(),
1126
- label: dayOfWeekName
1128
+ label: dayOfWeekName,
1129
+ styledBox: false
1127
1130
  });
1128
1131
  });
1129
1132
  }
1130
1133
 
1131
- class DbxScheduleSelectionCalendarDateDaysFormComponent extends AbstractSyncFormlyFormDirective {
1132
- fields = dbxScheduleSelectionCalendarDateDaysFormFields();
1133
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1134
- 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
+ config = 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 });
1135
1138
  }
1136
- 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: [{
1137
1140
  type: Component,
1138
1141
  args: [{
1139
- selector: 'dbx-schedule-selection-calendar-date-days-form',
1140
- template: DBX_FORMLY_FORM_COMPONENT_TEMPLATE,
1141
- providers: dbxFormlyFormComponentProviders(),
1142
- 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],
1143
1146
  changeDetection: ChangeDetectionStrategy.OnPush,
1144
1147
  standalone: true
1145
1148
  }]
@@ -1159,23 +1162,23 @@ class DbxScheduleSelectionCalendarDateDaysComponent {
1159
1162
  this.dbxCalendarScheduleSelectionStore.setScheduleDays(new Set(dateCellScheduleDayCodesFromEnabledDays(value)));
1160
1163
  return of(true);
1161
1164
  };
1162
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1163
- 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: `
1164
1167
  <div class="dbx-schedule-selection-calendar-date-days" dbxAction dbxActionAutoTrigger dbxActionEnforceModified [useInstantTriggerPreset]="true" [dbxActionHandler]="updateScheduleDays">
1165
- <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>
1166
1169
  </div>
1167
- `, 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 });
1168
1171
  }
1169
- 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: [{
1170
1173
  type: Component,
1171
1174
  args: [{
1172
1175
  selector: 'dbx-schedule-selection-calendar-date-days',
1173
1176
  template: `
1174
1177
  <div class="dbx-schedule-selection-calendar-date-days" dbxAction dbxActionAutoTrigger dbxActionEnforceModified [useInstantTriggerPreset]="true" [dbxActionHandler]="updateScheduleDays">
1175
- <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>
1176
1179
  </div>
1177
1180
  `,
1178
- imports: [DbxScheduleSelectionCalendarDateDaysFormComponent, DbxFormSourceDirective, DbxActionModule, DbxActionFormDirective],
1181
+ imports: [DbxScheduleSelectionCalendarDateDaysForgeFormComponent, DbxFormSourceDirective, DbxActionModule, DbxActionFormDirective],
1179
1182
  changeDetection: ChangeDetectionStrategy.OnPush,
1180
1183
  standalone: true
1181
1184
  }]
@@ -1211,12 +1214,7 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
1211
1214
  });
1212
1215
  errorStateMatcher = {
1213
1216
  isErrorState: (control, _form) => {
1214
- if (control) {
1215
- return (control.invalid && (control.dirty || control.touched)) || (control.touched && this.range.invalid);
1216
- }
1217
- else {
1218
- return false;
1219
- }
1217
+ return control ? (control.invalid && (control.dirty || control.touched)) || (control.touched && this.range.invalid) : false;
1220
1218
  }
1221
1219
  };
1222
1220
  minDate$ = this.dbxCalendarScheduleSelectionStore.minDate$;
@@ -1321,17 +1319,17 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
1321
1319
  pickerClosed() {
1322
1320
  this._pickerOpened.next(false);
1323
1321
  }
1324
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1325
- 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 });
1326
1324
  }
1327
- 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: [{
1328
1326
  type: Component,
1329
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" }]
1330
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 }] }] } });
1331
1329
 
1332
1330
  class DbxScheduleSelectionCalendarDatePopoverContentComponent {
1333
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1334
- 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: `
1335
1333
  <dbx-content-container padding="min" topPadding="normal">
1336
1334
  <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="false"></dbx-schedule-selection-calendar-date-range>
1337
1335
  <dbx-label-block header="Allowed Days Of Week">
@@ -1340,7 +1338,7 @@ class DbxScheduleSelectionCalendarDatePopoverContentComponent {
1340
1338
  </dbx-content-container>
1341
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 });
1342
1340
  }
1343
- 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: [{
1344
1342
  type: Component,
1345
1343
  args: [{
1346
1344
  selector: 'dbx-schedule-selection-calendar-date-popover-content',
@@ -1368,8 +1366,8 @@ class DbxScheduleSelectionCalendarDatePopoverComponent extends AbstractPopoverDi
1368
1366
  injector
1369
1367
  });
1370
1368
  }
1371
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1372
- 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: `
1373
1371
  <dbx-popover-content>
1374
1372
  <dbx-popover-scroll-content>
1375
1373
  <dbx-schedule-selection-calendar-date-popover-content></dbx-schedule-selection-calendar-date-popover-content>
@@ -1377,7 +1375,7 @@ class DbxScheduleSelectionCalendarDatePopoverComponent extends AbstractPopoverDi
1377
1375
  </dbx-popover-content>
1378
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 });
1379
1377
  }
1380
- 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: [{
1381
1379
  type: Component,
1382
1380
  args: [{
1383
1381
  selector: 'dbx-schedule-selection-calendar-date-popover',
@@ -1406,9 +1404,7 @@ class DbxScheduleSelectionCalendarDatePopoverButtonComponent {
1406
1404
  const endString = formatToMonthDayString(x.end);
1407
1405
  return startString === endString ? startString : `${formatToMonthDayString(x.start)} - ${formatToMonthDayString(x.end)}`;
1408
1406
  }
1409
- else {
1410
- return 'Pick a Date Range';
1411
- }
1407
+ return 'Pick a Date Range';
1412
1408
  }), shareReplay(1));
1413
1409
  disabledSignal = toSignal(this.disabled$, { initialValue: false });
1414
1410
  buttonTextSignal = toSignal(this.buttonText$, { initialValue: 'Pick a Date Range' });
@@ -1418,12 +1414,12 @@ class DbxScheduleSelectionCalendarDatePopoverButtonComponent {
1418
1414
  DbxScheduleSelectionCalendarDatePopoverComponent.openPopover(this.popoverService, { origin: buttonElement, injector: this.injector });
1419
1415
  }
1420
1416
  }
1421
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1422
- 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: `
1423
1419
  <dbx-button #buttonPopoverOrigin icon="date_range" [disabled]="disabledSignal()" [raised]="true" color="accent" [text]="buttonTextSignal()" (buttonClick)="openPopover()"></dbx-button>
1424
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 });
1425
1421
  }
1426
- 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: [{
1427
1423
  type: Component,
1428
1424
  args: [{
1429
1425
  selector: 'dbx-schedule-selection-calendar-date-popover-button',
@@ -1444,15 +1440,15 @@ class DbxScheduleSelectionCalendarCellComponent {
1444
1440
  contentSignal = toSignal(this.cellContent$, { initialValue: {} });
1445
1441
  iconSignal = computed(() => this.contentSignal().icon, ...(ngDevMode ? [{ debugName: "iconSignal" }] : /* istanbul ignore next */ []));
1446
1442
  textSignal = computed(() => this.contentSignal().text, ...(ngDevMode ? [{ debugName: "textSignal" }] : /* istanbul ignore next */ []));
1447
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1448
- 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: `
1449
1445
  @if (iconSignal()) {
1450
1446
  <mat-icon>{{ iconSignal() }}</mat-icon>
1451
1447
  }
1452
1448
  <span>{{ textSignal() }}</span>
1453
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 });
1454
1450
  }
1455
- 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: [{
1456
1452
  type: Component,
1457
1453
  args: [{
1458
1454
  selector: 'dbx-schedule-selection-calendar-cell',
@@ -1515,12 +1511,12 @@ class DbxScheduleSelectionCalendarSelectionToggleButtonComponent {
1515
1511
  toggleSelection() {
1516
1512
  this.dbxCalendarScheduleSelectionStore.toggleSelection();
1517
1513
  }
1518
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarSelectionToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1519
- 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: `
1520
1516
  <dbx-button [disabled]="disableButtonSignal()" [buttonDisplay]="buttonDisplaySignal()" [raised]="true" (buttonClick)="toggleSelection()"></dbx-button>
1521
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 });
1522
1518
  }
1523
- 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: [{
1524
1520
  type: Component,
1525
1521
  args: [{
1526
1522
  selector: 'dbx-schedule-selection-calendar-selection-toggle-button',
@@ -1597,9 +1593,7 @@ class DbxScheduleSelectionCalendarComponent {
1597
1593
  if (x) {
1598
1594
  return of(true);
1599
1595
  }
1600
- else {
1601
- return this.readonly$.pipe(map((x) => !x));
1602
- }
1596
+ return this.readonly$.pipe(map((x) => !x));
1603
1597
  }), distinctUntilChanged(), shareReplay(1));
1604
1598
  showClearSelectionButton$ = this.config$.pipe(map((config) => config?.showClearSelectionButton ?? true), combineLatestWith(this.showButtons$), map((x) => reduceBooleansWithAnd(x)), distinctUntilChanged(), shareReplay(1));
1605
1599
  datePopoverButtonInjectionConfig$ = this.config$.pipe(map((x) => x?.buttonInjectionConfig), switchMapDbxInjectionComponentConfig(DbxScheduleSelectionCalendarDatePopoverButtonComponent), combineLatestWith(this.showButtons$), map(([config, showButton]) => (showButton ? config : undefined)), shareReplay(1));
@@ -1670,10 +1664,10 @@ class DbxScheduleSelectionCalendarComponent {
1670
1664
  beforeMonthViewRender(renderEvent) {
1671
1665
  this.beforeMonthViewRenderSignal()?.(renderEvent);
1672
1666
  }
1673
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1674
- 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 });
1675
1669
  }
1676
- 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: [{
1677
1671
  type: Component,
1678
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" }]
1679
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 }] }] } });
@@ -1706,8 +1700,8 @@ class DbxScheduleSelectionCalendarDateDialogComponent extends AbstractDialogDire
1706
1700
  }
1707
1701
  });
1708
1702
  }
1709
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1710
- 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: `
1711
1705
  <dbx-dialog-content class="dbx-schedule-selection-calendar-date-dialog">
1712
1706
  <dbx-dialog-content-close (close)="close()"></dbx-dialog-content-close>
1713
1707
  <dbx-schedule-selection-calendar></dbx-schedule-selection-calendar>
@@ -1715,7 +1709,7 @@ class DbxScheduleSelectionCalendarDateDialogComponent extends AbstractDialogDire
1715
1709
  </dbx-dialog-content>
1716
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 });
1717
1711
  }
1718
- 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: [{
1719
1713
  type: Component,
1720
1714
  args: [{
1721
1715
  template: `
@@ -1740,12 +1734,12 @@ class DbxScheduleSelectionCalendarDateDialogButtonComponent {
1740
1734
  clickCustomize() {
1741
1735
  DbxScheduleSelectionCalendarDateDialogComponent.openDialog(this.matDialog, { injector: this.injector, contentConfig: this.contentConfig() });
1742
1736
  }
1743
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxScheduleSelectionCalendarDateDialogButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1744
- 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: `
1745
1739
  <dbx-button [raised]="true" color="accent" [text]="buttonText()" [disabled]="disabled()" (buttonClick)="clickCustomize()"></dbx-button>
1746
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 });
1747
1741
  }
1748
- 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: [{
1749
1743
  type: Component,
1750
1744
  args: [{
1751
1745
  selector: 'dbx-schedule-selection-calendar-date-dialog-button',
@@ -1758,6 +1752,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
1758
1752
  }]
1759
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 }] }] } });
1760
1754
 
1755
+ /**
1756
+ * @deprecated Use DbxForgeCalendarDateScheduleRangeFieldComponent instead.
1757
+ */
1761
1758
  class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
1762
1759
  compact = inject(CompactContextStore, { optional: true });
1763
1760
  dbxCalendarScheduleSelectionStore = inject(DbxCalendarScheduleSelectionStore);
@@ -1871,8 +1868,8 @@ class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
1871
1868
  this._exclusionsSub.destroy();
1872
1869
  this._formControlObs.complete();
1873
1870
  }
1874
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1875
- 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: `
1876
1873
  <div class="dbx-schedule-selection-field">
1877
1874
  <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="openPickerOnTextClick" [showCustomize]="showCustomize" [required]="required" [disabled]="isReadonlyOrDisabled" [label]="label" [hint]="description">
1878
1875
  <dbx-schedule-selection-calendar-date-dialog-button customizeButton [disabled]="disabledSignal()" [contentConfig]="dialogContentConfig"></dbx-schedule-selection-calendar-date-dialog-button>
@@ -1881,7 +1878,7 @@ class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
1881
1878
  </div>
1882
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 });
1883
1880
  }
1884
- 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: [{
1885
1882
  type: Component,
1886
1883
  args: [{
1887
1884
  template: `
@@ -1900,14 +1897,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
1900
1897
  }] });
1901
1898
 
1902
1899
  const importsAndExports$1 = [DbxFormCalendarDateScheduleRangeFieldComponent];
1900
+ /**
1901
+ * @deprecated Use provideDbxForgeCalendarFieldDeclarations() instead.
1902
+ */
1903
1903
  class DbxFormDateScheduleRangeFieldModule {
1904
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1905
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.3", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, imports: [DbxFormCalendarDateScheduleRangeFieldComponent, i1$5.FormlyModule], exports: [DbxFormCalendarDateScheduleRangeFieldComponent] });
1906
- 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({
1907
1907
  types: [{ name: 'date-schedule-range', component: DbxFormCalendarDateScheduleRangeFieldComponent }]
1908
1908
  })] });
1909
1909
  }
1910
- 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: [{
1911
1911
  type: NgModule,
1912
1912
  args: [{
1913
1913
  imports: [
@@ -1920,7 +1920,271 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
1920
1920
  }]
1921
1921
  }] });
1922
1922
 
1923
- // 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 forgeDateScheduleRangeField(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
+ // Standard ng-forge value field inputs
1978
+ field = input.required(...(ngDevMode ? [{ debugName: "field" }] : /* istanbul ignore next */ []));
1979
+ key = input.required(...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
1980
+ label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : /* istanbul ignore next */ []));
1981
+ placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : /* istanbul ignore next */ []));
1982
+ className = input('', ...(ngDevMode ? [{ debugName: "className" }] : /* istanbul ignore next */ []));
1983
+ tabIndex = input(...(ngDevMode ? [undefined, { debugName: "tabIndex" }] : /* istanbul ignore next */ []));
1984
+ props = input(...(ngDevMode ? [undefined, { debugName: "props" }] : /* istanbul ignore next */ []));
1985
+ meta = input(...(ngDevMode ? [undefined, { debugName: "meta" }] : /* istanbul ignore next */ []));
1986
+ validationMessages = input(...(ngDevMode ? [undefined, { debugName: "validationMessages" }] : /* istanbul ignore next */ []));
1987
+ defaultValidationMessages = input(...(ngDevMode ? [undefined, { debugName: "defaultValidationMessages" }] : /* istanbul ignore next */ []));
1988
+ // Subscription management
1989
+ _syncSub = new SubscriptionObject();
1990
+ _valueSub = new SubscriptionObject();
1991
+ _timezoneSub = new SubscriptionObject();
1992
+ _minMaxDateRangeSub = new SubscriptionObject();
1993
+ _defaultWeekSub = new SubscriptionObject();
1994
+ _filterSub = new SubscriptionObject();
1995
+ _exclusionsSub = new SubscriptionObject();
1996
+ // Field value signal (double-call pattern: field()() to get FieldState)
1997
+ fieldValue = computed(() => {
1998
+ const state = this.field()?.();
1999
+ return state?.value?.();
2000
+ }, ...(ngDevMode ? [{ debugName: "fieldValue" }] : /* istanbul ignore next */ []));
2001
+ isDisabled = computed(() => {
2002
+ const state = this.field()?.();
2003
+ return state?.disabled?.() ?? false;
2004
+ }, ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
2005
+ isRequiredSignal = computed(() => {
2006
+ const state = this.field()?.();
2007
+ return state?.required?.() ?? false;
2008
+ }, ...(ngDevMode ? [{ debugName: "isRequiredSignal" }] : /* istanbul ignore next */ []));
2009
+ // Computed props
2010
+ labelTextSignal = computed(() => this.props()?.label, ...(ngDevMode ? [{ debugName: "labelTextSignal" }] : /* istanbul ignore next */ []));
2011
+ descriptionSignal = computed(() => this.props()?.description, ...(ngDevMode ? [{ debugName: "descriptionSignal" }] : /* istanbul ignore next */ []));
2012
+ isReadonlyOrDisabledSignal = computed(() => this.props()?.readonly || this.isDisabled(), ...(ngDevMode ? [{ debugName: "isReadonlyOrDisabledSignal" }] : /* istanbul ignore next */ []));
2013
+ openPickerOnTextClickSignal = computed(() => this.props()?.allowTextInput !== true, ...(ngDevMode ? [{ debugName: "openPickerOnTextClickSignal" }] : /* istanbul ignore next */ []));
2014
+ showCustomizeSignal = computed(() => !this.props()?.hideCustomize, ...(ngDevMode ? [{ debugName: "showCustomizeSignal" }] : /* istanbul ignore next */ []));
2015
+ dialogContentConfigSignal = computed(() => this.props()?.dialogContentConfig, ...(ngDevMode ? [{ debugName: "dialogContentConfigSignal" }] : /* istanbul ignore next */ []));
2016
+ customDetailsConfigSignal = computed(() => this.props()?.customDetailsConfig, ...(ngDevMode ? [{ debugName: "customDetailsConfigSignal" }] : /* istanbul ignore next */ []));
2017
+ allowCustomizeWithoutDateRangeSignal = computed(() => this.props()?.allowCustomizeWithoutDateRange ?? false, ...(ngDevMode ? [{ debugName: "allowCustomizeWithoutDateRangeSignal" }] : /* istanbul ignore next */ []));
2018
+ disableCustomizeSignal = computed(() => {
2019
+ if (this.allowCustomizeWithoutDateRangeSignal()) {
2020
+ return false;
2021
+ }
2022
+ return !this.fieldValue();
2023
+ }, ...(ngDevMode ? [{ debugName: "disableCustomizeSignal" }] : /* istanbul ignore next */ []));
2024
+ _setFieldValue(value) {
2025
+ try {
2026
+ const state = this.field()?.();
2027
+ if (state?.value?.set) {
2028
+ state.value.set(value);
2029
+ }
2030
+ }
2031
+ catch {
2032
+ // field input may not be available yet (NG0950) during early store emissions
2033
+ }
2034
+ }
2035
+ constructor() {
2036
+ // Convert field value to observable for store sync
2037
+ const fieldValue$ = toObservable(this.fieldValue);
2038
+ // Sync field value → store (skip initial emission)
2039
+ this._syncSub.subscription = fieldValue$
2040
+ .pipe(skip(1), distinctUntilChanged((a, b) => isSameDateCellScheduleDateRange(a, b)))
2041
+ .subscribe((x) => {
2042
+ this.dbxCalendarScheduleSelectionStore.setDateScheduleRangeValue(x);
2043
+ });
2044
+ // Sync store → field value
2045
+ this._valueSub.subscription = this.dbxCalendarScheduleSelectionStore.currentDateCellScheduleRangeValue$.subscribe((x) => {
2046
+ this._setFieldValue(x);
2047
+ });
2048
+ // Set up store configuration from props (runs once on init via effect)
2049
+ effect(() => {
2050
+ const p = this.props();
2051
+ if (!p) {
2052
+ return;
2053
+ }
2054
+ const { outputTimezone, minMaxDateRange, filter, exclusions, defaultScheduleDays, initialSelectionState, computeSelectionResultRelativeToFilter, cellContentFactory } = p;
2055
+ if (filter != null) {
2056
+ this._filterSub.subscription = this.dbxCalendarScheduleSelectionStore.setFilter(asObservable(filter));
2057
+ }
2058
+ if (defaultScheduleDays != null) {
2059
+ this._defaultWeekSub.subscription = this.dbxCalendarScheduleSelectionStore.setDefaultScheduleDays(asObservable(defaultScheduleDays));
2060
+ }
2061
+ if (minMaxDateRange != null) {
2062
+ this._minMaxDateRangeSub.subscription = this.dbxCalendarScheduleSelectionStore.setMinMaxDateRange(asObservable(minMaxDateRange));
2063
+ }
2064
+ if (exclusions != null) {
2065
+ this._exclusionsSub.subscription = this.dbxCalendarScheduleSelectionStore.setExclusions(asObservable(exclusions));
2066
+ }
2067
+ if (outputTimezone != null) {
2068
+ this.dbxCalendarScheduleSelectionStore.setOutputTimezone(asObservable(outputTimezone));
2069
+ }
2070
+ if (initialSelectionState !== undefined) {
2071
+ this.dbxCalendarScheduleSelectionStore.setInitialSelectionState(initialSelectionState);
2072
+ }
2073
+ if (computeSelectionResultRelativeToFilter != null) {
2074
+ this.dbxCalendarScheduleSelectionStore.setComputeSelectionResultRelativeToFilter(computeSelectionResultRelativeToFilter);
2075
+ }
2076
+ if (cellContentFactory != null) {
2077
+ this.dbxCalendarScheduleSelectionStore.setCellContentFactory(cellContentFactory);
2078
+ }
2079
+ });
2080
+ }
2081
+ ngOnDestroy() {
2082
+ this._syncSub.destroy();
2083
+ this._valueSub.destroy();
2084
+ this._filterSub.destroy();
2085
+ this._timezoneSub.destroy();
2086
+ this._minMaxDateRangeSub.destroy();
2087
+ this._defaultWeekSub.destroy();
2088
+ this._exclusionsSub.destroy();
2089
+ }
2090
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxForgeCalendarDateScheduleRangeFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2091
+ 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: `
2092
+ <div class="dbx-schedule-selection-field">
2093
+ <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="openPickerOnTextClickSignal()" [showCustomize]="showCustomizeSignal()" [required]="isRequiredSignal()" [disabled]="isReadonlyOrDisabledSignal()" [label]="labelTextSignal()" [hint]="descriptionSignal()">
2094
+ <dbx-schedule-selection-calendar-date-dialog-button customizeButton [disabled]="disableCustomizeSignal()" [contentConfig]="dialogContentConfigSignal()"></dbx-schedule-selection-calendar-date-dialog-button>
2095
+ <dbx-injection [config]="customDetailsConfigSignal()"></dbx-injection>
2096
+ </dbx-schedule-selection-calendar-date-range>
2097
+ </div>
2098
+ `, 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 });
2099
+ }
2100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxForgeCalendarDateScheduleRangeFieldComponent, decorators: [{
2101
+ type: Component,
2102
+ args: [{
2103
+ selector: 'dbx-forge-calendar-date-schedule-range-field',
2104
+ template: `
2105
+ <div class="dbx-schedule-selection-field">
2106
+ <dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="openPickerOnTextClickSignal()" [showCustomize]="showCustomizeSignal()" [required]="isRequiredSignal()" [disabled]="isReadonlyOrDisabledSignal()" [label]="labelTextSignal()" [hint]="descriptionSignal()">
2107
+ <dbx-schedule-selection-calendar-date-dialog-button customizeButton [disabled]="disableCustomizeSignal()" [contentConfig]="dialogContentConfigSignal()"></dbx-schedule-selection-calendar-date-dialog-button>
2108
+ <dbx-injection [config]="customDetailsConfigSignal()"></dbx-injection>
2109
+ </dbx-schedule-selection-calendar-date-range>
2110
+ </div>
2111
+ `,
2112
+ providers: [provideCalendarScheduleSelectionStoreIfParentIsUnavailable()],
2113
+ imports: [DbxInjectionComponent, DbxScheduleSelectionCalendarDateRangeComponent, DbxScheduleSelectionCalendarDateDialogButtonComponent],
2114
+ changeDetection: ChangeDetectionStrategy.OnPush,
2115
+ standalone: true
2116
+ }]
2117
+ }], 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 }] }] } });
2118
+ /**
2119
+ * Custom mapper for the forge calendar date schedule range field.
2120
+ *
2121
+ * Uses the standard buildValueFieldInputs to bridge the ng-forge field definition
2122
+ * to the component's input signals.
2123
+ *
2124
+ * @param fieldDef - Field definition configuration
2125
+ * @param fieldDef.key - Form model key for the field
2126
+ * @returns Signal containing a Record of input names to values for ngComponentOutlet
2127
+ */
2128
+ function calendarDateScheduleRangeFieldMapper(fieldDef) {
2129
+ const ctx = resolveValueFieldContext();
2130
+ const defaultProps = inject(DEFAULT_PROPS);
2131
+ const defaultValidationMessages = inject(DEFAULT_VALIDATION_MESSAGES);
2132
+ return computed(() => {
2133
+ return buildValueFieldInputs(fieldDef, ctx, defaultProps?.(), defaultValidationMessages?.());
2134
+ });
2135
+ }
2136
+
2137
+ var calendar_schedule_forge_field_component = /*#__PURE__*/Object.freeze({
2138
+ __proto__: null,
2139
+ DbxForgeCalendarDateScheduleRangeFieldComponent: DbxForgeCalendarDateScheduleRangeFieldComponent,
2140
+ calendarDateScheduleRangeFieldMapper: calendarDateScheduleRangeFieldMapper
2141
+ });
2142
+
2143
+ /**
2144
+ * Creates form fields for selecting which days of the week are enabled in a schedule selection calendar,
2145
+ * wrapped in a responsive flex layout.
2146
+ *
2147
+ * @deprecated Use dbxScheduleSelectionCalendarDateDaysForgeFormFields() instead.
2148
+ * @returns An array of Formly field configs with toggle fields for each day of the week
2149
+ */
2150
+ function dbxScheduleSelectionCalendarDateDaysFormFields() {
2151
+ const fields = dbxScheduleSelectionCalendarDateDaysFormDayFields();
2152
+ return [formlyFlexLayoutWrapper(fields, { relative: true, size: 3 })];
2153
+ }
2154
+ /**
2155
+ * Creates an array of toggle field configs, one for each day of the week, keyed by lowercase day name.
2156
+ *
2157
+ * @deprecated Use forge toggle fields directly.
2158
+ * @returns An array of toggle Formly field configs for each day of the week
2159
+ */
2160
+ function dbxScheduleSelectionCalendarDateDaysFormDayFields() {
2161
+ return getDaysOfWeekNames(false).map((dayOfWeekName) => {
2162
+ return formlyToggleField({
2163
+ key: dayOfWeekName.toLowerCase(),
2164
+ label: dayOfWeekName
2165
+ });
2166
+ });
2167
+ }
2168
+
2169
+ /**
2170
+ * @deprecated Use DbxScheduleSelectionCalendarDateDaysForgeFormComponent instead.
2171
+ */
2172
+ class DbxScheduleSelectionCalendarDateDaysFormComponent extends AbstractSyncFormlyFormDirective {
2173
+ fields = dbxScheduleSelectionCalendarDateDaysFormFields();
2174
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
2175
+ 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 });
2176
+ }
2177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysFormComponent, decorators: [{
2178
+ type: Component,
2179
+ args: [{
2180
+ selector: 'dbx-schedule-selection-calendar-date-days-form',
2181
+ template: DBX_FORMLY_FORM_COMPONENT_TEMPLATE,
2182
+ providers: dbxFormlyFormComponentProviders(),
2183
+ imports: [DbxFormlyFormComponentImportsModule, DbxFormFormlyWrapperModule, DbxFormFormlyBooleanFieldModule],
2184
+ changeDetection: ChangeDetectionStrategy.OnPush,
2185
+ standalone: true
2186
+ }]
2187
+ }] });
1924
2188
 
1925
2189
  const importsAndExports = [
1926
2190
  DbxScheduleSelectionCalendarComponent,
@@ -1938,9 +2202,12 @@ const importsAndExports = [
1938
2202
  //
1939
2203
  DbxFormFormlyWrapperModule
1940
2204
  ];
2205
+ /**
2206
+ * @deprecated Import components directly and use provideDbxForgeCalendarFieldDeclarations().
2207
+ */
1941
2208
  class DbxFormCalendarModule {
1942
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1943
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.3", ngImport: i0, type: DbxFormCalendarModule, imports: [DbxScheduleSelectionCalendarComponent,
2209
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxFormCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2210
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.4", ngImport: i0, type: DbxFormCalendarModule, imports: [DbxScheduleSelectionCalendarComponent,
1944
2211
  DbxScheduleSelectionCalendarDateDaysComponent,
1945
2212
  DbxScheduleSelectionCalendarDateDaysFormComponent,
1946
2213
  DbxScheduleSelectionCalendarDateRangeComponent,
@@ -1967,7 +2234,7 @@ class DbxFormCalendarModule {
1967
2234
  DbxScheduleSelectionCalendarSelectionToggleButtonComponent,
1968
2235
  //
1969
2236
  DbxFormFormlyWrapperModule] });
1970
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormCalendarModule, imports: [DbxScheduleSelectionCalendarComponent,
2237
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxFormCalendarModule, imports: [DbxScheduleSelectionCalendarComponent,
1971
2238
  DbxScheduleSelectionCalendarDateDaysComponent,
1972
2239
  DbxScheduleSelectionCalendarDateDaysFormComponent,
1973
2240
  DbxScheduleSelectionCalendarDateRangeComponent,
@@ -1983,7 +2250,7 @@ class DbxFormCalendarModule {
1983
2250
  //
1984
2251
  DbxFormFormlyWrapperModule] });
1985
2252
  }
1986
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFormCalendarModule, decorators: [{
2253
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: DbxFormCalendarModule, decorators: [{
1987
2254
  type: NgModule,
1988
2255
  args: [{
1989
2256
  imports: importsAndExports,
@@ -1991,9 +2258,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
1991
2258
  }]
1992
2259
  }] });
1993
2260
 
2261
+ /**
2262
+ * Forge calendar date schedule range field type definition.
2263
+ *
2264
+ * Registers the custom calendar date schedule range field component with ng-forge's dynamic form system.
2265
+ * Uses lazy loading for the component.
2266
+ */
2267
+ const DbxForgeCalendarDateScheduleRangeFieldType = {
2268
+ name: FORGE_CALENDAR_DATE_SCHEDULE_RANGE_FIELD_TYPE,
2269
+ loadComponent: () => Promise.resolve().then(function () { return calendar_schedule_forge_field_component; }).then((m) => m.DbxForgeCalendarDateScheduleRangeFieldComponent),
2270
+ mapper: calendarDateScheduleRangeFieldMapper
2271
+ };
2272
+ /**
2273
+ * All custom dbx-form/calendar forge field type definitions.
2274
+ */
2275
+ const DBX_FORGE_CALENDAR_FIELD_TYPES = [DbxForgeCalendarDateScheduleRangeFieldType];
2276
+ /**
2277
+ * Registers ng-forge dynamic form field declarations for the calendar package.
2278
+ *
2279
+ * Add this to your app's providers alongside provideDbxForgeFormFieldDeclarations().
2280
+ *
2281
+ * @returns An array of providers that register the calendar forge field types with ng-forge
2282
+ */
2283
+ function provideDbxForgeCalendarFieldDeclarations() {
2284
+ return provideDynamicForm(...DBX_FORGE_CALENDAR_FIELD_TYPES);
2285
+ }
2286
+
1994
2287
  /**
1995
2288
  * Generated bundle index. Do not edit.
1996
2289
  */
1997
2290
 
1998
- 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 };
2291
+ 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, dbxScheduleSelectionCalendarBeforeMonthViewRenderFactory, dbxScheduleSelectionCalendarDateDaysForgeFormDayFields, dbxScheduleSelectionCalendarDateDaysForgeFormFields, dbxScheduleSelectionCalendarDateDaysFormDayFields, dbxScheduleSelectionCalendarDateDaysFormFields, defaultCalendarScheduleSelectionCellContentFactory, finalizeNewCalendarScheduleSelectionState, finalizeUpdateStateWithChangedScheduleDays, forgeDateScheduleRangeField, initialCalendarScheduleSelectionState, isEnabledDayInCalendarScheduleSelectionState, noSelectionCalendarScheduleSelectionState, provideCalendarScheduleSelectionStoreIfParentIsUnavailable, provideDbxForgeCalendarFieldDeclarations, updateStateWithChangedDates, updateStateWithChangedDefaultScheduleDays, updateStateWithChangedRange, updateStateWithChangedScheduleDays, updateStateWithComputeSelectionResultRelativeToFilter, updateStateWithDateCellScheduleRangeValue, updateStateWithExclusions, updateStateWithFilter, updateStateWithInitialSelectionState, updateStateWithMinMaxDateRange, updateStateWithSelectionMode, updateStateWithTimezoneValue };
1999
2292
  //# sourceMappingURL=dereekb-dbx-form-calendar.mjs.map