willba-component-library 0.2.40 → 0.2.42

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.esm.js CHANGED
@@ -10809,23 +10809,9 @@ var Calendar = forwardRef(function (_a, ref) {
10809
10809
  var isTablet = reactResponsiveExports.useMediaQuery({ maxWidth: 960 });
10810
10810
  var today = startOfDay(new Date());
10811
10811
  var selectedStartDate = calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from;
10812
- // Handle loading spinner
10813
- useEffect(function () {
10814
- if (typeof document === 'undefined')
10815
- return;
10816
- var loadingSpinner = document.querySelector('.will-filter-bar-calendar .will-calendar-spinner');
10817
- if (loadingData) {
10818
- if (loadingSpinner)
10819
- loadingSpinner.style.display = 'flex';
10820
- }
10821
- else {
10822
- if (loadingSpinner)
10823
- loadingSpinner.style.display = 'none';
10824
- }
10825
- }, [loadingData, updateCalendarMonthNavigation, updateCalendarDefaultMoth]);
10826
10812
  // Handle overlapping availableDates.lastCheckOut and disabledDates.start
10827
10813
  var _c = __read(useState(undefined), 2), overlappingDate = _c[0], setOverlappingDate = _c[1];
10828
- useMemo(function () {
10814
+ var newDisableCalendarDates = useMemo(function () {
10829
10815
  if (disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.availableDates) {
10830
10816
  var dateFormat_1 = 'dd-MM-yyyy';
10831
10817
  var disabledDates_1 = disableCalendarDates.disabledDates;
@@ -10859,14 +10845,22 @@ var Calendar = forwardRef(function (_a, ref) {
10859
10845
  return __spreadArray$1(__spreadArray$1([], __read(prev), false), __read(newOverlappingDates_1), false);
10860
10846
  });
10861
10847
  }
10862
- disableCalendarDates.disabledDates = updatedDisabledDates;
10848
+ var newDisableCalendarDates_1 = __assign$2(__assign$2({}, disableCalendarDates), { disabledDates: updatedDisabledDates });
10849
+ return newDisableCalendarDates_1;
10863
10850
  }
10864
- }, [disableCalendarDates]);
10851
+ return disableCalendarDates;
10852
+ }, [
10853
+ disableCalendarDates,
10854
+ calendarRange,
10855
+ updateCalendarMonthNavigation,
10856
+ initialCalendarRange,
10857
+ updateCalendarDefaultMoth,
10858
+ ]);
10865
10859
  // Handle disable dates by page
10866
10860
  var disabledDatesByPage = handleDisabledDatesByPage({
10867
10861
  today: today,
10868
10862
  selectedPath: selectedPath,
10869
- disableCalendarDates: disableCalendarDates,
10863
+ newDisableCalendarDates: newDisableCalendarDates,
10870
10864
  });
10871
10865
  // Handle tooltip
10872
10866
  useEffect(function () {
@@ -10884,6 +10878,7 @@ var Calendar = forwardRef(function (_a, ref) {
10884
10878
  var calendarOverlappingDate = document.querySelectorAll('.will-filter-bar-calendar .rdp-cell:has(.overlapping-date)');
10885
10879
  var tooltipClonesCheckIn = [];
10886
10880
  var tooltipClonesCheckOut = [];
10881
+ var tooltipClonesSpinner = [];
10887
10882
  var tooltipClonesOverlappingDates = [];
10888
10883
  if (calendarTooltip && calendarButtons.length > 0) {
10889
10884
  calendarButtons.forEach(function (element) {
@@ -10900,7 +10895,9 @@ var Calendar = forwardRef(function (_a, ref) {
10900
10895
  });
10901
10896
  }
10902
10897
  if (loadingSpinner && calendarMonthContainer) {
10903
- calendarMonthContainer.appendChild(loadingSpinner);
10898
+ var tooltipClone = loadingSpinner.cloneNode(true);
10899
+ calendarMonthContainer.appendChild(tooltipClone);
10900
+ tooltipClonesSpinner.push(tooltipClone);
10904
10901
  }
10905
10902
  if (calendarTooltipOverlappingDate &&
10906
10903
  calendarOverlappingDate.length > 0) {
@@ -10913,6 +10910,7 @@ var Calendar = forwardRef(function (_a, ref) {
10913
10910
  return function () {
10914
10911
  tooltipClonesCheckIn.forEach(function (clone) { return clone.remove(); });
10915
10912
  tooltipClonesCheckOut.forEach(function (clone) { return clone.remove(); });
10913
+ tooltipClonesSpinner.forEach(function (clone) { return clone.remove(); });
10916
10914
  tooltipClonesOverlappingDates.forEach(function (clone) { return clone.remove(); });
10917
10915
  };
10918
10916
  }, [
@@ -10922,12 +10920,26 @@ var Calendar = forwardRef(function (_a, ref) {
10922
10920
  initialCalendarRange,
10923
10921
  updateCalendarDefaultMoth,
10924
10922
  ]);
10923
+ // Handle loading spinner
10924
+ useEffect(function () {
10925
+ if (typeof document === 'undefined')
10926
+ return;
10927
+ var loadingSpinner = document.querySelector('.will-filter-bar-calendar .rdp-months .will-calendar-spinner');
10928
+ if (loadingData) {
10929
+ if (loadingSpinner)
10930
+ loadingSpinner.style.display = 'flex';
10931
+ }
10932
+ else {
10933
+ if (loadingSpinner)
10934
+ loadingSpinner.style.display = 'none';
10935
+ }
10936
+ }, [loadingData, updateCalendarMonthNavigation, updateCalendarDefaultMoth]);
10925
10937
  return (React__default__default.createElement("div", { className: "will-filter-bar-calendar", ref: ref },
10926
10938
  React__default__default.createElement("div", { className: "will-calendar-filter-container" },
10927
10939
  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) {
10928
10940
  return handleSelectedCheckIn({
10929
10941
  range: range,
10930
- disableCalendarDates: disableCalendarDates,
10942
+ newDisableCalendarDates: newDisableCalendarDates,
10931
10943
  setCalendarRange: setCalendarRange,
10932
10944
  setDisabledDates: setDisabledDates,
10933
10945
  calendarRange: calendarRange,
@@ -10935,13 +10947,13 @@ var Calendar = forwardRef(function (_a, ref) {
10935
10947
  });
10936
10948
  }, captionLayout: "dropdown-buttons", defaultMonth: (initialCalendarRange === null || initialCalendarRange === void 0 ? void 0 : initialCalendarRange.from) ||
10937
10949
  selectedStartDate ||
10938
- (((_b = disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.length)
10939
- ? disableCalendarDates.disabledDates[0].from
10950
+ (((_b = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.length)
10951
+ ? newDisableCalendarDates.disabledDates[0].from
10940
10952
  : today), disabled: disabledDatesByPage.length
10941
10953
  ? disabledDatesByPage
10942
10954
  : (disabledDates === null || disabledDates === void 0 ? void 0 : disabledDates.length)
10943
10955
  ? disabledDates
10944
- : (disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.disabledDates) || [], fromMonth: today, onMonthChange: function (val) {
10956
+ : (newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) || [], fromMonth: today, onMonthChange: function (val) {
10945
10957
  requestDates && setUpdateCalendarMonthNavigation
10946
10958
  ? (requestDates(val),
10947
10959
  setUpdateCalendarMonthNavigation(function (prev) { return !prev; }))
@@ -10959,7 +10971,7 @@ var Calendar = forwardRef(function (_a, ref) {
10959
10971
  ? disabledDatesByPage
10960
10972
  : (disabledDates === null || disabledDates === void 0 ? void 0 : disabledDates.length)
10961
10973
  ? disabledDates
10962
- : (disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.disabledDates) || [],
10974
+ : (newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) || [],
10963
10975
  disabledAfterCheckIn: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from)
10964
10976
  ? [{ after: calendarRange.from }]
10965
10977
  : [],
@@ -10997,7 +11009,7 @@ var Calendar = forwardRef(function (_a, ref) {
10997
11009
  /////////
10998
11010
  var handleSelectedCheckIn = function (_a) {
10999
11011
  var _b;
11000
- var range = _a.range, disableCalendarDates = _a.disableCalendarDates, setCalendarRange = _a.setCalendarRange, setDisabledDates = _a.setDisabledDates, calendarRange = _a.calendarRange, overlappingDate = _a.overlappingDate;
11012
+ var range = _a.range, newDisableCalendarDates = _a.newDisableCalendarDates, setCalendarRange = _a.setCalendarRange, setDisabledDates = _a.setDisabledDates, calendarRange = _a.calendarRange, overlappingDate = _a.overlappingDate;
11001
11013
  // Calendar dates select logic
11002
11014
  var dateFormat = 'dd-MM-yyyy';
11003
11015
  var rangeFrom = (range === null || range === void 0 ? void 0 : range.from) ? format(range.from, dateFormat) : null;
@@ -11008,8 +11020,8 @@ var handleSelectedCheckIn = function (_a) {
11008
11020
  var overlappingDateFrom = (overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.length)
11009
11021
  ? overlappingDate.find(function (date) { return format(date.from || 1, dateFormat) === rangeFrom; })
11010
11022
  : null;
11011
- var checkOutRange = ((_b = disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.availableDates) === null || _b === void 0 ? void 0 : _b.length)
11012
- ? disableCalendarDates.availableDates.find(function (checkInDate) {
11023
+ var checkOutRange = ((_b = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.availableDates) === null || _b === void 0 ? void 0 : _b.length)
11024
+ ? newDisableCalendarDates.availableDates.find(function (checkInDate) {
11013
11025
  return format(checkInDate.checkIn || 1, dateFormat) ===
11014
11026
  format((range === null || range === void 0 ? void 0 : range.from) || 1, dateFormat);
11015
11027
  })
@@ -11019,7 +11031,7 @@ var handleSelectedCheckIn = function (_a) {
11019
11031
  var firstCheckOut = addDays(checkOutRange.firstCheckOut, -1);
11020
11032
  var noDatesRange = format(checkIn, dateFormat) ===
11021
11033
  format(checkOutRange.firstCheckOut, dateFormat);
11022
- setDisabledDates(__spreadArray$1(__spreadArray$1([], __read(((disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.disabledDates) || [])), false), [
11034
+ setDisabledDates(__spreadArray$1(__spreadArray$1([], __read(((newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) || [])), false), [
11023
11035
  {
11024
11036
  from: noDatesRange ? undefined : checkIn,
11025
11037
  to: noDatesRange ? undefined : firstCheckOut,
@@ -11045,10 +11057,10 @@ var handleSelectedCheckIn = function (_a) {
11045
11057
  };
11046
11058
  var handleDisabledDatesByPage = function (_a) {
11047
11059
  var _b, _c, _d;
11048
- var disableCalendarDates = _a.disableCalendarDates, selectedPath = _a.selectedPath, today = _a.today;
11049
- var daysToOffsetCalendar = (disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.disabledDatesByPage) && selectedPath
11060
+ var newDisableCalendarDates = _a.newDisableCalendarDates, selectedPath = _a.selectedPath, today = _a.today;
11061
+ var daysToOffsetCalendar = (newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDatesByPage) && selectedPath
11050
11062
  ? [
11051
- (_b = disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.disabledDatesByPage) === null || _b === void 0 ? void 0 : _b.find(function (item) { return selectedPath === item.page; }),
11063
+ (_b = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDatesByPage) === null || _b === void 0 ? void 0 : _b.find(function (item) { return selectedPath === item.page; }),
11052
11064
  ]
11053
11065
  : [];
11054
11066
  return daysToOffsetCalendar.length
@@ -11463,7 +11475,7 @@ var useFilterCalendar = function (_a) {
11463
11475
  var endDateParam = urlSearchParams.get('endDate');
11464
11476
  if (startDateParam && endDateParam) {
11465
11477
  if (noActiveSelection) {
11466
- setCalendarRange(undefined);
11478
+ handleClearDates();
11467
11479
  setUpdateCalendarDefaultMoth(function (prev) { return prev + 1; });
11468
11480
  setInitialCalendarRange({
11469
11481
  from: new Date(startDateParam),