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
@@ -2,4 +2,4 @@ import React from 'react';
2
2
  import '../../themes/Default.css';
3
3
  import { FilterCalendarTypes } from './FilterCalendarTypes';
4
4
  import './FilterCalendar.css';
5
- export default function FilterCalendar({ calendarOffset, language, palette, onSubmit, disableCalendarDates, toggleCalendar, loadingData, setToggleCalendar, requestDates, showFeedback, noActiveSelection, rangeContext, }: FilterCalendarTypes): React.JSX.Element;
5
+ export default function FilterCalendar({ calendarOffset, language, palette, onSubmit, disableCalendarDates, toggleCalendar, loadingData, setToggleCalendar, requestDates, showFeedback, noActiveSelection, rangeContext: outerRangeContext, }: FilterCalendarTypes): React.JSX.Element;
@@ -1,12 +1,14 @@
1
1
  /// <reference types="react" />
2
2
  import { DateRange, Matcher } from 'react-day-picker';
3
+ import { RangeContext } from 'src/core/components/calendar/CalendarTypes';
3
4
  type Props = {
4
5
  onSubmit: (val: any) => void;
5
6
  setToggleCalendar: (val: boolean) => void;
6
7
  noActiveSelection?: boolean;
7
8
  toggleCalendar?: boolean;
9
+ outerRangeContext?: RangeContext;
8
10
  };
9
- export declare const useFilterCalendar: ({ onSubmit, setToggleCalendar, noActiveSelection, toggleCalendar, }: Props) => {
11
+ export declare const useFilterCalendar: ({ onSubmit, setToggleCalendar, noActiveSelection, toggleCalendar, outerRangeContext, }: Props) => {
10
12
  handleSubmit: () => void;
11
13
  handleClearDates: () => void;
12
14
  setCalendarRange: import("react").Dispatch<import("react").SetStateAction<DateRange | undefined>>;
@@ -15,9 +17,10 @@ export declare const useFilterCalendar: ({ onSubmit, setToggleCalendar, noActive
15
17
  calendarRange: DateRange | undefined;
16
18
  disabledDates: Matcher[];
17
19
  updateCalendarMonthNavigation: boolean;
18
- updateCalendarDefaultMoth: number;
20
+ updateCalendarDefaultMonth: number;
19
21
  calendarHasError: boolean;
20
22
  setCalendarHasError: import("react").Dispatch<import("react").SetStateAction<boolean>>;
21
23
  setUpdatedForSubmit: import("react").Dispatch<import("react").SetStateAction<boolean>>;
24
+ rangeContext: RangeContext | undefined;
22
25
  };
23
26
  export {};
@@ -38,7 +38,7 @@ export type CalendarTypes = {
38
38
  palette?: Palette;
39
39
  updateCalendarMonthNavigation?: boolean;
40
40
  setUpdateCalendarMonthNavigation?: (arg: (prev: boolean) => boolean) => void;
41
- updateCalendarDefaultMoth?: number;
41
+ updateCalendarDefaultMonth?: number;
42
42
  setCalendarHasError?: (arg: boolean) => void;
43
43
  setUpdatedForSubmit?: (arg: boolean) => void;
44
44
  rangeContext?: RangeContext;
@@ -1,7 +1,5 @@
1
1
  type Props = {
2
2
  loadingData?: boolean;
3
- updateCalendarMonthNavigation?: boolean;
4
- updateCalendarDefaultMoth?: number;
5
3
  };
6
- export declare const useCalendarLoadingSpinner: ({ loadingData, updateCalendarMonthNavigation, updateCalendarDefaultMoth, }: Props) => void;
4
+ export declare const useCalendarLoadingSpinner: ({ loadingData }: Props) => void;
7
5
  export {};
@@ -1,10 +1,5 @@
1
- import { DateRange } from 'react-day-picker';
2
1
  type Props = {
3
- calendarRange?: DateRange;
4
- updateCalendarMonthNavigation?: boolean;
5
- overlappingDate?: DateRange[];
6
- updateCalendarDefaultMoth?: number;
7
2
  showFeedback?: boolean;
8
3
  };
9
- export declare const useCalendarTooltips: ({ calendarRange, updateCalendarMonthNavigation, overlappingDate, updateCalendarDefaultMoth, showFeedback, }: Props) => void;
4
+ export declare const useCalendarTooltips: ({ showFeedback }: Props) => void;
10
5
  export {};
@@ -4,9 +4,9 @@ type Props = {
4
4
  disableCalendarDates?: DisableCalendarDates;
5
5
  calendarRange?: DateRange;
6
6
  updateCalendarMonthNavigation?: boolean;
7
- updateCalendarDefaultMoth?: number;
7
+ updateCalendarDefaultMonth?: number;
8
8
  };
9
- export declare const useUpdateDisabledDates: ({ disableCalendarDates, calendarRange, updateCalendarMonthNavigation, updateCalendarDefaultMoth, }: Props) => {
9
+ export declare const useUpdateDisabledDates: ({ disableCalendarDates, calendarRange, updateCalendarMonthNavigation, updateCalendarDefaultMonth, }: Props) => {
10
10
  newDisableCalendarDates: DisableCalendarDates | undefined;
11
11
  overlappingDate: DateRange[] | undefined;
12
12
  };
@@ -25,11 +25,11 @@ export declare const handleCalendarModifiers: ({ newDisableCalendarDates, calend
25
25
  from: Date | undefined;
26
26
  }[];
27
27
  noActiveSelectionStart: never[] | Date;
28
+ noActiveSelectionEnd: never[] | Date;
28
29
  noActiveSelectionMid: {
29
30
  from: Date;
30
31
  to: Date;
31
32
  }[];
32
- noActiveSelectionEnd: never[] | Date;
33
33
  checkoutOptionsMid: {
34
34
  after: Date;
35
35
  before: Date;
package/lib/index.d.ts CHANGED
@@ -72,7 +72,7 @@ type CalendarTypes = {
72
72
  palette?: Palette;
73
73
  updateCalendarMonthNavigation?: boolean;
74
74
  setUpdateCalendarMonthNavigation?: (arg: (prev: boolean) => boolean) => void;
75
- updateCalendarDefaultMoth?: number;
75
+ updateCalendarDefaultMonth?: number;
76
76
  setCalendarHasError?: (arg: boolean) => void;
77
77
  setUpdatedForSubmit?: (arg: boolean) => void;
78
78
  rangeContext?: RangeContext;
@@ -122,6 +122,6 @@ interface FilterCalendarTypes extends Partial<CalendarTypes> {
122
122
  setToggleCalendar: (val: boolean) => void;
123
123
  }
124
124
 
125
- declare function FilterCalendar({ calendarOffset, language, palette, onSubmit, disableCalendarDates, toggleCalendar, loadingData, setToggleCalendar, requestDates, showFeedback, noActiveSelection, rangeContext, }: FilterCalendarTypes): React.JSX.Element;
125
+ declare function FilterCalendar({ calendarOffset, language, palette, onSubmit, disableCalendarDates, toggleCalendar, loadingData, setToggleCalendar, requestDates, showFeedback, noActiveSelection, rangeContext: outerRangeContext, }: FilterCalendarTypes): React.JSX.Element;
126
126
 
127
127
  export { Button, FilterBar, FilterCalendar, FilterCalendarTypes, Tab };
package/lib/index.esm.js CHANGED
@@ -10978,6 +10978,8 @@ var calendarSelectionRules = function (_a) {
10978
10978
  ? endOfDay(rangeContext.from)
10979
10979
  : null;
10980
10980
  var rangeContextTo = (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.to) ? endOfDay(rangeContext.to) : null;
10981
+ // When some dates are not available for selection, the earliest date will be available only for "end"
10982
+ // and the latest date will only be available for "start"
10981
10983
  var overlappingDateFrom = (overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.length)
10982
10984
  ? overlappingDate.find(function (date) {
10983
10985
  return !!(date.from && rangeFrom)
@@ -10985,6 +10987,12 @@ var calendarSelectionRules = function (_a) {
10985
10987
  : false;
10986
10988
  })
10987
10989
  : null;
10990
+ var overlappingDateTo = (overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.length)
10991
+ ? overlappingDate.find(function (date) {
10992
+ return !!(date.from && rangeTo) ? isEqual(endOfDay(date.from), rangeTo) : false;
10993
+ })
10994
+ : null;
10995
+ //----------
10988
10996
  var checkOutRange = ((_b = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.availableDates) === null || _b === void 0 ? void 0 : _b.length)
10989
10997
  ? newDisableCalendarDates.availableDates.find(function (checkInDate) {
10990
10998
  return !!(checkInDate.checkIn && rangeFrom)
@@ -11002,7 +11010,8 @@ var calendarSelectionRules = function (_a) {
11002
11010
  // Calendar selection rules: The cases are handled sequentially, starting from simple selections to more complex contextual selections.
11003
11011
  // The rules are processed in a specific order, so one case is handled before another.
11004
11012
  // Changing the order will cause the rules to break or not work properly.
11005
- if (!!overlappingDateFrom) {
11013
+ if (!!overlappingDateFrom ||
11014
+ (calendarRangeFrom && calendarRangeTo && overlappingDateTo)) {
11006
11015
  // 1. If dates overlap, clear the selection.
11007
11016
  return setCalendarRange(undefined);
11008
11017
  }
@@ -11123,24 +11132,26 @@ var handleCalendarModifiers = function (_a) {
11123
11132
  disabledAfterCheckIn: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from)
11124
11133
  ? [{ after: calendarRange.from }]
11125
11134
  : [],
11126
- overlappingDate: __spreadArray$1([], __read((!(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) && !!(overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.length) && !rangeContext
11135
+ overlappingDate: __spreadArray$1([], __read((!(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) && !!(overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.length)
11127
11136
  ? overlappingDate.map(function (date) { return ({ from: date.from }); })
11128
11137
  : [])), false),
11129
11138
  noActiveSelectionStart: (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.from) &&
11130
- !((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
11131
- (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.from) &&
11132
- isEqual(endOfDay(rangeContext.from), endOfDay(calendarRange.from)))
11139
+ !(((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
11140
+ isEqual(endOfDay(rangeContext.from), endOfDay(calendarRange.from))) ||
11141
+ ((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) &&
11142
+ isEqual(endOfDay(rangeContext.from), endOfDay(calendarRange.to))))
11133
11143
  ? rangeContext.from
11134
11144
  : [],
11135
- noActiveSelectionMid: __spreadArray$1([], __read((rangeContextMiddleSelection.length
11136
- ? rangeContextMiddleSelection
11137
- : [])), false),
11138
11145
  noActiveSelectionEnd: (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.to) &&
11139
- !((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
11140
- (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.to) &&
11141
- isEqual(endOfDay(rangeContext.to), endOfDay(calendarRange.from)))
11146
+ !(((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
11147
+ isEqual(endOfDay(rangeContext.to), endOfDay(calendarRange.from))) ||
11148
+ ((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) &&
11149
+ isEqual(endOfDay(rangeContext.to), endOfDay(calendarRange.to))))
11142
11150
  ? rangeContext.to
11143
11151
  : [],
11152
+ noActiveSelectionMid: __spreadArray$1([], __read((rangeContextMiddleSelection.length
11153
+ ? rangeContextMiddleSelection
11154
+ : [])), false),
11144
11155
  checkoutOptionsMid: __spreadArray$1([], __read(((calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
11145
11156
  !(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) &&
11146
11157
  (currentSelectionLastCheckoutDate === null || currentSelectionLastCheckoutDate === void 0 ? void 0 : currentSelectionLastCheckoutDate.lastCheckOut)
@@ -11243,7 +11254,7 @@ var checkForContinuousSelection = function (_a) {
11243
11254
  };
11244
11255
 
11245
11256
  var useCalendarTooltips = function (_a) {
11246
- var calendarRange = _a.calendarRange, updateCalendarMonthNavigation = _a.updateCalendarMonthNavigation, overlappingDate = _a.overlappingDate, updateCalendarDefaultMoth = _a.updateCalendarDefaultMoth, showFeedback = _a.showFeedback;
11257
+ var showFeedback = _a.showFeedback;
11247
11258
  return useEffect(function () {
11248
11259
  if (typeof document === 'undefined' || !showFeedback)
11249
11260
  return;
@@ -11310,16 +11321,11 @@ var useCalendarTooltips = function (_a) {
11310
11321
  tooltipClonesSpinner.forEach(function (clone) { return clone.remove(); });
11311
11322
  tooltipClonesOverlappingDates.forEach(function (clone) { return clone.remove(); });
11312
11323
  };
11313
- }, [
11314
- calendarRange,
11315
- updateCalendarMonthNavigation,
11316
- overlappingDate,
11317
- updateCalendarDefaultMoth,
11318
- ]);
11324
+ });
11319
11325
  };
11320
11326
 
11321
11327
  var useCalendarLoadingSpinner = function (_a) {
11322
- var loadingData = _a.loadingData, updateCalendarMonthNavigation = _a.updateCalendarMonthNavigation, updateCalendarDefaultMoth = _a.updateCalendarDefaultMoth;
11328
+ var loadingData = _a.loadingData;
11323
11329
  return useEffect(function () {
11324
11330
  if (typeof document === 'undefined')
11325
11331
  return;
@@ -11332,11 +11338,11 @@ var useCalendarLoadingSpinner = function (_a) {
11332
11338
  if (loadingSpinner)
11333
11339
  loadingSpinner.style.display = 'none';
11334
11340
  }
11335
- }, [loadingData, updateCalendarMonthNavigation, updateCalendarDefaultMoth]);
11341
+ });
11336
11342
  };
11337
11343
 
11338
11344
  var useUpdateDisabledDates = function (_a) {
11339
- var disableCalendarDates = _a.disableCalendarDates, calendarRange = _a.calendarRange, updateCalendarMonthNavigation = _a.updateCalendarMonthNavigation, updateCalendarDefaultMoth = _a.updateCalendarDefaultMoth;
11345
+ var disableCalendarDates = _a.disableCalendarDates, calendarRange = _a.calendarRange, updateCalendarMonthNavigation = _a.updateCalendarMonthNavigation, updateCalendarDefaultMonth = _a.updateCalendarDefaultMonth;
11340
11346
  var _b = __read(useState(undefined), 2), overlappingDate = _b[0], setOverlappingDate = _b[1];
11341
11347
  var newDisableCalendarDates = useMemo(function () {
11342
11348
  if (disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.availableDates) {
@@ -11380,7 +11386,7 @@ var useUpdateDisabledDates = function (_a) {
11380
11386
  disableCalendarDates,
11381
11387
  calendarRange,
11382
11388
  updateCalendarMonthNavigation,
11383
- updateCalendarDefaultMoth,
11389
+ updateCalendarDefaultMonth,
11384
11390
  ]);
11385
11391
  return { newDisableCalendarDates: newDisableCalendarDates, overlappingDate: overlappingDate };
11386
11392
  };
@@ -11393,7 +11399,7 @@ styleInject(css_248z$8);
11393
11399
 
11394
11400
  var Calendar = forwardRef(function (_a, ref) {
11395
11401
  var _b, _c;
11396
- 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;
11402
+ 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;
11397
11403
  // Translations
11398
11404
  var t = useTranslation('common').t;
11399
11405
  var isTablet = reactResponsiveExports.useMediaQuery({ maxWidth: 960 });
@@ -11405,7 +11411,7 @@ var Calendar = forwardRef(function (_a, ref) {
11405
11411
  disableCalendarDates: disableCalendarDates,
11406
11412
  calendarRange: calendarRange,
11407
11413
  updateCalendarMonthNavigation: updateCalendarMonthNavigation,
11408
- updateCalendarDefaultMoth: updateCalendarDefaultMoth,
11414
+ updateCalendarDefaultMonth: updateCalendarDefaultMonth,
11409
11415
  }), newDisableCalendarDates = _d.newDisableCalendarDates, overlappingDate = _d.overlappingDate;
11410
11416
  // Handle disable dates by page
11411
11417
  var disabledDatesByPage$1 = disabledDatesByPage({
@@ -11415,17 +11421,11 @@ var Calendar = forwardRef(function (_a, ref) {
11415
11421
  });
11416
11422
  // Handle tooltip
11417
11423
  useCalendarTooltips({
11418
- calendarRange: calendarRange,
11419
- updateCalendarMonthNavigation: updateCalendarMonthNavigation,
11420
- overlappingDate: overlappingDate,
11421
- updateCalendarDefaultMoth: updateCalendarDefaultMoth,
11422
11424
  showFeedback: showFeedback,
11423
11425
  });
11424
11426
  // Handle loading spinner
11425
11427
  useCalendarLoadingSpinner({
11426
11428
  loadingData: loadingData,
11427
- updateCalendarMonthNavigation: updateCalendarMonthNavigation,
11428
- updateCalendarDefaultMoth: updateCalendarDefaultMoth,
11429
11429
  });
11430
11430
  // Handle the date selection and availability for selection logic.
11431
11431
  var handleOnSelect = function (range) {
@@ -11457,7 +11457,7 @@ var Calendar = forwardRef(function (_a, ref) {
11457
11457
  });
11458
11458
  return (React__default__default.createElement("div", { className: "will-filter-bar-calendar", ref: ref },
11459
11459
  React__default__default.createElement("div", { className: "will-calendar-filter-container" },
11460
- React__default__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) ||
11460
+ 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) ||
11461
11461
  selectedStartDate ||
11462
11462
  rangeContextStartDate ||
11463
11463
  (((_b = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.length)
@@ -11883,15 +11883,16 @@ var AGE_CATEGORIES_FALLBACK = [
11883
11883
  var REDIRECT_URL_FALLBACK = 'http://localhost:3000/';
11884
11884
 
11885
11885
  var useFilterCalendar = function (_a) {
11886
- var onSubmit = _a.onSubmit, setToggleCalendar = _a.setToggleCalendar, noActiveSelection = _a.noActiveSelection, toggleCalendar = _a.toggleCalendar;
11886
+ var onSubmit = _a.onSubmit, setToggleCalendar = _a.setToggleCalendar, noActiveSelection = _a.noActiveSelection, toggleCalendar = _a.toggleCalendar, outerRangeContext = _a.outerRangeContext;
11887
11887
  // State
11888
11888
  var _b = __read(useState(), 2), calendarRange = _b[0], setCalendarRange = _b[1];
11889
- var _c = __read(useState(), 2), initialCalendarRange = _c[0], setInitialCalendarRange = _c[1];
11890
- var _d = __read(useState([]), 2), disabledDates = _d[0], setDisabledDates = _d[1];
11891
- var _e = __read(useState(false), 2), updateCalendarMonthNavigation = _e[0], setUpdateCalendarMonthNavigation = _e[1];
11892
- var _f = __read(useState(0), 2), updateCalendarDefaultMoth = _f[0], setUpdateCalendarDefaultMoth = _f[1];
11893
- var _g = __read(useState(false), 2), calendarHasError = _g[0], setCalendarHasError = _g[1];
11894
- var _h = __read(useState(false), 2), updatedForSubmit = _h[0], setUpdatedForSubmit = _h[1];
11889
+ var _c = __read(useState(outerRangeContext), 2), rangeContext = _c[0], setRangeContext = _c[1];
11890
+ var _d = __read(useState(), 2), initialCalendarRange = _d[0], setInitialCalendarRange = _d[1];
11891
+ var _e = __read(useState([]), 2), disabledDates = _e[0], setDisabledDates = _e[1];
11892
+ var _f = __read(useState(false), 2), updateCalendarMonthNavigation = _f[0], setUpdateCalendarMonthNavigation = _f[1];
11893
+ var _g = __read(useState(0), 2), updateCalendarDefaultMonth = _g[0], setUpdateCalendarDefaultMonth = _g[1];
11894
+ var _h = __read(useState(false), 2), calendarHasError = _h[0], setCalendarHasError = _h[1];
11895
+ var _j = __read(useState(false), 2), updatedForSubmit = _j[0], setUpdatedForSubmit = _j[1];
11895
11896
  // Lifecycle
11896
11897
  useEffect(function () {
11897
11898
  if (typeof window === 'undefined')
@@ -11902,8 +11903,9 @@ var useFilterCalendar = function (_a) {
11902
11903
  if (startDateParam && endDateParam) {
11903
11904
  if (noActiveSelection) {
11904
11905
  handleClearDates();
11905
- setUpdateCalendarDefaultMoth(function (prev) { return prev + 1; });
11906
+ setUpdateCalendarDefaultMonth(function (prev) { return prev + 1; });
11906
11907
  setUpdatedForSubmit(false);
11908
+ setRangeContext(outerRangeContext);
11907
11909
  setInitialCalendarRange({
11908
11910
  from: new Date(startDateParam),
11909
11911
  to: new Date(endDateParam),
@@ -11965,10 +11967,11 @@ var useFilterCalendar = function (_a) {
11965
11967
  calendarRange: calendarRange,
11966
11968
  disabledDates: disabledDates,
11967
11969
  updateCalendarMonthNavigation: updateCalendarMonthNavigation,
11968
- updateCalendarDefaultMoth: updateCalendarDefaultMoth,
11970
+ updateCalendarDefaultMonth: updateCalendarDefaultMonth,
11969
11971
  calendarHasError: calendarHasError,
11970
11972
  setCalendarHasError: setCalendarHasError,
11971
11973
  setUpdatedForSubmit: setUpdatedForSubmit,
11974
+ rangeContext: rangeContext,
11972
11975
  };
11973
11976
  };
11974
11977
 
@@ -11976,7 +11979,7 @@ var css_248z = ".will-root .will-calendar-wrapper {\n box-shadow: var(--will-
11976
11979
  styleInject(css_248z);
11977
11980
 
11978
11981
  function FilterCalendar(_a) {
11979
- 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;
11982
+ 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;
11980
11983
  var themePalette = useTheme({ palette: palette });
11981
11984
  // Translations
11982
11985
  useUpdateTranslations({ language: language });
@@ -11986,7 +11989,8 @@ function FilterCalendar(_a) {
11986
11989
  setToggleCalendar: setToggleCalendar,
11987
11990
  noActiveSelection: noActiveSelection,
11988
11991
  toggleCalendar: toggleCalendar,
11989
- }), 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;
11992
+ outerRangeContext: outerRangeContext,
11993
+ }), 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;
11990
11994
  // Display component after fully loaded
11991
11995
  useAwaitRender();
11992
11996
  // Handle close filter section
@@ -12001,7 +12005,7 @@ function FilterCalendar(_a) {
12001
12005
  React__default__default.createElement("h2", null, t('filterBar:calendar.title')),
12002
12006
  React__default__default.createElement(CloseButton, { handleClose: function () { return setToggleCalendar(false); } })),
12003
12007
  React__default__default.createElement("div", { className: "will-calendar-main" },
12004
- 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, updateCalendarDefaultMoth: updateCalendarDefaultMoth, loadingData: loadingData, showFeedback: showFeedback, noActiveSelection: noActiveSelection, palette: palette, setCalendarHasError: setCalendarHasError, setUpdatedForSubmit: setUpdatedForSubmit, rangeContext: rangeContext, calendarHasError: calendarHasError })),
12008
+ 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 })),
12005
12009
  React__default__default.createElement("div", { className: "will-calendar-footer" },
12006
12010
  React__default__default.createElement("div", { className: "will-calendar-footer-actions-wrapper" },
12007
12011
  React__default__default.createElement("div", { className: "will-calendar-footer-dates" },