willba-component-library 0.2.58 → 0.2.60

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 (25) hide show
  1. package/lib/components/FilterCalendar/FilterCalendar.d.ts +1 -1
  2. package/lib/components/FilterCalendar/hooks/useFilterCalendar.d.ts +5 -2
  3. package/lib/core/components/calendar/CalendarTypes.d.ts +1 -1
  4. package/lib/core/components/calendar/hooks/useCalendarLoadingSpinner.d.ts +1 -3
  5. package/lib/core/components/calendar/hooks/useCalendarTooltips.d.ts +1 -6
  6. package/lib/core/components/calendar/hooks/useUpdateDisabledDates.d.ts +2 -2
  7. package/lib/core/components/calendar/utils/handleCalendarModifiers.d.ts +1 -1
  8. package/lib/index.d.ts +2 -2
  9. package/lib/index.esm.js +47 -43
  10. package/lib/index.esm.js.map +1 -1
  11. package/lib/index.js +47 -43
  12. package/lib/index.js.map +1 -1
  13. package/lib/index.umd.js +47 -43
  14. package/lib/index.umd.js.map +1 -1
  15. package/package.json +1 -1
  16. package/src/components/FilterCalendar/FilterCalendar.stories.tsx +415 -379
  17. package/src/components/FilterCalendar/FilterCalendar.tsx +5 -3
  18. package/src/components/FilterCalendar/hooks/useFilterCalendar.ts +11 -3
  19. package/src/core/components/calendar/Calendar.tsx +4 -10
  20. package/src/core/components/calendar/CalendarTypes.ts +1 -1
  21. package/src/core/components/calendar/hooks/useCalendarLoadingSpinner.tsx +2 -8
  22. package/src/core/components/calendar/hooks/useCalendarTooltips.tsx +2 -18
  23. package/src/core/components/calendar/hooks/useUpdateDisabledDates.tsx +3 -3
  24. package/src/core/components/calendar/utils/calendarSelectionRules.tsx +14 -1
  25. package/src/core/components/calendar/utils/handleCalendarModifiers.tsx +15 -13
package/lib/index.umd.js CHANGED
@@ -11000,6 +11000,8 @@
11000
11000
  ? endOfDay(rangeContext.from)
11001
11001
  : null;
11002
11002
  var rangeContextTo = (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.to) ? endOfDay(rangeContext.to) : null;
11003
+ // When some dates are not available for selection, the earliest date will be available only for "end"
11004
+ // and the latest date will only be available for "start"
11003
11005
  var overlappingDateFrom = (overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.length)
11004
11006
  ? overlappingDate.find(function (date) {
11005
11007
  return !!(date.from && rangeFrom)
@@ -11007,6 +11009,12 @@
11007
11009
  : false;
11008
11010
  })
11009
11011
  : null;
11012
+ var overlappingDateTo = (overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.length)
11013
+ ? overlappingDate.find(function (date) {
11014
+ return !!(date.from && rangeTo) ? isEqual(endOfDay(date.from), rangeTo) : false;
11015
+ })
11016
+ : null;
11017
+ //----------
11010
11018
  var checkOutRange = ((_b = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.availableDates) === null || _b === void 0 ? void 0 : _b.length)
11011
11019
  ? newDisableCalendarDates.availableDates.find(function (checkInDate) {
11012
11020
  return !!(checkInDate.checkIn && rangeFrom)
@@ -11024,7 +11032,8 @@
11024
11032
  // Calendar selection rules: The cases are handled sequentially, starting from simple selections to more complex contextual selections.
11025
11033
  // The rules are processed in a specific order, so one case is handled before another.
11026
11034
  // Changing the order will cause the rules to break or not work properly.
11027
- if (!!overlappingDateFrom) {
11035
+ if (!!overlappingDateFrom ||
11036
+ (calendarRangeFrom && calendarRangeTo && overlappingDateTo)) {
11028
11037
  // 1. If dates overlap, clear the selection.
11029
11038
  return setCalendarRange(undefined);
11030
11039
  }
@@ -11145,24 +11154,26 @@
11145
11154
  disabledAfterCheckIn: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from)
11146
11155
  ? [{ after: calendarRange.from }]
11147
11156
  : [],
11148
- overlappingDate: __spreadArray$1([], __read((!(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) && !!(overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.length) && !rangeContext
11157
+ overlappingDate: __spreadArray$1([], __read((!(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) && !!(overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.length)
11149
11158
  ? overlappingDate.map(function (date) { return ({ from: date.from }); })
11150
11159
  : [])), false),
11151
11160
  noActiveSelectionStart: (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.from) &&
11152
- !((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
11153
- (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.from) &&
11154
- isEqual(endOfDay(rangeContext.from), endOfDay(calendarRange.from)))
11161
+ !(((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
11162
+ isEqual(endOfDay(rangeContext.from), endOfDay(calendarRange.from))) ||
11163
+ ((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) &&
11164
+ isEqual(endOfDay(rangeContext.from), endOfDay(calendarRange.to))))
11155
11165
  ? rangeContext.from
11156
11166
  : [],
11157
- noActiveSelectionMid: __spreadArray$1([], __read((rangeContextMiddleSelection.length
11158
- ? rangeContextMiddleSelection
11159
- : [])), false),
11160
11167
  noActiveSelectionEnd: (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.to) &&
11161
- !((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
11162
- (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.to) &&
11163
- isEqual(endOfDay(rangeContext.to), endOfDay(calendarRange.from)))
11168
+ !(((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
11169
+ isEqual(endOfDay(rangeContext.to), endOfDay(calendarRange.from))) ||
11170
+ ((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) &&
11171
+ isEqual(endOfDay(rangeContext.to), endOfDay(calendarRange.to))))
11164
11172
  ? rangeContext.to
11165
11173
  : [],
11174
+ noActiveSelectionMid: __spreadArray$1([], __read((rangeContextMiddleSelection.length
11175
+ ? rangeContextMiddleSelection
11176
+ : [])), false),
11166
11177
  checkoutOptionsMid: __spreadArray$1([], __read(((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
11167
11178
  !(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) &&
11168
11179
  (currentSelectionLastCheckoutDate === null || currentSelectionLastCheckoutDate === void 0 ? void 0 : currentSelectionLastCheckoutDate.lastCheckOut)
@@ -11265,7 +11276,7 @@
11265
11276
  };
11266
11277
 
11267
11278
  var useCalendarTooltips = function (_a) {
11268
- var calendarRange = _a.calendarRange, updateCalendarMonthNavigation = _a.updateCalendarMonthNavigation, overlappingDate = _a.overlappingDate, updateCalendarDefaultMoth = _a.updateCalendarDefaultMoth, showFeedback = _a.showFeedback;
11279
+ var showFeedback = _a.showFeedback;
11269
11280
  return React__default.useEffect(function () {
11270
11281
  if (typeof document === 'undefined' || !showFeedback)
11271
11282
  return;
@@ -11332,16 +11343,11 @@
11332
11343
  tooltipClonesSpinner.forEach(function (clone) { return clone.remove(); });
11333
11344
  tooltipClonesOverlappingDates.forEach(function (clone) { return clone.remove(); });
11334
11345
  };
11335
- }, [
11336
- calendarRange,
11337
- updateCalendarMonthNavigation,
11338
- overlappingDate,
11339
- updateCalendarDefaultMoth,
11340
- ]);
11346
+ });
11341
11347
  };
11342
11348
 
11343
11349
  var useCalendarLoadingSpinner = function (_a) {
11344
- var loadingData = _a.loadingData, updateCalendarMonthNavigation = _a.updateCalendarMonthNavigation, updateCalendarDefaultMoth = _a.updateCalendarDefaultMoth;
11350
+ var loadingData = _a.loadingData;
11345
11351
  return React__default.useEffect(function () {
11346
11352
  if (typeof document === 'undefined')
11347
11353
  return;
@@ -11354,11 +11360,11 @@
11354
11360
  if (loadingSpinner)
11355
11361
  loadingSpinner.style.display = 'none';
11356
11362
  }
11357
- }, [loadingData, updateCalendarMonthNavigation, updateCalendarDefaultMoth]);
11363
+ });
11358
11364
  };
11359
11365
 
11360
11366
  var useUpdateDisabledDates = function (_a) {
11361
- var disableCalendarDates = _a.disableCalendarDates, calendarRange = _a.calendarRange, updateCalendarMonthNavigation = _a.updateCalendarMonthNavigation, updateCalendarDefaultMoth = _a.updateCalendarDefaultMoth;
11367
+ var disableCalendarDates = _a.disableCalendarDates, calendarRange = _a.calendarRange, updateCalendarMonthNavigation = _a.updateCalendarMonthNavigation, updateCalendarDefaultMonth = _a.updateCalendarDefaultMonth;
11362
11368
  var _b = __read(React__default.useState(undefined), 2), overlappingDate = _b[0], setOverlappingDate = _b[1];
11363
11369
  var newDisableCalendarDates = React__default.useMemo(function () {
11364
11370
  if (disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.availableDates) {
@@ -11402,7 +11408,7 @@
11402
11408
  disableCalendarDates,
11403
11409
  calendarRange,
11404
11410
  updateCalendarMonthNavigation,
11405
- updateCalendarDefaultMoth,
11411
+ updateCalendarDefaultMonth,
11406
11412
  ]);
11407
11413
  return { newDisableCalendarDates: newDisableCalendarDates, overlappingDate: overlappingDate };
11408
11414
  };
@@ -11415,7 +11421,7 @@
11415
11421
 
11416
11422
  var Calendar = React__default.forwardRef(function (_a, ref) {
11417
11423
  var _b, _c;
11418
- var selectedPath = _a.selectedPath, calendarRange = _a.calendarRange, setCalendarRange = _a.setCalendarRange, language = _a.language, disableCalendarDates = _a.disableCalendarDates, requestDates = _a.requestDates, disabledDates = _a.disabledDates, setDisabledDates = _a.setDisabledDates, updateCalendarMonthNavigation = _a.updateCalendarMonthNavigation, setUpdateCalendarMonthNavigation = _a.setUpdateCalendarMonthNavigation, updateCalendarDefaultMoth = _a.updateCalendarDefaultMoth, loadingData = _a.loadingData, showFeedback = _a.showFeedback, palette = _a.palette, setCalendarHasError = _a.setCalendarHasError, setUpdatedForSubmit = _a.setUpdatedForSubmit, rangeContext = _a.rangeContext, calendarHasError = _a.calendarHasError;
11424
+ var selectedPath = _a.selectedPath, calendarRange = _a.calendarRange, setCalendarRange = _a.setCalendarRange, language = _a.language, disableCalendarDates = _a.disableCalendarDates, requestDates = _a.requestDates, disabledDates = _a.disabledDates, setDisabledDates = _a.setDisabledDates, updateCalendarMonthNavigation = _a.updateCalendarMonthNavigation, setUpdateCalendarMonthNavigation = _a.setUpdateCalendarMonthNavigation, updateCalendarDefaultMonth = _a.updateCalendarDefaultMonth, loadingData = _a.loadingData, showFeedback = _a.showFeedback, palette = _a.palette, setCalendarHasError = _a.setCalendarHasError, setUpdatedForSubmit = _a.setUpdatedForSubmit, rangeContext = _a.rangeContext, calendarHasError = _a.calendarHasError;
11419
11425
  // Translations
11420
11426
  var t = useTranslation('common').t;
11421
11427
  var isTablet = reactResponsiveExports.useMediaQuery({ maxWidth: 960 });
@@ -11427,7 +11433,7 @@
11427
11433
  disableCalendarDates: disableCalendarDates,
11428
11434
  calendarRange: calendarRange,
11429
11435
  updateCalendarMonthNavigation: updateCalendarMonthNavigation,
11430
- updateCalendarDefaultMoth: updateCalendarDefaultMoth,
11436
+ updateCalendarDefaultMonth: updateCalendarDefaultMonth,
11431
11437
  }), newDisableCalendarDates = _d.newDisableCalendarDates, overlappingDate = _d.overlappingDate;
11432
11438
  // Handle disable dates by page
11433
11439
  var disabledDatesByPage$1 = disabledDatesByPage({
@@ -11437,17 +11443,11 @@
11437
11443
  });
11438
11444
  // Handle tooltip
11439
11445
  useCalendarTooltips({
11440
- calendarRange: calendarRange,
11441
- updateCalendarMonthNavigation: updateCalendarMonthNavigation,
11442
- overlappingDate: overlappingDate,
11443
- updateCalendarDefaultMoth: updateCalendarDefaultMoth,
11444
11446
  showFeedback: showFeedback,
11445
11447
  });
11446
11448
  // Handle loading spinner
11447
11449
  useCalendarLoadingSpinner({
11448
11450
  loadingData: loadingData,
11449
- updateCalendarMonthNavigation: updateCalendarMonthNavigation,
11450
- updateCalendarDefaultMoth: updateCalendarDefaultMoth,
11451
11451
  });
11452
11452
  // Handle the date selection and availability for selection logic.
11453
11453
  var handleOnSelect = function (range) {
@@ -11479,7 +11479,7 @@
11479
11479
  });
11480
11480
  return (React__default.createElement("div", { className: "will-filter-bar-calendar", ref: ref },
11481
11481
  React__default.createElement("div", { className: "will-calendar-filter-container" },
11482
- React__default.createElement(DayPicker, { key: updateCalendarDefaultMoth, id: "will-calendar", mode: "range", locale: language === 'en' ? enUS : fi, numberOfMonths: !isTablet ? 2 : 1, weekStartsOn: 1, selected: calendarRange, onSelect: function (range) { return handleOnSelect(range); }, captionLayout: "dropdown-buttons", defaultMonth: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) ||
11482
+ React__default.createElement(DayPicker, { key: updateCalendarDefaultMonth, id: "will-calendar", mode: "range", locale: language === 'en' ? enUS : fi, numberOfMonths: !isTablet ? 2 : 1, weekStartsOn: 1, selected: calendarRange, onSelect: function (range) { return handleOnSelect(range); }, captionLayout: "dropdown-buttons", defaultMonth: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) ||
11483
11483
  selectedStartDate ||
11484
11484
  rangeContextStartDate ||
11485
11485
  (((_b = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.length)
@@ -11905,15 +11905,16 @@
11905
11905
  var REDIRECT_URL_FALLBACK = 'http://localhost:3000/';
11906
11906
 
11907
11907
  var useFilterCalendar = function (_a) {
11908
- var onSubmit = _a.onSubmit, setToggleCalendar = _a.setToggleCalendar, noActiveSelection = _a.noActiveSelection, toggleCalendar = _a.toggleCalendar;
11908
+ var onSubmit = _a.onSubmit, setToggleCalendar = _a.setToggleCalendar, noActiveSelection = _a.noActiveSelection, toggleCalendar = _a.toggleCalendar, outerRangeContext = _a.outerRangeContext;
11909
11909
  // State
11910
11910
  var _b = __read(React__default.useState(), 2), calendarRange = _b[0], setCalendarRange = _b[1];
11911
- var _c = __read(React__default.useState(), 2), initialCalendarRange = _c[0], setInitialCalendarRange = _c[1];
11912
- var _d = __read(React__default.useState([]), 2), disabledDates = _d[0], setDisabledDates = _d[1];
11913
- var _e = __read(React__default.useState(false), 2), updateCalendarMonthNavigation = _e[0], setUpdateCalendarMonthNavigation = _e[1];
11914
- var _f = __read(React__default.useState(0), 2), updateCalendarDefaultMoth = _f[0], setUpdateCalendarDefaultMoth = _f[1];
11915
- var _g = __read(React__default.useState(false), 2), calendarHasError = _g[0], setCalendarHasError = _g[1];
11916
- var _h = __read(React__default.useState(false), 2), updatedForSubmit = _h[0], setUpdatedForSubmit = _h[1];
11911
+ var _c = __read(React__default.useState(outerRangeContext), 2), rangeContext = _c[0], setRangeContext = _c[1];
11912
+ var _d = __read(React__default.useState(), 2), initialCalendarRange = _d[0], setInitialCalendarRange = _d[1];
11913
+ var _e = __read(React__default.useState([]), 2), disabledDates = _e[0], setDisabledDates = _e[1];
11914
+ var _f = __read(React__default.useState(false), 2), updateCalendarMonthNavigation = _f[0], setUpdateCalendarMonthNavigation = _f[1];
11915
+ var _g = __read(React__default.useState(0), 2), updateCalendarDefaultMonth = _g[0], setUpdateCalendarDefaultMonth = _g[1];
11916
+ var _h = __read(React__default.useState(false), 2), calendarHasError = _h[0], setCalendarHasError = _h[1];
11917
+ var _j = __read(React__default.useState(false), 2), updatedForSubmit = _j[0], setUpdatedForSubmit = _j[1];
11917
11918
  // Lifecycle
11918
11919
  React__default.useEffect(function () {
11919
11920
  if (typeof window === 'undefined')
@@ -11924,8 +11925,9 @@
11924
11925
  if (startDateParam && endDateParam) {
11925
11926
  if (noActiveSelection) {
11926
11927
  handleClearDates();
11927
- setUpdateCalendarDefaultMoth(function (prev) { return prev + 1; });
11928
+ setUpdateCalendarDefaultMonth(function (prev) { return prev + 1; });
11928
11929
  setUpdatedForSubmit(false);
11930
+ setRangeContext(outerRangeContext);
11929
11931
  setInitialCalendarRange({
11930
11932
  from: new Date(startDateParam),
11931
11933
  to: new Date(endDateParam),
@@ -11987,10 +11989,11 @@
11987
11989
  calendarRange: calendarRange,
11988
11990
  disabledDates: disabledDates,
11989
11991
  updateCalendarMonthNavigation: updateCalendarMonthNavigation,
11990
- updateCalendarDefaultMoth: updateCalendarDefaultMoth,
11992
+ updateCalendarDefaultMonth: updateCalendarDefaultMonth,
11991
11993
  calendarHasError: calendarHasError,
11992
11994
  setCalendarHasError: setCalendarHasError,
11993
11995
  setUpdatedForSubmit: setUpdatedForSubmit,
11996
+ rangeContext: rangeContext,
11994
11997
  };
11995
11998
  };
11996
11999
 
@@ -11998,7 +12001,7 @@
11998
12001
  styleInject(css_248z);
11999
12002
 
12000
12003
  function FilterCalendar(_a) {
12001
- var calendarOffset = _a.calendarOffset, language = _a.language, palette = _a.palette, onSubmit = _a.onSubmit, disableCalendarDates = _a.disableCalendarDates, toggleCalendar = _a.toggleCalendar, loadingData = _a.loadingData, setToggleCalendar = _a.setToggleCalendar, requestDates = _a.requestDates, showFeedback = _a.showFeedback, noActiveSelection = _a.noActiveSelection, rangeContext = _a.rangeContext;
12004
+ var calendarOffset = _a.calendarOffset, language = _a.language, palette = _a.palette, onSubmit = _a.onSubmit, disableCalendarDates = _a.disableCalendarDates, toggleCalendar = _a.toggleCalendar, loadingData = _a.loadingData, setToggleCalendar = _a.setToggleCalendar, requestDates = _a.requestDates, showFeedback = _a.showFeedback, noActiveSelection = _a.noActiveSelection, outerRangeContext = _a.rangeContext;
12002
12005
  var themePalette = useTheme({ palette: palette });
12003
12006
  // Translations
12004
12007
  useUpdateTranslations({ language: language });
@@ -12008,7 +12011,8 @@
12008
12011
  setToggleCalendar: setToggleCalendar,
12009
12012
  noActiveSelection: noActiveSelection,
12010
12013
  toggleCalendar: toggleCalendar,
12011
- }), setCalendarRange = _b.setCalendarRange, handleClearDates = _b.handleClearDates, calendarRange = _b.calendarRange, disabledDates = _b.disabledDates, setDisabledDates = _b.setDisabledDates, updateCalendarMonthNavigation = _b.updateCalendarMonthNavigation, updateCalendarDefaultMoth = _b.updateCalendarDefaultMoth, setUpdateCalendarMonthNavigation = _b.setUpdateCalendarMonthNavigation, calendarHasError = _b.calendarHasError, setCalendarHasError = _b.setCalendarHasError, setUpdatedForSubmit = _b.setUpdatedForSubmit;
12014
+ outerRangeContext: outerRangeContext,
12015
+ }), setCalendarRange = _b.setCalendarRange, handleClearDates = _b.handleClearDates, calendarRange = _b.calendarRange, disabledDates = _b.disabledDates, setDisabledDates = _b.setDisabledDates, updateCalendarMonthNavigation = _b.updateCalendarMonthNavigation, updateCalendarDefaultMonth = _b.updateCalendarDefaultMonth, setUpdateCalendarMonthNavigation = _b.setUpdateCalendarMonthNavigation, calendarHasError = _b.calendarHasError, setCalendarHasError = _b.setCalendarHasError, setUpdatedForSubmit = _b.setUpdatedForSubmit, rangeContext = _b.rangeContext;
12012
12016
  // Display component after fully loaded
12013
12017
  useAwaitRender();
12014
12018
  // Handle close filter section
@@ -12023,7 +12027,7 @@
12023
12027
  React__default.createElement("h2", null, t('filterBar:calendar.title')),
12024
12028
  React__default.createElement(CloseButton, { handleClose: function () { return setToggleCalendar(false); } })),
12025
12029
  React__default.createElement("div", { className: "will-calendar-main" },
12026
- React__default.createElement(Calendar, { calendarRange: calendarRange, setCalendarRange: setCalendarRange, calendarOffset: calendarOffset, selectedPath: '/rooms', language: language, disableCalendarDates: disableCalendarDates, requestDates: requestDates, disabledDates: disabledDates, setDisabledDates: setDisabledDates, updateCalendarMonthNavigation: updateCalendarMonthNavigation, setUpdateCalendarMonthNavigation: setUpdateCalendarMonthNavigation, updateCalendarDefaultMoth: updateCalendarDefaultMoth, loadingData: loadingData, showFeedback: showFeedback, noActiveSelection: noActiveSelection, palette: palette, setCalendarHasError: setCalendarHasError, setUpdatedForSubmit: setUpdatedForSubmit, rangeContext: rangeContext, calendarHasError: calendarHasError })),
12030
+ React__default.createElement(Calendar, { calendarRange: calendarRange, setCalendarRange: setCalendarRange, calendarOffset: calendarOffset, selectedPath: '/rooms', language: language, disableCalendarDates: disableCalendarDates, requestDates: requestDates, disabledDates: disabledDates, setDisabledDates: setDisabledDates, updateCalendarMonthNavigation: updateCalendarMonthNavigation, setUpdateCalendarMonthNavigation: setUpdateCalendarMonthNavigation, updateCalendarDefaultMonth: updateCalendarDefaultMonth, loadingData: loadingData, showFeedback: showFeedback, noActiveSelection: noActiveSelection, palette: palette, setCalendarHasError: setCalendarHasError, setUpdatedForSubmit: setUpdatedForSubmit, rangeContext: rangeContext, calendarHasError: calendarHasError })),
12027
12031
  React__default.createElement("div", { className: "will-calendar-footer" },
12028
12032
  React__default.createElement("div", { className: "will-calendar-footer-actions-wrapper" },
12029
12033
  React__default.createElement("div", { className: "will-calendar-footer-dates" },