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.esm.js
CHANGED
|
@@ -11186,10 +11186,11 @@ var calendarSelectionRules = function (_a) {
|
|
|
11186
11186
|
var disableFutureDates = function (_a) {
|
|
11187
11187
|
var rangeFrom = _a.rangeFrom, checkOutRange = _a.checkOutRange, setDisabledDates = _a.setDisabledDates, newDisableCalendarDates = _a.newDisableCalendarDates;
|
|
11188
11188
|
if (rangeFrom && checkOutRange && setDisabledDates) {
|
|
11189
|
-
// Get
|
|
11189
|
+
// Get parse data
|
|
11190
11190
|
var checkIn = addDays(checkOutRange.checkIn, 1);
|
|
11191
11191
|
var firstCheckOut = addDays(checkOutRange.firstCheckOut, -1);
|
|
11192
11192
|
var noDatesRange = isEqual(checkIn, checkOutRange.firstCheckOut);
|
|
11193
|
+
console.log('test update', { newDisableCalendarDates: newDisableCalendarDates });
|
|
11193
11194
|
setDisabledDates(__spreadArray$1(__spreadArray$1([], __read(((newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) || [])), false), [
|
|
11194
11195
|
{
|
|
11195
11196
|
from: noDatesRange ? undefined : checkIn,
|
|
@@ -11325,11 +11326,16 @@ var handleRangeContextDisabledDates = function (_a) {
|
|
|
11325
11326
|
var findLastPossibleRangeContextCheckOut;
|
|
11326
11327
|
var firstPossibleRangeContextCheckIn = [];
|
|
11327
11328
|
var lastPossibleRangeContextCheckOut = [];
|
|
11329
|
+
// Parse data
|
|
11330
|
+
var rangeContextFrom = (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.from) && endOfDay(rangeContext.from);
|
|
11331
|
+
var rangeContextTo = (rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.to) && endOfDay(rangeContext.to);
|
|
11332
|
+
var calendarRangeFrom = (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) && endOfDay(calendarRange.from);
|
|
11328
11333
|
if (rangeContext && (availableDates === null || availableDates === void 0 ? void 0 : availableDates.length)) {
|
|
11329
11334
|
// Find the first possible check-in after the last date gap till the range context
|
|
11330
11335
|
findFirstPossibleRangeContextCheckIn = availableDates === null || availableDates === void 0 ? void 0 : availableDates.find(function (date) {
|
|
11331
|
-
return
|
|
11332
|
-
date.
|
|
11336
|
+
return rangeContextFrom &&
|
|
11337
|
+
endOfDay(date.checkIn) < rangeContextFrom &&
|
|
11338
|
+
endOfDay(date.lastCheckOut) >= rangeContextFrom;
|
|
11333
11339
|
});
|
|
11334
11340
|
if (findFirstPossibleRangeContextCheckIn === null || findFirstPossibleRangeContextCheckIn === void 0 ? void 0 : findFirstPossibleRangeContextCheckIn.checkIn) {
|
|
11335
11341
|
firstPossibleRangeContextCheckIn.push({
|
|
@@ -11338,7 +11344,7 @@ var handleRangeContextDisabledDates = function (_a) {
|
|
|
11338
11344
|
}
|
|
11339
11345
|
// Find the last possible checkout before the first date gap till the range context
|
|
11340
11346
|
findLastPossibleRangeContextCheckOut = availableDates === null || availableDates === void 0 ? void 0 : availableDates.find(function (date) {
|
|
11341
|
-
return isEqual(
|
|
11347
|
+
return rangeContextTo && isEqual(rangeContextTo, endOfDay(date.checkIn));
|
|
11342
11348
|
});
|
|
11343
11349
|
if (findLastPossibleRangeContextCheckOut === null || findLastPossibleRangeContextCheckOut === void 0 ? void 0 : findLastPossibleRangeContextCheckOut.checkIn) {
|
|
11344
11350
|
lastPossibleRangeContextCheckOut.push({
|
|
@@ -11348,11 +11354,9 @@ var handleRangeContextDisabledDates = function (_a) {
|
|
|
11348
11354
|
}
|
|
11349
11355
|
// Get last possible check-out dates for current check-in
|
|
11350
11356
|
var currentSelectionLastCheckoutDate = availableDates === null || availableDates === void 0 ? void 0 : availableDates.find(function (date) {
|
|
11351
|
-
|
|
11352
|
-
?
|
|
11353
|
-
:
|
|
11354
|
-
var itemCheckIn = format(date.checkIn, 'dd.MM.yyyy');
|
|
11355
|
-
return calendarCheckIn ? itemCheckIn === calendarCheckIn : false;
|
|
11357
|
+
return calendarRangeFrom
|
|
11358
|
+
? isEqual(endOfDay(date.checkIn), calendarRangeFrom)
|
|
11359
|
+
: false;
|
|
11356
11360
|
});
|
|
11357
11361
|
return {
|
|
11358
11362
|
findFirstPossibleRangeContextCheckIn: findFirstPossibleRangeContextCheckIn,
|
|
@@ -11524,9 +11528,6 @@ var useUpdateDisabledDates = function (_a) {
|
|
|
11524
11528
|
return __spreadArray$1(__spreadArray$1([], __read(prev), false), __read(newOverlappingDates_1), false);
|
|
11525
11529
|
});
|
|
11526
11530
|
}
|
|
11527
|
-
if (newOverlappingDates_1.length) {
|
|
11528
|
-
console.log(newOverlappingDates_1);
|
|
11529
|
-
}
|
|
11530
11531
|
var newDisableCalendarDates_1 = __assign$2(__assign$2({}, disableCalendarDates), { disabledDates: updatedDisabledDates });
|
|
11531
11532
|
return newDisableCalendarDates_1;
|
|
11532
11533
|
}
|
|
@@ -11547,7 +11548,7 @@ var css_248z$8 = ".will-calendar-filter-container {\n display: flex;\n justify
|
|
|
11547
11548
|
styleInject(css_248z$8);
|
|
11548
11549
|
|
|
11549
11550
|
var Calendar = forwardRef(function (_a, ref) {
|
|
11550
|
-
var _b, _c;
|
|
11551
|
+
var _b, _c, _d;
|
|
11551
11552
|
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;
|
|
11552
11553
|
// Translations
|
|
11553
11554
|
var t = useTranslation('common').t;
|
|
@@ -11556,12 +11557,12 @@ var Calendar = forwardRef(function (_a, ref) {
|
|
|
11556
11557
|
var selectedStartDate = calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from;
|
|
11557
11558
|
var rangeContextStartDate = rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.from;
|
|
11558
11559
|
// Handle initial disable dates including overlapping availableDates.lastCheckOut and disabledDates.start
|
|
11559
|
-
var
|
|
11560
|
+
var _e = useUpdateDisabledDates({
|
|
11560
11561
|
disableCalendarDates: disableCalendarDates,
|
|
11561
11562
|
calendarRange: calendarRange,
|
|
11562
11563
|
updateCalendarMonthNavigation: updateCalendarMonthNavigation,
|
|
11563
11564
|
updateCalendarDefaultMonth: updateCalendarDefaultMonth,
|
|
11564
|
-
}), newDisableCalendarDates =
|
|
11565
|
+
}), newDisableCalendarDates = _e.newDisableCalendarDates, overlappingDate = _e.overlappingDate, lastPossibleCheckout = _e.lastPossibleCheckout;
|
|
11565
11566
|
// Handle disable dates by page
|
|
11566
11567
|
var disabledDatesByPage$1 = disabledDatesByPage({
|
|
11567
11568
|
today: today,
|
|
@@ -11592,11 +11593,11 @@ var Calendar = forwardRef(function (_a, ref) {
|
|
|
11592
11593
|
setUpdatedForSubmit && setUpdatedForSubmit(true);
|
|
11593
11594
|
};
|
|
11594
11595
|
// Handle disabled dates for range context
|
|
11595
|
-
var
|
|
11596
|
+
var _f = handleRangeContextDisabledDates({
|
|
11596
11597
|
rangeContext: rangeContext,
|
|
11597
11598
|
availableDates: newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.availableDates,
|
|
11598
11599
|
calendarRange: calendarRange,
|
|
11599
|
-
}), findFirstPossibleRangeContextCheckIn =
|
|
11600
|
+
}), findFirstPossibleRangeContextCheckIn = _f.findFirstPossibleRangeContextCheckIn, findLastPossibleRangeContextCheckOut = _f.findLastPossibleRangeContextCheckOut, firstPossibleRangeContextCheckIn = _f.firstPossibleRangeContextCheckIn, lastPossibleRangeContextCheckOut = _f.lastPossibleRangeContextCheckOut, currentSelectionLastCheckoutDate = _f.currentSelectionLastCheckoutDate;
|
|
11600
11601
|
// Handle check for continuous selection in the range context
|
|
11601
11602
|
checkForContinuousSelection({
|
|
11602
11603
|
setCalendarHasError: setCalendarHasError,
|
|
@@ -11604,19 +11605,28 @@ var Calendar = forwardRef(function (_a, ref) {
|
|
|
11604
11605
|
calendarRange: calendarRange,
|
|
11605
11606
|
calendarHasError: calendarHasError,
|
|
11606
11607
|
});
|
|
11608
|
+
console.log('test', disabledDatesByPage$1.length
|
|
11609
|
+
? disabledDatesByPage$1
|
|
11610
|
+
: (disabledDates === null || disabledDates === void 0 ? void 0 : disabledDates.length)
|
|
11611
|
+
? __spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11612
|
+
lastPossibleCheckout && lastPossibleCheckout
|
|
11613
|
+
], __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)
|
|
11614
|
+
? __spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11615
|
+
lastPossibleCheckout && lastPossibleCheckout
|
|
11616
|
+
], __read(newDisableCalendarDates.disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : []);
|
|
11607
11617
|
return (React__default__default.createElement("div", { className: "will-filter-bar-calendar", ref: ref },
|
|
11608
11618
|
React__default__default.createElement("div", { className: "will-calendar-filter-container" },
|
|
11609
11619
|
React__default__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) ||
|
|
11610
11620
|
selectedStartDate ||
|
|
11611
11621
|
rangeContextStartDate ||
|
|
11612
|
-
(((
|
|
11622
|
+
(((_c = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) === null || _c === void 0 ? void 0 : _c.length)
|
|
11613
11623
|
? newDisableCalendarDates.disabledDates[0].from
|
|
11614
11624
|
: today), disabled: disabledDatesByPage$1.length
|
|
11615
11625
|
? disabledDatesByPage$1
|
|
11616
11626
|
: (disabledDates === null || disabledDates === void 0 ? void 0 : disabledDates.length)
|
|
11617
11627
|
? __spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11618
11628
|
lastPossibleCheckout && lastPossibleCheckout
|
|
11619
|
-
], __read(disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : ((
|
|
11629
|
+
], __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)
|
|
11620
11630
|
? __spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11621
11631
|
lastPossibleCheckout && lastPossibleCheckout
|
|
11622
11632
|
], __read(newDisableCalendarDates.disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : [], fromMonth: today, onMonthChange: function (val) {
|
|
@@ -12051,7 +12061,6 @@ var useFilterCalendar = function (_a) {
|
|
|
12051
12061
|
// Lifecycle
|
|
12052
12062
|
// Handle update component with new data
|
|
12053
12063
|
useEffect(function () {
|
|
12054
|
-
console.log('1', outerDisableCalendarDates);
|
|
12055
12064
|
if (outerDisableCalendarDates === null || outerDisableCalendarDates === void 0 ? void 0 : outerDisableCalendarDates.availableDates) {
|
|
12056
12065
|
setDisableCalendarDates({
|
|
12057
12066
|
availableDates: __spreadArray$1([], __read(outerDisableCalendarDates.availableDates.sort(function (a, b) {
|
|
@@ -12158,7 +12167,6 @@ function FilterCalendar(_a) {
|
|
|
12158
12167
|
useUpdateTranslations({ language: language });
|
|
12159
12168
|
var t = useTranslation().t;
|
|
12160
12169
|
var isMobile = reactResponsiveExports.useMediaQuery({ maxWidth: 690 });
|
|
12161
|
-
console.log('2', { outerDisableCalendarDates: outerDisableCalendarDates });
|
|
12162
12170
|
var _b = useFilterCalendar({
|
|
12163
12171
|
onSubmit: onSubmit,
|
|
12164
12172
|
setToggleCalendar: setToggleCalendar,
|