@dereekb/dbx-form 9.25.12 → 9.25.14

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.
@@ -7,8 +7,8 @@ import { Injectable, SkipSelf, Directive, Injector, Optional, Component, Inject,
7
7
  import { FieldType } from '@ngx-formly/material';
8
8
  import { switchMap, first, tap, map, distinctUntilChanged, shareReplay, of, combineLatestWith, BehaviorSubject, filter, combineLatest, EMPTY, startWith, throttleTime } from 'rxjs';
9
9
  import { filterMaybe, distinctUntilHasDifferentValues, SubscriptionObject, asObservableFromGetter, asObservable } from '@dereekb/rxjs';
10
- import { DateCellScheduleDayCode, expandDateCellScheduleDayCodesToDayOfWeekSet, dateCellTimingStartsAtForStartOfDay, dateCellTimingRelativeIndexFactory, dateCellDayOfWeekFactory, dateTimezoneUtcNormal, findMaxDate, findMinDate, isSameDateRange, isSameDateDay, isSameDate, dateCellTimingDateFactory, expandDateCellScheduleRange, formatToISO8601DayString, changeDateCellScheduleDateRangeToTimezone, isSameDateCellScheduleDateRange, dateCellTimingRelativeIndexArrayFactory, isInfiniteDateRange, copyDateCellScheduleDateFilterConfig, SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE, dateCellScheduleDateFilter, fullDateCellScheduleRange, dateCellTimingTimezoneNormalInstance, expandDateCellScheduleDayCodes, fullWeekDateCellScheduleDayCodes, dateCellScheduleDayCodesAreSetsEquivalent, simplifyDateCellScheduleDayCodes, isDateInDateRangeFunction, isDateWithinDateCellRangeFunction, dateCellScheduleEncodedWeek, dateCellTimingStartDateFactory, enabledDaysFromDateCellScheduleDayCodes, dateCellScheduleDayCodesFromEnabledDays, formatToMonthDayString, dateRange, DateRangeType } from '@dereekb/date';
11
- import { isInAllowedDaysOfWeekSet, mapValuesToSet, unique, mergeArrays, iterableToArray, range, toggleInSet, removeFromSet, addToSet, isIndexNumberInIndexRangeFunction, minAndMaxNumber, getDaysOfWeekNames, reduceBooleansWithAnd, mergeObjects, KeyValueTypleValueFilter } from '@dereekb/util';
10
+ import { DateCellScheduleDayCode, expandDateCellScheduleDayCodesToDayOfWeekSet, dateCellTimingStartsAtForStartOfDay, dateCellTimingRelativeIndexFactory, dateCellDayOfWeekFactory, dateTimezoneUtcNormal, findMaxDate, findMinDate, isSameDateRange, isSameDateDay, isSameDate, dateCellTimingDateFactory, expandDateCellScheduleRange, formatToISO8601DayString, 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';
12
12
  import { ComponentStore } from '@ngrx/component-store';
13
13
  import { startOfDay, endOfDay, isBefore, endOfWeek } from 'date-fns';
14
14
  import * as i3$1 from '@dereekb/dbx-core';
@@ -102,6 +102,7 @@ function initialCalendarScheduleSelectionState() {
102
102
  const indexFactory = dateCellTimingRelativeIndexFactory(defaultStartsAt);
103
103
  const indexDayOfWeek = dateCellDayOfWeekFactory(startsAt);
104
104
  return {
105
+ selectionMode: 'multiple',
105
106
  start: startsAt,
106
107
  systemTimezone,
107
108
  indexFactory,
@@ -164,6 +165,7 @@ class DbxCalendarScheduleSelectionStore extends ComponentStore {
164
165
  }))));
165
166
  });
166
167
  // MARK: Accessors
168
+ this.selectionMode$ = this.state$.pipe(map((x) => x.selectionMode), distinctUntilChanged(), shareReplay(1));
167
169
  this.filter$ = this.state$.pipe(map((x) => x.filter), distinctUntilChanged(), shareReplay(1));
168
170
  this.minMaxDateRange$ = this.state$.pipe(map(calendarScheduleMinAndMaxDateRange), distinctUntilChanged(isSameDateRange), shareReplay(1));
169
171
  this.minDate$ = this.minMaxDateRange$.pipe(map((x) => x?.start), distinctUntilChanged(isSameDateDay), shareReplay(1));
@@ -261,15 +263,19 @@ class DbxCalendarScheduleSelectionStore extends ComponentStore {
261
263
  this.addSelectedDates = this.updater((state, add) => updateStateWithChangedDates(state, { add }));
262
264
  this.removeSelectedDates = this.updater((state, remove) => updateStateWithChangedDates(state, { remove }));
263
265
  this.setSelectedDates = this.updater((state, set) => updateStateWithChangedDates(state, { set }));
266
+ this.selectAllDates = this.updater((state, selectAll = 'all') => updateStateWithChangedDates(state, { selectAll }));
264
267
  // NOTE: Selected indexes are the typical/expected indexes that are selected or not.
265
268
  this.setSelectedIndexes = this.updater((state, set) => updateStateWithChangedDates(state, { set, invertSetBehavior: true }));
266
- this.selectAllDates = this.updater((state, selectAll = 'all') => updateStateWithChangedDates(state, { selectAll }));
267
269
  this.setInitialSelectionState = this.updater(updateStateWithInitialSelectionState);
268
270
  this.setDefaultScheduleDays = this.updater(updateStateWithChangedDefaultScheduleDays);
269
271
  this.setScheduleDays = this.updater(updateStateWithChangedScheduleDays);
270
272
  this.setAllowAllScheduleDays = this.updater((state) => updateStateWithChangedScheduleDays(state, [DateCellScheduleDayCode.WEEKDAY, DateCellScheduleDayCode.WEEKEND]));
271
273
  this.setDateScheduleRangeValue = this.updater((state, value) => updateStateWithDateCellScheduleRangeValue(state, value));
272
274
  this.setCellContentFactory = this.updater((state, cellContentFactory) => ({ ...state, cellContentFactory }));
275
+ /**
276
+ * Sets the selection mode.
277
+ */
278
+ this.setSelectionMode = this.updater(updateStateWithSelectionMode);
273
279
  /**
274
280
  * Used by the parent view to propogate a readonly state.
275
281
  *
@@ -333,20 +339,22 @@ function updateStateWithExclusions(state, inputExclusions) {
333
339
  return updateStateWithFilter(state, state.filter);
334
340
  }
335
341
  function updateStateWithMinMaxDateRange(state, minMaxDateRange) {
336
- state = { ...state };
337
342
  if (minMaxDateRange != null && !isInfiniteDateRange(minMaxDateRange)) {
338
- state.minMaxDateRange = {
339
- start: minMaxDateRange.start != null ? startOfDay(minMaxDateRange.start) : undefined,
340
- end: minMaxDateRange.end != null ? endOfDay(minMaxDateRange.end) : undefined
343
+ state = {
344
+ ...state,
345
+ minMaxDateRange: {
346
+ start: minMaxDateRange.start != null ? startOfDay(minMaxDateRange.start) : undefined,
347
+ end: minMaxDateRange.end != null ? endOfDay(minMaxDateRange.end) : undefined
348
+ }
341
349
  };
342
350
  }
343
351
  else {
344
- delete state.minMaxDateRange;
352
+ state = { ...state, minMaxDateRange: undefined };
345
353
  }
346
354
  return updateStateWithFilter(state, state.filter);
347
355
  }
348
- function updateStateWithFilter(state, inputFilter) {
349
- const { computedExclusions: exclusions, minMaxDateRange, systemTimezone } = state;
356
+ function updateStateWithFilter(currentState, inputFilter) {
357
+ const { computedExclusions: exclusions, minMaxDateRange, systemTimezone } = currentState;
350
358
  let isEnabledFilterDay = () => true;
351
359
  let filter = null;
352
360
  // create the filter using inputFilter, exclusions, and minMaxDateRange
@@ -415,11 +423,11 @@ function updateStateWithFilter(state, inputFilter) {
415
423
  // use the current state's start, but make sure it is in the proper timezone.
416
424
  if (enabledFilter.timezone) {
417
425
  const timezoneNormal = dateTimezoneUtcNormal(enabledFilter.timezone);
418
- finalEnabledStart = timezoneNormal.startOfDayInTargetTimezone(state.start); // get the start of the day for the current start
426
+ finalEnabledStart = timezoneNormal.startOfDayInTargetTimezone(currentState.start); // get the start of the day for the current start
419
427
  finalEnabledTimezone = enabledFilter.timezone;
420
428
  }
421
429
  else {
422
- finalEnabledStart = state.start;
430
+ finalEnabledStart = currentState.start;
423
431
  finalEnabledTimezone = systemTimezone;
424
432
  }
425
433
  }
@@ -437,7 +445,7 @@ function updateStateWithFilter(state, inputFilter) {
437
445
  // create the filter
438
446
  isEnabledFilterDay = dateCellScheduleDateFilter(enabledFilter);
439
447
  }
440
- state = { ...state, filter, isEnabledFilterDay };
448
+ let nextState = { ...currentState, filter, isEnabledFilterDay };
441
449
  // For the same reason as above, use the filter's start date as the relative start if applicable.
442
450
  if (filter && filter.start) {
443
451
  let startForSystemTimezone = filter.start;
@@ -445,20 +453,20 @@ function updateStateWithFilter(state, inputFilter) {
445
453
  const timezoneNormal = dateTimezoneUtcNormal(filter.timezone);
446
454
  startForSystemTimezone = timezoneNormal.systemDateToTargetDate(filter.start); // get the start of the day for the system timezone
447
455
  }
448
- state.start = startForSystemTimezone;
449
- state.indexFactory = dateCellTimingRelativeIndexFactory({ startsAt: startForSystemTimezone, timezone: systemTimezone });
450
- state.indexDayOfWeek = dateCellDayOfWeekFactory(startForSystemTimezone);
456
+ nextState.start = startForSystemTimezone;
457
+ nextState.indexFactory = dateCellTimingRelativeIndexFactory({ startsAt: startForSystemTimezone, timezone: systemTimezone });
458
+ nextState.indexDayOfWeek = dateCellDayOfWeekFactory(startForSystemTimezone);
451
459
  }
452
460
  // attempt to re-apply the initial selection state once filter is applied
453
- if (state.initialSelectionState) {
454
- state = updateStateWithInitialSelectionState(state, state.initialSelectionState);
461
+ if (nextState.initialSelectionState) {
462
+ nextState = updateStateWithInitialSelectionState(nextState, nextState.initialSelectionState);
455
463
  }
456
464
  // re-calculate the selection given the filter
457
- const { inputStart, inputEnd } = state;
465
+ const { inputStart, inputEnd } = nextState;
458
466
  if (inputStart && inputEnd) {
459
- state = updateStateWithChangedRange(state, { inputStart, inputEnd });
467
+ nextState = updateStateWithChangedRange(nextState, { inputStart, inputEnd });
460
468
  }
461
- return state;
469
+ return nextState;
462
470
  }
463
471
  function updateStateWithTimezoneValue(state, timezone) {
464
472
  const { currentSelectionValue } = state;
@@ -551,6 +559,22 @@ function updateStateWithChangedScheduleDays(state, change) {
551
559
  return finalizeUpdateStateWithChangedScheduleDays(state, { ...state, scheduleDays: newScheduleDays ?? undefined });
552
560
  }
553
561
  }
562
+ function updateStateWithSelectionMode(state, selectionMode) {
563
+ const { selectionMode: currentSelectionMode } = state;
564
+ if (currentSelectionMode !== selectionMode) {
565
+ const nextState = { ...state, selectionMode };
566
+ if (selectionMode === 'multiple') {
567
+ return nextState;
568
+ }
569
+ else {
570
+ const currentSelectionRange = computeCalendarScheduleSelectionDateCellRange(nextState);
571
+ return currentSelectionRange ? updateStateWithChangedDates(nextState, { set: [currentSelectionRange.i], invertSetBehavior: true }) : nextState;
572
+ }
573
+ }
574
+ else {
575
+ return state;
576
+ }
577
+ }
554
578
  function finalizeUpdateStateWithChangedScheduleDays(previousState, nextState) {
555
579
  const previousScheduleDays = previousState.effectiveScheduleDays;
556
580
  const nextScheduleDays = nextState.scheduleDays ?? nextState.defaultScheduleDays;
@@ -569,8 +593,8 @@ function finalizeUpdateStateWithChangedScheduleDays(previousState, nextState) {
569
593
  }
570
594
  }
571
595
  function updateStateWithChangedDates(state, change) {
572
- const { allowedDaysOfWeek, indexFactory, indexDayOfWeek, inputStart: currentInputStart, inputEnd: currentInputEnd, minMaxDateRange, filter } = state;
573
- const { start: minDate, end: maxDate } = calendarScheduleMinAndMaxDateRangeRelativeToFilter(state);
596
+ const { selectionMode, allowedDaysOfWeek, indexFactory, indexDayOfWeek, inputStart: currentInputStart, inputEnd: currentInputEnd, minMaxDateRange, filter } = state;
597
+ const { start: minDateFromFilter, end: maxDateFromFilter } = calendarScheduleMinAndMaxDateRangeRelativeToFilter(state);
574
598
  let inputStart = currentInputStart;
575
599
  let inputEnd = currentInputEnd;
576
600
  /**
@@ -582,14 +606,39 @@ function updateStateWithChangedDates(state, change) {
582
606
  function asIndexes(indexes) {
583
607
  return iterableToArray(indexes).map(indexFactory);
584
608
  }
609
+ // When using selection mode "single" we update the change to reflect the single selection.
610
+ if (selectionMode === 'single') {
611
+ function setFromFirstValue(input) {
612
+ const firstValue = isIterable(input) ? firstValueFromIterable(input) : input;
613
+ const set = new Set();
614
+ if (firstValue != null) {
615
+ set.add(firstValue);
616
+ }
617
+ return set;
618
+ }
619
+ if (change.set) {
620
+ change = { set: setFromFirstValue(change.set), invertSetBehavior: true };
621
+ }
622
+ else if (change.toggle) {
623
+ const nextSet = setFromFirstValue(change.toggle);
624
+ if (nextSet.size) {
625
+ const firstSetValueIndex = indexFactory(firstValueFromIterable(nextSet));
626
+ if (state.toggledIndexes.has(firstSetValueIndex) || (inputStart && indexFactory(inputStart) === firstSetValueIndex)) {
627
+ nextSet.clear(); // clear with the next set
628
+ }
629
+ change = { set: nextSet, invertSetBehavior: true };
630
+ }
631
+ }
632
+ // set, selectAll, add, and remove are treated as they normally are.
633
+ }
585
634
  if (change.reset || change.selectAll != null || change.set != null) {
586
635
  let set = change.set ?? [];
587
636
  const selectAll = change.reset === true ? state.initialSelectionState : change.selectAll;
588
637
  switch (selectAll) {
589
638
  case 'all':
590
- if (minDate != null && maxDate != null) {
591
- inputStart = minDate;
592
- inputEnd = maxDate;
639
+ if (minDateFromFilter != null && maxDateFromFilter != null) {
640
+ inputStart = minDateFromFilter;
641
+ inputEnd = maxDateFromFilter;
593
642
  set = [];
594
643
  }
595
644
  break;
@@ -599,17 +648,43 @@ function updateStateWithChangedDates(state, change) {
599
648
  set = [];
600
649
  break;
601
650
  }
602
- toggledIndexes = new Set(asIndexes(set));
603
- if (change.invertSetBehavior && minDate && maxDate && !selectAll) {
604
- const minIndex = indexFactory(minDate);
605
- const maxIndex = indexFactory(maxDate);
606
- inputStart = minDate;
607
- inputEnd = maxDate;
608
- toggledIndexes = new Set(range(minIndex, maxIndex + 1).filter((x) => !toggledIndexes.has(x)));
651
+ const inputSetIndexes = asIndexes(set);
652
+ toggledIndexes = new Set(inputSetIndexes);
653
+ if (change.invertSetBehavior && !selectAll) {
654
+ let minIndex;
655
+ let maxIndex;
656
+ if (minDateFromFilter != null && maxDateFromFilter != null) {
657
+ // only applicable when the filter is set.
658
+ minIndex = indexFactory(minDateFromFilter);
659
+ maxIndex = indexFactory(maxDateFromFilter);
660
+ inputStart = minDateFromFilter;
661
+ inputEnd = maxDateFromFilter;
662
+ }
663
+ else {
664
+ // when the filter is not set, use the least and greatest indexes from the input set.
665
+ const minAndMax = minAndMaxNumber(inputSetIndexes);
666
+ if (minAndMax != null) {
667
+ minIndex = minAndMax.min;
668
+ maxIndex = minAndMax.max;
669
+ const dateFactory = dateCellTimingStartDateFactory(indexFactory._timing);
670
+ inputStart = dateFactory(minAndMax.min);
671
+ inputEnd = minAndMax.min === minAndMax.max ? inputStart : dateFactory(minAndMax.max);
672
+ }
673
+ else {
674
+ // equivalent to an empty set / using "none" with selectAll.
675
+ inputStart = null;
676
+ inputEnd = null;
677
+ toggledIndexes = new Set();
678
+ }
679
+ }
680
+ // toggledIndexes should not include any indexes we want to include
681
+ if (minIndex != null && maxIndex != null) {
682
+ toggledIndexes = new Set(range(minIndex, maxIndex + 1).filter((x) => !toggledIndexes.has(x)));
683
+ }
609
684
  }
610
685
  }
611
686
  else {
612
- toggledIndexes = new Set(state.toggledIndexes);
687
+ toggledIndexes = new Set(state.toggledIndexes); // copy the set
613
688
  if (change.toggle) {
614
689
  const allowedToToggle = asIndexes(change.toggle).filter((i) => allowedDaysOfWeek.has(indexDayOfWeek(i)));
615
690
  toggleInSet(toggledIndexes, allowedToToggle);
@@ -1178,7 +1253,9 @@ class DbxScheduleSelectionCalendarDatePopoverButtonComponent {
1178
1253
  this.disabled$ = this.dbxCalendarScheduleSelectionStore.isViewReadonly$;
1179
1254
  this.buttonText$ = this.dbxCalendarScheduleSelectionStore.currentDateRange$.pipe(map((x) => {
1180
1255
  if (x?.start && x.end) {
1181
- return `${formatToMonthDayString(x.start)} - ${formatToMonthDayString(x.end)}`;
1256
+ const startString = formatToMonthDayString(x.start);
1257
+ const endString = formatToMonthDayString(x.end);
1258
+ return startString === endString ? startString : `${formatToMonthDayString(x.start)} - ${formatToMonthDayString(x.end)}`;
1182
1259
  }
1183
1260
  else {
1184
1261
  return 'Pick a Date Range';
@@ -1262,24 +1339,26 @@ class DbxScheduleSelectionCalendarSelectionToggleButtonComponent {
1262
1339
  return this.dbxCalendarScheduleSelectionStore.nextToggleSelection$.pipe(map((x) => !x));
1263
1340
  }
1264
1341
  }), distinctUntilChanged(), shareReplay(1));
1265
- this.buttonDisplay$ = this.dbxCalendarScheduleSelectionStore.nextToggleSelection$.pipe(map((x) => {
1266
- let buttonDisplay;
1267
- switch (x) {
1268
- case 'all':
1269
- buttonDisplay = {
1270
- icon: 'select_all',
1271
- text: 'Select All'
1272
- };
1273
- break;
1274
- default:
1275
- case 'none':
1276
- buttonDisplay = {
1277
- icon: 'clear',
1278
- text: 'Clear All'
1279
- };
1280
- break;
1281
- }
1282
- return buttonDisplay;
1342
+ this.buttonDisplay$ = this.dbxCalendarScheduleSelectionStore.selectionMode$.pipe(switchMap((selectionMode) => {
1343
+ return this.dbxCalendarScheduleSelectionStore.nextToggleSelection$.pipe(map((x) => {
1344
+ let buttonDisplay;
1345
+ switch (x) {
1346
+ case 'all':
1347
+ buttonDisplay = {
1348
+ icon: 'select_all',
1349
+ text: 'Select All'
1350
+ };
1351
+ break;
1352
+ default:
1353
+ case 'none':
1354
+ buttonDisplay = {
1355
+ icon: 'clear',
1356
+ text: selectionMode === 'multiple' ? 'Clear All' : 'Clear'
1357
+ };
1358
+ break;
1359
+ }
1360
+ return buttonDisplay;
1361
+ }));
1283
1362
  }), shareReplay(1));
1284
1363
  }
1285
1364
  ngOnDestroy() {
@@ -1876,5 +1955,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
1876
1955
  * Generated bundle index. Do not edit.
1877
1956
  */
1878
1957
 
1879
- export { CalendarScheduleSelectionDayState, DEFAULT_DBX_SCHEDULE_SELECTION_CALENDAR_DATE_POPUP_CLOSE_CONFIG_TOKEN, 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, updateStateWithTimezoneValue };
1958
+ export { CalendarScheduleSelectionDayState, DEFAULT_DBX_SCHEDULE_SELECTION_CALENDAR_DATE_POPUP_CLOSE_CONFIG_TOKEN, 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 };
1880
1959
  //# sourceMappingURL=dereekb-dbx-form-calendar.mjs.map