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.
- package/lib/core/components/calendar/CalendarTypes.d.ts +1 -1
- package/lib/index.d.ts +6 -7
- package/lib/index.esm.js +49 -16
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +49 -16
- package/lib/index.js.map +1 -1
- package/lib/index.umd.js +49 -16
- package/lib/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FilterCalendar/FilterCalendar.stories.tsx +122 -13
- package/src/core/components/calendar/Calendar.tsx +55 -20
- package/src/core/components/calendar/CalendarTypes.ts +1 -1
package/lib/index.js
CHANGED
|
@@ -10846,21 +10846,40 @@ var Calendar = React__default.forwardRef(function (_a, ref) {
|
|
|
10846
10846
|
// Handle overlapping availableDates.lastCheckOut and disabledDates.start
|
|
10847
10847
|
var _c = __read(React__default.useState(undefined), 2), overlappingDate = _c[0], setOverlappingDate = _c[1];
|
|
10848
10848
|
React__default.useMemo(function () {
|
|
10849
|
-
var _a
|
|
10849
|
+
var _a;
|
|
10850
10850
|
if (disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.availableDates) {
|
|
10851
10851
|
var dateFormat_1 = 'dd-MM-yyyy';
|
|
10852
|
-
var
|
|
10853
|
-
(_a = disableCalendarDates.
|
|
10854
|
-
|
|
10855
|
-
});
|
|
10856
|
-
var updatedDisabledDates = (_b = disableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.map(function (dateRange) {
|
|
10852
|
+
var newOverlappingDates_1 = [];
|
|
10853
|
+
var updatedDisabledDates = (_a = disableCalendarDates.disabledDates) === null || _a === void 0 ? void 0 : _a.map(function (dateRange) {
|
|
10854
|
+
var _a, _b;
|
|
10857
10855
|
var formattedFromDate = format(dateRange.from, dateFormat_1);
|
|
10858
|
-
|
|
10859
|
-
|
|
10856
|
+
var hasTwoOverlappingDates = (_a = disableCalendarDates.disabledDates) === null || _a === void 0 ? void 0 : _a.some(function (item) {
|
|
10857
|
+
return format(item.from, dateFormat_1) === formattedFromDate &&
|
|
10858
|
+
format(item.to, dateFormat_1) === formattedFromDate;
|
|
10859
|
+
});
|
|
10860
|
+
var hasOneOverlappingDate = (_b = disableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.some(function (item) {
|
|
10861
|
+
return format(item.from, dateFormat_1) === formattedFromDate &&
|
|
10862
|
+
format(item.to, dateFormat_1) !== formattedFromDate;
|
|
10863
|
+
});
|
|
10864
|
+
if (hasTwoOverlappingDates) {
|
|
10865
|
+
newOverlappingDates_1.push(dateRange);
|
|
10866
|
+
return {
|
|
10867
|
+
from: new Date(1),
|
|
10868
|
+
to: new Date(1),
|
|
10869
|
+
};
|
|
10870
|
+
}
|
|
10871
|
+
else if (hasOneOverlappingDate) {
|
|
10872
|
+
newOverlappingDates_1.push(dateRange);
|
|
10860
10873
|
return __assign$2(__assign$2({}, dateRange), { from: addDays(dateRange.from, 1) });
|
|
10861
10874
|
}
|
|
10862
10875
|
return dateRange;
|
|
10863
10876
|
});
|
|
10877
|
+
if (newOverlappingDates_1.length) {
|
|
10878
|
+
setOverlappingDate(function (prev) {
|
|
10879
|
+
if (prev === void 0) { prev = []; }
|
|
10880
|
+
return __spreadArray$1(__spreadArray$1([], __read(prev), false), __read(newOverlappingDates_1), false);
|
|
10881
|
+
});
|
|
10882
|
+
}
|
|
10864
10883
|
disableCalendarDates.disabledDates = updatedDisabledDates;
|
|
10865
10884
|
}
|
|
10866
10885
|
}, [disableCalendarDates]);
|
|
@@ -10884,14 +10903,15 @@ var Calendar = React__default.forwardRef(function (_a, ref) {
|
|
|
10884
10903
|
var calendarButtonsCheckOut = document.querySelectorAll('.will-filter-bar-calendar .rdp-cell:has(.booked.disabled-after-check-in)');
|
|
10885
10904
|
var calendarMonthContainer = document.querySelector('.will-filter-bar-calendar .rdp-months');
|
|
10886
10905
|
var calendarOverlappingDate = document.querySelectorAll('.will-filter-bar-calendar .rdp-cell:has(.overlapping-date)');
|
|
10887
|
-
var
|
|
10906
|
+
var tooltipClonesCheckIn = [];
|
|
10888
10907
|
var tooltipClonesCheckOut = [];
|
|
10908
|
+
var tooltipClonesSpinner = [];
|
|
10889
10909
|
var tooltipClonesOverlappingDates = [];
|
|
10890
10910
|
if (calendarTooltip && calendarButtons.length > 0) {
|
|
10891
10911
|
calendarButtons.forEach(function (element) {
|
|
10892
10912
|
var tooltipClone = calendarTooltip.cloneNode(true);
|
|
10893
10913
|
element.appendChild(tooltipClone);
|
|
10894
|
-
|
|
10914
|
+
tooltipClonesCheckIn.push(tooltipClone);
|
|
10895
10915
|
});
|
|
10896
10916
|
}
|
|
10897
10917
|
if (calendarTooltipCheckOut && calendarButtonsCheckOut.length > 0) {
|
|
@@ -10902,7 +10922,9 @@ var Calendar = React__default.forwardRef(function (_a, ref) {
|
|
|
10902
10922
|
});
|
|
10903
10923
|
}
|
|
10904
10924
|
if (loadingSpinner && calendarMonthContainer) {
|
|
10905
|
-
|
|
10925
|
+
var tooltipClone = loadingSpinner.cloneNode(true);
|
|
10926
|
+
calendarMonthContainer.appendChild(tooltipClone);
|
|
10927
|
+
tooltipClonesSpinner.push(tooltipClone);
|
|
10906
10928
|
}
|
|
10907
10929
|
if (calendarTooltipOverlappingDate &&
|
|
10908
10930
|
calendarOverlappingDate.length > 0) {
|
|
@@ -10913,8 +10935,9 @@ var Calendar = React__default.forwardRef(function (_a, ref) {
|
|
|
10913
10935
|
});
|
|
10914
10936
|
}
|
|
10915
10937
|
return function () {
|
|
10916
|
-
|
|
10938
|
+
tooltipClonesCheckIn.forEach(function (clone) { return clone.remove(); });
|
|
10917
10939
|
tooltipClonesCheckOut.forEach(function (clone) { return clone.remove(); });
|
|
10940
|
+
tooltipClonesSpinner.forEach(function (clone) { return clone.remove(); });
|
|
10918
10941
|
tooltipClonesOverlappingDates.forEach(function (clone) { return clone.remove(); });
|
|
10919
10942
|
};
|
|
10920
10943
|
}, [
|
|
@@ -10922,6 +10945,7 @@ var Calendar = React__default.forwardRef(function (_a, ref) {
|
|
|
10922
10945
|
updateCalendarMonthNavigation,
|
|
10923
10946
|
overlappingDate,
|
|
10924
10947
|
initialCalendarRange,
|
|
10948
|
+
updateCalendarDefaultMoth,
|
|
10925
10949
|
]);
|
|
10926
10950
|
return (React__default.createElement("div", { className: "will-filter-bar-calendar", ref: ref },
|
|
10927
10951
|
React__default.createElement("div", { className: "will-calendar-filter-container" },
|
|
@@ -10980,7 +11004,11 @@ var Calendar = React__default.forwardRef(function (_a, ref) {
|
|
|
10980
11004
|
noActiveSelectionEnd: !calendarRange
|
|
10981
11005
|
? (initialCalendarRange === null || initialCalendarRange === void 0 ? void 0 : initialCalendarRange.to) || []
|
|
10982
11006
|
: [],
|
|
10983
|
-
overlappingDate: (!(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
|
|
11007
|
+
overlappingDate: (!(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) &&
|
|
11008
|
+
(overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.map(function (item) { return ({
|
|
11009
|
+
from: item.from,
|
|
11010
|
+
}); }))) ||
|
|
11011
|
+
[],
|
|
10984
11012
|
} }),
|
|
10985
11013
|
React__default.createElement("div", { className: 'will-calendar-tooltip' },
|
|
10986
11014
|
React__default.createElement("div", null, t('noCheckIn'))),
|
|
@@ -11002,9 +11030,13 @@ var handleSelectedCheckIn = function (_a) {
|
|
|
11002
11030
|
var calendarFrom = (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from)
|
|
11003
11031
|
? format(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from, dateFormat)
|
|
11004
11032
|
: null;
|
|
11005
|
-
|
|
11006
|
-
|
|
11033
|
+
// const overlappingDateFrom = overlappingDate?.from
|
|
11034
|
+
// ? format(overlappingDate.from, dateFormat)
|
|
11035
|
+
// : null
|
|
11036
|
+
var overlappingDateFrom = (overlappingDate === null || overlappingDate === void 0 ? void 0 : overlappingDate.length)
|
|
11037
|
+
? overlappingDate.find(function (date) { return format(date.from || 1, dateFormat) === rangeFrom; })
|
|
11007
11038
|
: null;
|
|
11039
|
+
console.log(overlappingDateFrom);
|
|
11008
11040
|
var checkOutRange = ((_b = disableCalendarDates === null || disableCalendarDates === void 0 ? void 0 : disableCalendarDates.availableDates) === null || _b === void 0 ? void 0 : _b.length)
|
|
11009
11041
|
? disableCalendarDates.availableDates.find(function (checkInDate) {
|
|
11010
11042
|
return format(checkInDate.checkIn || 1, dateFormat) ===
|
|
@@ -11026,7 +11058,8 @@ var handleSelectedCheckIn = function (_a) {
|
|
|
11026
11058
|
}
|
|
11027
11059
|
if ((rangeTo && rangeFrom && rangeFrom === rangeTo) ||
|
|
11028
11060
|
(!rangeTo && !rangeFrom) ||
|
|
11029
|
-
rangeFrom === overlappingDateFrom
|
|
11061
|
+
// rangeFrom === overlappingDateFrom
|
|
11062
|
+
overlappingDateFrom) {
|
|
11030
11063
|
setCalendarRange(undefined);
|
|
11031
11064
|
setDisabledDates && setDisabledDates([]);
|
|
11032
11065
|
}
|