willba-component-library 0.2.65 → 0.2.67
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 +29 -21
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +29 -21
- package/lib/index.js.map +1 -1
- package/lib/index.umd.js +29 -21
- package/lib/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/components/FilterCalendar/FilterCalendar.tsx +0 -2
- package/src/components/FilterCalendar/hooks/useFilterCalendar.ts +0 -2
- package/src/core/components/calendar/Calendar.tsx +21 -0
- package/src/core/components/calendar/hooks/useUpdateDisabledDates.tsx +0 -4
- package/src/core/components/calendar/utils/calendarSelectionRules.tsx +3 -1
- package/src/core/components/calendar/utils/handleRangeContextDisabledDates.tsx +16 -11
package/lib/index.umd.js
CHANGED
|
@@ -11208,10 +11208,11 @@
|
|
|
11208
11208
|
var disableFutureDates = function (_a) {
|
|
11209
11209
|
var rangeFrom = _a.rangeFrom, checkOutRange = _a.checkOutRange, setDisabledDates = _a.setDisabledDates, newDisableCalendarDates = _a.newDisableCalendarDates;
|
|
11210
11210
|
if (rangeFrom && checkOutRange && setDisabledDates) {
|
|
11211
|
-
// Get
|
|
11211
|
+
// Get parse data
|
|
11212
11212
|
var checkIn = addDays(checkOutRange.checkIn, 1);
|
|
11213
11213
|
var firstCheckOut = addDays(checkOutRange.firstCheckOut, -1);
|
|
11214
11214
|
var noDatesRange = isEqual(checkIn, checkOutRange.firstCheckOut);
|
|
11215
|
+
console.log('test update', { newDisableCalendarDates: newDisableCalendarDates });
|
|
11215
11216
|
setDisabledDates(__spreadArray$1(__spreadArray$1([], __read(((newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) || [])), false), [
|
|
11216
11217
|
{
|
|
11217
11218
|
from: noDatesRange ? undefined : checkIn,
|
|
@@ -11347,11 +11348,16 @@
|
|
|
11347
11348
|
var findLastPossibleRangeContextCheckOut;
|
|
11348
11349
|
var firstPossibleRangeContextCheckIn = [];
|
|
11349
11350
|
var lastPossibleRangeContextCheckOut = [];
|
|
11351
|
+
// Parse data
|
|
11352
|
+
var rangeContextFrom = (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.from) && endOfDay(rangeContext.from);
|
|
11353
|
+
var rangeContextTo = (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.to) && endOfDay(rangeContext.to);
|
|
11354
|
+
var calendarRangeFrom = (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) && endOfDay(calendarRange.from);
|
|
11350
11355
|
if (rangeContext && (availableDates === null || availableDates === void 0 ? void 0 : availableDates.length)) {
|
|
11351
11356
|
// Find the first possible check-in after the last date gap till the range context
|
|
11352
11357
|
findFirstPossibleRangeContextCheckIn = availableDates === null || availableDates === void 0 ? void 0 : availableDates.find(function (date) {
|
|
11353
|
-
return
|
|
11354
|
-
date.
|
|
11358
|
+
return rangeContextFrom &&
|
|
11359
|
+
endOfDay(date.checkIn) < rangeContextFrom &&
|
|
11360
|
+
endOfDay(date.lastCheckOut) >= rangeContextFrom;
|
|
11355
11361
|
});
|
|
11356
11362
|
if (findFirstPossibleRangeContextCheckIn === null || findFirstPossibleRangeContextCheckIn === void 0 ? void 0 : findFirstPossibleRangeContextCheckIn.checkIn) {
|
|
11357
11363
|
firstPossibleRangeContextCheckIn.push({
|
|
@@ -11360,7 +11366,7 @@
|
|
|
11360
11366
|
}
|
|
11361
11367
|
// Find the last possible checkout before the first date gap till the range context
|
|
11362
11368
|
findLastPossibleRangeContextCheckOut = availableDates === null || availableDates === void 0 ? void 0 : availableDates.find(function (date) {
|
|
11363
|
-
return isEqual(
|
|
11369
|
+
return rangeContextTo && isEqual(rangeContextTo, endOfDay(date.checkIn));
|
|
11364
11370
|
});
|
|
11365
11371
|
if (findLastPossibleRangeContextCheckOut === null || findLastPossibleRangeContextCheckOut === void 0 ? void 0 : findLastPossibleRangeContextCheckOut.checkIn) {
|
|
11366
11372
|
lastPossibleRangeContextCheckOut.push({
|
|
@@ -11370,11 +11376,9 @@
|
|
|
11370
11376
|
}
|
|
11371
11377
|
// Get last possible check-out dates for current check-in
|
|
11372
11378
|
var currentSelectionLastCheckoutDate = availableDates === null || availableDates === void 0 ? void 0 : availableDates.find(function (date) {
|
|
11373
|
-
|
|
11374
|
-
?
|
|
11375
|
-
:
|
|
11376
|
-
var itemCheckIn = format(date.checkIn, 'dd.MM.yyyy');
|
|
11377
|
-
return calendarCheckIn ? itemCheckIn === calendarCheckIn : false;
|
|
11379
|
+
return calendarRangeFrom
|
|
11380
|
+
? isEqual(endOfDay(date.checkIn), calendarRangeFrom)
|
|
11381
|
+
: false;
|
|
11378
11382
|
});
|
|
11379
11383
|
return {
|
|
11380
11384
|
findFirstPossibleRangeContextCheckIn: findFirstPossibleRangeContextCheckIn,
|
|
@@ -11546,9 +11550,6 @@
|
|
|
11546
11550
|
return __spreadArray$1(__spreadArray$1([], __read(prev), false), __read(newOverlappingDates_1), false);
|
|
11547
11551
|
});
|
|
11548
11552
|
}
|
|
11549
|
-
if (newOverlappingDates_1.length) {
|
|
11550
|
-
console.log(newOverlappingDates_1);
|
|
11551
|
-
}
|
|
11552
11553
|
var newDisableCalendarDates_1 = __assign$2(__assign$2({}, disableCalendarDates), { disabledDates: updatedDisabledDates });
|
|
11553
11554
|
return newDisableCalendarDates_1;
|
|
11554
11555
|
}
|
|
@@ -11569,7 +11570,7 @@
|
|
|
11569
11570
|
styleInject(css_248z$8);
|
|
11570
11571
|
|
|
11571
11572
|
var Calendar = React__default.forwardRef(function (_a, ref) {
|
|
11572
|
-
var _b, _c;
|
|
11573
|
+
var _b, _c, _d;
|
|
11573
11574
|
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;
|
|
11574
11575
|
// Translations
|
|
11575
11576
|
var t = useTranslation('common').t;
|
|
@@ -11578,12 +11579,12 @@
|
|
|
11578
11579
|
var selectedStartDate = calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from;
|
|
11579
11580
|
var rangeContextStartDate = rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.from;
|
|
11580
11581
|
// Handle initial disable dates including overlapping availableDates.lastCheckOut and disabledDates.start
|
|
11581
|
-
var
|
|
11582
|
+
var _e = useUpdateDisabledDates({
|
|
11582
11583
|
disableCalendarDates: disableCalendarDates,
|
|
11583
11584
|
calendarRange: calendarRange,
|
|
11584
11585
|
updateCalendarMonthNavigation: updateCalendarMonthNavigation,
|
|
11585
11586
|
updateCalendarDefaultMonth: updateCalendarDefaultMonth,
|
|
11586
|
-
}), newDisableCalendarDates =
|
|
11587
|
+
}), newDisableCalendarDates = _e.newDisableCalendarDates, overlappingDate = _e.overlappingDate, lastPossibleCheckout = _e.lastPossibleCheckout;
|
|
11587
11588
|
// Handle disable dates by page
|
|
11588
11589
|
var disabledDatesByPage$1 = disabledDatesByPage({
|
|
11589
11590
|
today: today,
|
|
@@ -11614,11 +11615,11 @@
|
|
|
11614
11615
|
setUpdatedForSubmit && setUpdatedForSubmit(true);
|
|
11615
11616
|
};
|
|
11616
11617
|
// Handle disabled dates for range context
|
|
11617
|
-
var
|
|
11618
|
+
var _f = handleRangeContextDisabledDates({
|
|
11618
11619
|
rangeContext: rangeContext,
|
|
11619
11620
|
availableDates: newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.availableDates,
|
|
11620
11621
|
calendarRange: calendarRange,
|
|
11621
|
-
}), findFirstPossibleRangeContextCheckIn =
|
|
11622
|
+
}), findFirstPossibleRangeContextCheckIn = _f.findFirstPossibleRangeContextCheckIn, findLastPossibleRangeContextCheckOut = _f.findLastPossibleRangeContextCheckOut, firstPossibleRangeContextCheckIn = _f.firstPossibleRangeContextCheckIn, lastPossibleRangeContextCheckOut = _f.lastPossibleRangeContextCheckOut, currentSelectionLastCheckoutDate = _f.currentSelectionLastCheckoutDate;
|
|
11622
11623
|
// Handle check for continuous selection in the range context
|
|
11623
11624
|
checkForContinuousSelection({
|
|
11624
11625
|
setCalendarHasError: setCalendarHasError,
|
|
@@ -11626,19 +11627,28 @@
|
|
|
11626
11627
|
calendarRange: calendarRange,
|
|
11627
11628
|
calendarHasError: calendarHasError,
|
|
11628
11629
|
});
|
|
11630
|
+
console.log('test', disabledDatesByPage$1.length
|
|
11631
|
+
? disabledDatesByPage$1
|
|
11632
|
+
: (disabledDates === null || disabledDates === void 0 ? void 0 : disabledDates.length)
|
|
11633
|
+
? __spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11634
|
+
lastPossibleCheckout && lastPossibleCheckout
|
|
11635
|
+
], __read(disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : ((_b = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.length)
|
|
11636
|
+
? __spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11637
|
+
lastPossibleCheckout && lastPossibleCheckout
|
|
11638
|
+
], __read(newDisableCalendarDates.disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : []);
|
|
11629
11639
|
return (React__default.createElement("div", { className: "will-filter-bar-calendar", ref: ref },
|
|
11630
11640
|
React__default.createElement("div", { className: "will-calendar-filter-container" },
|
|
11631
11641
|
React__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) ||
|
|
11632
11642
|
selectedStartDate ||
|
|
11633
11643
|
rangeContextStartDate ||
|
|
11634
|
-
(((
|
|
11644
|
+
(((_c = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) === null || _c === void 0 ? void 0 : _c.length)
|
|
11635
11645
|
? newDisableCalendarDates.disabledDates[0].from
|
|
11636
11646
|
: today), disabled: disabledDatesByPage$1.length
|
|
11637
11647
|
? disabledDatesByPage$1
|
|
11638
11648
|
: (disabledDates === null || disabledDates === void 0 ? void 0 : disabledDates.length)
|
|
11639
11649
|
? __spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11640
11650
|
lastPossibleCheckout && lastPossibleCheckout
|
|
11641
|
-
], __read(disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : ((
|
|
11651
|
+
], __read(disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : ((_d = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) === null || _d === void 0 ? void 0 : _d.length)
|
|
11642
11652
|
? __spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11643
11653
|
lastPossibleCheckout && lastPossibleCheckout
|
|
11644
11654
|
], __read(newDisableCalendarDates.disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : [], fromMonth: today, onMonthChange: function (val) {
|
|
@@ -12073,7 +12083,6 @@
|
|
|
12073
12083
|
// Lifecycle
|
|
12074
12084
|
// Handle update component with new data
|
|
12075
12085
|
React__default.useEffect(function () {
|
|
12076
|
-
console.log('1', outerDisableCalendarDates);
|
|
12077
12086
|
if (outerDisableCalendarDates === null || outerDisableCalendarDates === void 0 ? void 0 : outerDisableCalendarDates.availableDates) {
|
|
12078
12087
|
setDisableCalendarDates({
|
|
12079
12088
|
availableDates: __spreadArray$1([], __read(outerDisableCalendarDates.availableDates.sort(function (a, b) {
|
|
@@ -12180,7 +12189,6 @@
|
|
|
12180
12189
|
useUpdateTranslations({ language: language });
|
|
12181
12190
|
var t = useTranslation().t;
|
|
12182
12191
|
var isMobile = reactResponsiveExports.useMediaQuery({ maxWidth: 690 });
|
|
12183
|
-
console.log('2', { outerDisableCalendarDates: outerDisableCalendarDates });
|
|
12184
12192
|
var _b = useFilterCalendar({
|
|
12185
12193
|
onSubmit: onSubmit,
|
|
12186
12194
|
setToggleCalendar: setToggleCalendar,
|