willba-component-library 0.2.22 → 0.2.23

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.
package/lib/index.js CHANGED
@@ -2884,7 +2884,7 @@ var enCommon = {
2884
2884
  };
2885
2885
 
2886
2886
  var calendar = {
2887
- label: "Ajankohta",
2887
+ label: "Päivät",
2888
2888
  roomsLabelPlaceholder: "Lisää check-in ja check-out",
2889
2889
  eventsLabelPlaceholder: "Lisää aikaväli",
2890
2890
  startDate: "Alku",
@@ -10806,12 +10806,12 @@ var reactResponsiveExports = reactResponsive.exports;
10806
10806
  var css_248z$9 = ".rdp {\n --rdp-cell-size: 40px;\n --rdp-caption-font-size: 18px;\n --rdp-accent-color: #0000ff;\n --rdp-background-color: #e7edff;\n --rdp-accent-color-dark: #3003e1;\n --rdp-background-color-dark: #180270;\n --rdp-outline: 2px solid var(--rdp-accent-color); /* Outline border for focused elements */\n --rdp-outline-selected: 3px solid var(--rdp-accent-color); /* Outline border for focused _and_ selected elements */\n\n margin: 1em;\n}\n\n/* Hide elements for devices that are not screen readers */\n.rdp-vhidden {\n box-sizing: border-box;\n padding: 0;\n margin: 0;\n background: transparent;\n border: 0;\n -moz-appearance: none;\n -webkit-appearance: none;\n appearance: none;\n position: absolute !important;\n top: 0;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n overflow: hidden !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n border: 0 !important;\n}\n\n/* Buttons */\n.rdp-button_reset {\n appearance: none;\n position: relative;\n margin: 0;\n padding: 0;\n cursor: default;\n color: inherit;\n background: none;\n font: inherit;\n\n -moz-appearance: none;\n -webkit-appearance: none;\n}\n\n.rdp-button_reset:focus-visible {\n /* Make sure to reset outline only when :focus-visible is supported */\n outline: none;\n}\n\n.rdp-button {\n border: 2px solid transparent;\n}\n\n.rdp-button[disabled]:not(.rdp-day_selected) {\n opacity: 0.25;\n}\n\n.rdp-button:not([disabled]) {\n cursor: pointer;\n}\n\n.rdp-button:focus-visible:not([disabled]) {\n color: inherit;\n background-color: var(--rdp-background-color);\n border: var(--rdp-outline);\n}\n\n.rdp-button:hover:not([disabled]):not(.rdp-day_selected) {\n background-color: var(--rdp-background-color);\n}\n\n.rdp-months {\n display: flex;\n}\n\n.rdp-month {\n margin: 0 1em;\n}\n\n.rdp-month:first-child {\n margin-left: 0;\n}\n\n.rdp-month:last-child {\n margin-right: 0;\n}\n\n.rdp-table {\n margin: 0;\n max-width: calc(var(--rdp-cell-size) * 7);\n border-collapse: collapse;\n}\n\n.rdp-with_weeknumber .rdp-table {\n max-width: calc(var(--rdp-cell-size) * 8);\n border-collapse: collapse;\n}\n\n.rdp-caption {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0;\n text-align: left;\n}\n\n.rdp-multiple_months .rdp-caption {\n position: relative;\n display: block;\n text-align: center;\n}\n\n.rdp-caption_dropdowns {\n position: relative;\n display: inline-flex;\n}\n\n.rdp-caption_label {\n position: relative;\n z-index: 1;\n display: inline-flex;\n align-items: center;\n margin: 0;\n padding: 0 0.25em;\n white-space: nowrap;\n color: currentColor;\n border: 0;\n border: 2px solid transparent;\n font-family: inherit;\n font-size: var(--rdp-caption-font-size);\n font-weight: bold;\n}\n\n.rdp-nav {\n white-space: nowrap;\n}\n\n.rdp-multiple_months .rdp-caption_start .rdp-nav {\n position: absolute;\n top: 50%;\n left: 0;\n transform: translateY(-50%);\n}\n\n.rdp-multiple_months .rdp-caption_end .rdp-nav {\n position: absolute;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n}\n\n.rdp-nav_button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--rdp-cell-size);\n height: var(--rdp-cell-size);\n padding: 0.25em;\n border-radius: 100%;\n}\n\n/* ---------- */\n/* Dropdowns */\n/* ---------- */\n\n.rdp-dropdown_year,\n.rdp-dropdown_month {\n position: relative;\n display: inline-flex;\n align-items: center;\n}\n\n.rdp-dropdown {\n appearance: none;\n position: absolute;\n z-index: 2;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n margin: 0;\n padding: 0;\n cursor: inherit;\n opacity: 0;\n border: none;\n background-color: transparent;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n.rdp-dropdown[disabled] {\n opacity: unset;\n color: unset;\n}\n\n.rdp-dropdown:focus-visible:not([disabled]) + .rdp-caption_label {\n background-color: var(--rdp-background-color);\n border: var(--rdp-outline);\n border-radius: 6px;\n}\n\n.rdp-dropdown_icon {\n margin: 0 0 0 5px;\n}\n\n.rdp-head {\n border: 0;\n}\n\n.rdp-head_row,\n.rdp-row {\n height: 100%;\n}\n\n.rdp-head_cell {\n vertical-align: middle;\n font-size: 0.75em;\n font-weight: 700;\n text-align: center;\n height: 100%;\n height: var(--rdp-cell-size);\n padding: 0;\n text-transform: uppercase;\n}\n\n.rdp-tbody {\n border: 0;\n}\n\n.rdp-tfoot {\n margin: 0.5em;\n}\n\n.rdp-cell {\n width: var(--rdp-cell-size);\n height: 100%;\n height: var(--rdp-cell-size);\n padding: 0;\n text-align: center;\n}\n\n.rdp-weeknumber {\n font-size: 0.75em;\n}\n\n.rdp-weeknumber,\n.rdp-day {\n display: flex;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: var(--rdp-cell-size);\n max-width: var(--rdp-cell-size);\n height: var(--rdp-cell-size);\n margin: 0;\n border: 2px solid transparent;\n border-radius: 100%;\n}\n\n.rdp-day_today:not(.rdp-day_outside) {\n font-weight: bold;\n}\n\n.rdp-day_selected,\n.rdp-day_selected:focus-visible,\n.rdp-day_selected:hover {\n color: white;\n opacity: 1;\n background-color: var(--rdp-accent-color);\n}\n\n.rdp-day_outside {\n opacity: 0.5;\n}\n\n.rdp-day_selected:focus-visible {\n /* Since the background is the same use again the outline */\n outline: var(--rdp-outline);\n outline-offset: 2px;\n z-index: 1;\n}\n\n.rdp:not([dir='rtl']) .rdp-day_range_start:not(.rdp-day_range_end) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.rdp:not([dir='rtl']) .rdp-day_range_end:not(.rdp-day_range_start) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.rdp[dir='rtl'] .rdp-day_range_start:not(.rdp-day_range_end) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.rdp[dir='rtl'] .rdp-day_range_end:not(.rdp-day_range_start) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.rdp-day_range_end.rdp-day_range_start {\n border-radius: 100%;\n}\n\n.rdp-day_range_middle {\n border-radius: 0;\n}";
10807
10807
  styleInject(css_248z$9);
10808
10808
 
10809
- 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\n.will-calendar-filter-container .DayPicker {\n font-size: 25px; /* Adjust this value to make the DayPicker bigger */\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-button_reset.rdp-button.rdp-day.rdp-day_selected {\n background-color: var(--will-primary);\n opacity: 1;\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 opacity: 0.5;\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/* Tooltip */\n.will-root .will-calendar-filter-container .will-calendar-tooltip,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out {\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.will-root .will-calendar-filter-container .will-calendar-tooltip > div,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out> 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 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 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\n";
10809
+ 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\n.will-calendar-filter-container .DayPicker {\n font-size: 25px; /* Adjust this value to make the DayPicker bigger */\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-button_reset.rdp-button.rdp-day.rdp-day_selected {\n background-color: var(--will-primary);\n opacity: 1;\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 opacity: 0.5;\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/* Tooltip */\n.will-root .will-calendar-filter-container .will-calendar-tooltip,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out {\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.will-root .will-calendar-filter-container .will-calendar-tooltip > div,\n.will-root .will-calendar-filter-container .will-calendar-tooltip-check-out> 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 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 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 {\n background-color: lightgrey;\n}\n\n\n";
10810
10810
  styleInject(css_248z$8);
10811
10811
 
10812
10812
  var Calendar = React__default.forwardRef(function (_a, ref) {
10813
10813
  var _b;
10814
- 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, updateCalendar = _a.updateCalendar, setUpdateCalendar = _a.setUpdateCalendar, loadingData = _a.loadingData;
10814
+ 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, updateCalendar = _a.updateCalendar, setUpdateCalendar = _a.setUpdateCalendar, loadingData = _a.loadingData, initialCalendarRange = _a.initialCalendarRange, showFeedback = _a.showFeedback;
10815
10815
  // Translations
10816
10816
  var t = useTranslation('common').t;
10817
10817
  var isTablet = reactResponsiveExports.useMediaQuery({ maxWidth: 960 });
@@ -10833,7 +10833,7 @@ var Calendar = React__default.forwardRef(function (_a, ref) {
10833
10833
  }, [disableCalendarDates, calendarRange]);
10834
10834
  // Handle tooltip
10835
10835
  React__default.useEffect(function () {
10836
- if (typeof document === 'undefined')
10836
+ if (typeof document === 'undefined' || !showFeedback)
10837
10837
  return;
10838
10838
  var calendarTooltip = document.querySelector('.will-calendar-tooltip');
10839
10839
  var calendarTooltipCheckOut = document.querySelector('.will-calendar-tooltip-check-out');
@@ -10879,6 +10879,25 @@ var Calendar = React__default.forwardRef(function (_a, ref) {
10879
10879
  loadingSpinner.style.display = 'none';
10880
10880
  }
10881
10881
  }, [loadingData]);
10882
+ // Handle overlapping availableDates.lastCheckOut and disabledDates.start
10883
+ React__default.useEffect(function () {
10884
+ var _a, _b;
10885
+ if (disableCalendarDates) {
10886
+ var dateFormat_1 = 'dd-MM-yyyy';
10887
+ var availableDateMap_1 = new Map();
10888
+ (_a = disableCalendarDates.availableDates) === null || _a === void 0 ? void 0 : _a.forEach(function (available) {
10889
+ availableDateMap_1.set(format(available.lastCheckOut, dateFormat_1), available);
10890
+ });
10891
+ var updatedDisabledDates = (_b = disableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.map(function (dateRange) {
10892
+ var formattedFromDate = format(dateRange.from, dateFormat_1);
10893
+ if (availableDateMap_1.has(formattedFromDate)) {
10894
+ return __assign$2(__assign$2({}, dateRange), { from: addDays(dateRange.from, 1) });
10895
+ }
10896
+ return dateRange;
10897
+ });
10898
+ disableCalendarDates.disabledDates = updatedDisabledDates;
10899
+ }
10900
+ }, [disableCalendarDates]);
10882
10901
  // Handle disable dates by page
10883
10902
  var disabledDatesByPage = handleDisabledDatesByPage({
10884
10903
  today: today,
@@ -10899,6 +10918,7 @@ var Calendar = React__default.forwardRef(function (_a, ref) {
10899
10918
  today: 'my-today',
10900
10919
  booked: 'booked',
10901
10920
  disabledAfterCheckIn: 'disabled-after-check-in',
10921
+ noActiveSelection: 'no-active-selection',
10902
10922
  }, captionLayout: "dropdown-buttons", defaultMonth: selectedStartDate ||
10903
10923
  (((_b = disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.length)
10904
10924
  ? disableCalendarDates.disabledDates[0].from
@@ -10919,6 +10939,9 @@ var Calendar = React__default.forwardRef(function (_a, ref) {
10919
10939
  disabledAfterCheckIn: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from)
10920
10940
  ? [{ after: calendarRange.from }]
10921
10941
  : [],
10942
+ noActiveSelection: !calendarRange
10943
+ ? initialCalendarRange || []
10944
+ : [],
10922
10945
  } }),
10923
10946
  React__default.createElement("div", { className: 'will-calendar-tooltip' },
10924
10947
  React__default.createElement("div", null, t('noCheckIn'))),
@@ -10946,14 +10969,23 @@ var handleSelectedCheckIn = function (_a) {
10946
10969
  format((range === null || range === void 0 ? void 0 : range.from) || 1, dateFormat);
10947
10970
  })
10948
10971
  : null;
10949
- if (rangeFrom &&
10950
- // rangeFrom !== calendarTo &&
10951
- checkOutRange &&
10952
- setDisabledDates) {
10972
+ if (rangeFrom && checkOutRange && setDisabledDates) {
10953
10973
  var checkIn = addDays(checkOutRange.checkIn, 1);
10954
10974
  var firstCheckOut = addDays(checkOutRange.firstCheckOut, -1);
10955
10975
  var noDatesRange = format(checkIn, dateFormat) ===
10956
10976
  format(checkOutRange.firstCheckOut, dateFormat);
10977
+ // Handle overlapping availableDates.lastCheckOut and disabledDates.start
10978
+ // const filteredDisabledCalendarDates =
10979
+ // disableCalendarDates?.disabledDates?.map((dateRange) => {
10980
+ // if (
10981
+ // dateRange.from &&
10982
+ // format(dateRange.from, dateFormat) ===
10983
+ // format(checkOutRange.lastCheckOut, dateFormat)
10984
+ // ) {
10985
+ // return { ...dateRange, from: addDays(checkOutRange.lastCheckOut, 1) }
10986
+ // }
10987
+ // return dateRange
10988
+ // })
10957
10989
  setDisabledDates(__spreadArray$1(__spreadArray$1([], __read(((disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.disabledDates) || [])), false), [
10958
10990
  {
10959
10991
  from: noDatesRange ? undefined : checkIn,
@@ -10996,6 +11028,31 @@ var handleDisabledDatesByPage = function (_a) {
10996
11028
  ]
10997
11029
  : [];
10998
11030
  };
11031
+ // const handleOverlappingDates = ({
11032
+ // disableCalendarDates,
11033
+ // }: {
11034
+ // disableCalendarDates?: DisableCalendarDates
11035
+ // }): DisableCalendarDates | undefined => {
11036
+ // if (!disableCalendarDates) return undefined
11037
+ // const dateFormat = 'dd-MM-yyyy'
11038
+ // disableCalendarDates.disabledDates = disableCalendarDates.disabledDates?.map(
11039
+ // (dateRange) => {
11040
+ // const overlappingDate = disableCalendarDates.availableDates?.find(
11041
+ // (available) =>
11042
+ // format(available.lastCheckOut, dateFormat) ===
11043
+ // format(dateRange.from, dateFormat)
11044
+ // )
11045
+ // if (overlappingDate) {
11046
+ // return {
11047
+ // ...dateRange,
11048
+ // from: addDays(dateRange.from, 1),
11049
+ // }
11050
+ // }
11051
+ // return dateRange
11052
+ // }
11053
+ // )
11054
+ // return disableCalendarDates
11055
+ // }
10999
11056
 
11000
11057
  var parseDates = function (_a) {
11001
11058
  var calendarRange = _a.calendarRange;
@@ -11383,10 +11440,11 @@ var AGE_CATEGORIES_FALLBACK = [
11383
11440
  var REDIRECT_URL_FALLBACK = 'http://localhost:3000/';
11384
11441
 
11385
11442
  var useFilterCalendar = function (_a) {
11386
- var onSubmit = _a.onSubmit, setToggleCalendar = _a.setToggleCalendar;
11443
+ var onSubmit = _a.onSubmit, setToggleCalendar = _a.setToggleCalendar, noActiveSelection = _a.noActiveSelection;
11387
11444
  var _b = __read(React__default.useState(), 2), calendarRange = _b[0], setCalendarRange = _b[1];
11388
- var _c = __read(React__default.useState([]), 2), disabledDates = _c[0], setDisabledDates = _c[1];
11389
- var _d = __read(React__default.useState(false), 2), updateCalendar = _d[0], setUpdateCalendar = _d[1];
11445
+ var _c = __read(React__default.useState(), 2), initialCalendarRange = _c[0], setInitialCalendarRange = _c[1];
11446
+ var _d = __read(React__default.useState([]), 2), disabledDates = _d[0], setDisabledDates = _d[1];
11447
+ var _e = __read(React__default.useState(false), 2), updateCalendar = _e[0], setUpdateCalendar = _e[1];
11390
11448
  React__default.useEffect(function () {
11391
11449
  if (typeof window === 'undefined')
11392
11450
  return;
@@ -11394,10 +11452,15 @@ var useFilterCalendar = function (_a) {
11394
11452
  var startDateParam = urlSearchParams.get('startDate');
11395
11453
  var endDateParam = urlSearchParams.get('endDate');
11396
11454
  if (startDateParam && endDateParam) {
11397
- setCalendarRange({
11398
- from: new Date(startDateParam),
11399
- to: new Date(endDateParam),
11400
- });
11455
+ noActiveSelection
11456
+ ? setInitialCalendarRange({
11457
+ from: new Date(startDateParam),
11458
+ to: new Date(endDateParam),
11459
+ })
11460
+ : setCalendarRange({
11461
+ from: new Date(startDateParam),
11462
+ to: new Date(endDateParam),
11463
+ });
11401
11464
  }
11402
11465
  }, []);
11403
11466
  var handleSubmit = function () {
@@ -11417,6 +11480,7 @@ var useFilterCalendar = function (_a) {
11417
11480
  calendarRange: calendarRange,
11418
11481
  disabledDates: disabledDates,
11419
11482
  updateCalendar: updateCalendar,
11483
+ initialCalendarRange: initialCalendarRange,
11420
11484
  };
11421
11485
  };
11422
11486
 
@@ -11424,12 +11488,12 @@ var css_248z = ".will-root .will-calendar-wrapper {\n box-shadow: var(--will-
11424
11488
  styleInject(css_248z);
11425
11489
 
11426
11490
  function FilterCalendar(_a) {
11427
- 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;
11491
+ 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;
11428
11492
  var themePalette = useTheme({ palette: palette });
11429
11493
  // Translations
11430
11494
  useUpdateTranslations({ language: language });
11431
11495
  var t = useTranslation().t;
11432
- var _b = useFilterCalendar({ onSubmit: onSubmit, setToggleCalendar: setToggleCalendar }), handleSubmit = _b.handleSubmit, setCalendarRange = _b.setCalendarRange, handleClearDates = _b.handleClearDates, calendarRange = _b.calendarRange, disabledDates = _b.disabledDates, setDisabledDates = _b.setDisabledDates, updateCalendar = _b.updateCalendar, setUpdateCalendar = _b.setUpdateCalendar;
11496
+ var _b = useFilterCalendar({ onSubmit: onSubmit, setToggleCalendar: setToggleCalendar, noActiveSelection: noActiveSelection }), handleSubmit = _b.handleSubmit, setCalendarRange = _b.setCalendarRange, handleClearDates = _b.handleClearDates, calendarRange = _b.calendarRange, disabledDates = _b.disabledDates, setDisabledDates = _b.setDisabledDates, updateCalendar = _b.updateCalendar, setUpdateCalendar = _b.setUpdateCalendar, initialCalendarRange = _b.initialCalendarRange;
11433
11497
  // Display component after fully loaded
11434
11498
  useAwaitRender();
11435
11499
  // Handle close filter section
@@ -11442,7 +11506,7 @@ function FilterCalendar(_a) {
11442
11506
  React__default.createElement("h2", null, t('filterBar:calendar.title')),
11443
11507
  React__default.createElement(CloseButton, { handleClose: function () { return setToggleCalendar(false); } })),
11444
11508
  React__default.createElement("div", { className: "will-calendar-main" },
11445
- React__default.createElement(Calendar, { calendarRange: calendarRange, setCalendarRange: setCalendarRange, calendarOffset: calendarOffset, selectedPath: '/rooms', language: language, disableCalendarDates: disableCalendarDates, requestDates: requestDates, disabledDates: disabledDates, setDisabledDates: setDisabledDates, updateCalendar: updateCalendar, setUpdateCalendar: setUpdateCalendar, loadingData: loadingData })),
11509
+ React__default.createElement(Calendar, { calendarRange: calendarRange, setCalendarRange: setCalendarRange, calendarOffset: calendarOffset, selectedPath: '/rooms', language: language, disableCalendarDates: disableCalendarDates, requestDates: requestDates, disabledDates: disabledDates, setDisabledDates: setDisabledDates, updateCalendar: updateCalendar, setUpdateCalendar: setUpdateCalendar, loadingData: loadingData, initialCalendarRange: initialCalendarRange, showFeedback: showFeedback, noActiveSelection: noActiveSelection })),
11446
11510
  React__default.createElement("div", { className: "will-calendar-footer" },
11447
11511
  React__default.createElement("div", { className: "will-calendar-footer-dates" },
11448
11512
  React__default.createElement("div", null,