@uxf/datepicker 11.11.3 → 11.32.0
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/contexts/date-picker-context.d.ts +0 -1
- package/contexts/date-picker-context.js +7 -7
- package/contexts/date-range-picker-context.d.ts +0 -1
- package/contexts/date-range-picker-context.js +7 -7
- package/contexts/time-picker-context.d.ts +0 -1
- package/hooks/use-date-picker-navigation.d.ts +7 -7
- package/hooks/use-date-picker-navigation.js +29 -11
- package/hooks/use-date-picker-navigation.test.js +13 -13
- package/hooks/use-date-picker.js +5 -5
- package/hooks/use-date-picker.test.js +12 -12
- package/hooks/use-date-range-picker.js +6 -5
- package/hooks/use-date-range-picker.test.js +11 -11
- package/hooks/use-day.js +4 -4
- package/hooks/use-day.test.js +10 -10
- package/hooks/use-decade.js +2 -2
- package/hooks/use-decade.test.js +3 -3
- package/hooks/use-hour.js +1 -2
- package/hooks/use-hour.test.js +6 -6
- package/hooks/use-hours.js +2 -2
- package/hooks/use-hours.test.js +3 -3
- package/hooks/use-minute.js +1 -2
- package/hooks/use-minute.test.js +6 -6
- package/hooks/use-minutes.js +2 -2
- package/hooks/use-minutes.test.js +3 -3
- package/hooks/use-month.js +2 -2
- package/hooks/use-month.test.js +3 -3
- package/hooks/use-time-picker.js +1 -2
- package/hooks/use-time-picker.test.js +17 -17
- package/hooks/use-year.js +2 -2
- package/hooks/use-year.test.js +3 -3
- package/package.json +6 -6
- package/utils/can-select-range.js +1 -2
- package/utils/get-current-year-month-and-date.js +1 -2
- package/utils/get-date-invervals.js +6 -5
- package/utils/get-date-month-and-year.js +1 -2
- package/utils/get-days.js +1 -2
- package/utils/get-each.js +1 -2
- package/utils/get-initial-months.js +1 -2
- package/utils/get-months.js +1 -2
- package/utils/get-next-active-month.js +1 -2
- package/utils/get-weekday-labels.js +1 -2
- package/utils/get-years.js +1 -2
- package/utils/is-browser.js +1 -1
- package/utils/is-date-blocked.js +2 -3
- package/utils/is-date-hovered.js +1 -2
- package/utils/is-date-inside-range.js +1 -2
- package/utils/is-end-date.js +2 -3
- package/utils/is-first-or-last-selected-date.js +2 -4
- package/utils/is-in-unavailable-dates.js +1 -2
- package/utils/is-start-date.js +2 -3
package/hooks/use-hour.test.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
4
|
-
const
|
|
3
|
+
const react_1 = require("@testing-library/react");
|
|
4
|
+
const react_2 = require("react");
|
|
5
5
|
const use_hour_1 = require("./use-hour");
|
|
6
6
|
test("useHour", () => {
|
|
7
|
-
const { result } = (0,
|
|
7
|
+
const { result } = (0, react_1.renderHook)(() => (0, use_hour_1.useHour)({
|
|
8
8
|
hour: 5,
|
|
9
9
|
focusedHour: null,
|
|
10
10
|
isHourFocused: () => false,
|
|
@@ -18,8 +18,8 @@ test("useHour", () => {
|
|
|
18
18
|
test("actions", () => {
|
|
19
19
|
let selectedHour = null;
|
|
20
20
|
let focusedHour = null;
|
|
21
|
-
const { result: ref } = (0,
|
|
22
|
-
const { result, rerender } = (0,
|
|
21
|
+
const { result: ref } = (0, react_1.renderHook)(() => (0, react_2.useRef)(null));
|
|
22
|
+
const { result, rerender } = (0, react_1.renderHook)(() => (0, use_hour_1.useHour)({
|
|
23
23
|
hour: 30,
|
|
24
24
|
focusedHour: null,
|
|
25
25
|
isHourFocused: (hour) => focusedHour === hour,
|
|
@@ -31,7 +31,7 @@ test("actions", () => {
|
|
|
31
31
|
expect(result.current.tabIndex).toBe(0);
|
|
32
32
|
// select
|
|
33
33
|
expect(result.current.isSelected).toBe(false);
|
|
34
|
-
(0,
|
|
34
|
+
(0, react_1.act)(() => {
|
|
35
35
|
if (result.current.onClick) {
|
|
36
36
|
result.current.onClick();
|
|
37
37
|
}
|
package/hooks/use-hours.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.labelFormatFn = void 0;
|
|
4
|
+
exports.useHours = useHours;
|
|
4
5
|
const react_1 = require("react");
|
|
5
6
|
const labelFormatFn = (hour) => hour.toString().padStart(2, "0");
|
|
6
7
|
exports.labelFormatFn = labelFormatFn;
|
|
@@ -12,4 +13,3 @@ function useHours({ labelFormat = exports.labelFormatFn }) {
|
|
|
12
13
|
hours,
|
|
13
14
|
};
|
|
14
15
|
}
|
|
15
|
-
exports.useHours = useHours;
|
package/hooks/use-hours.test.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const react_1 = require("@testing-library/react");
|
|
4
4
|
const use_hours_1 = require("./use-hours");
|
|
5
5
|
test("useHours", () => {
|
|
6
|
-
const { result } = (0,
|
|
6
|
+
const { result } = (0, react_1.renderHook)(() => (0, use_hours_1.useHours)({}));
|
|
7
7
|
expect(result.current.hours).toStrictEqual([
|
|
8
8
|
{ label: "00", value: 0 },
|
|
9
9
|
{ label: "01", value: 1 },
|
|
@@ -32,7 +32,7 @@ test("useHours", () => {
|
|
|
32
32
|
]);
|
|
33
33
|
});
|
|
34
34
|
test("useMinutes with custom format", () => {
|
|
35
|
-
const { result } = (0,
|
|
35
|
+
const { result } = (0, react_1.renderHook)(() => (0, use_hours_1.useHours)({
|
|
36
36
|
labelFormat: (hour) => "--" + hour + "--",
|
|
37
37
|
}));
|
|
38
38
|
expect(result.current.hours).toStrictEqual([
|
package/hooks/use-minute.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useMinute =
|
|
3
|
+
exports.useMinute = useMinute;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
function useMinute({ minute, minuteRef, focusedMinute, isMinuteFocused, isMinuteSelected, onMinuteFocus, onMinuteSelect, preventScroll, }) {
|
|
6
6
|
const onClick = (0, react_1.useCallback)(() => onMinuteSelect(minute), [minute, onMinuteSelect]);
|
|
@@ -37,4 +37,3 @@ function useMinute({ minute, minuteRef, focusedMinute, isMinuteFocused, isMinute
|
|
|
37
37
|
tabIndex: focusedMinute === null || isMinuteFocused(minute) ? 0 : -1,
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
|
-
exports.useMinute = useMinute;
|
package/hooks/use-minute.test.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
4
|
-
const
|
|
3
|
+
const react_1 = require("@testing-library/react");
|
|
4
|
+
const react_2 = require("react");
|
|
5
5
|
const use_minute_1 = require("./use-minute");
|
|
6
6
|
test("useMinute", () => {
|
|
7
|
-
const { result } = (0,
|
|
7
|
+
const { result } = (0, react_1.renderHook)(() => (0, use_minute_1.useMinute)({
|
|
8
8
|
minute: 30,
|
|
9
9
|
focusedMinute: null,
|
|
10
10
|
isMinuteFocused: () => false,
|
|
@@ -18,8 +18,8 @@ test("useMinute", () => {
|
|
|
18
18
|
test("actions", () => {
|
|
19
19
|
let selectedMinute = null;
|
|
20
20
|
let focusedMinute = null;
|
|
21
|
-
const { result: ref } = (0,
|
|
22
|
-
const { result, rerender } = (0,
|
|
21
|
+
const { result: ref } = (0, react_1.renderHook)(() => (0, react_2.useRef)(null));
|
|
22
|
+
const { result, rerender } = (0, react_1.renderHook)(() => (0, use_minute_1.useMinute)({
|
|
23
23
|
minute: 30,
|
|
24
24
|
focusedMinute: null,
|
|
25
25
|
isMinuteFocused: (minute) => focusedMinute === minute,
|
|
@@ -31,7 +31,7 @@ test("actions", () => {
|
|
|
31
31
|
expect(result.current.tabIndex).toBe(0);
|
|
32
32
|
// select
|
|
33
33
|
expect(result.current.isSelected).toBe(false);
|
|
34
|
-
(0,
|
|
34
|
+
(0, react_1.act)(() => {
|
|
35
35
|
if (result.current.onClick) {
|
|
36
36
|
result.current.onClick();
|
|
37
37
|
}
|
package/hooks/use-minutes.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.labelFormatFn = void 0;
|
|
4
|
+
exports.useMinutes = useMinutes;
|
|
4
5
|
const react_1 = require("react");
|
|
5
6
|
const labelFormatFn = (hour) => hour.toString().padStart(2, "0");
|
|
6
7
|
exports.labelFormatFn = labelFormatFn;
|
|
@@ -12,4 +13,3 @@ function useMinutes({ labelFormat = exports.labelFormatFn }) {
|
|
|
12
13
|
minutes,
|
|
13
14
|
};
|
|
14
15
|
}
|
|
15
|
-
exports.useMinutes = useMinutes;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
3
|
+
const react_1 = require("@testing-library/react");
|
|
4
4
|
const use_minutes_1 = require("./use-minutes");
|
|
5
5
|
test("useMinutes", () => {
|
|
6
|
-
const { result } = (0,
|
|
6
|
+
const { result } = (0, react_1.renderHook)(() => (0, use_minutes_1.useMinutes)({}));
|
|
7
7
|
expect(result.current.minutes).toStrictEqual([
|
|
8
8
|
{ label: "00", value: 0 },
|
|
9
9
|
{ label: "05", value: 5 },
|
|
@@ -20,7 +20,7 @@ test("useMinutes", () => {
|
|
|
20
20
|
]);
|
|
21
21
|
});
|
|
22
22
|
test("useMinutes with custom format", () => {
|
|
23
|
-
const { result } = (0,
|
|
23
|
+
const { result } = (0, react_1.renderHook)(() => (0, use_minutes_1.useMinutes)({
|
|
24
24
|
labelFormat: (minute) => "--" + minute + "--",
|
|
25
25
|
}));
|
|
26
26
|
expect(result.current.minutes).toStrictEqual([
|
package/hooks/use-month.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.monthLabelFormatFn = exports.weekdayLabelFormatFn = exports.dayLabelFormatFn = void 0;
|
|
4
|
+
exports.useMonth = useMonth;
|
|
4
5
|
const react_1 = require("react");
|
|
5
6
|
const dayjs_en_1 = require("../utils/dayjs-en");
|
|
6
7
|
const get_days_1 = require("../utils/get-days");
|
|
@@ -20,4 +21,3 @@ function useMonth({ dayLabelFormat = exports.dayLabelFormatFn, firstDayOfWeek =
|
|
|
20
21
|
weekdayLabels,
|
|
21
22
|
};
|
|
22
23
|
}
|
|
23
|
-
exports.useMonth = useMonth;
|
package/hooks/use-month.test.js
CHANGED
|
@@ -3,11 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
6
|
+
const react_1 = require("@testing-library/react");
|
|
7
7
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
8
|
const use_month_1 = require("./use-month");
|
|
9
9
|
test("useMonth", () => {
|
|
10
|
-
const { result } = (0,
|
|
10
|
+
const { result } = (0, react_1.renderHook)(() => (0, use_month_1.useMonth)({
|
|
11
11
|
year: 2021,
|
|
12
12
|
month: 0,
|
|
13
13
|
}));
|
|
@@ -59,7 +59,7 @@ test("useMonth", () => {
|
|
|
59
59
|
expect(result.current.weekdayLabels).toStrictEqual(["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]);
|
|
60
60
|
});
|
|
61
61
|
test("useMonth with custom formats and firstDayOfWeek", () => {
|
|
62
|
-
const { result } = (0,
|
|
62
|
+
const { result } = (0, react_1.renderHook)(() => (0, use_month_1.useMonth)({
|
|
63
63
|
year: 2021,
|
|
64
64
|
month: 0,
|
|
65
65
|
firstDayOfWeek: 1,
|
package/hooks/use-time-picker.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useTimePicker =
|
|
3
|
+
exports.useTimePicker = useTimePicker;
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
function useTimePicker({ selectedTime, onTimeChange, onSelectCallback, preventScroll, }) {
|
|
6
6
|
var _a, _b;
|
|
@@ -81,4 +81,3 @@ function useTimePicker({ selectedTime, onTimeChange, onSelectCallback, preventSc
|
|
|
81
81
|
preventScroll,
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
|
-
exports.useTimePicker = useTimePicker;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
4
|
-
const
|
|
3
|
+
const react_1 = require("@testing-library/react");
|
|
4
|
+
const react_2 = require("react");
|
|
5
5
|
const use_time_picker_1 = require("./use-time-picker");
|
|
6
6
|
test("base data", () => {
|
|
7
7
|
const BASE_TIME = { hour: 12, minute: 57 };
|
|
8
|
-
const { result } = (0,
|
|
8
|
+
const { result } = (0, react_1.renderHook)(() => (0, use_time_picker_1.useTimePicker)({
|
|
9
9
|
selectedTime: BASE_TIME,
|
|
10
10
|
onTimeChange: () => undefined,
|
|
11
11
|
}));
|
|
@@ -14,14 +14,14 @@ test("base data", () => {
|
|
|
14
14
|
});
|
|
15
15
|
test("time focus", () => {
|
|
16
16
|
const BASE_TIME = { hour: 12, minute: 57 };
|
|
17
|
-
const { result: state } = (0,
|
|
18
|
-
const { result } = (0,
|
|
17
|
+
const { result: state } = (0, react_1.renderHook)(() => (0, react_2.useState)(BASE_TIME));
|
|
18
|
+
const { result } = (0, react_1.renderHook)(() => (0, use_time_picker_1.useTimePicker)({ selectedTime: state.current[0], onTimeChange: (time) => state.current[1](time) }));
|
|
19
19
|
const NEW_TIME = { hour: 13, minute: 15 };
|
|
20
20
|
expect(result.current.isHourFocused(BASE_TIME.hour)).toBe(true);
|
|
21
21
|
expect(result.current.isHourFocused(NEW_TIME.hour)).toBe(false);
|
|
22
22
|
expect(result.current.isMinuteFocused(BASE_TIME.minute)).toBe(true);
|
|
23
23
|
expect(result.current.isMinuteFocused(NEW_TIME.minute)).toBe(false);
|
|
24
|
-
(0,
|
|
24
|
+
(0, react_1.act)(() => {
|
|
25
25
|
result.current.onHourFocus(NEW_TIME.hour);
|
|
26
26
|
result.current.onMinuteFocus(NEW_TIME.minute);
|
|
27
27
|
});
|
|
@@ -32,14 +32,14 @@ test("time focus", () => {
|
|
|
32
32
|
});
|
|
33
33
|
test("time select", () => {
|
|
34
34
|
const BASE_TIME = { hour: 12, minute: 57 };
|
|
35
|
-
const { result: state } = (0,
|
|
36
|
-
const { result, rerender } = (0,
|
|
35
|
+
const { result: state } = (0, react_1.renderHook)(() => (0, react_2.useState)(BASE_TIME));
|
|
36
|
+
const { result, rerender } = (0, react_1.renderHook)(() => (0, use_time_picker_1.useTimePicker)({ selectedTime: state.current[0], onTimeChange: (time) => state.current[1](time) }));
|
|
37
37
|
const NEW_TIME = { hour: 13, minute: 15 };
|
|
38
38
|
expect(result.current.isHourSelected(BASE_TIME.hour)).toBe(true);
|
|
39
39
|
expect(result.current.isHourSelected(NEW_TIME.hour)).toBe(false);
|
|
40
40
|
expect(result.current.isMinuteSelected(BASE_TIME.minute)).toBe(true);
|
|
41
41
|
expect(result.current.isMinuteSelected(NEW_TIME.minute)).toBe(false);
|
|
42
|
-
(0,
|
|
42
|
+
(0, react_1.act)(() => {
|
|
43
43
|
result.current.onTimeSelect(NEW_TIME);
|
|
44
44
|
rerender();
|
|
45
45
|
});
|
|
@@ -50,34 +50,34 @@ test("time select", () => {
|
|
|
50
50
|
});
|
|
51
51
|
test("time navigation", () => {
|
|
52
52
|
const BASE_TIME = { hour: 1, minute: 58 };
|
|
53
|
-
const { result: state } = (0,
|
|
54
|
-
const { result, rerender } = (0,
|
|
55
|
-
(0,
|
|
53
|
+
const { result: state } = (0, react_1.renderHook)(() => (0, react_2.useState)(BASE_TIME));
|
|
54
|
+
const { result, rerender } = (0, react_1.renderHook)(() => (0, use_time_picker_1.useTimePicker)({ selectedTime: state.current[0], onTimeChange: (time) => state.current[1](time) }));
|
|
55
|
+
(0, react_1.act)(() => {
|
|
56
56
|
result.current.goToPrevHour();
|
|
57
57
|
rerender();
|
|
58
58
|
});
|
|
59
59
|
expect(state.current[0]).toStrictEqual({ hour: 0, minute: 58 });
|
|
60
|
-
(0,
|
|
60
|
+
(0, react_1.act)(() => {
|
|
61
61
|
result.current.goToNextMinute();
|
|
62
62
|
rerender();
|
|
63
63
|
});
|
|
64
64
|
expect(state.current[0]).toStrictEqual({ hour: 0, minute: 59 });
|
|
65
|
-
(0,
|
|
65
|
+
(0, react_1.act)(() => {
|
|
66
66
|
result.current.goToPrevHour();
|
|
67
67
|
rerender();
|
|
68
68
|
});
|
|
69
69
|
expect(state.current[0]).toStrictEqual({ hour: 23, minute: 59 });
|
|
70
|
-
(0,
|
|
70
|
+
(0, react_1.act)(() => {
|
|
71
71
|
result.current.goToNextHour();
|
|
72
72
|
rerender();
|
|
73
73
|
});
|
|
74
74
|
expect(state.current[0]).toStrictEqual({ hour: 0, minute: 59 });
|
|
75
|
-
(0,
|
|
75
|
+
(0, react_1.act)(() => {
|
|
76
76
|
result.current.goToNextMinute();
|
|
77
77
|
rerender();
|
|
78
78
|
});
|
|
79
79
|
expect(state.current[0]).toStrictEqual({ hour: 1, minute: 0 });
|
|
80
|
-
(0,
|
|
80
|
+
(0, react_1.act)(() => {
|
|
81
81
|
result.current.goToPrevMinute();
|
|
82
82
|
rerender();
|
|
83
83
|
});
|
package/hooks/use-year.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.yearLabelFormatFn = exports.monthLabelFormatFn = void 0;
|
|
4
|
+
exports.useYear = useYear;
|
|
4
5
|
const react_1 = require("react");
|
|
5
6
|
const dayjs_en_1 = require("../utils/dayjs-en");
|
|
6
7
|
const get_months_1 = require("../utils/get-months");
|
|
@@ -15,4 +16,3 @@ function useYear({ yearLabelFormat = exports.yearLabelFormatFn, monthLabelFormat
|
|
|
15
16
|
yearLabel: yearLabelFormat(new Date(year, 0)),
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
|
-
exports.useYear = useYear;
|
package/hooks/use-year.test.js
CHANGED
|
@@ -3,11 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
6
|
+
const react_1 = require("@testing-library/react");
|
|
7
7
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
8
|
const use_year_1 = require("./use-year");
|
|
9
9
|
test("useYear", () => {
|
|
10
|
-
const { result } = (0,
|
|
10
|
+
const { result } = (0, react_1.renderHook)(() => (0, use_year_1.useYear)({
|
|
11
11
|
year: 2021,
|
|
12
12
|
}));
|
|
13
13
|
expect(result.current.yearLabel).toBe("2021");
|
|
@@ -27,7 +27,7 @@ test("useYear", () => {
|
|
|
27
27
|
]);
|
|
28
28
|
});
|
|
29
29
|
test("useYear with custom formats", () => {
|
|
30
|
-
const { result } = (0,
|
|
30
|
+
const { result } = (0, react_1.renderHook)(() => (0, use_year_1.useYear)({
|
|
31
31
|
year: 2021,
|
|
32
32
|
monthLabelFormat: (date) => (0, dayjs_1.default)(date).format("MM"),
|
|
33
33
|
yearLabelFormat: (date) => (0, dayjs_1.default)(date).format("YY"),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uxf/datepicker",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.32.0",
|
|
4
4
|
"description": "A set of React hooks to create an awesome datepicker.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
"react-dom": ">=18.2.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@testing-library/react
|
|
29
|
-
"@types/react": "18.
|
|
30
|
-
"@types/react-dom": "18.
|
|
31
|
-
"react": "18.
|
|
32
|
-
"react-dom": "18.
|
|
28
|
+
"@testing-library/react": "16.0.0",
|
|
29
|
+
"@types/react": "18.3.5",
|
|
30
|
+
"@types/react-dom": "18.3.0",
|
|
31
|
+
"react": "18.3.1",
|
|
32
|
+
"react-dom": "18.3.1"
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.canSelectRange =
|
|
3
|
+
exports.canSelectRange = canSelectRange;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
const get_each_1 = require("./get-each");
|
|
6
6
|
// eslint-disable-next-line complexity
|
|
@@ -42,4 +42,3 @@ function canSelectRange({ startDate, endDate, isDateBlocked, minBookingDays, exa
|
|
|
42
42
|
}
|
|
43
43
|
return false;
|
|
44
44
|
}
|
|
45
|
-
exports.canSelectRange = canSelectRange;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getCurrentYearMonthAndDate =
|
|
3
|
+
exports.getCurrentYearMonthAndDate = getCurrentYearMonthAndDate;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
const get_date_month_and_year_1 = require("./get-date-month-and-year");
|
|
6
6
|
function getCurrentYearMonthAndDate() {
|
|
7
7
|
return (0, get_date_month_and_year_1.getDateMonthAndYear)((0, dayjs_en_1.dayjsEn)().startOf("day").toDate());
|
|
8
8
|
}
|
|
9
|
-
exports.getCurrentYearMonthAndDate = getCurrentYearMonthAndDate;
|
|
@@ -3,13 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getDateIntervals =
|
|
6
|
+
exports.getDateIntervals = getDateIntervals;
|
|
7
|
+
const is_not_nil_1 = require("@uxf/core/utils/is-not-nil");
|
|
7
8
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
9
|
function getDateIntervals(dates) {
|
|
9
10
|
const sortedDates = dates.slice().sort((a, b) => a.getTime() - b.getTime());
|
|
10
11
|
const intervals = [];
|
|
11
|
-
|
|
12
|
-
let
|
|
12
|
+
const firstSortedDate = sortedDates.at(0);
|
|
13
|
+
let currentStart = firstSortedDate !== null && firstSortedDate !== void 0 ? firstSortedDate : new Date();
|
|
14
|
+
let currentEnd = firstSortedDate !== null && firstSortedDate !== void 0 ? firstSortedDate : new Date();
|
|
13
15
|
for (let i = 1; i < sortedDates.length; i++) {
|
|
14
16
|
const currentDate = sortedDates[i];
|
|
15
17
|
const nextDate = (0, dayjs_1.default)(currentEnd).add(1, "day").toDate();
|
|
@@ -23,10 +25,9 @@ function getDateIntervals(dates) {
|
|
|
23
25
|
currentEnd = currentDate;
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
|
-
if (
|
|
28
|
+
if ((0, is_not_nil_1.isNotNil)(firstSortedDate)) {
|
|
27
29
|
// Push the last interval
|
|
28
30
|
intervals.push({ start: currentStart, end: currentEnd });
|
|
29
31
|
}
|
|
30
32
|
return intervals;
|
|
31
33
|
}
|
|
32
|
-
exports.getDateIntervals = getDateIntervals;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDateMonthAndYear =
|
|
3
|
+
exports.getDateMonthAndYear = getDateMonthAndYear;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
function getDateMonthAndYear(date) {
|
|
6
6
|
const day = (0, dayjs_en_1.dayjsEn)(date).startOf("month").toDate();
|
|
@@ -12,4 +12,3 @@ function getDateMonthAndYear(date) {
|
|
|
12
12
|
date: day,
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
-
exports.getDateMonthAndYear = getDateMonthAndYear;
|
package/utils/get-days.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDays =
|
|
3
|
+
exports.getDays = getDays;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
const get_each_1 = require("./get-each");
|
|
6
6
|
function getDays({ year, month, firstDayOfWeek = 0, dayLabelFormat = (date) => (0, dayjs_en_1.dayjsEn)(date).format("DD"), }) {
|
|
@@ -33,4 +33,3 @@ function getDays({ year, month, firstDayOfWeek = 0, dayLabelFormat = (date) => (
|
|
|
33
33
|
}));
|
|
34
34
|
return [...prevMonthDays, ...days, ...nextMonthDays];
|
|
35
35
|
}
|
|
36
|
-
exports.getDays = getDays;
|
package/utils/get-each.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getEach =
|
|
3
|
+
exports.getEach = getEach;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
function getEach(start, end, type, arr = [(0, dayjs_en_1.dayjsEn)(start).startOf(type).toDate()]) {
|
|
6
6
|
if ((0, dayjs_en_1.dayjsEn)(start).isAfter(end)) {
|
|
@@ -12,4 +12,3 @@ function getEach(start, end, type, arr = [(0, dayjs_en_1.dayjsEn)(start).startOf
|
|
|
12
12
|
}
|
|
13
13
|
return getEach(next, end, type, arr.concat(next));
|
|
14
14
|
}
|
|
15
|
-
exports.getEach = getEach;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getInitialMonths =
|
|
3
|
+
exports.getInitialMonths = getInitialMonths;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
const get_current_year_month_and_date_1 = require("./get-current-year-month-and-date");
|
|
6
6
|
const get_date_month_and_year_1 = require("./get-date-month-and-year");
|
|
@@ -18,4 +18,3 @@ function getInitialMonths(numberOfMonths, startDate) {
|
|
|
18
18
|
}
|
|
19
19
|
return months;
|
|
20
20
|
}
|
|
21
|
-
exports.getInitialMonths = getInitialMonths;
|
package/utils/get-months.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getMonths =
|
|
3
|
+
exports.getMonths = getMonths;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
const get_each_1 = require("./get-each");
|
|
6
6
|
function getMonths({ year, monthLabelFormat = (date) => (0, dayjs_en_1.dayjsEn)(date).format("MMMM"), }) {
|
|
@@ -12,4 +12,3 @@ function getMonths({ year, monthLabelFormat = (date) => (0, dayjs_en_1.dayjsEn)(
|
|
|
12
12
|
monthLabel: monthLabelFormat(d),
|
|
13
13
|
}));
|
|
14
14
|
}
|
|
15
|
-
exports.getMonths = getMonths;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNextActiveMonth =
|
|
3
|
+
exports.getNextActiveMonth = getNextActiveMonth;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
const get_date_month_and_year_1 = require("./get-date-month-and-year");
|
|
6
6
|
function getNextActiveMonth(activeMonth, numberOfMonths, counter, step) {
|
|
@@ -26,4 +26,3 @@ function getNextActiveMonth(activeMonth, numberOfMonths, counter, step) {
|
|
|
26
26
|
: [(0, get_date_month_and_year_1.getDateMonthAndYear)(prevMonthDate)].concat(m);
|
|
27
27
|
}, []);
|
|
28
28
|
}
|
|
29
|
-
exports.getNextActiveMonth = getNextActiveMonth;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getWeekdayLabels =
|
|
3
|
+
exports.getWeekdayLabels = getWeekdayLabels;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
const get_each_1 = require("./get-each");
|
|
6
6
|
function getWeekdayLabels({ firstDayOfWeek = 0, weekdayLabelFormat = (date) => (0, dayjs_en_1.dayjsEn)(date).format("dd"), }) {
|
|
@@ -8,4 +8,3 @@ function getWeekdayLabels({ firstDayOfWeek = 0, weekdayLabelFormat = (date) => (
|
|
|
8
8
|
const arr = (0, get_each_1.getEach)((0, dayjs_en_1.dayjsEn)(now).startOf("week").add(firstDayOfWeek, "day").toDate(), (0, dayjs_en_1.dayjsEn)(now).endOf("week").add(firstDayOfWeek, "day").toDate(), "day");
|
|
9
9
|
return arr.map((date) => weekdayLabelFormat(date));
|
|
10
10
|
}
|
|
11
|
-
exports.getWeekdayLabels = getWeekdayLabels;
|
package/utils/get-years.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getYears =
|
|
3
|
+
exports.getYears = getYears;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
const get_each_1 = require("./get-each");
|
|
6
6
|
function getYears({ startYear, endYear, yearLabelFormat = (date) => (0, dayjs_en_1.dayjsEn)(date).format("YYYY"), }) {
|
|
@@ -9,4 +9,3 @@ function getYears({ startYear, endYear, yearLabelFormat = (date) => (0, dayjs_en
|
|
|
9
9
|
yearLabel: yearLabelFormat(d),
|
|
10
10
|
}));
|
|
11
11
|
}
|
|
12
|
-
exports.getYears = getYears;
|
package/utils/is-browser.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isBrowser = void 0;
|
|
4
4
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
5
|
-
exports.isBrowser =
|
|
5
|
+
exports.isBrowser = Boolean(typeof window !== "undefined" && window.document && window.document.createElement);
|
package/utils/is-date-blocked.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isDateBlocked =
|
|
3
|
+
exports.isDateBlocked = isDateBlocked;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
const is_in_unavailable_dates_1 = require("./is-in-unavailable-dates");
|
|
6
6
|
function isDateBlocked({ date, minBookingDate, maxBookingDate, isDateBlockedFn, startDate, endDate, minBookingDays = 1, unavailableDates = [], }) {
|
|
@@ -10,7 +10,7 @@ function isDateBlocked({ date, minBookingDate, maxBookingDate, isDateBlockedFn,
|
|
|
10
10
|
const compareMaxDate = maxBookingDate
|
|
11
11
|
? new Date(maxBookingDate.getFullYear(), maxBookingDate.getMonth(), maxBookingDate.getDate(), 0, 0, 0)
|
|
12
12
|
: maxBookingDate;
|
|
13
|
-
return
|
|
13
|
+
return Boolean((0, is_in_unavailable_dates_1.isInUnavailableDates)(unavailableDates, date) ||
|
|
14
14
|
(compareMinDate && (0, dayjs_en_1.dayjsEn)(date).isBefore(compareMinDate)) ||
|
|
15
15
|
(compareMaxDate && (0, dayjs_en_1.dayjsEn)(date).isAfter(compareMaxDate)) ||
|
|
16
16
|
(startDate &&
|
|
@@ -19,4 +19,3 @@ function isDateBlocked({ date, minBookingDate, maxBookingDate, isDateBlockedFn,
|
|
|
19
19
|
(0, dayjs_en_1.dayjsEn)(date).isBetween(startDate, (0, dayjs_en_1.dayjsEn)(startDate).add(minBookingDays - 2, "day"))) ||
|
|
20
20
|
(isDateBlockedFn && isDateBlockedFn(date)));
|
|
21
21
|
}
|
|
22
|
-
exports.isDateBlocked = isDateBlocked;
|
package/utils/is-date-hovered.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isDateHovered =
|
|
3
|
+
exports.isDateHovered = isDateHovered;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
const get_each_1 = require("./get-each");
|
|
6
6
|
function isDateHovered({ date, startDate, endDate, isDateBlocked, hoveredDate, minBookingDays, exactMinBookingDays, }) {
|
|
@@ -37,4 +37,3 @@ function isDateHovered({ date, startDate, endDate, isDateBlocked, hoveredDate, m
|
|
|
37
37
|
}
|
|
38
38
|
return false;
|
|
39
39
|
}
|
|
40
|
-
exports.isDateHovered = isDateHovered;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isDateInsideRange =
|
|
3
|
+
exports.isDateInsideRange = isDateInsideRange;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
function isDateInsideRange(date, startDate, endDate) {
|
|
6
6
|
if (startDate && endDate) {
|
|
@@ -8,4 +8,3 @@ function isDateInsideRange(date, startDate, endDate) {
|
|
|
8
8
|
}
|
|
9
9
|
return false;
|
|
10
10
|
}
|
|
11
|
-
exports.isDateInsideRange = isDateInsideRange;
|
package/utils/is-end-date.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isEndDate =
|
|
3
|
+
exports.isEndDate = isEndDate;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
function isEndDate(date, endDate) {
|
|
6
|
-
return
|
|
6
|
+
return Boolean(endDate && (0, dayjs_en_1.dayjsEn)(date).isSame(endDate, "day"));
|
|
7
7
|
}
|
|
8
|
-
exports.isEndDate = isEndDate;
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isFirstOrLastSelectedDate =
|
|
3
|
+
exports.isFirstOrLastSelectedDate = isFirstOrLastSelectedDate;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
function isFirstOrLastSelectedDate(date, startDate, endDate) {
|
|
6
|
-
return
|
|
7
|
-
(endDate && (0, dayjs_en_1.dayjsEn)(date).isSame(endDate, "day")));
|
|
6
|
+
return Boolean((startDate && (0, dayjs_en_1.dayjsEn)(date).isSame(startDate, "day")) || (endDate && (0, dayjs_en_1.dayjsEn)(date).isSame(endDate, "day")));
|
|
8
7
|
}
|
|
9
|
-
exports.isFirstOrLastSelectedDate = isFirstOrLastSelectedDate;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isInUnavailableDates =
|
|
3
|
+
exports.isInUnavailableDates = isInUnavailableDates;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
function isInUnavailableDates(unavailableDates = [], date) {
|
|
6
6
|
return unavailableDates.some((_date) => (0, dayjs_en_1.dayjsEn)(date).isSame(_date, "day"));
|
|
7
7
|
}
|
|
8
|
-
exports.isInUnavailableDates = isInUnavailableDates;
|
package/utils/is-start-date.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isStartDate =
|
|
3
|
+
exports.isStartDate = isStartDate;
|
|
4
4
|
const dayjs_en_1 = require("./dayjs-en");
|
|
5
5
|
function isStartDate(date, startDate) {
|
|
6
|
-
return
|
|
6
|
+
return Boolean(startDate && (0, dayjs_en_1.dayjsEn)(date).isSame(startDate, "day"));
|
|
7
7
|
}
|
|
8
|
-
exports.isStartDate = isStartDate;
|