@uxf/datepicker 1.1.0 → 1.1.4
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/README.md +22 -13
- package/contexts/date-picker-context.js +2 -2
- package/contexts/date-range-picker-context.js +2 -2
- package/hooks/use-date-picker-navigation.js +28 -28
- package/hooks/use-date-picker-navigation.test.d.ts +1 -0
- package/hooks/use-date-picker-navigation.test.js +107 -0
- package/hooks/use-date-picker.js +35 -40
- package/hooks/use-date-picker.test.d.ts +1 -0
- package/hooks/use-date-picker.test.js +78 -0
- package/hooks/use-date-range-picker.js +54 -59
- package/hooks/use-date-range-picker.test.d.ts +1 -0
- package/hooks/use-date-range-picker.test.js +98 -0
- package/hooks/use-day.d.ts +4 -3
- package/hooks/use-day.js +26 -16
- package/hooks/use-day.test.d.ts +1 -0
- package/hooks/use-day.test.js +88 -0
- package/hooks/use-decade.d.ts +2 -4
- package/hooks/use-decade.js +6 -6
- package/hooks/use-decade.test.d.ts +1 -0
- package/hooks/use-decade.test.js +49 -0
- package/hooks/use-month.js +6 -6
- package/hooks/use-month.test.d.ts +1 -0
- package/hooks/use-month.test.js +122 -0
- package/hooks/use-year.d.ts +2 -5
- package/hooks/use-year.js +4 -4
- package/hooks/use-year.test.d.ts +1 -0
- package/hooks/use-year.test.js +55 -0
- package/package.json +10 -14
- package/utils/can-select-range.js +20 -16
- package/utils/can-select-range.test.d.ts +1 -0
- package/utils/can-select-range.test.js +86 -0
- package/utils/get-current-year-month-and-date.js +2 -2
- package/utils/get-current-year-month-and-date.test.d.ts +1 -0
- package/utils/get-current-year-month-and-date.test.js +13 -0
- package/utils/get-date-month-and-year.js +4 -4
- package/utils/get-date-month-and-year.test.d.ts +1 -0
- package/utils/get-date-month-and-year.test.js +16 -0
- package/utils/get-days.js +18 -14
- package/utils/get-days.test.d.ts +1 -0
- package/utils/get-days.test.js +139 -0
- package/utils/get-each.js +5 -5
- package/utils/get-each.test.d.ts +1 -0
- package/utils/get-each.test.js +32 -0
- package/utils/get-initial-months.js +4 -4
- package/utils/get-initial-months.test.d.ts +1 -0
- package/utils/get-initial-months.test.js +38 -0
- package/utils/get-months.d.ts +1 -1
- package/utils/get-months.js +5 -5
- package/utils/get-months.test.d.ts +1 -0
- package/utils/get-months.test.js +40 -0
- package/utils/get-next-active-month.js +5 -5
- package/utils/get-next-active-month.test.d.ts +1 -0
- package/utils/get-next-active-month.test.js +63 -0
- package/utils/get-weekday-labels.js +3 -3
- package/utils/get-weekday-labels.test.d.ts +1 -0
- package/utils/get-weekday-labels.test.js +25 -0
- package/utils/get-years.d.ts +1 -1
- package/utils/get-years.js +3 -3
- package/utils/get-years.test.d.ts +1 -0
- package/utils/get-years.test.js +28 -0
- package/utils/is-browser.js +2 -1
- package/utils/is-date-blocked.js +5 -5
- package/utils/is-date-blocked.test.d.ts +1 -0
- package/utils/is-date-blocked.test.js +61 -0
- package/utils/is-date-hovered.js +10 -10
- package/utils/is-date-hovered.test.d.ts +1 -0
- package/utils/is-date-hovered.test.js +73 -0
- package/utils/is-date-selected.js +3 -3
- package/utils/is-date-selected.test.d.ts +1 -0
- package/utils/is-date-selected.test.js +14 -0
- package/utils/is-end-date.js +2 -2
- package/utils/is-end-date.test.d.ts +1 -0
- package/utils/is-end-date.test.js +12 -0
- package/utils/is-first-or-last-selected-date.js +2 -2
- package/utils/is-first-or-last-selected-date.test.d.ts +1 -0
- package/utils/is-first-or-last-selected-date.test.js +12 -0
- package/utils/is-in-unavailable-dates.js +2 -2
- package/utils/is-in-unavailable-dates.test.d.ts +1 -0
- package/utils/is-in-unavailable-dates.test.js +12 -0
- package/utils/is-start-date.js +2 -2
- package/utils/is-start-date.test.d.ts +1 -0
- package/utils/is-start-date.test.js +12 -0
- package/utils/get-input-value.d.ts +0 -2
- package/utils/get-input-value.js +0 -18
package/README.md
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
# @uxf/datepicker
|
|
2
|
+
[](https://www.npmjs.com/package/@uxf/datepicker)
|
|
3
|
+
[](https://www.npmjs.com/package/@uxf/datepicker)
|
|
4
|
+
[](https://www.npmjs.com/package/@uxf/datepicker)
|
|
5
|
+
[](https://www.npmjs.com/package/@uxf/datepicker)
|
|
2
6
|
|
|
3
7
|
A set of React hooks to create an awesome datepicker.
|
|
4
8
|
|
|
@@ -67,6 +71,7 @@ export const DateRangePickerMonth: FC<UseMonthProps> = ({
|
|
|
67
71
|
|
|
68
72
|
```typescript
|
|
69
73
|
export const DateRangePickerDay: FC<{ day: string; date: Date }> = ({ day, date }) => {
|
|
74
|
+
const dayRef = useRef(null);
|
|
70
75
|
const {
|
|
71
76
|
focusedDate,
|
|
72
77
|
isDateFocused,
|
|
@@ -81,6 +86,7 @@ export const DateRangePickerDay: FC<{ day: string; date: Date }> = ({ day, date
|
|
|
81
86
|
const { disabledDate, isSelected, isWithinHoverRange, onClick, isToday } =
|
|
82
87
|
useDay<HTMLDivElement>({
|
|
83
88
|
date,
|
|
89
|
+
dayRef,
|
|
84
90
|
focusedDate,
|
|
85
91
|
isDateFocused,
|
|
86
92
|
isDateSelected,
|
|
@@ -96,7 +102,9 @@ export const DateRangePickerDay: FC<{ day: string; date: Date }> = ({ day, date
|
|
|
96
102
|
}
|
|
97
103
|
|
|
98
104
|
return (
|
|
99
|
-
<
|
|
105
|
+
<button
|
|
106
|
+
type="button"
|
|
107
|
+
ref={dayRef}
|
|
100
108
|
onClick={onClick}
|
|
101
109
|
className= {clsx({
|
|
102
110
|
"day__disabled": disabledDate,
|
|
@@ -105,7 +113,7 @@ export const DateRangePickerDay: FC<{ day: string; date: Date }> = ({ day, date
|
|
|
105
113
|
})}
|
|
106
114
|
>
|
|
107
115
|
{day}
|
|
108
|
-
</
|
|
116
|
+
</button>
|
|
109
117
|
);
|
|
110
118
|
};
|
|
111
119
|
```
|
|
@@ -225,10 +233,10 @@ export const DateRangePickerDay: FC<{ day: string; date: Date }> = ({ day, date
|
|
|
225
233
|
|
|
226
234
|
**UseDecadeReturnType**
|
|
227
235
|
|
|
228
|
-
| name | type
|
|
229
|
-
|
|
230
|
-
| years | `
|
|
231
|
-
| decadeLabel | `string`
|
|
236
|
+
| name | type | description |
|
|
237
|
+
|---------------|-------------------------------------------|-------------|
|
|
238
|
+
| years | `{ yearLabel : string; date: Date }[]` | |
|
|
239
|
+
| decadeLabel | `string` | |
|
|
232
240
|
|
|
233
241
|
### useYear()
|
|
234
242
|
|
|
@@ -242,10 +250,10 @@ export const DateRangePickerDay: FC<{ day: string; date: Date }> = ({ day, date
|
|
|
242
250
|
|
|
243
251
|
**UseYearReturnType**
|
|
244
252
|
|
|
245
|
-
| name | type
|
|
246
|
-
|
|
247
|
-
| months | `
|
|
248
|
-
| yearLabel | `string`
|
|
253
|
+
| name | type | description |
|
|
254
|
+
|---------------|--------------------------------------------|-------------|
|
|
255
|
+
| months | `{ monthLabel : string; date: Date }[]` | |
|
|
256
|
+
| yearLabel | `string` | |
|
|
249
257
|
|
|
250
258
|
### useMonth()
|
|
251
259
|
|
|
@@ -275,6 +283,7 @@ export const DateRangePickerDay: FC<{ day: string; date: Date }> = ({ day, date
|
|
|
275
283
|
| name | type | required | default | description |
|
|
276
284
|
|----------------|---------------------------|----------|---------|-------------|
|
|
277
285
|
| date | `Date` | yes | | |
|
|
286
|
+
| dayRef | `RefObject` | | | |
|
|
278
287
|
| focusedDate | `Date \| null` | yes | | |
|
|
279
288
|
| isDateBlocked | `(date: Date) => boolean` | yes | | |
|
|
280
289
|
| isDateFocused | `(date: Date) => boolean` | yes | | |
|
|
@@ -293,12 +302,12 @@ export const DateRangePickerDay: FC<{ day: string; date: Date }> = ({ day, date
|
|
|
293
302
|
| isSelected | `boolean` | |
|
|
294
303
|
| isToday | `boolean` | |
|
|
295
304
|
| isWithinHoverRange | `boolean` | |
|
|
296
|
-
| onClick | `
|
|
305
|
+
| onClick | `() => void` | |
|
|
297
306
|
| onKeyDown | `(e: KeyboardEvent) => void` | |
|
|
298
307
|
| onMouseEnter | `() => void` | |
|
|
299
308
|
| tabIndex | `number` | |
|
|
300
309
|
|
|
301
310
|
## Known issues
|
|
302
311
|
|
|
303
|
-
- keyboard navigation doesn't work
|
|
304
|
-
- the demo needs a little more love
|
|
312
|
+
- keyboard navigation doesn't work for year and decade view
|
|
313
|
+
- the demo needs a little more love
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DatePickerContext = void 0;
|
|
4
4
|
var react_1 = require("react");
|
|
5
|
-
exports.DatePickerContext = react_1.createContext({
|
|
5
|
+
exports.DatePickerContext = (0, react_1.createContext)({
|
|
6
6
|
activeMonths: [],
|
|
7
7
|
canGoToMonth: function () { return true; },
|
|
8
8
|
canGoToNextMonth: true,
|
|
@@ -30,4 +30,4 @@ exports.DatePickerContext = react_1.createContext({
|
|
|
30
30
|
onDateSelect: function () { return undefined; },
|
|
31
31
|
onResetDates: function () { return undefined; },
|
|
32
32
|
});
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXItY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy9kYXRlLXBpY2tlci1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUFzQztBQUt6QixRQUFBLGlCQUFpQixHQUFHLElBQUEscUJBQWEsRUFBeUI7SUFDbkUsWUFBWSxFQUFFLEVBQUU7SUFDaEIsWUFBWSxFQUFFLGNBQU0sT0FBQSxJQUFJLEVBQUosQ0FBSTtJQUN4QixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsZUFBZSxFQUFFLElBQUk7SUFDckIsV0FBVyxFQUFFLGNBQU0sT0FBQSxJQUFJLEVBQUosQ0FBSTtJQUN2QixjQUFjLEVBQUUsQ0FBQztJQUNqQixXQUFXLEVBQUUsSUFBSTtJQUNqQixRQUFRLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQ3pCLGNBQWMsRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDL0Isd0JBQXdCLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQ3pDLFlBQVksRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDN0IsY0FBYyxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztJQUMvQix3QkFBd0IsRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDekMsWUFBWSxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztJQUM3QixXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLO0lBQzFCLGFBQWEsRUFBRSxjQUFNLE9BQUEsS0FBSyxFQUFMLENBQUs7SUFDMUIsYUFBYSxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSztJQUMxQixjQUFjLEVBQUUsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLO0lBQzNCLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLFdBQVcsRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDNUIsV0FBVyxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztJQUM1QixZQUFZLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzdCLFlBQVksRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7Q0FDaEMsQ0FBQyxDQUFDIn0=
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DateRangePickerContext = void 0;
|
|
4
4
|
var react_1 = require("react");
|
|
5
|
-
exports.DateRangePickerContext = react_1.createContext({
|
|
5
|
+
exports.DateRangePickerContext = (0, react_1.createContext)({
|
|
6
6
|
activeMonths: [],
|
|
7
7
|
canGoToMonth: function () { return true; },
|
|
8
8
|
canGoToNextMonth: true,
|
|
@@ -32,4 +32,4 @@ exports.DateRangePickerContext = react_1.createContext({
|
|
|
32
32
|
onDateSelect: function () { return undefined; },
|
|
33
33
|
onResetDates: function () { return undefined; },
|
|
34
34
|
});
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXItY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy9kYXRlLXJhbmdlLXBpY2tlci1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUFzQztBQUt6QixRQUFBLHNCQUFzQixHQUFHLElBQUEscUJBQWEsRUFBeUI7SUFDeEUsWUFBWSxFQUFFLEVBQUU7SUFDaEIsWUFBWSxFQUFFLGNBQU0sT0FBQSxJQUFJLEVBQUosQ0FBSTtJQUN4QixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsZUFBZSxFQUFFLElBQUk7SUFDckIsV0FBVyxFQUFFLGNBQU0sT0FBQSxJQUFJLEVBQUosQ0FBSTtJQUN2QixjQUFjLEVBQUUsQ0FBQztJQUNqQixXQUFXLEVBQUUsSUFBSTtJQUNqQixRQUFRLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQ3pCLGNBQWMsRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDL0Isd0JBQXdCLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQ3pDLFlBQVksRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDN0IsY0FBYyxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztJQUMvQix3QkFBd0IsRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDekMsWUFBWSxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztJQUM3QixXQUFXLEVBQUUsSUFBSTtJQUNqQixhQUFhLEVBQUUsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLO0lBQzFCLGFBQWEsRUFBRSxjQUFNLE9BQUEsS0FBSyxFQUFMLENBQUs7SUFDMUIsYUFBYSxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSztJQUMxQixjQUFjLEVBQUUsY0FBTSxPQUFBLEtBQUssRUFBTCxDQUFLO0lBQzNCLFNBQVMsRUFBRSxjQUFNLE9BQUEsS0FBSyxFQUFMLENBQUs7SUFDdEIsV0FBVyxFQUFFLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSztJQUN4QixjQUFjLEVBQUUsQ0FBQztJQUNqQixXQUFXLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO0lBQzVCLFdBQVcsRUFBRSxjQUFNLE9BQUEsU0FBUyxFQUFULENBQVM7SUFDNUIsWUFBWSxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztJQUM3QixZQUFZLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO0NBQ2hDLENBQUMsQ0FBQyJ9
|
|
@@ -10,67 +10,67 @@ var get_initial_months_1 = require("../utils/get-initial-months");
|
|
|
10
10
|
var get_next_active_month_1 = require("../utils/get-next-active-month");
|
|
11
11
|
function useDatePickerNavigation(_a) {
|
|
12
12
|
var activeMonths = _a.activeMonths, setActiveMonths = _a.setActiveMonths, setFocusedDate = _a.setFocusedDate, minBookingDate = _a.minBookingDate, maxBookingDate = _a.maxBookingDate, numberOfMonths = _a.numberOfMonths;
|
|
13
|
-
var goToPrevMonths = react_1.useCallback(function () {
|
|
14
|
-
setActiveMonths(get_next_active_month_1.getNextActiveMonth(activeMonths, numberOfMonths, -1));
|
|
13
|
+
var goToPrevMonths = (0, react_1.useCallback)(function () {
|
|
14
|
+
setActiveMonths((0, get_next_active_month_1.getNextActiveMonth)(activeMonths, numberOfMonths, -1));
|
|
15
15
|
setFocusedDate(null);
|
|
16
16
|
}, [activeMonths, numberOfMonths, setActiveMonths, setFocusedDate]);
|
|
17
|
-
var goToPrevMonthsByOneMonth = react_1.useCallback(function () {
|
|
18
|
-
setActiveMonths(get_next_active_month_1.getNextActiveMonth(activeMonths, numberOfMonths, -1, 1));
|
|
17
|
+
var goToPrevMonthsByOneMonth = (0, react_1.useCallback)(function () {
|
|
18
|
+
setActiveMonths((0, get_next_active_month_1.getNextActiveMonth)(activeMonths, numberOfMonths, -1, 1));
|
|
19
19
|
setFocusedDate(null);
|
|
20
20
|
}, [activeMonths, numberOfMonths, setActiveMonths, setFocusedDate]);
|
|
21
|
-
var goToNextMonths = react_1.useCallback(function () {
|
|
22
|
-
setActiveMonths(get_next_active_month_1.getNextActiveMonth(activeMonths, numberOfMonths, 1));
|
|
21
|
+
var goToNextMonths = (0, react_1.useCallback)(function () {
|
|
22
|
+
setActiveMonths((0, get_next_active_month_1.getNextActiveMonth)(activeMonths, numberOfMonths, 1));
|
|
23
23
|
setFocusedDate(null);
|
|
24
24
|
}, [activeMonths, numberOfMonths, setActiveMonths, setFocusedDate]);
|
|
25
|
-
var goToNextMonthsByOneMonth = react_1.useCallback(function () {
|
|
26
|
-
setActiveMonths(get_next_active_month_1.getNextActiveMonth(activeMonths, numberOfMonths, 1, 1));
|
|
25
|
+
var goToNextMonthsByOneMonth = (0, react_1.useCallback)(function () {
|
|
26
|
+
setActiveMonths((0, get_next_active_month_1.getNextActiveMonth)(activeMonths, numberOfMonths, 1, 1));
|
|
27
27
|
setFocusedDate(null);
|
|
28
28
|
}, [activeMonths, numberOfMonths, setActiveMonths, setFocusedDate]);
|
|
29
|
-
var goToDate = react_1.useCallback(function (date) {
|
|
30
|
-
setActiveMonths(get_initial_months_1.getInitialMonths(numberOfMonths, date));
|
|
29
|
+
var goToDate = (0, react_1.useCallback)(function (date) {
|
|
30
|
+
setActiveMonths((0, get_initial_months_1.getInitialMonths)(numberOfMonths, date));
|
|
31
31
|
setFocusedDate(null);
|
|
32
32
|
}, [numberOfMonths, setActiveMonths, setFocusedDate]);
|
|
33
|
-
var goToPrevYear = react_1.useCallback(function (numYears) {
|
|
33
|
+
var goToPrevYear = (0, react_1.useCallback)(function (numYears) {
|
|
34
34
|
if (numYears === void 0) { numYears = 1; }
|
|
35
|
-
setActiveMonths(get_next_active_month_1.getNextActiveMonth(activeMonths, numberOfMonths, -(numYears * 12 - numberOfMonths + 1)));
|
|
35
|
+
setActiveMonths((0, get_next_active_month_1.getNextActiveMonth)(activeMonths, numberOfMonths, -(numYears * 12 - numberOfMonths + 1)));
|
|
36
36
|
setFocusedDate(null);
|
|
37
37
|
}, [activeMonths, numberOfMonths, setActiveMonths, setFocusedDate]);
|
|
38
|
-
var goToNextYear = react_1.useCallback(function (numYears) {
|
|
38
|
+
var goToNextYear = (0, react_1.useCallback)(function (numYears) {
|
|
39
39
|
if (numYears === void 0) { numYears = 1; }
|
|
40
|
-
setActiveMonths(get_next_active_month_1.getNextActiveMonth(activeMonths, numberOfMonths, numYears * 12 - numberOfMonths + 1));
|
|
40
|
+
setActiveMonths((0, get_next_active_month_1.getNextActiveMonth)(activeMonths, numberOfMonths, numYears * 12 - numberOfMonths + 1));
|
|
41
41
|
setFocusedDate(null);
|
|
42
42
|
}, [activeMonths, numberOfMonths, setActiveMonths, setFocusedDate]);
|
|
43
|
-
var canGoToPrevMonth = minBookingDate ? !dayjs_1.default(activeMonths[0].date).isBefore(dayjs_1.default(minBookingDate)) : true;
|
|
43
|
+
var canGoToPrevMonth = minBookingDate ? !(0, dayjs_1.default)(activeMonths[0].date).isBefore((0, dayjs_1.default)(minBookingDate)) : true;
|
|
44
44
|
var canGoToNextMonth = maxBookingDate
|
|
45
|
-
? !dayjs_1.default(activeMonths[activeMonths.length - 1].date)
|
|
45
|
+
? !(0, dayjs_1.default)(activeMonths[activeMonths.length - 1].date)
|
|
46
46
|
.endOf("month")
|
|
47
|
-
.isAfter(dayjs_1.default(maxBookingDate))
|
|
47
|
+
.isAfter((0, dayjs_1.default)(maxBookingDate))
|
|
48
48
|
: true;
|
|
49
49
|
var canGoToPrevYear = minBookingDate
|
|
50
|
-
? !dayjs_1.default(activeMonths[0].date).startOf("year").isBefore(dayjs_1.default(minBookingDate))
|
|
50
|
+
? !(0, dayjs_1.default)(activeMonths[0].date).startOf("year").isBefore((0, dayjs_1.default)(minBookingDate))
|
|
51
51
|
: true;
|
|
52
52
|
var canGoToNextYear = maxBookingDate
|
|
53
|
-
? !dayjs_1.default(activeMonths[activeMonths.length - 1].date)
|
|
53
|
+
? !(0, dayjs_1.default)(activeMonths[activeMonths.length - 1].date)
|
|
54
54
|
.endOf("year")
|
|
55
|
-
.isAfter(dayjs_1.default(maxBookingDate))
|
|
55
|
+
.isAfter((0, dayjs_1.default)(maxBookingDate))
|
|
56
56
|
: true;
|
|
57
|
-
var canGoTo = react_1.useCallback(function (month, type) {
|
|
57
|
+
var canGoTo = (0, react_1.useCallback)(function (month, type) {
|
|
58
58
|
if (minBookingDate || maxBookingDate) {
|
|
59
59
|
if (minBookingDate && maxBookingDate) {
|
|
60
|
-
return (dayjs_1.default(month).endOf(type).add(1, "day").isAfter(minBookingDate, "day") &&
|
|
61
|
-
dayjs_1.default(month).startOf(type).subtract(1, "day").isBefore(maxBookingDate, "day"));
|
|
60
|
+
return ((0, dayjs_1.default)(month).endOf(type).add(1, "day").isAfter(minBookingDate, "day") &&
|
|
61
|
+
(0, dayjs_1.default)(month).startOf(type).subtract(1, "day").isBefore(maxBookingDate, "day"));
|
|
62
62
|
}
|
|
63
63
|
if (minBookingDate) {
|
|
64
|
-
return dayjs_1.default(month).endOf(type).add(1, "day").isAfter(minBookingDate, "day");
|
|
64
|
+
return (0, dayjs_1.default)(month).endOf(type).add(1, "day").isAfter(minBookingDate, "day");
|
|
65
65
|
}
|
|
66
66
|
if (maxBookingDate) {
|
|
67
|
-
return dayjs_1.default(month).startOf(type).subtract(1, "day").isBefore(maxBookingDate, "day");
|
|
67
|
+
return (0, dayjs_1.default)(month).startOf(type).subtract(1, "day").isBefore(maxBookingDate, "day");
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
return true;
|
|
71
71
|
}, [maxBookingDate, minBookingDate]);
|
|
72
|
-
var canGoToMonth = react_1.useCallback(function (date) { return canGoTo(date, "month"); }, [canGoTo]);
|
|
73
|
-
var canGoToYear = react_1.useCallback(function (date) { return canGoTo(date, "year"); }, [canGoTo]);
|
|
72
|
+
var canGoToMonth = (0, react_1.useCallback)(function (date) { return canGoTo(date, "month"); }, [canGoTo]);
|
|
73
|
+
var canGoToYear = (0, react_1.useCallback)(function (date) { return canGoTo(date, "year"); }, [canGoTo]);
|
|
74
74
|
return {
|
|
75
75
|
canGoToMonth: canGoToMonth,
|
|
76
76
|
canGoToNextMonth: canGoToNextMonth,
|
|
@@ -88,4 +88,4 @@ function useDatePickerNavigation(_a) {
|
|
|
88
88
|
};
|
|
89
89
|
}
|
|
90
90
|
exports.useDatePickerNavigation = useDatePickerNavigation;
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWRhdGUtcGlja2VyLW5hdmlnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlLWRhdGUtcGlja2VyLW5hdmlnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQTBCO0FBQzFCLCtCQUE4RDtBQUM5RCxrRUFBK0Q7QUFDL0Qsd0VBQW9FO0FBNEJwRSxTQUFnQix1QkFBdUIsQ0FBQyxFQU9UO1FBTjNCLFlBQVksa0JBQUEsRUFDWixlQUFlLHFCQUFBLEVBQ2YsY0FBYyxvQkFBQSxFQUNkLGNBQWMsb0JBQUEsRUFDZCxjQUFjLG9CQUFBLEVBQ2QsY0FBYyxvQkFBQTtJQUVkLElBQU0sY0FBYyxHQUFHLElBQUEsbUJBQVcsRUFBQztRQUMvQixlQUFlLENBQUMsSUFBQSwwQ0FBa0IsRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUVwRSxJQUFNLHdCQUF3QixHQUFHLElBQUEsbUJBQVcsRUFBQztRQUN6QyxlQUFlLENBQUMsSUFBQSwwQ0FBa0IsRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFFcEUsSUFBTSxjQUFjLEdBQUcsSUFBQSxtQkFBVyxFQUFDO1FBQy9CLGVBQWUsQ0FBQyxJQUFBLDBDQUFrQixFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRSxjQUFj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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var react_hooks_1 = require("@testing-library/react-hooks");
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var use_date_picker_navigation_1 = require("./use-date-picker-navigation");
|
|
6
|
+
var ACTIVE_MONTHS = [{ date: new Date("2021-09-01"), month: 8, year: 2021 }];
|
|
7
|
+
test("base data", function () {
|
|
8
|
+
var result = (0, react_hooks_1.renderHook)(function () {
|
|
9
|
+
return (0, use_date_picker_navigation_1.useDatePickerNavigation)({
|
|
10
|
+
activeMonths: ACTIVE_MONTHS,
|
|
11
|
+
setActiveMonths: function () { return undefined; },
|
|
12
|
+
numberOfMonths: 1,
|
|
13
|
+
setFocusedDate: function () { return undefined; },
|
|
14
|
+
});
|
|
15
|
+
}).result;
|
|
16
|
+
expect(result.current.canGoToNextMonth).toBe(true);
|
|
17
|
+
expect(result.current.canGoToPrevMonth).toBe(true);
|
|
18
|
+
expect(result.current.canGoToNextYear).toBe(true);
|
|
19
|
+
expect(result.current.canGoToPrevYear).toBe(true);
|
|
20
|
+
expect(result.current.canGoToMonth(new Date("2021-08-01"))).toBe(true);
|
|
21
|
+
expect(result.current.canGoToYear(new Date("2020-01-01"))).toBe(true);
|
|
22
|
+
});
|
|
23
|
+
test("base data with min and max date", function () {
|
|
24
|
+
var result = (0, react_hooks_1.renderHook)(function () {
|
|
25
|
+
return (0, use_date_picker_navigation_1.useDatePickerNavigation)({
|
|
26
|
+
activeMonths: ACTIVE_MONTHS,
|
|
27
|
+
setActiveMonths: function () { return undefined; },
|
|
28
|
+
numberOfMonths: 1,
|
|
29
|
+
setFocusedDate: function () { return undefined; },
|
|
30
|
+
minBookingDate: new Date("2015-05-05"),
|
|
31
|
+
maxBookingDate: new Date("2025-10-11"),
|
|
32
|
+
});
|
|
33
|
+
}).result;
|
|
34
|
+
expect(result.current.canGoToMonth(new Date("2021-08-01"))).toBe(true);
|
|
35
|
+
expect(result.current.canGoToMonth(new Date("2015-04-01"))).toBe(false);
|
|
36
|
+
expect(result.current.canGoToMonth(new Date("2025-12-01"))).toBe(false);
|
|
37
|
+
expect(result.current.canGoToYear(new Date("2020-01-01"))).toBe(true);
|
|
38
|
+
expect(result.current.canGoToYear(new Date("2014-01-01"))).toBe(false);
|
|
39
|
+
expect(result.current.canGoToYear(new Date("2026-01-01"))).toBe(false);
|
|
40
|
+
});
|
|
41
|
+
test("actions", function () {
|
|
42
|
+
var state = (0, react_hooks_1.renderHook)(function () {
|
|
43
|
+
return (0, react_1.useState)([{ month: 8, year: 2021, date: new Date("2021-09-01") }]);
|
|
44
|
+
}).result;
|
|
45
|
+
var _a = (0, react_hooks_1.renderHook)(function () {
|
|
46
|
+
return (0, use_date_picker_navigation_1.useDatePickerNavigation)({
|
|
47
|
+
activeMonths: state.current[0],
|
|
48
|
+
setActiveMonths: function (data) { return state.current[1](data); },
|
|
49
|
+
numberOfMonths: 1,
|
|
50
|
+
setFocusedDate: function () { return undefined; },
|
|
51
|
+
minBookingDate: new Date("2020-12-25"),
|
|
52
|
+
maxBookingDate: new Date("2022-03-11"),
|
|
53
|
+
});
|
|
54
|
+
}), result = _a.result, rerender = _a.rerender;
|
|
55
|
+
// go to year 2020
|
|
56
|
+
expect(result.current.canGoToPrevYear).toBe(true);
|
|
57
|
+
(0, react_hooks_1.act)(function () {
|
|
58
|
+
result.current.goToPrevYear();
|
|
59
|
+
rerender();
|
|
60
|
+
});
|
|
61
|
+
expect(result.current.canGoToPrevYear).toBe(false);
|
|
62
|
+
expect(result.current.canGoToNextYear).toBe(true);
|
|
63
|
+
// go to year 2022
|
|
64
|
+
(0, react_hooks_1.act)(function () {
|
|
65
|
+
result.current.goToNextYear(2);
|
|
66
|
+
rerender();
|
|
67
|
+
});
|
|
68
|
+
expect(result.current.canGoToPrevYear).toBe(true);
|
|
69
|
+
expect(result.current.canGoToNextYear).toBe(false);
|
|
70
|
+
// go back to year 2021
|
|
71
|
+
(0, react_hooks_1.act)(function () {
|
|
72
|
+
result.current.goToPrevYear();
|
|
73
|
+
rerender();
|
|
74
|
+
});
|
|
75
|
+
expect(result.current.canGoToPrevYear).toBe(true);
|
|
76
|
+
expect(result.current.canGoToNextYear).toBe(true);
|
|
77
|
+
// go to prev month
|
|
78
|
+
(0, react_hooks_1.act)(function () {
|
|
79
|
+
result.current.goToPrevMonths();
|
|
80
|
+
result.current.goToPrevMonthsByOneMonth();
|
|
81
|
+
rerender();
|
|
82
|
+
});
|
|
83
|
+
expect(result.current.canGoToPrevMonth).toBe(true);
|
|
84
|
+
expect(result.current.canGoToNextMonth).toBe(true);
|
|
85
|
+
// go to next month
|
|
86
|
+
(0, react_hooks_1.act)(function () {
|
|
87
|
+
result.current.goToNextMonths();
|
|
88
|
+
result.current.goToNextMonthsByOneMonth();
|
|
89
|
+
rerender();
|
|
90
|
+
});
|
|
91
|
+
expect(result.current.canGoToPrevMonth).toBe(true);
|
|
92
|
+
expect(result.current.canGoToNextMonth).toBe(true);
|
|
93
|
+
// go to month
|
|
94
|
+
(0, react_hooks_1.act)(function () {
|
|
95
|
+
result.current.goToDate(new Date("2020-12-30"));
|
|
96
|
+
rerender();
|
|
97
|
+
});
|
|
98
|
+
expect(result.current.canGoToPrevMonth).toBe(false);
|
|
99
|
+
expect(result.current.canGoToNextMonth).toBe(true);
|
|
100
|
+
(0, react_hooks_1.act)(function () {
|
|
101
|
+
result.current.goToDate(new Date("2022-03-01"));
|
|
102
|
+
rerender();
|
|
103
|
+
});
|
|
104
|
+
expect(result.current.canGoToPrevMonth).toBe(true);
|
|
105
|
+
expect(result.current.canGoToNextMonth).toBe(false);
|
|
106
|
+
});
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWRhdGUtcGlja2VyLW5hdmlnYXRpb24udGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2UtZGF0ZS1waWNrZXItbmF2aWdhdGlvbi50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsNERBQStEO0FBQy9ELCtCQUFpQztBQUVqQywyRUFBMEc7QUFFMUcsSUFBTSxhQUFhLEdBQWdCLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUU1RixJQUFJLENBQUMsV0FBVyxFQUFFO0lBQ04sSUFBQSxNQUFNLEdBQUssSUFBQSx3QkFBVSxFQUEwQztRQUNuRSxPQUFBLElBQUEsb0RBQXVCLEVBQUM7WUFDcEIsWUFBWSxFQUFFLGFBQWE7WUFDM0IsZUFBZSxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztZQUNoQyxjQUFjLEVBQUUsQ0FBQztZQUNqQixjQUFjLEVBQUUsY0FBTSxPQUFBLFNBQVMsRUFBVCxDQUFTO1NBQ2xDLENBQUM7SUFMRixDQUtFLENBQ0wsT0FQYSxDQU9aO0lBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xELE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRCxNQUFNLENBQUMsTUFB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
|
package/hooks/use-date-picker.js
CHANGED
|
@@ -59,28 +59,29 @@ var is_date_hovered_1 = require("../utils/is-date-hovered");
|
|
|
59
59
|
var is_in_unavailable_dates_1 = require("../utils/is-in-unavailable-dates");
|
|
60
60
|
var is_start_date_1 = require("../utils/is-start-date");
|
|
61
61
|
var use_date_picker_navigation_1 = require("./use-date-picker-navigation");
|
|
62
|
-
|
|
62
|
+
var is_browser_1 = require("../utils/is-browser");
|
|
63
|
+
(0, dayjs_1.extend)(isBetween_1.default);
|
|
63
64
|
function useDatePicker(_a) {
|
|
64
65
|
var _b = _a.firstDayOfWeek, firstDayOfWeek = _b === void 0 ? 0 : _b, initialVisibleMonth = _a.initialVisibleMonth, _c = _a.isDateBlocked, isDateBlockedProps = _c === void 0 ? function () { return false; } : _c, maxBookingDate = _a.maxBookingDate, minBookingDate = _a.minBookingDate, _d = _a.numberOfMonths, numberOfMonths = _d === void 0 ? 1 : _d, onDateChange = _a.onDateChange, selectedDate = _a.selectedDate, _e = _a.unavailableDates, unavailableDates = _e === void 0 ? [] : _e;
|
|
65
|
-
var _f = __read(react_1.useState(function () {
|
|
66
|
+
var _f = __read((0, react_1.useState)(function () {
|
|
66
67
|
return selectedDate
|
|
67
|
-
? get_initial_months_1.getInitialMonths(numberOfMonths, selectedDate)
|
|
68
|
-
: get_initial_months_1.getInitialMonths(numberOfMonths, initialVisibleMonth || null);
|
|
68
|
+
? (0, get_initial_months_1.getInitialMonths)(numberOfMonths, selectedDate)
|
|
69
|
+
: (0, get_initial_months_1.getInitialMonths)(numberOfMonths, initialVisibleMonth || null);
|
|
69
70
|
}), 2), activeMonths = _f[0], setActiveMonths = _f[1];
|
|
70
|
-
var _g = __read(react_1.useState(null), 2), hoveredDate = _g[0], setHoveredDate = _g[1];
|
|
71
|
-
var _h = __read(react_1.useState(selectedDate), 2), focusedDate = _h[0], setFocusedDate = _h[1];
|
|
71
|
+
var _g = __read((0, react_1.useState)(null), 2), hoveredDate = _g[0], setHoveredDate = _g[1];
|
|
72
|
+
var _h = __read((0, react_1.useState)(selectedDate), 2), focusedDate = _h[0], setFocusedDate = _h[1];
|
|
72
73
|
var disabledDatesByUser = function (date) {
|
|
73
|
-
return is_in_unavailable_dates_1.isInUnavailableDates(unavailableDates, date) || isDateBlockedProps(date);
|
|
74
|
+
return (0, is_in_unavailable_dates_1.isInUnavailableDates)(unavailableDates, date) || isDateBlockedProps(date);
|
|
74
75
|
};
|
|
75
|
-
var onDateFocus = function (date) {
|
|
76
|
+
var onDateFocus = (0, react_1.useCallback)(function (date) {
|
|
76
77
|
setFocusedDate(date);
|
|
77
|
-
if (!focusedDate || (
|
|
78
|
-
setActiveMonths(get_initial_months_1.getInitialMonths(numberOfMonths, date));
|
|
78
|
+
if (!focusedDate || !activeMonths.map(function (m) { return m.month; }).includes((0, dayjs_1.default)(date).month())) {
|
|
79
|
+
setActiveMonths((0, get_initial_months_1.getInitialMonths)(numberOfMonths, date));
|
|
79
80
|
}
|
|
80
|
-
};
|
|
81
|
-
var _isDateSelected = function (date) { return is_start_date_1.isStartDate(date, selectedDate); };
|
|
81
|
+
}, [activeMonths, focusedDate, numberOfMonths]);
|
|
82
|
+
var _isDateSelected = function (date) { return (0, is_start_date_1.isStartDate)(date, selectedDate); };
|
|
82
83
|
var _isDateBlocked = function (date) {
|
|
83
|
-
return is_date_blocked_1.isDateBlocked({
|
|
84
|
+
return (0, is_date_blocked_1.isDateBlocked)({
|
|
84
85
|
date: date,
|
|
85
86
|
minBookingDate: minBookingDate,
|
|
86
87
|
maxBookingDate: maxBookingDate,
|
|
@@ -90,9 +91,9 @@ function useDatePicker(_a) {
|
|
|
90
91
|
isDateBlockedFn: disabledDatesByUser,
|
|
91
92
|
});
|
|
92
93
|
};
|
|
93
|
-
var isDateFocused = function (date) { return (focusedDate ? dayjs_1.default(date).isSame(focusedDate, "day") : false); };
|
|
94
|
+
var isDateFocused = function (date) { return (focusedDate ? (0, dayjs_1.default)(date).isSame(focusedDate, "day") : false); };
|
|
94
95
|
var _isDateHovered = function (date) {
|
|
95
|
-
return is_date_hovered_1.isDateHovered({
|
|
96
|
+
return (0, is_date_hovered_1.isDateHovered)({
|
|
96
97
|
date: date,
|
|
97
98
|
hoveredDate: hoveredDate,
|
|
98
99
|
startDate: selectedDate,
|
|
@@ -102,34 +103,28 @@ function useDatePicker(_a) {
|
|
|
102
103
|
isDateBlocked: disabledDatesByUser,
|
|
103
104
|
});
|
|
104
105
|
};
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
(e.key === "ArrowRight" || e.key === "ArrowLeft" || e.key === "ArrowDown" || e.key === "ArrowUp") &&
|
|
109
|
-
!focusedDate
|
|
110
|
-
) {
|
|
111
|
-
const activeMonth = activeMonths[0];
|
|
112
|
-
onDateFocus(activeMonth.date);
|
|
113
|
-
setActiveMonths(getInitialMonths(numberOfMonths, activeMonth.date));
|
|
114
|
-
}
|
|
106
|
+
(0, react_1.useEffect)(function () {
|
|
107
|
+
if (!is_browser_1.isBrowser) {
|
|
108
|
+
return;
|
|
115
109
|
}
|
|
116
|
-
|
|
117
|
-
if (
|
|
118
|
-
|
|
110
|
+
function handleKeyDown(e) {
|
|
111
|
+
if ((e.key === "ArrowRight" || e.key === "ArrowLeft" || e.key === "ArrowDown" || e.key === "ArrowUp") &&
|
|
112
|
+
!focusedDate) {
|
|
113
|
+
var activeMonth = activeMonths[0];
|
|
114
|
+
onDateFocus(activeMonth.date);
|
|
115
|
+
setActiveMonths((0, get_initial_months_1.getInitialMonths)(numberOfMonths, activeMonth.date));
|
|
119
116
|
}
|
|
120
117
|
}
|
|
121
|
-
|
|
122
|
-
return ()
|
|
123
|
-
|
|
124
|
-
window.removeEventListener("keydown", handleKeyDown);
|
|
125
|
-
}
|
|
118
|
+
window.addEventListener("keydown", handleKeyDown);
|
|
119
|
+
return function () {
|
|
120
|
+
window.removeEventListener("keydown", handleKeyDown);
|
|
126
121
|
};
|
|
127
|
-
}, [activeMonths, focusedDate, numberOfMonths, onDateFocus])
|
|
128
|
-
var onReset = react_1.useCallback(function () {
|
|
122
|
+
}, [activeMonths, focusedDate, numberOfMonths, onDateFocus]);
|
|
123
|
+
var onReset = (0, react_1.useCallback)(function () {
|
|
129
124
|
onDateChange(null);
|
|
130
125
|
}, [onDateChange]);
|
|
131
126
|
function onDateSelect(date) {
|
|
132
|
-
if (!dayjs_1.default(date).isSame(selectedDate)) {
|
|
127
|
+
if (!(0, dayjs_1.default)(date).isSame(selectedDate)) {
|
|
133
128
|
onDateChange(date);
|
|
134
129
|
}
|
|
135
130
|
else {
|
|
@@ -140,8 +135,8 @@ function useDatePicker(_a) {
|
|
|
140
135
|
if (!date) {
|
|
141
136
|
setHoveredDate(null);
|
|
142
137
|
}
|
|
143
|
-
else
|
|
144
|
-
var isNotBlocked = !_isDateBlocked(date) || (selectedDate && dayjs_1.default(date).isSame(selectedDate, "day"));
|
|
138
|
+
else {
|
|
139
|
+
var isNotBlocked = !_isDateBlocked(date) || (selectedDate && (0, dayjs_1.default)(date).isSame(selectedDate, "day"));
|
|
145
140
|
if (isNotBlocked) {
|
|
146
141
|
setHoveredDate(date);
|
|
147
142
|
}
|
|
@@ -150,7 +145,7 @@ function useDatePicker(_a) {
|
|
|
150
145
|
}
|
|
151
146
|
}
|
|
152
147
|
}
|
|
153
|
-
return __assign(__assign({}, use_date_picker_navigation_1.useDatePickerNavigation({
|
|
148
|
+
return __assign(__assign({}, (0, use_date_picker_navigation_1.useDatePickerNavigation)({
|
|
154
149
|
activeMonths: activeMonths,
|
|
155
150
|
maxBookingDate: maxBookingDate,
|
|
156
151
|
minBookingDate: minBookingDate,
|
|
@@ -160,4 +155,4 @@ function useDatePicker(_a) {
|
|
|
160
155
|
})), { activeMonths: activeMonths, firstDayOfWeek: firstDayOfWeek, focusedDate: focusedDate, hoveredDate: hoveredDate, isDateBlocked: _isDateBlocked, isDateFocused: isDateFocused, isDateHovered: _isDateHovered, isDateSelected: _isDateSelected, numberOfMonths: numberOfMonths, onDateFocus: onDateFocus, onDateHover: onDateHover, onDateSelect: onDateSelect, onResetDates: onReset });
|
|
161
156
|
}
|
|
162
157
|
exports.useDatePicker = useDatePicker;
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWRhdGUtcGlja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZS1kYXRlLXBpY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQXNDO0FBQ3RDLHFFQUErQztBQUMvQywrQkFBeUQ7QUFDekQsa0VBQStEO0FBQy9ELDREQUF5RDtBQUN6RCw0REFBeUQ7QUFDekQsNEVBQXdFO0FBQ3hFLHdEQUFxRDtBQUVyRCwyRUFBMEc7QUFDMUcsa0RBQWdEO0FBRWhELElBQUEsY0FBTSxFQUFDLG1CQUFTLENBQUMsQ0FBQztBQWdDbEIsU0FBZ0IsYUFBYSxDQUFDLEVBVVQ7UUFUakIsc0JBQWtCLEVBQWxCLGNBQWMsbUJBQUcsQ0FBQyxLQUFBLEVBQ2xCLG1CQUFtQix5QkFBQSxFQUNuQixxQkFBK0MsRUFBaEMsa0JBQWtCLG1CQUFHLGNBQU0sT0FBQSxLQUFLLEVBQUwsQ0FBSyxLQUFBLEVBQy9DLGNBQWMsb0JBQUEsRUFDZCxjQUFjLG9CQUFBLEVBQ2Qsc0JBQWtCLEVBQWxCLGNBQWMsbUJBQUcsQ0FBQyxLQUFBLEVBQ2xCLFlBQVksa0JBQUEsRUFDWixZQUFZLGtCQUFBLEVBQ1osd0JBQXFCLEVBQXJCLGdCQUFnQixtQkFBRyxFQUFFLEtBQUE7SUFFZixJQUFBLEtBQUEsT0FBa0MsSUFBQSxnQkFBUSxFQUFDO1FBQzdDLE9BQUEsWUFBWTtZQUNSLENBQUMsQ0FBQyxJQUFBLHFDQUFnQixFQUFDLGNBQWMsRUFBRSxZQUFZLENBQUM7WUFDaEQsQ0FBQyxDQUFDLElBQUEscUNBQWdCLEVBQUMsY0FBYyxFQUFFLG1CQUFtQixJQUFJLElBQUksQ0FBQztJQUZuRSxDQUVtRSxDQUN0RSxJQUFBLEVBSk0sWUFBWSxRQUFBLEVBQUUsZUFBZSxRQUluQyxDQUFDO0lBQ0ksSUFBQSxLQUFBLE9BQWdDLElBQUEsZ0JB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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var react_hooks_1 = require("@testing-library/react-hooks");
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var use_date_picker_1 = require("./use-date-picker");
|
|
6
|
+
test("base data", function () {
|
|
7
|
+
var BASE_DATE = new Date("2021-09-15");
|
|
8
|
+
var result = (0, react_hooks_1.renderHook)(function () {
|
|
9
|
+
return (0, use_date_picker_1.useDatePicker)({
|
|
10
|
+
selectedDate: BASE_DATE,
|
|
11
|
+
onDateChange: function () { return undefined; },
|
|
12
|
+
minBookingDate: new Date("2020-01-01"),
|
|
13
|
+
});
|
|
14
|
+
}).result;
|
|
15
|
+
expect(result.current.firstDayOfWeek).toBe(0);
|
|
16
|
+
expect(result.current.focusedDate).toStrictEqual(BASE_DATE);
|
|
17
|
+
expect(result.current.hoveredDate).toBe(null);
|
|
18
|
+
expect(result.current.activeMonths).toStrictEqual([
|
|
19
|
+
{
|
|
20
|
+
date: new Date("2021-09-01"),
|
|
21
|
+
month: 8,
|
|
22
|
+
year: 2021,
|
|
23
|
+
},
|
|
24
|
+
]);
|
|
25
|
+
expect(result.current.isDateBlocked(new Date("2020-01-01"))).toBe(false);
|
|
26
|
+
expect(result.current.isDateBlocked(new Date("2019-12-31"))).toBe(true);
|
|
27
|
+
});
|
|
28
|
+
test("date focus", function () {
|
|
29
|
+
var BASE_DATE = new Date("2021-09-15");
|
|
30
|
+
var state = (0, react_hooks_1.renderHook)(function () { return (0, react_1.useState)(BASE_DATE); }).result;
|
|
31
|
+
var result = (0, react_hooks_1.renderHook)(function () {
|
|
32
|
+
return (0, use_date_picker_1.useDatePicker)({ selectedDate: state.current[0], onDateChange: function (date) { return state.current[1](date); } });
|
|
33
|
+
}).result;
|
|
34
|
+
var NEW_DATE = new Date("2022-12-22");
|
|
35
|
+
expect(result.current.isDateFocused(BASE_DATE)).toBe(true);
|
|
36
|
+
expect(result.current.isDateFocused(NEW_DATE)).toBe(false);
|
|
37
|
+
(0, react_hooks_1.act)(function () {
|
|
38
|
+
result.current.onDateFocus(NEW_DATE);
|
|
39
|
+
});
|
|
40
|
+
expect(result.current.isDateFocused(NEW_DATE)).toBe(true);
|
|
41
|
+
expect(result.current.isDateFocused(BASE_DATE)).toBe(false);
|
|
42
|
+
});
|
|
43
|
+
test("date select", function () {
|
|
44
|
+
var BASE_DATE = new Date("2021-09-15");
|
|
45
|
+
var state = (0, react_hooks_1.renderHook)(function () { return (0, react_1.useState)(BASE_DATE); }).result;
|
|
46
|
+
var _a = (0, react_hooks_1.renderHook)(function () {
|
|
47
|
+
return (0, use_date_picker_1.useDatePicker)({ selectedDate: state.current[0], onDateChange: function (date) { return state.current[1](date); } });
|
|
48
|
+
}), result = _a.result, rerender = _a.rerender;
|
|
49
|
+
var NEW_DATE = new Date("2022-12-22");
|
|
50
|
+
expect(result.current.isDateSelected(BASE_DATE)).toBe(true);
|
|
51
|
+
expect(result.current.isDateSelected(NEW_DATE)).toBe(false);
|
|
52
|
+
(0, react_hooks_1.act)(function () {
|
|
53
|
+
result.current.onDateSelect(NEW_DATE);
|
|
54
|
+
rerender();
|
|
55
|
+
});
|
|
56
|
+
expect(result.current.isDateSelected(NEW_DATE)).toBe(true);
|
|
57
|
+
expect(result.current.isDateSelected(BASE_DATE)).toBe(false);
|
|
58
|
+
// select another
|
|
59
|
+
(0, react_hooks_1.act)(function () {
|
|
60
|
+
result.current.onDateSelect(BASE_DATE);
|
|
61
|
+
rerender();
|
|
62
|
+
});
|
|
63
|
+
expect(result.current.isDateSelected(BASE_DATE)).toBe(true);
|
|
64
|
+
// select save (deselect)
|
|
65
|
+
(0, react_hooks_1.act)(function () {
|
|
66
|
+
result.current.onDateSelect(BASE_DATE);
|
|
67
|
+
rerender();
|
|
68
|
+
});
|
|
69
|
+
expect(result.current.isDateSelected(BASE_DATE)).toBe(false);
|
|
70
|
+
// reset
|
|
71
|
+
(0, react_hooks_1.act)(function () {
|
|
72
|
+
result.current.onDateSelect(BASE_DATE);
|
|
73
|
+
result.current.onResetDates();
|
|
74
|
+
rerender();
|
|
75
|
+
});
|
|
76
|
+
expect(result.current.isDateSelected(BASE_DATE)).toBe(false);
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWRhdGUtcGlja2VyLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlLWRhdGUtcGlja2VyLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0REFBK0Q7QUFDL0QsK0JBQWlDO0FBQ2pDLHFEQUFrRDtBQUVsRCxJQUFJLENBQUMsV0FBVyxFQUFFO0lBQ2QsSUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakMsSUFBQSxNQUFNLEdBQUssSUFBQSx3QkFBVSxFQUFDO1FBQzFCLE9BQUEsSUFBQSwrQkFBYSxFQUFDO1lBQ1YsWUFBWSxFQUFFLFNBQVM7WUFDdkIsWUFBWSxFQUFFLGNBQU0sT0FBQSxTQUFTLEVBQVQsQ0FBUztZQUM3QixjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQ3pDLENBQUM7SUFKRixDQUlFLENBQ0wsT0FOYSxDQU1aO0lBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1RCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzlDO1lBQ0ksSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztZQUM1QixLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksRUFBRSxJQUFJO1NBQ2I7S0FDSixDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFB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
|