willba-component-library 0.2.94 → 0.2.96
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/assets/IconsSvg.d.ts +1 -1
- package/lib/components/FilterBar/FilterBarTypes.d.ts +1 -1
- package/lib/components/FilterBar/components/guests/Guests.d.ts +1 -1
- package/lib/components/FilterCalendar/hooks/useFilterCalendar.d.ts +0 -1
- package/lib/core/components/calendar/utils/calendarSelectionRules.d.ts +2 -3
- package/lib/core/components/calendar/utils/handleCalendarModifiers.d.ts +1 -9
- package/lib/core/components/calendar/utils/handleRangeContextDisabledDates.d.ts +1 -1
- package/lib/index.esm.js +63 -89
- package/lib/index.esm.js.map +1 -1
- package/lib/index.js +63 -89
- package/lib/index.js.map +1 -1
- package/lib/index.umd.js +63 -89
- package/lib/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/assets/IconsSvg.tsx +1 -0
- package/src/components/FilterBar/FilterBarTypes.ts +1 -1
- package/src/components/FilterBar/components/guests/GuestCount/GuestCount.tsx +5 -5
- package/src/components/FilterBar/components/guests/Guests.tsx +3 -7
- package/src/components/FilterCalendar/FilterCalendar.stories.tsx +275 -275
- package/src/components/FilterCalendar/FilterCalendar.tsx +0 -2
- package/src/components/FilterCalendar/hooks/useFilterCalendar.ts +0 -1
- package/src/core/components/calendar/Calendar.tsx +44 -34
- package/src/core/components/calendar/hooks/useUpdateDisabledDates.tsx +3 -3
- package/src/core/components/calendar/utils/calendarSelectionRules.tsx +0 -48
- package/src/core/components/calendar/utils/handleCalendarModifiers.tsx +1 -30
- package/src/core/components/calendar/utils/handleRangeContextDisabledDates.tsx +3 -3
- package/src/locales/en/filterBar.json +2 -5
- package/src/locales/fi/filterBar.json +6 -11
package/lib/assets/IconsSvg.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import './Guests.css';
|
|
|
4
4
|
type Props = {
|
|
5
5
|
ageCategories: AgeCategoryType[];
|
|
6
6
|
updateGuestsCount: (arg1: string, arg2: number) => void;
|
|
7
|
-
ageCategoryCounts: AgeCategoryCount
|
|
7
|
+
ageCategoryCounts: AgeCategoryCount;
|
|
8
8
|
};
|
|
9
9
|
export declare const Guests: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export {};
|
|
@@ -13,7 +13,6 @@ export declare const useFilterCalendar: ({ onSubmit, setToggleCalendar, noActive
|
|
|
13
13
|
handleSubmit: () => void;
|
|
14
14
|
handleClearDates: () => void;
|
|
15
15
|
setCalendarRange: import("react").Dispatch<import("react").SetStateAction<DateRange | undefined>>;
|
|
16
|
-
setDisabledDates: import("react").Dispatch<import("react").SetStateAction<Matcher[]>>;
|
|
17
16
|
setUpdateCalendarMonthNavigation: import("react").Dispatch<import("react").SetStateAction<boolean>>;
|
|
18
17
|
calendarRange: DateRange | undefined;
|
|
19
18
|
disabledDates: Matcher[];
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { DateRange
|
|
1
|
+
import { DateRange } from 'react-day-picker';
|
|
2
2
|
import { DisableCalendarDates, RangeContext } from '../CalendarTypes';
|
|
3
3
|
type Props = {
|
|
4
4
|
range: DateRange | undefined;
|
|
5
5
|
newDisableCalendarDates?: DisableCalendarDates;
|
|
6
6
|
setCalendarRange: (range: DateRange | undefined) => void;
|
|
7
|
-
setDisabledDates?: (arg: Matcher[]) => void;
|
|
8
7
|
setCalendarHasError?: (arg: boolean) => void;
|
|
9
8
|
calendarRange?: DateRange;
|
|
10
9
|
overlappingDate?: DateRange[];
|
|
11
10
|
calendarHasError?: boolean;
|
|
12
11
|
rangeContext?: RangeContext;
|
|
13
12
|
};
|
|
14
|
-
export declare const calendarSelectionRules: ({ range, newDisableCalendarDates, setCalendarRange,
|
|
13
|
+
export declare const calendarSelectionRules: ({ range, newDisableCalendarDates, setCalendarRange, calendarRange, overlappingDate, setCalendarHasError, rangeContext, }: Props) => void;
|
|
15
14
|
export {};
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import { DateRange, Matcher } from 'react-day-picker';
|
|
2
2
|
import { DisableCalendarDates, RangeContext } from '../CalendarTypes';
|
|
3
3
|
type Props = {
|
|
4
|
-
newDisableCalendarDates?: DisableCalendarDates;
|
|
5
4
|
calendarRange?: DateRange;
|
|
6
|
-
disabledDatesByPage: {
|
|
7
|
-
from: Date;
|
|
8
|
-
to: Date;
|
|
9
|
-
}[];
|
|
10
5
|
disabledDates?: Matcher[];
|
|
11
|
-
lastPossibleCheckout?: Matcher;
|
|
12
6
|
overlappingDate?: DateRange[];
|
|
13
7
|
rangeContext?: RangeContext;
|
|
14
8
|
findFirstPossibleRangeContextCheckIn?: NonNullable<DisableCalendarDates['availableDates']>['0'];
|
|
15
9
|
findLastPossibleRangeContextCheckOut?: NonNullable<DisableCalendarDates['availableDates']>['0'];
|
|
16
|
-
firstPossibleRangeContextCheckIn: Matcher[];
|
|
17
|
-
lastPossibleRangeContextCheckOut: Matcher[];
|
|
18
10
|
currentSelectionLastCheckoutDate?: NonNullable<DisableCalendarDates['availableDates']>['0'];
|
|
19
11
|
};
|
|
20
|
-
export declare const handleCalendarModifiers: ({
|
|
12
|
+
export declare const handleCalendarModifiers: ({ calendarRange, disabledDates, overlappingDate, rangeContext, findFirstPossibleRangeContextCheckIn, findLastPossibleRangeContextCheckOut, currentSelectionLastCheckoutDate, }: Props) => {
|
|
21
13
|
booked: Matcher[];
|
|
22
14
|
disabledAfterCheckIn: {
|
|
23
15
|
after: Date;
|
|
@@ -18,7 +18,7 @@ export declare const handleRangeContextDisabledDates: ({ rangeContext, available
|
|
|
18
18
|
} | undefined;
|
|
19
19
|
firstPossibleRangeContextCheckIn: Matcher[];
|
|
20
20
|
lastPossibleRangeContextCheckOut: Matcher[];
|
|
21
|
-
|
|
21
|
+
currentSelectionAvailability: {
|
|
22
22
|
checkIn: Date;
|
|
23
23
|
firstCheckOut: Date;
|
|
24
24
|
lastCheckOut: Date;
|
package/lib/index.esm.js
CHANGED
|
@@ -2817,10 +2817,7 @@ var calendar$1 = {
|
|
|
2817
2817
|
eventsLabelPlaceholder: "Add search dates",
|
|
2818
2818
|
startDate: "Start date",
|
|
2819
2819
|
endDate: "End date",
|
|
2820
|
-
title: "Calendar"
|
|
2821
|
-
checkoutOnly: "Check-out only",
|
|
2822
|
-
hasDisableDates: "Contains unavailable dates",
|
|
2823
|
-
minNights: "2 nights min"
|
|
2820
|
+
title: "Calendar"
|
|
2824
2821
|
};
|
|
2825
2822
|
var guests$1 = {
|
|
2826
2823
|
label: "Number of guests",
|
|
@@ -2883,21 +2880,16 @@ var calendar = {
|
|
|
2883
2880
|
eventsLabelPlaceholder: "Lisää aikaväli",
|
|
2884
2881
|
startDate: "Alku",
|
|
2885
2882
|
endDate: "Loppu",
|
|
2886
|
-
title: "Kalenteri"
|
|
2887
|
-
checkoutOnly: "Check-out only",
|
|
2888
|
-
hasDisableDates: "Contains unavailable dates",
|
|
2889
|
-
minNights: "2 nights min"
|
|
2883
|
+
title: "Kalenteri"
|
|
2890
2884
|
};
|
|
2891
2885
|
var guests = {
|
|
2892
|
-
label: "
|
|
2893
|
-
labelPlaceholder: "Lisää
|
|
2886
|
+
label: "Osallistujamäärä",
|
|
2887
|
+
labelPlaceholder: "Lisää osallistujat",
|
|
2894
2888
|
title: "Ketkä ovat tulossa?",
|
|
2895
2889
|
adultsLabel: "Aikuiset",
|
|
2896
2890
|
kidsLabel: "lapset",
|
|
2897
|
-
guestsLabel: "
|
|
2898
|
-
guestLabel: "
|
|
2899
|
-
checkoutOnly: "Check-out only",
|
|
2900
|
-
hasDisableDates: "Contains unavailable dates"
|
|
2891
|
+
guestsLabel: "osallistujaa",
|
|
2892
|
+
guestLabel: "osallistuja"
|
|
2901
2893
|
};
|
|
2902
2894
|
var categories = {
|
|
2903
2895
|
label: "Kategoriat",
|
|
@@ -10997,6 +10989,8 @@ var IconsSvg = function (_a) {
|
|
|
10997
10989
|
minHeight: '25px',
|
|
10998
10990
|
}, viewBox: "0 0 1024 1024", version: "1.1" },
|
|
10999
10991
|
React__default__default.createElement("path", { d: "M42.666667 896h938.666666L512 85.333333 42.666667 896z m512-128h-85.333334v-85.333333h85.333334v85.333333z m0-170.666667h-85.333334v-170.666666h85.333334v170.666666z" })));
|
|
10992
|
+
default:
|
|
10993
|
+
return null;
|
|
11000
10994
|
}
|
|
11001
10995
|
};
|
|
11002
10996
|
|
|
@@ -11025,7 +11019,7 @@ var nightsCount = function (_a) {
|
|
|
11025
11019
|
|
|
11026
11020
|
var calendarSelectionRules = function (_a) {
|
|
11027
11021
|
var _b;
|
|
11028
|
-
var range = _a.range, newDisableCalendarDates = _a.newDisableCalendarDates, setCalendarRange = _a.setCalendarRange,
|
|
11022
|
+
var range = _a.range, newDisableCalendarDates = _a.newDisableCalendarDates, setCalendarRange = _a.setCalendarRange, calendarRange = _a.calendarRange, overlappingDate = _a.overlappingDate, setCalendarHasError = _a.setCalendarHasError, rangeContext = _a.rangeContext;
|
|
11029
11023
|
// Get and parse needed data
|
|
11030
11024
|
var rangeFrom = (range === null || range === void 0 ? void 0 : range.from) ? endOfDay(range.from) : null;
|
|
11031
11025
|
var rangeTo = (range === null || range === void 0 ? void 0 : range.to) ? endOfDay(range.to) : null;
|
|
@@ -11062,13 +11056,6 @@ var calendarSelectionRules = function (_a) {
|
|
|
11062
11056
|
: false;
|
|
11063
11057
|
})
|
|
11064
11058
|
: null;
|
|
11065
|
-
// On check-in, disable future dates that are unavailable for checkout
|
|
11066
|
-
disableFutureDates({
|
|
11067
|
-
rangeFrom: rangeFrom,
|
|
11068
|
-
checkOutRange: checkOutRange,
|
|
11069
|
-
setDisabledDates: setDisabledDates,
|
|
11070
|
-
newDisableCalendarDates: newDisableCalendarDates,
|
|
11071
|
-
});
|
|
11072
11059
|
// Calendar selection rules: The cases are handled sequentially, starting from simple selections to more complex contextual selections.
|
|
11073
11060
|
// The rules are processed in a specific order, so one case is handled before another.
|
|
11074
11061
|
// Changing the order will cause the rules to break or not work properly.
|
|
@@ -11163,22 +11150,6 @@ var calendarSelectionRules = function (_a) {
|
|
|
11163
11150
|
}
|
|
11164
11151
|
setCalendarRange(range);
|
|
11165
11152
|
};
|
|
11166
|
-
/////////
|
|
11167
|
-
var disableFutureDates = function (_a) {
|
|
11168
|
-
var rangeFrom = _a.rangeFrom, checkOutRange = _a.checkOutRange, setDisabledDates = _a.setDisabledDates, newDisableCalendarDates = _a.newDisableCalendarDates;
|
|
11169
|
-
if (rangeFrom && checkOutRange && setDisabledDates) {
|
|
11170
|
-
// Get parse data
|
|
11171
|
-
var checkIn = addDays(checkOutRange.checkIn, 1);
|
|
11172
|
-
var firstCheckOut = addDays(checkOutRange.firstCheckOut, -1);
|
|
11173
|
-
var noDatesRange = isEqual(checkIn, checkOutRange.firstCheckOut);
|
|
11174
|
-
setDisabledDates(__spreadArray$1(__spreadArray$1([], __read(((newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) || [])), false), [
|
|
11175
|
-
{
|
|
11176
|
-
from: noDatesRange ? undefined : checkIn,
|
|
11177
|
-
to: noDatesRange ? undefined : firstCheckOut,
|
|
11178
|
-
},
|
|
11179
|
-
], false));
|
|
11180
|
-
}
|
|
11181
|
-
};
|
|
11182
11153
|
|
|
11183
11154
|
var disabledDatesByPage = function (_a) {
|
|
11184
11155
|
var _b, _c, _d;
|
|
@@ -11199,8 +11170,7 @@ var disabledDatesByPage = function (_a) {
|
|
|
11199
11170
|
};
|
|
11200
11171
|
|
|
11201
11172
|
var handleCalendarModifiers = function (_a) {
|
|
11202
|
-
var
|
|
11203
|
-
var newDisableCalendarDates = _a.newDisableCalendarDates, calendarRange = _a.calendarRange, disabledDatesByPage = _a.disabledDatesByPage, disabledDates = _a.disabledDates, overlappingDate = _a.overlappingDate, rangeContext = _a.rangeContext, firstPossibleRangeContextCheckIn = _a.firstPossibleRangeContextCheckIn, lastPossibleRangeContextCheckOut = _a.lastPossibleRangeContextCheckOut, findFirstPossibleRangeContextCheckIn = _a.findFirstPossibleRangeContextCheckIn, findLastPossibleRangeContextCheckOut = _a.findLastPossibleRangeContextCheckOut, currentSelectionLastCheckoutDate = _a.currentSelectionLastCheckoutDate, lastPossibleCheckout = _a.lastPossibleCheckout;
|
|
11173
|
+
var calendarRange = _a.calendarRange, disabledDates = _a.disabledDates, overlappingDate = _a.overlappingDate, rangeContext = _a.rangeContext, findFirstPossibleRangeContextCheckIn = _a.findFirstPossibleRangeContextCheckIn, findLastPossibleRangeContextCheckOut = _a.findLastPossibleRangeContextCheckOut, currentSelectionLastCheckoutDate = _a.currentSelectionLastCheckoutDate;
|
|
11204
11174
|
// Parse data
|
|
11205
11175
|
var calendarRangeFrom = (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) && endOfDay(calendarRange.from);
|
|
11206
11176
|
var calendarRangeTo = (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) && endOfDay(calendarRange.to);
|
|
@@ -11221,15 +11191,7 @@ var handleCalendarModifiers = function (_a) {
|
|
|
11221
11191
|
.map(function (date) { return ({ from: date.from }); })
|
|
11222
11192
|
: [];
|
|
11223
11193
|
return {
|
|
11224
|
-
booked:
|
|
11225
|
-
? disabledDatesByPage
|
|
11226
|
-
: (disabledDates === null || disabledDates === void 0 ? void 0 : disabledDates.length)
|
|
11227
|
-
? __spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11228
|
-
lastPossibleCheckout || []
|
|
11229
|
-
], __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)
|
|
11230
|
-
? __spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11231
|
-
lastPossibleCheckout || []
|
|
11232
|
-
], __read(newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : [],
|
|
11194
|
+
booked: disabledDates || [],
|
|
11233
11195
|
disabledAfterCheckIn: calendarRangeFrom
|
|
11234
11196
|
? [{ after: calendarRangeFrom }]
|
|
11235
11197
|
: [],
|
|
@@ -11307,8 +11269,8 @@ var handleRangeContextDisabledDates = function (_a) {
|
|
|
11307
11269
|
});
|
|
11308
11270
|
}
|
|
11309
11271
|
}
|
|
11310
|
-
// Get
|
|
11311
|
-
var
|
|
11272
|
+
// Get possible check-out dates for current check-in
|
|
11273
|
+
var currentSelectionAvailability = availableDates === null || availableDates === void 0 ? void 0 : availableDates.find(function (date) {
|
|
11312
11274
|
return calendarRangeFrom
|
|
11313
11275
|
? isEqual(endOfDay(date.checkIn), calendarRangeFrom)
|
|
11314
11276
|
: false;
|
|
@@ -11318,7 +11280,7 @@ var handleRangeContextDisabledDates = function (_a) {
|
|
|
11318
11280
|
findLastPossibleRangeContextCheckOut: findLastPossibleRangeContextCheckOut,
|
|
11319
11281
|
firstPossibleRangeContextCheckIn: firstPossibleRangeContextCheckIn,
|
|
11320
11282
|
lastPossibleRangeContextCheckOut: lastPossibleRangeContextCheckOut,
|
|
11321
|
-
|
|
11283
|
+
currentSelectionAvailability: currentSelectionAvailability,
|
|
11322
11284
|
};
|
|
11323
11285
|
};
|
|
11324
11286
|
|
|
@@ -11493,9 +11455,9 @@ var useUpdateDisabledDates = function (_a) {
|
|
|
11493
11455
|
return acc;
|
|
11494
11456
|
}, { updatedDisabledDates: [], newOverlappingDates: [] }), updatedDisabledDates = _b.updatedDisabledDates, newOverlappingDates = _b.newOverlappingDates;
|
|
11495
11457
|
// Find last possible checkout ( disable all dates after the last possible checkout )
|
|
11496
|
-
var
|
|
11497
|
-
if (
|
|
11498
|
-
setLatsPossibleCheckout({ after:
|
|
11458
|
+
var lastPossibleCheckoutDate = (_a = disableCalendarDates.availableDates.at(-1)) === null || _a === void 0 ? void 0 : _a.lastCheckOut;
|
|
11459
|
+
if (lastPossibleCheckoutDate) {
|
|
11460
|
+
setLatsPossibleCheckout({ after: lastPossibleCheckoutDate });
|
|
11499
11461
|
}
|
|
11500
11462
|
// Extract overlapping dates ( dates that are only available for checkout )
|
|
11501
11463
|
if (newOverlappingDates.length) {
|
|
@@ -11521,8 +11483,8 @@ var css_248z$8 = ".will-calendar-filter-container {\n display: flex;\n justify
|
|
|
11521
11483
|
styleInject(css_248z$8);
|
|
11522
11484
|
|
|
11523
11485
|
var Calendar = forwardRef(function (_a, ref) {
|
|
11524
|
-
var _b
|
|
11525
|
-
var selectedPath = _a.selectedPath, calendarRange = _a.calendarRange, setCalendarRange = _a.setCalendarRange, language = _a.language, disableCalendarDates = _a.disableCalendarDates, requestDates = _a.requestDates, disabledDates = _a.disabledDates,
|
|
11486
|
+
var _b;
|
|
11487
|
+
var selectedPath = _a.selectedPath, calendarRange = _a.calendarRange, setCalendarRange = _a.setCalendarRange, language = _a.language, disableCalendarDates = _a.disableCalendarDates, requestDates = _a.requestDates, disabledDates = _a.disabledDates, 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;
|
|
11526
11488
|
// Translations
|
|
11527
11489
|
var t = useTranslation('common').t;
|
|
11528
11490
|
var isTablet = reactResponsiveExports.useMediaQuery({ maxWidth: 960 });
|
|
@@ -11530,12 +11492,12 @@ var Calendar = forwardRef(function (_a, ref) {
|
|
|
11530
11492
|
var selectedStartDate = calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from;
|
|
11531
11493
|
var rangeContextStartDate = rangeContext === null || rangeContext === void 0 ? void 0 : rangeContext.from;
|
|
11532
11494
|
// Handle initial disable dates including overlapping availableDates.lastCheckOut and disabledDates.start
|
|
11533
|
-
var
|
|
11495
|
+
var _c = useUpdateDisabledDates({
|
|
11534
11496
|
disableCalendarDates: disableCalendarDates,
|
|
11535
11497
|
calendarRange: calendarRange,
|
|
11536
11498
|
updateCalendarMonthNavigation: updateCalendarMonthNavigation,
|
|
11537
11499
|
updateCalendarDefaultMonth: updateCalendarDefaultMonth,
|
|
11538
|
-
}), newDisableCalendarDates =
|
|
11500
|
+
}), newDisableCalendarDates = _c.newDisableCalendarDates, overlappingDate = _c.overlappingDate, lastPossibleCheckout = _c.lastPossibleCheckout;
|
|
11539
11501
|
// Handle disable dates by page
|
|
11540
11502
|
var disabledDatesByPage$1 = disabledDatesByPage({
|
|
11541
11503
|
today: today,
|
|
@@ -11557,7 +11519,6 @@ var Calendar = forwardRef(function (_a, ref) {
|
|
|
11557
11519
|
range: range,
|
|
11558
11520
|
newDisableCalendarDates: newDisableCalendarDates,
|
|
11559
11521
|
setCalendarRange: setCalendarRange,
|
|
11560
|
-
setDisabledDates: setDisabledDates,
|
|
11561
11522
|
calendarRange: calendarRange,
|
|
11562
11523
|
overlappingDate: overlappingDate,
|
|
11563
11524
|
setCalendarHasError: setCalendarHasError,
|
|
@@ -11566,11 +11527,11 @@ var Calendar = forwardRef(function (_a, ref) {
|
|
|
11566
11527
|
setUpdatedForSubmit && setUpdatedForSubmit(true);
|
|
11567
11528
|
};
|
|
11568
11529
|
// Handle disabled dates for range context
|
|
11569
|
-
var
|
|
11530
|
+
var _d = handleRangeContextDisabledDates({
|
|
11570
11531
|
rangeContext: rangeContext,
|
|
11571
11532
|
availableDates: newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.availableDates,
|
|
11572
11533
|
calendarRange: calendarRange,
|
|
11573
|
-
}), findFirstPossibleRangeContextCheckIn =
|
|
11534
|
+
}), findFirstPossibleRangeContextCheckIn = _d.findFirstPossibleRangeContextCheckIn, findLastPossibleRangeContextCheckOut = _d.findLastPossibleRangeContextCheckOut, firstPossibleRangeContextCheckIn = _d.firstPossibleRangeContextCheckIn, lastPossibleRangeContextCheckOut = _d.lastPossibleRangeContextCheckOut, currentSelectionAvailability = _d.currentSelectionAvailability;
|
|
11574
11535
|
// Handle check for continuous selection in the range context
|
|
11575
11536
|
checkForContinuousSelection({
|
|
11576
11537
|
setCalendarHasError: setCalendarHasError,
|
|
@@ -11579,6 +11540,35 @@ var Calendar = forwardRef(function (_a, ref) {
|
|
|
11579
11540
|
calendarHasError: calendarHasError,
|
|
11580
11541
|
disabledDates: newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates,
|
|
11581
11542
|
});
|
|
11543
|
+
var disabledInsideSelectableRange = function () {
|
|
11544
|
+
if (
|
|
11545
|
+
// Range end already selected
|
|
11546
|
+
(calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) ||
|
|
11547
|
+
// No current check-in availability
|
|
11548
|
+
!currentSelectionAvailability ||
|
|
11549
|
+
// No gap between check-in and first possible check-out, nothing to disable
|
|
11550
|
+
addDays(currentSelectionAvailability.checkIn, 1) >=
|
|
11551
|
+
currentSelectionAvailability.firstCheckOut) {
|
|
11552
|
+
return [];
|
|
11553
|
+
}
|
|
11554
|
+
// Disable dates between current check-in and first possible check-out
|
|
11555
|
+
return [
|
|
11556
|
+
{
|
|
11557
|
+
from: addDays(currentSelectionAvailability.checkIn, 1),
|
|
11558
|
+
to: addDays(currentSelectionAvailability.firstCheckOut, -1),
|
|
11559
|
+
},
|
|
11560
|
+
];
|
|
11561
|
+
};
|
|
11562
|
+
var base = disabledDatesByPage$1.length
|
|
11563
|
+
? disabledDatesByPage$1
|
|
11564
|
+
: (disabledDates === null || disabledDates === void 0 ? void 0 : disabledDates.length)
|
|
11565
|
+
? disabledDates
|
|
11566
|
+
: (newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) || [];
|
|
11567
|
+
var disabled = disabledDatesByPage$1.length
|
|
11568
|
+
? base
|
|
11569
|
+
: __spreadArray$1(__spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11570
|
+
lastPossibleCheckout
|
|
11571
|
+
], __read(base), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false), __read(disabledInsideSelectableRange()), false);
|
|
11582
11572
|
return (React__default__default.createElement("div", { className: "will-filter-bar-calendar", ref: ref },
|
|
11583
11573
|
React__default__default.createElement("div", { className: "will-calendar-filter-container" },
|
|
11584
11574
|
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) ||
|
|
@@ -11586,19 +11576,9 @@ var Calendar = forwardRef(function (_a, ref) {
|
|
|
11586
11576
|
rangeContextStartDate ||
|
|
11587
11577
|
(((_b = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) === null || _b === void 0 ? void 0 : _b.length)
|
|
11588
11578
|
? newDisableCalendarDates.disabledDates[0].from
|
|
11589
|
-
: today), disabled:
|
|
11590
|
-
?
|
|
11591
|
-
|
|
11592
|
-
? __spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11593
|
-
lastPossibleCheckout && lastPossibleCheckout
|
|
11594
|
-
], __read(disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : ((_c = newDisableCalendarDates === null || newDisableCalendarDates === void 0 ? void 0 : newDisableCalendarDates.disabledDates) === null || _c === void 0 ? void 0 : _c.length)
|
|
11595
|
-
? __spreadArray$1(__spreadArray$1(__spreadArray$1([
|
|
11596
|
-
lastPossibleCheckout && lastPossibleCheckout
|
|
11597
|
-
], __read(newDisableCalendarDates.disabledDates), false), __read(firstPossibleRangeContextCheckIn), false), __read(lastPossibleRangeContextCheckOut), false) : [], fromMonth: today, onMonthChange: function (val) {
|
|
11598
|
-
requestDates && setUpdateCalendarMonthNavigation
|
|
11599
|
-
? (requestDates(val),
|
|
11600
|
-
setUpdateCalendarMonthNavigation(function (prev) { return !prev; }))
|
|
11601
|
-
: null;
|
|
11579
|
+
: today), disabled: disabled, fromMonth: today, onMonthChange: function (val) {
|
|
11580
|
+
requestDates === null || requestDates === void 0 ? void 0 : requestDates(val);
|
|
11581
|
+
setUpdateCalendarMonthNavigation === null || setUpdateCalendarMonthNavigation === void 0 ? void 0 : setUpdateCalendarMonthNavigation(function (prev) { return !prev; });
|
|
11602
11582
|
}, classNames: {
|
|
11603
11583
|
day_range_start: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.from) ? 'rdp-day_range_start' : '',
|
|
11604
11584
|
day_range_end: (calendarRange === null || calendarRange === void 0 ? void 0 : calendarRange.to) ? 'rdp-day_range_end' : '',
|
|
@@ -11616,18 +11596,13 @@ var Calendar = forwardRef(function (_a, ref) {
|
|
|
11616
11596
|
}, modifiers:
|
|
11617
11597
|
// This function handles conditions for applying the modifiersClassNames
|
|
11618
11598
|
handleCalendarModifiers({
|
|
11619
|
-
newDisableCalendarDates: newDisableCalendarDates,
|
|
11620
11599
|
calendarRange: calendarRange,
|
|
11621
|
-
|
|
11622
|
-
disabledDates: disabledDates,
|
|
11600
|
+
disabledDates: disabled,
|
|
11623
11601
|
overlappingDate: overlappingDate,
|
|
11624
11602
|
rangeContext: rangeContext,
|
|
11625
|
-
lastPossibleCheckout: lastPossibleCheckout,
|
|
11626
11603
|
findFirstPossibleRangeContextCheckIn: findFirstPossibleRangeContextCheckIn,
|
|
11627
11604
|
findLastPossibleRangeContextCheckOut: findLastPossibleRangeContextCheckOut,
|
|
11628
|
-
|
|
11629
|
-
lastPossibleRangeContextCheckOut: lastPossibleRangeContextCheckOut,
|
|
11630
|
-
currentSelectionLastCheckoutDate: currentSelectionLastCheckoutDate,
|
|
11605
|
+
currentSelectionLastCheckoutDate: currentSelectionAvailability,
|
|
11631
11606
|
}) }),
|
|
11632
11607
|
React__default__default.createElement("div", { className: 'will-calendar-tooltip' },
|
|
11633
11608
|
React__default__default.createElement("div", null, t('noCheckIn'))),
|
|
@@ -11879,17 +11854,17 @@ function GuestCount(_a) {
|
|
|
11879
11854
|
return (React__default__default.createElement("div", { className: "will-guests-filter-inner", style: { order: "".concat(sortOrder) } },
|
|
11880
11855
|
React__default__default.createElement("p", { className: "will-guests-filter-label" }, label),
|
|
11881
11856
|
React__default__default.createElement("div", { className: "will-guests-filter-counter" },
|
|
11882
|
-
React__default__default.createElement("button", { className: "will-guests-filter-counter-button", onClick: handleDecrement, disabled: (minVal && count <= minVal) || !count
|
|
11857
|
+
React__default__default.createElement("button", { className: "will-guests-filter-counter-button", onClick: handleDecrement, disabled: (minVal && count <= minVal) || !count, style: {
|
|
11883
11858
|
cursor: (minVal && count <= minVal) || !count ? 'initial' : 'pointer',
|
|
11884
11859
|
paddingBottom: '4px',
|
|
11885
11860
|
opacity: (minVal && count <= minVal) || !count ? 0.4 : 1,
|
|
11886
11861
|
} },
|
|
11887
11862
|
React__default__default.createElement("svg", { width: "10", height: "10", viewBox: "0 0 15 15", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
11888
|
-
React__default__default.createElement("path", { d: "M4 10H16", stroke: "currentColor",
|
|
11863
|
+
React__default__default.createElement("path", { d: "M4 10H16", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }))),
|
|
11889
11864
|
React__default__default.createElement("span", { className: "will-guests-filter-count" }, count),
|
|
11890
11865
|
React__default__default.createElement("button", { className: "will-guests-filter-counter-button", onClick: handleIncrement },
|
|
11891
11866
|
React__default__default.createElement("svg", { width: "15", height: "15", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
11892
|
-
React__default__default.createElement("path", { d: "M10 4V16M4 10H16", stroke: "currentColor",
|
|
11867
|
+
React__default__default.createElement("path", { d: "M10 4V16M4 10H16", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }))))));
|
|
11893
11868
|
}
|
|
11894
11869
|
|
|
11895
11870
|
var css_248z$4 = ".will-filter-bar-guests {\n text-align: initial;\n}\n\n.will-guests-filter-title {\n font-size: 22px;\n margin: 10px 0;\n}\n\n.will-guests-filter-subtitle {\n font-size: 15px;\n font-weight: 500;\n color:var(--will-text)\n}\n\n\n.will-guests-filter-container {\n display: flex;\n flex-direction: column;\n min-width: 400px;\n}\n\n\n@media (max-width: 960px) {\n .will-guests-filter-title {\n font-size: 18px;\n }\n\n .will-guests-filter-container {\n margin-top: 15px;\n min-width: 100%;\n }\n}";
|
|
@@ -11900,7 +11875,7 @@ var Guests = forwardRef(function (_a, ref) {
|
|
|
11900
11875
|
var t = useTranslation('filterBar').t;
|
|
11901
11876
|
return (React__default__default.createElement("div", { className: "will-filter-bar-guests", ref: ref },
|
|
11902
11877
|
React__default__default.createElement("h3", { className: "will-guests-filter-title" }, t('guests.title')),
|
|
11903
|
-
React__default__default.createElement("div", { className: "will-guests-filter-container" }, ageCategories === null || ageCategories === void 0 ? void 0 : ageCategories.map(function (category) { return (React__default__default.createElement(GuestCount, { key: category.id, id:
|
|
11878
|
+
React__default__default.createElement("div", { className: "will-guests-filter-container" }, ageCategories === null || ageCategories === void 0 ? void 0 : ageCategories.map(function (category) { return (React__default__default.createElement(GuestCount, { key: category.id, id: category.id, label: category.name, minVal: category.minVal, sortOrder: category.sortOrder, updateGuestsCount: updateGuestsCount, count: ageCategoryCounts["guests-".concat(category.id)] || 0 })); }))));
|
|
11904
11879
|
});
|
|
11905
11880
|
|
|
11906
11881
|
var css_248z$3 = ".will-filter-bar-divider {\n width: 1px;\n margin: 0 10px;\n background-color: var(--will-charcoal-blue);\n}\n\n@media (max-width: 960px) {\n .will-filter-bar-divider {\n width: auto;\n margin: 0 10px;\n height: 1px;\n background-color: var(--will-charcoal-blue);\n }\n}";
|
|
@@ -12107,7 +12082,6 @@ var useFilterCalendar = function (_a) {
|
|
|
12107
12082
|
handleSubmit: handleSubmit,
|
|
12108
12083
|
handleClearDates: handleClearDates,
|
|
12109
12084
|
setCalendarRange: setCalendarRange,
|
|
12110
|
-
setDisabledDates: setDisabledDates,
|
|
12111
12085
|
setUpdateCalendarMonthNavigation: setUpdateCalendarMonthNavigation,
|
|
12112
12086
|
calendarRange: calendarRange,
|
|
12113
12087
|
disabledDates: disabledDates,
|
|
@@ -12176,7 +12150,7 @@ function FilterCalendar(_a) {
|
|
|
12176
12150
|
toggleCalendar: toggleCalendar,
|
|
12177
12151
|
outerRangeContext: outerRangeContext,
|
|
12178
12152
|
outerDisableCalendarDates: outerDisableCalendarDates,
|
|
12179
|
-
}), setCalendarRange = _b.setCalendarRange, handleClearDates = _b.handleClearDates, calendarRange = _b.calendarRange, disabledDates = _b.disabledDates,
|
|
12153
|
+
}), setCalendarRange = _b.setCalendarRange, handleClearDates = _b.handleClearDates, calendarRange = _b.calendarRange, disabledDates = _b.disabledDates, updateCalendarMonthNavigation = _b.updateCalendarMonthNavigation, updateCalendarDefaultMonth = _b.updateCalendarDefaultMonth, setUpdateCalendarMonthNavigation = _b.setUpdateCalendarMonthNavigation, calendarHasError = _b.calendarHasError, setCalendarHasError = _b.setCalendarHasError, setUpdatedForSubmit = _b.setUpdatedForSubmit, rangeContext = _b.rangeContext, disableCalendarDates = _b.disableCalendarDates;
|
|
12180
12154
|
// Display component after fully loaded
|
|
12181
12155
|
useAwaitRender();
|
|
12182
12156
|
// Handle close filter section
|
|
@@ -12188,7 +12162,7 @@ function FilterCalendar(_a) {
|
|
|
12188
12162
|
React__default__default.createElement("h2", null, t('filterBar:calendar.title')),
|
|
12189
12163
|
React__default__default.createElement(CloseButton, { handleClose: function () { return setToggleCalendar(false); } })),
|
|
12190
12164
|
React__default__default.createElement("div", { className: "will-calendar-main" },
|
|
12191
|
-
React__default__default.createElement(Calendar, { calendarRange: calendarRange, setCalendarRange: setCalendarRange, calendarOffset: calendarOffset, selectedPath: '/rooms', language: language, disableCalendarDates: disableCalendarDates, requestDates: requestDates, disabledDates: disabledDates,
|
|
12165
|
+
React__default__default.createElement(Calendar, { calendarRange: calendarRange, setCalendarRange: setCalendarRange, calendarOffset: calendarOffset, selectedPath: '/rooms', language: language, disableCalendarDates: disableCalendarDates, requestDates: requestDates, disabledDates: disabledDates, updateCalendarMonthNavigation: updateCalendarMonthNavigation, setUpdateCalendarMonthNavigation: setUpdateCalendarMonthNavigation, updateCalendarDefaultMonth: updateCalendarDefaultMonth, loadingData: loadingData, showFeedback: showFeedback, noActiveSelection: noActiveSelection, palette: palette, setCalendarHasError: setCalendarHasError, setUpdatedForSubmit: setUpdatedForSubmit, rangeContext: rangeContext, calendarHasError: calendarHasError })),
|
|
12192
12166
|
React__default__default.createElement("div", { className: "will-calendar-footer" },
|
|
12193
12167
|
React__default__default.createElement(Footer, { calendarHasError: calendarHasError, calendarRange: calendarRange, handleClearDates: handleClearDates, language: language, palette: palette }))))));
|
|
12194
12168
|
}
|