willba-component-library 0.2.32 → 0.2.34

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.
@@ -1,5 +1,5 @@
1
1
  import { DateRange, Matcher } from 'react-day-picker';
2
- import { Palette } from 'src/themes/useTheme';
2
+ import { Palette } from '../../../themes/useTheme';
3
3
  export type CalendarOffset = {
4
4
  [key: string]: number;
5
5
  };
package/lib/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import { DateRange, Matcher } from 'react-day-picker';
3
- import { Palette as Palette$1 } from 'src/themes/useTheme';
4
3
 
5
4
  interface ButtonProps {
6
5
  /**
@@ -29,6 +28,11 @@ interface ButtonProps {
29
28
  */
30
29
  declare const Button: ({ type, textColor, size, onClick, label, }: ButtonProps) => React.JSX.Element;
31
30
 
31
+ type Palette = {
32
+ primary: string;
33
+ secondary: string;
34
+ };
35
+
32
36
  type CalendarOffset = {
33
37
  [key: string]: number;
34
38
  };
@@ -61,17 +65,12 @@ type CalendarTypes = {
61
65
  initialCalendarRange?: DateRange | undefined;
62
66
  showFeedback?: boolean;
63
67
  noActiveSelection?: boolean;
64
- palette?: Palette$1;
68
+ palette?: Palette;
65
69
  updateCalendarMonthNavigation?: boolean;
66
70
  setUpdateCalendarMonthNavigation?: (arg: (prev: boolean) => boolean) => void;
67
71
  updateCalendarDefaultMoth?: number;
68
72
  };
69
73
 
70
- type Palette = {
71
- primary: string;
72
- secondary: string;
73
- };
74
-
75
74
  type FilterBarProps = {
76
75
  language?: string;
77
76
  ageCategories?: AgeCategoryType[];
package/lib/index.esm.js CHANGED
@@ -10826,21 +10826,40 @@ var Calendar = forwardRef(function (_a, ref) {
10826
10826
  // Handle overlapping availableDates.lastCheckOut and disabledDates.start
10827
10827
  var _c = __read(useState(undefined), 2), overlappingDate = _c[0], setOverlappingDate = _c[1];
10828
10828
  useMemo(function () {
10829
- var _a, _b;
10829
+ var _a;
10830
10830
  if (disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.availableDates) {
10831
10831
  var dateFormat_1 = 'dd-MM-yyyy';
10832
- var availableDateMap_1 = new Map();
10833
- (_a = disableCalendarDates.availableDates) === null || _a === void 0 ? void 0 : _a.forEach(function (available) {
10834
- availableDateMap_1.set(format(available.lastCheckOut, dateFormat_1), available);
10835
- });
10836
- var updatedDisabledDates = (_b = disableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.map(function (dateRange) {
10832
+ var newOverlappingDates_1 = [];
10833
+ var updatedDisabledDates = (_a = disableCalendarDates.disabledDates) === null || _a === void 0 ? void 0 : _a.map(function (dateRange) {
10834
+ var _a, _b;
10837
10835
  var formattedFromDate = format(dateRange.from, dateFormat_1);
10838
- if (availableDateMap_1.has(formattedFromDate)) {
10839
- setOverlappingDate(dateRange);
10836
+ var hasTwoOverlappingDates = (_a = disableCalendarDates.disabledDates) === null || _a === void 0 ? void 0 : _a.some(function (item) {
10837
+ return format(item.from, dateFormat_1) === formattedFromDate &&
10838
+ format(item.to, dateFormat_1) === formattedFromDate;
10839
+ });
10840
+ var hasOneOverlappingDate = (_b = disableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.some(function (item) {
10841
+ return format(item.from, dateFormat_1) === formattedFromDate &&
10842
+ format(item.to, dateFormat_1) !== formattedFromDate;
10843
+ });
10844
+ if (hasTwoOverlappingDates) {
10845
+ newOverlappingDates_1.push(dateRange);
10846
+ return {
10847
+ from: new Date(1),
10848
+ to: new Date(1),
10849
+ };
10850
+ }
10851
+ else if (hasOneOverlappingDate) {
10852
+ newOverlappingDates_1.push(dateRange);
10840
10853
  return __assign$2(__assign$2({}, dateRange), { from: addDays(dateRange.from, 1) });
10841
10854
  }
10842
10855
  return dateRange;
10843
10856
  });
10857
+ if (newOverlappingDates_1.length) {
10858
+ setOverlappingDate(function (prev) {
10859
+ if (prev === void 0) { prev = []; }
10860
+ return __spreadArray$1(__spreadArray$1([], __read(prev), false), __read(newOverlappingDates_1), false);
10861
+ });
10862
+ }
10844
10863
  disableCalendarDates.disabledDates = updatedDisabledDates;
10845
10864
  }
10846
10865
  }, [disableCalendarDates]);
@@ -10864,14 +10883,15 @@ var Calendar = forwardRef(function (_a, ref) {
10864
10883
  var calendarButtonsCheckOut = document.querySelectorAll('.will-filter-bar-calendar .rdp-cell:has(.booked.disabled-after-check-in)');
10865
10884
  var calendarMonthContainer = document.querySelector('.will-filter-bar-calendar .rdp-months');
10866
10885
  var calendarOverlappingDate = document.querySelectorAll('.will-filter-bar-calendar .rdp-cell:has(.overlapping-date)');
10867
- var tooltipClones = [];
10886
+ var tooltipClonesCheckIn = [];
10868
10887
  var tooltipClonesCheckOut = [];
10888
+ var tooltipClonesSpinner = [];
10869
10889
  var tooltipClonesOverlappingDates = [];
10870
10890
  if (calendarTooltip && calendarButtons.length > 0) {
10871
10891
  calendarButtons.forEach(function (element) {
10872
10892
  var tooltipClone = calendarTooltip.cloneNode(true);
10873
10893
  element.appendChild(tooltipClone);
10874
- tooltipClones.push(tooltipClone);
10894
+ tooltipClonesCheckIn.push(tooltipClone);
10875
10895
  });
10876
10896
  }
10877
10897
  if (calendarTooltipCheckOut && calendarButtonsCheckOut.length > 0) {
@@ -10882,7 +10902,9 @@ var Calendar = forwardRef(function (_a, ref) {
10882
10902
  });
10883
10903
  }
10884
10904
  if (loadingSpinner && calendarMonthContainer) {
10885
- calendarMonthContainer.appendChild(loadingSpinner);
10905
+ var tooltipClone = loadingSpinner.cloneNode(true);
10906
+ calendarMonthContainer.appendChild(tooltipClone);
10907
+ tooltipClonesSpinner.push(tooltipClone);
10886
10908
  }
10887
10909
  if (calendarTooltipOverlappingDate &&
10888
10910
  calendarOverlappingDate.length > 0) {
@@ -10893,8 +10915,9 @@ var Calendar = forwardRef(function (_a, ref) {
10893
10915
  });
10894
10916
  }
10895
10917
  return function () {
10896
- tooltipClones.forEach(function (clone) { return clone.remove(); });
10918
+ tooltipClonesCheckIn.forEach(function (clone) { return clone.remove(); });
10897
10919
  tooltipClonesCheckOut.forEach(function (clone) { return clone.remove(); });
10920
+ tooltipClonesSpinner.forEach(function (clone) { return clone.remove(); });
10898
10921
  tooltipClonesOverlappingDates.forEach(function (clone) { return clone.remove(); });
10899
10922
  };
10900
10923
  }, [
@@ -10902,6 +10925,7 @@ var Calendar = forwardRef(function (_a, ref) {
10902
10925
  updateCalendarMonthNavigation,
10903
10926
  overlappingDate,
10904
10927
  initialCalendarRange,
10928
+ updateCalendarDefaultMoth,
10905
10929
  ]);
10906
10930
  return (React__default__default.createElement("div", { className: "will-filter-bar-calendar", ref: ref },
10907
10931
  React__default__default.createElement("div", { className: "will-calendar-filter-container" },
@@ -10960,7 +10984,11 @@ var Calendar = forwardRef(function (_a, ref) {
10960
10984
  noActiveSelectionEnd: !calendarRange
10961
10985
  ? (initialCalendarRange === null || initialCalendarRange === void 0 ? void 0 : initialCalendarRange.to) || []
10962
10986
  : [],
10963
- overlappingDate: (!(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) && (overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.from)) || [],
10987
+ overlappingDate: (!(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
10988
+ (overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.map(function (item) { return ({
10989
+ from: item.from,
10990
+ }); }))) ||
10991
+ [],
10964
10992
  } }),
10965
10993
  React__default__default.createElement("div", { className: 'will-calendar-tooltip' },
10966
10994
  React__default__default.createElement("div", null, t('noCheckIn'))),
@@ -10982,9 +11010,13 @@ var handleSelectedCheckIn = function (_a) {
10982
11010
  var calendarFrom = (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from)
10983
11011
  ? format(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from, dateFormat)
10984
11012
  : null;
10985
- var overlappingDateFrom = (overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.from)
10986
- ? format(overlappingDate.from, dateFormat)
11013
+ // const overlappingDateFrom = overlappingDate?.from
11014
+ // ? format(overlappingDate.from, dateFormat)
11015
+ // : null
11016
+ var overlappingDateFrom = (overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.length)
11017
+ ? overlappingDate.find(function (date) { return format(date.from || 1, dateFormat) === rangeFrom; })
10987
11018
  : null;
11019
+ console.log(overlappingDateFrom);
10988
11020
  var checkOutRange = ((_b = disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.availableDates) === null || _b === void 0 ? void 0 : _b.length)
10989
11021
  ? disableCalendarDates.availableDates.find(function (checkInDate) {
10990
11022
  return format(checkInDate.checkIn || 1, dateFormat) ===
@@ -11006,7 +11038,8 @@ var handleSelectedCheckIn = function (_a) {
11006
11038
  }
11007
11039
  if ((rangeTo && rangeFrom && rangeFrom === rangeTo) ||
11008
11040
  (!rangeTo && !rangeFrom) ||
11009
- rangeFrom === overlappingDateFrom) {
11041
+ // rangeFrom === overlappingDateFrom
11042
+ overlappingDateFrom) {
11010
11043
  setCalendarRange(undefined);
11011
11044
  setDisabledDates && setDisabledDates([]);
11012
11045
  }