willba-component-library 0.2.94 → 0.2.95

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 (26) hide show
  1. package/lib/assets/IconsSvg.d.ts +1 -1
  2. package/lib/components/FilterBar/FilterBarTypes.d.ts +1 -1
  3. package/lib/components/FilterBar/components/guests/Guests.d.ts +1 -1
  4. package/lib/components/FilterCalendar/hooks/useFilterCalendar.d.ts +0 -1
  5. package/lib/core/components/calendar/utils/calendarSelectionRules.d.ts +2 -3
  6. package/lib/core/components/calendar/utils/handleCalendarModifiers.d.ts +1 -9
  7. package/lib/core/components/calendar/utils/handleRangeContextDisabledDates.d.ts +1 -1
  8. package/lib/index.esm.js +77 -95
  9. package/lib/index.esm.js.map +1 -1
  10. package/lib/index.js +77 -95
  11. package/lib/index.js.map +1 -1
  12. package/lib/index.umd.js +77 -95
  13. package/lib/index.umd.js.map +1 -1
  14. package/package.json +1 -1
  15. package/src/assets/IconsSvg.tsx +1 -0
  16. package/src/components/FilterBar/FilterBarTypes.ts +1 -1
  17. package/src/components/FilterBar/components/guests/GuestCount/GuestCount.tsx +5 -5
  18. package/src/components/FilterBar/components/guests/Guests.tsx +3 -7
  19. package/src/components/FilterCalendar/FilterCalendar.stories.tsx +275 -275
  20. package/src/components/FilterCalendar/FilterCalendar.tsx +0 -2
  21. package/src/components/FilterCalendar/hooks/useFilterCalendar.ts +0 -1
  22. package/src/core/components/calendar/Calendar.tsx +46 -35
  23. package/src/core/components/calendar/hooks/useUpdateDisabledDates.tsx +3 -3
  24. package/src/core/components/calendar/utils/calendarSelectionRules.tsx +0 -48
  25. package/src/core/components/calendar/utils/handleCalendarModifiers.tsx +1 -30
  26. package/src/core/components/calendar/utils/handleRangeContextDisabledDates.tsx +3 -3
@@ -5,5 +5,5 @@ type Props = {
5
5
  size?: number;
6
6
  icon: Icon;
7
7
  };
8
- export declare const IconsSvg: ({ fill, size, icon }: Props) => React.JSX.Element | undefined;
8
+ export declare const IconsSvg: ({ fill, size, icon }: Props) => React.JSX.Element | null;
9
9
  export {};
@@ -23,7 +23,7 @@ export type AgeCategoryType = {
23
23
  };
24
24
  export type GuestsCountPropsType = {
25
25
  label: string;
26
- id: number;
26
+ id: string;
27
27
  updateGuestsCount: (arg1: string, arg2: number) => void;
28
28
  count: number;
29
29
  minVal: number;
@@ -4,7 +4,7 @@ import './Guests.css';
4
4
  type Props = {
5
5
  ageCategories: AgeCategoryType[];
6
6
  updateGuestsCount: (arg1: string, arg2: number) => void;
7
- ageCategoryCounts: AgeCategoryCount | {};
7
+ ageCategoryCounts: AgeCategoryCount;
8
8
  };
9
9
  export declare const Guests: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
10
10
  export {};
@@ -13,7 +13,6 @@ export declare const useFilterCalendar: ({ onSubmit, setToggleCalendar, noActive
13
13
  handleSubmit: () => void;
14
14
  handleClearDates: () => void;
15
15
  setCalendarRange: import("react").Dispatch<import("react").SetStateAction<DateRange | undefined>>;
16
- setDisabledDates: import("react").Dispatch<import("react").SetStateAction<Matcher[]>>;
17
16
  setUpdateCalendarMonthNavigation: import("react").Dispatch<import("react").SetStateAction<boolean>>;
18
17
  calendarRange: DateRange | undefined;
19
18
  disabledDates: Matcher[];
@@ -1,15 +1,14 @@
1
- import { DateRange, Matcher } from 'react-day-picker';
1
+ import { DateRange } from 'react-day-picker';
2
2
  import { DisableCalendarDates, RangeContext } from '../CalendarTypes';
3
3
  type Props = {
4
4
  range: DateRange | undefined;
5
5
  newDisableCalendarDates?: DisableCalendarDates;
6
6
  setCalendarRange: (range: DateRange | undefined) => void;
7
- setDisabledDates?: (arg: Matcher[]) => void;
8
7
  setCalendarHasError?: (arg: boolean) => void;
9
8
  calendarRange?: DateRange;
10
9
  overlappingDate?: DateRange[];
11
10
  calendarHasError?: boolean;
12
11
  rangeContext?: RangeContext;
13
12
  };
14
- export declare const calendarSelectionRules: ({ range, newDisableCalendarDates, setCalendarRange, setDisabledDates, calendarRange, overlappingDate, setCalendarHasError, rangeContext, }: Props) => void;
13
+ export declare const calendarSelectionRules: ({ range, newDisableCalendarDates, setCalendarRange, calendarRange, overlappingDate, setCalendarHasError, rangeContext, }: Props) => void;
15
14
  export {};
@@ -1,23 +1,15 @@
1
1
  import { DateRange, Matcher } from 'react-day-picker';
2
2
  import { DisableCalendarDates, RangeContext } from '../CalendarTypes';
3
3
  type Props = {
4
- newDisableCalendarDates?: DisableCalendarDates;
5
4
  calendarRange?: DateRange;
6
- disabledDatesByPage: {
7
- from: Date;
8
- to: Date;
9
- }[];
10
5
  disabledDates?: Matcher[];
11
- lastPossibleCheckout?: Matcher;
12
6
  overlappingDate?: DateRange[];
13
7
  rangeContext?: RangeContext;
14
8
  findFirstPossibleRangeContextCheckIn?: NonNullable<DisableCalendarDates['availableDates']>['0'];
15
9
  findLastPossibleRangeContextCheckOut?: NonNullable<DisableCalendarDates['availableDates']>['0'];
16
- firstPossibleRangeContextCheckIn: Matcher[];
17
- lastPossibleRangeContextCheckOut: Matcher[];
18
10
  currentSelectionLastCheckoutDate?: NonNullable<DisableCalendarDates['availableDates']>['0'];
19
11
  };
20
- export declare const handleCalendarModifiers: ({ newDisableCalendarDates, calendarRange, disabledDatesByPage, disabledDates, overlappingDate, rangeContext, firstPossibleRangeContextCheckIn, lastPossibleRangeContextCheckOut, findFirstPossibleRangeContextCheckIn, findLastPossibleRangeContextCheckOut, currentSelectionLastCheckoutDate, lastPossibleCheckout, }: Props) => {
12
+ export declare const handleCalendarModifiers: ({ calendarRange, disabledDates, overlappingDate, rangeContext, findFirstPossibleRangeContextCheckIn, findLastPossibleRangeContextCheckOut, currentSelectionLastCheckoutDate, }: Props) => {
21
13
  booked: Matcher[];
22
14
  disabledAfterCheckIn: {
23
15
  after: Date;
@@ -18,7 +18,7 @@ export declare const handleRangeContextDisabledDates: ({ rangeContext, available
18
18
  } | undefined;
19
19
  firstPossibleRangeContextCheckIn: Matcher[];
20
20
  lastPossibleRangeContextCheckOut: Matcher[];
21
- currentSelectionLastCheckoutDate: {
21
+ currentSelectionAvailability: {
22
22
  checkIn: Date;
23
23
  firstCheckOut: Date;
24
24
  lastCheckOut: Date;
package/lib/index.esm.js CHANGED
@@ -10980,26 +10980,6 @@ var reactResponsive = {exports: {}};
10980
10980
 
10981
10981
  var reactResponsiveExports = reactResponsive.exports;
10982
10982
 
10983
- var IconsSvg = function (_a) {
10984
- var fill = _a.fill, size = _a.size, icon = _a.icon;
10985
- switch (icon) {
10986
- case 'spinner':
10987
- return (React__default__default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "".concat(size || 25), height: "".concat(size || 25), viewBox: "0 0 24 24" },
10988
- React__default__default.createElement("style", null, "\n .spinner_z9k8 {\n transform-origin: center;\n animation: spinner_StKS .75s infinite linear;\n }\n @keyframes spinner_StKS {\n 100% {\n transform: rotate(360deg);\n }\n }\n "),
10989
- React__default__default.createElement("path", { d: "M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z", opacity: ".25", fill: fill }),
10990
- React__default__default.createElement("path", { d: "M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z", className: "spinner_z9k8", fill: fill })));
10991
- case 'warning':
10992
- return (React__default__default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "".concat(size || 25), height: "".concat(size || 25), className: "svg-icon", style: {
10993
- verticalAlign: 'middle',
10994
- fill: fill,
10995
- overflow: 'hidden',
10996
- minWidth: '25px',
10997
- minHeight: '25px',
10998
- }, viewBox: "0 0 1024 1024", version: "1.1" },
10999
- React__default__default.createElement("path", { d: "M42.666667 896h938.666666L512 85.333333 42.666667 896z m512-128h-85.333334v-85.333333h85.333334v85.333333z m0-170.666667h-85.333334v-170.666666h85.333334v170.666666z" })));
11000
- }
11001
- };
11002
-
11003
10983
  var parseDates = function (_a) {
11004
10984
  var calendarRange = _a.calendarRange;
11005
10985
  return (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) && (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from)
@@ -11025,7 +11005,7 @@ var nightsCount = function (_a) {
11025
11005
 
11026
11006
  var calendarSelectionRules = function (_a) {
11027
11007
  var _b;
11028
- var range = _a.range, newDisableCalendarDates = _a.newDisableCalendarDates, setCalendarRange = _a.setCalendarRange, setDisabledDates = _a.setDisabledDates, calendarRange = _a.calendarRange, overlappingDate = _a.overlappingDate, setCalendarHasError = _a.setCalendarHasError, rangeContext = _a.rangeContext;
11008
+ var range = _a.range, newDisableCalendarDates = _a.newDisableCalendarDates, setCalendarRange = _a.setCalendarRange, calendarRange = _a.calendarRange, overlappingDate = _a.overlappingDate, setCalendarHasError = _a.setCalendarHasError, rangeContext = _a.rangeContext;
11029
11009
  // Get and parse needed data
11030
11010
  var rangeFrom = (range === null || range === void 0 ? void 0 : range.from) ? endOfDay(range.from) : null;
11031
11011
  var rangeTo = (range === null || range === void 0 ? void 0 : range.to) ? endOfDay(range.to) : null;
@@ -11062,13 +11042,6 @@ var calendarSelectionRules = function (_a) {
11062
11042
  : false;
11063
11043
  })
11064
11044
  : null;
11065
- // On check-in, disable future dates that are unavailable for checkout
11066
- disableFutureDates({
11067
- rangeFrom: rangeFrom,
11068
- checkOutRange: checkOutRange,
11069
- setDisabledDates: setDisabledDates,
11070
- newDisableCalendarDates: newDisableCalendarDates,
11071
- });
11072
11045
  // Calendar selection rules: The cases are handled sequentially, starting from simple selections to more complex contextual selections.
11073
11046
  // The rules are processed in a specific order, so one case is handled before another.
11074
11047
  // Changing the order will cause the rules to break or not work properly.
@@ -11163,22 +11136,6 @@ var calendarSelectionRules = function (_a) {
11163
11136
  }
11164
11137
  setCalendarRange(range);
11165
11138
  };
11166
- /////////
11167
- var disableFutureDates = function (_a) {
11168
- var rangeFrom = _a.rangeFrom, checkOutRange = _a.checkOutRange, setDisabledDates = _a.setDisabledDates, newDisableCalendarDates = _a.newDisableCalendarDates;
11169
- if (rangeFrom && checkOutRange && setDisabledDates) {
11170
- // Get parse data
11171
- var checkIn = addDays(checkOutRange.checkIn, 1);
11172
- var firstCheckOut = addDays(checkOutRange.firstCheckOut, -1);
11173
- var noDatesRange = isEqual(checkIn, checkOutRange.firstCheckOut);
11174
- setDisabledDates(__spreadArray$1(__spreadArray$1([], __read(((newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) || [])), false), [
11175
- {
11176
- from: noDatesRange ? undefined : checkIn,
11177
- to: noDatesRange ? undefined : firstCheckOut,
11178
- },
11179
- ], false));
11180
- }
11181
- };
11182
11139
 
11183
11140
  var disabledDatesByPage = function (_a) {
11184
11141
  var _b, _c, _d;
@@ -11199,8 +11156,7 @@ var disabledDatesByPage = function (_a) {
11199
11156
  };
11200
11157
 
11201
11158
  var handleCalendarModifiers = function (_a) {
11202
- var _b;
11203
- var newDisableCalendarDates = _a.newDisableCalendarDates, calendarRange = _a.calendarRange, disabledDatesByPage = _a.disabledDatesByPage, disabledDates = _a.disabledDates, overlappingDate = _a.overlappingDate, rangeContext = _a.rangeContext, firstPossibleRangeContextCheckIn = _a.firstPossibleRangeContextCheckIn, lastPossibleRangeContextCheckOut = _a.lastPossibleRangeContextCheckOut, findFirstPossibleRangeContextCheckIn = _a.findFirstPossibleRangeContextCheckIn, findLastPossibleRangeContextCheckOut = _a.findLastPossibleRangeContextCheckOut, currentSelectionLastCheckoutDate = _a.currentSelectionLastCheckoutDate, lastPossibleCheckout = _a.lastPossibleCheckout;
11159
+ var calendarRange = _a.calendarRange, disabledDates = _a.disabledDates, overlappingDate = _a.overlappingDate, rangeContext = _a.rangeContext, findFirstPossibleRangeContextCheckIn = _a.findFirstPossibleRangeContextCheckIn, findLastPossibleRangeContextCheckOut = _a.findLastPossibleRangeContextCheckOut, currentSelectionLastCheckoutDate = _a.currentSelectionLastCheckoutDate;
11204
11160
  // Parse data
11205
11161
  var calendarRangeFrom = (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) && endOfDay(calendarRange.from);
11206
11162
  var calendarRangeTo = (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) && endOfDay(calendarRange.to);
@@ -11221,15 +11177,7 @@ var handleCalendarModifiers = function (_a) {
11221
11177
  .map(function (date) { return ({ from: date.from }); })
11222
11178
  : [];
11223
11179
  return {
11224
- booked: disabledDatesByPage.length
11225
- ? disabledDatesByPage
11226
- : (disabledDates === null || disabledDates === void 0 ? void 0 : disabledDates.length)
11227
- ? __spreadArray$1(__spreadArray$1(__spreadArray$1([
11228
- lastPossibleCheckout || []
11229
- ], __read(disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : ((_b = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.length)
11230
- ? __spreadArray$1(__spreadArray$1(__spreadArray$1([
11231
- lastPossibleCheckout || []
11232
- ], __read(newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : [],
11180
+ booked: disabledDates || [],
11233
11181
  disabledAfterCheckIn: calendarRangeFrom
11234
11182
  ? [{ after: calendarRangeFrom }]
11235
11183
  : [],
@@ -11307,8 +11255,8 @@ var handleRangeContextDisabledDates = function (_a) {
11307
11255
  });
11308
11256
  }
11309
11257
  }
11310
- // Get last possible check-out dates for current check-in
11311
- var currentSelectionLastCheckoutDate = availableDates === null || availableDates === void 0 ? void 0 : availableDates.find(function (date) {
11258
+ // Get possible check-out dates for current check-in
11259
+ var currentSelectionAvailability = availableDates === null || availableDates === void 0 ? void 0 : availableDates.find(function (date) {
11312
11260
  return calendarRangeFrom
11313
11261
  ? isEqual(endOfDay(date.checkIn), calendarRangeFrom)
11314
11262
  : false;
@@ -11318,7 +11266,7 @@ var handleRangeContextDisabledDates = function (_a) {
11318
11266
  findLastPossibleRangeContextCheckOut: findLastPossibleRangeContextCheckOut,
11319
11267
  firstPossibleRangeContextCheckIn: firstPossibleRangeContextCheckIn,
11320
11268
  lastPossibleRangeContextCheckOut: lastPossibleRangeContextCheckOut,
11321
- currentSelectionLastCheckoutDate: currentSelectionLastCheckoutDate,
11269
+ currentSelectionAvailability: currentSelectionAvailability,
11322
11270
  };
11323
11271
  };
11324
11272
 
@@ -11493,9 +11441,9 @@ var useUpdateDisabledDates = function (_a) {
11493
11441
  return acc;
11494
11442
  }, { updatedDisabledDates: [], newOverlappingDates: [] }), updatedDisabledDates = _b.updatedDisabledDates, newOverlappingDates = _b.newOverlappingDates;
11495
11443
  // Find last possible checkout ( disable all dates after the last possible checkout )
11496
- var lastPossibleCheckout_1 = (_a = disableCalendarDates.availableDates.at(-1)) === null || _a === void 0 ? void 0 : _a.lastCheckOut;
11497
- if (lastPossibleCheckout_1) {
11498
- setLatsPossibleCheckout({ after: lastPossibleCheckout_1 });
11444
+ var lastPossibleCheckoutDate = (_a = disableCalendarDates.availableDates.at(-1)) === null || _a === void 0 ? void 0 : _a.lastCheckOut;
11445
+ if (lastPossibleCheckoutDate) {
11446
+ setLatsPossibleCheckout({ after: lastPossibleCheckoutDate });
11499
11447
  }
11500
11448
  // Extract overlapping dates ( dates that are only available for checkout )
11501
11449
  if (newOverlappingDates.length) {
@@ -11520,9 +11468,31 @@ styleInject(css_248z$9);
11520
11468
  var css_248z$8 = ".will-calendar-filter-container {\n display: flex;\n justify-content: center;\n user-select: none;\n}\n\n/* Calendar overrides */\n\n.will-calendar-filter-container .DayPicker {\n font-size: 25px;\n}\n\n.will-calendar-filter-container .rdp-month {\n position: relative;\n}\n\n.will-calendar-filter-container .rdp-month.rdp-caption_start {\n padding-left: 70px;\n}\n\n.will-calendar-filter-container .rdp-month.rdp-caption_end {\n padding-right: 70px;\n}\n\n.will-calendar-filter-container .rdp-month .rdp-nav {\n border: 1px solid var(--will-primary);\n border-radius: 50%;\n}\n\n.will-calendar-filter-container .rdp-month .rdp-nav svg {\n color: var(--will-primary);\n}\n\n\n.will-calendar-filter-container .rdp-month .rdp-caption {\n position: initial;\n}\n\n.will-calendar-filter-container .rdp-month .rdp-caption > .rdp-caption_label,\n.will-calendar-filter-container .rdp-table .rdp-head {\n opacity: .6;\n}\n\n.will-calendar-filter-container .rdp-table {\n border-collapse: separate;\n border-spacing: 0px 2px;\n}\n\n.will-calendar-filter-container .rdp-button_reset.rdp-button.rdp-day.rdp-day_selected {\n background-color: var(--will-primary);\n opacity: 1;\n color: var(--will-white)\n}\n\n.will-calendar-filter-container .my-today:not(.rdp-day_selected) { \n font-weight: 700;\n opacity: 1;\n color: var(--will-primary);\n}\n\n.will-calendar-filter-container .rdp-cell {\n position: relative;\n}\n\n.will-calendar-filter-container .rdp-cell button {\n font-weight: 500;\n}\n\n.will-calendar-filter-container .rdp-cell button.booked {\n font-weight: 400;\n cursor: not-allowed;\n}\n\n.will-calendar-filter-container .rdp-cell .rdp-button[disabled] {\n color: var(--will-transparent-black);\n opacity: 1\n}\n\n@media (max-width: 960px) {\n .will-calendar-filter-container .rdp-month .rdp-nav {\n border: none;\n border-radius: initial;\n }\n\n .will-calendar-filter-container .rdp-month.rdp-caption_start {\n padding-left: 10px;\n }\n \n .will-calendar-filter-container .rdp-month.rdp-caption_end {\n padding-right: 10px;\n }\n}\n\n/* Tooltips */\n.will-root .will-calendar-filter-container .will-calendar-tooltip,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-overlapping-date,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out-only,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-in-only {\n position: absolute;\n top: -42px;\n transform: translateX(calc(-50% + 20px));\n display: none;\n white-space: nowrap;\n z-index: 2;\n}\n\n.will-root .will-calendar-filter-container .will-calendar-tooltip > div,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out > div,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-overlapping-date > div,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out-only > div,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-in-only > div {\n background-color: white;\n position: relative;\n padding: 5px 10px;\n border: 1px solid var(--will-primary);\n border-radius: 5px;\n}\n\n.will-root .will-calendar-filter-container .will-calendar-tooltip::before,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out::before,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-overlapping-date::before,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out-only::before,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-in-only::before {\n content: \"\";\n width: 10px;\n height: 10px;\n border: 1px solid var(--will-primary);\n position: absolute;\n bottom: -4px;\n left:calc(50% - 5.555px);\n rotate: 45deg;\n z-index: 0;\n background-color: var(--will-white);\n}\n\n.will-root .will-calendar-filter-container .rdp-cell:hover .will-calendar-tooltip,\n.will-root .will-calendar-filter-container .rdp-cell:hover .will-calendar-tooltip-check-out,\n.will-root .will-calendar-filter-container .rdp-cell:hover .will-calendar-tooltip-overlapping-date,\n.will-root .will-calendar-filter-container .rdp-cell:hover .will-calendar-tooltip-check-out-only,\n.will-root .will-calendar-filter-container .rdp-cell:hover .will-calendar-tooltip-check-in-only {\n display: block;\n}\n\n/* Loading spinner */\n\n.will-root .will-calendar-filter-container .rdp-months {\n position: relative;\n}\n\n.will-root .will-calendar-filter-container .will-calendar-spinner {\n position: absolute;\n top:0;\n bottom:0;\n left: 0;\n right: 0;\n background-color: var(--will-white-transparent);\n z-index: 3;\n display: none;\n justify-content: center;\n align-items: center;\n font-weight: 600;\n}\n\n/* No active selection */\n\n.will-root .will-calendar-filter-container .no-active-selection-start,\n.will-root .will-calendar-filter-container .no-active-selection-mid,\n.will-root .will-calendar-filter-container .no-active-selection-end { \n position: initial;\n}\n\n.will-root .will-calendar-filter-container .no-active-selection-start::before,\n.will-root .will-calendar-filter-container .no-active-selection-mid::before,\n.will-root .will-calendar-filter-container .no-active-selection-end::before { \n content: \"\";\n position: absolute;\n width: 100%;\n height: 100%;\n border: 2px solid var(--will-light-grey);\n box-sizing: border-box;\n}\n\n.will-root .will-calendar-filter-container .no-active-selection-start::before {\n border-right: none;\n border-top-left-radius: 50%;\n border-bottom-left-radius: 50%;\n}\n\n.will-root .will-calendar-filter-container .no-active-selection-mid::before {\n border-right: none;\n border-left: none;\n}\n\n.will-root .will-calendar-filter-container .no-active-selection-end::before {\n border-left: none;\n border-top-right-radius: 50%;\n border-bottom-right-radius: 50%;\n}\n\n.will-root .will-calendar-filter-container .rdp-day_selected.rdp-day_range_middle.checkout-option {\n background-color: var(--will-primary-lightest);\n color: inherit;\n}\n\n/* Overlapping date */\n\n.will-root .will-calendar-filter-container .overlapping-date {\n user-select: none;\n pointer-events: none;\n}\n\n.will-root .will-calendar-filter-container .overlapping-date:hover {\n cursor: not-allowed;\n}\n\n@media (max-width: 600px) {\n /* Tooltips */\n.will-root .will-calendar-filter-container .will-calendar-tooltip,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-overlapping-date,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out-only,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-in-only {\n top: -70px;\n white-space: wrap;\n max-width: 120px;\n}\n}\n\n\n";
11521
11469
  styleInject(css_248z$8);
11522
11470
 
11471
+ var IconsSvg = function (_a) {
11472
+ var fill = _a.fill, size = _a.size, icon = _a.icon;
11473
+ switch (icon) {
11474
+ case 'spinner':
11475
+ return (React__default__default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "".concat(size || 25), height: "".concat(size || 25), viewBox: "0 0 24 24" },
11476
+ React__default__default.createElement("style", null, "\n .spinner_z9k8 {\n transform-origin: center;\n animation: spinner_StKS .75s infinite linear;\n }\n @keyframes spinner_StKS {\n 100% {\n transform: rotate(360deg);\n }\n }\n "),
11477
+ React__default__default.createElement("path", { d: "M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z", opacity: ".25", fill: fill }),
11478
+ React__default__default.createElement("path", { d: "M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z", className: "spinner_z9k8", fill: fill })));
11479
+ case 'warning':
11480
+ return (React__default__default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "".concat(size || 25), height: "".concat(size || 25), className: "svg-icon", style: {
11481
+ verticalAlign: 'middle',
11482
+ fill: fill,
11483
+ overflow: 'hidden',
11484
+ minWidth: '25px',
11485
+ minHeight: '25px',
11486
+ }, viewBox: "0 0 1024 1024", version: "1.1" },
11487
+ React__default__default.createElement("path", { d: "M42.666667 896h938.666666L512 85.333333 42.666667 896z m512-128h-85.333334v-85.333333h85.333334v85.333333z m0-170.666667h-85.333334v-170.666666h85.333334v170.666666z" })));
11488
+ default:
11489
+ return null;
11490
+ }
11491
+ };
11492
+
11523
11493
  var Calendar = forwardRef(function (_a, ref) {
11524
- var _b, _c;
11525
- 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;
11494
+ var _b;
11495
+ var selectedPath = _a.selectedPath, calendarRange = _a.calendarRange, setCalendarRange = _a.setCalendarRange, language = _a.language, disableCalendarDates = _a.disableCalendarDates, requestDates = _a.requestDates, disabledDates = _a.disabledDates, 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;
11526
11496
  // Translations
11527
11497
  var t = useTranslation('common').t;
11528
11498
  var isTablet = reactResponsiveExports.useMediaQuery({ maxWidth: 960 });
@@ -11530,12 +11500,12 @@ var Calendar = forwardRef(function (_a, ref) {
11530
11500
  var selectedStartDate = calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from;
11531
11501
  var rangeContextStartDate = rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.from;
11532
11502
  // Handle initial disable dates including overlapping availableDates.lastCheckOut and disabledDates.start
11533
- var _d = useUpdateDisabledDates({
11503
+ var _c = useUpdateDisabledDates({
11534
11504
  disableCalendarDates: disableCalendarDates,
11535
11505
  calendarRange: calendarRange,
11536
11506
  updateCalendarMonthNavigation: updateCalendarMonthNavigation,
11537
11507
  updateCalendarDefaultMonth: updateCalendarDefaultMonth,
11538
- }), newDisableCalendarDates = _d.newDisableCalendarDates, overlappingDate = _d.overlappingDate, lastPossibleCheckout = _d.lastPossibleCheckout;
11508
+ }), newDisableCalendarDates = _c.newDisableCalendarDates, overlappingDate = _c.overlappingDate, lastPossibleCheckout = _c.lastPossibleCheckout;
11539
11509
  // Handle disable dates by page
11540
11510
  var disabledDatesByPage$1 = disabledDatesByPage({
11541
11511
  today: today,
@@ -11557,7 +11527,6 @@ var Calendar = forwardRef(function (_a, ref) {
11557
11527
  range: range,
11558
11528
  newDisableCalendarDates: newDisableCalendarDates,
11559
11529
  setCalendarRange: setCalendarRange,
11560
- setDisabledDates: setDisabledDates,
11561
11530
  calendarRange: calendarRange,
11562
11531
  overlappingDate: overlappingDate,
11563
11532
  setCalendarHasError: setCalendarHasError,
@@ -11566,11 +11535,11 @@ var Calendar = forwardRef(function (_a, ref) {
11566
11535
  setUpdatedForSubmit && setUpdatedForSubmit(true);
11567
11536
  };
11568
11537
  // Handle disabled dates for range context
11569
- var _e = handleRangeContextDisabledDates({
11538
+ var _d = handleRangeContextDisabledDates({
11570
11539
  rangeContext: rangeContext,
11571
11540
  availableDates: newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.availableDates,
11572
11541
  calendarRange: calendarRange,
11573
- }), findFirstPossibleRangeContextCheckIn = _e.findFirstPossibleRangeContextCheckIn, findLastPossibleRangeContextCheckOut = _e.findLastPossibleRangeContextCheckOut, firstPossibleRangeContextCheckIn = _e.firstPossibleRangeContextCheckIn, lastPossibleRangeContextCheckOut = _e.lastPossibleRangeContextCheckOut, currentSelectionLastCheckoutDate = _e.currentSelectionLastCheckoutDate;
11542
+ }), findFirstPossibleRangeContextCheckIn = _d.findFirstPossibleRangeContextCheckIn, findLastPossibleRangeContextCheckOut = _d.findLastPossibleRangeContextCheckOut, firstPossibleRangeContextCheckIn = _d.firstPossibleRangeContextCheckIn, lastPossibleRangeContextCheckOut = _d.lastPossibleRangeContextCheckOut, currentSelectionAvailability = _d.currentSelectionAvailability;
11574
11543
  // Handle check for continuous selection in the range context
11575
11544
  checkForContinuousSelection({
11576
11545
  setCalendarHasError: setCalendarHasError,
@@ -11579,6 +11548,35 @@ var Calendar = forwardRef(function (_a, ref) {
11579
11548
  calendarHasError: calendarHasError,
11580
11549
  disabledDates: newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates,
11581
11550
  });
11551
+ var disabledInsideSelectableRange = function () {
11552
+ if (
11553
+ // Range end already selected
11554
+ (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) ||
11555
+ // No current check-in availability
11556
+ !currentSelectionAvailability ||
11557
+ // No gap between check-in and first possible check-out, nothing to disable
11558
+ addDays(currentSelectionAvailability.checkIn, 1) >=
11559
+ currentSelectionAvailability.firstCheckOut) {
11560
+ return [];
11561
+ }
11562
+ // Disable dates between current check-in and first possible check-out
11563
+ return [
11564
+ {
11565
+ from: addDays(currentSelectionAvailability.checkIn, 1),
11566
+ to: addDays(currentSelectionAvailability.firstCheckOut, -1),
11567
+ },
11568
+ ];
11569
+ };
11570
+ var base = disabledDatesByPage$1.length
11571
+ ? disabledDatesByPage$1
11572
+ : (disabledDates === null || disabledDates === void 0 ? void 0 : disabledDates.length)
11573
+ ? disabledDates
11574
+ : (newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) || [];
11575
+ var disabled = disabledDatesByPage$1.length
11576
+ ? base
11577
+ : __spreadArray$1(__spreadArray$1(__spreadArray$1(__spreadArray$1([
11578
+ lastPossibleCheckout
11579
+ ], __read(base), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false), __read(disabledInsideSelectableRange()), false);
11582
11580
  return (React__default__default.createElement("div", { className: "will-filter-bar-calendar", ref: ref },
11583
11581
  React__default__default.createElement("div", { className: "will-calendar-filter-container" },
11584
11582
  React__default__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) ||
@@ -11586,19 +11584,9 @@ var Calendar = forwardRef(function (_a, ref) {
11586
11584
  rangeContextStartDate ||
11587
11585
  (((_b = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.length)
11588
11586
  ? newDisableCalendarDates.disabledDates[0].from
11589
- : today), disabled: disabledDatesByPage$1.length
11590
- ? disabledDatesByPage$1
11591
- : (disabledDates === null || disabledDates === void 0 ? void 0 : disabledDates.length)
11592
- ? __spreadArray$1(__spreadArray$1(__spreadArray$1([
11593
- lastPossibleCheckout && lastPossibleCheckout
11594
- ], __read(disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : ((_c = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) === null || _c === void 0 ? void 0 : _c.length)
11595
- ? __spreadArray$1(__spreadArray$1(__spreadArray$1([
11596
- lastPossibleCheckout && lastPossibleCheckout
11597
- ], __read(newDisableCalendarDates.disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : [], fromMonth: today, onMonthChange: function (val) {
11598
- requestDates && setUpdateCalendarMonthNavigation
11599
- ? (requestDates(val),
11600
- setUpdateCalendarMonthNavigation(function (prev) { return !prev; }))
11601
- : null;
11587
+ : today), disabled: disabled, fromMonth: today, onMonthChange: function (val) {
11588
+ requestDates === null || requestDates === void 0 ? void 0 : requestDates(val);
11589
+ setUpdateCalendarMonthNavigation === null || setUpdateCalendarMonthNavigation === void 0 ? void 0 : setUpdateCalendarMonthNavigation(function (prev) { return !prev; });
11602
11590
  }, classNames: {
11603
11591
  day_range_start: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) ? 'rdp-day_range_start' : '',
11604
11592
  day_range_end: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) ? 'rdp-day_range_end' : '',
@@ -11616,18 +11604,13 @@ var Calendar = forwardRef(function (_a, ref) {
11616
11604
  }, modifiers:
11617
11605
  // This function handles conditions for applying the modifiersClassNames
11618
11606
  handleCalendarModifiers({
11619
- newDisableCalendarDates: newDisableCalendarDates,
11620
11607
  calendarRange: calendarRange,
11621
- disabledDatesByPage: disabledDatesByPage$1,
11622
- disabledDates: disabledDates,
11608
+ disabledDates: disabled,
11623
11609
  overlappingDate: overlappingDate,
11624
11610
  rangeContext: rangeContext,
11625
- lastPossibleCheckout: lastPossibleCheckout,
11626
11611
  findFirstPossibleRangeContextCheckIn: findFirstPossibleRangeContextCheckIn,
11627
11612
  findLastPossibleRangeContextCheckOut: findLastPossibleRangeContextCheckOut,
11628
- firstPossibleRangeContextCheckIn: firstPossibleRangeContextCheckIn,
11629
- lastPossibleRangeContextCheckOut: lastPossibleRangeContextCheckOut,
11630
- currentSelectionLastCheckoutDate: currentSelectionLastCheckoutDate,
11613
+ currentSelectionLastCheckoutDate: currentSelectionAvailability,
11631
11614
  }) }),
11632
11615
  React__default__default.createElement("div", { className: 'will-calendar-tooltip' },
11633
11616
  React__default__default.createElement("div", null, t('noCheckIn'))),
@@ -11879,17 +11862,17 @@ function GuestCount(_a) {
11879
11862
  return (React__default__default.createElement("div", { className: "will-guests-filter-inner", style: { order: "".concat(sortOrder) } },
11880
11863
  React__default__default.createElement("p", { className: "will-guests-filter-label" }, label),
11881
11864
  React__default__default.createElement("div", { className: "will-guests-filter-counter" },
11882
- React__default__default.createElement("button", { className: "will-guests-filter-counter-button", onClick: handleDecrement, disabled: (minVal && count <= minVal) || !count ? true : false, style: {
11865
+ React__default__default.createElement("button", { className: "will-guests-filter-counter-button", onClick: handleDecrement, disabled: (minVal && count <= minVal) || !count, style: {
11883
11866
  cursor: (minVal && count <= minVal) || !count ? 'initial' : 'pointer',
11884
11867
  paddingBottom: '4px',
11885
11868
  opacity: (minVal && count <= minVal) || !count ? 0.4 : 1,
11886
11869
  } },
11887
11870
  React__default__default.createElement("svg", { width: "10", height: "10", viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
11888
- React__default__default.createElement("path", { d: "M4 10H16", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }))),
11871
+ React__default__default.createElement("path", { d: "M4 10H16", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }))),
11889
11872
  React__default__default.createElement("span", { className: "will-guests-filter-count" }, count),
11890
11873
  React__default__default.createElement("button", { className: "will-guests-filter-counter-button", onClick: handleIncrement },
11891
11874
  React__default__default.createElement("svg", { width: "15", height: "15", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
11892
- React__default__default.createElement("path", { d: "M10 4V16M4 10H16", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" }))))));
11875
+ React__default__default.createElement("path", { d: "M10 4V16M4 10H16", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }))))));
11893
11876
  }
11894
11877
 
11895
11878
  var css_248z$4 = ".will-filter-bar-guests {\n text-align: initial;\n}\n\n.will-guests-filter-title {\n font-size: 22px;\n margin: 10px 0;\n}\n\n.will-guests-filter-subtitle {\n font-size: 15px;\n font-weight: 500;\n color:var(--will-text)\n}\n\n\n.will-guests-filter-container {\n display: flex;\n flex-direction: column;\n min-width: 400px;\n}\n\n\n@media (max-width: 960px) {\n .will-guests-filter-title {\n font-size: 18px;\n }\n\n .will-guests-filter-container {\n margin-top: 15px;\n min-width: 100%;\n }\n}";
@@ -11900,7 +11883,7 @@ var Guests = forwardRef(function (_a, ref) {
11900
11883
  var t = useTranslation('filterBar').t;
11901
11884
  return (React__default__default.createElement("div", { className: "will-filter-bar-guests", ref: ref },
11902
11885
  React__default__default.createElement("h3", { className: "will-guests-filter-title" }, t('guests.title')),
11903
- React__default__default.createElement("div", { className: "will-guests-filter-container" }, ageCategories === null || ageCategories === void 0 ? void 0 : ageCategories.map(function (category) { return (React__default__default.createElement(GuestCount, { key: category.id, id: parseInt(category.id), label: category.name, minVal: category.minVal, sortOrder: category.sortOrder, updateGuestsCount: updateGuestsCount, count: ageCategoryCounts["guests-".concat(category.id)] || 0 })); }))));
11886
+ React__default__default.createElement("div", { className: "will-guests-filter-container" }, ageCategories === null || ageCategories === void 0 ? void 0 : ageCategories.map(function (category) { return (React__default__default.createElement(GuestCount, { key: category.id, id: category.id, label: category.name, minVal: category.minVal, sortOrder: category.sortOrder, updateGuestsCount: updateGuestsCount, count: ageCategoryCounts["guests-".concat(category.id)] || 0 })); }))));
11904
11887
  });
11905
11888
 
11906
11889
  var css_248z$3 = ".will-filter-bar-divider {\n width: 1px;\n margin: 0 10px;\n background-color: var(--will-charcoal-blue);\n}\n\n@media (max-width: 960px) {\n .will-filter-bar-divider {\n width: auto;\n margin: 0 10px;\n height: 1px;\n background-color: var(--will-charcoal-blue);\n }\n}";
@@ -12107,7 +12090,6 @@ var useFilterCalendar = function (_a) {
12107
12090
  handleSubmit: handleSubmit,
12108
12091
  handleClearDates: handleClearDates,
12109
12092
  setCalendarRange: setCalendarRange,
12110
- setDisabledDates: setDisabledDates,
12111
12093
  setUpdateCalendarMonthNavigation: setUpdateCalendarMonthNavigation,
12112
12094
  calendarRange: calendarRange,
12113
12095
  disabledDates: disabledDates,
@@ -12176,7 +12158,7 @@ function FilterCalendar(_a) {
12176
12158
  toggleCalendar: toggleCalendar,
12177
12159
  outerRangeContext: outerRangeContext,
12178
12160
  outerDisableCalendarDates: outerDisableCalendarDates,
12179
- }), 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, disableCalendarDates = _b.disableCalendarDates;
12161
+ }), setCalendarRange = _b.setCalendarRange, handleClearDates = _b.handleClearDates, calendarRange = _b.calendarRange, disabledDates = _b.disabledDates, updateCalendarMonthNavigation = _b.updateCalendarMonthNavigation, updateCalendarDefaultMonth = _b.updateCalendarDefaultMonth, setUpdateCalendarMonthNavigation = _b.setUpdateCalendarMonthNavigation, calendarHasError = _b.calendarHasError, setCalendarHasError = _b.setCalendarHasError, setUpdatedForSubmit = _b.setUpdatedForSubmit, rangeContext = _b.rangeContext, disableCalendarDates = _b.disableCalendarDates;
12180
12162
  // Display component after fully loaded
12181
12163
  useAwaitRender();
12182
12164
  // Handle close filter section
@@ -12188,7 +12170,7 @@ function FilterCalendar(_a) {
12188
12170
  React__default__default.createElement("h2", null, t('filterBar:calendar.title')),
12189
12171
  React__default__default.createElement(CloseButton, { handleClose: function () { return setToggleCalendar(false); } })),
12190
12172
  React__default__default.createElement("div", { className: "will-calendar-main" },
12191
- React__default__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 })),
12173
+ React__default__default.createElement(Calendar, { calendarRange: calendarRange, setCalendarRange: setCalendarRange, calendarOffset: calendarOffset, selectedPath: '/rooms', language: language, disableCalendarDates: disableCalendarDates, requestDates: requestDates, disabledDates: disabledDates, updateCalendarMonthNavigation: updateCalendarMonthNavigation, setUpdateCalendarMonthNavigation: setUpdateCalendarMonthNavigation, updateCalendarDefaultMonth: updateCalendarDefaultMonth, loadingData: loadingData, showFeedback: showFeedback, noActiveSelection: noActiveSelection, palette: palette, setCalendarHasError: setCalendarHasError, setUpdatedForSubmit: setUpdatedForSubmit, rangeContext: rangeContext, calendarHasError: calendarHasError })),
12192
12174
  React__default__default.createElement("div", { className: "will-calendar-footer" },
12193
12175
  React__default__default.createElement(Footer, { calendarHasError: calendarHasError, calendarRange: calendarRange, handleClearDates: handleClearDates, language: language, palette: palette }))))));
12194
12176
  }